蘇 晨 鄧三鵬
(天津職業(yè)技術(shù)師范大學(xué),天津300222)
機(jī)器人運(yùn)動(dòng)學(xué)分析是機(jī)器人動(dòng)力學(xué)、軌跡規(guī)劃和位控制的重要基礎(chǔ),運(yùn)動(dòng)學(xué)分析包括正運(yùn)動(dòng)學(xué)分析和逆運(yùn)動(dòng)學(xué)分析2個(gè)基本問(wèn)題[1]:第一個(gè)問(wèn)題常被稱為運(yùn)動(dòng)學(xué)正問(wèn)題(直接問(wèn)題),第二個(gè)問(wèn)題被稱為運(yùn)動(dòng)學(xué)逆問(wèn)題(解臂形問(wèn)題)。由于機(jī)器人手臂的獨(dú)立變量是關(guān)節(jié)變量,而終端運(yùn)動(dòng)位置是已知的,因此,會(huì)較頻繁地用到運(yùn)動(dòng)學(xué)逆問(wèn)題。
本文采用D—H法建立機(jī)器人坐標(biāo)系,并對(duì)機(jī)器人運(yùn)動(dòng)學(xué)方程的建立方法進(jìn)行概述。最后嘗試在Matlab環(huán)境下運(yùn)用Robotics Toolbox模塊實(shí)現(xiàn)機(jī)器人運(yùn)動(dòng)學(xué)模型的構(gòu)建和運(yùn)動(dòng)學(xué)仿真,獲取終端位置數(shù)據(jù)。
D—H法是由Denavit和Hartenberg于1955年提出的。該方法在機(jī)器人各連桿上建立坐標(biāo)系,并通過(guò)齊次變換矩陣來(lái)描述相鄰兩桿坐標(biāo)系的幾何關(guān)系,建立了機(jī)器人運(yùn)動(dòng)學(xué)方程。利用這樣的方法依次進(jìn)行推導(dǎo),可獲得機(jī)器人終端的位姿數(shù)據(jù)。文中利用D—H法完成對(duì)機(jī)器人運(yùn)動(dòng)學(xué)方程的建立,其過(guò)程如下:
(1)按照D—H方法建立的模塊化六自由度機(jī)器人的桿件坐標(biāo)系如圖1所示。機(jī)器人各桿件的D—H參數(shù)如表1所示。
圖1 模塊化六自由度機(jī)器人的桿件坐標(biāo)系
表1 機(jī)器人各連桿D—H參數(shù)
(2)運(yùn)動(dòng)學(xué)方程式通過(guò)齊次變換矩陣來(lái)描述第i坐標(biāo)系相對(duì)于i-1坐標(biāo)系的位置和姿態(tài)[2]。相鄰坐標(biāo)系i和i-1的D—H變換矩陣為:
第i坐標(biāo)系相對(duì)于基礎(chǔ)模塊坐標(biāo)系位姿的齊次變換矩陣0T i,表示為機(jī)器人的運(yùn)動(dòng)學(xué)正解方程:0Ti=0A11A2…i-1A i。
當(dāng)i=6時(shí),可求得T=0T6,它確定了機(jī)器人的終端坐標(biāo)系相對(duì)于基礎(chǔ)模塊坐標(biāo)系的位置和姿態(tài),可以把T矩陣表示為
將表1中各參數(shù)代入連桿變換矩陣(1),便可求得機(jī)器人末端坐標(biāo)系相對(duì)基礎(chǔ)模塊坐標(biāo)系的位姿數(shù)據(jù)。該運(yùn)算過(guò)程屬于機(jī)器人運(yùn)動(dòng)學(xué)方程的正解過(guò)程,也稱為機(jī)器人正運(yùn)動(dòng)學(xué)分析。
機(jī)器人逆運(yùn)動(dòng)學(xué)分析就是已知機(jī)器人終端坐標(biāo)系的位置和姿態(tài)(可表示為位姿矩陣T),求機(jī)器人各關(guān)節(jié)的角度變量。機(jī)器人逆運(yùn)動(dòng)學(xué)分析方法是:對(duì)上述式(1)兩邊依次左乘A的逆矩陣,并使兩端相等矩陣的對(duì)應(yīng)元素相等,即可求得機(jī)器人各關(guān)節(jié)的角度變量。
由于在求解過(guò)程中可能出現(xiàn)多組解,它們分別代表了手臂的不同位置,因此運(yùn)動(dòng)學(xué)方程的逆解不是唯一的。在對(duì)機(jī)器人的軌跡規(guī)劃和控制研究中,可選擇“最小移動(dòng)且最大角度,最大移動(dòng)且最小角度”的原則來(lái)確定最優(yōu)解。
Matlab在工業(yè)設(shè)計(jì)與開(kāi)發(fā)、數(shù)據(jù)處理與分析、數(shù)學(xué)教學(xué)等相關(guān)領(lǐng)域得到了廣泛應(yīng)用。作為一種工具,它為物理學(xué)研究和控制理論優(yōu)化提供了很好的解決方案。本文采用Matlab Robotics Toolbox建立機(jī)器人的運(yùn)動(dòng)模型,并對(duì)正運(yùn)動(dòng)學(xué)問(wèn)題進(jìn)行仿真。
機(jī)器人運(yùn)動(dòng)學(xué)仿真過(guò)程可以在Matlab Robotics Toolbox模塊中通過(guò)編寫(xiě)運(yùn)動(dòng)控制程序來(lái)實(shí)現(xiàn),選擇在關(guān)節(jié)空間內(nèi)對(duì)運(yùn)動(dòng)軌跡進(jìn)行規(guī)劃,并使關(guān)節(jié)2、3從0°旋轉(zhuǎn)到90°,觀察機(jī)器人仿真運(yùn)動(dòng)過(guò)程,并通過(guò)滑塊控制器獲得末端執(zhí)行器相對(duì)基礎(chǔ)坐標(biāo)系的位姿數(shù)據(jù)。
正運(yùn)動(dòng)學(xué)仿真程序:首先定義機(jī)器人各關(guān)節(jié)起始點(diǎn)為qz=[0 0 0 0 0 0],終止點(diǎn)為qr=[0-1.571-1.571 0 0 0],且在起點(diǎn)和終點(diǎn)手臂的移動(dòng)速度為0,運(yùn)動(dòng)時(shí)間t=2 s。
建立機(jī)器人正運(yùn)動(dòng)學(xué)仿真的命令如下:
運(yùn)行上述程序可以觀察到機(jī)器人從初始位置運(yùn)動(dòng)到圖2的整個(gè)過(guò)程,即完成了機(jī)器人運(yùn)動(dòng)學(xué)仿真實(shí)驗(yàn)。
圖2 終止點(diǎn)位置
最后,利用機(jī)器人運(yùn)動(dòng)方程對(duì)終端位姿數(shù)據(jù)進(jìn)行了計(jì)算,并將計(jì)算結(jié)果與運(yùn)動(dòng)學(xué)仿真中所獲得的位姿數(shù)據(jù)進(jìn)行對(duì)比,驗(yàn)證了運(yùn)動(dòng)學(xué)方程和所建立的機(jī)器人對(duì)象的可靠性。
本文對(duì)模塊化六自由度機(jī)器人進(jìn)行了正運(yùn)動(dòng)學(xué)、逆運(yùn)動(dòng)學(xué)分析,并在Matlab環(huán)境下,利用Robotics Toolbox建立了機(jī)器人對(duì)象,進(jìn)行了運(yùn)動(dòng)學(xué)仿真,并將仿真數(shù)據(jù)與運(yùn)動(dòng)學(xué)方程計(jì)算結(jié)果進(jìn)行對(duì)比,驗(yàn)證了運(yùn)動(dòng)學(xué)方程和所建立的機(jī)器人對(duì)象的可靠性,說(shuō)明了所設(shè)計(jì)的參數(shù)是正確的,達(dá)到了預(yù)定目標(biāo),為物理樣機(jī)的設(shè)計(jì)提供了參考依據(jù)。
[1]朱世強(qiáng),王宣銀.機(jī)器人技術(shù)及其應(yīng)用[M].杭州:浙江大學(xué)出版社,2001
[2]劉松國(guó),朱世強(qiáng),李江波,等.6R機(jī)器人實(shí)時(shí)逆運(yùn)動(dòng)學(xué)算法研究[J].控制理論與應(yīng)用,2008(6)