戰(zhàn)曉磊 辛洪兵 漢斯·彼德 蘭特斯
1.機(jī)械科學(xué)研究總院,北京,100083 2.北京工商大學(xué),北京,100037 3.弗勞恩霍夫工業(yè)經(jīng)濟(jì)與組織研究所,斯圖加特,70569
機(jī)器人技術(shù)在工業(yè)、國防、空間探測和海洋開發(fā)中的重要地位使各國對機(jī)器人的研究均十分重視,但是因科學(xué)技術(shù)水平的限制,全自主的智能機(jī)器人系統(tǒng)在短期內(nèi)難以實現(xiàn),因此目前遙操作機(jī)器人具有極大的研究價值。國外在遙操作機(jī)器人方面進(jìn)行了很多研究,如澳大利亞Western大學(xué)研制的6個自由度的工業(yè)機(jī)器人Australias Telerobot、美國Carnegie Mellon大學(xué)研制開發(fā)的通過Web控制的移動機(jī)器人Xavier,都實現(xiàn)了基于Internet技術(shù)的遠(yuǎn)程控制[1],哈爾濱工業(yè)大學(xué)也建立了基于Web的遙操作機(jī)器人系統(tǒng)[2],但在實際應(yīng)用中由于Internet的不可預(yù)測時滯及有限的通訊帶寬,導(dǎo)致Internet遙操作機(jī)器人系統(tǒng)存在網(wǎng)絡(luò)傳輸時延問題,使操作人員無法流暢操作。
虛擬現(xiàn)實技術(shù)采用了先進(jìn)的計算機(jī)技術(shù)和圖形處理技術(shù),在虛擬裝配、虛擬制造、虛擬樣機(jī)等機(jī)械領(lǐng)域已經(jīng)獲得了階段性成果[3],相對于基于Internet技術(shù)的遙操作機(jī)器人需要通過網(wǎng)絡(luò)傳輸大量的圖像和數(shù)據(jù)文件,應(yīng)用虛擬現(xiàn)實技術(shù)只需要傳輸很少的數(shù)據(jù)文件,這為解決遙操作機(jī)器人中的網(wǎng)絡(luò)傳輸時延問題提供了一種新的方法。本文研究了虛擬現(xiàn)實技術(shù)在遙操作機(jī)器人中的應(yīng)用方式,構(gòu)建了一個基于虛擬現(xiàn)實技術(shù)的遙操作機(jī)器人運動學(xué)仿真系統(tǒng)。
首鋼莫托曼MOTOMAN-HP3型六軸工業(yè)機(jī)器人可以分解成底座、S軸、L軸、U軸、R軸、B軸、T軸,具有很快的軸動作速度、最大的工作半徑和最小的干涉半徑,在系統(tǒng)設(shè)計上提供了較大的靈活性和廣泛的應(yīng)用方案。它的控制柜(NX100)運用高精度軌跡控制算法縮短了對命令響應(yīng)的滯后時間。
本控制系統(tǒng)采用遙編程控制方式和客戶端/服務(wù)器端(Client/Server)控制模式來實現(xiàn),系統(tǒng)的總體框架見圖1。
系統(tǒng)設(shè)計流程如下:①建立機(jī)器人的幾何模型和虛擬模型,并賦予虛擬模型動態(tài)組合、動態(tài)分離及虛擬現(xiàn)實特性,展示出模型的組成、裝配關(guān)系;②機(jī)器人運動學(xué)分析,利用D-H齊次變換矩陣,建立機(jī)器人的運動方程,求解運動學(xué)正逆解;③在MATLAB/Simulink系統(tǒng)下建立機(jī)器人的運動學(xué)仿真圖,設(shè)計運動學(xué)正逆解模塊,通過虛擬現(xiàn)實工具箱建立虛擬機(jī)器人的控制節(jié)點,連接外部交互設(shè)備構(gòu)建機(jī)器人虛擬現(xiàn)實控制系統(tǒng),如圖2所示。
圖1 虛擬現(xiàn)實控制系統(tǒng)的總體框架圖
圖2 機(jī)器人虛擬現(xiàn)實控制系統(tǒng)設(shè)計流程圖
為了避免傳輸時延對操作人員造成影響,在操作過程中采用遙編程控制方式,操作人員只針對虛擬環(huán)境進(jìn)行操作,虛擬環(huán)境將操作人員的行為解釋為相應(yīng)的任務(wù)指令,機(jī)器人根據(jù)這些指令完成具體操作,遠(yuǎn)程機(jī)器人及其工作環(huán)境不向客戶端返回任何圖像信息。
虛擬現(xiàn)實軟件系統(tǒng)采用MATLAB下的Simulink軟件包,使用標(biāo)準(zhǔn)的VRML技術(shù),在MATLAB和Simulink環(huán)境中建立虛擬場景,通過虛擬現(xiàn)實工具箱連接虛擬機(jī)器人及外部交互設(shè)備,實現(xiàn)操作人員與虛擬現(xiàn)實環(huán)境的交互操作。為了使機(jī)器人的虛擬模型與遠(yuǎn)程機(jī)器人具有同樣的運動軌跡,需要進(jìn)行機(jī)器人運動學(xué)分析。通信部分負(fù)責(zé)客戶端與服務(wù)器端之間的數(shù)據(jù)通信,將由上一級獲得的任務(wù)指令進(jìn)行解碼并編碼發(fā)送到下一級。
系統(tǒng)采用分布式架構(gòu),每一個功能都有相對的應(yīng)用服務(wù)器進(jìn)行控制,這樣,使得機(jī)器人功能的擴(kuò)張更為方便,并且提高了整體的運行效率。
虛擬現(xiàn)實技術(shù)下的機(jī)器人需要建立幾何模型和虛擬模型,本研究通過Solidworks軟件建立機(jī)器人的三維模型,利用Solidworks的VRML轉(zhuǎn)換程序輸出為VRML文件,實現(xiàn)機(jī)器人的虛擬模型,如圖3所示[4]。
圖3 機(jī)器人的虛擬模型
在虛擬模型的構(gòu)建中,使用VrmlPad2.1軟件編輯模型文件。通過增加Transform節(jié)點實現(xiàn)實體模型的導(dǎo)入,同時,在Transform節(jié)點下內(nèi)置一個坐標(biāo)系,所有子節(jié)點都建立在它的坐標(biāo)系原點處,構(gòu)成節(jié)點逐層嵌套包含結(jié)構(gòu),這樣,運動就可以通過Transform節(jié)點傳遞下去。Tranform結(jié)構(gòu)圖如圖4所示。
圖4 Transform結(jié)構(gòu)圖
MOTOMAN-HP3型機(jī)器人具有6個自由度,各關(guān)節(jié)均為旋轉(zhuǎn)關(guān)節(jié),為分析其運動學(xué)問題,結(jié)合機(jī)器人的具體結(jié)構(gòu),建立機(jī)器人D-H坐標(biāo)系,如圖5所示,表1中列出的是根據(jù)建立好的坐標(biāo)系得到的D-H參數(shù)dn、αn、an、θn(n=1,2,…,6)的值。
按D-H法確定桿件坐標(biāo)系,取坐標(biāo)系n的z軸與關(guān)節(jié)n+1的軸線重合,x軸取為相鄰z軸的公垂線,y軸則按右手法則確定。任何一個連桿n,兩端有關(guān)節(jié)n和n+1,兩個關(guān)節(jié)軸線沿公垂線的距離an為連桿長度,αn是在垂直an的平面內(nèi)兩個軸線的夾角,即連桿扭角,dn是沿關(guān)節(jié)n軸線的兩個公垂線的距離,θn是垂直于關(guān)節(jié)n軸線的平面內(nèi)兩公垂線的夾角[5]。
圖5 MOTOMAN-HP3型機(jī)器人坐標(biāo)與參數(shù)
表1 MOTOMAN-HP3型機(jī)器人坐標(biāo)參數(shù)
根據(jù)表1中所給的連桿參數(shù)以及坐標(biāo)系建立結(jié)果,可得連桿變換矩陣:An=R(z,θn)T(0,0,dn)T(an,0,0)R(x,αn)
將表1中的參數(shù)代入式(1)中可得相鄰坐標(biāo)系之間的位姿變換矩陣則機(jī)器人的末端位姿為
式中,si表示sinθi;ci表示cosθi;(px,py,pz)為機(jī)器人末端位置坐標(biāo)。
結(jié)合機(jī)器人D-H參數(shù),把已知的機(jī)器人的各關(guān)節(jié)角度代入式(2)就可求出機(jī)器人的運動學(xué)正解。
目前,機(jī)器人的逆向運動學(xué)求解方法很多,如解析法、迭代法等[6-8],本文根據(jù)機(jī)器人的位置結(jié)構(gòu)和姿態(tài)結(jié)構(gòu)的特點,引用一種避免大量逆矩陣相乘的方法[9],即用左乘式(2),用右乘式(2),得
根據(jù)An矩陣的逆矩陣公式可得各個變換矩陣的逆矩陣,有
采用同樣的方法,可以分別求出θ2、θ3、θ4、θ5、θ6。
令式(3)左右兩邊元素(3,4)相等(其中(3,4)表示該矩陣的第三行第四列元素),可求得
在 MATLAB/Simulink系統(tǒng)提供的虛擬現(xiàn)實環(huán)境下,通過虛擬現(xiàn)實工具箱加載 MOTOMAN-HP3型機(jī)器人虛擬模型中S、L、U、R、B、T6個軸的Rotation節(jié)點,建立虛擬機(jī)器人的控制節(jié)點,這樣就實現(xiàn)了虛擬場景的導(dǎo)入。接著,利用工具箱與交互設(shè)備的鏈接模塊實現(xiàn)操作人員與虛擬環(huán)境的交互操作,Simulink模塊驅(qū)動虛擬場景。同時,編程設(shè)計客戶端與服務(wù)器端之間的通信協(xié)議,解決傳輸數(shù)據(jù)的解碼編碼問題,實現(xiàn)虛擬場景與遠(yuǎn)程機(jī)器人的數(shù)據(jù)通信,進(jìn)而實現(xiàn)基于虛擬現(xiàn)實的機(jī)器人運動學(xué)仿真系統(tǒng)。
在Simulink模塊的設(shè)計中,根據(jù)機(jī)器人運動學(xué)編制運動學(xué)正解和逆解仿真模塊,操作人員通過交互設(shè)備指定機(jī)器人末端位置坐標(biāo)(px,py,pz),經(jīng)過運動學(xué)逆解模塊計算得到機(jī)器人S軸、L軸、U軸、R軸、B軸、T軸的運轉(zhuǎn)角度θ1~θ6,這些角度數(shù)值以.mat文件格式經(jīng)過通信協(xié)議發(fā)送到機(jī)器人控制柜。當(dāng)機(jī)器人運轉(zhuǎn)到指定位置后,S軸、L軸、U 軸、R軸、B軸、T軸的實際運轉(zhuǎn)角度數(shù)據(jù)將回饋到虛擬現(xiàn)實系統(tǒng)中,通過運動學(xué)正解模塊計算,對虛擬機(jī)器人的位姿進(jìn)行對比校正。
(1)采用Solidworks-VRML的建模方法建立了機(jī)器人的虛擬模型,并利用D-H齊次變換矩陣,針對MOTOMAN-HP3型機(jī)器人建立了運動學(xué)運動方程,求解出運動學(xué)正逆解。
(2)在 MATLAB/Simulink系統(tǒng)下搭建了虛擬現(xiàn)實仿真平臺,設(shè)計了基于客戶端/服務(wù)器端的分布式網(wǎng)絡(luò)控制結(jié)構(gòu),通過虛擬現(xiàn)實工具箱及通信協(xié)議,實現(xiàn)了虛擬現(xiàn)實控制系統(tǒng)的各個功能。為基于虛擬現(xiàn)實平臺的遙操作機(jī)器人控制系統(tǒng)的應(yīng)用及進(jìn)一步研究打下了基礎(chǔ)。
[1] 于濤.具有力覺反饋的遙操作機(jī)器人研究[D].長春:吉林大學(xué),2005.
[2] 樊濱溫,張火同,呂偉新,等.遙操作空間機(jī)器人系統(tǒng)研究[J].哈爾濱工業(yè)大學(xué)學(xué)報,1999,31(1):111-113.
[3] 鄭太雄.虛擬裝配理論與方法研究[D].重慶:重慶大學(xué),2003.
[4] 戰(zhàn)曉磊.基于虛擬現(xiàn)實技術(shù)的遙操作機(jī)器人協(xié)調(diào)控制系統(tǒng)研究[D].北京:北京工商大學(xué),2008.
[5] 石煒.MOTOMAN-UP6機(jī)器人動力學(xué)分析[D].北京:北京科技大學(xué),2003.
[6] Manocha D,Canny J F.Efficient Inverse Kinematics for General6RManipulators[J].IEEE Transactions on Robotics and Automation,1994,10(5):648-657.
[7] Paul R P,Shimano B E,Mayer G.Kinematics Control Equations for Simple Manipulators[J].IEEE Trans.SMC,1981,11(6):449-455.
[8] Fu K S,Gonzalez R C,Lee C G S.Robotics:Control,Sensing,Vision and Intelligence[M].New York:McGraw-Hill,1987.
[9] 陳平.MOTOMAN-UPJ型機(jī)器人運動學(xué)研究[D].鎮(zhèn)江:江蘇大學(xué),2006.