張強(qiáng)強(qiáng), 許 勇, 趙傳森, 董 飛, 王 艷
(上海工程技術(shù)大學(xué) 機(jī)械與汽車(chē)工程學(xué)院, 上海 201620)
機(jī)器人技術(shù)與生物特征的結(jié)合,極大地促進(jìn)了彈跳機(jī)器人行業(yè)的發(fā)展。越來(lái)越多的人熱衷于仿生機(jī)器人,根據(jù)動(dòng)物身體結(jié)構(gòu)、運(yùn)動(dòng)特性,設(shè)計(jì)出更多性能優(yōu)良的機(jī)器人[1]。運(yùn)動(dòng)有多種方式,彈跳運(yùn)動(dòng)只是其中一種類(lèi)型的運(yùn)動(dòng),彈跳機(jī)器人具有運(yùn)動(dòng)能力強(qiáng)、運(yùn)動(dòng)面廣、避障能力強(qiáng)等特點(diǎn)[2]。
1986年,麻省理工大學(xué)Raibert提出了最早的單腿彈跳機(jī)構(gòu)[3-4],該機(jī)構(gòu)有2個(gè)自由度:1個(gè)移動(dòng)自由度和1個(gè)轉(zhuǎn)動(dòng)自由度。美國(guó)國(guó)家航空和航天局(NASA)發(fā)明了仿青蛙的彈跳機(jī)構(gòu),最大跳躍高度可達(dá)1.8 m[5]。2000年,美國(guó)明尼蘇達(dá)大學(xué)研制出了一種彈跳機(jī)器人,由安在機(jī)器人腿內(nèi)的彈簧機(jī)構(gòu)給機(jī)器人提供跳躍動(dòng)力,屬于單腿跳動(dòng),它可以跳過(guò)小的障礙物,也可以爬樓梯[6]8。2012年,瑞士Leavitt的設(shè)計(jì)了一種仿蚱蜢彈跳機(jī)器人[7],它的起跳角和起跳力可以變化,跳躍性能優(yōu)良。東京工業(yè)大學(xué)的Tsukagoshi等研制了氣缸式高空跳傘機(jī)器人[8],通過(guò)研究彈跳高度與筒體受壓面積的關(guān)系,對(duì)彈跳機(jī)器人本身結(jié)構(gòu)和質(zhì)量進(jìn)行了優(yōu)化設(shè)計(jì)。
2006年,哈爾濱工業(yè)大學(xué)的余杭杞研制的4足彈跳機(jī)器人,有2套樣機(jī)模型,但是在能量的利用方面不足,沒(méi)有自主調(diào)節(jié)起跳角的功能[9]。2007年,陳勇等研究了仿蝗蟲(chóng)彈跳機(jī)器人的運(yùn)動(dòng)學(xué)參數(shù)及受力變化,優(yōu)化機(jī)構(gòu)的結(jié)構(gòu)參數(shù)[10];2011年,哈爾濱工程大學(xué)陳東良等通過(guò)對(duì)蝗蟲(chóng)跳躍機(jī)理及蝗蟲(chóng)腿部特性的研究[11],設(shè)計(jì)了彈跳腿機(jī)構(gòu),分析了該模型的機(jī)構(gòu)學(xué)和力學(xué)特性。2012年,盧松明等設(shè)計(jì)了一種具花瓣型結(jié)構(gòu)的機(jī)器人仿生腳掌結(jié)構(gòu),分析了花瓣數(shù)目與腳掌抓地性能之間的關(guān)系[12];2015年,陳殿生等對(duì)仿蝗蟲(chóng)機(jī)構(gòu)落地過(guò)程中的能量分配進(jìn)行了研究,得到地面對(duì)機(jī)構(gòu)彈跳腿的支撐力與彈簧剛度系數(shù)之間的函數(shù)[13];2016年,長(zhǎng)春理工大學(xué)徐成宇等[14]以基圓半徑最小作為優(yōu)化目標(biāo),設(shè)計(jì)了仿蝗蟲(chóng)彈跳機(jī)器人后腿機(jī)構(gòu)尺寸,減小了動(dòng)力凸輪體積。2016年,陳科位等[15]證明了蝗蟲(chóng)的翅膀?qū)ζ淇罩凶藨B(tài)具有調(diào)節(jié)作用;2018年,王寰等[16]設(shè)計(jì)了的仿蝗蟲(chóng)機(jī)器人可實(shí)現(xiàn)連續(xù)跳躍。
課題組以蝗蟲(chóng)腿部機(jī)理為基礎(chǔ),以單自由度的Stephenson Ⅱ型平面6桿機(jī)構(gòu)為研究對(duì)象,針對(duì)彈跳機(jī)構(gòu)的穩(wěn)定性做了分析與驗(yàn)證。采用閉環(huán)矢量方程對(duì)機(jī)構(gòu)進(jìn)行了運(yùn)動(dòng)學(xué)分析,利用多目標(biāo)優(yōu)化算法求解各個(gè)桿長(zhǎng);對(duì)6桿彈跳機(jī)構(gòu)的起跳階段做了運(yùn)動(dòng)學(xué)穩(wěn)定性分析,確定了彈跳機(jī)構(gòu)的起跳角度的計(jì)算方法;用慣性矩與MATLAB函數(shù)求解對(duì)機(jī)構(gòu)的動(dòng)態(tài)穩(wěn)定性做了研究,使機(jī)構(gòu)起跳更加穩(wěn)定。最后還做了實(shí)例驗(yàn)證,證明本機(jī)構(gòu)具有好的穩(wěn)定性。
蝗蟲(chóng)依靠腿部帶動(dòng)軀體,而腿部則主要由跗足、脛骨與股骨構(gòu)成,相鄰2部分由關(guān)節(jié)連接,如圖1所示。當(dāng)發(fā)達(dá)的后足在瞬間快速向后擺動(dòng),使得原本貼近脛節(jié)的腿節(jié)驟然伸直,此時(shí)跗足下的支撐平面會(huì)對(duì)蝗蟲(chóng)產(chǎn)生巨大反作用力,借此蝗蟲(chóng)身體便可騰空躍起完成跳躍運(yùn)動(dòng)。
圖1 蝗蟲(chóng)身體結(jié)構(gòu)Figure 1 Body structure of locust
通過(guò)對(duì)蝗蟲(chóng)腿部結(jié)構(gòu)的認(rèn)知,課題組提出了一種單自由度6桿彈跳腿機(jī)構(gòu),如圖2所示。其中A,B,C,D,E,F(xiàn),G和H為鉸鏈中心,H點(diǎn)為機(jī)構(gòu)與地面接觸點(diǎn)。桿AB連接的是蝗蟲(chóng)的軀干,記為構(gòu)件1;B點(diǎn)處安裝彈性串聯(lián)驅(qū)動(dòng)器,三角形BCD是6桿腿機(jī)構(gòu)的大腿,記為構(gòu)件2;連桿CG、連桿AF、連桿DE依次是彈跳腿機(jī)構(gòu)的輔助構(gòu)件,分別記為構(gòu)件3、構(gòu)件4和構(gòu)件5;四邊形EFGH是彈跳腿機(jī)構(gòu)的小腿,記為構(gòu)件6。
圖2 6桿彈跳腿機(jī)構(gòu)示意Figure 2 Schematic diagram of six bar spring leg mechanism
將6桿彈跳腿機(jī)構(gòu)放置在直角坐標(biāo)系O-XY中,如圖3所示。li(i=1,2,…,6)是6桿彈跳機(jī)構(gòu)的每個(gè)桿的長(zhǎng)度,lhj(j=1,2,3,4)是彈跳腿機(jī)構(gòu)的小腿EFGH的邊長(zhǎng)。
圖3 6桿彈跳腿矢量分析Figure 3 Vector analysis diagram of six leg bouncing leg
等效于蝗蟲(chóng)的脛骨,βi(i=1,2,…,4)是彈跳機(jī)構(gòu)的各個(gè)連桿和X軸正方向之間的夾角,βh是EH與X軸正方向的夾角,γ1是桿BC與X軸正方向的夾角。
首先對(duì)6桿彈跳腿機(jī)構(gòu)進(jìn)行運(yùn)動(dòng)學(xué)分析,建立如下的閉環(huán)矢量方程。
(1)
式(1)中的每個(gè)表達(dá)式表示1個(gè)閉環(huán),3個(gè)閉環(huán)方程確定6桿機(jī)構(gòu)的所有參數(shù)。每個(gè)向量方程都可以投影到X和Y軸上,通過(guò)各個(gè)桿長(zhǎng)和每個(gè)點(diǎn)坐標(biāo)以及之間的位置關(guān)系,將式(1)轉(zhuǎn)化為標(biāo)量方程。
(2)
為了方便方程的表述,定義如下中間變量:
Q11=-2(yH-yA);Q21=-2(xH-xA);Q31=(xH-xA)2+(yH-yA)2;
Q12=2(yH-l2sinβ4-yB);Q22=2(xH-l2cosβ4-xB);
Q32=(xH-l2cosβ4-xB)2-(yH-l2sinβ4-yB)2;
Q13=2(yH-l3sin (βh+γ1)-yB);Q23=2(xH-l3cos (βh+γ1)-xB);
Q33=(xH-l3cos (βh+γ1)-xB)2+(yH-l3sin (βh+γ1)-yB)2。
式中:(xA,yA),(xB,yB)和(xH,yH)分別是點(diǎn)A、點(diǎn)B和點(diǎn)H的坐標(biāo)。對(duì)式(2)進(jìn)行函數(shù)化,可以寫(xiě)成
(3)
式中:βh,γ1和β4可視為已知值,點(diǎn)A和點(diǎn)B的坐標(biāo)已知。
式(3)表示未知數(shù)為li(i=1,2,…,6)、lhj(j=1,3,4)、βk(k=5,6),方程的數(shù)目超過(guò)未知數(shù)的數(shù)目,所以采用多目標(biāo)優(yōu)化方法——NSGA-Ⅱ算法(一種基于Pareto最優(yōu)解的多目標(biāo)優(yōu)化算法),目標(biāo)函數(shù)可以表示為
(4)
式中λj是權(quán)重系數(shù)。當(dāng)目標(biāo)函數(shù)的絕對(duì)值最小化,機(jī)構(gòu)的運(yùn)動(dòng)穩(wěn)定性更好。
在起飛過(guò)程中,6桿機(jī)構(gòu)彈跳腿的示意圖如圖4所示。以H為坐標(biāo)原點(diǎn)建立了H-XHYH坐標(biāo)系,XH軸的正方向是水平向右,YH軸的正方向是垂直向上。假設(shè)圖4中Mo為此機(jī)構(gòu)的質(zhì)心點(diǎn),在6桿彈跳腿機(jī)構(gòu)中轉(zhuǎn)動(dòng)副A,E,G角度變化較大,所以在這3個(gè)位置安裝扭矩彈簧。在起飛過(guò)程中,彈跳腿機(jī)構(gòu)繞著觸地點(diǎn)H點(diǎn)旋轉(zhuǎn),此處可以簡(jiǎn)化為一個(gè)形心為點(diǎn)H的旋轉(zhuǎn)副。
圖4 6桿彈跳腿質(zhì)心圖Figure 4 Centroid diagram of six leg bouncing leg
確定質(zhì)心的初始位置后(xMo,yMo),即在起飛過(guò)程中質(zhì)心的運(yùn)動(dòng)軌跡也被確定。起飛方向角Φ,也就是彈跳腿機(jī)構(gòu)的蹬地產(chǎn)生的反作用力和XH軸正方向之間的夾角,經(jīng)推導(dǎo)得
(5)
式中:m是機(jī)器人的質(zhì)量。(FAx,F(xiàn)Ay)和(FBx,F(xiàn)By)是6桿彈跳腿機(jī)構(gòu)在起跳過(guò)程中,點(diǎn)A和點(diǎn)B受到的力在XH軸和YH軸方向的分量。
因?yàn)閺椞葯C(jī)構(gòu)相互連接,所以每個(gè)連桿都受到與之相連的其它連桿的力Fi的作用。此外,連桿可能受到扭矩彈簧Msi的作用,并可能受到外力Fti的作用。力和力矩平衡方程為:
(6)
(7)
其中r是位置向量。具體來(lái)說(shuō),F(xiàn)ti表示軀干的等效起飛力。為了求解FA和FB,需要計(jì)算彈跳腿在初始狀態(tài)下的姿態(tài)角。在固定坐標(biāo)系H-XHYH下,質(zhì)心MO的矢量方程表示為
HG+GC+CB+BMO=HMO。
(8)
MO是初始狀態(tài)下質(zhì)心的位置點(diǎn),它是已知值,因此式(8)可以重寫(xiě)為
(9)
其中:
(10)
式(10)的第1個(gè)表達(dá)式可以投射到XH軸和YH軸上,可以寫(xiě)成:
(11)
式中:δt1是DC和BC之間的角度,可通過(guò)使用三角形BCD的余弦定理獲得;θ1是連桿ED相對(duì)于連桿CG的角度。在式(11)中有3個(gè)未知數(shù),即θ1,α3和α4。式(10)中第2個(gè)表達(dá)式可以寫(xiě)成:
(12)
式中:βt1=θ2-π+δt2+δt3+α5;βt2=π-2α4-2δt1+α3-θ1;θ2=π-α4-δt1-δt4;δt2是BC和BD之間的夾角;δt3是AB和AMO的夾角;δt4是CD和BD之間的夾角。
利用三角形BCD和ABMO的余弦定理可以得到δt2,δt3和δt4。θ2是連桿BD和DE之間的角度,θ3是連桿AF和連桿DE之間的角度。根據(jù)式(11)和(12),α5和α4可以由α3,θ1和θ3來(lái)表示,此時(shí),α1和α3是未知數(shù)。
通過(guò)式(9),可以得到彈跳腿在初始狀態(tài)下的姿態(tài);FA和FB可以通過(guò)式(7) 和(8)得到;起飛方向可用式(6)求解。在起飛過(guò)程中,6桿彈跳腿機(jī)構(gòu)的質(zhì)心是起飛方向線(xiàn)上的一系列點(diǎn),并且(xMO,yMO)可替換為式(9)中的(xMOi,yMOi)。基于以上分析,彈跳機(jī)器人軀干AB的姿態(tài)可以表示為
fAB=|αt-αt0|。
(13)
式中:αt=α1-α2-α3-α4-α5。αt是AMO和XH軸之間的角度,αt0是初始狀態(tài)下的αt。fAB應(yīng)在允許值范圍內(nèi),以保持運(yùn)動(dòng)穩(wěn)定性,并可寫(xiě)為
|fAB|≤|Δα|。
(14)
式中α為最大允許角度,可根據(jù)實(shí)際情況確定。
考慮到機(jī)器人軀干姿態(tài)變化較小,機(jī)器人軀干的角加速度不隨時(shí)間的增加而明顯增大,接近于零,這樣就能保證機(jī)構(gòu)運(yùn)動(dòng)的穩(wěn)定性。
通過(guò)對(duì)確定的機(jī)構(gòu)構(gòu)型和各連桿的長(zhǎng)度進(jìn)行動(dòng)態(tài)穩(wěn)定性分析,可以確定質(zhì)心的位置??紤]到各連桿的速度和加速度對(duì)動(dòng)穩(wěn)定性的影響,課題組采用總慣性矩來(lái)確定動(dòng)態(tài)穩(wěn)定性??倯T性矩可以寫(xiě)成:
(15)
式中:Fci和Ici分別是各連桿的慣性力和慣性矩,r為力的位置矢量,可以通過(guò)運(yùn)動(dòng)學(xué)分析得到;rij×Fci表示每個(gè)連桿到機(jī)器人質(zhì)心的慣性力矩。
(16)
第i個(gè)連桿的質(zhì)心速度可以寫(xiě)為
(17)
式中:vxi和vyi分別是第i個(gè)連桿的質(zhì)心沿XH軸和YH軸方向的分速度,Jvi是速度系數(shù)矩陣。
此時(shí),每個(gè)連桿的角速度和角加速度可使用以下公式獲得:
v2i=v1i+ωi×Li;
(18)
(19)
彈跳腿機(jī)構(gòu)的勢(shì)能包括各連桿的重力勢(shì)能和彈性勢(shì)能,可以表示為
(20)
式中:Δα3是關(guān)節(jié)點(diǎn)G的角度變化,kG是扭矩彈簧的剛度系數(shù),mi是每個(gè)連桿的質(zhì)量,hi是固定坐標(biāo)系中每個(gè)連桿的質(zhì)心高度。
每個(gè)連桿的長(zhǎng)度已知,每個(gè)連桿的位置和姿態(tài)可以用α3來(lái)表示。式(20)可另寫(xiě)為
(21)
彈跳腿機(jī)構(gòu)的總動(dòng)能可以表示為
(22)
(23)
扭矩彈簧的能量損失和扭矩彈簧的阻尼與各連桿的速度有關(guān)。它可以表示為
(24)
式中CG是扭矩彈簧的阻尼。根據(jù)式(20)和式(24),拉格朗日動(dòng)力學(xué)方程可以寫(xiě)為
(25)
動(dòng)力分析中未考慮能量損失,因?yàn)槠痫w過(guò)程僅為彈簧的1/4周期。此時(shí),動(dòng)力學(xué)方程可以寫(xiě)成:
(26)
其他關(guān)節(jié)角可用α3表示,但1階和2階導(dǎo)數(shù)的表達(dá)式非常復(fù)雜。課題組采用多項(xiàng)式擬合法,式(26)可被簡(jiǎn)化為
(27)
(28)
當(dāng)確定了連桿、扭矩彈簧的剛度系數(shù)和機(jī)構(gòu)各連桿的質(zhì)量,影響總慣性矩的主要參數(shù)就是質(zhì)心的位置。根據(jù)上述分析,總慣性矩I的均值和方差應(yīng)該在允許的范圍內(nèi)。約束條件可以寫(xiě)成
(29)
式中:E(I)和D(I)分別是總慣性矩I的均值和方差;M(|I|)END是起飛階段末端的慣性矩;MIE,MID和MIEnd是允許的范圍值。
為了確保彈跳機(jī)構(gòu)正常起跳,保持良好的動(dòng)態(tài)穩(wěn)定性,應(yīng)滿(mǎn)足以下約束條件:
(30)
式中:αx0和αy0是初始狀態(tài)的加速度沿XH軸和YH軸的分量;E(αx)和E(αy)是平均加速度;Ax(Ax0)和Ay(Ay0)是加速度的最小值。
基于彈跳穩(wěn)定性的機(jī)構(gòu)設(shè)計(jì)流程如圖5所示。在確定彈跳機(jī)構(gòu)后,根據(jù)運(yùn)動(dòng)學(xué)穩(wěn)定性確定各連桿的長(zhǎng)度,并驗(yàn)證彈跳機(jī)構(gòu)軀干姿態(tài)在起飛過(guò)程中是否滿(mǎn)足要求。當(dāng)彈跳機(jī)構(gòu)不滿(mǎn)足要求時(shí),H點(diǎn)的坐標(biāo)(xHi,yHi)和βHi之間的對(duì)應(yīng)關(guān)系在小范圍內(nèi)發(fā)生變化。在此基礎(chǔ)上,確定彈跳機(jī)構(gòu)的質(zhì)心位置,使總慣性矩的均值和方差滿(mǎn)足機(jī)器人正常起飛的約束條件。
圖5 基于跳躍穩(wěn)定性的機(jī)構(gòu)設(shè)計(jì)流程圖Figure 5 Flow chart of mechanism design based on jumping stability
在運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)穩(wěn)定性分析的基礎(chǔ)上,進(jìn)行了綜合優(yōu)化分析。在滿(mǎn)足要求的前提下,將各連桿的長(zhǎng)度參數(shù)和質(zhì)心位置調(diào)整到較小范圍內(nèi),式(14)和式(29)使其綜合穩(wěn)定性得到優(yōu)化,目標(biāo)函數(shù)可以表示為
Y={|fAB|E(I)D(I)M(|I|)END}。
(31)
假設(shè)連桿BC和CD的夾角γ1=47°,β4變化范圍為25°~63°,彈跳機(jī)構(gòu)的質(zhì)心相對(duì)位置定義為a=b=AB,扭矩彈簧的剛度系數(shù)為0.025 N·m/rad。6桿彈跳腿機(jī)構(gòu)各個(gè)連桿長(zhǎng)度如表1所示。桿彈跳腿機(jī)構(gòu)起飛過(guò)程中初始、中間和最終狀態(tài)如圖6所示。
表1 6桿彈跳腿的機(jī)構(gòu)參數(shù)Table 1 Mechanism parameters of six bar leg jumping mm
圖6 彈跳腿機(jī)構(gòu)起跳過(guò)程Figure 6 Take off process of spring leg mechanism
6桿彈跳腿機(jī)構(gòu)中連桿HG和GC的初始狀態(tài)與最終狀態(tài)的角度變化約為61.51°,在起跳過(guò)程中,尖端軌跡H點(diǎn)始終在一條直線(xiàn)上。
根據(jù)式(5)得到彈跳腿機(jī)構(gòu)的起飛方向角為42.55°,彈跳腿機(jī)構(gòu)所帶動(dòng)的軀體旋轉(zhuǎn)最大旋轉(zhuǎn)角為0.29°,此時(shí)β4的變化范圍為32.26°~58.97°,表明機(jī)器人在起飛過(guò)程中是很穩(wěn)定的,γ1和β4的選擇對(duì)機(jī)構(gòu)參數(shù)運(yùn)動(dòng)性能影響不大,說(shuō)明了初值選擇的可行性。
假設(shè)運(yùn)動(dòng)坐標(biāo)系Ot-XtYt的坐標(biāo)原點(diǎn)與連桿AB的中點(diǎn)重合,Yt軸的方向與連桿AB重合并指向A,Xt軸的方向垂直于Yt軸的方向如圖4所示。軀干質(zhì)量為0.15 kg,彈跳腿各連桿質(zhì)量為0.04 kg。
對(duì)于約束條件下的優(yōu)化問(wèn)題,采用MATLAB中的fmincon函數(shù)對(duì)此問(wèn)題進(jìn)行求解,目標(biāo)函數(shù)可以寫(xiě)成
fm=ρ1·E′[I(xm0,ymo)]+ρ2·D′[I(xm0,ymo)]。
(33)
式中,ρ1,ρ2表示比例系數(shù),且ρ1+ρ2=1。具體來(lái)說(shuō),均值和方差應(yīng)該是無(wú)量綱的,以確保數(shù)量級(jí)在相同的范圍內(nèi)。
假設(shè)ρ1=ρ2=0.5,目標(biāo)函數(shù)fm的最小值和最大值分別為(0.000 3,-0.005 0) m和(0.000 6,-0.002 0) m,在此條件下,6桿機(jī)構(gòu)彈跳腿機(jī)構(gòu)起飛過(guò)程中總慣性矩的變化如圖7所示。當(dāng)質(zhì)心目標(biāo)函數(shù)fm對(duì)應(yīng)最小值時(shí),總慣性矩I在0附近上下變化,機(jī)器人機(jī)構(gòu)起飛結(jié)束時(shí)fm對(duì)應(yīng)的數(shù)值接近于零。當(dāng)質(zhì)心目標(biāo)函數(shù)fm取最大值時(shí),總慣性矩I有較大的浮動(dòng),所以此6桿彈跳腿機(jī)構(gòu)在質(zhì)心目標(biāo)函數(shù)fm取最小值的時(shí)候有很好的動(dòng)態(tài)穩(wěn)定性。
圖7 起飛過(guò)程中總慣性矩的變化Figure 7 Change of total moment of inertia during take off
1) 根據(jù)蝗蟲(chóng)的腿部結(jié)構(gòu),課題組提出了一種基于彈跳穩(wěn)定性的6桿彈跳腿機(jī)構(gòu)。
2) 課題組運(yùn)用閉環(huán)矢量方程法對(duì)6桿彈跳腿機(jī)構(gòu)進(jìn)行運(yùn)動(dòng)學(xué)穩(wěn)定性分析,使用軀干的姿態(tài)作為目標(biāo)函數(shù),且基于多目標(biāo)標(biāo)優(yōu)化方法確定單自由度跳躍腿的各個(gè)連桿尺寸公式。
3) 針對(duì)6桿彈跳腿機(jī)構(gòu)的動(dòng)態(tài)穩(wěn)定性,課題組利用總慣性矩的方法,建立了彈跳腿機(jī)構(gòu)的動(dòng)力學(xué)模型,求出了確定機(jī)構(gòu)的質(zhì)心位置的方法,以此反映6桿彈跳機(jī)構(gòu)在起飛階段的穩(wěn)定性。
4) 課題組對(duì)6桿彈跳機(jī)構(gòu)的初始條件賦值,進(jìn)行計(jì)算驗(yàn)證,結(jié)果證明此彈跳機(jī)構(gòu)具有良好的穩(wěn)定性。