劉志成, 鄭莉芳, 王旭
(北京科技大學 機械工程學院, 北京 100083)
與馬、狗、貓等哺乳動物相比,由于爬行動物的生活環境更加豐富,模仿爬行動物的四足機器人對復雜地形環境具備更好的適應能力[1]。傳統四足機器人控制方法分為基于模型的控制方法和基于中樞神經模式振蕩器(CPG)仿生的控制方法?;谀P偷目刂品椒ù嬖诳刂品椒▎我?、各個機械腿之間運動不協調、步態切換不流暢等問題,而采用CPG仿生控制方法不僅能夠實現各個機械腿之間的協調運動,同時還能夠順暢切換四足機器人的運動步態。但是傳統基于CPG仿生的控制方法更著重于實現機器人四肢之間運動協調控制,并通常默認機器人軀干為剛性軀干或被動柔性軀干,即軀干部分在機器人運動過程中不發生主動運動。通過對爬行動物運動視頻的觀察,其軀干會伴隨四肢運動而進行明顯的左右擺動[2]。因此需要一種既能夠描述四肢運動,又能夠描述軀干運動的CPG,以實現對含有主動柔性軀干的爬行四足機器人整體運動協調控制。
從1961年Wilson[3]發現神經網絡發生模式開始,生物節律運動的研究逐步展開,科學家力圖建立能夠描述節律運動的神經振蕩器模型,并將其應用于四足機器人的運動控制。1985年Matsuoka[4]建立了基于生物神經反應的CPG. 2007年Ijspeert等[5]和Karakasiliotis等[6]利用Kuramoto神經振蕩器,對仿生蠑螈機器人進行了運動控制。2013年Raley等[7]分別對Hopf神經振蕩器、Van der Pol振蕩器以及振幅耦合相位振蕩器(ACPO)穩定性進行了對比分析。2015年Kuhlman等[8]利用Hopf神經振蕩器進行了四足機器人運動控制研究。
2001年鄭浩峻等[9]利用Matsuoka神經振蕩器,針對四足機器人的協調運動和環境適應性構建了機器人控制模型。2014年Li等[10]利用Hopf神經振蕩器構建了四足機器人控制模型,實現了靜走步態和對角步態的平順切換。2018年李中雯等[11]利用Hopf神經振蕩器模型對含有并聯脊柱的四足機器人進行運動控制,建立了機器人四肢與并聯脊柱之間的耦合關系。另外辛亞先等[12]、韓寶玲等[13]、張云等[14]、曲夢可等[15]、李奇敏等[16]也做了相關研究,取得了一定進展。
基于CPG仿生控制方法也應用于不含腿部結構的仿生機器人運動控制中,其中以蛇形機器人及魚形機器人為主。2019年喬貴方等[17]利用Kuramoto神經振蕩器構建了蛇形機器人運動控制模型。2015年高琴等[18]利用Hopf神經振蕩器對蛇形機器人進行了多關節運動協調控制。2016年王揚威等[19]利用Kuramoto神經振蕩器對水下含有環形鰭狀的波動推進器進行了運動協調控制。
除單一類型神經振蕩器外,混合神經振蕩器也逐漸用于機器人運動控制。2016年金英連等[20]利用Hopf和Kuramoto混合神經振蕩器控制仿尺蠖機器人運動。
本文討論Hopf神經振蕩器特點,以及爬行四足機器人步態運動特點;建立爬行四足機器人四肢CPG,使其實現靜走和對角步態協調運動;討論Kuramoto神經振蕩器特點,建立機器人軀干CPG,并對其進行改進,同時加入對四肢CPG的單向耦合;搭建MATLAB軟件仿真平臺,開展直線運動仿真,分析實驗結果,并歸納實驗結論。
CPG根據其模型機理分為基于生物神經模型的CPG和基于非線性數學表達式的CPG. 基于生物神經模型的CPG表達式具有明確的物理含義,但是結構復雜;基于非線性數學表達式的CPG表達式簡潔,但是不具有明確的物理含義。兩種CPG雖然建立方式不同,但是都需要生成規律的振蕩信號以實現機器人的協調運動。Hopf CPG隸屬于基于非線性數學表達式的CPG,其數學表達式為
(1)
式中:θH為振蕩器相位;rH為振蕩器的神經信號幅值;xH、yH分別為Hopf振蕩器在OxHyH平面的坐標值;α為Hopf振蕩器極限環收斂速度;μ為Hopf振蕩器幅值設定值的平方;ωH為振蕩器固有頻率。本文選用坐標系的零點為機器人四肢CPG的振蕩中心。
圖1所示為Hopf神經振蕩器的相平面圖,與Matsuoka[4]提出的CPG相比,該振蕩器調節參數較少、模型相對簡單、穩定性及收斂速度較高。

圖1 Hopf神經振蕩器相平面圖Fig.1 Phase plane of Hopf neural oscillator
設定爬行四足機器人左前腿、右前腿、左后腿、右后腿序號分別為1、2、3、4,其對角與靜走步態時序圖如圖2和圖3所示。由圖2和圖3可以看出:當機器人處于靜走步態時,機器人腿部著地相的占空比大于0.75,四肢著地順序為1-4-2-3;當機器人處于對角步態時,機器人腿部著地相的占空比約為0.5,四肢著地順序為1,4-2,3,即腿1和腿4同時落地時,腿2和腿3同時離地。對比圖2與圖3可知,機器人前向或后向兩肢運動相差約半個運動周期。令機器人四肢相位歸一化變量分別為f1、f2、f3、f4,當爬行四足機器人處于靜走步態時,|f1-f2|=|f3-f4|=0.5,0<|f1-f4|≈0.25;當機器人處于對角步態時,|f1-f2|=|f3-f4|=0.5,|f1-f4|=0,因此隨著腿1與腿2運動相位的接近,機器人運動狀態逐漸由靜走步態轉換為對角步態。

圖2 靜走步態時序圖Fig.2 Walking gait

圖3 對角步態時序圖Fig.3 Trot gait
爬行四足機器人處于不同步態運動時,其四肢運動相位存在一定關系,并可進行數學表達。為模擬機器人協調運動時四肢間的影響關系,設定機器人四肢中樞神經網絡結構如圖4所示,機器人每條機械腿上均有一個神經振蕩器,4個神經振蕩器之間相互影響,形成交叉網狀結構。

圖4 四肢中樞神經網絡結構圖Fig.4 Central nervous network structure of limbs
爬行四足機器人四肢CPG最終數學表達式為
(2)
式中:等號右側第1項代表Hopf神經振蕩器的自激振蕩行為,第2項代表機器人四肢CPG之間的耦合作用;xH,i、yH,i分別為腿i振蕩器在OxHyH平面的坐標值;ωH,i為腿i的固有頻率;KH為振蕩器耦合項的強度系數;θH,i為機器人機械腿i的振蕩器相位;rH,i為腿i振蕩器的神經信號幅值;i為當前四肢CPG序號,j為其他與當前產生耦合關系的四肢CPG序號,i≠j,取值范圍均為{1,2,3,4}。
為實現對爬行四足機器人四肢協調控制,采用Li等[10]提出的Hopf神經振蕩器改進方案,結果如(3)式所示:
(3)
式中:ωs,i為機器人騰空相頻率;a為放大系數,是正參數,決定了機器人四肢騰空狀態與著地狀態的切換速度;β為機器人著地相占空比。可以看出(3)式根據機器人步態占空比將騰空相頻率轉化為整體運動固有頻率,ωH,i≈2(1-β)ωs,i.
1.3 造模 在含有10%FBS的RPMI-1640中培育(37℃、 5% CO2培養箱)HepG2/ADM細胞,經傳代后取指數生長期的 HepG2/ADM細胞,使用緩沖液稀釋懸浮,稀釋密度為1×109/ml,按照每只0.2 ml分別注射至每只裸鼠左側或右側腋部[7]。接種后1周左右可見瘤體長成,10 d左右瘤體直徑約0.6 cm,造模成功[8]。

圖5 四肢CPG相位隨時間變化曲線Fig.5 Phase-time curve of CPG for limbs
對爬行四足機器人四肢CPG進行MATLAB軟件數值仿真,通過改變fi和fj系數,使機器人四肢中樞神經控制系統在0~165 s和330~500 s范圍內進行靜走步態,165~330 s范圍內進行對角步態,其中設定振蕩器相鄰相位變化時間為50 ms,迭代次數為10 000,腿部騰空相頻率在靜走步態時約為0.48 Hz,對角步態時約為0.32 Hz. 通過模擬機器人不同步態下的相位關系以及不同步態之間的切換,可獲得圖5所示四肢CPG相位隨時間變化曲線,其中相位小于0 rad的部分代表機器人腿部騰空狀態,大于0 rad的部分代表腿部著地狀態。由圖5可以看出:在0~165 s和330~500 s時,當代表四肢中一條腿的振蕩器相位小于0 rad時,其余3個振蕩器的相位大于0 rad,滿足機器人靜走步態四肢之間協調運動的特征;在165~330 s時,代表四肢中對角兩條腿的振蕩器相位相同,并與相鄰腿部振蕩器的相位相差半個周期,滿足機器人對角步態四肢之間協調運動的要求,且在步態切換過程中未發生振蕩器相位突變的情況。由此可見,Hopf神經振蕩器不僅可實現爬行四足機器人靜走步態和對角步態,而且可實現機器人步態柔順切換。

圖6 軀干中樞神經網絡結構圖Fig.6 Central nervous network structure of trunk
爬行動物在協調運動過程中,其脊椎和尾部會伴隨自身運動進行左右擺動。其中脊椎的擺動幅度從髖關節位置到頸部關節位置逐漸減小[2],髖關節左右擺動為后肢前后擺動提供較大的活動空間。根據此運動特點,本文選取Kuramoto神經振蕩器作為爬行四足機器人軀干CPG,選取Ijspeert等[5]、Karakasiliotis等[6]提出的蠑螈CPG中樞神經網絡模型作為機器人整體的中樞神經網絡模型,并對其進行如圖6所示的改進。在機器人軀干中樞神經網絡結構中加入軀干CPG 1,對軀干CPG 8以及軀干CPG 9對軀干CPG 16的雙向耦合,使軀干中樞神經網絡結構由鏈式開環結構變為鏈式閉環結構。
Kuramoto中樞神經振蕩器的數學表達式為
(4)

圖7 不包含四肢影響的軀干關節旋轉角隨時間變化曲線Fig.7 Angle-time curves of trunk joint without limbs

當爬行四足機器人軀干中樞神經控制系統不加入對四肢中樞神經控制系統單向耦合時,對其進行MATLAB軟件數值仿真。由于Kuramoto神經振蕩器到達鎖相狀態時,耦合強度系數不存在明顯的上下界[21-22],通過試數法確定機器人軀干部分各中樞神經振蕩器間的耦合強度系數為5. 圖7為不包含四肢影響的軀干關節旋轉角隨時間變化曲線,當軀干各個關節旋轉角為0°時,軀干整體呈現直線姿態。由圖7可以看出,在一個完整周期內每個關節所處旋轉角對應時間保持穩定的時間差,并且相鄰關節之間時間差約為1/8個周期,因此當機器人軀干中樞神經控制系統不加入對四肢中樞神經控制系統單向耦合時,該中樞神經控制系統擁有較高的穩定性。
在爬行四足機器人進行運動協調控制時,其軀干與四肢之間的相互協調運動是運動協調控制的關鍵。機器人四肢與軀干運動的協調關系體現為四肢擺動關節到達最大角度時軀干關節也擺動到最大角度,當同側腿部相互靠近時其軀干也逐漸向另一側橫向移動,同時由于其線長度不變,在軀干橫向擺動時其自身存在微小的縱向波形運動。因此,機器人軀干與四肢之間相位應存在一種映射或耦合關系,使二者運動趨勢保持一致。
Kuramoto神經振蕩器具有一定跟隨特性,隨著耦合強度系數逐漸增大,其振蕩頻率會逐漸與被耦合神經振蕩器振蕩頻率保持一致,達到鎖相狀態,并且隨著耦合強度系數進一步增大,其相位和振蕩頻率與被耦合振蕩器的相位和振蕩頻率將保持一致,達到完全同步狀態[21-22]。令目標振蕩器以如圖8(a)所示正弦函數和圖8(c)所示指數函數的方式進行振蕩,并令Kuramoto神經振蕩器分別與其進行單向耦合,輸出如圖8(b)和圖8(d)所示的振蕩曲線,此時振蕩器的數學表達式為

圖8 目標振蕩器與Kuramoto振蕩器相位隨 時間變化曲線Fig.8 Phase-time curves of target oscillator and Kuramoto ocsillator

(5)

根據Kuramoto神經振蕩器跟隨同步的特點,令軀干CPG與四肢進行單向耦合,在(4)式第1行中加入對四肢CPG的耦合項Kcsin (θH,i-θK,n),其中:Kc為該耦合項的耦合強度系數;同時為實現快速調節其耦合強度系數的功能,令爬行四足機器人四肢與軀干CPG的固有頻率進行線性映射,如(6)式所示:
ωK,n=ωH,i/β.
(6)
(6)式使機器人軀干與四肢CPG的固有頻率保持一致,當軀干固有頻率逐漸接近四肢固有頻率時,軀干CPG振動頻率會與四肢達到一致,最終達到協調控制的效果。在機器人軀干中樞神經控制系統加入對四肢CPG單向耦合,其神經網絡結構如圖9所示,每個腿部的神經振蕩器均與其相鄰4個軀干CPG產生單向耦合影響。根據Kuramoto振蕩器特點可知,軀干CPG的振動頻率將會與該腿部的頻率及相位一致,而機器人軀干中的16個振蕩器將會分成4組,組內振蕩器振動頻率一致,相位近似一致,組與組之間振蕩器頻率一致,但是振動相位會保持固定的相位差,達到鎖相狀態。

圖9 四肢- 軀干中樞神經網絡結構圖Fig.9 Central nervous network structure between trunk and limbs

圖10 包含四肢影響的軀干關節旋轉角隨時間變化曲線Fig.10 Angle-time curves of trunk joint with limbs
利用MATLAB軟件對其進行數值仿真,四肢與軀干之間的單向耦合強度系數利用試數法確定為35,如圖10所示為包含四肢影響的軀干關節旋轉角隨時間曲線。由圖10可見,與四肢CPG相位隨時間及不包含四肢影響的軀干關節旋轉角隨時間變化曲線相比,數值模擬分為靜走、靜走到對角過渡、對角、對角到靜走過渡、靜走5個運動階段,對應時間段分別為0~165 s、165~197 s、197~330 s、330~362 s、362~500 s,其中:包含四肢影響的軀干關節旋轉角和四肢CPG在第1次靜走步態階段內產生6次振蕩,并且二者振蕩曲線形狀相似,相位上升沿占空比約為0.50和0.25;不包含四肢影響的軀干關節旋轉角只產生5次振蕩,上升沿占空比約為0.50. 在對角步態階段內,包含四肢影響的軀干關節旋轉角和四肢CPG產生約6.5次振蕩,不包含四肢影響的軀干關節旋轉角只產生約4.5次振蕩,三者上升沿占空比約為0.50. 在第2次靜走步態階段內,包含四肢影響的軀干關節旋轉角和四肢CPG同時產生約5.5次振蕩,二者上升沿占空比分別約為0.50和0.25,不包含四肢影響的軀干關節旋轉角產生約4.5次振蕩,上升沿占空比約為0.50. 由此可知,四肢對軀干CPG的單向耦合使軀干產生了隨動效應,迫使二者的振動頻率保持一致,但是該單向耦合并未對四肢的振動頻率產生影響。
利用MATLAB/Robotics工具箱建立爬行四足機器人虛擬樣機,分別進行靜走步態、靜走到對角過渡步態、對角步態、對角到靜走過渡步態直線運動仿真。假設機器人四肢同時處于著地相時,四肢俯仰關節處于0°,即四肢與軀干處于同一平面,四肢處于騰空相時,其俯仰關節向上轉動30°且保持固定角度。為更好地觀察和區分機器人四肢著地相與騰空相姿態,設定其俯仰關節角度變化滿足階躍曲線,機器人頭部為機器人足端運動的參考系,并設定其原點在機器人頭部與軀干相連的關節處,頭部所在直線為參考系的X軸,參考系的Z軸與軀干所處平面垂直。

圖11 機器人直線運動Fig.11 Robot in linear motion
在爬行四足機器人仿真運動實驗中,步態時間取值與中樞神經控制系統數值仿真中的取值相同,提取100~126.2 s、165~197 s、272.4~292.4 s、330~362 s內的仿真結果,分別對應一個完整靜走步態、靜走到對角過渡步態、對角步態、對角到靜走過渡步態,如圖11所示。由圖11可以看出:在100~126.2 s時,機器人腿1首先處于騰空相,其余3條腿處于著地相,并且在一個步態周期內腿部騰空順序依次為1、4、2、3,其四肢著地順序、步態特征與靜走步態吻合,此時機器人處于靜走步態;在165~197 s內,對角腿運動相位會逐漸趨于一致,各腿騰空相的占空比逐漸由1/4變化到1/2;在272.4~292.4 s時,腿1與腿4處于騰空相時,腿2與腿3處于著地相,同時腿1與腿4向前擺動一個步長,其余兩條腿向后擺動一個步長,軀干會橫向擺動,而尾部擺動方向則與其方向相反,機器人運動狀態符合對角步態運動特征,此時處于對角步態;在330~362 s時,對角腿運動相位由一致逐漸變化到相差1/4個周期,同時在過渡過程中各腿騰空相的占空比逐漸由1/2變化到1/4. 根據對機器人靜走與對角步態相互切換過程4種步態的仿真可知,機器人各個關節運動協調,未出現運動混亂或運動干涉的現象,因此混合神經振蕩器可使機器人分別實現靜走步態和對角步態協調運動,還可實現兩種步態之間的柔順切換。
輸出機器人腿1足端軌跡,并使其與該腿的神經振蕩器相位進行對比,如圖12所示。由圖12可以看出:當振蕩器處于上升沿時,腿1足端在Z軸上的投影大于0 mm,在X軸上的投影沿其正方向移動,此時其處于騰空相;當振蕩器處于下降沿時,腿1足端在Z軸上的投影等于0 mm,在X軸上的投影沿其負方向移動,此時處于著地相,由此可知機器人運動姿態很好地與其振蕩器變化趨勢相吻合。

圖12 腿1足端位置及其相位隨時間變化曲線Fig.12 Place-time and phase-time curves in Limb 1
本文設計了一種基于Hopf和Kuramoto模型的混合神經振蕩器,用于實現對含有主動柔性軀干的爬行四足機器人運動協調控制。所得主要結論如下:
1)混合神經振蕩器能夠實現爬行四足機器人靜走及對角步態運動,并實行機器人四肢與軀干之間的協調運動。
2)在軀干神經振蕩器中加入對四肢CPG的耦合項,可以實現四肢運動對軀干運動的單向影響。
3)混合神經振蕩器與單一Kuramoto神經振蕩器相比,減少了不穩定運動的時間,并增加了機器人可實現步態;與單一Hopf神經振蕩器相比,減少了軀干神經振蕩器相位差帶來的影響,并降低了步態協調控制的復雜度。
盡管基于Kuramoto和Hopf混合神經振蕩器的爬行四足機器人運動協調控制具有一定的便捷性、快速性和穩定性,但是由于Kuramoto神經振蕩器的單向耦合系數對該振蕩器的振蕩狀態具有較大影響,因此下一步工作需要采用自適應方法找到更合適的單向耦合系數。