馮 春,張祎偉,黃 成,姜文彪,武之煒
(常州工學(xué)院 航空與機(jī)械工程學(xué)院,江蘇 常州 213032)
雙足機(jī)器人具有類人型結(jié)構(gòu),能夠適應(yīng)樓梯、街道、非平整地面等復(fù)雜地形環(huán)境,具有運(yùn)動形式靈活的特點(diǎn)。與傳統(tǒng)基于輪式的機(jī)器人相比,足式類人機(jī)器人因在不利環(huán)境中可能替換或協(xié)助人類[1]而具有明顯的優(yōu)勢,但是由于非線性和不穩(wěn)定因素,雙足步行機(jī)器人運(yùn)動姿態(tài)控制系統(tǒng)的設(shè)計比較困難[2]。針對雙足步行系統(tǒng)的穩(wěn)定性問題,近年許多學(xué)者采用傳統(tǒng)的控制體系結(jié)構(gòu)進(jìn)行了大量研究[3]。離散相是在動力學(xué)上將穩(wěn)定的雙腿站姿轉(zhuǎn)變?yōu)椴环€(wěn)定的單腿站姿的一種統(tǒng)計方法,適用于雙足步行機(jī)器人穩(wěn)態(tài)要求的控制策略[4]。這些傳統(tǒng)的控制理論方法依賴于復(fù)雜數(shù)學(xué)工程模型及確定性問題,例如零力矩點(diǎn)(Zero Moment Point, ZMP)是用作雙足機(jī)器人動態(tài)穩(wěn)定性指標(biāo)的傳統(tǒng)方法之一,然而該方法存在低能效、行走速度受限且對外界擾動魯棒性差等問題[5],常依賴于高水平數(shù)學(xué)計算和完善的機(jī)器人環(huán)境參數(shù)信息[6]。近期研究表明,機(jī)器學(xué)習(xí)比傳統(tǒng)控制方法在雙足行走穩(wěn)定性上更具優(yōu)勢,作為機(jī)器學(xué)習(xí)的子領(lǐng)域,強(qiáng)化學(xué)習(xí)可以作為無模型學(xué)習(xí)復(fù)雜控制系統(tǒng)的研究分支之一[7-8],特別是針對環(huán)境可觀測的問題,基于馬爾科夫決策過程(Markov Decision Process, MDP)的強(qiáng)化學(xué)習(xí)及相關(guān)改進(jìn)算法取得了良好的效果[9-10]。
雙足步行控制可以抽象為一種解決未經(jīng)處理的高維感官輸入的復(fù)雜任務(wù)。近年來,深度學(xué)習(xí)在解決高維復(fù)雜問題上已有很多成果。MNIH等[11]提出一種深度Q網(wǎng)絡(luò)(DeepQ-Network, DQN)算法,該算法可用于解決以許多未經(jīng)處理的像素作為輸入的高維復(fù)雜問題,在許多Atari視頻游戲處理上達(dá)到了人類得分水平,然而對于大型無約束的函數(shù)逼近器和復(fù)雜的動作空間,DQN算法因優(yōu)化速度太慢而無法應(yīng)用于實(shí)際問題;UENO等[12]利用改進(jìn)的操作—評論(Actor-Critic,AC)網(wǎng)絡(luò)算法提升了擁有上肢的雙足機(jī)器人在行走過程中的穩(wěn)定性,且用實(shí)驗(yàn)表明其跌倒的概率較低。近幾年,強(qiáng)化學(xué)習(xí)與深度學(xué)習(xí)相結(jié)合的深度強(qiáng)化學(xué)習(xí)也應(yīng)用于雙足機(jī)器人步態(tài)控制。趙玉婷等[13]將DQN算法用于非平整地面的雙足機(jī)器人穩(wěn)態(tài)控制,該算法雖然解決了高維觀測空間的問題,但是只能處理離散和低維的動作空間;KUMAR等[14]提出利用深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)算法進(jìn)行雙足機(jī)器人步態(tài)規(guī)劃,仿真實(shí)驗(yàn)結(jié)果表明控制效果良好,然而由于該算法采用確定性策略梯度作為更新策略,導(dǎo)致在價值估計中出現(xiàn)過高估計,雖然每次更新時這種高估都可能最小,但是估計誤差的出現(xiàn)會引起誤差疊加導(dǎo)致策略更新不佳。
結(jié)合學(xué)者們在雙足機(jī)器人領(lǐng)域的研究成果及存在的問題,本文提出利用一種改進(jìn)DQN算法解決雙足機(jī)器人的步行控制問題,該算法無需建立復(fù)雜雙足機(jī)器人動力學(xué)模型,應(yīng)用深度強(qiáng)化學(xué)習(xí)方法即可實(shí)現(xiàn)快步行走下的長距離穩(wěn)定步態(tài)控制。
DQN算法是強(qiáng)化學(xué)習(xí)算法中Q學(xué)習(xí)算法的一種,Q學(xué)習(xí)算法無須建模,其將“狀態(tài)—動作”獎勵和Q網(wǎng)絡(luò)作為估計函數(shù),通過最優(yōu)策略迭代來確定最大獎勵值,相關(guān)內(nèi)容可參看文獻(xiàn)[11,13,15]。對于大型無約束的函數(shù)逼近器和復(fù)雜的動作空間,因?yàn)镈QN算法的優(yōu)化速度太慢,無法應(yīng)用于實(shí)際問題,只能處理離散和低維的動作空間,所以本文提出一種改進(jìn)的DQN算法,主要針對AC算法結(jié)構(gòu)的Critic部分進(jìn)行優(yōu)化,其實(shí)質(zhì)是在DDPG算法的基礎(chǔ)上引入修正的雙Q網(wǎng)絡(luò)。
本節(jié)在DQN算法基礎(chǔ)上,從引入更深層次網(wǎng)絡(luò)、采用策略梯度算法和使用確定性策略3個方面進(jìn)行改進(jìn),構(gòu)建一種新的DDPG算法,即從以下方面繼承和改進(jìn)DQN算法:①引入更深層次的網(wǎng)絡(luò)結(jié)構(gòu),該算法不但繼承了DQN算法中的雙網(wǎng)絡(luò)形式,而且結(jié)合經(jīng)驗(yàn)池構(gòu)建了更深層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);②采用策略梯度算法,能夠在連續(xù)動作空間,根據(jù)學(xué)習(xí)到的策略(動作分布)隨機(jī)篩選動作;③確定性策略梯度算法不允許隨機(jī)選擇輸出,其只輸出一個動作值。隨機(jī)性策略的概率分布滿足∑π(a|s)=1,且輸出的是動作的概率,用正態(tài)分布對動作進(jìn)行采樣,每個動作都有一定概率被選到,該策略的優(yōu)點(diǎn)是將探索和改進(jìn)集成到一個策略中,缺點(diǎn)是需要大量的訓(xùn)練數(shù)據(jù);對于確定性策略,狀態(tài)映射的概率分布滿足π(s):S→A,且輸出的是確定的動作,該策略的優(yōu)點(diǎn)是需要采樣的數(shù)據(jù)少,算法效率高,缺點(diǎn)是無法探索環(huán)境。DQN算法引入離線策略進(jìn)行采樣,可以彌補(bǔ)確定性策略的不足。
?φJ(rèn)(φ)=Es~pπ[?aQπ(s,a)|a=π(s)?φπφ(s)]。
(1)
式中Qπ(s,a)=Esi~pπ,ai~π[Rt|s,a],用于描述狀態(tài)s下服從π策略的動作a執(zhí)行時的評論函數(shù)或值函數(shù)。
在Q學(xué)習(xí)中,值函數(shù)通過時差進(jìn)行學(xué)習(xí),其更新方法為貝爾曼(Bellman)方程,該方程表征了當(dāng)前時刻狀態(tài)—操作對(s,a)和下一時刻狀態(tài)—操作對(s′,a′)的基本關(guān)系:
Qπ(s,a)=r+γsEs′,a′[Qπ(s′,a′)];
a′~π(s′)。
(2)
大的狀態(tài)空間通過一個參數(shù)為θ的可微函數(shù)逼近器Qθ(s,a)進(jìn)行值估計。在深度Q學(xué)習(xí)中,網(wǎng)絡(luò)更新通過次凍結(jié)目標(biāo)網(wǎng)絡(luò)Qθ′(s,a)進(jìn)行時間差分學(xué)習(xí)來完成,即使在多重更新下也要保證一個固定的目標(biāo)y,
y=r+γsQθ′(s′,a′),a′~πφ′(s′)。
(3)
動作a由目標(biāo)網(wǎng)絡(luò)πφ′進(jìn)行選擇。目標(biāo)網(wǎng)絡(luò)權(quán)重需周期性地更新以匹配當(dāng)前的網(wǎng)絡(luò)參數(shù),例如在每個時間步長以比例t進(jìn)行更新,θ′←tθ+(1-t)θ′,該更新可以應(yīng)用于經(jīng)驗(yàn)緩沖區(qū)的離線策略上。
雙Q學(xué)習(xí)通過保持兩個單獨(dú)的估計值使貪婪更新與價值函數(shù)分離,這兩個估計值用于相互更新。如果價值估計是獨(dú)立的,則采用其相反的值作為操作的無偏估計。在雙DQN[16]中,更新策略使用目標(biāo)網(wǎng)絡(luò)作為價值估計,并將當(dāng)前價值網(wǎng)絡(luò)貪婪更新至最大化。然而在AC環(huán)境中,類似的更新是使用當(dāng)前策略而非學(xué)習(xí)中的目標(biāo)策略,策略更新公式為
y=r+γsQθ′(s′,πφ(s′))。
(4)
由于AC策略變化緩慢,使當(dāng)前網(wǎng)絡(luò)與目標(biāo)網(wǎng)絡(luò)近似而無法進(jìn)行獨(dú)立估計,導(dǎo)致學(xué)習(xí)幾乎沒有進(jìn)展。相反,在原始的雙Q學(xué)習(xí)中,操作和評論分別表示為(πφ1,πφ2),(Qθ1,Qθ2),πφ1,πφ2分別由對應(yīng)的Qθ1,Qθ2來優(yōu)化:
(5)
Qθ1優(yōu)化πφ1時,對Qθ1進(jìn)行的獨(dú)立更新可以避免策略更新帶來的偏差,然而學(xué)習(xí)目標(biāo)中使用相反的評論會使評論整體上不獨(dú)立,重播緩沖區(qū)也存在同樣的問題。因此,對于某些狀態(tài)s有Qθ2(s,πφ1(s))>Qθ1(s,πφ1(s)),原因是Qθ1(s,πφ1(s))會過度估計真實(shí)值,而且在某個狀態(tài)空間的某些區(qū)域,過度估計會進(jìn)一步加劇。為解決該問題,本文采用偏差估計Qθ1修正較小的偏差估計值Qθ2的上限,即取兩個估計值之間的最小值作為修正雙Q學(xué)習(xí)算法的目標(biāo)進(jìn)行更新,策略更新公式為
(6)
與標(biāo)準(zhǔn)Q學(xué)習(xí)相比,修正雙Q學(xué)習(xí)的價值目標(biāo)不引入任何高估偏差,雖然更新目標(biāo)可能導(dǎo)致低估偏差,但是不同于高估偏差,低估偏差通過策略更新不會被明顯傳播。
修正雙Q學(xué)習(xí)可以通過Qθ1優(yōu)化的單個操作來降低計算量,還可以對Qθ2采用相同的目標(biāo)y2=y1。如果Qθ2>Qθ1,則目標(biāo)的更新與標(biāo)準(zhǔn)Q學(xué)習(xí)更新相同且未引起其他偏差;如果Qθ2 每次更新時,為了最小化誤差,建立目標(biāo)網(wǎng)絡(luò)與估計誤差之間的聯(lián)系并對AC的學(xué)習(xí)過程進(jìn)行修正以減少方差是很重要的。由于時間差更新,在根據(jù)后續(xù)狀態(tài)的估計構(gòu)建值函數(shù)的估計時會產(chǎn)生誤差,雖然單個更新的誤差很小,但是這些估計誤差可能會累積,導(dǎo)致較大的高估偏差和次優(yōu)的策略更新。高估偏差和次優(yōu)的策略更新使得在函數(shù)逼近設(shè)置時無法完全滿足貝爾曼方程的條件,而且每次更新都會留下一些殘留的時序差分誤差,使問題更加嚴(yán)重,此時的策略更新公式為 Qθ(s,a)=r+γsE[Qθ(s′,a′)]-δ(s,a)。 (7) 該值估計并非是對學(xué)習(xí)預(yù)期收益的估計,而是近似估算預(yù)期收益與后續(xù)時序差分誤差的預(yù)期折現(xiàn)總和的差值,而值估計的表示公式為 Qθ(st,at)=rt+γsE[Qθ(st+1,at+1)]-δt =rt+γsE[rt+1+γsE[Qθ(st+2,at+2)-δt+1]]-δt (8) 如果值估計是未來獎勵和估計誤差的函數(shù),則值估計的方差與未來獎勵和估計誤差的方差成正比。如式(8)所示,假定折扣因子γs較大,如果每次更新的估計誤差未減小,則估計誤差的方差將迅速增大。另外,每個梯度更新僅減少部分目標(biāo)值(定義為mini-batch)的誤差,不能保證減小mini-batch外目標(biāo)值的誤差。然而,通過分析目標(biāo)網(wǎng)絡(luò)與函數(shù)逼近誤差之間的關(guān)系可知,使用穩(wěn)定的目標(biāo)可以減少誤差。因?yàn)樵O(shè)計強(qiáng)化學(xué)習(xí)算法時,目標(biāo)網(wǎng)絡(luò)與函數(shù)逼近誤差的關(guān)系考慮了高方差估算與策略之間的相互影響,所以在深度強(qiáng)化學(xué)習(xí)中,目標(biāo)網(wǎng)絡(luò)是實(shí)現(xiàn)控制穩(wěn)定性的有利工具。又因?yàn)樯顚雍瘮?shù)逼近器的多個梯度更新均收斂,所以目標(biāo)網(wǎng)絡(luò)在學(xué)習(xí)過程中能夠提供穩(wěn)定的目標(biāo),并允許更大范圍地覆蓋訓(xùn)練數(shù)據(jù)。如果沒有穩(wěn)定的目標(biāo),則每次更新都可能留下殘余誤差,而且該殘余誤差將不斷累積。雖然誤差累積本身會對穩(wěn)定性有不良影響,但是與最大化價值估計的策略配合使用時,反而可能出現(xiàn)有利于穩(wěn)定性的結(jié)果。 在用目標(biāo)網(wǎng)絡(luò)減少多次更新中的誤差時,針對高誤差狀態(tài)的策略更新出現(xiàn)的發(fā)散問題,應(yīng)采用比價值網(wǎng)絡(luò)頻率更低的網(wǎng)絡(luò),以在策略更新之前最大程度地減少誤差。因此,本文提出策略更新延遲使價值誤差盡可能地小,具體是更新固定數(shù)量的評論,即僅對策略和目標(biāo)網(wǎng)絡(luò)進(jìn)行更新。然而,為了確保時序差分誤差較小,可以緩慢更新目標(biāo)網(wǎng)絡(luò)θ′←τθ+(1-τ)θ′。 確定性策略存在的問題是在價值估算中可能導(dǎo)致狹窄峰值。當(dāng)更新評論時,采用確定性策略的學(xué)習(xí)目標(biāo)極易受到函數(shù)逼近誤差的影響而引起偏差,從而增大目標(biāo)的方差。本文提出通過正則化減小方差,即引入用于深度值學(xué)習(xí)的正則化策略來平滑目標(biāo)策略,該策略借鑒了狀態(tài)—動作—回報—狀態(tài)—動作(State-Action-Reward-State-Action, SARSA)的學(xué)習(xí)更新方法[17]。本文方法強(qiáng)化相似行為應(yīng)該具有相似價值,雖然函數(shù)逼近會隱式執(zhí)行該操作,但是可以通過修改訓(xùn)練過程來強(qiáng)化相似動作之間的關(guān)系,因此對目標(biāo)動作周圍的小部分區(qū)域進(jìn)行如下擬合: y=r+EN?[Qθ′(s′,πφ′(s′)+N?)]。 (9) 通過類似地估算狀態(tài)行為值,使該值變得平滑。進(jìn)一步,向目標(biāo)添加少量隨機(jī)噪聲來近似估計對操作的預(yù)期,并取mini-batches的平均值。則修改后的目標(biāo)更新為: (10) 式中:clip表示削弱噪聲N?,以保證目標(biāo)點(diǎn)的集中性;N表示正態(tài)分布。 本文采用一種簡化的雙足機(jī)器人連桿模型研究步態(tài)控制問題,如圖2所示。該連桿模型用三維建模軟件SolidWorks 2018繪制,仿真時將該CAD模型導(dǎo)入MATLAB 2019a,采用Simulink中的深度學(xué)習(xí)工具箱(deep learning toolbox)和強(qiáng)化學(xué)習(xí)工具箱(reinforcement toolbox)以及其他模塊共同完成。由圖可知,雙足機(jī)器人整體結(jié)構(gòu)可以簡化為腰部、大腿、小腿和雙足(足部類似于平足),連桿尺寸的單位為m;腰部、大腿、小腿選用泡沫塑料(密度為0.5 g/cm3),足部選用工程塑料(密度為1.0 g/cm3)。雙足步行機(jī)器人建模需要保證整個機(jī)器人的重心在腰部的中心位置,這種保持平衡的方式與人類相似。雙足機(jī)器人的運(yùn)動機(jī)構(gòu)主要包括髖關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié),6個關(guān)節(jié)均可看作為旋轉(zhuǎn)關(guān)節(jié),各關(guān)節(jié)變量的作用范圍分別為[-π/4,π/4],[0.1,π],[-π/4,π/4]。模型建立后,確定合適的接觸剛度、阻尼、靜摩擦、動摩擦等仿真參數(shù)。 為了對雙足機(jī)器人進(jìn)行穩(wěn)定步態(tài)控制,需要采用改進(jìn)的DQN算法進(jìn)行智能體訓(xùn)練。該改進(jìn)算法是一種無模型、在線的非策略性強(qiáng)化學(xué)習(xí)方法,對應(yīng)的智能體是一種DDPG智能體,它也是一種AC強(qiáng)化學(xué)習(xí)智能體,可以采用最優(yōu)策略將獎勵函數(shù)最大化。基于深度強(qiáng)化學(xué)習(xí)的雙足機(jī)器人步態(tài)控制系統(tǒng)原理如圖3所示,其中右側(cè)虛線方框?yàn)樾凶哂?xùn)練單元,主要功能是利用本文算法對雙足機(jī)器人進(jìn)行行走訓(xùn)練。本文算法的關(guān)鍵參數(shù)如表1所示。 表1 改進(jìn)DQN算法的關(guān)鍵參數(shù) 在訓(xùn)練單元中,可以在具有觀察和操作空間的環(huán)境中訓(xùn)練雙足機(jī)器人智能體。其中,在觀察空間內(nèi)訓(xùn)練連續(xù)或離散智能體,在操作空間內(nèi)只訓(xùn)練連續(xù)智能體。訓(xùn)練期間的智能體具有如下特性:①學(xué)習(xí)過程中在每個時間步長結(jié)束時更新操作和評論屬性;②智能體用從循環(huán)緩沖區(qū)隨機(jī)采樣前存儲的小批(mini-batch)經(jīng)驗(yàn)值更新操作和評論;③在每個訓(xùn)練步驟采用隨機(jī)噪聲模型的干擾策略進(jìn)行選擇操作。 雙足機(jī)器人步態(tài)控制訓(xùn)練過程的關(guān)鍵步驟如下: (1)操作函數(shù)與評論函數(shù) 為了估計雙足機(jī)器人智能體策略和價值函數(shù),需構(gòu)建如下4個函數(shù)近似器: 1)操作函數(shù)μ(s) 該函數(shù)描述在狀態(tài)s下輸出的相應(yīng)動作,以最大化長期獎勵。 2)目標(biāo)操作函數(shù)μ′(s) 為提高優(yōu)化的穩(wěn)定性,智能體根據(jù)最新的操作參數(shù)值定期更新目標(biāo)操作。 3)雙Q值評論函數(shù)Q(s,a) 該函數(shù)描述將狀態(tài)值s和操作a分別作為輸入和對長期獎勵相應(yīng)期望的輸出。 4)雙目標(biāo)評論函數(shù)Q′(s,a) 為了提高優(yōu)化的穩(wěn)定性,智能體根據(jù)最新的評論參數(shù)值定時更新目標(biāo)評論。 Q(s,a)和Q′(s,a)、μ(s)和μ′(s)分別具有相同的結(jié)構(gòu)和參數(shù)。訓(xùn)練完成后,將訓(xùn)練好的最佳策略存儲在操作μ(s)中。 (2)智能體創(chuàng)建及訓(xùn)練 創(chuàng)建智能體的具體步驟包括:①創(chuàng)建操作表示對象;②創(chuàng)建評論表示對象;③指定智能體選項(xiàng);④用函數(shù)創(chuàng)建智能體。采用以下訓(xùn)練算法訓(xùn)練所創(chuàng)建的智能體,該算法在每個時間步長結(jié)束時更新操作和評論模型: 1)用隨機(jī)參數(shù)值θQ初始化評論Q(s,a),并用相同的隨機(jī)參數(shù)值θQ′=θQ初始化目標(biāo)評論。 2)用隨機(jī)參數(shù)值θμ初始化操作μ(s),并用相同的參數(shù)值θμ′=θμ初始化目標(biāo)操作。 3)對于每個訓(xùn)練時間步長: ①對于當(dāng)前觀測值s,選擇操作a=μ(s)+Nn,Nn為來自噪聲模型的隨機(jī)噪聲。 ②執(zhí)行動作a,觀察獎勵r和下一個觀測值s′。 ③將經(jīng)驗(yàn)(s,a,r,s′)存儲在經(jīng)驗(yàn)緩沖區(qū)中。 (11) ⑥通過最小化所有采樣經(jīng)驗(yàn)中的損失L更新評論參數(shù)。 (12) ⑦用以下樣本策略梯度更新操作參數(shù),以最大化預(yù)期權(quán)值獎勵: (13) ⑧采用目標(biāo)更新方法更新目標(biāo)操作和評論。智能體采用平滑化的目標(biāo)更新方法,并在每個時間步長結(jié)束時更新目標(biāo)操作和評論。簡單起見,算法用基本隨機(jī)梯度下降的更新方式更新操作和評論,并在每個時間步長結(jié)束時用平滑因子t更新目標(biāo),對應(yīng)的評論和操作參數(shù)分別為: θμ′=tθμ+(1-t)θμ′。 (14) 本文仿真實(shí)驗(yàn)是訓(xùn)練雙足機(jī)器人在常規(guī)平整路面上穩(wěn)定地沿某一固定方向直線行走(實(shí)驗(yàn)中為x方向),下面給出訓(xùn)練仿真結(jié)果及其分析。 在相同的實(shí)驗(yàn)條件下,對比本文算法與現(xiàn)有深度強(qiáng)化學(xué)習(xí)算法在雙足機(jī)器人步態(tài)控制方面的訓(xùn)練效果(對比平均獎勵值),硬件采用Intel Core i7-8700的CPU處理器。該實(shí)驗(yàn)選擇固定情節(jié)(次數(shù)為2 000),每個情節(jié)包括400個時間步長t,分別采用文獻(xiàn)[13-14]與本文算法在該條件下進(jìn)行實(shí)驗(yàn),訓(xùn)練結(jié)果如圖4所示。 圖中“中心曲線”表示每個情節(jié)下的平均獎勵,“非中心曲線”表示對應(yīng)的獎勵,相同情節(jié)數(shù)下的平均獎勵值越大,學(xué)習(xí)速度越快,而曲線的平滑性則與控制的穩(wěn)定性密切相關(guān),平滑性越好,穩(wěn)定控制的性能越好。由圖可知,訓(xùn)練情節(jié)數(shù)相同時,文獻(xiàn)[14]的DDPG算法和本文改進(jìn)DQN算法在學(xué)習(xí)速度上明顯優(yōu)于文獻(xiàn)[13]的DQN算法,再次驗(yàn)證了DQN算法學(xué)習(xí)速度緩慢的問題;文獻(xiàn)[14]的DDPG算法和本文算法相比,在學(xué)習(xí)初期(情節(jié)數(shù)在1 000之前)DDPG算法的學(xué)習(xí)速度更快,隨后很快出現(xiàn)了局部極小問題,本文算法雖然在訓(xùn)練的前期速度較慢,但是后期獲得了比DDPG算法更高的獎勵,主要原因是本文算法不存在對Q值的高估問題。 由3.1節(jié)可知本文算法在學(xué)習(xí)速度上優(yōu)于DQN算法和DDPG算法。進(jìn)一步由步態(tài)控制的穩(wěn)定性實(shí)驗(yàn)可知,采用本文算法訓(xùn)練雙足機(jī)器人20 h后獲得了穩(wěn)定的步行姿態(tài)。其中,與參考文獻(xiàn)[14]采用圖形處理器(Graphic Processing Unit,GPU)訓(xùn)練相比,本文算法節(jié)約近一半時間。由于二者采用的機(jī)器人模型和仿真實(shí)驗(yàn)環(huán)境相似,本文算法與文獻(xiàn)[14]訓(xùn)練的結(jié)果有很強(qiáng)的可對比性。仿真結(jié)果表明,雙足機(jī)器人在10 s內(nèi)連續(xù)向前行走到終點(diǎn)(約5 m),整個過程均非常穩(wěn)定,未發(fā)生跌倒的情況。大量隨機(jī)實(shí)驗(yàn)表明,步行(超過5 000次)均能被穩(wěn)定控制,圖5所示為其中一次穩(wěn)定控制仿真實(shí)驗(yàn)的運(yùn)動示例幀??梢姡p足機(jī)器人的姿態(tài)在整個步行任務(wù)中始終保持穩(wěn)定,該穩(wěn)定性也可從后續(xù)的速度和力矩圖像曲線得到驗(yàn)證。 在學(xué)習(xí)過程中,深度強(qiáng)化學(xué)習(xí)的獎勵和平均獎勵如圖6所示,其中“中心曲線”表示平均獎勵,“非中心曲線”表示獎勵。與文獻(xiàn)[14]基于DDPG算法的步態(tài)控制結(jié)果(如圖4b)相比,該平均獎勵曲線更平滑且上升性能更好,表明本文方法可以有效避免對Q值的過高估計,并解決對比文獻(xiàn)易陷入局部迭代極值的問題。另外,本文方法采用雙Q學(xué)習(xí)函數(shù)作為評論網(wǎng)絡(luò)對目標(biāo)網(wǎng)絡(luò)進(jìn)行延遲更新,雖然所獲長期獎勵折扣的估計值比文獻(xiàn)[14]小,但是卻表現(xiàn)出更好的穩(wěn)定性,因此能夠進(jìn)一步提高雙足機(jī)器人步態(tài)控制的穩(wěn)定性。 雙足機(jī)器人的仿真步行速度如圖7所示,其中圖7a表示沿步行方向(即坐標(biāo)軸x的方向)的速度曲線,可見步行的最大速度約為0.83 m/s,平均速度為0.5 m/s(接近成年人正常步行的平均速度)。相對機(jī)器人模型的尺寸,可以看作為“快速”行走。圖7b和圖7c是其他非步行方向(分別為坐標(biāo)軸y和z的方向)的速度曲線,圖像關(guān)于橫軸基本對稱,可看作為周期變化。3幅圖像曲線綜合表明了步行速度控制的穩(wěn)定性。 雙足機(jī)器人的姿態(tài)角和各關(guān)節(jié)力矩的曲線如圖8和圖9所示,由3個坐標(biāo)軸姿態(tài)角的圖像曲線可知,其姿態(tài)角度變化具有周期性。由關(guān)節(jié)力矩的圖像曲線可知,各關(guān)節(jié)的力矩在(-3,3)N·m范圍內(nèi)周期變化,穩(wěn)定輸出的力矩能夠保證機(jī)器人穩(wěn)定地步行。 為了進(jìn)一步驗(yàn)證本文算法的魯棒性,類似文獻(xiàn)[13],在步態(tài)控制實(shí)驗(yàn)中增加了非平整路面、干擾等,實(shí)驗(yàn)結(jié)果表明本文算法同樣獲得了較好的穩(wěn)定性,限于篇幅僅給出實(shí)驗(yàn)結(jié)論。 本文針對雙足機(jī)器人快步長距離的步態(tài)穩(wěn)定控制問題,提出一種改進(jìn)DQN算法進(jìn)行深度強(qiáng)化學(xué)習(xí)。改進(jìn)算法將DQN算法與確定梯度策略結(jié)合,并采用修正雙Q網(wǎng)絡(luò)優(yōu)化AC網(wǎng)絡(luò)的評論部分,從而減少高估偏差和誤差更新次數(shù)。與文獻(xiàn)[13-14]的深度強(qiáng)化學(xué)習(xí)方法相比,所提方法在學(xué)習(xí)速度和控制性能上均有提升,其能夠通過不斷學(xué)習(xí)和與環(huán)境交互獲得長期最大獎勵來調(diào)整機(jī)器人的質(zhì)心位置,從而保證機(jī)器人穩(wěn)定的行走姿態(tài),更好地解決不同環(huán)境和行走條件下的步態(tài)控制規(guī)劃問題。與傳統(tǒng)基于模型步態(tài)的控制相比,本文控制方法雖然在魯棒性上稍遜一籌,但是不用建立復(fù)雜的動力學(xué)模型,從而很好地避開了動力學(xué)建模難題。 仿真實(shí)驗(yàn)表明,在長距離快速行走的情況下,本文方法能夠使機(jī)器人在小力矩控制下保證姿態(tài)穩(wěn)定,而且通過非平整路面等的步態(tài)控制實(shí)驗(yàn)表明,該控制算法具有一定的魯棒性,為解決雙足機(jī)器人步態(tài)控制的穩(wěn)定性問題提供了新的思路。未來工作將進(jìn)一步優(yōu)化相關(guān)算法,以更好地控制雙足機(jī)器人行走甚至奔跑的穩(wěn)定性,同時進(jìn)行相關(guān)硬件設(shè)計,并在所開發(fā)的機(jī)器人平臺上進(jìn)行測試。2 雙足機(jī)器人建模及步態(tài)控制訓(xùn)練
2.1 雙足機(jī)器人建模
2.2 雙足機(jī)器人步態(tài)控制訓(xùn)練
3 實(shí)驗(yàn)結(jié)果與分析
3.1 3種算法訓(xùn)練下的學(xué)習(xí)速度對比和分析
3.2 雙足機(jī)器人步態(tài)控制實(shí)驗(yàn)與分析
4 結(jié)束語