朱建軍* 張博文 王明園
(吉林化工學院信息與控制工程學院,吉林 吉林 132022)
由于傳統機械臂控制系統進行軌跡規劃都要靠人工示教,沒有自主感知、自主規劃的功能[1]。相應的機械臂智能控制技術急需不斷的發展,本文基于安諾機器人公司生產的V6PLUS 桌面機械臂作為研究對象,利用機器人系統工具箱,通過構建虛擬機械臂模型及仿真過程的運動可視化功能,得出機械臂各關節末端的速度- 位移曲線,并對物品抓取過程進行了路徑規劃,通過仿真得到各關節的參數與末端的關系,結果表明該方法有助于機械臂的運動控制系統的快速仿真與實現,為V6PLUS 桌面機械臂的控制研究提供了思路。
ROS 最初是與機器人公司Willow Garage 合作應用于斯坦福大學人工智能實驗室的個人機器人項目[2]。2010 年以開放源碼的形式發布了ROS 框架,適應了當今的開源軟件和分布式協作的軟件潮流,以為機器人研發提供代碼重用支持為主要目標。ROS 包括開發工具、應用功能、通信機制、生態系統四個部分,支持并融合了很多著名的開源項目,支持C、C++、Python、Java 等多種編程語言,最大程度上實現代碼共享[3]。
URDF(Unified Robot Descriptin Format)是一種使用XML 格式描述運動學特征的機械臂模型文件[4],包含兩種參數,即連桿(link)參數與關節(joint)參數。本文對實驗室所開發的六自由度機械臂進行建模,在Solidworks 中使用拉伸切除等方法按照與實際機械臂1:1 的比例繪制機械臂三維模型,以自由度為要素、關節為界將機械臂劃分為七個部分,并在機械臂關節處插入基準軸。各部件圖如圖1。

圖1 六自由度機械臂各部件裝配圖
使用Solidworks 中sw2urdf 插件,并根據實際情況,明確連桿(link)與關節(joint)兩項參數,確定裝配體裝配關系參數(關節類型、關節軸向、關節變量、關節限位),并明確關節與連桿之間的父子關系,如圖4 所示,通過控制關節(joint)達到控制機械臂模型的目的。 通 過 使 用 MoveIt 中 moveit setup assistant 插件配置URDF 模型,使導入的機械臂URDF 模型文件轉化為SRDF 文件,并創建出MoveIt 功能包,具體步驟過程如圖2所示。

圖2 MoveIt 配置流程圖
本文采用RRT-Connect (基于雙向擴展平衡的連結型雙樹)算法進行實驗,它是一種基于采樣的路徑規劃算法[5]。其原理是每次規劃以狀態空間中的一個初始點作為根節點,并通過隨機采樣逐漸增加葉節點的方式,生成一個隨機擴展樹,與此同時在目標點也作為一個根節點生長出一個隨機擴展樹,當兩個隨機樹相互連接,便可在隨機樹中找到一條以樹節點組成的從初始點到目標點的路徑規劃。其原理圖如圖3。

圖3 RRT-Connect 原理圖

圖4 機械臂的位姿變化與實時仿真
設置機械臂初始姿態為x=0,y=0,z=0,w=1,目標姿態為x=0.114,y=-0.012,z=-0.174,w=0.978,使用使用planning scene插件在機械臂初始位姿與目標位姿之間設置一個長、寬、高為1m、0.3m、0.01m 的長方體與一個半徑為0.1m,高為0.2m 的圓柱體共同組成的障礙,使機械臂進行路徑規劃時必須要避開障礙物,分別在有、無障礙物的情況下進行試驗,如圖4。
使用Rqt_plot 命令訂閱機械臂六個關節角度位置變量并通過曲線圖顯示,得到具體路徑規劃變化信息,角度單位為弧度制,橫坐標為時間,縱坐標為角度,如圖5 所示。

圖5 關節角度變化曲線
在有障礙和無障礙物的條件分別實現了機械臂在自主移動和自主避障到達目標位置的仿真實驗,實驗結果表明通過RRT-Connect 算法可以有效地和準確地實現對機械臂運動路徑地規劃和控制。
本文使用ROS 平臺對安諾V6PLUS 機械臂進行開發與研究,利用URDF 文件進行3D 建模,實現了機械臂的快速建模的方法。分析MoveIt 軟件架構及路徑規劃的實現機制并利用RRT-Connect 算法形象展現了機械臂避障時的運動過程。結合Rviz 仿真環境,使在不具備真實機械臂的環境條件下也可對機械臂進行運動規劃,并完成了機械臂進行避障的路徑規劃與仿真。通過分析對比在有、無障礙時關節角度變化的曲線變化,驗證了運動規劃結果的合理性,為機械臂的控制研究提供了思路,也為在復雜環境下進行路徑規劃算法的進一步改進提供了直觀的方法。