朱建軍* 張博文 王明園
(吉林化工學院信息與控制工程學院,吉林 吉林 132022)
由于傳統(tǒng)機械臂控制系統(tǒng)進行軌跡規(guī)劃都要靠人工示教,沒有自主感知、自主規(guī)劃的功能[1]。相應的機械臂智能控制技術急需不斷的發(fā)展,本文基于安諾機器人公司生產(chǎn)的V6PLUS 桌面機械臂作為研究對象,利用機器人系統(tǒng)工具箱,通過構建虛擬機械臂模型及仿真過程的運動可視化功能,得出機械臂各關節(jié)末端的速度- 位移曲線,并對物品抓取過程進行了路徑規(guī)劃,通過仿真得到各關節(jié)的參數(shù)與末端的關系,結果表明該方法有助于機械臂的運動控制系統(tǒng)的快速仿真與實現(xiàn),為V6PLUS 桌面機械臂的控制研究提供了思路。
ROS 最初是與機器人公司W(wǎng)illow Garage 合作應用于斯坦福大學人工智能實驗室的個人機器人項目[2]。2010 年以開放源碼的形式發(fā)布了ROS 框架,適應了當今的開源軟件和分布式協(xié)作的軟件潮流,以為機器人研發(fā)提供代碼重用支持為主要目標。ROS 包括開發(fā)工具、應用功能、通信機制、生態(tài)系統(tǒng)四個部分,支持并融合了很多著名的開源項目,支持C、C++、Python、Java 等多種編程語言,最大程度上實現(xiàn)代碼共享[3]。
URDF(Unified Robot Descriptin Format)是一種使用XML 格式描述運動學特征的機械臂模型文件[4],包含兩種參數(shù),即連桿(link)參數(shù)與關節(jié)(joint)參數(shù)。本文對實驗室所開發(fā)的六自由度機械臂進行建模,在Solidworks 中使用拉伸切除等方法按照與實際機械臂1:1 的比例繪制機械臂三維模型,以自由度為要素、關節(jié)為界將機械臂劃分為七個部分,并在機械臂關節(jié)處插入基準軸。各部件圖如圖1。
圖1 六自由度機械臂各部件裝配圖
使用Solidworks 中sw2urdf 插件,并根據(jù)實際情況,明確連桿(link)與關節(jié)(joint)兩項參數(shù),確定裝配體裝配關系參數(shù)(關節(jié)類型、關節(jié)軸向、關節(jié)變量、關節(jié)限位),并明確關節(jié)與連桿之間的父子關系,如圖4 所示,通過控制關節(jié)(joint)達到控制機械臂模型的目的。 通 過 使 用 MoveIt 中 moveit setup assistant 插件配置URDF 模型,使導入的機械臂URDF 模型文件轉化為SRDF 文件,并創(chuàng)建出MoveIt 功能包,具體步驟過程如圖2所示。
圖2 MoveIt 配置流程圖
本文采用RRT-Connect (基于雙向擴展平衡的連結型雙樹)算法進行實驗,它是一種基于采樣的路徑規(guī)劃算法[5]。其原理是每次規(guī)劃以狀態(tài)空間中的一個初始點作為根節(jié)點,并通過隨機采樣逐漸增加葉節(jié)點的方式,生成一個隨機擴展樹,與此同時在目標點也作為一個根節(jié)點生長出一個隨機擴展樹,當兩個隨機樹相互連接,便可在隨機樹中找到一條以樹節(jié)點組成的從初始點到目標點的路徑規(guī)劃。其原理圖如圖3。
圖3 RRT-Connect 原理圖
圖4 機械臂的位姿變化與實時仿真
設置機械臂初始姿態(tài)為x=0,y=0,z=0,w=1,目標姿態(tài)為x=0.114,y=-0.012,z=-0.174,w=0.978,使用使用planning scene插件在機械臂初始位姿與目標位姿之間設置一個長、寬、高為1m、0.3m、0.01m 的長方體與一個半徑為0.1m,高為0.2m 的圓柱體共同組成的障礙,使機械臂進行路徑規(guī)劃時必須要避開障礙物,分別在有、無障礙物的情況下進行試驗,如圖4。
使用Rqt_plot 命令訂閱機械臂六個關節(jié)角度位置變量并通過曲線圖顯示,得到具體路徑規(guī)劃變化信息,角度單位為弧度制,橫坐標為時間,縱坐標為角度,如圖5 所示。
圖5 關節(jié)角度變化曲線
在有障礙和無障礙物的條件分別實現(xiàn)了機械臂在自主移動和自主避障到達目標位置的仿真實驗,實驗結果表明通過RRT-Connect 算法可以有效地和準確地實現(xiàn)對機械臂運動路徑地規(guī)劃和控制。
本文使用ROS 平臺對安諾V6PLUS 機械臂進行開發(fā)與研究,利用URDF 文件進行3D 建模,實現(xiàn)了機械臂的快速建模的方法。分析MoveIt 軟件架構及路徑規(guī)劃的實現(xiàn)機制并利用RRT-Connect 算法形象展現(xiàn)了機械臂避障時的運動過程。結合Rviz 仿真環(huán)境,使在不具備真實機械臂的環(huán)境條件下也可對機械臂進行運動規(guī)劃,并完成了機械臂進行避障的路徑規(guī)劃與仿真。通過分析對比在有、無障礙時關節(jié)角度變化的曲線變化,驗證了運動規(guī)劃結果的合理性,為機械臂的控制研究提供了思路,也為在復雜環(huán)境下進行路徑規(guī)劃算法的進一步改進提供了直觀的方法。