董慧穎 梁爽
摘 要:隨著機器人技術的發展和應用,機器人在現代工業生產中扮演著越來越重要的角色。機器人誕生是科學技術與社會進步的必然結果,從根本上改變了原來傳統的生產體系和生產方式。本文在MATLAB環境下,對PUMA560機器人進行參數設計,分析PUMA560機器人的運動,討論機器人的正運動學、逆運動學、軌跡規劃及仿真。
關鍵詞:機器人運動學;PUMA560;軌跡規劃;計算機仿真
對機器人進行圖形仿真,可以將機器人仿真的結果以圖形的形式表示出來,從而直觀地顯示出機器人的運動情況,得到從數據曲線或數據本身難以分析出來的許多重要信息,還可以從圖形上看到機器人在一定控制條件下的運動規律。一個新的機器人工作程序編制完成后,先在仿真軟件中觀察運行結果,分析檢驗軌跡規劃和作業規劃的正確性和合理性,為離線編程技術的研究提供有效的驗證手段。本文在MATLAB環境下,對六自由度的PUMA560機器人進行參數設計,然后討論了正、逆運動學算法,軌跡規劃問題,最后在MATLAB環境下,運用機器人工具箱編制簡單的程序語句,快速完成了機器人的運動學仿真。
1 PUMA560機器人參數設計
1.1 連桿參數和坐標系
一般移動關節及轉動關節共同作用組成機器人的操作臂,各個關節都具有1個自由度。著重研究具有6個自由度的工業機器人。通常規定連桿O表示基座,還規定基座,即連桿O不在探討的6個連桿之中。關節1使基座與連桿1相接;關節2使連桿1與連桿2相接;關節3使連桿2與連桿3相接,以此類推。如圖1所示,為PUMA560機器人的關節和連桿坐標系,該機器人通過六個關節及六個連桿組合而成。機器人的基座,即連桿O保持靜止不動,連桿6與手固定相連。
1.2 PUMA560機器人連桿坐標系
在每個連桿上固接一個坐標系,用來判斷機器人各連桿間的相對運動關系。規定{0}代表坐標系與基座固接,{i}代表坐標系與連桿i固接。
建立連桿坐標系的步驟:1)尋得所有關節軸,在關節軸的軸線上畫出延長線,以下步驟2)至5)中,只討論相鄰的兩個軸線,即關節軸i和關節軸i+1。2)尋得關節軸i和關節軸i+1之間的交點或關節軸i和關節軸i+1的公垂線,連桿坐標系{i}的原點為關節軸i和關節軸i+1的交點或公垂線與關節軸i的交點。3)規定Zi軸的方向與關節軸i相同。4)規定Xi軸的方向與公垂線相同,如果關節軸i和關節軸i+1相交,則規定Xi軸與關節軸i和關節軸i+1所構成的平面相垂直。5)規定Yi軸的方向以右手定則為準。6)把0作為第一個關節變量時,規定坐標系{0}和坐標系{1}相重合。坐標系{N}的坐標原點和XN的方向不固定,但在選擇時一般使連桿參數為0。
1.3 PUMA560機器人連桿參數
依據給定的連桿坐標系,相關的連桿參數可規定如下:
1)ai為沿Xi軸,從Zi移動至Zi+1的距離。
2)αi為繞Xi軸,從Zi旋轉至Zi+1的角度。
3)di為沿Zi軸,從Xi-1移動至Xi的距離。
4)θi為繞Zi軸,從Xi-1旋轉至Xi的角度。
2 PUMA560機器人的運動學分析
機器人操作臂運動學方程的研究內容,為操作臂各個連桿間的位移關系、速度關系及加速度關系。連桿通過移動或轉動關節串聯形成機器人操作臂,可以作為一個開式運動鏈進行研究。開式運動鏈一端固定在基座上,另一端不固定,利用末端執行器來操縱物體以完成各種任務。驅動器使關節運動,并帶動連桿運動,使手爪到達所規定的位姿。
軌跡規劃的過程中,重點研究操作臂末端執行器相對于固定參考系的空間描述問題。在每個連桿上固接一個坐標系,用來判斷機器人各連桿間的相對運動關系。Denavit 和Hartenberg在1955年提出的一種通用的方法,稱為D-H矩陣方法。該方法得到手爪坐標系相對于參考系的等價齊次變換矩陣,使操作臂運動方程得以建立。
2.1 機器人正運動學
機器人的正向運動學。描述的就是機器人的關節空間到末端笛卡爾空間的映射關系,即給定連桿的各項參數,求解末端連桿坐標系相對于基坐標系的位姿。
2.2 機器人逆運動學
機器人的逆運動學,描述的是機器人的末端笛卡爾空間到關節空間的映射關系。即已知末端連桿的位姿,求解各關節變量.
3 軌跡規劃
機器人在運動過程中的速度、位移及加速度,稱為機器人運動軌跡。依據機器人工作任務要求,并給出預期的運動軌跡的過程,稱為軌跡規劃。軌跡規劃過程中,需要考慮機器人及機器人周圍環境模型,是否有障礙約束及是否有路徑約束等一連串的問題。近年來,己經擁有眾多形式各異的軌跡規劃方法,各類方式方法優點及缺點并存,其中包括對操作空間的規劃及對關節空間的規劃。在關節空間中的軌跡規劃問題相對簡單,而對在操作空間中的軌跡規劃問題的研究相對較難解決,受到種種原因的限制,一直是軌跡規劃的一個難點,至今還未有較好的解決方法。
關節空間的軌跡規劃:首先,運用運動學逆方程把路徑點變為關節角度值。其次,使各個關節變量從起始點開始,順次經過所有路徑點到達目標點,接著映射成一個光滑的時間函數,最后得到在關節空間的軌跡規劃。總體的運動時間相同,但各個關節的時間函數間相互獨立。主要運用三次多項式時間函數和五次多項式時間函數對軌跡規劃結果進行分析。
4 MATLAB運動仿真
按照一定的要求對PUMA560關節型機器人進行了參數設計,前邊討論了該機器人的運動學,運動軌跡規劃問題,在MATLAB環境下,機器人工具箱對該機器人的正運動學,逆運動學,軌跡規劃進行了仿真。通過仿真,觀察到了機器人各個關節的運動,并得到了所需的數據,說明了所設計的參數是正確的,從而能夠達到預定的目標。
4.1 構建機器人對象
利用機器人工具箱構建機器人對象,首先需要對機器人的各個關節進行構建,然后再將這些關節組合起來,這樣對機器人對象的整體構建就完成了。構建一個機器人對象需要關節質量、關節類型、粘性摩擦、庫倫摩擦、齒輪傳動比和D-H參數等數據。構建好各個關節才能構建機器人對象,在構建機器人各關節時,會用到工具箱中的LINK函數。
根據PUMA機器人的參數說明等資料,見表4.1。
link函數中的參數從前到后分別代表D-H參數表中的α、a、θ、d。drivebot是構建機械臂的相關函數。現在將初始角的一些初值進行設定:θ1=|0.63|θ2=0.5|θ3=|0.7|θ4=|0.63|θ5=0.91|θ6=0.06,采用RoboticSToolbox函數得到的結果如圖所示,其中x,y,z分別用來表示抓持器的位置,ax,ay,az表示抓持器的姿態,是用RPY旋轉來表示的,ax表示偏航角,ay表示俯仰角,az表示滾動角。q1,q2,q3,q4,q5,q6為六個關節角度值。
4.2 運動學仿真
正運動學的求解過程是根據已知關節變量θ123456,求末端抓持器相對于參考坐標系的位姿的過程。利用機器人工具箱來求解機器人運動學的正問題需要用到fkine函數。它的調用格式:TR=fkine(robot,q),參數robot為一個機器人對象,TR為由q定義的每個前向運動學的正解。
逆運動學的求解過程是根據已知的末端抓持器相對于參考坐標系的位姿,求關節變量θ123456的過程。利用Robotics Toolbox來求解機器人運動學的逆問題需要用到ikine函數。它的調用格式:q=ikine(robot,T),參數robot為一個機器人對象,T為運動學的正解。
下面使用工具箱中的函數對六自由度機械臂進行正運動學和逆運動學仿真。
部分程序代碼如下:
fkine是求機械臂的正解函數,q向量為機械臂的六個關節角變量,ikine是求逆解函數,T為正運動學算出來的位姿,如果仿真結果正確,計算的q1應該與q相同。運行程序后:
從結果上看q與q1顯然不相等,但是把q1的弧度值換到[-pi,pi]之間時,兩者是一樣的。
5 結論
本文以PUMA560機器人為研究對象,討論了機器人運動學、運動軌跡及控制的一些相關問題,分析了機械臂的正運動學及逆運動學。介紹了機械臂在關節空間中軌跡規劃的實現方法:三次多項式和五次多項式兩種軌跡規劃方法。接著采用空間直線和空間圓弧插補算法,使機械臂能夠在預先設定連續路徑上完成作業。最后,應用MATLAB中的機器人工具箱對機器人運動學進行仿真,對機器人軌跡進行跟蹤。
[參考文獻]
[1]譚民,徐德,侯增廣,等.先進機器人控制[M].北京:高等教育出版社,2007.
[2]蔡自興.機器人學[M].北京:清華大學出版社,2000.
[3]羅家佳,胡國清.基于MATLAB的機器人運動仿真研究[J].廈門大學學報:自然科學版,2005,44(5):640-644.
[4]干民耀,馬駿騎,等.基于Matlab的Puma機器人運動學仿真[J].昆明理工大學學報(理工版),28(6).