吳曉光 劉紹維 楊 磊 鄧文強(qiáng) 賈哲恒
服務(wù)機(jī)器人融合了機(jī)械、控制、計算機(jī)、人工智能等眾多學(xué)科,在各個領(lǐng)域得到應(yīng)用,如足式機(jī)器人[1]、水下機(jī)器人[2-4]、無人船舶[5]、無人飛行器[6]等,是目前全球范圍內(nèi)前沿高科技技術(shù)研究最活躍的領(lǐng)域之一.雙足機(jī)器人是服務(wù)機(jī)器人中的一種仿人足式移動機(jī)器人,能夠適應(yīng)街道、樓梯、廢墟等復(fù)雜的地形環(huán)境,可替代人類從事救援、醫(yī)療、勘探、服務(wù)等行業(yè).在雙足機(jī)器人中,基于被動步行(Passive dynamic waking)[7]理論設(shè)計的被動雙足機(jī)器人,因結(jié)構(gòu)簡單、步態(tài)柔順、能耗低等優(yōu)點(diǎn)受到廣泛研究.被動雙足機(jī)器人可充分利用自身動力學(xué)特性,僅依靠重力與自身慣性便能沿斜坡向下行走.然而,被動雙足機(jī)器人在行走過程中因缺乏主動控制,存在步行穩(wěn)定性差、抗擾動能力弱等不足.為彌補(bǔ)這些不足,研究人員通過對被動雙足機(jī)器人部分關(guān)節(jié)施加控制,研發(fā)出準(zhǔn)被動雙足機(jī)器人[8],提升了雙足機(jī)器人的步態(tài)控制能力.
為進(jìn)一步提高準(zhǔn)被動雙足機(jī)器人步行穩(wěn)定性,步態(tài)控制方法的研究逐步成為準(zhǔn)被動雙足機(jī)器人研究領(lǐng)域的重點(diǎn)方向,現(xiàn)有的控制方法包括神經(jīng)網(wǎng)絡(luò)[9]、延時反饋控制[10-11]、能量成型控制[12-13]、強(qiáng)化學(xué)習(xí)[14]等.其中,強(qiáng)化學(xué)習(xí)(Reinforcement learning,RL)因易于實(shí)現(xiàn)、適應(yīng)性好、無需先驗(yàn)知識等優(yōu)點(diǎn)而得到廣泛應(yīng)用.Tedrake 等[15]利用隨機(jī)策略梯度(Stochastic policy gradient,SPG)算法實(shí)現(xiàn)無膝雙足機(jī)器人Toddler 的步態(tài)控制,使其能夠在不平整路面上行走.Hitomi 等[16]則將SPG 應(yīng)用于一種圓足有膝雙足機(jī)器人的控制中,實(shí)現(xiàn)機(jī)器人在[0.02,0.04] rad 斜坡范圍上的穩(wěn)定行走,并提升了機(jī)器人對外界擾動的魯棒性.Ueno 等[17]采用改進(jìn)的行動者-評論家(Actor-critic,AC)算法提高了具有上肢雙足機(jī)器人的步行穩(wěn)定性,使機(jī)器人在20 組實(shí)驗(yàn)中完成19 次穩(wěn)定行走.然而,上述算法均受RL 的結(jié)構(gòu)、學(xué)習(xí)能力的制約,存在樣本利用率低、學(xué)習(xí)不穩(wěn)定、算法不易收斂等缺陷,嚴(yán)重限制了RL 對機(jī)器人步態(tài)的控制能力.
近年來,結(jié)合強(qiáng)化學(xué)習(xí)和深度學(xué)習(xí)的深度強(qiáng)化學(xué)習(xí)(Deep reinforcement learning,DRL)快速發(fā)展,迅速成為人工智能領(lǐng)域的研究熱點(diǎn)[18].DRL 利用深度學(xué)習(xí)的優(yōu)點(diǎn)克服傳統(tǒng)RL 中的缺陷,廣泛應(yīng)用于自動駕駛[19-20]、自然語言處理[21-23]等領(lǐng)域,并被引入到雙足機(jī)器人的步態(tài)控制研究中.在主動雙足機(jī)器人中,趙玉婷等[24]利用深度Q 網(wǎng)絡(luò)(Deep Q network,DQN)[25]算法,有效抑制了機(jī)器人在非平整地面行走時姿態(tài)角度的波動.在準(zhǔn)被動雙足機(jī)器人中,Kumar 等[26]將有膝雙足機(jī)器人視為智能體,利用深度確定性策略梯度(Deep deterministic policy gradient,DDPG)[27]算法,實(shí)現(xiàn)機(jī)器人長距離的行走.此外,DRL 研究中也常將雙足機(jī)器人作為控制對象,如MuJoCo[28-29]中的2Dwarker 模型、Roboschool[30]中的Atlas 模型等.
由于準(zhǔn)被動雙足機(jī)器人步態(tài)穩(wěn)定的判別較為困難,DRL 在控制準(zhǔn)被動雙足機(jī)器人時,通常以行走的更遠(yuǎn)為目的,忽略了機(jī)器人步行穩(wěn)定性、柔順性等因素,這導(dǎo)致DRL 控制下機(jī)器人步態(tài)與穩(wěn)定步態(tài)之間存在較大的差異.針對此問題,結(jié)合傳統(tǒng)RL 在準(zhǔn)被動雙足機(jī)器人步態(tài)控制方面的不足,本文提出了一種基于DRL 的準(zhǔn)被動雙足機(jī)器人步態(tài)控制方法,實(shí)現(xiàn)較大斜坡范圍([0.04,0.15] rad)下的機(jī)器人不穩(wěn)定步態(tài)控制,使機(jī)器人能夠抑制跌倒并快速恢復(fù)至穩(wěn)定步態(tài),達(dá)到提高機(jī)器人步行穩(wěn)定性的目的:1) 建立準(zhǔn)被動雙足機(jī)器人動力學(xué)模型,確立機(jī)器人的狀態(tài)空間與動作空間.2) 針對DDPG的不足,基于優(yōu)先經(jīng)驗(yàn)回放(Prioritized experience replay,PER)[31]機(jī)制,引入分布式優(yōu)先經(jīng)驗(yàn)回放(Distributed prioritized experience replay,DPER)[32]結(jié)構(gòu),建立高效的機(jī)器人步態(tài)控制方法 — Ape-X DPG 算法.3) 基于準(zhǔn)被動雙足機(jī)器人的行走特性設(shè)計的Episode 過程,結(jié)合機(jī)器人步態(tài)變化與縮放動作構(gòu)建的獎勵函數(shù),為Ape-X DPG 的高效學(xué)習(xí)提供支撐.4) 通過仿真實(shí)驗(yàn),對Ape-X DPG 的學(xué)習(xí)能力和步態(tài)控制能力進(jìn)行測試分析,驗(yàn)證步態(tài)控制方法的有效性.
本文以直腿前向圓弧足機(jī)器人作為研究對象,構(gòu)建其動力學(xué)模型,機(jī)器人物理模型如圖1 所示.機(jī)器人由連接在髖關(guān)節(jié)H處的兩條完全一致的剛性直腿組成,被動步行時具有兩個自由度,分別位于支撐點(diǎn)s與髖關(guān)節(jié)H處,記為θ1與θ2.為實(shí)施主動控制,在機(jī)器人髖關(guān)節(jié)與兩腿的踝關(guān)節(jié)處設(shè)有電機(jī).對機(jī)器人行走過程做運(yùn)動簡化[33],可將行走過程劃分為擺動階段和碰撞階段,機(jī)器人被動步行過程如圖2 所示.
圖1 機(jī)器人模型示意圖Fig.1 Sketch of the biped model
圖2 被動步行過程Fig.2 Passive dynamic waking process
圖2 中,狀態(tài)a 至狀態(tài)d 前為擺動階段.此階段,機(jī)器人支撐腿繞支撐點(diǎn)s做倒立擺運(yùn)動,擺動腿離地并繞髖關(guān)節(jié)H做單擺運(yùn)動,運(yùn)動中忽略擺動腿的擦地現(xiàn)象,由Lagrange 法推導(dǎo)擺動階段動力學(xué)方程:
其中,q為姿態(tài)向量 [θ1,θ2];M(q) 為 2×2 正定質(zhì)量慣性矩陣;H() 為重力、離心力和哥氏力之和;μ(t)=[μst,μsw] 為控制力矩集合,μst、μsw分別為支撐腿踝關(guān)節(jié)與擺動腿髖關(guān)節(jié)處的電機(jī)力矩,當(dāng)μ(t)=[0,0]時機(jī)器人處于被動步行狀態(tài).
狀態(tài)d 時刻,機(jī)器人處于碰撞階段.此階段,機(jī)器人擺動腿在碰撞點(diǎn)cp 處與地面發(fā)生瞬時完全非彈性碰撞,碰撞前后發(fā)生突變,碰撞后,支撐腿與擺動腿間角色交換,滿足:
其中,β3為前向補(bǔ)償角,“-”、“+”分別表示碰撞前瞬間和碰撞后瞬間.由于碰撞前后機(jī)器人關(guān)于碰撞點(diǎn)cp 處角動量守恒,碰撞后擺動腿關(guān)于髖關(guān)節(jié)H處角動量守恒,可得到碰撞階段動力學(xué)方程:
其中,Q-與Q+可由碰撞前后角動量守恒推導(dǎo)得到.聯(lián)立式(1)~(3)完成機(jī)器人行走過程的混合動力學(xué)模型建立.
當(dāng)機(jī)器人作為智能體時,其受控行走過程可用馬爾科夫決策過程(Markov decision processes,MDP) 描述.通常,MDP 可記為四元數(shù)組(S,A,P,R).其中,S為智能體狀態(tài)空間,A為智能體動作空間,P為狀態(tài)轉(zhuǎn)移函數(shù),R為獎勵函數(shù).本文中,將機(jī)器人的狀態(tài)空間定義為S=[x,φ],其中,x=為機(jī)器人起始狀態(tài),φ為斜坡坡度;令機(jī)器人動作空間為A=μsw,在機(jī)器人擺動擺動階段中μsw恒定,可有效防止擺動腿在行走中抖動,保證步態(tài)的柔順;由于μst空間范圍更為廣泛但對本文所選取的坡度范圍下無明顯的控制提升,因此令μst ≡0 即鎖死踝關(guān)節(jié),以減少訓(xùn)練耗時與控制能耗.因此在第t步時,機(jī)器人的行走過程可以描述為:狀態(tài)st的機(jī)器人執(zhí)行DRL 選擇的動作at,根據(jù)P遷移至狀態(tài)St+1,并通過R得到獎勵值rt(st,at).
為減少分析參數(shù),選取足地碰撞后瞬時時刻的機(jī)器人狀態(tài)空間為龐加萊截面,則機(jī)器人狀態(tài)的轉(zhuǎn)換可利用龐加萊映射f實(shí)現(xiàn),滿足:
若存在狀態(tài)x,滿足x=f(x),稱狀態(tài)x為不動點(diǎn),此時機(jī)器人步態(tài)即為穩(wěn)定步態(tài).結(jié)合MDP可知,以步態(tài)穩(wěn)定為目標(biāo)時,DRL 需選擇動作使機(jī)器人快速到達(dá)不動點(diǎn),以獲得更高的獎勵值.
DDPG 是基于確定性策略梯度(Deterministic policy gradient,DPG)[34]改進(jìn)的一種離線、無模型DRL 算法,適用于連續(xù)動作空間問題.采用DDPG 控制機(jī)器人行走,可以使機(jī)器人獲得更準(zhǔn)確的控制,加快步態(tài)的收斂速度.進(jìn)一步利用PER 替代DDPG 原有的樣本抽取機(jī)制,可提高樣本利用率,改善DDPG 的學(xué)習(xí)能力.
在DDPG 中,分別使用策略神經(jīng)網(wǎng)絡(luò)μ與價值神經(jīng)網(wǎng)絡(luò)Q表示DPG 與狀態(tài)動作值函數(shù),并組成AC 算法.其中,μ為Actor,當(dāng)機(jī)器人狀態(tài)為st時,μ選擇動作at的過程為:
其中,θμ為μ的神經(jīng)網(wǎng)絡(luò)參數(shù);Nt為動作擾動,由擾動函數(shù)N提供,用以在學(xué)習(xí)過程中探索環(huán)境.機(jī)器人在執(zhí)行動作at后,結(jié)合返回的st+1與rt,將其結(jié)合st與at組成樣本 [st,at,rt,st+1] 存入樣本池.價值網(wǎng)絡(luò)Q作為Critic,用以逼近狀態(tài)動作值函數(shù):
其中,θQ為Q的神經(jīng)網(wǎng)絡(luò)參數(shù).
為穩(wěn)定學(xué)習(xí)過程,DDPG 借鑒DQN 中的目標(biāo)網(wǎng)絡(luò)結(jié)構(gòu),構(gòu)建目標(biāo)策略網(wǎng)絡(luò)μ′與目標(biāo)價值網(wǎng)絡(luò)Q′,并在目標(biāo)網(wǎng)絡(luò)中引入緩慢更新策略:
式中,γ為獎勵折扣;Q′與μ′通過降低Q的變化幅度,抑制訓(xùn)練中Q和μ的網(wǎng)絡(luò)震蕩,達(dá)到穩(wěn)定算法學(xué)習(xí)過程的目的,DDPG 中的神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程如圖3 所示.
圖3 DDPG 中神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程Fig.3 The neural network training process in DDPG
雖然ER 能夠打破樣本間的相關(guān)性,滿足DDPG中神經(jīng)網(wǎng)絡(luò)的離線訓(xùn)練要求,但ER 并不能判斷其抽取樣本的訓(xùn)練價值,導(dǎo)致DDPG 無法充分利用樣本.為改善這一不足,采用PER 替代ER,以提升高價值樣本利用率.
PER 使用時間差分(Temporal difference,TD)誤差[35]表示樣本的價值.令樣本TD 誤差絕對值越大時價值越高,則對于樣本i,在DDPG 中的TD 誤差為:
將樣本池中的樣本按TD 誤差絕對值進(jìn)行降序排列,建立樣本的抽取優(yōu)先級:
其中,rank(i) 為樣本i排序后的隊(duì)列序號,最高優(yōu)先級pmax=1,即價值越高優(yōu)先級越高.相比于直接使用TD 誤差作為抽取依據(jù),pi能夠更好地抑制噪聲樣本的影響,此時樣本i被抽取概率為:
其中,k為樣本總量;α∈[0,1] 可調(diào)節(jié)高價值樣本在樣本集中的比例,確保樣本集內(nèi)的樣本多樣性,α=0時即為隨機(jī)抽取.同時,PER 中還使用重要性采樣權(quán)重(Importance-sampling weights,IS)對頻繁回放高價值樣本造成的影響進(jìn)行糾正,確保學(xué)習(xí)過程的穩(wěn)定,樣本i的IS 值可表示為:
其中,β∈[0,1] 可控制糾正的程度,在價值網(wǎng)絡(luò)Q的損失函數(shù)中加入IS 值,損失函數(shù)更新為:
基于PER 的DDPG 通過改變樣本抽取機(jī)制進(jìn)而改善算法學(xué)習(xí)能力,但其學(xué)習(xí)過程中訓(xùn)練與交互需順序交替執(zhí)行,限制了樣本的采集速度,增加了學(xué)習(xí)時間.為此,本文在基于PER 的DDPG 的基礎(chǔ)上引入DPER 結(jié)構(gòu),形成Ape-X DPG 算法,整體結(jié)構(gòu)如圖4 所示.
圖4 Ape-X DPG 算法結(jié)構(gòu)Fig.4 The structure of Ape-X DPG
如圖4 所示,Ape-X DPG 主要由三部分組成:
1)交互單元.交互單元負(fù)責(zé)收集機(jī)器人的行走樣本,可依據(jù)計算機(jī)性能部署多個,各單元間相互獨(dú)立.交互單元由本地DDPG、本地樣本池、機(jī)器人交互環(huán)境組成.其中,本地DDPG 控制機(jī)器人的行走,其從參數(shù)緩沖區(qū)中獲得網(wǎng)絡(luò)參數(shù);本地樣本池用于樣本的緩存,當(dāng)樣本量超過存儲上限時,計算樣本初始優(yōu)先級并送入公共樣本池.
2)公共樣本池.公共樣本池負(fù)責(zé)存儲交互中產(chǎn)生的所有樣本,同時使用PER 為訓(xùn)練單元抽取訓(xùn)練樣本集.為減少樣本在排序與抽樣時的計算消耗,公共樣本池采用二叉樹結(jié)構(gòu).
3)訓(xùn)練單元.訓(xùn)練單元利用樣本集不斷訓(xùn)練學(xué)習(xí).訓(xùn)練單元本身不直接參與機(jī)器人的交互,但每次訓(xùn)練后,其會將訓(xùn)練后參數(shù)存入?yún)?shù)緩沖區(qū)中,并更新訓(xùn)練樣本在公共樣本池中的優(yōu)先級.
為簡化結(jié)構(gòu),本文將交互單元中的本地DDPG使用策略神經(jīng)網(wǎng)絡(luò)μ進(jìn)行替代,稱為本地Actor.簡化后,樣本的初始優(yōu)先級均為pmax=1,此時使用PER 的公共樣本池會優(yōu)先抽取傳入的新樣本,使訓(xùn)練單元更重視最新樣本的處理.
Ape-X DPG 通過上述三部分的并行執(zhí)行,將DDPG 的交互與訓(xùn)練相分離,從而有效縮短學(xué)習(xí)時間.同時,多個交互單元的部署,極大地提升樣本的收集速度,而交互單元間的相互獨(dú)立,使得不同交互單元可以采用不同擾動函數(shù)N,增強(qiáng)了算法探索環(huán)境的能力,簡化后的Ape-X DPG 過程如下所述:
為使Ape-X DPG 習(xí)得高效的步態(tài)控制策略,限定一次Episode 中最大行走步數(shù)為10 步.同時,為模擬機(jī)器人多樣的不穩(wěn)定步態(tài),隨機(jī)選擇機(jī)器人的初始狀態(tài)s1,交互單元n中1 次Episode 的過程如圖5 所示.
圖5 交互單元n 中Episode 過程Fig.5 Episode process in interaction unit n
圖5 中,falls用于標(biāo)識機(jī)器人在本次Episode 的完成狀態(tài),若在Episode 中機(jī)器人跌倒,則將Episode 中的各步標(biāo)記為falls=1;若機(jī)器人完成10 步行走,則各步標(biāo)記為falls=0.
不動點(diǎn)能夠表征機(jī)器人穩(wěn)定行走時的狀態(tài),常被用于獎勵函數(shù)的設(shè)計.但由于不動點(diǎn)求解困難且隨φ的變化而變化,因此其不適合較大斜坡范圍下的獎勵函數(shù)設(shè)計.當(dāng)機(jī)器人狀態(tài)處于不動點(diǎn)時,機(jī)器人步態(tài)單一且無需外力矩作用,因此獎勵函數(shù)可設(shè)計為:
其中,Δ=4‖xt+1-xt‖2表示機(jī)器人在龐加萊截面上的步態(tài)變化,xt、xt+1分別從樣本中的st、st+1獲得;ar=25|at|為縮放后的動作at.當(dāng)falls=1 時,機(jī)器人獲得獎勵值-1.當(dāng)falls=0 時,獎勵函數(shù)利用Δ與αr替代不動點(diǎn)評價機(jī)器人步態(tài)穩(wěn)定程度,獎勵函數(shù)空間如圖6 所示:
圖6 falls=0 時的獎勵函數(shù)空間Fig.6 Landscape of the reward function when falls=0
圖6 中,獎勵函數(shù)空間整體呈現(xiàn)單調(diào)變化趨勢,當(dāng)Δ與ar均趨近0 時將步態(tài)視為穩(wěn)定,給予機(jī)器人高獎勵值.在獎勵函數(shù)中引入動作at,可以引導(dǎo)Ape-X DPG 選擇較小的動作調(diào)節(jié)機(jī)器人步態(tài),提高機(jī)器人能效,同時減小對穩(wěn)定步態(tài)的擾動.
本文通過Python 與Matlab 的聯(lián)合仿真對Ape-X DPG 的學(xué)習(xí)與控制能力進(jìn)行驗(yàn)證.其中,Python 負(fù)責(zé)Ape-X DPG 的實(shí)現(xiàn);Matlab 負(fù)責(zé)機(jī)器人的動力學(xué)仿真;Python 與Matlab 間通過Matlab Engine 進(jìn)行通信.為 保證結(jié)果的一致性,圖像均使用Matlab 進(jìn)行繪制.
在Matlab 中,機(jī)器人物理參數(shù)設(shè)置如表1 所示.為更好地檢驗(yàn)算法控制能力,仿真實(shí)驗(yàn)中機(jī)器人采用穩(wěn)定性較差的對稱圓弧足[36],此時β3=0、碰撞后θ1=-θ2.基于機(jī)器人的步態(tài)運(yùn)動特征,限定初始時的狀態(tài)空間S1范圍:θ1∈[0.02,0.6]、∈[-2,-0.08]、∈[0,6] 、φ∈[0.04,0.15],并限定動作空間A中的usw∈[-0.3,0.3].
表1 機(jī)器人符號及無量綱參數(shù)Table 1 Symbols and dimensionless default values of biped parameters
在Python 中,采用Tensorflow[37]實(shí)現(xiàn)的Ape-X DPG,交互單元、公共樣本池分配于不同CPU核心中,訓(xùn)練單元則分配至GPU 中.訓(xùn)練單元中,Q和μ使用全鏈接神經(jīng)網(wǎng)絡(luò),均有4 個隱藏層,各層單元數(shù)分別為100、300、200、50,使用ReLU 激活函數(shù).輸入層單元數(shù)由狀態(tài)空間S決定,且Q在第3 隱藏層中接收對應(yīng)動作a.對于輸出層激活函數(shù),μ使用tanh 激活函數(shù),而Q不使用激活函數(shù).在訓(xùn)練過程中,μ和Q的學(xué)習(xí)率分別設(shè)置為 10-4、10-3,使用Adam 算法[38]更新.μ′和Q′更新參數(shù)τ為 10-4.
公共樣本池存儲上限為 5×105,PER 中參數(shù)設(shè)置分別為α=0.7、β=0.4.交互單元中,本地Actor 結(jié)構(gòu)與μ相同,本地樣本池存儲上限為 103.
由于交互單元數(shù)量與擾動函數(shù)N設(shè)置均影響著算法性能,本文通過3 組不同交互單元數(shù)量的Ape-X DPG 和1 組基于PER 的DDPG 進(jìn)行仿真實(shí)驗(yàn),對比算法的學(xué)習(xí)能力與收斂速度.在學(xué)習(xí)開始后,當(dāng)公共樣本池樣本總數(shù)到達(dá) 2.5×105時啟動訓(xùn)練單元,當(dāng)各采集單元均完成20 000 次Episode 時結(jié)束學(xué)習(xí).各組仿真實(shí)驗(yàn)中N分配與訓(xùn)練單元啟動后的學(xué)習(xí)耗時如表2 所示,表中0,1,2 表示該組算法中使用對應(yīng)N的交互單元數(shù).訓(xùn)練單元啟動后各算法獎勵曲線如圖7 所示.
表2 擾動函數(shù)N 分配與學(xué)習(xí)耗時Table 2 Noise function N settings and learning time
圖7 中,曲線表示各組算法中交互單元對應(yīng)Episode 獎勵的平均值.其中,點(diǎn)線為DDPG 的獎勵值,可以看出其學(xué)習(xí)速度緩慢且學(xué)習(xí)過程存在明顯的震蕩,雖然與2 交互單元Ape-X DPG 最終的平均獎勵值相差不大,但Ape-X DPG 的收斂更早且過程也更加穩(wěn)定.同時,由于Ape-X DPG 中交互與訓(xùn)練并行運(yùn)行,因此在相同條件下,Ape-X DPG的學(xué)習(xí)耗時顯著低于DDPG.對于三組Ape-X DPG,其在收斂后的平均獎勵值大小與交互單元數(shù)量成正比,且由于各交互單元獨(dú)立運(yùn)行,使得三組算法在執(zhí)行固定交互次數(shù)時學(xué)習(xí)整體耗時差異較小.
圖7 平均獎勵值曲線Fig.7 The curves of the average reward
為測試Ape-X DPG 的步態(tài)控制能力,本文選擇能量成型控制作為對比控制算法.當(dāng)機(jī)器人在斜坡上被動行走時,擺動階段中重力所做功轉(zhuǎn)化為系統(tǒng)動能,若碰撞階段中這部分能量被精確消耗,則機(jī)器人能量變化形成平衡,可實(shí)現(xiàn)穩(wěn)定行走;若能量無法被精確消耗,則會導(dǎo)致機(jī)器人行走的不穩(wěn)定.能量成型控制利用上述過程,將機(jī)器人不動點(diǎn)處能量總值Etarget作為參考,通過μt=[μst,μsw] 的作用,使機(jī)器人不穩(wěn)定初始能量Et快速收斂至Etarget,進(jìn)而實(shí)現(xiàn)步態(tài)的調(diào)整,有控制率:
其中,λt為自適應(yīng)系數(shù),具體為:
其中,ξ為可調(diào)阻尼系數(shù),υt-1為機(jī)器人第t-1 步時步態(tài)周期變化,表示為:
其中,Tt-1為機(jī)器人第t-1 步的行走時間.λt能夠依據(jù)步態(tài)不穩(wěn)定程度對力矩大小進(jìn)行調(diào)整,加快步態(tài)收斂速度.
不失一般性,從初始狀態(tài)空間中隨機(jī)抽取 2 000組作為測試集.能量成型控制選取參數(shù)ξ=0.8,初始λt為λ1=0.01,對于初始階段所需的Tt-1等,使用穩(wěn)定步態(tài)行走時間補(bǔ)充.DDPG 與Ape-X DPG使用上節(jié)訓(xùn)練所得參數(shù),在機(jī)器人行走15 步時檢測步態(tài)是否穩(wěn)定,各算法穩(wěn)定行走次數(shù)如圖8 所示.
圖8 測試集穩(wěn)定行走次數(shù)Fig.8 Stable walking times in test
圖8 中,能量成型控制同DDPG、2 交互單元Ape-X DPG 的穩(wěn)定行走次數(shù)接近,均高于被動行走.6 交互單元Ape-X DPG 控制能力優(yōu)于其他算法,實(shí)現(xiàn)最高的1 811 次穩(wěn)定行走,因此本文后續(xù)采用6 交互單元Ape-X DPG 進(jìn)行分析.從測試集中選擇2 組初始狀態(tài),如表3 所示.
表3 機(jī)器人初始狀態(tài)Table 3 The initial states of the biped
圖9 為以初始狀態(tài)a、b 行走的機(jī)器人前進(jìn)方向左側(cè)腿相空間示意圖,初始狀態(tài)a 時,兩種算法均可阻止機(jī)器人跌倒,使機(jī)器人步態(tài)收斂至穩(wěn)定狀態(tài),并最終形成一致的運(yùn)動軌跡.相比于能量成型控制,Ape-X DPG 的控制過程更快,僅通過兩步的調(diào)整便使機(jī)器人步態(tài)趨近于穩(wěn)定;在初始狀態(tài)b 時,能量成型控制失效,無法抑制機(jī)器人的最終摔倒,而Ape-X DPG 依然可以完成機(jī)器人不穩(wěn)定步態(tài)的快速恢復(fù).
圖9 機(jī)器人左腿相空間圖Fig.9 The phase plane of the right leg
圖10 為初始狀態(tài)b 時兩種算法的控制過程,由于機(jī)器人初始狀態(tài)的能量與不動點(diǎn)的能量接近,使得能量成型控制效果微弱,經(jīng)過3 步調(diào)整,仍然無法抑制機(jī)器人跌倒.而在Ape-X DPG 作用下,機(jī)器人第一步時達(dá)到最高2.842 rad/s,高于能量成型控制時的2.277 rad/s,較大的增大了機(jī)器人步幅、延長了第一步行走時間,同時控制力矩的輸入增加機(jī)器人系統(tǒng)機(jī)械能,使碰撞后、絕對值增大,機(jī)器人狀態(tài)則轉(zhuǎn)移至s2=[0.39896,-1.60110,1.38857,0.121].對比能量成型控制s2=[0.25749,-1.82706,-0.76343,0.121]可知,Ape-X DPG 在第一步時便使機(jī)器人步態(tài)向不動點(diǎn)x=[0.47213,-1.71598,3.33070]靠近.此后,Ape-X DPG 作用力矩逐步減小并收束為0,最終機(jī)器人步態(tài)恢復(fù)穩(wěn)定,主動控制行走轉(zhuǎn)為被動行走,兩種控制方法控制下的機(jī)器人棍狀圖如圖11 所示.
圖10 初始狀態(tài)b 時機(jī)器人行走狀態(tài)Fig.10 Biped walking state in initial state b
圖11 機(jī)器人行走過程棍狀圖Fig.11 The gait diagrams of the biped
通過棍狀圖可直觀看出,在Ape-X DPG 控制下機(jī)器人前3 步中擺動腿擺動幅度逐步增大,并在4 步時開始穩(wěn)定行走,而在使用能量成型控制時,機(jī)器人在第3 步時未能將擺動腿擺至地面上方,進(jìn)而引發(fā)了跌倒.
進(jìn)一步的,使用Solidworks 建立機(jī)器人物理模型,并基于Matlab 中的Simscape Multibody 進(jìn)行物理仿真,機(jī)器人模型參數(shù)同表1,模型如圖12 所示.
圖12 機(jī)器人物理模型示意圖Fig.12 Sketch of the biped physical model
在機(jī)器人模型中,外側(cè)腿為灰色,內(nèi)側(cè)腿為白色,并定義外側(cè)腿為物理仿真時的起始支撐腿.為解決擺動階段中擺動腿的擦地現(xiàn)象,將擺動腿前擺時的足部碰撞參數(shù)置為0,回擺時恢復(fù)碰撞參數(shù),以實(shí)現(xiàn)足地碰撞.在上述條件下,初始狀態(tài)b 的機(jī)器人在Ape-X DPG 控制下的前10 步行走過程如圖13所示.
圖13 機(jī)器人物理仿真Fig.13 Robot physics simulation
圖13 (a)為機(jī)器人前4 步的行走過程,在圖13 (c)中0 s 時的角速度階躍為機(jī)器人從空中釋放后落地瞬間造成的速度突變.從圖13 (b)、13 (c) 與圖10 (a)、10 (b)對比可以看出,物理仿真與數(shù)值仿真在角度變化上大致相同,但在角速度變化中存在差異,主要原因?yàn)槲锢矸抡嫦聶C(jī)器人碰撞階段無法實(shí)現(xiàn)完全非彈性碰撞.因碰撞階段的不同,導(dǎo)致圖13 (d)中Ape-X DPG 作用力矩?zé)o法數(shù)值仿真時一樣收斂至0,但依然可以阻止機(jī)器人的跌倒,并使機(jī)器人在狀態(tài)x=[0.46,-1.73,1.81] 附近進(jìn)行行走.
為進(jìn)一步刻畫Ape-X DPG 的控制能力,采用胞映射法分別獲得被動步行、能量成型控制、Ape-X DPG 三種情況下的機(jī)器人步態(tài)收斂域(Basion of attraction,BOA).BOA 是機(jī)器人可穩(wěn)定行走的初始狀態(tài)集合,其范圍越大時機(jī)器人步行穩(wěn)定性越高[40].為檢測算法在不同坡度下的控制能力,將φ=[0.04,0.15]以0.01 等間隔劃分,獲得12 組步行環(huán)境.進(jìn)一步將初始狀態(tài)S1中的x=[θ1,,] 劃分為 6.4×104個胞.
三種情況下機(jī)器人穩(wěn)定行走胞數(shù)如圖14 所示,在選取的12 組坡度中,Ape-X DPG 控制下BOA穩(wěn)定行走胞數(shù)均遠(yuǎn)高于被動步行與能量成型控制,并在φ=0.1 時獲得最大胞數(shù)為55 649,此時BOA可覆蓋胞空間的86.95 %,而此時被動步行與能量成型控制胞數(shù)分別為27 371、38 692,覆蓋胞空間為42.76 %、58.89 %.取φ=0.1 時的BOA 進(jìn)行繪制,如圖15 所示,其中綠色部分為BOA 區(qū)域,藍(lán)色為跌倒步態(tài)區(qū)域.圖15 (c)中,Ape-X DPG 的BOA范圍顯著增加,進(jìn)一步證明Ape-X DPG 可有效提高機(jī)器人步行穩(wěn)定性.
圖14 穩(wěn)定行走胞數(shù)Fig.14 The number of the state walking
圖15 φ=0.1 時機(jī)器人步態(tài)收斂域Fig.15 The biped BOA whenφ=0.1
本文提出了一種穩(wěn)定、高效的準(zhǔn)被動雙足機(jī)器人斜坡步態(tài)控制方法,實(shí)現(xiàn)了 [0.04,0.15] rad 斜坡范圍內(nèi)的機(jī)器人步態(tài)穩(wěn)定控制.在DDPG 的基礎(chǔ)上,融合PER 機(jī)制與DPER 結(jié)構(gòu)建立了Ape-X DPG分布式學(xué)習(xí)算法,以加快樣本采集速度、提高樣本利用率、縮短學(xué)習(xí)時間.將機(jī)器人視為智能體,結(jié)合Ape-X DPG 分布式的交互過程,基于機(jī)器人行走特性的準(zhǔn)確描述,設(shè)計了Episode 過程與獎勵函數(shù).經(jīng)學(xué)習(xí)后,Ape-X DPG 能夠控制機(jī)器人在 2 000組測試中完成1 811 次穩(wěn)定行走,并在φ=0.1 時使機(jī)器人BOA 覆蓋86.95 %的胞空間.相較于能量成型控制,Ape-X DPG 能夠更有效地調(diào)節(jié)準(zhǔn)被動雙足機(jī)器人不穩(wěn)定步態(tài)、抑制跌倒,達(dá)到提高準(zhǔn)被動雙足機(jī)器人斜坡步行穩(wěn)定性的目標(biāo).