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