劉成菊 耿烷東 張長柱 陳啟軍
1.同濟大學(xué)電子與信息工程學(xué)院上海201804
仿人機器人具有雙手、雙足、軀干等人類外形特征,無需改造就能適應(yīng)人類日常環(huán)境和使用工具,更容易成為輔助人類生活、工作和完成危險作業(yè)的幫手,因此可認(rèn)為是下一代服務(wù)機器人最典型、最友好的本體特征.行走控制是仿人機器人的基礎(chǔ)科學(xué)問題,但仿人機器人自由度多、傳感器多,是一個不穩(wěn)定的非線性強耦合動力學(xué)系統(tǒng),行走的自然性、環(huán)境適應(yīng)性、突發(fā)環(huán)境變化時的平衡控制是長期困擾仿人機器人發(fā)展和應(yīng)用的難題.目前,行走控制方法主要基于編程作業(yè)機制,使得仿人機器人的本體特性不能得到充分的發(fā)揮[1].普遍采用的基于零力矩點(Zero moment point,ZMP)的步行控制方法[2-7],允許機器人按照預(yù)先設(shè)計的軌跡行走并保持平衡,但是由于預(yù)先設(shè)計的軌跡是固定的,一旦地形發(fā)生變化,則機器人無法完成行走任務(wù).對于機器人的環(huán)境適應(yīng)性行走控制,需要具有自適應(yīng)產(chǎn)生軌跡的能力.
改變傳統(tǒng)的思維模式,研究和抽象生物的行走機理并加以模仿,可能是突破機器人行走控制瓶頸的有效途徑.該思想也引起相關(guān)學(xué)者的廣泛關(guān)注,其中,比較著名的方法是基于中樞模式發(fā)生器(Central pattern generator,CPG)的生物誘導(dǎo)的機器人行走控制方法[8-13].由于其突出的適應(yīng)性優(yōu)勢已經(jīng)廣泛應(yīng)用在機器人運動控制中,特別是在游泳、爬行、多足機器人的運動控制中取得了成功實驗效果[14-21].然而目前存在的CPG 模型基本只能產(chǎn)生正弦或類似正弦的輸出,如Hopf模型[22-23]、Kuramoto 模型[24-25]等.即使存在能夠在一定程度上調(diào)整輸出波形形狀的模型,如Matsuoka 模型[26-28],但是模型參數(shù)與輸出波形的形狀之間沒有明確的對應(yīng)關(guān)系,只能通過試湊法不斷地嘗試.并且只能對輸出進行簡單調(diào)整,無法準(zhǔn)確模擬某一特定形狀.在Righetti 等[29-30]的工作啟發(fā)下,我們提出了一種基于快速傅里葉變換的自學(xué)習(xí)CPG(Self-learning CPG,SL-CPG)模型.提出的模型可以學(xué)習(xí)周期性任意形狀輸入信號,解決了以往CPG 模型輸出上的局限性.自學(xué)習(xí)CPG 模型可以通過調(diào)整參數(shù)在線平穩(wěn)調(diào)整其輸出頻率和幅值,為引入傳感器信號提供了便利.
另一方面,如何將CPG 模型應(yīng)用于機器人的節(jié)律運動控制是該研究的另一難點問題.目前CPG機器人生物誘導(dǎo)控制方法應(yīng)用較多的是關(guān)節(jié)空間控制法.通常將一個CPG 單元分配給一個自由度,優(yōu)化CPG 拓?fù)渚W(wǎng)絡(luò),生成多維協(xié)調(diào)信號,直接控制關(guān)節(jié)運動實現(xiàn)運動控制.關(guān)節(jié)空間方法在爬行、游泳、多足等機器人上取得了突出的研究成果.但是仿人機器人自由度多、結(jié)構(gòu)復(fù)雜,如果直接將CPG 分配到機器人關(guān)節(jié)空間,利用CPG 之間的相互耦合組成CPG 網(wǎng)絡(luò),網(wǎng)絡(luò)龐大,參數(shù)眾多.一些學(xué)者將CPG 和進化算法結(jié)合來實現(xiàn)仿人機器人的行走控制[31-34],參數(shù)的進化是CPG 產(chǎn)生滿足要求控制信號的關(guān)鍵,但參數(shù)和CPG 網(wǎng)絡(luò)的輸出軌跡的關(guān)系并不直觀.部分學(xué)者探索在機器人的工作空間來有效利用CPG 的適應(yīng)性[35-41],取得了不錯的實驗效果.
基于學(xué)者們的前期研究,我們提出了生物誘導(dǎo)的仿人機器人工作空間行走模型.本文中,我們采用自學(xué)習(xí)CPG 模型在線生成仿人機器人質(zhì)心和腳掌軌跡.分別利用兩組SL-CPG,通過對示例軌跡的訓(xùn)練學(xué)習(xí),形成可以在線調(diào)制的軌跡生成器.通過傳感器測得機器人自身姿態(tài)信息作為軌跡發(fā)生器的反饋輸入,因此可以根據(jù)具體的地面環(huán)境適應(yīng)性調(diào)節(jié)輸出軌跡.機器人的行走速度、腿的支撐段和擺動段的時間、邁步跨度和抬腿高度等可以實時地調(diào)整,這是實現(xiàn)環(huán)境適應(yīng)性行走的重要前提條件.基于工作空間的方法大大簡化了CPG 網(wǎng)絡(luò)和參數(shù)整定,不需要事先獲得地形條件信息,也不依賴于地形測量的距離傳感器信息.仿人機器人坡面環(huán)境適應(yīng)性行走實驗驗證了控制系統(tǒng)的有效性.
自學(xué)習(xí)CPG 模型采用分層式設(shè)計:底層為記憶單元,高層為協(xié)調(diào)單元.記憶單元負(fù)責(zé)學(xué)習(xí)關(guān)節(jié)的參考控制信號,協(xié)調(diào)單元負(fù)責(zé)調(diào)整各關(guān)節(jié)的相位關(guān)系并完成步態(tài)控制.該模型與其他模型的主要區(qū)別在于把相位同步和關(guān)節(jié)的運動模式控制分離開來.將相位振蕩器模型(如Kuramoto 模型)作為新模型的協(xié)調(diào)單元,僅用來產(chǎn)生相位同步的信息.而把關(guān)節(jié)的運動模式控制作為記憶單元單獨進行設(shè)計.產(chǎn)生的關(guān)節(jié)控制信號不僅可以保證相位鎖定還能實現(xiàn)各種關(guān)節(jié)運動模式.而記憶單元采用傅里葉級數(shù)的思想,用有限次的諧波去逼近一個周期函數(shù),學(xué)習(xí)過程采用Hebbian 學(xué)習(xí)方法,可以在線學(xué)習(xí)任意輸入,并能夠把學(xué)到的信息儲存起來,通過協(xié)調(diào)單元的調(diào)節(jié)作用,產(chǎn)生合適的輸出.
任意一個周期函數(shù)都可以按傅里葉級數(shù)展開為
其中,a是常數(shù)項,ω是基波的角速度.a和ω很容易計算得到.去掉直流分量整理為
其中,i是整數(shù),i ≥1.因此bn和φn如果確定,那么前i個諧波和就可以用來近似y′.
自學(xué)習(xí)CPG 的基本思想如圖1所示.每個圓代表具有自學(xué)習(xí)能力的諧波.y′代表需要學(xué)習(xí)的示例軌跡,P代表系統(tǒng)的輸出,F是y′與P的差值.隨著學(xué)習(xí)訓(xùn)練的進行,P將逐漸趨向于y′,F趨向于0,由于忽略了高次諧波,F最終不會為0.但是如果采用足夠多的諧波,F將足夠小,可以近似于0,此時對系統(tǒng)的影響可以忽略不計.這也就意味著系統(tǒng)的輸入和反饋可以切斷,系統(tǒng)的輸入為0,學(xué)習(xí)過程停止,系統(tǒng)變?yōu)橐粋€自治的系統(tǒng),系統(tǒng)的輸出P雖然和y′有輕微變化,但非常接近y′.基于此,CPG模型可以學(xué)習(xí)和生成任意周期性信號.
圖1 自學(xué)習(xí)CPG 模型學(xué)習(xí)基本過程Fig.1 Basic learning process of SL-CPG model
1.2.1 Hopf 振蕩器模型
Hopf 振蕩器易于獨立調(diào)節(jié)波形的幅值和頻率,因此本文采用Hopf 振蕩器設(shè)計自學(xué)習(xí)CPG 模型,Hopf 振蕩器描述如下:
1.2.2 幅值學(xué)習(xí)
在Hopf 振蕩器模型中加入一個擾動項εF,則式(3)變?yōu)?/p>
其中,F=P -y′,ε為常數(shù).進行變量替換,令x=rcos(t)和x=rsin(t),式(4)變?yōu)?/p>
觀察式(2),需要確定的變量就是幅值a和相角nωt+φn.而在式(5)中,μ控制幅值,φ是極坐標(biāo)系下極角變量,相角可以直接通過φ得到.對于如何得到μ,我們借助于Hebbian 學(xué)習(xí),設(shè)計了一個新的變量α來取代μ,使得α也變成一個動態(tài)項,來學(xué)習(xí)輸入信號的幅值,如式(6)所示.
其中,η是學(xué)習(xí)率,ω是基波角速度,可以通過對輸出信號y′進行快速傅里葉變換得到,n代表第n次諧波.最終采用式(6)完成對周期性信號y′的學(xué)習(xí),系統(tǒng)的輸出如下:
1.2.3 保持模型內(nèi)相位同步
經(jīng)過上面的步驟,已經(jīng)得到了一個能夠?qū)W習(xí)任意周期波形的模型,但這只是一個最基本的模型,要實際應(yīng)用還需要進一步改進.主要的問題在于:無法調(diào)整該模型輸出波形的相位.我們不僅要控制一個關(guān)節(jié),而是要同時控制多個關(guān)節(jié)并協(xié)調(diào)它們之間的相位使之滿足一定的步態(tài).因此,如果不能調(diào)整任一輸出的相位,模型間是不能協(xié)調(diào)工作的,也就不能用來控制行走.所以,單個模型必須能夠根據(jù)上一層的控制信號改變輸出波形的相位.
根據(jù)設(shè)計的模型,每個輸入都是由一組諧波疊加進行逼近的,當(dāng)學(xué)習(xí)結(jié)束時,這組諧波之間其實也形成了一定的相位關(guān)系.如果在上層控制信號發(fā)出改變輸出波形相位的命令后,這個相位關(guān)系還能夠一直保持,那么就能保證調(diào)整相位后,輸出波形的形狀不變.因此,首先要記錄這個學(xué)習(xí)到的相位關(guān)系,另外,還要能夠保持這個相位關(guān)系.
定義θn=φn-nφ1,θn表示學(xué)習(xí)完成以后第n次諧波與基波之間的相位差.當(dāng)F設(shè)置為0 之后,θn將不再發(fā)生變化.采用Kuramoto 模型的方法,此時學(xué)習(xí)結(jié)束后的模型為
當(dāng)有高層信號使得基波相位發(fā)生變化時,其他諧波相位也會立刻跟隨基波相位發(fā)生變化,最終保持之前的相位關(guān)系.因此疊加之后的波形除了相位產(chǎn)生了平移,波形形狀保持不變.
1.2.4 保持模型間相位同步
通過加入Kuramoto 項,保持了諧波與基波間的相位差,當(dāng)基波相位發(fā)生變化時,各次諧波的相位能進行跟隨,因此保證了模型能夠輸出正確的波形.為了保持各自學(xué)習(xí)CPG 之間的相位差,也就是各模型間的相位差,只需要另外加入Kuramoto 項,使相互有連接關(guān)系的模型基波之間保持一定的相位差.
1.3 自學(xué)習(xí)CPG 的參數(shù)調(diào)制
當(dāng)自學(xué)習(xí)CPG 模型完成對示例信號的訓(xùn)練學(xué)習(xí)后,模型成為一個自治系統(tǒng).在式(8),αn和ω分別影響CPG 輸出的幅值和頻率.引入幅值調(diào)節(jié)系數(shù)kα,頻率調(diào)節(jié)系數(shù)kω和直流分量調(diào)節(jié)系數(shù)ka如式(9)所示,可以分別獨立調(diào)節(jié)幅值和頻率分別為示例軌跡的kα和kω倍,這有利于自學(xué)習(xí)CPG 根據(jù)不同控制需求產(chǎn)生適應(yīng)性的軌跡.
圖2 表示自學(xué)習(xí)CPG 模型對一個示例軌跡的學(xué)習(xí)情況,其中虛線代表示例軌跡,實線代表自學(xué)習(xí)CPG 模型的輸出.當(dāng)為t <4 s 時為模型學(xué)習(xí)階段,當(dāng)t= 4 s 時,模型學(xué)習(xí)完成,取消示例軌跡的輸入,此時自學(xué)習(xí)CPG 仍然能夠按照示例軌跡的形狀繼續(xù)生成.
圖2 自學(xué)習(xí)CPG 學(xué)習(xí)結(jié)果Fig.2 The learning results of SL-CPG
圖3 表示訓(xùn)練完成后分別調(diào)節(jié)幅值和頻率調(diào)節(jié)參數(shù)調(diào)節(jié)CPG 的輸出.在t= 0~0.6 s,kα= 1 和kω=1,CPG 輸出保持和參考軌跡相同的幅值和頻率;在t= 0.6~1.6 s,kα=0.5 和kω=1,CPG 輸出幅值為參考軌跡的一半,頻率相同;在t >1.5 s,kα= 1 和kω= 0.5,CPG 輸出幅值和參考軌跡的相同,頻率是參考軌跡的一半.
圖3 自學(xué)習(xí)CPG 參數(shù)調(diào)制Fig.3 The parameters modulation of SL-CPG
本文提出的仿人機器人適應(yīng)性行走的控制系統(tǒng)的整體構(gòu)架如圖4所示,自學(xué)習(xí)CPG 軌跡發(fā)生器包括質(zhì)心、腳掌軌跡發(fā)生器和運動引擎.
圖4 整體控制系統(tǒng)構(gòu)架Fig.4 The architecture of the control system
利用自學(xué)習(xí)CPG 模型對示例的仿人機器人行走時的軌跡進行訓(xùn)練學(xué)習(xí),能夠得出機器人的三維質(zhì)心軌跡發(fā)生器,質(zhì)心軌跡在垂直方向上與擺動腳在垂直方向規(guī)律一致,CoMz上軌跡由擺動腳軌跡映射得出.這里采取兩個自學(xué)習(xí)CPG 模型來訓(xùn)練學(xué)習(xí)質(zhì)心在x和y方向上的運動,為保持軌跡的同步性,兩個發(fā)生器之間的相位差設(shè)為0.圖5 和圖6 分別表示機器人x方向和y方向的上質(zhì)心的軌跡,其中虛線表示示例軌跡,實線表示自學(xué)習(xí)CPG 模型的輸出軌跡.
圖5 質(zhì)心x 方向和y 方向軌跡生成Fig.5 The generated CoMx and CoMy trajectories
機器人在行走時,擺動腳的軌跡在y方向上是恒定的,所以只需要訓(xùn)練兩個維度的軌跡.和質(zhì)心軌跡的訓(xùn)練類似,同樣采用了兩個自學(xué)習(xí)CPG 模型,分別在x和z方向上進行訓(xùn)練,這兩個方向的幅值分別表示了行走的步幅和邁步的跨度,所以通過調(diào)節(jié)CPG 的參數(shù),可以很方便地調(diào)節(jié)機器人行走的上述參數(shù).機器人在行走過程分為左腳支撐階段和右腳支撐階段,在每只腳對應(yīng)的支撐階段腳掌軌跡為一段直線,自學(xué)習(xí)CPG 針對連續(xù)直線的學(xué)習(xí)會有較大的誤差.
本文采用雙腳擺動軌跡聯(lián)合的改進思路,把雙腳擺動軌跡聯(lián)合,只學(xué)習(xí)擺動階段軌跡,然后通過對左右腳支撐的判斷,實現(xiàn)雙腳軌跡的分離.
圖6(a)和6(b)為改進前自學(xué)習(xí)CPG 模型分別對腳掌軌跡的x和z方向的學(xué)習(xí)結(jié)果,在直線段有明顯的誤差.圖7(a)和7(b)為改進后自學(xué)習(xí)CPG 模型分別對腳掌軌跡的x和z方向的學(xué)習(xí)結(jié)果,每幅圖的上半部是左右腳聯(lián)合的擺動階段軌跡,下半部是軌跡分離后單腳的軌跡.其中虛線為示例軌跡,實線為自學(xué)習(xí)CPG 腳掌軌跡生成器輸出軌跡.
圖6 CPG 模型改進前腳掌x 方向和z 方向軌跡學(xué)習(xí)結(jié)果Fig.6 The learning results of the x and z direction foot trajectories before CPG model improved
圖7 CPG 模型改進后腳掌x 方向和z 方向軌跡學(xué)習(xí)結(jié)果Fig.7 The learning results of the x and z direction foot trajectories after CPG model improved
在人類坡面行走過程中,會通過前庭反射來調(diào)制姿態(tài),例如身體質(zhì)心的位置,來避免傾覆.實現(xiàn)機器人環(huán)境適應(yīng)性的關(guān)鍵是如何通過對機器人自身狀態(tài)和外部環(huán)境的感知所獲得反饋信息,實現(xiàn)運動控制系統(tǒng)的自我調(diào)節(jié).機器人身體姿態(tài)角度θpitch可以反映機器人的行走坡面情況,因此以身體姿態(tài)角度作為反饋信息實時在線調(diào)制CPG 的輸出,調(diào)整質(zhì)心和腳掌軌跡的輸出軌跡,從而實現(xiàn)仿人機器人的坡面適應(yīng)性行走控制,反饋設(shè)計如圖8所示.
圖8 反饋控制回路框圖Fig.8 The block diagram of feedback control loop
在機器人系統(tǒng)中,任務(wù)空間與關(guān)節(jié)空間的關(guān)系可描述為
其中,T= [T1···TM]T代表了末端的位置和姿態(tài),而θ=[θ1···θN]T中的θi則表示了連桿i相對于連桿i-1 的轉(zhuǎn)角或位移.
若利用分解速度控制法(Resolved motion rate control,RMRC)[42]來控制關(guān)節(jié)的角速度,可將機器人系統(tǒng)的微分運動學(xué)及逆微分運動學(xué)表示為
其中,J(θ)為雅可比矩陣,J-1(θ)為其逆矩陣.
如果N >M,則機器人系統(tǒng)是冗余的.當(dāng)雅可比矩陣非滿秩時(即系統(tǒng)為冗余時),其逆矩陣不存在,利用偽逆矩陣代替雅可比矩陣的逆矩陣[43]:
為了防止奇異性問題,可使用最小二乘法表示其偽逆矩陣為
其中,參數(shù)λ為阻尼系數(shù),保證雅可比矩陣J(θ)為滿秩的.
基于微分逆運動學(xué)的機器人運動控制引擎的設(shè)計方法如圖9所示,其中Tref和Treal代表參考軌跡和實際軌跡,J代表雅可比矩陣,θreal是實際關(guān)節(jié)角.
圖9 基于微分逆運動學(xué)的機器人運動控制引擎設(shè)計框圖Fig.9 Block diagram of robot motion control engine based on differential inverse kinematics
NAO 仿人機器人作為驗證平臺.NAO 高58 cm,裝有3 軸加速計和2 軸陀螺儀,有25 個自由度,本文只考慮兩條腿上的10 個自由度.利用傳感器陀螺儀和加速度計均可計算機器人的身體姿態(tài)角.加速度計反映的是一種靜態(tài)特性,而陀螺儀反映的是一種動態(tài)特性.由于機器人系統(tǒng)的高頻振蕩和傳感器噪聲的影響,計算得到的身體姿態(tài)角度不能客觀準(zhǔn)確地反映機器人的姿態(tài).本文設(shè)計了一種補償濾波器,如圖10所示,加速度傳感器計算的身體姿態(tài)角θacc通過低通濾波器濾掉高頻部分,陀螺儀計算出來的身體姿態(tài)角θgyro通過高通濾波器濾掉低頻部分,再將兩者加權(quán)求和得到最終的身體姿態(tài)角θ
圖10 身體姿態(tài)角計算Fig.10 Calculation of body attitude
坡面實驗環(huán)境設(shè)置包括上坡、平地以及下坡三種,上下坡面的坡度設(shè)定為10°左右.在上坡過程中,機器人質(zhì)心需要前傾,避免發(fā)生打滑;在下坡過程中,機器人應(yīng)后仰,即質(zhì)心稍滯后,避免發(fā)生傾覆.將身體姿態(tài)角作為自學(xué)習(xí)CPG 產(chǎn)生質(zhì)心軌跡x方向的反饋信息,設(shè)計如下:
為快速獲取最佳的反饋控制參數(shù),本節(jié)基于Deb 的NSGA-II 算法[44]對控制系統(tǒng)進行優(yōu)化.本文用到了二元競爭選擇,中間交叉和高斯突變等方法,實驗的仿真是在Webots 環(huán)境下進行.fitnessatti和fitnessdis是設(shè)計的兩個目標(biāo)函數(shù)來聯(lián)合優(yōu)化質(zhì)心和腳掌軌跡:
其中,fitnessatti反映了機器人在整個行走過程的穩(wěn)定性,fitnessdis代表在一次行走中機器人行走的最遠距離.
本次實驗中NSGA-II 的種群規(guī)模為50,最大優(yōu)化代數(shù)為200.優(yōu)化初期,NAO 在上坡的時候很容易摔倒,經(jīng)過約40 代的時候,NAO 可以在坡面實現(xiàn)穩(wěn)定的行走,行走軌跡有可能會偏離直線.圖11為進化到180 代的結(jié)果,圖中標(biāo)記的點是選擇的最優(yōu)解.表1 中顯示了對應(yīng)的參數(shù),這些參數(shù)在實驗中均保持相同.
表1 最優(yōu)參數(shù)集Table 1 Optimal parameters set
圖11 迭代180 次Pareto 前沿面Fig.11 Pareto front of generation 180
3.3.1 固定坡度坡面行走仿真
仿真實驗持續(xù)83 s,圖12 表示在實驗過程中身體姿態(tài)角pitch 和roll.圖13(a)表明引入身體姿態(tài)作為反饋,質(zhì)心的位置可以在線調(diào)制,當(dāng)走上坡時,CoMx沿斜面向前移動,反之,下坡時質(zhì)心向后移動.圖13(b)所示為腳掌軌跡在線生成的x-z平面軌跡,邁步的高度和長度也根據(jù)坡面適應(yīng)性調(diào)整,當(dāng)上坡時,高度和長度根據(jù)反饋信息相應(yīng)減少防止滑動,反之下坡時相應(yīng)增加,防止傾覆.圖14 是機器人坡面行走時ZMP 的分布情況,其中實線方框代表機器人腳部支撐區(qū)域,虛線代表ZMP,整個實驗過程ZMP 均保持在機器人的支撐區(qū)域內(nèi).圖15 是仿真實驗過程的截圖.
圖12 身體姿態(tài)角變化Fig.12 The body attitude angle
圖13 自學(xué)習(xí)CPG 在線生成的質(zhì)心CoMx 和腳掌軌跡Fig.13 Online generated CoMx and foot trajectory by SL-CPG
圖14 ZMP 分布Fig.14 ZMP distribution
圖15 坡面行走仿真截圖Fig.15 Snapshots of d slope terrain adaptive walking simulation experiment
3.3.2 變坡度坡面行走仿真
本文設(shè)計的第二組實驗是坡度連續(xù)增加的坡面,坡面從從左至右坡度依次是4°,6°,8°,10°和12°.自學(xué)習(xí)CPG 質(zhì)心和腳掌軌跡發(fā)生器能根據(jù)坡面變化在線生成具有適應(yīng)性的軌跡.圖16 表示在坡度逐漸增加的坡面上身體姿態(tài)角的變化,圖17 是整個實驗過程的截圖.
圖16 身體姿態(tài)角變化Fig.16 The body attitude angle
圖17 變坡度坡面仿真實驗截圖Fig.17 Snapshots of walking on varying slope
3.3.3 與關(guān)節(jié)空間法對比分析
基于關(guān)節(jié)空間法,在機器人行走時,每一個自由度都需要一個CPG 單元來控制,需要10 個CPG單元進行學(xué)習(xí),其結(jié)構(gòu)如圖18所示.
圖18 CPG 網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.18 Network structure of CPG
CPG 關(guān)節(jié)空間法成功實現(xiàn)了機器人平地的行走,圖19 是機器人平地行走時CPG 所產(chǎn)生的左腿的關(guān)節(jié)控制信號.
圖19 左腿關(guān)節(jié)控制信號Fig.19 Control signals of left leg joints
在坡面自適應(yīng)行走實驗中,實驗環(huán)境設(shè)置保持一致,反饋的設(shè)置和CPG 工作空間方法中相似:
其中,kαDoFi和kω分別表示第i(i= 1,2,···,10)個自由度的SL-CPG 單元的幅值和頻率調(diào)節(jié)系數(shù),KDOFi和Kω為反饋增益系數(shù),和為反饋調(diào)節(jié)后的更新系數(shù).
在坡面自適應(yīng)實驗中,CPG 關(guān)節(jié)空間法未能成功完成實驗,在NSGA-II 優(yōu)化算法結(jié)束后,機器人仍然無法在坡面上實現(xiàn)穩(wěn)定的自適應(yīng)行走.在關(guān)節(jié)空間法中,機器人的質(zhì)心變化是不可預(yù)測的,會導(dǎo)致非正常的步態(tài)產(chǎn)生,而且在平地行走中機器人的搖晃程度更大.相比較于關(guān)節(jié)空間法,本文所提出的工作空間法,控制網(wǎng)絡(luò)更為簡單有效,所需CPG 單元和參數(shù)較少;控制機器人的質(zhì)心軌跡,有效防止機器人滑倒和傾覆,實現(xiàn)了機器人的自適應(yīng)行走.
3.3.4 實體機器人實驗
基于Webots 中的仿真結(jié)果,將程序移植到NAO 實體機器人中,測試其行走性能.由于在Webots 中沒有絕對準(zhǔn)確的動力學(xué)模型,而且仿真和實際行走時的摩擦系數(shù)不同以及實際機器人存在損耗,所以所設(shè)計的反饋回路的參數(shù)需要在相對小的范圍內(nèi)通過試驗和誤差來調(diào)制.
在本次試驗中,機器人依次連續(xù)通過三個不同的地形:上坡,平地和下坡,其中上下坡的坡度均為7°左右.機器人在未知地形情況下,自學(xué)習(xí)CPG 基于機器人自身的身體姿態(tài)來自動在線調(diào)整質(zhì)心和腳掌的軌跡,實現(xiàn)適應(yīng)性行走.圖20 是實驗的截圖,圖21 是自學(xué)習(xí)CPG 在線生成的質(zhì)心和腳掌軌跡;圖22 是機器人行走過程中ZMP 的分布情況,其中實線代表腳掌多邊形,虛線是ZMP 分布.
圖20 適應(yīng)性行走實驗截圖Fig.20 Snapshots of adaptive walking experiment
圖21 自學(xué)習(xí)CPG 在線生成的質(zhì)心CoMx 和腳掌軌跡Fig.21 Online generated CoMx and foot trajectory by SL-CPG
圖22 ZMP 分布Fig.22 ZMP distribution
本文采用了4 個自學(xué)習(xí)CPG 單元分別對機器人的工作空間軌跡訓(xùn)練學(xué)習(xí),得到質(zhì)心和腳掌的在線軌跡發(fā)生器.自學(xué)習(xí)CPG 工作空間規(guī)劃方法,可以從機器人現(xiàn)有軌跡或人類的行走步態(tài)中學(xué)習(xí),并模仿人類的前庭反射,通過設(shè)計多個反饋回路來防止機器人發(fā)生打滑和傾覆.仿真和實體實驗以及與傳統(tǒng)關(guān)節(jié)空間法的對照實驗,驗證了所采用基于自學(xué)習(xí)CPG 的軌跡學(xué)習(xí)和生成方法以及自適應(yīng)行走控制策略的有效性.本文提出的SL-CPG 模型和工作空間軌跡生成方法對足式機器人具有普適性.下一步將研究反饋控制器的設(shè)計以及基于強化學(xué)習(xí)的參數(shù)進化算法,并結(jié)合環(huán)境信息實現(xiàn)更為復(fù)雜地形及未知外部擾動下的自適應(yīng)行走控制.