雷靜桃,賈光輝
四足機器人因非結(jié)構(gòu)化環(huán)境適應(yīng)性強、承載能力高、低能耗等特點,在星際探測、軍事、反恐排雷和娛樂等領(lǐng)域具有廣闊的應(yīng)用前景.四足機器人已成為仿生機器人領(lǐng)域的研究熱點.美國波士頓動力公司研制的高性能四足仿生機器人Bigdog和Littledog,具有非結(jié)構(gòu)化環(huán)境的良好機動性[1].山東大學(xué)、哈爾濱工業(yè)大學(xué)、國防科技大學(xué)、上海交通大學(xué)、華中科技大學(xué)、中國科學(xué)院自動化研究所等機構(gòu)研發(fā)的高性能四足仿生機器人,也取得了一系列成果[2-4].
關(guān)于四足機器人步行控制算法的研究,很多學(xué)者采用基于中樞模式發(fā)生器(central pattern generator,CPG)控制算法進行機器人節(jié)律運動控制.CPG不需要外部輸入作用,而是通過神經(jīng)元之間的相互抑制實現(xiàn)自激振蕩,產(chǎn)生具有穩(wěn)定相位互鎖關(guān)系的多路或單路周期信號,控制機器人相應(yīng)關(guān)節(jié)節(jié)律運動[5].對于四足機器人步態(tài)規(guī)劃,應(yīng)用較為廣泛的神經(jīng)振蕩器為Matsuoka振蕩器、Hopf振蕩器、Hodgkin-Huxley振蕩器和Van Del Pol振蕩器等.
美國加利福尼亞大學(xué)的Billard采用漏積CPG模型[6]控制機器狗Aibo,其中8個振蕩器組成CPG網(wǎng)絡(luò),每個振蕩器由兩個相互抑制的漏極積分神經(jīng)元組成,控制一個關(guān)節(jié).日本九州工學(xué)院的松岡清利研究了生物神經(jīng)細(xì)胞的適應(yīng)現(xiàn)象,對漏極積分器微分方程進行了改進,通過加入模擬神經(jīng)元疲勞特性的適應(yīng)項,構(gòu)成Matsuok神經(jīng)元振蕩器模型[7].該模型簡潔、易用,但在階躍輸入時,輸出呈單調(diào)遞增趨勢,而實際神經(jīng)元在脈沖發(fā)放過程中具有疲勞、自抑制特性.瑞士洛桑聯(lián)邦理工學(xué)院基于Hopf振蕩器研制了一款四足機器人Cheetah[8],該機器人每條腿有3個關(guān)節(jié),髓、膝關(guān)節(jié)由電機驅(qū)動,踝關(guān)節(jié)是被動自由度,由彈簧驅(qū)動.與Matsuoka振蕩器相比,Hopf振蕩器的輸出魯棒性較差.基于生物神經(jīng)振蕩器的結(jié)構(gòu)和動力學(xué)行為,Wilson和Cowan提出了一種簡單的神經(jīng)振蕩器模型Wilson-Cowan神經(jīng)振蕩器[9],該生物仿生模型包含興奮和抑制神經(jīng)元,且兩個神經(jīng)元之間通過相互耦合產(chǎn)生穩(wěn)定的極限環(huán)振蕩.山東大學(xué)的李彬等[10]在Wilson-Cowan神經(jīng)振蕩器的基礎(chǔ)上提出了一種新的CPG控制器,用于四足機器人的節(jié)律運動控制,每個Wilson-Cowan神經(jīng)振蕩器分別對應(yīng)機器人的一個步行腿,對機器人的腿進行協(xié)調(diào)運動控制.通過調(diào)整振蕩器之間的步態(tài)連接權(quán)矩陣,可以實現(xiàn)機器人不同的節(jié)律運動和各種運動模式間的轉(zhuǎn)換.該控制方法能夠穩(wěn)定地生成不同步態(tài)的機器人運動軌跡,輸出結(jié)果能夠較好地符合各種步態(tài)的相位要求.
采用CPG進行四足機器人運動控制具有明顯的優(yōu)點.CPG控制具有自動穩(wěn)定特性,受到外部干擾情況下,能夠較快地恢復(fù)到正常工作狀態(tài)[11].此外,具有模型參數(shù)化特性.CPG控制可將神經(jīng)-本體-環(huán)境系統(tǒng)的復(fù)雜的動力學(xué)和運動學(xué)等濃縮在有限的參數(shù)內(nèi),通過調(diào)節(jié)參數(shù)得以要求的輸出特性,而不需要對整個系統(tǒng)進行建模.不足之處在于模型復(fù)雜,CPG控制系統(tǒng)的輸出結(jié)果沒有理想的表達[12-13].
本工作開展了基于CPG控制策略的四足機器人對角小跑步態(tài)仿真與實驗研究.首先,規(guī)劃了四足機器人對角小跑步態(tài),采用D-H坐標(biāo)法進行了四足機器人運動學(xué)分析,獲得了四足機器人關(guān)節(jié)角位移與足端期望軌跡間的映射關(guān)系.設(shè)計由興奮神經(jīng)元和抑制神經(jīng)元共同組成的CPG控制器,其中CPG模型產(chǎn)生穩(wěn)定平滑的節(jié)律振蕩,在模型中加入反饋相,通過反饋相改變振蕩波形,從而改變機器人的運動步態(tài).CPG的輸出用以控制四足機器人的髖關(guān)節(jié)和膝關(guān)節(jié).對四足機器人對角小跑步態(tài)的仿真與實驗研究,為提高四足機器人非結(jié)構(gòu)化環(huán)境的機動性奠定基礎(chǔ).
四足機器人由前機體、后機體、仿生脊柱和4條仿生腿組成,如圖1所示.四足機器人的仿生腿由3個主動轉(zhuǎn)動關(guān)節(jié)和1個被動踝關(guān)節(jié)組成,其中3個主動關(guān)節(jié)分別是側(cè)擺髖關(guān)節(jié)、前后擺髖關(guān)節(jié)和膝關(guān)節(jié).四足機器人的結(jié)構(gòu)尺寸參考小型犬的體形參數(shù),以期達到較好仿生效果,其中大腿和小腿連桿參考動物脛骨、股骨,機體尺寸則借鑒小型犬的尺寸.四足機器人整體結(jié)構(gòu)緊湊,步行時機體重心移動幅度較小,能提高動態(tài)步行穩(wěn)定性.
圖1 四足機器人Fig.1 Quadruped robot
四足機器人采用對角小跑步態(tài),一個步態(tài)周期可分為擺動相(sw)和支撐相(sp).腿機構(gòu)空中擺動的時間段Tsw為擺動相,腿機構(gòu)支撐于地面時間段為支撐相Tsp,且Tsw=Tsp=T/2,T為一個步態(tài)周期.處于對角線上的兩條腿動作完全一樣,即同時處于擺動相或支撐相.對角小跑步態(tài)的時序圖,如圖2所示,其中腿1與腿3為一組,右前腿4與左后腿2為一組.
圖2 對角小跑步態(tài)時序圖Fig.2 Sequence diagram of trot gait
足端軌跡規(guī)劃即確定足端在空間經(jīng)過的曲線軌跡,若采用不同的足端軌跡,則四足機器人的動態(tài)性能不同.足端軌跡運動序列可分為“抬腿—擺腿—落下”,對于每個運動序列關(guān)節(jié)函數(shù)不同.A→B為擺動相足端軌跡,支撐相時的機體向前移動的軌跡相當(dāng)于足端B→A的軌跡,如圖3所示.
圖3 足端軌跡示意圖Fig.3 Diagram of foot trajectory planning
若暫不考慮腿機構(gòu)的側(cè)擺運動,則在足端軌跡側(cè)擺方向上py=0.設(shè)定約束條件為
則四足機器人足端軌跡規(guī)劃為
式中:S為步距;H為步高;px,py,pz分別表示足端沿x,y,z方向的位移.當(dāng)S=100 mm,H=60 mm時,四足機器人一個對角小跑步態(tài)周期為10 s,擺動相和支撐相各為5 s.
機器人的腿處于支撐相時,足端的位置相對于固定坐標(biāo)系是靜止不動的,始終保持?jǐn)[動相終點的狀態(tài),此時足端與地面接觸,機器人的機體通過腿的運動實現(xiàn)前移.機器人的機體相對于固定坐標(biāo)系的移動可以轉(zhuǎn)化為足端相對于機體的移動.機體的前移軌跡函數(shù)為
式中:H0為機體高度;pxs,pys,pzs分別表示足端相對于機體沿x,y,z方向的位移.
四足機器人腿可看作開式運動鏈,是由若干連桿通過轉(zhuǎn)動關(guān)節(jié)串聯(lián)而成.采用D-H坐標(biāo)法進行運動學(xué)分析,分別獲得四足機器人腿處于擺動相和支撐相關(guān)節(jié)變量與足端期望軌跡間的關(guān)系.
四足機器人腿處于擺動相的運動學(xué)模型為[14]
式中:si=sinθi,ci=cosθi,sij=sin(θi+θj),cij=cos(θi+ θj),i=1,2,3,j=1,2,3;l1,l2,l3分別表示側(cè)擺腿、大腿和小腿的長度;a,b,c分別表示機體的長、寬、高;θ1,θ2,θ3為關(guān)節(jié)變量.
由四足機器人腿機構(gòu)正運動學(xué)模型,采用反變換法進行運動學(xué)逆解分析,則腿機構(gòu)處于擺動相時,各關(guān)節(jié)變量為
四足機器人腿處于支撐相的運動學(xué)模型為[14]
由式(6)可解得腿處于支撐相時關(guān)節(jié)角位移函數(shù)為
3.1.1 單個振蕩單元模型
建立模型的目的是用數(shù)學(xué)模型模擬神經(jīng)元及其相互之間的關(guān)聯(lián),并建立CPG輸出與物理空間映射關(guān)系.基于CPG模型控制的核心是構(gòu)造產(chǎn)生自激振蕩,通過對振蕩信號的頻率、相位、幅值等特性進行調(diào)節(jié),控制四足機器人以不同步態(tài)方式步行.機器人對外部和內(nèi)部的反饋信息通過影響振蕩信號特性來調(diào)節(jié)機器人的運動.
在生物神經(jīng)元的基礎(chǔ)上采用一種基于運動神經(jīng)元CPG模型,神經(jīng)元振蕩單元的信號由一個興奮神經(jīng)元和一個抑制神經(jīng)元通過相互刺激和抑制形成,每個興奮神經(jīng)元或者抑制神經(jīng)元自身存在相同形式的非線性自反饋連接,且二者之間的線性連接強度相同.外部的反饋信號影響興奮和抑制的作用,如圖4所示.
圖4 CPG振蕩器模型Fig.4 CPG oscillator model
CPG模型方程如下:
式中:xi,yi為抑制神經(jīng)元和興奮神經(jīng)元;θ為調(diào)節(jié)系數(shù),這里取為常數(shù);為xi和yi的自抑系數(shù);Feedi為外部傳感器給第i個神經(jīng)元的反饋相;x0i,y0i為初始狀態(tài)時的值.
對模型進行改進:①用興奮神經(jīng)元y和抑制神經(jīng)元x的差值作為振蕩器的輸出,=yi?xi+wi,wi為調(diào)整系數(shù),在四足機器人的控制中可以用4個改進的神經(jīng)元模型控制四足機器人的單關(guān)節(jié);②引入了反饋相Feedi,反饋相的加入使機器人對外界環(huán)境有了適應(yīng)性,能夠根據(jù)外界環(huán)境調(diào)節(jié)自身運動,是機器人智能化發(fā)展的重要部分;③調(diào)整振蕩器參數(shù),使振蕩器輸出信號作為關(guān)節(jié)角度信號直接控制關(guān)節(jié)運動,控制方便.
對CPG神經(jīng)元模型用Simulink進行仿真,觀察模型的特性.首先,對模型中的參數(shù)賦值:
模型中yi通過與xi互相刺激和抑制使yout獲得穩(wěn)定的振蕩輸出,如圖5所示.給定模型初值x0i=1,y0i=0,可以產(chǎn)生自發(fā)穩(wěn)定的節(jié)律振蕩,符合振蕩源產(chǎn)生的條件.CPG的輸出用于控制關(guān)節(jié)運動.
圖5 單個神經(jīng)元的振蕩曲線Fig.5 Oscillator curve of single neuron
3.1.2 模型參數(shù)分析
CPG模型能夠自發(fā)地產(chǎn)生穩(wěn)定平滑的節(jié)律振蕩.機器人運動過程通過對振蕩信號的頻率、相位、幅值等特性進行調(diào)節(jié).分析模型中參數(shù),更好地調(diào)節(jié)振蕩信號,控制機器人按照規(guī)定運動.當(dāng)σi=0.4時,振蕩信號周期T=10 s;當(dāng)σi=0.6時,振蕩信號周期T=8 s.其他參數(shù)值保持不變,改變σi值,振蕩信號周期發(fā)生規(guī)律性變化.由仿真分析可知,σi值不超過1.4,σi可作為振蕩信號的周期調(diào)節(jié)器.調(diào)節(jié)σi值使振蕩信號周期符合規(guī)劃機器人對角小跑運動周期.上層控制提供x0i,y0i初始狀態(tài)值給模型,模型發(fā)出振蕩信號.初始設(shè)定x0i=0,y0i=0,模型仿真,振幅A=2.3.改變初值x0i=2,y0i=0,其他參數(shù)保持不變進行仿真,振幅A=4.6.多次改變初值x0i后仿真,隨著初值變化,振蕩信號幅值發(fā)生規(guī)律性變化,初值可作為振蕩信號的振幅調(diào)節(jié)器.通過改變初始狀態(tài)值可以對振蕩信號振幅進行調(diào)整,使之符合機器人腿擺過程.wi作為模型調(diào)整系數(shù),對t=0時振蕩信號初始值進行調(diào)整.反饋信號對模型輸出具有調(diào)節(jié)作用,在加入反饋值后響應(yīng)曲線幅值偏移相應(yīng)的值,Feedi值越大,模型幅值越大,這對機器人的自動調(diào)節(jié)過程是必要的.
基于CPG控制方法,采用Matlab/Simulink軟件對四足機器人對角小跑步態(tài)進行仿真分析.四足機器人完成一個對角小跑步行,需4條腿交替處于支撐相和擺動相協(xié)調(diào)運動.設(shè)定步態(tài)周期為10 s.四足機器人對角小跑步行時,前5 s,對角線上的腿1和腿3處于擺動相,并開始同時擺動,腿2和腿4處于支撐相.后5 s,腿1和腿3處于支撐相,腿2和腿4處于擺動相.
由于對角小跑步態(tài)既要調(diào)節(jié)機器人四條腿間的相位差,也要調(diào)節(jié)每條腿上的髖關(guān)節(jié)和膝關(guān)節(jié)運動.采用由1個CPG輸出控制每條腿上的髖關(guān)節(jié),則用4個CPG協(xié)調(diào)控制4個髖關(guān)節(jié),膝關(guān)節(jié)運動由髖-膝的映射函數(shù)確定.CPG模型反映了神經(jīng)元的自抑制和互抑制特性,調(diào)整模型參數(shù),輸出正旋軌跡下單腿髖關(guān)節(jié)和膝關(guān)節(jié)的控制信號.
圖6 仿生腿關(guān)節(jié)運動理論分析與仿真結(jié)果Fig.6 Theoretical and simulation results of bionic leg
由圖6可以看出,基于CPG模型輸出的髖關(guān)節(jié)和膝關(guān)節(jié)角位移仿真結(jié)果與理論分析結(jié)果基本一致,驗證了理論分析的正確性.仿真結(jié)果和理論分析的誤差主要是由于未進行CPG控制模型參數(shù)的整定,由試湊法獲得的參數(shù)難免造成CPG模型輸出值與理論值不完全一致.這也是CPG控制遇到的難點,后續(xù)將開展深入的研究.
實驗時設(shè)定四足機器人一個步態(tài)周期為5 s,基于CPG控制策略開展對角小跑步態(tài)實驗研究.實驗中所用的電氣硬件有電源、電機驅(qū)動器、伺服電機、電機編碼器等.采用Microsoft Visual Studio作為上位機軟件的開發(fā)環(huán)境,使用C#語言編寫程序.個人計算機(personal computer,PC)作為上位機向電機驅(qū)動器發(fā)送命令,電機驅(qū)動器驅(qū)動伺服電機,電機編碼器實時測量四足機器人關(guān)節(jié)角度.
四足機器人關(guān)節(jié)電機作為控制對象,接受驅(qū)動器控制.CPG振蕩器自激振蕩產(chǎn)生振蕩信號作為關(guān)節(jié)角度信號發(fā)送給驅(qū)動器,調(diào)整CPG振蕩器參數(shù)使之輸出T=5 s時四足機器人對角小跑振蕩曲線.由電機后端的編碼器實時采集關(guān)節(jié)角度和關(guān)節(jié)速度信息.四足機器人對角小跑步行時序圖如圖7所示.
圖7 四足機器人對角小跑步態(tài)步行時序圖Fig.7 Diagram of quadruped robot walking with trot gait
四足機器人前后擺髖關(guān)節(jié)和膝關(guān)節(jié)的角位移的理論和實驗結(jié)果,如圖8所示.前后擺髖關(guān)節(jié)和膝關(guān)節(jié)角位移的理論與實驗結(jié)果的誤差,如圖9所示.
圖8 四足機器人對角小跑步態(tài)的關(guān)節(jié)角位移對比Fig.8 Angular displacement of joint of quadruped robot with trot gait
圖9 四足機器人對角小跑步態(tài)的關(guān)節(jié)角位移誤差Fig.9 Angular displacement error of joint of quadruped robot with trot gait
由圖9可以看出,前后擺髖關(guān)節(jié)和膝關(guān)節(jié)角位移實驗曲線與理論值曲線在極值、變化趨勢方面基本一致.髖關(guān)節(jié)誤差范圍為[–2,2],在步態(tài)周期的末段出現(xiàn)較大誤差;膝關(guān)節(jié)誤差范圍為[–4,4],在步態(tài)周期中段出現(xiàn)較大誤差.誤差產(chǎn)生的原因有:①足端正弦軌跡,髖關(guān)節(jié)和膝關(guān)節(jié)角速度在一個周期中段不平滑,會有跳躍點造成機器人關(guān)節(jié)振動.髖關(guān)節(jié)和膝關(guān)節(jié)角加速度在周期末段存在跳躍點,造成關(guān)節(jié)振動;②實驗采集的數(shù)據(jù)是編碼器返回的脈沖量,驅(qū)動器在將輸入量轉(zhuǎn)化為控制電機運動的脈沖量時會存在誤差,而將編碼器返回的脈沖量轉(zhuǎn)化為角度時也會產(chǎn)生誤差.
基于中樞模式發(fā)生器的控制方法,能夠自動產(chǎn)生穩(wěn)定的節(jié)律信號,不僅結(jié)構(gòu)簡單,而且具有很強的適應(yīng)性.本工作開展四足仿生機器人對角小跑步行控制研究,設(shè)計了一種四足機器人對角小跑步態(tài)控制策略.采用CPG的控制方式建立振蕩器模型,以輸出的振蕩波控制四足機器人關(guān)節(jié)角度變化.CPG控制策略結(jié)構(gòu)簡單,與Matsuoka振蕩器、Hop f振蕩器、Hodgkin-Huxley振蕩器和Van Del Pol振蕩器相比,可調(diào)參數(shù)較少,經(jīng)過幾個周期振蕩可實現(xiàn)穩(wěn)定步態(tài).在四足機器人原理樣機上,開展基于CPG模型的四足機器人對角小跑步態(tài)步行實驗研究,結(jié)果表明:CPG控制策略能較好地實現(xiàn)四足機器人對角小跑穩(wěn)定步行,為提高四足機器人非結(jié)構(gòu)化環(huán)境機動性奠定了基礎(chǔ).
[1]邊桂彬.BigDog技術(shù)分析與展望[J].機器人技術(shù)與應(yīng)用,2012(1):11-13.
[2]孟健,李貽斌,李彬.四足機器人對角小跑步態(tài)全方位移動控制方法及其實現(xiàn)[J].機器人,2015,37(1):74-84.
[3]胡楠,李少遠(yuǎn),黃丹,等.高負(fù)載四足機器人的步態(tài)規(guī)劃與控制[J].系統(tǒng)仿真學(xué)報,2014,27(3):529-533.
[4]WANG X,LI M,WANG P,et al.Bio-inspired controller for a robot cheetah with a neural mechanism controlling leg muscles[J].Journal of Bionic Engineering,2012,9(3):282-293.
[5]王健美,付成龍,黃元林,等.基于CPG的仿生機器人運動控制方法及研究進展[J].機械設(shè)計與制造,2009,9(9):1-3.
[6]BILLARD A,IjSPEERT A J.Biologically inspired neural controllers for motor control in a quadruped robot[C]//IEEE-INNS-ENNS International Joint Conference on Neural Networks.2000:637-641.
[7]KIMURA H,FUkUOkA Y,KONAGA K.Adaptive dynamic walking of a quadruped robot by using neural system model[J].Advanced Robotics,2001,15(8):859-876.
[8]SIMON R,ALEXANDER S,LUDOVIC R,et al.Passive compliant quadruped robot using central pattern generators for locomotion control[C]//IEEE Ras&Embs Intemational Conference on Biomedical Robotics and Biomeehatronics.2008:710-715.
[9]CHRISTOPHE M,HIROSHI K,TOMOHIRO N.Stable dynamic walking of the quadruped “kotetsu”using phase modulations based on leg loading/unloading against lateral perturbations[C]//International Conference on Robotics and Automation Saint Paul.2012:1883-1888.
[10]李彬,李貽斌,阮久宏,等.基于Wilson-Cowan神經(jīng)振蕩器的四足機器人步態(tài)規(guī)劃研究[J].山東大學(xué)學(xué)報(工學(xué)版),2010,40(1):1-10.
[11]張美金,杜晶,陳明霞.基于中樞模式發(fā)生器的仿生機器狗步態(tài)控制的應(yīng)用研究[J].計算機測量與控制,2012,20(5):1245-1247.
[12]韓青,任杉,曹飛祥,等.中樞模式調(diào)節(jié)的四足機器人復(fù)雜地形運動控制研究[J].制造業(yè)自動化,2013,35(9):25-29.
[13]HUTTER M,REMY C D,HOEPFLINGER M A,et al.Design and control of a planar running robot[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems.2011:562-567.
[14]LEI J T,WANG F,YU H Y,et al.Energy eきciency analysis of quadruped robot with trot gait and combined cycloid foot trajectory[J].Chinese Journal of Mechanical Engineering,2014,27(1):138-145.