李正文,張國(guó)良,張維平,羊 帆
(第二炮兵工程學(xué)院 陜西 西安 710025)
近年來(lái),仿生控制已經(jīng)在機(jī)器人控制領(lǐng)域引起了廣泛的關(guān)注,基于CPG模型的運(yùn)動(dòng)控制結(jié)構(gòu)簡(jiǎn)單且耦合能力強(qiáng),已逐漸成為多關(guān)節(jié)仿人機(jī)器人的主要控制手段。目前以CPG為背景的仿生控制仍處于起步階段,在步態(tài)生成方法、環(huán)境反饋融合機(jī)制等方面尚存在廣闊的理論研究空間[1]。
根據(jù)CPG能夠在缺乏高層控制信號(hào)和外部反饋的情況下,自發(fā)產(chǎn)生穩(wěn)定的節(jié)律性運(yùn)動(dòng),無(wú)需對(duì)環(huán)境和自身建模,減少控制系統(tǒng)的工作量,節(jié)約工作時(shí)間等特點(diǎn),筆者提出一種基于Matsuoka振蕩器的中樞模式發(fā)生器。結(jié)合仿人機(jī)器人的數(shù)學(xué)模型,構(gòu)建了CPG網(wǎng)絡(luò),并采用遺傳算法作為參數(shù)調(diào)整的主要方法,仿真結(jié)果表明,該控制策略能實(shí)現(xiàn)仿人機(jī)器人的步態(tài)規(guī)劃。
由于神經(jīng)振蕩器網(wǎng)絡(luò)[3-4](NeuralOscillatorsNetwork, NON)也具有無(wú)輸入條件下產(chǎn)生周期性振蕩信號(hào)的特點(diǎn),因此,其常被用來(lái)模擬CPG產(chǎn)生信號(hào)。一般的NON由單個(gè)神經(jīng)元或多個(gè)神經(jīng)元相互連接構(gòu)成,通過(guò)神經(jīng)元之間的相互抑制和激活產(chǎn)生周期性的節(jié)律信號(hào)。
Matsuoka振蕩器是由日本九州工學(xué)院Matsuoka提出,模型如圖1所示。Matsuoka振蕩器是由2個(gè)相互抑制的人工經(jīng)元構(gòu)成,它們的輸出合成作為振蕩器的輸出。Matsuoka振蕩器的特點(diǎn)是能夠較好地模擬CPG的生物學(xué)特性,在沒(méi)有外部激勵(lì)或者外部激勵(lì)小時(shí),只需要有穩(wěn)定的常激勵(lì),就能輸出穩(wěn)定的振蕩波形。而當(dāng)外部激勵(lì)大于一定程度時(shí),振蕩器能夠捕捉到外部的刺激信號(hào)[5]。
CPG指中樞模式產(chǎn)生器(Central Pattern Generator)?,F(xiàn)代神經(jīng)生理學(xué)的研究證明了高等動(dòng)物的節(jié)律性運(yùn)動(dòng),諸如步行、游泳、呼吸、心跳等這樣帶有節(jié)律性,且無(wú)需外部傳感輸入的運(yùn)動(dòng)是由位于神經(jīng)系統(tǒng)中層的脊髓和腦干的中樞神經(jīng)模式產(chǎn)生器產(chǎn)生[2]。CPG的一個(gè)重要的特點(diǎn)是在無(wú)輸入或長(zhǎng)激勵(lì)信號(hào)的情況下,產(chǎn)生周期性的節(jié)律信號(hào)[3]。Matsuoka振蕩器可用如下方程描述[6]:
圖1 Matsuoka振蕩器模型Fig.1 Matsuoka oscillator model
其中x1和x2表示NON中相互抑制的神經(jīng)元的內(nèi)部狀態(tài);v1和v2描述了兩神經(jīng)元相互抑制的疲勞程度;β和ω是預(yù)先定義的常數(shù);外部恒定激勵(lì)輸入c決定了NON的輸出幅值;時(shí)間常數(shù)T1和T2影響輸出信號(hào)的頻率和外形特性。下面不經(jīng)推導(dǎo),給出Matsuoka振蕩器的頻率以及穩(wěn)定振蕩約束條件:
振蕩器頻率[7]和穩(wěn)定約束條件[7]可分別表示為:
利用CPG實(shí)現(xiàn)仿人機(jī)器人的運(yùn)動(dòng)控制以及步態(tài)規(guī)劃,方法多為采用多個(gè)NON連接后構(gòu)成CPG網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)機(jī)器人的控制。因此,如何分配和連接NON即CPG網(wǎng)絡(luò)的搭建是使用CPG關(guān)鍵和難點(diǎn)之一。筆者將NON分配至各個(gè)關(guān)節(jié),NON之間通過(guò)刺激彼此連接,多個(gè)NON的自組織的模式產(chǎn)生期望步態(tài),并且將外部刺激直接映射到關(guān)節(jié)變量上。
本文中機(jī)器人運(yùn)動(dòng)過(guò)程中上身保持直立,即上肢各個(gè)關(guān)節(jié)保持初始狀態(tài),因此,僅建立機(jī)器人下肢的CPG網(wǎng)絡(luò)。根據(jù)機(jī)器人在行走過(guò)程中腳掌始終平行于地面這一約束條件,腳踝前向關(guān)節(jié)的關(guān)節(jié)變化同髖關(guān)節(jié)和膝關(guān)節(jié)關(guān)節(jié)變化可通過(guò)幾何關(guān)系確定。同時(shí)踝側(cè)向關(guān)節(jié)變化同髖側(cè)向關(guān)節(jié)變化可由一個(gè)側(cè)向關(guān)節(jié)共同表示,則CPG網(wǎng)絡(luò)如圖2所示。
圖2 CPG網(wǎng)絡(luò)Fig.2 CPG network
網(wǎng)絡(luò)方程為:
側(cè)向關(guān)節(jié):
左髖關(guān)節(jié):
右髖關(guān)節(jié):
左膝關(guān)節(jié):
右膝關(guān)節(jié):
輸出方程:
網(wǎng)絡(luò)參數(shù)為:
時(shí)間常數(shù)陣T:
根據(jù)Mastuoka振蕩器分析結(jié)論,此項(xiàng)參數(shù)決定了周期性信號(hào)的頻率。因此,可根據(jù)機(jī)器人步行的周期調(diào)節(jié)時(shí)間常數(shù)參數(shù)。筆者研究機(jī)器人在水平地面的行走問(wèn)題,可根據(jù)期望的步行周期預(yù)先。
預(yù)定義常數(shù)矩陣B、Γ:
常激勵(lì)c:
網(wǎng)絡(luò)連接權(quán)矩陣A:
由(4)、(5)、(6)、(7)和(8)式可知需要的參數(shù)為 24 個(gè)。
參數(shù)調(diào)整是應(yīng)用CPG方法對(duì)機(jī)器人步態(tài)進(jìn)行規(guī)劃的重點(diǎn)和難點(diǎn)。本文采用遺傳算法作為參數(shù)調(diào)整的主要方法,為了提高算法的計(jì)算效率首先通過(guò)經(jīng)驗(yàn)的方法尋找一定的參數(shù)變化規(guī)律,以及確定參數(shù)變化邊界。同時(shí)引入相位延遲參數(shù)等輔助方法,增大可行解空間。
1)常參數(shù)確定
常激勵(lì)參數(shù)主要決定了NON的輸出幅值,因此它的大小主要有對(duì)應(yīng)關(guān)節(jié)角變量的變化范圍決定。通過(guò)對(duì)人類行走過(guò)程的觀察及研究,髖部前向關(guān)節(jié)的移動(dòng)范圍為-30~30 deg,膝關(guān)節(jié)的移動(dòng)范圍為0~60 deg,側(cè)向關(guān)節(jié)提髖使得髖側(cè)向關(guān)節(jié)運(yùn)動(dòng)范圍為-5~5 deg,因此,常激勵(lì) c 可確定為 c=[5,30,60,5,30,60]/57.2??紤]到人類的正常步行速度為每分鐘60~75步,類比到人形機(jī)器人上的步行速度應(yīng)略小于這個(gè)速度。因此,取0.15 s一步為合適。 故 T 取為:τi,1=0.3,τi,2=0.3。 取預(yù)定義常數(shù)為:βi=2.5,γi,1=2.5,γi,2=2.0[4-6]。
2)權(quán)值參數(shù)的調(diào)整
權(quán)值參數(shù)對(duì)于網(wǎng)絡(luò)輸出沒(méi)有明確的映射關(guān)系,為了獲取各個(gè)權(quán)值參數(shù)的有效邊界,筆者采用實(shí)驗(yàn)的方法確定各個(gè)參數(shù)的邊界。具體的方法分3步進(jìn)行:1)所有參數(shù)取值相同,確定網(wǎng)絡(luò)輸出穩(wěn)定振蕩的參數(shù)范圍;2)將各個(gè)關(guān)節(jié)的NON神經(jīng)元中參數(shù)取值相同,其余NON連接參數(shù)取0,確定單個(gè)NON中參數(shù)的邊界;3)綜合考慮前兩步所確定的參數(shù)邊界,確定一個(gè)統(tǒng)一參數(shù)邊界,這樣做有利于下一步算法的編碼求解。逐個(gè)參數(shù)范圍確定經(jīng)過(guò)實(shí)驗(yàn)計(jì)算結(jié)果如表1所示。
表1 確定參數(shù)邊界Tab.1 Determining parameter limit
從表中可以看出,由于髖關(guān)節(jié)NON同其他NON間連接較多,故當(dāng)參數(shù)同時(shí)變化時(shí),髖關(guān)節(jié)參數(shù)變化范圍小,膝關(guān)節(jié)相對(duì)較大。最終確定各個(gè)NON之間的連接參數(shù)統(tǒng)一為:[-5,5]。
遺傳算法的實(shí)現(xiàn)主要涉及到參數(shù)編碼,適應(yīng)度函數(shù)的確定,種群選取以及交配和變異的方法。按照GA算法隨機(jī)初始化一個(gè)種群,初始的種群大小為240個(gè)個(gè)體,最大遺傳2 000代,進(jìn)行求解?;厩蠼饬鞒倘鐖D3所示。
圖3 確定參數(shù)流程圖Fig.3 Flow chart of determining parameter
經(jīng)過(guò)多次求解,比較各記錄值可得到如下參數(shù)結(jié)果如表2所示。
表2 參數(shù)調(diào)整結(jié)果Tab.2 Results of the parameter modulation
根據(jù)以上參數(shù),圖4給出了機(jī)器人關(guān)節(jié)角的CPG的輸出。
將上述關(guān)節(jié)角運(yùn)動(dòng)曲線代入ADAMS虛擬樣機(jī)進(jìn)行仿真,仿真時(shí)間為2 s,仿真結(jié)果如圖5所示。仿真表明,機(jī)器人的基本步態(tài)能夠滿足機(jī)器人的基本行走要求。
圖4 CPG關(guān)節(jié)角輸出Fig.4 Joint angle output of the CPG
圖5 ADAMS仿真結(jié)果Fig.5 Simulation results of ADAMS
筆者對(duì)Matsuoka振蕩器進(jìn)行了分析,并根據(jù)仿人機(jī)器人步態(tài)規(guī)劃的要求,用Matsuoka振蕩器構(gòu)建了CPG網(wǎng)絡(luò);采用遺傳算法對(duì)CPG網(wǎng)絡(luò)的參數(shù)進(jìn)行了調(diào)整,得到了網(wǎng)絡(luò)參數(shù)的調(diào)整結(jié)果,并由此得出了CPG網(wǎng)絡(luò)對(duì)機(jī)器人步態(tài)規(guī)劃的關(guān)節(jié)角輸出曲線,實(shí)現(xiàn)了仿人機(jī)器人的基本步態(tài)規(guī)劃,并通過(guò)ADAMS進(jìn)行了仿真,仿真結(jié)果表明,該控制方法在仿人機(jī)器人步態(tài)規(guī)劃中有一定的應(yīng)用價(jià)值。
[1]于海濤.基于非線性振子的CPG步態(tài)生成器及其運(yùn)動(dòng)控制方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2009.
[2]傅莉,謝華龍,徐心和.異構(gòu)雙腿行走機(jī)器人步態(tài)規(guī)劃與仿真[C]//2007中國(guó)控制與決策學(xué)術(shù)年會(huì)論文集,2007:387-390.
[3]馬宏緒,王劍,黃茜薇,等.基于CPG的仿人機(jī)器人運(yùn)動(dòng)控制方法研究[C].第六屆全球智能控制與自動(dòng)化大會(huì),大連,2006.
[4]王斐斐,張奇志,周亞麗.構(gòu)成CPGs的非線性振蕩器模型的介紹[J].北京機(jī)械工業(yè)學(xué)院學(xué)報(bào),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]姜山,程君實(shí),陳佳品,等.基于多目標(biāo)遺傳算法的仿人機(jī)器人中樞神經(jīng)運(yùn)動(dòng)控制器的設(shè)計(jì)[J].機(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.