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