雷靜桃,賈光輝
四足機器人因非結構化環境適應性強、承載能力高、低能耗等特點,在星際探測、軍事、反恐排雷和娛樂等領域具有廣闊的應用前景.四足機器人已成為仿生機器人領域的研究熱點.美國波士頓動力公司研制的高性能四足仿生機器人Bigdog和Littledog,具有非結構化環境的良好機動性[1].山東大學、哈爾濱工業大學、國防科技大學、上海交通大學、華中科技大學、中國科學院自動化研究所等機構研發的高性能四足仿生機器人,也取得了一系列成果[2-4].
關于四足機器人步行控制算法的研究,很多學者采用基于中樞模式發生器(central pattern generator,CPG)控制算法進行機器人節律運動控制.CPG不需要外部輸入作用,而是通過神經元之間的相互抑制實現自激振蕩,產生具有穩定相位互鎖關系的多路或單路周期信號,控制機器人相應關節節律運動[5].對于四足機器人步態規劃,應用較為廣泛的神經振蕩器為Matsuoka振蕩器、Hopf振蕩器、Hodgkin-Huxley振蕩器和Van Del Pol振蕩器等.
美國加利福尼亞大學的Billard采用漏積CPG模型[6]控制機器狗Aibo,其中8個振蕩器組成CPG網絡,每個振蕩器由兩個相互抑制的漏極積分神經元組成,控制一個關節.日本九州工學院的松岡清利研究了生物神經細胞的適應現象,對漏極積分器微分方程進行了改進,通過加入模擬神經元疲勞特性的適應項,構成Matsuok神經元振蕩器模型[7].該模型簡潔、易用,但在階躍輸入時,輸出呈單調遞增趨勢,而實際神經元在脈沖發放過程中具有疲勞、自抑制特性.瑞士洛桑聯邦理工學院基于Hopf振蕩器研制了一款四足機器人Cheetah[8],該機器人每條腿有3個關節,髓、膝關節由電機驅動,踝關節是被動自由度,由彈簧驅動.與Matsuoka振蕩器相比,Hopf振蕩器的輸出魯棒性較差.基于生物神經振蕩器的結構和動力學行為,Wilson和Cowan提出了一種簡單的神經振蕩器模型Wilson-Cowan神經振蕩器[9],該生物仿生模型包含興奮和抑制神經元,且兩個神經元之間通過相互耦合產生穩定的極限環振蕩.山東大學的李彬等[10]在Wilson-Cowan神經振蕩器的基礎上提出了一種新的CPG控制器,用于四足機器人的節律運動控制,每個Wilson-Cowan神經振蕩器分別對應機器人的一個步行腿,對機器人的腿進行協調運動控制.通過調整振蕩器之間的步態連接權矩陣,可以實現機器人不同的節律運動和各種運動模式間的轉換.該控制方法能夠穩定地生成不同步態的機器人運動軌跡,輸出結果能夠較好地符合各種步態的相位要求.
采用CPG進行四足機器人運動控制具有明顯的優點.CPG控制具有自動穩定特性,受到外部干擾情況下,能夠較快地恢復到正常工作狀態[11].此外,具有模型參數化特性.CPG控制可將神經-本體-環境系統的復雜的動力學和運動學等濃縮在有限的參數內,通過調節參數得以要求的輸出特性,而不需要對整個系統進行建模.不足之處在于模型復雜,CPG控制系統的輸出結果沒有理想的表達[12-13].
本工作開展了基于CPG控制策略的四足機器人對角小跑步態仿真與實驗研究.首先,規劃了四足機器人對角小跑步態,采用D-H坐標法進行了四足機器人運動學分析,獲得了四足機器人關節角位移與足端期望軌跡間的映射關系.設計由興奮神經元和抑制神經元共同組成的CPG控制器,其中CPG模型產生穩定平滑的節律振蕩,在模型中加入反饋相,通過反饋相改變振蕩波形,從而改變機器人的運動步態.CPG的輸出用以控制四足機器人的髖關節和膝關節.對四足機器人對角小跑步態的仿真與實驗研究,為提高四足機器人非結構化環境的機動性奠定基礎.
四足機器人由前機體、后機體、仿生脊柱和4條仿生腿組成,如圖1所示.四足機器人的仿生腿由3個主動轉動關節和1個被動踝關節組成,其中3個主動關節分別是側擺髖關節、前后擺髖關節和膝關節.四足機器人的結構尺寸參考小型犬的體形參數,以期達到較好仿生效果,其中大腿和小腿連桿參考動物脛骨、股骨,機體尺寸則借鑒小型犬的尺寸.四足機器人整體結構緊湊,步行時機體重心移動幅度較小,能提高動態步行穩定性.

圖1 四足機器人Fig.1 Quadruped robot
四足機器人采用對角小跑步態,一個步態周期可分為擺動相(sw)和支撐相(sp).腿機構空中擺動的時間段Tsw為擺動相,腿機構支撐于地面時間段為支撐相Tsp,且Tsw=Tsp=T/2,T為一個步態周期.處于對角線上的兩條腿動作完全一樣,即同時處于擺動相或支撐相.對角小跑步態的時序圖,如圖2所示,其中腿1與腿3為一組,右前腿4與左后腿2為一組.

圖2 對角小跑步態時序圖Fig.2 Sequence diagram of trot gait
足端軌跡規劃即確定足端在空間經過的曲線軌跡,若采用不同的足端軌跡,則四足機器人的動態性能不同.足端軌跡運動序列可分為“抬腿—擺腿—落下”,對于每個運動序列關節函數不同.A→B為擺動相足端軌跡,支撐相時的機體向前移動的軌跡相當于足端B→A的軌跡,如圖3所示.

圖3 足端軌跡示意圖Fig.3 Diagram of foot trajectory planning
若暫不考慮腿機構的側擺運動,則在足端軌跡側擺方向上py=0.設定約束條件為

則四足機器人足端軌跡規劃為

式中:S為步距;H為步高;px,py,pz分別表示足端沿x,y,z方向的位移.當S=100 mm,H=60 mm時,四足機器人一個對角小跑步態周期為10 s,擺動相和支撐相各為5 s.
機器人的腿處于支撐相時,足端的位置相對于固定坐標系是靜止不動的,始終保持擺動相終點的狀態,此時足端與地面接觸,機器人的機體通過腿的運動實現前移.機器人的機體相對于固定坐標系的移動可以轉化為足端相對于機體的移動.機體的前移軌跡函數為

式中:H0為機體高度;pxs,pys,pzs分別表示足端相對于機體沿x,y,z方向的位移.
四足機器人腿可看作開式運動鏈,是由若干連桿通過轉動關節串聯而成.采用D-H坐標法進行運動學分析,分別獲得四足機器人腿處于擺動相和支撐相關節變量與足端期望軌跡間的關系.
四足機器人腿處于擺動相的運動學模型為[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分別表示側擺腿、大腿和小腿的長度;a,b,c分別表示機體的長、寬、高;θ1,θ2,θ3為關節變量.
由四足機器人腿機構正運動學模型,采用反變換法進行運動學逆解分析,則腿機構處于擺動相時,各關節變量為

四足機器人腿處于支撐相的運動學模型為[14]

由式(6)可解得腿處于支撐相時關節角位移函數為

3.1.1 單個振蕩單元模型
建立模型的目的是用數學模型模擬神經元及其相互之間的關聯,并建立CPG輸出與物理空間映射關系.基于CPG模型控制的核心是構造產生自激振蕩,通過對振蕩信號的頻率、相位、幅值等特性進行調節,控制四足機器人以不同步態方式步行.機器人對外部和內部的反饋信息通過影響振蕩信號特性來調節機器人的運動.
在生物神經元的基礎上采用一種基于運動神經元CPG模型,神經元振蕩單元的信號由一個興奮神經元和一個抑制神經元通過相互刺激和抑制形成,每個興奮神經元或者抑制神經元自身存在相同形式的非線性自反饋連接,且二者之間的線性連接強度相同.外部的反饋信號影響興奮和抑制的作用,如圖4所示.

圖4 CPG振蕩器模型Fig.4 CPG oscillator model
CPG模型方程如下:

式中:xi,yi為抑制神經元和興奮神經元;θ為調節系數,這里取為常數;為xi和yi的自抑系數;Feedi為外部傳感器給第i個神經元的反饋相;x0i,y0i為初始狀態時的值.
對模型進行改進:①用興奮神經元y和抑制神經元x的差值作為振蕩器的輸出,=yi?xi+wi,wi為調整系數,在四足機器人的控制中可以用4個改進的神經元模型控制四足機器人的單關節;②引入了反饋相Feedi,反饋相的加入使機器人對外界環境有了適應性,能夠根據外界環境調節自身運動,是機器人智能化發展的重要部分;③調整振蕩器參數,使振蕩器輸出信號作為關節角度信號直接控制關節運動,控制方便.
對CPG神經元模型用Simulink進行仿真,觀察模型的特性.首先,對模型中的參數賦值:
模型中yi通過與xi互相刺激和抑制使yout獲得穩定的振蕩輸出,如圖5所示.給定模型初值x0i=1,y0i=0,可以產生自發穩定的節律振蕩,符合振蕩源產生的條件.CPG的輸出用于控制關節運動.

圖5 單個神經元的振蕩曲線Fig.5 Oscillator curve of single neuron
3.1.2 模型參數分析
CPG模型能夠自發地產生穩定平滑的節律振蕩.機器人運動過程通過對振蕩信號的頻率、相位、幅值等特性進行調節.分析模型中參數,更好地調節振蕩信號,控制機器人按照規定運動.當σi=0.4時,振蕩信號周期T=10 s;當σi=0.6時,振蕩信號周期T=8 s.其他參數值保持不變,改變σi值,振蕩信號周期發生規律性變化.由仿真分析可知,σi值不超過1.4,σi可作為振蕩信號的周期調節器.調節σi值使振蕩信號周期符合規劃機器人對角小跑運動周期.上層控制提供x0i,y0i初始狀態值給模型,模型發出振蕩信號.初始設定x0i=0,y0i=0,模型仿真,振幅A=2.3.改變初值x0i=2,y0i=0,其他參數保持不變進行仿真,振幅A=4.6.多次改變初值x0i后仿真,隨著初值變化,振蕩信號幅值發生規律性變化,初值可作為振蕩信號的振幅調節器.通過改變初始狀態值可以對振蕩信號振幅進行調整,使之符合機器人腿擺過程.wi作為模型調整系數,對t=0時振蕩信號初始值進行調整.反饋信號對模型輸出具有調節作用,在加入反饋值后響應曲線幅值偏移相應的值,Feedi值越大,模型幅值越大,這對機器人的自動調節過程是必要的.
基于CPG控制方法,采用Matlab/Simulink軟件對四足機器人對角小跑步態進行仿真分析.四足機器人完成一個對角小跑步行,需4條腿交替處于支撐相和擺動相協調運動.設定步態周期為10 s.四足機器人對角小跑步行時,前5 s,對角線上的腿1和腿3處于擺動相,并開始同時擺動,腿2和腿4處于支撐相.后5 s,腿1和腿3處于支撐相,腿2和腿4處于擺動相.
由于對角小跑步態既要調節機器人四條腿間的相位差,也要調節每條腿上的髖關節和膝關節運動.采用由1個CPG輸出控制每條腿上的髖關節,則用4個CPG協調控制4個髖關節,膝關節運動由髖-膝的映射函數確定.CPG模型反映了神經元的自抑制和互抑制特性,調整模型參數,輸出正旋軌跡下單腿髖關節和膝關節的控制信號.

圖6 仿生腿關節運動理論分析與仿真結果Fig.6 Theoretical and simulation results of bionic leg
由圖6可以看出,基于CPG模型輸出的髖關節和膝關節角位移仿真結果與理論分析結果基本一致,驗證了理論分析的正確性.仿真結果和理論分析的誤差主要是由于未進行CPG控制模型參數的整定,由試湊法獲得的參數難免造成CPG模型輸出值與理論值不完全一致.這也是CPG控制遇到的難點,后續將開展深入的研究.
實驗時設定四足機器人一個步態周期為5 s,基于CPG控制策略開展對角小跑步態實驗研究.實驗中所用的電氣硬件有電源、電機驅動器、伺服電機、電機編碼器等.采用Microsoft Visual Studio作為上位機軟件的開發環境,使用C#語言編寫程序.個人計算機(personal computer,PC)作為上位機向電機驅動器發送命令,電機驅動器驅動伺服電機,電機編碼器實時測量四足機器人關節角度.
四足機器人關節電機作為控制對象,接受驅動器控制.CPG振蕩器自激振蕩產生振蕩信號作為關節角度信號發送給驅動器,調整CPG振蕩器參數使之輸出T=5 s時四足機器人對角小跑振蕩曲線.由電機后端的編碼器實時采集關節角度和關節速度信息.四足機器人對角小跑步行時序圖如圖7所示.

圖7 四足機器人對角小跑步態步行時序圖Fig.7 Diagram of quadruped robot walking with trot gait
四足機器人前后擺髖關節和膝關節的角位移的理論和實驗結果,如圖8所示.前后擺髖關節和膝關節角位移的理論與實驗結果的誤差,如圖9所示.

圖8 四足機器人對角小跑步態的關節角位移對比Fig.8 Angular displacement of joint of quadruped robot with trot gait

圖9 四足機器人對角小跑步態的關節角位移誤差Fig.9 Angular displacement error of joint of quadruped robot with trot gait
由圖9可以看出,前后擺髖關節和膝關節角位移實驗曲線與理論值曲線在極值、變化趨勢方面基本一致.髖關節誤差范圍為[–2,2],在步態周期的末段出現較大誤差;膝關節誤差范圍為[–4,4],在步態周期中段出現較大誤差.誤差產生的原因有:①足端正弦軌跡,髖關節和膝關節角速度在一個周期中段不平滑,會有跳躍點造成機器人關節振動.髖關節和膝關節角加速度在周期末段存在跳躍點,造成關節振動;②實驗采集的數據是編碼器返回的脈沖量,驅動器在將輸入量轉化為控制電機運動的脈沖量時會存在誤差,而將編碼器返回的脈沖量轉化為角度時也會產生誤差.
基于中樞模式發生器的控制方法,能夠自動產生穩定的節律信號,不僅結構簡單,而且具有很強的適應性.本工作開展四足仿生機器人對角小跑步行控制研究,設計了一種四足機器人對角小跑步態控制策略.采用CPG的控制方式建立振蕩器模型,以輸出的振蕩波控制四足機器人關節角度變化.CPG控制策略結構簡單,與Matsuoka振蕩器、Hop f振蕩器、Hodgkin-Huxley振蕩器和Van Del Pol振蕩器相比,可調參數較少,經過幾個周期振蕩可實現穩定步態.在四足機器人原理樣機上,開展基于CPG模型的四足機器人對角小跑步態步行實驗研究,結果表明:CPG控制策略能較好地實現四足機器人對角小跑穩定步行,為提高四足機器人非結構化環境機動性奠定了基礎.
[1]邊桂彬.BigDog技術分析與展望[J].機器人技術與應用,2012(1):11-13.
[2]孟健,李貽斌,李彬.四足機器人對角小跑步態全方位移動控制方法及其實現[J].機器人,2015,37(1):74-84.
[3]胡楠,李少遠,黃丹,等.高負載四足機器人的步態規劃與控制[J].系統仿真學報,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].機械設計與制造,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].山東大學學報(工學版),2010,40(1):1-10.
[11]張美金,杜晶,陳明霞.基于中樞模式發生器的仿生機器狗步態控制的應用研究[J].計算機測量與控制,2012,20(5):1245-1247.
[12]韓青,任杉,曹飛祥,等.中樞模式調節的四足機器人復雜地形運動控制研究[J].制造業自動化,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.