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