李正文,張國良,張維平,羊 帆
(第二炮兵工程學院 陜西 西安 710025)
近年來,仿生控制已經在機器人控制領域引起了廣泛的關注,基于CPG模型的運動控制結構簡單且耦合能力強,已逐漸成為多關節仿人機器人的主要控制手段。目前以CPG為背景的仿生控制仍處于起步階段,在步態生成方法、環境反饋融合機制等方面尚存在廣闊的理論研究空間[1]。
根據CPG能夠在缺乏高層控制信號和外部反饋的情況下,自發產生穩定的節律性運動,無需對環境和自身建模,減少控制系統的工作量,節約工作時間等特點,筆者提出一種基于Matsuoka振蕩器的中樞模式發生器。結合仿人機器人的數學模型,構建了CPG網絡,并采用遺傳算法作為參數調整的主要方法,仿真結果表明,該控制策略能實現仿人機器人的步態規劃。
由于神經振蕩器網絡[3-4](NeuralOscillatorsNetwork, NON)也具有無輸入條件下產生周期性振蕩信號的特點,因此,其常被用來模擬CPG產生信號。一般的NON由單個神經元或多個神經元相互連接構成,通過神經元之間的相互抑制和激活產生周期性的節律信號。
Matsuoka振蕩器是由日本九州工學院Matsuoka提出,模型如圖1所示。Matsuoka振蕩器是由2個相互抑制的人工經元構成,它們的輸出合成作為振蕩器的輸出。Matsuoka振蕩器的特點是能夠較好地模擬CPG的生物學特性,在沒有外部激勵或者外部激勵小時,只需要有穩定的常激勵,就能輸出穩定的振蕩波形。而當外部激勵大于一定程度時,振蕩器能夠捕捉到外部的刺激信號[5]。
CPG指中樞模式產生器(Central Pattern Generator)。現代神經生理學的研究證明了高等動物的節律性運動,諸如步行、游泳、呼吸、心跳等這樣帶有節律性,且無需外部傳感輸入的運動是由位于神經系統中層的脊髓和腦干的中樞神經模式產生器產生[2]。CPG的一個重要的特點是在無輸入或長激勵信號的情況下,產生周期性的節律信號[3]。Matsuoka振蕩器可用如下方程描述[6]:

圖1 Matsuoka振蕩器模型Fig.1 Matsuoka oscillator model

其中x1和x2表示NON中相互抑制的神經元的內部狀態;v1和v2描述了兩神經元相互抑制的疲勞程度;β和ω是預先定義的常數;外部恒定激勵輸入c決定了NON的輸出幅值;時間常數T1和T2影響輸出信號的頻率和外形特性。下面不經推導,給出Matsuoka振蕩器的頻率以及穩定振蕩約束條件:
振蕩器頻率[7]和穩定約束條件[7]可分別表示為:

利用CPG實現仿人機器人的運動控制以及步態規劃,方法多為采用多個NON連接后構成CPG網絡實現對機器人的控制。因此,如何分配和連接NON即CPG網絡的搭建是使用CPG關鍵和難點之一。筆者將NON分配至各個關節,NON之間通過刺激彼此連接,多個NON的自組織的模式產生期望步態,并且將外部刺激直接映射到關節變量上。
本文中機器人運動過程中上身保持直立,即上肢各個關節保持初始狀態,因此,僅建立機器人下肢的CPG網絡。根據機器人在行走過程中腳掌始終平行于地面這一約束條件,腳踝前向關節的關節變化同髖關節和膝關節關節變化可通過幾何關系確定。同時踝側向關節變化同髖側向關節變化可由一個側向關節共同表示,則CPG網絡如圖2所示。

圖2 CPG網絡Fig.2 CPG network

網絡方程為:
側向關節:
左髖關節:

右髖關節:

左膝關節:

右膝關節:

輸出方程:

網絡參數為:
時間常數陣T:

根據Mastuoka振蕩器分析結論,此項參數決定了周期性信號的頻率。因此,可根據機器人步行的周期調節時間常數參數。筆者研究機器人在水平地面的行走問題,可根據期望的步行周期預先。
預定義常數矩陣B、Γ:


常激勵c:

網絡連接權矩陣A:

由(4)、(5)、(6)、(7)和(8)式可知需要的參數為 24 個。
參數調整是應用CPG方法對機器人步態進行規劃的重點和難點。本文采用遺傳算法作為參數調整的主要方法,為了提高算法的計算效率首先通過經驗的方法尋找一定的參數變化規律,以及確定參數變化邊界。同時引入相位延遲參數等輔助方法,增大可行解空間。
1)常參數確定
常激勵參數主要決定了NON的輸出幅值,因此它的大小主要有對應關節角變量的變化范圍決定。通過對人類行走過程的觀察及研究,髖部前向關節的移動范圍為-30~30 deg,膝關節的移動范圍為0~60 deg,側向關節提髖使得髖側向關節運動范圍為-5~5 deg,因此,常激勵 c 可確定為 c=[5,30,60,5,30,60]/57.2。考慮到人類的正常步行速度為每分鐘60~75步,類比到人形機器人上的步行速度應略小于這個速度。因此,取0.15 s一步為合適。 故 T 取為:τi,1=0.3,τi,2=0.3。 取預定義常數為:βi=2.5,γi,1=2.5,γi,2=2.0[4-6]。
2)權值參數的調整
權值參數對于網絡輸出沒有明確的映射關系,為了獲取各個權值參數的有效邊界,筆者采用實驗的方法確定各個參數的邊界。具體的方法分3步進行:1)所有參數取值相同,確定網絡輸出穩定振蕩的參數范圍;2)將各個關節的NON神經元中參數取值相同,其余NON連接參數取0,確定單個NON中參數的邊界;3)綜合考慮前兩步所確定的參數邊界,確定一個統一參數邊界,這樣做有利于下一步算法的編碼求解。逐個參數范圍確定經過實驗計算結果如表1所示。

表1 確定參數邊界Tab.1 Determining parameter limit
從表中可以看出,由于髖關節NON同其他NON間連接較多,故當參數同時變化時,髖關節參數變化范圍小,膝關節相對較大。最終確定各個NON之間的連接參數統一為:[-5,5]。
遺傳算法的實現主要涉及到參數編碼,適應度函數的確定,種群選取以及交配和變異的方法。按照GA算法隨機初始化一個種群,初始的種群大小為240個個體,最大遺傳2 000代,進行求解。基本求解流程如圖3所示。

圖3 確定參數流程圖Fig.3 Flow chart of determining parameter
經過多次求解,比較各記錄值可得到如下參數結果如表2所示。

表2 參數調整結果Tab.2 Results of the parameter modulation
根據以上參數,圖4給出了機器人關節角的CPG的輸出。
將上述關節角運動曲線代入ADAMS虛擬樣機進行仿真,仿真時間為2 s,仿真結果如圖5所示。仿真表明,機器人的基本步態能夠滿足機器人的基本行走要求。

圖4 CPG關節角輸出Fig.4 Joint angle output of the CPG

圖5 ADAMS仿真結果Fig.5 Simulation results of ADAMS
筆者對Matsuoka振蕩器進行了分析,并根據仿人機器人步態規劃的要求,用Matsuoka振蕩器構建了CPG網絡;采用遺傳算法對CPG網絡的參數進行了調整,得到了網絡參數的調整結果,并由此得出了CPG網絡對機器人步態規劃的關節角輸出曲線,實現了仿人機器人的基本步態規劃,并通過ADAMS進行了仿真,仿真結果表明,該控制方法在仿人機器人步態規劃中有一定的應用價值。
[1]于海濤.基于非線性振子的CPG步態生成器及其運動控制方法研究[D].哈爾濱:哈爾濱工業大學,2009.
[2]傅莉,謝華龍,徐心和.異構雙腿行走機器人步態規劃與仿真[C]//2007中國控制與決策學術年會論文集,2007:387-390.
[3]馬宏緒,王劍,黃茜薇,等.基于CPG的仿人機器人運動控制方法研究[C].第六屆全球智能控制與自動化大會,大連,2006.
[4]王斐斐,張奇志,周亞麗.構成CPGs的非線性振蕩器模型的介紹[J].北京機械工業學院學報,2007,12(4):31-36.WANG Fei-fei, ZHANG Qi-zhi, ZHOU Ya-li.Introduction of non-1inear oscillator model of CPGs[J].Journal of Beijing Institute of Machinery,2007,12(4),31-36.
[5]姜山,程君實,陳佳品,等.基于多目標遺傳算法的仿人機器人中樞神經運動控制器的設計[J].機器人,2001,23(1):58-62.JIANG Shan,CHENG Jun-shi,CHEN Jia-pin,etal.GA basedself-organized stable humanoid robot walking pattern generators desing[J].ROBOT,2001,23(1):58-62.
[6]Righetti L,Ijspeert A.Programmable central pattern generators:an application to humanoid locomotion control[C].Proceedings of the 2006 IEEE International Conference on Robotics and Automation, Orlando,2006.
[7]Matsuoka K.Sustained oscillations generated by mutually inhibiting neurons with adaptation [J].Biological Cybernetics,1985, 52(4):367-376.