王良文 李群濤 王新杰 過(guò)金超 王才東
摘要:爬行類(lèi)四足仿生機(jī)器人具有冗余驅(qū)動(dòng)的特征,其正運(yùn)動(dòng)學(xué)分析位移過(guò)程十分困難.基于四足步行機(jī)器人構(gòu)型爬行類(lèi)四足仿生機(jī)器人數(shù)字化模型的建模技術(shù)為:通過(guò)數(shù)字模型,驅(qū)動(dòng)機(jī)器人的尺寸與主動(dòng)關(guān)節(jié)角度,使機(jī)器人運(yùn)動(dòng)到相應(yīng)位置.在確定了機(jī)器人模型的位置和姿態(tài)后,進(jìn)行草圖繪制建立坐標(biāo)系.利用SolidWorks中的測(cè)量函數(shù),進(jìn)行參數(shù)的測(cè)定,結(jié)合齊次變化矩陣,可以獲得機(jī)器人位置和姿態(tài)的解.該方法用于機(jī)器人的運(yùn)動(dòng)學(xué)分析時(shí),不需要進(jìn)行詳細(xì)的運(yùn)動(dòng)學(xué)公式的推導(dǎo),只需要明確機(jī)器人各個(gè)零部件之間的約束關(guān)系,確定主動(dòng)約束和被動(dòng)約束即可.該方法的思想可以廣泛應(yīng)用于具有冗余驅(qū)動(dòng)的機(jī)構(gòu)運(yùn)動(dòng)分析中.
Abstract:Because of redundant driving characteristics of the reptile\|like quadruped bionic robot, displacement analysis process of forward kinematics was very difficult.The modeling technology of digital model for the reptile\|like quadruped bionic robot base on the quadruped bionic robot configuration was as follows: frame size and active driving angle were driven by parameterized model,to make the robot move to the corresponding position.The coordinate system was built in preliminary sketch after the position and posture of robot were confirmed.The parameters were measured by SolidWorks measuring functions and then the position and posture result of robot were obtained through combining homogeneous matrices.When the method was applied to analyze kinematics of robot, rather than the derivation of detailed kinematics formula, only the active constraint and passive constraint relationship among the parts of robot was required.The idea of the method could be used widely for kinematics analysis of redundant driving structure.
0引言
多足步行機(jī)器人能夠在復(fù)雜的非結(jié)構(gòu)環(huán)境中穩(wěn)定地行走,一直是機(jī)器人研究領(lǐng)域的熱點(diǎn)之一[1-3].
多足步行機(jī)器人的運(yùn)動(dòng)學(xué)分析是進(jìn)行機(jī)器人動(dòng)力學(xué)研究、實(shí)施機(jī)器人空間測(cè)算定位、開(kāi)展機(jī)器人運(yùn)動(dòng)誤差分析與補(bǔ)償?shù)鹊幕A(chǔ).爬行類(lèi)四足仿生機(jī)器人是典型的并聯(lián)機(jī)器人,對(duì)其進(jìn)行正運(yùn)動(dòng)學(xué)分析時(shí),由于其具有冗余驅(qū)動(dòng)的特點(diǎn),采用解析法建立的運(yùn)動(dòng)分析方程,與Stewart平臺(tái)機(jī)構(gòu)正解分析類(lèi)似[4-7],最終導(dǎo)致單變量的16次多項(xiàng)式方程的求解.而單變量的16次多項(xiàng)式方程,其推導(dǎo)相當(dāng)復(fù)雜,需使用變量代換和Bezout方法,高效地求解此方程更為棘手.在求解過(guò)程中遇到了方程高階非線性、求解困難等問(wèn)題,不利于相關(guān)理論的推廣應(yīng)用[8-9].本文提出多足仿生機(jī)器人正運(yùn)動(dòng)學(xué)分析的計(jì)算機(jī)輔助幾何法[10],利用多足仿生機(jī)器人內(nèi)部的結(jié)構(gòu)約束關(guān)系,建立SolidWorks模型,進(jìn)行求解.而建立爬行類(lèi)四足仿生機(jī)器人的數(shù)字化模型是采用計(jì)算機(jī)輔助幾何法進(jìn)行機(jī)器人運(yùn)動(dòng)分析的基礎(chǔ).在此基礎(chǔ)上,可以進(jìn)一步開(kāi)展機(jī)器人的工作空間研究等.
本文在介紹四足仿生機(jī)器人構(gòu)型的基礎(chǔ)上,對(duì)建立爬行類(lèi)四足仿生機(jī)器人的數(shù)字化模型技術(shù)與過(guò)程進(jìn)行論述,以期有效地解決具有冗余驅(qū)動(dòng)特點(diǎn)的機(jī)器人位移分析中求解方程的困難,為類(lèi)似問(wèn)題的研究提供解決問(wèn)題的新思路.
1四足仿生機(jī)器人構(gòu)型及機(jī)器人MiniQuad\|I的結(jié)構(gòu)
四足仿生機(jī)器人由機(jī)體和若干條腿組成.通常,機(jī)器人機(jī)體設(shè)計(jì)成規(guī)則平臺(tái),每條腿通過(guò)臀關(guān)節(jié)與機(jī)體相連.根據(jù)臀關(guān)節(jié)不同的布置方式,機(jī)器人的機(jī)構(gòu)及其運(yùn)動(dòng)特征有所區(qū)別.兩種典型的機(jī)器人構(gòu)型為類(lèi)似爬行動(dòng)物的四足機(jī)器人及類(lèi)似哺乳動(dòng)物的四足機(jī)器人.其中,類(lèi)似哺乳動(dòng)物運(yùn)動(dòng)形式的機(jī)器人,其臀關(guān)節(jié)軸心線與機(jī)器人機(jī)體平面平行,而類(lèi)似于爬行動(dòng)物運(yùn)動(dòng)形式的機(jī)器人,臀關(guān)節(jié)軸心線與機(jī)體平面垂直.本文以爬行類(lèi)四足仿生機(jī)器人為研究對(duì)象.
圖1給出了一類(lèi)典型的爬行類(lèi)四足仿生機(jī)器人簡(jiǎn)圖.在機(jī)體下連接4條腿,每條腿由1個(gè)平面連桿機(jī)構(gòu)、1個(gè)旋轉(zhuǎn)機(jī)構(gòu)和1只足組成.通常,每條腿有3個(gè)執(zhí)行關(guān)節(jié).
圖2為由華中科技大學(xué)開(kāi)發(fā)的一款爬行類(lèi)四足仿生機(jī)器人MiniQuad\|I的三維結(jié)構(gòu)圖.機(jī)器人機(jī)體是一個(gè)矩形平臺(tái),每條腿通過(guò)1個(gè)旋轉(zhuǎn)關(guān)節(jié)與矩形平臺(tái)相連,旋轉(zhuǎn)關(guān)節(jié)的軸線與矩形平臺(tái)垂直.確定機(jī)器人結(jié)構(gòu)的尺寸包含:機(jī)器人機(jī)體的長(zhǎng)度2m,寬度2n;每條腿3個(gè)執(zhí)行關(guān)節(jié)的長(zhǎng)度為:髖關(guān)節(jié)長(zhǎng)L1,大腿關(guān)節(jié)長(zhǎng)L2,小腿關(guān)節(jié)長(zhǎng)L3;每條腿3個(gè)執(zhí)行關(guān)節(jié)的轉(zhuǎn)角為:髖關(guān)節(jié)旋轉(zhuǎn)角,大腿關(guān)節(jié)旋轉(zhuǎn)角φ,小腿關(guān)節(jié)旋轉(zhuǎn)角χ.通常,四條腿關(guān)節(jié)的長(zhǎng)度都設(shè)計(jì)為一樣.在機(jī)器人的每個(gè)關(guān)節(jié)上,都安裝有伺服電機(jī)驅(qū)動(dòng).機(jī)器人的運(yùn)動(dòng)過(guò)程是:在任何時(shí)刻,都采用不同的三條腿同時(shí)著地,并通過(guò)交換腿的組合,推動(dòng)機(jī)體向前,其三條腿上的9個(gè)電機(jī)在同時(shí)驅(qū)動(dòng).由于機(jī)器人的運(yùn)動(dòng)只有6個(gè)自由度,因此,在三條腿上的9個(gè)電機(jī)中,6個(gè)為主動(dòng)驅(qū)動(dòng),其余3個(gè)為被動(dòng)驅(qū)動(dòng),這就是冗余驅(qū)動(dòng).根據(jù)主動(dòng)驅(qū)動(dòng)角來(lái)確定被動(dòng)驅(qū)動(dòng)角,是該類(lèi)機(jī)器人分析的關(guān)鍵,也是非常困難的問(wèn)題[11].通常,將大腿關(guān)節(jié)旋轉(zhuǎn)角φ,小腿關(guān)節(jié)旋轉(zhuǎn)角χ作為主動(dòng)驅(qū)動(dòng)角度,將髖關(guān)節(jié)旋轉(zhuǎn)角作為被動(dòng)驅(qū)動(dòng)角度.
2爬行類(lèi)四足仿生機(jī)器人的數(shù)字化模型
2.1應(yīng)用軟件技術(shù)
2.1.1SolidWorks
本建模過(guò)程主要應(yīng)用了SolidWorks具有的基于特征參數(shù)化的三維實(shí)體造型、基于約束的裝配造型等設(shè)計(jì)功能.SolidWorks 擁有數(shù)百個(gè)應(yīng)用程序接口API(Application Program Interface)函數(shù),這些API函數(shù)是SolidWorks的對(duì)象的嵌入與鏈接OLE(Object Linking and Embedding)或者COM接口,支持一個(gè)Windows應(yīng)用程序通過(guò)獲得對(duì)象控制,操作另一個(gè)Windows程序.在模型的應(yīng)用中,將利用Visual Basic 6.0對(duì)SolidWorks進(jìn)行二次開(kāi)發(fā)[12].
2.1.2Visual Basic 6.0
利用 VB與Windows應(yīng)用程序建立接口,通過(guò)對(duì)API函數(shù)的調(diào)用,開(kāi)發(fā)出用戶(hù)所需要的功能.
2.1.3SolidWorks提供的API函數(shù)
在本設(shè)計(jì)中,較多地應(yīng)用了API函數(shù)進(jìn)行程序開(kāi)發(fā).SolidWorks公司在API幫助手冊(cè)中,提供了API各級(jí)對(duì)象以及父子關(guān)系圖.在應(yīng)用API函數(shù)時(shí)要注意的是,各個(gè)子對(duì)象的控制權(quán)都隸屬于其父對(duì)象,在控制一個(gè)對(duì)象前,必須先取得其父對(duì)象的控制權(quán).每一級(jí)對(duì)象都有其特定的函數(shù)或?qū)傩?SolidWorks中常規(guī)操作的大部分功能都已經(jīng)被封裝在其各級(jí)對(duì)象中.程序設(shè)計(jì)人員只需要獲得對(duì)象的控制權(quán)就可以修改對(duì)象的屬性或者執(zhí)行其函數(shù),實(shí)現(xiàn)對(duì)SolidWorks的二次開(kāi)發(fā).
2.2爬行類(lèi)四足仿生機(jī)器人數(shù)字化建模思想
2.2.1基本原理
SolidWorks中能實(shí)現(xiàn)未完全約束零部件的被動(dòng)驅(qū)動(dòng)是開(kāi)發(fā)機(jī)器人數(shù)字化模型及應(yīng)用的關(guān)鍵,即在SolidWorks的裝配體中,沒(méi)有任何約束的零件都具有6個(gè)自由度,隨著約束的增多,零件的自由度也隨之減少.當(dāng)一個(gè)零部件A被增加配合關(guān)系而改變其位置或者姿態(tài)時(shí),與它有約束關(guān)系的零部件B也會(huì)被動(dòng)地隨著新增加的配合關(guān)系而發(fā)生位置和姿態(tài)的變化.當(dāng)如果零部件B已經(jīng)被完全約束或者不論其運(yùn)動(dòng)怎樣的位置或者擺出何種姿態(tài)都不能滿足新增加的配合關(guān)系時(shí),SolidWorks系統(tǒng)會(huì)提示錯(cuò)誤,此時(shí)整個(gè)系統(tǒng)中各個(gè)零件原有的位置和姿態(tài)等關(guān)系會(huì)保持不變.
2.2.2實(shí)施過(guò)程
在SolidWorks中,根據(jù)機(jī)器人的理論模型對(duì)各個(gè)零部件建立三維模型,并在裝配體文件中,對(duì)機(jī)器人進(jìn)行裝配.此時(shí),機(jī)器人的裝配模型具有機(jī)器人的基本配合關(guān)系,即各個(gè)模塊的關(guān)節(jié)處只能進(jìn)行旋轉(zhuǎn)運(yùn)動(dòng).就整個(gè)機(jī)器人而言,此時(shí)機(jī)器人具有6個(gè)自由度,在結(jié)構(gòu)上形成了最基本的約束關(guān)系.再對(duì)機(jī)器人主動(dòng)驅(qū)動(dòng)角度和立足點(diǎn)位置都進(jìn)行結(jié)構(gòu)約束,機(jī)器人的6個(gè)自由度都將受到約束.此處,是以各立足腿大腿關(guān)節(jié)角φ和小腿關(guān)節(jié)角χ為主動(dòng)驅(qū)動(dòng)角度,而立足點(diǎn)位置是指在固定坐標(biāo)系下機(jī)器人小腿關(guān)節(jié)末端的位置.
由于在SolidWorks中能實(shí)現(xiàn)未完全約束零部件的被動(dòng)驅(qū)動(dòng),機(jī)器人裝配模型會(huì)在其結(jié)構(gòu)約束和主動(dòng)驅(qū)動(dòng)約束下,將機(jī)器人驅(qū)動(dòng)到滿足已知條件的姿態(tài)和位置.在該過(guò)程中,由于通過(guò)立足點(diǎn)位置約束了機(jī)器人關(guān)節(jié)的角度,即髖關(guān)節(jié)的角度值,這樣,被動(dòng)約束角度值就確定了.該被動(dòng)約束角度值即是機(jī)器人運(yùn)動(dòng)分析中,需要求解的冗余驅(qū)動(dòng)角.
2.2.3獲取處理
在被動(dòng)驅(qū)動(dòng)角度值確定后,可以通過(guò)在SolidWorks裝配體中設(shè)置坐標(biāo)系,使用SolidWorks的API函數(shù)中的測(cè)量函數(shù)對(duì)機(jī)器人裝配體中某些參數(shù)進(jìn)行測(cè)量,以得到機(jī)器人的姿態(tài)矩陣和機(jī)架中心點(diǎn)位置,進(jìn)行機(jī)器人的運(yùn)動(dòng)學(xué)分析.
通過(guò)對(duì)機(jī)器人的結(jié)構(gòu)尺寸進(jìn)行數(shù)字驅(qū)動(dòng),形成機(jī)器人整體結(jié)構(gòu)的數(shù)字化模型,將極大地簡(jiǎn)化該類(lèi)機(jī)器人的運(yùn)動(dòng)分析過(guò)程.
2.3建模技術(shù)
2.3.1實(shí)體建模
根據(jù)機(jī)器人的理論模型,首先在SolidWorks中進(jìn)行三維建模,并進(jìn)行初步的裝配,得到如圖3所示的一個(gè)具有基本配合關(guān)系的裝配體.需要注意所建立的機(jī)器人三維裝配體中各個(gè)立足點(diǎn)的標(biāo)記順序.在裝配的時(shí)候,在立足腿下方設(shè)置“地面”,該“地面”的中心和裝配體的中心是重合的,各個(gè)基準(zhǔn)面在“地面”與裝配體之間也是重合的.
設(shè)置機(jī)器人的固定坐標(biāo)系為裝配體的默認(rèn)坐標(biāo)系.此時(shí),機(jī)器人立足腿末端的位置在固定坐標(biāo)系下及在裝配體默認(rèn)坐標(biāo)系中一致.對(duì)立足點(diǎn)的位置配合控制,也就是控制該點(diǎn)到裝配體默認(rèn)坐標(biāo)系中的各個(gè)基準(zhǔn)面之間的距離,即屬于距離類(lèi)型的配合控制.圖3中各個(gè)立足點(diǎn)I,J,L腿的立足點(diǎn)位置,在此時(shí)并沒(méi)有固定.各個(gè)關(guān)節(jié)間只存在旋轉(zhuǎn)的約束關(guān)系,即對(duì)關(guān)節(jié)前后兩個(gè)桿件之間的角度約束.圖3中的機(jī)器人所處的狀態(tài)也是機(jī)器人的初始狀態(tài),機(jī)器人在這個(gè)位置和姿態(tài)下被驅(qū)動(dòng)而發(fā)生狀態(tài)變化.
2.3.2部件參數(shù)化
為了建立通用的爬行類(lèi)四足仿生機(jī)器人的數(shù)字化模型,采用參數(shù)化驅(qū)動(dòng)機(jī)器人桿件的長(zhǎng)度和機(jī)架尺寸.根據(jù)機(jī)器人零件的設(shè)計(jì)方式及結(jié)構(gòu)約束關(guān)系,設(shè)定機(jī)器人各零部件尺寸的最小值.以拉伸機(jī)器人桿件的長(zhǎng)度從而控制機(jī)器人的各桿件尺寸.
1)函數(shù)控制權(quán)的獲取
在實(shí)現(xiàn)零部件的參數(shù)化時(shí),需要用到SolidWorks提供的API函數(shù),這就需要先取得控制該函數(shù)的上級(jí)對(duì)象的控制權(quán),通??梢杂靡韵聝煞N方式來(lái)取得SolidWorks中API函數(shù)的最高一級(jí)對(duì)象,即SoldWorks的控制權(quán):
Dim myswApp as object
SetmyswApp = CreateObject("SldWorks.Application")
或者采用
Dim myswApp as object
Set myswApp = GetObject(,"SldWorks.Application")
在取得最高一級(jí)應(yīng)用對(duì)象的控制權(quán)后,打開(kāi)要控制的對(duì)象,在本設(shè)計(jì)中,為機(jī)器人理論模型的三維裝配體.其關(guān)鍵語(yǔ)句為:
Dim Part As Object
Set Part = swApp.OpenDoc6("C:\Documents and Settings\Administrator\桌面\solidwork robot\robot.SLDASM",2,0,"",longstatus,longwarnings)
其中,語(yǔ)句中的"C:\Documents and Settings\Administrator\桌面\solidwork robot\robot.SLDASM"為控制對(duì)象的文件路徑.
2)尺寸驅(qū)動(dòng)
在利用幾何法所構(gòu)建的系統(tǒng)中分別采用驅(qū)動(dòng)草圖中尺寸或者特征的尺寸來(lái)實(shí)現(xiàn)零部件的參數(shù)化.
以驅(qū)動(dòng)髖關(guān)節(jié)的長(zhǎng)度L1為例,參見(jiàn)圖4,其關(guān)鍵語(yǔ)句為:
Part.Parameter("D6@草圖2@jijia.Part").SystemValue = Val(Text4.Text)/1 000∥設(shè)定機(jī)架草圖4中尺寸D6的數(shù)值為VB控件中Text4中的值.
Part.Parameter("D1@拉伸1@kgj\|I.Part").SystemValue =(Val(Text1.Text) - 36) / 1000∥桿件I的髖關(guān)節(jié)的長(zhǎng)度值L1為控件Text4的值減去36.
要注意的是單位換算:在SolidWorks中,尺寸值是以m為單位,而平常設(shè)定機(jī)器人坐標(biāo)值時(shí),習(xí)慣以mm為單位.此外,在考慮機(jī)器人的桿長(zhǎng)和尺寸驅(qū)動(dòng)時(shí),都是指桿件上相鄰兩旋轉(zhuǎn)軸之間的尺寸.如上述語(yǔ)句中,在對(duì)桿件的髖關(guān)節(jié)驅(qū)動(dòng)時(shí),以控制尺寸減去一個(gè)具體值(在此減去36),是減去驅(qū)動(dòng)尺寸中兩軸線外的尺寸.這與機(jī)器人零件的設(shè)計(jì)過(guò)程相關(guān).最終,機(jī)器人各個(gè)零部件的尺寸都是根據(jù)機(jī)器人理論模型確定的,考慮的是桿件兩軸線之間的公垂線距離.
類(lèi)似地,其他零件的尺寸驅(qū)動(dòng)也可以采用上述方法實(shí)現(xiàn).
2.3.3配合關(guān)系的控制
在SolidWorks中建立了機(jī)器人模型,對(duì)機(jī)器人的尺寸進(jìn)行驅(qū)動(dòng)后,需要對(duì)結(jié)構(gòu)的一些配合關(guān)系進(jìn)行控制,成功地控制機(jī)器人主動(dòng)驅(qū)動(dòng)角度和立足點(diǎn)位置的配合關(guān)系對(duì)幾何法的實(shí)現(xiàn)特別重要.
1)增加配合關(guān)系的關(guān)鍵函數(shù)
在SolidWorks中增加配合關(guān)系的關(guān)鍵函數(shù)為AssemblyDoc:AddMate3.AddMate3的父對(duì)象是AssemblyDoc.在使用AddMate3方法時(shí),先要進(jìn)行裝配對(duì)象的選擇,在這里采用Model DocExtension 下的SelectByID2來(lái)實(shí)現(xiàn)該功能,Select ByID2的具體意義可以參考SolidWorks API幫助文檔.
在swMateType_e中,定義部件的配合類(lèi)型在SolidWorks2008中有21種.最為常用的有:swMateCOINCIDENT表示重合關(guān)系;swMateCONCENTRIC表示重合關(guān)系;swMatePERPENDICULAR表示垂直關(guān)系;swMatePARALLEL表示平行關(guān)系;swMateTANGENT表示相切關(guān)系;swMateDISTANCE表示距離配合;swMateANGLE表示角度配合;swMateUNKNOWN表示未知情況,等等.在程序中分別用0到7來(lái)表示以上幾種配合關(guān)系,在本模型建立中用到的是距離和角度配合.
在swMateAlign_e中,定義部件的配合類(lèi)型在SolidWorks2008中有3種,分別是:swMate AlignLIGNED表示同向?qū)R;swMateAlignALIGNED表示反向?qū)R;swMateAlignCLOSEST 表示最近處對(duì)齊.用數(shù)字序號(hào)0,1,2表示這些對(duì)齊類(lèi)型.
在swAddMateError_e中,定義的是配合關(guān)系成功或失敗的類(lèi)型.在SolidWorks2008中有6種情況:如swAddMateError_ErrorUknown表示未知錯(cuò)誤,swAddMateError_NoError表示沒(méi)有錯(cuò)誤, swAddMateError_IncorrectMateType表示不正確的配合類(lèi)型,等等,用數(shù)字序號(hào)從0,1,2,3,4,5表示這些情況.
2)驅(qū)動(dòng)秩序
在用程序來(lái)控制立足點(diǎn)位置和主動(dòng)驅(qū)動(dòng)關(guān)節(jié)角度時(shí),要注意驅(qū)動(dòng)的次序.如在正運(yùn)動(dòng)學(xué)分析過(guò)程中,先配合主動(dòng)驅(qū)動(dòng)關(guān)節(jié)的角度,再控制立足點(diǎn)的位置.如果給定的位置和角度合適,不會(huì)出現(xiàn)配合過(guò)定義的錯(cuò)誤;相反,如果先控制立足點(diǎn)的位置,再配合主動(dòng)驅(qū)動(dòng)關(guān)節(jié)的角度,就很容易出現(xiàn)裝配錯(cuò)誤.
3)角度配合關(guān)系的實(shí)現(xiàn)
如圖4所示,以I腿髖關(guān)節(jié)上視圖和I腿大腿關(guān)節(jié)上視圖之間的角度配合關(guān)系實(shí)現(xiàn)為例(就是對(duì)髖關(guān)節(jié)結(jié)構(gòu)的對(duì)稱(chēng)面4與大腿關(guān)節(jié)結(jié)構(gòu)的對(duì)稱(chēng)面3之間的角度進(jìn)行控制),
值得注意的是,I_kd_angle是指I腿髖關(guān)節(jié)桿和大腿關(guān)節(jié)桿之間的角度值,即機(jī)器人結(jié)構(gòu)參數(shù)中大腿關(guān)節(jié)旋轉(zhuǎn)角度φ,屬于主動(dòng)驅(qū)動(dòng)角度值,其值通過(guò)Text的控件傳遞.按照機(jī)器人運(yùn)動(dòng)學(xué)求解的習(xí)慣,給定的數(shù)據(jù)均按度為計(jì)量單位,但是在VB中是按弧度為計(jì)量單位,在程序中要對(duì)兩者進(jìn)行單位的轉(zhuǎn)換.
AddMate3函數(shù)的功能是添加配合關(guān)系到選定的部件,使之形成配合.在應(yīng)用 AddMate3作為配合函數(shù)時(shí),不允許其輸入變量為負(fù)值.在此,采用VB中的Abs函數(shù),將輸入變量絕對(duì)化.在系統(tǒng)中,以角度的正負(fù)值分別表示機(jī)器人關(guān)節(jié)角度的旋轉(zhuǎn)方向,逆時(shí)針?lè)较驗(yàn)檎槙r(shí)針?lè)较驗(yàn)樨?fù).為了讓所配合的關(guān)節(jié)角度實(shí)現(xiàn)兩個(gè)方向的旋轉(zhuǎn),要設(shè)置角度變量為布爾類(lèi)型.
用布爾類(lèi)型判斷配合對(duì)象取正或者取負(fù)的裝配類(lèi)型,用它來(lái)確定兩個(gè)配合對(duì)象是否反轉(zhuǎn)尺寸后再進(jìn)行配合.若反轉(zhuǎn)尺寸后再進(jìn)行配合,得到兩者之間配合的角度值為逆時(shí)針?lè)较蛐D(zhuǎn)后得到的角度,反之相反.
立足點(diǎn)坐標(biāo)值也有正負(fù)之分.如對(duì)于I腿,采用了布爾類(lèi)型值I_lizu_xzf來(lái)實(shí)現(xiàn)立足點(diǎn)位置.可根據(jù)其布爾類(lèi)型來(lái)判斷該立足點(diǎn)是留在機(jī)器人初始位置所限定的象限還是到相鄰的象限.
其他的配合關(guān)系都屬于上面所介紹的兩類(lèi)——角度型的配合和距離型的配合.采用類(lèi)似的方式就可以確定機(jī)器人6個(gè)關(guān)節(jié)角度和 3個(gè)立足點(diǎn)位置,從而讓機(jī)器人裝配體擺出符合設(shè)定條件的機(jī)器人機(jī)架中心點(diǎn)位置和姿態(tài).
2.3.4測(cè)量設(shè)置參數(shù)
建立機(jī)器人的數(shù)字化模型后,利用SolidWorks中內(nèi)部的測(cè)量系統(tǒng)對(duì)機(jī)器人的參數(shù)進(jìn)行測(cè)量,開(kāi)展機(jī)器人的運(yùn)動(dòng)分析.為此,設(shè)置SolidWorks中默認(rèn)的坐標(biāo)系為固定坐標(biāo)系,并在機(jī)器人機(jī)架中心和抬動(dòng)腿末端設(shè)置浮動(dòng)坐標(biāo)系.
1)設(shè)置固定坐標(biāo)系
在SolidWorks的機(jī)器人裝配體中,插入一個(gè)“地面”零件.該“地面”的默認(rèn)坐標(biāo)系的中心為幾何中心.利用裝配體中的配合關(guān)系,設(shè)置“地面”的默認(rèn)坐標(biāo)系和裝配體的默認(rèn)坐標(biāo)系重合,并將該零件設(shè)置為固定.這樣,“地面”的默認(rèn)坐標(biāo)系即為系統(tǒng)的固定坐標(biāo)系Σo.
2)設(shè)置浮動(dòng)坐標(biāo)系
采用繪制草圖的方式,固定浮動(dòng)坐標(biāo)系在機(jī)器人的機(jī)架中心和抬動(dòng)腿的末端.以在機(jī)架中心點(diǎn)處設(shè)置浮動(dòng)坐標(biāo)系Σc為例,坐標(biāo)系Σc的原點(diǎn)設(shè)置在機(jī)架的中心,在原點(diǎn)所在的水平面上繪制草圖.以機(jī)架中心點(diǎn)為原點(diǎn),分別以平行于機(jī)架桿件(標(biāo)注2m和2n)方向上一定距離處(如:100 mm)繪制一個(gè)點(diǎn),標(biāo)記為坐標(biāo)系Σc的x,y方向:在垂直于機(jī)架的平面上,以原點(diǎn)為起始點(diǎn)向上一定距離處(如:100 mm)繪制另外一個(gè)點(diǎn),標(biāo)記為坐標(biāo)系Σc的z的方向.類(lèi)似的標(biāo)記方法用于機(jī)器人抬動(dòng)腿末端.
3)獲得機(jī)器人機(jī)架位置與姿態(tài)
記浮動(dòng)坐標(biāo)系中心點(diǎn)在固定坐標(biāo)系的值為pc,其構(gòu)成浮動(dòng)坐標(biāo)系的3個(gè)點(diǎn)(標(biāo)記為x,y,z點(diǎn))在固定坐標(biāo)系中的值分別為px,py,pz.很明顯,pc的模,即為兩個(gè)坐標(biāo)系原點(diǎn)之間的距離,也就是機(jī)器人機(jī)架中心點(diǎn)在固定坐標(biāo)系中的坐標(biāo)值.兩個(gè)坐標(biāo)系之間的關(guān)系可以通過(guò)浮動(dòng)坐標(biāo)系在固定坐標(biāo)系中的一個(gè)矢量表達(dá)來(lái)表示.而浮動(dòng)坐標(biāo)系在固定坐標(biāo)系中的矢量表達(dá)可以通過(guò)px-pc,py-pc,pz-pc這3個(gè)矢量來(lái)表達(dá).若將這3個(gè)矢量作歸一化處理,并和機(jī)器人機(jī)架中心點(diǎn)的坐標(biāo)組合在一起,就可以得到兩個(gè)坐標(biāo)系之間的齊次坐標(biāo)矩陣①.
3數(shù)字化模型的應(yīng)用
根據(jù)上述思想,在建立了爬行類(lèi)四足仿生機(jī)器人的數(shù)字化模型后,對(duì)機(jī)器人的桿件和機(jī)架尺寸進(jìn)行驅(qū)動(dòng),依據(jù)機(jī)器人的主動(dòng)驅(qū)動(dòng)角度和立足點(diǎn)位置控制機(jī)器人關(guān)鍵的配合關(guān)系,使機(jī)器人形成在整個(gè)約束下的姿態(tài)和位置.對(duì)機(jī)器人的姿態(tài)和位置進(jìn)行測(cè)量,再利用VB的文檔輸出功能,就可以得到機(jī)器人的正運(yùn)動(dòng)學(xué)的解.圖6即為采用該原理開(kāi)發(fā)的機(jī)器人正運(yùn)動(dòng)學(xué)求解系統(tǒng)界面.
采用本系統(tǒng)進(jìn)行四足仿生機(jī)器人的正運(yùn)動(dòng)學(xué)計(jì)算,只需要輸入機(jī)器人的已知參數(shù).
4結(jié)論
本文對(duì)建立爬行類(lèi)四足仿生機(jī)器人的數(shù)字化模型技術(shù)與過(guò)程進(jìn)行闡述.通過(guò)數(shù)字模型,驅(qū)動(dòng)機(jī)器人的尺寸與主動(dòng)關(guān)節(jié)角度,使機(jī)器人運(yùn)動(dòng)到相應(yīng)位置.在確定了機(jī)器人模型的位置和姿態(tài)后,進(jìn)行草圖繪制建立坐標(biāo)系.利用SolidWorks中的測(cè)量函數(shù),進(jìn)行參數(shù)的測(cè)定,結(jié)合齊次變化矩陣,可以獲得機(jī)器人位置和姿態(tài)的解.
該方法用于機(jī)器人的運(yùn)動(dòng)學(xué)分析時(shí),不需要進(jìn)行詳細(xì)的運(yùn)動(dòng)學(xué)公式的推導(dǎo),只需要明確機(jī)器人各個(gè)零部件之間的約束關(guān)系,確定主動(dòng)約束和被動(dòng)約束即可.
使用SolidWorks軟件建立機(jī)器人數(shù)字模型后,機(jī)器人在添加配合關(guān)系后的位置和姿態(tài),能夠通過(guò)軟件很清晰的表達(dá)出來(lái).
該方法的思想可以廣泛應(yīng)用于具有冗余驅(qū)動(dòng)的機(jī)構(gòu)運(yùn)動(dòng)分析中.參考文獻(xiàn):
[1]JONAS B,JERRY P,NICHOLAS R.Editorial:special issue on legged locomotion[J].International journal of robotics research,2011,30(2):139.
[2]DYNAMICS B.Cheetah\|Fast Legged Robot[EB/OL].(2012-06-02)[2014-06-20].http://www.bostondynamics.com/robot_cheetah.html.
[3]WANG L W,CHEN X D,WANG X J,et al.Motion error compensation of multi\|legged walking robots[J].Chinese journal of mechanical engineering,2012,25(4):639.
[4]WEN F,LIANG C.Displacement analysis of the 6\|6 stewart platform mechanisms[J].Mechanism and machine theory,1994,29(4):547.
[5]DASGUPTA B,MRUTHYUNJIYA T S.A canonical formulation of the direct position kinematics problems for a general 6\|6 stewart platform[J].Mechanism and machine theory,1994,29(6):819.
[6]BOUDREAU R,TURKKAN N.Solving the forward kinematics of parallel manipulators with a genetic algorithm[J].Journal of robotic systems,1996,13(2):111.
[7]DIDRIT O,PETITOT M,WALTER E.Guaranteed solution of direct kinematic problems for general configurations of parallel manipulator[J].IEEE transactions on robotics automation,1998,14(2):259.
[8]WANG X J,CHEN X D,LI P G,et al.A study of analytical forward kinematics of multi\|legged walking robot location[J].Machine intelligence and robotic control,2006,6(2):22.
[9]王良文,潘春梅,王新杰,等.基于手腳融合功能的多足步行機(jī)器人正運(yùn)動(dòng)學(xué)分析[J].機(jī)械設(shè)計(jì),2010,27(11):38.
[10]王良文,唐維綱,王新杰,等.基于計(jì)算機(jī)輔助幾何法的多足步行機(jī)器人運(yùn)動(dòng)學(xué)分析系統(tǒng)[J].機(jī)械設(shè)計(jì),2012,29(7):29.
[11]陳學(xué)東,孫翊,賈文川.多足步行機(jī)器人運(yùn)動(dòng)規(guī)劃與控制[M].武漢:華中科技大學(xué)出版社,2006.
[12]葉修梓,陳超祥.SolidWorks 高級(jí)教程:二次開(kāi)發(fā)與API [M].北京:機(jī)械工業(yè)出版社,2009:1-133.