趙凱凱 常 健 李 斌 杜汶娟
(*中國(guó)科學(xué)院沈陽自動(dòng)化研究所機(jī)器人學(xué)國(guó)家重點(diǎn)實(shí)驗(yàn)室 沈陽 110016)(**中國(guó)科學(xué)院機(jī)器人與智能制造創(chuàng)新研究院 沈陽 110016)(***中國(guó)科學(xué)院自動(dòng)化研究所 北京 100190)(****中國(guó)科學(xué)院大學(xué) 北京 100049)
近些年來,移動(dòng)機(jī)器人多用在軍事任務(wù)、空間探測(cè)、災(zāi)后救援等領(lǐng)域。移動(dòng)機(jī)器人通常分為剛體機(jī)器人和軟體機(jī)器人。其中,剛體機(jī)器人以剛性結(jié)構(gòu)為主,根據(jù)運(yùn)動(dòng)形式可大致分為輪式[1]、腿式[2]、履帶式[3]等,具有機(jī)構(gòu)剛度大、控制精度高、負(fù)載能力強(qiáng)等優(yōu)點(diǎn),但是其機(jī)械結(jié)構(gòu)復(fù)雜、自由度固定、環(huán)境適應(yīng)性較差,多用于已知環(huán)境下。而軟體機(jī)器人由軟體材料構(gòu)成,具有柔順性好、變形能力強(qiáng)、自由度高,可抓取不規(guī)則物體或者易碎物體,但存在制造困難、負(fù)載能力差、難以建模的問題[4]。因此,為了兼顧剛體機(jī)器人和軟體機(jī)器人的優(yōu)點(diǎn),將張拉整體結(jié)構(gòu)的概念引入到移動(dòng)機(jī)器人領(lǐng)域中,即在柔性材料中嵌入剛性材料,可實(shí)現(xiàn)張拉整體機(jī)器人具有較大的強(qiáng)度質(zhì)量比以及一定的負(fù)載能力,同時(shí)還具有較強(qiáng)的可變形能力和減震能力。
張拉整體結(jié)構(gòu)可追溯到20世紀(jì)20年代,其是由一系列連續(xù)的彈性拉索和不連續(xù)的剛性壓桿構(gòu)成具有穩(wěn)定體積的力網(wǎng)絡(luò)結(jié)構(gòu)[5,6]。其中,彈性拉索僅承受拉力,而剛性壓桿僅承受壓力。該結(jié)構(gòu)最早應(yīng)用在藝術(shù)、建筑、土木等領(lǐng)域,例如穹頂[7]、橋梁等。隨后又被生物學(xué)家用來描述細(xì)胞骨架[8]以及動(dòng)物肌肉骨骼[9]等。在工程方面,由于該結(jié)構(gòu)具有展開性,可用于反射天線的結(jié)構(gòu)設(shè)計(jì)[10]。
張拉整體結(jié)構(gòu)首次由Paul等人[11]提出,他們研制了3壓桿和4壓桿張拉整體機(jī)器人,對(duì)蠕動(dòng)步態(tài)進(jìn)行了研究,表明張拉整體機(jī)器人具有容錯(cuò)性。由于6桿張拉整體機(jī)器人結(jié)構(gòu)相對(duì)簡(jiǎn)單且能實(shí)現(xiàn)多種步態(tài),因此眾多研究人員對(duì)其展開研究。日本立命館大學(xué)[12]提出了基于氣動(dòng)人工肌肉的6桿張拉整體機(jī)器人,并對(duì)其初步形態(tài)以及滾動(dòng)步態(tài)進(jìn)行了研究。美國(guó)航空航天局(NASA)[13,14]、哈爾濱工程大學(xué)[15]等機(jī)構(gòu)對(duì)張拉整體機(jī)器人的結(jié)構(gòu)以及步態(tài)展開了相關(guān)研究,且均在平坦地形下展開研究,而對(duì)于張拉整體機(jī)器人在斜坡上的運(yùn)動(dòng)研究較少。中國(guó)科學(xué)院沈陽自動(dòng)化研究所[16]分析了6桿張拉整體機(jī)器人位于斜坡上的一種低重心的構(gòu)型,可避免機(jī)器人向下滾落的情況。加州伯克利大學(xué)[17]通過改變致動(dòng)器的數(shù)量對(duì)機(jī)器人在斜坡上的滾動(dòng)進(jìn)行研究,可分別有效實(shí)現(xiàn)適合機(jī)器人在傾斜表面運(yùn)動(dòng)和提升運(yùn)動(dòng)速度,并利用仿真和物理實(shí)驗(yàn)進(jìn)行了相關(guān)驗(yàn)證,但是并未對(duì)機(jī)器人與坡度的關(guān)系進(jìn)行研究。本文首先對(duì)張拉整體機(jī)器人進(jìn)行數(shù)學(xué)建模,隨后對(duì)其臨界翻滾角度進(jìn)行分析,最后利用open dynamic engine (ODE)仿真平臺(tái)對(duì)機(jī)器人建模并進(jìn)行了仿真和實(shí)驗(yàn)。
該機(jī)器人為第2代電驅(qū)動(dòng)張拉整體機(jī)器人(見圖1),一共包含6根中空的鋁桿和24條彈性拉索。其中,鋁桿長(zhǎng)為650 mm,外徑為30 mm,內(nèi)徑為28 mm,它的每一端都設(shè)計(jì)了一個(gè)空心方塊體(見圖2),具體尺寸為80 mm×80 mm×120 mm,壁厚為1 mm,用來保護(hù)2個(gè)舵機(jī)及控制單元。中空的鋁桿中放置1塊鋰電池,為舵機(jī)及控制單元供電。在方塊體上添加一個(gè)半球形泡沫塑料使機(jī)器人始終與地面保持接觸,同時(shí)還能增加與地面的摩擦力。彈性拉索(見圖3)是由彈簧和剛性繩索組成,通過動(dòng)滑輪進(jìn)行連接,這樣的設(shè)計(jì)使得作用在彈性拉索的力變?yōu)槎鏅C(jī)輸出力的2倍。此外,掛有螺母的繩索與舵盤相連,另一根繩索固定在方塊體上。
圖1 6桿張拉整體機(jī)器人樣機(jī)
圖2 空心方塊體
圖3 拉索組成構(gòu)件
6桿張拉整體機(jī)器人是基于張拉整體結(jié)構(gòu)組成的,因此,可首先描述該結(jié)構(gòu)的數(shù)學(xué)模型。6桿張拉整體結(jié)構(gòu)有6根壓桿和24個(gè)彈性拉索,如圖4所示,對(duì)節(jié)點(diǎn)進(jìn)行編號(hào)。其中,細(xì)黑線表示彈性拉索成員,粗線表示壓桿成員。
由圖4可知,張拉整體結(jié)構(gòu)有12個(gè)節(jié)點(diǎn)。在圖示坐標(biāo)系中,對(duì)于第i個(gè)節(jié)點(diǎn),可表示為
圖4 6桿張拉整體結(jié)構(gòu)
ni=[xi,yi,zi]Ti=1,2,…,12
(1)
張拉整體結(jié)構(gòu)可通過節(jié)點(diǎn)表示出來,其暗含了壓桿和彈性拉索的長(zhǎng)度以及相鄰壓桿與彈性拉索的角度等信息。
對(duì)于張拉整體結(jié)構(gòu),壓桿和彈性拉索通過節(jié)點(diǎn)相互連接,因此均可由節(jié)點(diǎn)坐標(biāo)進(jìn)行表示。結(jié)構(gòu)中的第p個(gè)壓桿成員定義為bp,可表示為
bp=n2p-n2p-1p=1,…,6
(2)
取結(jié)構(gòu)中第k個(gè)彈性拉索成員為sk,該彈性拉索的2個(gè)節(jié)點(diǎn)分別為njk和nik,該拉索可表示為
sk=njk-nikk=1,…,24
(3)
其中ik和jk的值見表1。
表1 ik和jk的取值
由式(1)~(3)可分別得到張拉整體結(jié)構(gòu)的節(jié)點(diǎn)矩陣N、壓桿成員矩陣B、彈性拉索成員矩陣S。
N=[n1, …,n12]
B=[b1, …,b6]
S=[s1, …,s24]
(4)
張拉整體結(jié)構(gòu)的整個(gè)成員矩陣可寫為
M=[B,S]
(5)
為了建立結(jié)構(gòu)的節(jié)點(diǎn)矩陣與成員矩陣之間的關(guān)系,引入了連接矩陣。連接矩陣的每一行表示一個(gè)成員與所有節(jié)點(diǎn)之間的關(guān)系。連接矩陣的每個(gè)值可以通過式(2)和式(3)得到。連接矩陣中的元素只包括-1,0和1?!?”代表節(jié)點(diǎn)不是該成員的端點(diǎn),“1”代表節(jié)點(diǎn)為成員向量的終止點(diǎn),“-1”表示節(jié)點(diǎn)為該成員向量的初始節(jié)點(diǎn)。
由于張拉整體結(jié)構(gòu)由壓桿和彈性拉索組成,因此連接矩陣可以描述為
C=[CB;CS]
(6)
其中,C為張拉整體結(jié)構(gòu)的連接矩陣,CB和CS分別為壓桿和彈性拉索的連接矩陣。
由此,根據(jù)連接矩陣的定義,可得到如下等式:
M=NCT
(7)
至此,建立起張拉整體機(jī)器人的數(shù)學(xué)模型。
機(jī)器人重心與底邊三角形投影的關(guān)系可分為2種情況,如圖5所示。其中,G為張拉整體機(jī)器人的重心,G′為機(jī)器人重心的投影,ijk為底邊接觸的三角形,帶有顏色的區(qū)域?yàn)榈走吶切卧谒矫娴耐队?。?dāng)重心的水平面投影在底邊三角形的水平面投影區(qū)域時(shí),機(jī)器人處于穩(wěn)定狀態(tài),如圖5(a)所示。反之,將發(fā)生滾動(dòng),如圖5(b)所示。
(a) 穩(wěn)定狀態(tài) (b) 滾動(dòng)狀態(tài)
依據(jù)滾動(dòng)原則,利用Matlab圖形用戶界面(GUI)設(shè)計(jì)了張拉整體機(jī)器人人機(jī)交互界面,如圖6所示。
圖6 張拉整體機(jī)器人人機(jī)交互界面
首先可選擇與坡面接觸的三角形類型,之后通過輸入斜坡的角度Theta和機(jī)器人繞Z軸旋轉(zhuǎn)的角度Beta,點(diǎn)擊“Plot”,生成張拉整體機(jī)器人的結(jié)構(gòu)3維圖以及重心與坡面接觸三角形的3維圖。
張拉整體機(jī)器人由于坡度以及擺放姿態(tài)的角度不同,其重心會(huì)發(fā)生變化。當(dāng)斜坡的角度達(dá)到臨界坡度時(shí),無論機(jī)器人擺放何種姿態(tài),機(jī)器人都能穩(wěn)定在斜坡上,即要保證機(jī)器人的重心位于底邊三角形在水平面的投影區(qū)域內(nèi)。
對(duì)于張拉整體機(jī)器人來說,有2種初始狀態(tài):
(1) 機(jī)器人與坡面接觸為RT三角形
當(dāng)機(jī)器人與坡面接觸的三角形為RT179時(shí),如圖7(a)所示,坐標(biāo)軸下標(biāo)為w的表示基坐標(biāo)系,下標(biāo)為b的表示體坐標(biāo)系,θ為坡度,β為Xb與Xw的夾角,且逆時(shí)針旋轉(zhuǎn),a為2個(gè)坐標(biāo)系原點(diǎn)在水平面的距離。此時(shí),機(jī)器人關(guān)于軸對(duì)稱,因此,β的取值范圍為0~120 °,為逆時(shí)針旋轉(zhuǎn)。
(a) 底邊為RT179
(b) 底邊為IT137
通過在張拉整體機(jī)器人人機(jī)界面輸入不同的θ和β,可得到張拉整體機(jī)器人的不同位姿,觀察機(jī)器人重心的位置。經(jīng)過反復(fù)計(jì)算可知,底邊為RT179時(shí),機(jī)器人臨界翻滾坡度在22 °左右, 其中,β值為旋轉(zhuǎn)80~90 °時(shí),機(jī)器人的重心的水平面投影靠近17邊的水平面投影,故機(jī)器人有沿底邊17翻滾的趨勢(shì)。
(2) 機(jī)器人與坡面接觸為IT三角形
當(dāng)機(jī)器人與坡面接觸的三角形為IT137時(shí),如圖7 (b)所示,坐標(biāo)軸下標(biāo)為w的表示基坐標(biāo)系,下標(biāo)為b的表示體坐標(biāo)系,θ為坡度,β為Xb與Xw的夾角,a為2個(gè)坐標(biāo)系原點(diǎn)在水平面的距離。此時(shí),機(jī)器人關(guān)于平面對(duì)稱,因此,β的取值范圍為-90~90 °,且為逆時(shí)針旋轉(zhuǎn)。
分析方法同RT179,利用張拉整體機(jī)器人人機(jī)界面可得,底邊為IT137時(shí),機(jī)器人臨界翻滾坡度在17 °左右, 其中,β值為5~45 °時(shí),機(jī)器人的重心的水平面投影靠近17邊的水平面投影,機(jī)器人有沿底邊17翻滾的趨勢(shì)。
ODE是一個(gè)免費(fèi)的具有工業(yè)品質(zhì)的動(dòng)力學(xué)仿真平臺(tái)。該平臺(tái)可以模擬真實(shí)環(huán)境下物體的動(dòng)力學(xué)。在該平臺(tái)建立的物體包括2部分:body和geom。其中,body包括物體的位姿和材料參數(shù)(例如密度、質(zhì)量)等;geom包括物體的形狀參數(shù),例如直徑、長(zhǎng)度、位姿信息。相比于ADAMS來說,只需要改變機(jī)器人的位姿便可對(duì)機(jī)器人展開研究。對(duì)于張拉整體機(jī)器人(見圖8),壓桿采用兩頭為半球形的實(shí)心構(gòu)件來模擬真實(shí)的桿件,彈性拉索簡(jiǎn)化為2個(gè)萬向關(guān)節(jié),通過滑移關(guān)節(jié)進(jìn)行連接來模擬彈簧的伸縮。壓桿和彈性拉索的連接采用萬向節(jié)。ODE仿真過程如圖9所示。由于彈性拉索的質(zhì)量遠(yuǎn)小于壓桿的質(zhì)量,因此,可以忽略彈性拉索的質(zhì)量。機(jī)器人在ODE中建模的其余結(jié)構(gòu)參數(shù)見表2。
圖8 張拉整體機(jī)器人仿真模型
圖9 ODE仿真過程
表2 張拉整體機(jī)器人構(gòu)件參數(shù)
隨后,通過式(8)進(jìn)行齊次變換,建立坐標(biāo)系,如圖10所示。
(a) 底邊三角形為RT179
(b) 底邊三角形為IT137
(8)
隨后,改變?chǔ)群挺碌闹担傻玫饺缦陆Y(jié)果:
(1) 底邊為RT179時(shí),無論β取何值都能穩(wěn)定在斜坡上的臨界翻滾坡度為18 °。其中,β值為80~90 °時(shí),機(jī)器人開始出現(xiàn)不穩(wěn)定狀態(tài),有沿邊17翻滾的跡象,這與Matlab計(jì)算得到的結(jié)果一致。
(2) 底邊為IT137時(shí),無論β取何值都能穩(wěn)定在斜坡上的臨界翻滾坡度為14 °,而且β取值為5~45 °時(shí),機(jī)器人有沿邊17翻滾的跡象,與Matlab計(jì)算的結(jié)果一致。
可以看出,ODE仿真結(jié)果與Matlab的計(jì)算結(jié)果有差異,這是由于機(jī)器人在ODE仿真平臺(tái)中壓桿的末端為半球形結(jié)構(gòu),導(dǎo)致拉索變短,使得機(jī)器人的重心略有前傾,導(dǎo)致與理論值有所差別。
為了驗(yàn)證上述仿真結(jié)果的正確性,搭建了實(shí)驗(yàn)平臺(tái),如圖11所示。其中,數(shù)顯傾角儀可以顯示坡度值,分辨率為0.1 °。海綿墊是為了增大機(jī)器人與坡面的摩擦力。
圖11 實(shí)驗(yàn)平臺(tái)搭建
通過反復(fù)進(jìn)行實(shí)驗(yàn),發(fā)現(xiàn)張拉整體機(jī)器人底邊三角形為RT時(shí),機(jī)器人可以穩(wěn)定在坡度17.8 °左右,見圖12。底邊三角形為IT時(shí),機(jī)器人的臨界翻滾坡度為14.7 °左右,見圖13。由此可知實(shí)驗(yàn)結(jié)果與仿真結(jié)果相近驗(yàn)證了建立的仿真模型的正確性。
本文首先對(duì)6桿張拉整體機(jī)器人結(jié)構(gòu)進(jìn)行了描述和數(shù)學(xué)建模。隨后利用Matlab軟件和ODE仿真平臺(tái)對(duì)6桿張拉整體機(jī)器人建立張拉整體機(jī)器人的仿真模型,并根據(jù)翻滾原則對(duì)臨界翻滾坡度進(jìn)行了分析,最后搭建實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)驗(yàn),將仿真結(jié)果和實(shí)驗(yàn)結(jié)果進(jìn)行了對(duì)比,驗(yàn)證了臨界翻滾坡度仿真結(jié)果的正確性和仿真模型的合理性。本文的主要貢獻(xiàn)包括:
圖12 底邊三角形為RT
圖13 底邊三角形為IT
(1) 建立了張拉整體機(jī)器人的數(shù)學(xué)模型,并設(shè)計(jì)了張拉整體機(jī)器人的人機(jī)界面,通過輸入?yún)?shù),可以獲得機(jī)器人的位姿以及重心的位置。
(2) 利用ODE動(dòng)力學(xué)平臺(tái)建立了仿真模型,對(duì)機(jī)器人處于靜態(tài)坡面的情形進(jìn)行了研究,確定了機(jī)器人的臨界翻滾坡度,并通過實(shí)驗(yàn)進(jìn)行了驗(yàn)證。
未來將利用ODE仿真平臺(tái)建立的機(jī)器人仿真模型對(duì)張拉機(jī)器人的動(dòng)力學(xué)以及斜坡滾動(dòng)方向展開研究。