張瑜 劉冰 馬雪 管曉宏
摘 要:傳統的機器人虛擬控制與仿真平臺在控制機器人運動時存在諸多問題,例如控制系統設計工作量大、開發難度大等,需要利用基于開源軟件平臺即ROS平臺的機械臂運動控制方法解決問題,加大軟件控制的力度,提高機器人運動控制的精準性。
關鍵詞:ROS平臺;機械臂;精確控制
前言:
一直以來,軟件控制領域都十分關注機械臂的精確控制問題。從控制工程這一層面來看,機械臂屬于含有非線性模型的物理系統。但是,當前基于ROS平臺的機械臂控制器研究的都是線性PID控制器,為此應該加大對基于ROS平臺的機械臂精確控制的研究力度。
1 機器人操作系統分析
ROS指的是以UNIX環境為基礎的用于機器人的操作系統,具有多重功能,主要包括硬件抽象描述、底層驅動程序管理、程序發行包管理、程序消息傳遞、共用功能執行等【1】。同時,該系統也可以提供一些程序與庫,從而編寫程序、運行程序。
1.1 構建ROS中的仿真模型
ROS作為機器人操作系統不僅可以和真實的機器人通信,也可以對機器人仿真模型進行相應的操作。ROS當中有標準化機器人描述格式,可以識別機器人模型文件,可以描述機器人的結構、自由度以及關節等各個方面的情況,可以為機器人提供多種物理響應,例如運動學鏈、結構參數等。應該利用SolidWorks構建機械臂的三維模型,之后利用SW2urdf插件設置機械臂的各個關節與連接,這樣就可以導出標準化機器人描述格式。
1.2? ROS控制架構
機器人機械系統的運行需要控制系統的支持,以ROS平臺為基礎的機械臂控制系統架構。機械系統控制架構是由五個層次共同構成的,即關節狀態反饋、被控對象機械臂、運動控制層、路徑規劃層、用戶層。其中,關節狀態觀測器可以實時掌握機器人關節的狀態,并處理突發情況;運動控制層是控制框架的核心,可以運算規劃軌跡,驅動機械臂;路徑規劃層可以根據用戶層設置的機械臂運動目標位置規劃運動軌跡;用戶層可以根據機器人模型規劃任務,明確機械臂運動的目標位置【2】。
2 機器人運動學分析
2.1機械臂正運動學
本文主要研究UR5機器人,這一機器人的旋轉關節有6個,根據D-H參數法建立了該機器人的坐標系(如圖一所示)。在完成坐標系的建立后,需要根據相鄰坐標系之間的約束關系明確D-H參數(如表1所示)。根據參數并進行計算便可以得到機器人運動學正解。
2.2機械臂逆運動學
機械臂逆運動學可以實現機械臂位姿從工作空間到關節空間的映射,從本質上來看機械臂逆運動學是在已知末端執行器位置與姿態的條件下,對關節變量進行求解。可以通過三角函數與關節角的角度求出六個關節變量。
3? 計算力矩控制器
可以通過牛頓歐拉方程分析機械臂,即τ = Dn (q)·u + Hn (q, q) + Gn (q)。其原理是在機械臂控制系統內控制回路當中增添非線性補償,加入非線性補償后將機械臂簡化為線性系統。可以根據計算力矩控制方法將PD控制引入到機械臂控制內回路當中,這樣控制系統就可以反饋位置信號,并通過一次微分獲得速度信號,但是兩次微分之間的偏差較大,所以需要進行優化。可以通過OROCOS運動學與動力學庫進行機器人運動學與動力學模型的計算,增強計算結果的準確性。
4 仿真與結果分析
4.1機械臂運動規劃
需要通過ROS平臺當中的MoveIt!這一模塊進行機械臂的運動規劃。在進行機械臂的運動規劃之前需要明確機械臂各個關節的初始位置以及目標位置的取值。之后需要利用RRTconnect規劃算法規劃UR5機械臂的軌跡,在規劃機械臂軌跡時需要獲取在關節空間中解算的關節角度插值,所以需要在笛卡爾空間當中進行軌跡規劃【3】。在笛卡爾空間中進行軌跡規劃需要利用機器人逆運動學計算轉化其表示方式。而在ROS平臺當中,可以利用數值迭代算法進行機械臂運動學的求解,并轉化工作空間。同時,利用RRTconnect算法獲得的軌跡也可以避開自身干涉與障礙物等碰撞狀態。
4.2運動控制
運動規劃在獲取機械臂軌跡信息之后會將信息傳輸給ROS平臺的底層關節控制器。底層關節控制器獲取信息之后會進行插值運算,使機械臂沿著預定的軌跡運動,而ROS可以通過gazebo_ros_control插件控制Gazebo當中的機械臂模型,即通過軟件控制的方式控制機械臂模型。ROS平臺當中的底層關節控制器屬于插件,所以更換控制器具有較強的靈活性。
4.3實驗結果分析
在對UR5機器人的運動進行控制時,可以通過joint_states節點監測機械臂運動時各個關節的位置以及速度等各方面信息,并將這些信息保存到文本當中,利用MATLAB分析這些信息,從而明確UR5機械臂各個關節的運動關系。UR5機械臂在進行運動規劃時理論關節角與不同控制器影響下的實際關節角,這兩種控制器都可以控制機械臂按照預定的軌跡運動,可有效增強軟件控制的效果,但是都存在相應的誤差。經過分析發現,相比于PID控制器,CTC控制器的控制效果更好一些,誤差也更小。
結語:
總而言之,應該加大對機器人操作系統、機器人運動學等各個方面的研究力度,從而實現基于ROS平臺的機械臂精確控制。
參考文獻:
[1]王好, 范平清, 王巖松,等. 基于ROS平臺的機械臂精確控制研究[J]. 輕工機械, 2018(02):018-022.
[2]劉亞秋, 陶然, 丁峰,等. 基于ROS和EtherCAT的視覺伺服7DOF機械臂仿真研究[J]. 黑龍江大學自然科學學報, 2018, 35(1): 94-101.
[3]張松偉, 馮常. 基于ROS的四軸機械臂運動仿真與控制的研究[J]. 電子設計工程, 2018, 026(010):124-128.
(福鞍控股有限公司,遼寧 鞍山 114000)