馬宗利, 馬慶營(yíng), 呂榮基, 王建明
(1.山東大學(xué) 高效潔凈機(jī)械制造教育部重點(diǎn)實(shí)驗(yàn)室, 山東 濟(jì)南 250061;2.山東大學(xué) 機(jī)械工程國(guó)家級(jí)實(shí)驗(yàn)教學(xué)示范中心, 山東 濟(jì)南 250061)
近年來(lái),四足機(jī)器人的奔跑研究日益引起許多學(xué)者的關(guān)注.高速奔跑能力將極大提高機(jī)器人在搜救、探險(xiǎn)、軍用等方面的應(yīng)用價(jià)值.而具有柔性脊椎的四足機(jī)器人的奔跑運(yùn)動(dòng)分析,作為仿生機(jī)器人研究的一部分,將推動(dòng)機(jī)器人學(xué)、仿生學(xué)等多方面的研究[1-10].
麻省理工學(xué)院仿生學(xué)機(jī)器人實(shí)驗(yàn)室設(shè)計(jì)的MIT cheetah機(jī)器人具有差分式柔順?lè)律怪凸趋兰‰鞐U件腿結(jié)構(gòu),通過(guò)差分器控制脊椎的上下彎曲,并將脊椎彎曲與髖關(guān)節(jié)轉(zhuǎn)動(dòng)耦合,可實(shí)現(xiàn)22 km/h的高速奔跑[11].德黑蘭大學(xué)的Khoramshahi等設(shè)計(jì)了一款具有柔性脊椎的四足機(jī)器人,其脊椎為一旋轉(zhuǎn)關(guān)節(jié),可上下旋轉(zhuǎn)35°.實(shí)驗(yàn)發(fā)現(xiàn)柔性脊椎可增大前后腿擺動(dòng)幅度,提高運(yùn)動(dòng)速度[12].
為提高奔跑性能,本文設(shè)計(jì)了一種具有柔性脊椎的四足機(jī)器人,其腿部采用緩沖結(jié)構(gòu).分析了此柔性脊椎模型對(duì)于奔跑步長(zhǎng)的影響,采用基于Hopf模型的CPG生物控制方法對(duì)機(jī)器人進(jìn)行bound步態(tài)的仿真,證實(shí)了具有柔性脊椎的四足機(jī)器人奔跑性能可顯著提高.
仿生四足動(dòng)物,設(shè)計(jì)一種具有柔性脊椎和緩沖腿結(jié)構(gòu)的四足機(jī)器人,如圖1所示.
四足機(jī)器人機(jī)體包括前機(jī)體和后機(jī)體兩個(gè)部分,前機(jī)體和后機(jī)體由柔性脊椎及其驅(qū)動(dòng)液壓缸連接.柔性脊椎由兩根有彈性的橡膠棒組成,兩根橡膠棒平行固定在前機(jī)體和后機(jī)體上.柔性脊椎正下方有一個(gè)驅(qū)動(dòng)液壓缸,該液壓缸的伸縮可使脊椎上下彎曲.
四足機(jī)器人腿部為緩沖式腿結(jié)構(gòu),每條腿具有3個(gè)自由度,即髖關(guān)節(jié)的俯仰自由度、膝關(guān)節(jié)的俯仰自由度和踝關(guān)節(jié)的俯仰自由度.其中踝關(guān)節(jié)為被動(dòng)關(guān)節(jié).此腿結(jié)構(gòu)的詳細(xì)描述和分析見(jiàn)文獻(xiàn)[2],在此不再重復(fù).四足機(jī)器人整體長(zhǎng)0.95 m,寬0.45 m,高0.95 m,脊椎長(zhǎng)0.55 m,總重約85 kg.四足機(jī)器人機(jī)體坐標(biāo)系見(jiàn)圖1.
為了提高四足機(jī)器人的奔跑性能,采用柔性脊椎有助于增大機(jī)器人奔跑時(shí)的步長(zhǎng)和提高機(jī)器人奔跑的穩(wěn)定性.圖2為四足機(jī)器人bound步態(tài)奔跑的示意圖.
當(dāng)脊椎驅(qū)動(dòng)液壓缸縮短時(shí),柔性脊椎會(huì)向上彎曲.當(dāng)脊椎驅(qū)動(dòng)液壓缸伸長(zhǎng)時(shí),柔性脊椎會(huì)向下彎曲.柔性脊椎的上下彎曲使前機(jī)體和后機(jī)體的位姿變化,從而導(dǎo)致足端的落足點(diǎn)位置產(chǎn)生變化,最終使步長(zhǎng)增加.
下面推導(dǎo)步長(zhǎng)的增加量.
圖3為柔性脊椎向上彎曲示意圖,可用于推導(dǎo)脊椎驅(qū)動(dòng)液壓缸伸縮量ΔL和前機(jī)體(后機(jī)體)轉(zhuǎn)角的關(guān)系.在初始狀態(tài)下,兩根橡膠棒平行固定在前機(jī)體和后機(jī)體上,且呈直線(xiàn)狀平行于地面.此時(shí),驅(qū)動(dòng)液壓缸的長(zhǎng)度與兩根平行橡膠棒的長(zhǎng)度均為L(zhǎng),橡膠棒在彎曲過(guò)程中總長(zhǎng)度保持不變.設(shè)脊椎彎曲過(guò)程中脊椎驅(qū)動(dòng)液壓缸長(zhǎng)度為L(zhǎng)′,收縮量為ΔL=L-L′,k為初始狀態(tài)下柔性脊椎和脊椎驅(qū)動(dòng)液壓缸之間的豎直距離,α為前機(jī)體(后機(jī)體)相對(duì)于初始位置的轉(zhuǎn)角.奔跑過(guò)程中,四足機(jī)器人的柔性脊椎對(duì)稱(chēng)彎曲,在脊椎彎曲撓度較小的情況下,可將脊椎彎曲近似視為一段圓弧,半徑為R.根據(jù)幾何關(guān)系可得
(1)
得出脊椎驅(qū)動(dòng)液壓缸的伸縮量ΔL和前機(jī)體(后機(jī)體)轉(zhuǎn)角α的關(guān)系如下:
(2)
圖4為前機(jī)體轉(zhuǎn)角α對(duì)步長(zhǎng)增加量S的影響示意圖.下面以前腿為例,推導(dǎo)前機(jī)體轉(zhuǎn)角α和步長(zhǎng)增加量S的關(guān)系.從脊椎上彎到脊椎下彎,前腿足端在前進(jìn)方向(x方向)的位移即增加的步長(zhǎng)量.圖4a的粗實(shí)線(xiàn)表示機(jī)器人的初始狀態(tài),圖4a虛線(xiàn)表示機(jī)器人脊椎上彎的狀態(tài).設(shè)從初始狀態(tài)到脊椎上彎的狀態(tài),脊椎驅(qū)動(dòng)液壓缸的伸縮量為ΔL1,引起的前機(jī)體轉(zhuǎn)角為α1;圖4b粗實(shí)線(xiàn)表示機(jī)器人的初始狀態(tài),圖4b虛線(xiàn)表示機(jī)器人脊椎下彎的狀態(tài).設(shè)從脊椎初始狀態(tài)到脊椎下彎狀態(tài)的脊椎驅(qū)動(dòng)液壓缸伸縮量為ΔL2,引起的前機(jī)體轉(zhuǎn)角為α2.
推導(dǎo)四足機(jī)器人步長(zhǎng)增加量時(shí),不需考慮腿部關(guān)節(jié)的轉(zhuǎn)動(dòng)帶來(lái)的步長(zhǎng)量,因此可將腿部簡(jiǎn)化為圖4a的實(shí)折線(xiàn)的腿部初始狀態(tài)和虛折線(xiàn)的脊椎上彎的腿部狀態(tài).腿部初始狀態(tài)的實(shí)折線(xiàn)繞點(diǎn)A旋轉(zhuǎn)至脊椎上彎狀態(tài)的腿部虛折線(xiàn),A點(diǎn)為脊椎驅(qū)動(dòng)液壓缸與前機(jī)體的連接點(diǎn),m為脊椎驅(qū)動(dòng)液壓缸與前機(jī)體的連接點(diǎn)A至足端的距離.脊椎上彎的過(guò)程可看作腿部初始狀態(tài)在水平方向平移ΔL1,然后轉(zhuǎn)動(dòng)α1的結(jié)果;脊椎下彎的過(guò)程可看作腿部初始狀態(tài)在水平方向平移ΔL2,然后轉(zhuǎn)動(dòng)α2的結(jié)果.
設(shè)h為初始狀態(tài)下點(diǎn)A與足底的垂直高度,S為所求的單腿步長(zhǎng)增加量,推導(dǎo)可得前機(jī)體轉(zhuǎn)角α和步長(zhǎng)增加量S的關(guān)系:
(3)
本文采用基于中樞模式發(fā)生器(central pattern generator,CPG)的生物控制方法來(lái)實(shí)現(xiàn)四足機(jī)器人的控制,CPG控制方法的優(yōu)點(diǎn)在于可以在沒(méi)有高層控制信號(hào)和外部反饋輸入的條件下,能夠產(chǎn)生穩(wěn)定的節(jié)律信號(hào),運(yùn)動(dòng)控制簡(jiǎn)單,參數(shù)易調(diào)節(jié)[13].CPG是產(chǎn)生節(jié)律信號(hào)的中心控制單元,可以通過(guò)對(duì)中樞模式發(fā)生器的建模、多個(gè)單元之間的相位耦合以及網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的改變來(lái)實(shí)現(xiàn)四足機(jī)器人協(xié)調(diào)運(yùn)動(dòng).
本文選用李華師等改進(jìn)的Hopf振蕩器模型[14],該模型振蕩穩(wěn)定、參數(shù)較少且易調(diào)節(jié).由于本文研究?jī)?nèi)容不涉及與環(huán)境的交互,因此在此模型中不需要引入外部反饋?lái)?xiàng),此振蕩器模型的數(shù)學(xué)模型如下:
(4)
為實(shí)現(xiàn)四足機(jī)器人腿部和脊椎的協(xié)調(diào)運(yùn)動(dòng),設(shè)置CPG網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖5所示,其中1號(hào)振蕩器控制左前腿(LF),2號(hào)振蕩器控制右前腿(RF),3號(hào)振蕩器控制右后腿(RB),4號(hào)振蕩器控制左后腿(LB),5號(hào)振蕩器控制脊椎,方形虛線(xiàn)框內(nèi)表示足間及脊椎間的耦合;橢圓形虛線(xiàn)內(nèi)表示足內(nèi)耦合,即腿部髖關(guān)節(jié)和膝關(guān)節(jié)的信號(hào)耦合.
腿部的三個(gè)關(guān)節(jié)中,踝關(guān)節(jié)為被動(dòng)關(guān)節(jié),不添加驅(qū)動(dòng)信號(hào),髖關(guān)節(jié)和膝關(guān)節(jié)驅(qū)動(dòng)信號(hào)幅值影響著奔跑的速度以及是否拖地等情況.圖6為一條腿從支撐相到擺動(dòng)相的擺動(dòng)示意圖,用于確定腿部髖關(guān)節(jié)和膝關(guān)節(jié)的驅(qū)動(dòng)信號(hào)幅值.
圖6中,θ1,θ2和θ3為腿部角度的初始值,l1,l2和l3為腿部各腿節(jié)的長(zhǎng)度.L為腿部初始狀態(tài)下的長(zhǎng)度值,L′為腿部處于支撐相末期的長(zhǎng)度,φ為腿部被動(dòng)踝關(guān)節(jié)的轉(zhuǎn)動(dòng)引起的髖關(guān)節(jié)轉(zhuǎn)動(dòng)點(diǎn)相對(duì)于足端的角度增量值,h為足端最大離地高度,Ah為髖關(guān)節(jié)擺動(dòng)角度幅值,Ak為膝關(guān)節(jié)擺動(dòng)角度幅值,Aa為踝關(guān)節(jié)擺動(dòng)角度幅值,因踝關(guān)節(jié)為被動(dòng)關(guān)節(jié),確定時(shí)可視為已知量.
腿部各關(guān)節(jié)驅(qū)動(dòng)信號(hào)的幅值的確定原則如下:
1) 髖關(guān)節(jié)驅(qū)動(dòng)信號(hào)幅值A(chǔ)h的大小取決于步長(zhǎng)S的大小,根據(jù)機(jī)體長(zhǎng)度和腿長(zhǎng)設(shè)置合理的步長(zhǎng)S,可得理想的腿部髖關(guān)節(jié)幅值A(chǔ)h.
2) 擺動(dòng)相中間時(shí)刻為足端離地最大距離,此時(shí)Ah=0,Ak達(dá)到最大,設(shè)置最大離地高度h,得到腿部膝關(guān)節(jié)驅(qū)動(dòng)信號(hào)幅值A(chǔ)k.
根據(jù)原則1)以及幾何關(guān)系可得
LsinAh+L′sin(Ah+φ)=S.
(5)
其中:
L=l1cosθ1+l2cosθ2+l3cosθ3;
m=l1cosθ1+l2cosθ2+l3cos(θ3+Aa);
n=l1sinθ1-l2sinθ2+l3sin(θ3+Aa);
根據(jù)原則2)得
h=L-l1cosθ1-l2cos(θ2+Ak)-l3cos(θ3-Ak).
(6)
最終根據(jù)式(5),式(6)得出
(7)
因此,根據(jù)上述幅值確定方法,確定出髖膝關(guān)節(jié)擺動(dòng)角度幅值,設(shè)置ω=5π,即T=0.4 s,Aspine的值自行給定,CPG具體網(wǎng)絡(luò)參數(shù)見(jiàn)表1.
表1 CPG網(wǎng)絡(luò)參數(shù)表
CPG網(wǎng)絡(luò)各信號(hào)輸出曲線(xiàn)如圖7所示,將各輸出曲線(xiàn)直接作為四足機(jī)器人bound步態(tài)奔跑時(shí)各關(guān)節(jié)的驅(qū)動(dòng)信號(hào).θH,θK分別為各腿髖關(guān)節(jié)和膝關(guān)節(jié)角度驅(qū)動(dòng)信號(hào),Aspine為液壓缸的伸縮量.
根據(jù)上述CPG控制方法,利用Adams和MATLAB/simulink對(duì)具有柔性脊椎的四足機(jī)器人進(jìn)行bound步態(tài)仿真分析.
為了驗(yàn)證柔性脊椎對(duì)前向奔跑性能的影響,同時(shí)由于機(jī)器人結(jié)構(gòu)左右對(duì)稱(chēng)、左右關(guān)節(jié)驅(qū)動(dòng)信號(hào)完全相同,機(jī)器人側(cè)向運(yùn)動(dòng)對(duì)前向運(yùn)動(dòng)影響較小,因此本文仿真驗(yàn)證只考慮四足機(jī)器人在矢狀面內(nèi)柔性脊椎的動(dòng)態(tài)變化,以及足端在前向和豎直方向的受力情況.
四足機(jī)器人整體長(zhǎng)0.95 m,脊椎長(zhǎng)0.55 m,脊椎長(zhǎng)度占比約58%,四足機(jī)器人奔跑仿真采用bound步態(tài),設(shè)置驅(qū)動(dòng)液壓缸伸縮量為0.1 m.圖8為四足機(jī)器人奔跑仿真過(guò)程中一個(gè)周期內(nèi)的仿真截圖.
圖9為仿真中四足機(jī)器人質(zhì)心在三個(gè)方向上的位移曲線(xiàn).三條曲線(xiàn)分別表示質(zhì)心在x(前進(jìn)方向),y(高度方向),z(橫向)三個(gè)方向上的位移.由圖9可知,機(jī)器人在1.0 s后奔跑達(dá)到穩(wěn)定狀態(tài),在x方向(前進(jìn)方向)直線(xiàn)斜率穩(wěn)定,表明行進(jìn)平穩(wěn);y方向(高度方向)波動(dòng)值在0~0.2 m之間周期性波動(dòng),奔跑穩(wěn)定;z方向(橫向)在行進(jìn)27 m時(shí)僅偏移0.3 m,偏移率為1%.
為比較柔性脊椎和剛性脊椎對(duì)四足機(jī)器人奔跑速度的影響,設(shè)置兩組對(duì)照仿真,分別進(jìn)行脊椎驅(qū)動(dòng)液壓缸的最大伸縮量為0.1 m時(shí)的bound步態(tài)奔跑仿真和脊椎保持直線(xiàn)的剛性機(jī)體模型的bound步態(tài)奔跑仿真.
圖10為兩組奔跑仿真的機(jī)器人質(zhì)心在前進(jìn)方向的速度曲線(xiàn)對(duì)比.實(shí)線(xiàn)為脊椎驅(qū)動(dòng)液壓缸的最大伸縮量為0.1 m時(shí)的機(jī)體質(zhì)心前進(jìn)方向的速度曲線(xiàn),虛線(xiàn)為脊椎驅(qū)動(dòng)液壓缸不動(dòng)作時(shí)(剛性機(jī)體)的速度曲線(xiàn).在各腿部驅(qū)動(dòng)完全相同的情況下,脊椎為柔性時(shí),速度可穩(wěn)定在2.8 m/s,脊椎為剛性時(shí),速度大約穩(wěn)定在1.5 m/s.由此可知,在脊椎驅(qū)動(dòng)液壓缸的最大伸縮量為0.1 m,即占脊椎原長(zhǎng)的18.8%時(shí),速度提高了86.6%,柔性脊椎對(duì)速度的提高作用顯著.
圖11為兩組奔跑仿真的機(jī)器人前腿足端接觸力曲線(xiàn)對(duì)比,實(shí)線(xiàn)為驅(qū)動(dòng)液壓缸伸縮量為 0.1 m時(shí)的足端接觸力曲線(xiàn),虛線(xiàn)為剛性脊椎時(shí)的足端接觸力曲線(xiàn).當(dāng)脊椎由驅(qū)動(dòng)液壓缸主動(dòng)控制彎曲時(shí),前腿足端接觸力保持在750 N左右.當(dāng)脊椎保持剛性不彎曲時(shí),前腿足端接觸力峰值維持在600 N左右.可見(jiàn),柔性脊椎的四足機(jī)器人奔跑時(shí)足端蹬地力更大,對(duì)于提高機(jī)器人的奔跑速度是有利的.
1) 本文設(shè)計(jì)了一種柔性脊椎四足機(jī)器人結(jié)構(gòu),其脊椎由兩根平行橡膠棒組成,通過(guò)控制脊椎正下方的液壓缸收縮可實(shí)現(xiàn)脊椎主動(dòng)彎曲.
2) 利用基于Hopf模型的CPG控制方法對(duì)機(jī)器人進(jìn)行控制,通過(guò)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的重建將脊椎驅(qū)動(dòng)信號(hào)與各腿部關(guān)節(jié)的驅(qū)動(dòng)信號(hào)進(jìn)行耦合,并基于此網(wǎng)絡(luò)模型,確定了腿部各關(guān)節(jié)驅(qū)動(dòng)信號(hào)的幅值.
3) 分析了柔性脊椎有助于機(jī)器人奔跑步長(zhǎng)的加大,推導(dǎo)了機(jī)器人前機(jī)體轉(zhuǎn)角和步長(zhǎng)增加量的關(guān)系.
4) 利用Adams和MATLAB/Simulink對(duì)機(jī)器人進(jìn)行了bound步態(tài)仿真分析,仿真結(jié)果證明了具有柔性脊椎的四足機(jī)器人奔跑速度可顯著提高且奔跑穩(wěn)定.