文/祝 冉 李著信 蘇 毅
隨著我國國民經(jīng)濟的飛速發(fā)展,機動車輛的數(shù)量不斷增多,許多加油站正變得不堪重負(fù),為提高加油站的工作效率,減少污染,節(jié)省人才成本,未來將更多地使用加油機器人來完成加油工作。加油機器人由一個可移動平臺和一個操作臂組成??梢苿悠脚_負(fù)責(zé)將整個機器人運送到需要加油的機動車位置,而操作臂則將加油槍準(zhǔn)確地插入機動車油箱口,完成加油工作??梢?,操作臂在整個系統(tǒng)中起著核心決定性作用。因此,本文主要針對操作臂進(jìn)行研究。
操作臂是加油機器人的執(zhí)行機構(gòu),要求能夠在工作空間內(nèi)靈活地到達(dá)任意位置。根據(jù)實際情況,設(shè)計四自由度的操作臂如圖1所示。
該操作臂由基座1、大臂2、小臂3、手部4共四個部分以及基座關(guān)節(jié)、肩關(guān)節(jié)、肘關(guān)節(jié)、腕關(guān)節(jié)共四個關(guān)節(jié)組成。整個結(jié)構(gòu)為空間關(guān)節(jié)型,四個關(guān)節(jié)均是轉(zhuǎn)動關(guān)節(jié)。其中,基座關(guān)節(jié)實現(xiàn)整個操作臂繞基座軸線的轉(zhuǎn)動;肩關(guān)節(jié)和肘關(guān)節(jié)帶動大臂、小臂一起作俯仰運動;作為末端執(zhí)行器的加油槍固結(jié)在手部上,且加油槍的軸線與手部軸線重合,腕關(guān)節(jié)不需作搖擺運動和繞自軸的旋轉(zhuǎn)運動,只作俯仰運動。由以上四個關(guān)節(jié)即可確定加油槍相對于基座的位置與姿態(tài)。
圖1 加油機器人操作臂結(jié)構(gòu)簡圖及D-H坐標(biāo)系
Denavit和Hartenberg在1995年提出了一種對機器人進(jìn)行建模的通用方法,即D-H表示法。它的核心思想是:在機器人的每個桿件上都固定一個坐標(biāo)系,然后用4*4的齊次變換矩陣來表示機器人相鄰兩桿件之間的位姿關(guān)系,再通過依次變換,最終推導(dǎo)出機器人手部相對基座坐標(biāo)系的位姿矩陣。
若用齊次坐標(biāo)變換矩陣(位姿矩陣)M表示機器人手部在空間相對基座坐標(biāo)系的位置和姿態(tài),并將機器人中n個活動關(guān)節(jié)抽象為關(guān)節(jié)變量 (i=1,2,…,n),則機器人手部的位姿矩陣與關(guān)節(jié)變量之間有一定的函數(shù),即
在式(1)中,若已知機器人各個關(guān)節(jié)變量qi,求機器人手部相對于基座坐標(biāo)系的位姿M,則稱為機器人運動學(xué)正問題。
在圖1中建立桿件標(biāo)準(zhǔn)D-H坐標(biāo)系,其D-H參數(shù)如表1所示。
表1 加油機器人操作臂D-H參數(shù)
在每個桿件上都固定一個直角坐標(biāo)系,且固定于每個桿件的上端(編號大的)關(guān)節(jié)處,桿件的編號從基座開始,基座為0號桿件,與其相連接的桿件為1號,其余依次為2,3,…,n號桿件,桿件上固結(jié)的坐標(biāo)系與該桿件同號。機器人的關(guān)節(jié)編號從第一個關(guān)節(jié)開始,依次計為1,2,3,…,n。用齊次變換矩陣01M表示第1桿系相對于基座坐標(biāo)系的位姿,12M表示第2桿系相對于第1桿系的位姿,表示第i桿系相對第i-1桿系的位姿,其余依次類推。
則機器人手部相對于基座坐標(biāo)系的變換矩陣為:
將表1中給出的D-H參數(shù)代入式(2)、式(3)中,可得加油機器人操作臂的正運動學(xué)方程
給定一組關(guān)節(jié)變量和參數(shù)的值,我們就可以利用式(4)計算出位姿矩陣中每個元素的值,得到一個唯一的位姿矩陣M。
在式(1)中,若已知機器人手部相對于基座坐標(biāo)系的位姿M,求機器人各個關(guān)節(jié)變量qi的值,則稱為機器人運動學(xué)逆問題。
其求解方法是利用機器人運動學(xué)方程兩端矩陣元素應(yīng)相等的原理得到一組多變量的三角函數(shù)方程,通過求解這組方程來確定機器人各個關(guān)節(jié)變量的值。逆問題的解不是唯一的,當(dāng)存在多個解時,應(yīng)根據(jù)實際關(guān)節(jié)運動范圍的限制舍去一些解,在余下的有效解中,根據(jù)最接近原則,選取出一個最接近于當(dāng)前機器人操作臂的逆解。
根據(jù)式(2)中矩陣兩邊元素相等,可建立帶有關(guān)節(jié)變量的6個函數(shù)方程(5—10):
由(5)(6)兩式可得
又由(7)(8)兩式可得
聯(lián)立(9)(10)兩式,先移項,再將其兩邊平方相加,即可解出
將(9)(10)兩式中的23cθ ,23sθ 展開,可得方程組
由于已知 c θ23,因此也可求得,即可將
cθ23,sθ23視為已知數(shù)代入方程組(14)中,可得
根據(jù)式(12),可得
綜上可知,式(11) 、(13)、(15)、(16)即為逆運動學(xué)方程。
通過利用MATLAB軟件中的機器人工具箱Robotics Toolbox來作計算,以此來驗證我們所建立的加油機器人操作臂正、逆運動學(xué)方程的正確性。
根據(jù)實際工作情況和操作臂的工作空間限制,對各關(guān)節(jié)參數(shù)與變量賦予初值:
代入(4)中,得出位姿矩陣中各元素的值。
圖2 三維建模圖
圖3 滑動控制框
可知,矩陣F中各元素的值與式(17)中各元素的值是相等的,所以加油機器人操作臂的正運動學(xué)方程是正確的。
現(xiàn)假設(shè)已知位姿矩陣F,我們將F中各元素的值代入式(11)、(13)、(15)、(16)中,可得兩個解
或
然后,我們利用函數(shù)ikine來求解關(guān)節(jié)變量
>> qr=ikine(r,F)
qr=-0.0000 0.5236 0.2618 0.2618
即qr = 0 pi/6 pi/12 pi/12
可知,我們利用MATLAB求出的解是逆方程式求出的兩個解(式18)的其中之一,所以加油機器人操作臂的逆運動學(xué)方程是正確的。
本文針對加油機器人操作臂進(jìn)行了結(jié)構(gòu)與參數(shù)設(shè)計,采用標(biāo)準(zhǔn)D-H坐標(biāo)系建立了運動學(xué)方程,利用兩端矩陣元素應(yīng)相等的原理求出逆解,然后以MATLAB中的Robotics Toolbox為工具,并編寫建模與計算程序,驗證了正、逆運動學(xué)方程,證明了所建立的加油機器人操作臂模型是正確的,為下一步動力學(xué)分析與軌跡規(guī)劃奠定了基礎(chǔ)。
[1] 朱世強,王宣銀. 機器人技術(shù)及其應(yīng)用[M]. 杭州:浙江大學(xué)出版社,2001.
[2] 蔡自興. 機器人學(xué)[M]. 北京:清華大學(xué)出版社,2000.
[3] 馬香海. 機器人機構(gòu)學(xué)[M].北京:機械工業(yè)出版社,1991.
[4] 景振毅,張澤兵,董霖.MATLAB 7.0實用寶典[M].北京:中國鐵道出版社,2009.
[5] 羅家佳,胡國清.基于Matlab的機器人運動仿真研究[J].廈門大學(xué)學(xué)報,自然科技版,2005,44(5):640~644.
[6] J.J.Craig.Introduction to Robotics:Mechanics and Control[M].3rd ed.New York:Prentice Hal1,2005.
[7] P. Corke.A Robotics Toolbox for MATLAB[J].IEEE Robotics and automation Magazine,1996,3(1):24~32.8.
[8] Tan J D,xiN Hybird force/position Control of mobile mampulators.IFAC,2002.