秦建軍,孟 圓,曹 鈺,江 磊,蘇 波
(1.北京建筑大學 機電與車輛工程學院, 北京 100044;2.北京市建筑安全監測工程技術研究中心, 北京 100044;3.中國北方車輛研究所, 北京 100072)
隨著人類科學技術的進步,足腿機器人在極端復雜條件中執行任務的能力逐漸凸顯,優異的快速性和穩定性,使其具有很強的地形適應能力、負重能力和拖拽能力。足式機器人離散觸地方式相較于目前常用的輪式、履帶式機器人具備更好的地形通過性,使其在執行物資運輸、消防救援、偵察探測[1]以及地外探索[2]等領域的復雜環境下的遠距離搬運任務具有很好的發展前景。
由于足式機器人具有高自由度的特點,其可以執行更復雜的動作,如背翻[3]、轉彎跳躍[4-5]、行走避障[6]以及搬運拖拽[7-8]。波士頓動力公司的Big Dog[9]可以負載154 kg的貨物在非結構化的地形上行走;印度理工學院的HyQ利用優化控制器的方法實現在粗糙地面的小跑、爬樓梯、推動恢復、自扶正等功能[10];Yang等[11]提出了一種解決機器人推動重物時足端和雙臂產生滑移的方法,他們采用了二次規劃(QP)優化器優化OpenHRP模擬機器人外力的最大值,但這種方法控制策略極其復雜。Murooka等[12]提出了HRP-2類人機器人全身不同區域接觸物體時產生的推力的執行方法,但其采用的是理想動力學模型,忽略了機器人在執行任務中足端產生的滑移。類人雙足機器人在推動或拖動物體的過程中,極易出現滑移而使機器人整體失衡,通過傳統控制方法較難實現。
足式機器人的動力學系統復雜度較高,必須具備良好的控制策略才能實現穩定且響應迅速地運動。傳統控制方法在處理這種高維、非線性系統的挑戰中,逐漸顯現了其局限性。雖然傳統的控制方法在機器人運動控制[13-16]方面取得了很大進展,但這種方法通常依賴于使用簡化的動力學模型優化問題,這些控制模型在建立過程中就具備了一定針對性,一般不能推廣到不同的任務環境。
相比之下,機器學習方法的控制策略具備更好的魯棒性和環境適應性,已經被普遍接受和推廣。特別是深度強化學習,在四旋翼[17]、雙足機器人[18]以及四足機器人[19-21]的學習控制策略方面取得良好效果。Hwangbo等[22]選用信任區域策略優化(TRPO)算法實現了從仿真到現實物理模型的部署,ANYmal能夠精確地、高效地快速運動,即使在復雜的配置下也能從摔倒中恢復過來。Lee等[23]的研究結果表明,四足機器人在單一領域的模擬訓練得出的控制模型也可以應用在自然環境中的魯棒運動,如泥地、雪地、斜坡、碎石以及長滿植被的地面。
在物資運輸過程中,載具對地面等基礎設施要求高,無法滿足在非結構環境中執行任務的需求,而足式機器人特殊的仿生構型滿足這一需求。但足式機器人的負載能力有限,并不像輪式、履帶式機器人一樣具有大的載重量,因此分析足式機器人拖拽能力是很有必要的。
本文針對上述問題,建立了四足機器人拖拽重物的動力學模型,設計了一種基于雙延遲深度確定性策略梯度算法(twin delayed deep deterministic policy gradient,TD3)的深度強化學習控制器,使四足機器人能夠在不確定性環境(拖拽不同質量重物的任務)中表現出魯棒性,產生穩定的步態。以四足機器人在加載拖拽重物后速度損失量、機身姿態角穩定性以及各關節扭矩的平順性為判定指標,將仿真結果與傳統控制方法下的數據結果進行對比分析,評估其在實際環境中的可實現性。
本文采用一種四足機器人的等效模型,如圖1所示,在狗拉雪橇的模型上等效建立四足機器人拖拽模型,為了簡化模型將重物等效為與地面點接觸的球體。

圖1 狗拉雪橇等效簡化拖拽模型
四足機器人拖拽模型的仿真簡化模型使用 MATLAB R2022a Simulink 工具包進行制作。該四足機器人由10個部分組成:前(后)機體、左前(右前)大腿、左前(右前)小腿、左后(右后)大腿、左后(右后)小腿;共有9個自由度:腰部俯仰關節1個、左前(右前)髖關節2個自由度、左前(右前)膝關節2個自由度、左后(右后)髖關節2個自由度、左后(右后)膝關節2個自由度;共有9個關節:4個髖關節、4個膝關節、1個腰部俯仰關節,均為旋轉副,旋轉角度范圍分別為:[-60°,140°]、[-120°,30°]、[-10°,-10°]。其參數設置如表1所示。

表1 機器人模型參數
在移動重物體的問題中拖拽優于推動[24],圖2中標明物體拖動過程中的作用力。拖動運動中拉力F被分解為2個方向,垂直分量的力既減少了物體的有效重力,也減少了物體和地面之間的摩擦力。物體在拖動運動時的有效重力W如下。
W=m·g-Fsinα
(1)
式中:m為物體的質量;g為重力加速度;F為推力;α為拉力的仰角。

圖2 拖拽模型示意圖
四足機器人的拖拽運動動力學模型,如圖3所示,τhip和τknee為髖關節和膝關節的輸出力矩;m為四足機器人機體的質量和重物的質量;lb和lc為四足機器人的大、小腿的長度;a和b為前后腿到重心的長度;h為機體重心到拖拽連接處的距離;v為機器人前進速度;wr為偏航角速度;vr為瞬時側偏速度;φ為相對于機器人的角位移。

圖3 機器人拖拽動力學模型
在整體的分析過程中,假定機器人重心處的運動速度為常量V。機器人側向力及繞質心的偏航力矩如下:
(2)
式中:Ff和Fr為機器人前、后腿承受的側向力,與y方向相同;Fc為作用在拖拽連接處的側向分力;IT為重心繞垂直軸的轉動慣量。
重物的側向力及繞質心的偏航力矩如下:
(3)

由前2個方程組推出四足機器人拖拽運動的動力學方程:

(a+h)FF-(b-h)Fr-
(4)
DDPG算法是一種基于強化學習的經典算法,使用離線策略數據和貝爾曼方程來學習Q 函數,并使用Q函數來學習策略以解決連續動作空間問題。但由于高估偏差是Q-learning的一個特性,在這個特性中,噪聲值估計的最大化導致持續的高估,又因actor-critic策略更新緩慢,當前的估計值和目標值的估計值仍然過于相似,無法避免最大化偏差,從而導致高估值估計和次優策略。
TD3算法作為DDPG算法的改進型算法,主要通過以下三點來減少高估值估計。首先,使用目標網絡減少誤差累積降低方差;其次,通過延遲策略更新,直到估計值收斂為止;最后,采用雙critic更新策略,將二者較高估值作為真實值估計的近似上界,達到低估的效果[25]。
TD3算法的基本結構是actor-critic網絡結構,如圖4所示。然而,與DDPG算法的4個深度神經網絡(DNN)不同的是,TD3中有6個DNN(2個critic DNN及其目標DNN,1個actor DNN及目標DNN)。Critic DNNs生成了狀態-作用值函數的最優估計Q。在TD3中,為了消除Q函數中的過高估計偏差,使用這2個Critic DNNs是必要的。

圖4 TD3算法結構
在TD3算法中,如圖4所示,分別使用1個策略神經網絡μφ與2個評價神經網絡Q表示確定性策略梯度和狀態動作值函數。此外,為了增加網絡的穩定性,參照 DQN 算法引入了目標網絡的概念,對應的有1個目標策略網絡和2個目標評價網絡。
策略網絡輸入狀態值s并輸出確定的動作a:
a=πφ(s)+ε
(5)

(6)
如圖5所示,在計算出目標值y(r,s′)后,通過最小化Qθ1、Qθ2ytarget的均方誤差來學習評價網絡的參數。
Lθ1,D=E(s,a,r,s′)~D[(Qθ1(s,a)-y(r,s′))2]
(7)
Lθ2,D=E(s,a,r,s′)~D[(Qθ2(s,a)-y(r,s′))2]
(8)
式中:D代表經驗池,當存儲在D中的轉換數組(s,a,r,s′)足夠大時,從D中隨機選擇一個小批量計算損失值Lθ2,D(i=1,2)。

圖5 關于TD3 actor-critic深度神經網絡的細節
通過最大化Qθ1來更新策略網絡的參數φ,策略網絡的參數由Q網絡的輸出使用梯度上升策略更新。
(9)
式中:J表示策略網絡的損失函數;N表示隨機抽樣數。
TD3算法更新參數的頻率較低,導致方差降低,從而使更新后的參數更準確。為此使用延遲因子d,降低參數更新的頻率避免過高估,使用超參數τ(0<τ<1),幫助目標網絡的參數緩慢更新,如算法1所示。
θi′←τθi+(1-τ)θi′
(10)
φ′←τφ+(1-τ)θ′
(11)
算法1TD3 algorithm
Initialize critic networksQθ1,Qθ2and actor network πθwith random parametersθ1,θ2,φ
initialize replay bufferR
fort=1toTdo
Select a with exploration noisea~πφ(s)+ε
ε~N(0,σ) and observe rewardrand new ststes′
Store transition tuple (s,a,r,s′) inR
Sample mini-batch ofNtransitions (s,a,r,s′) fromR
Update criticQi←argminQiN-1∑(y-QQi(s,a))2
Iftmoddthen
Updateφby the deterministic policy gradient:
▽φJ(φ)=N-1∑▽aQ1(s,a)|a=πφ(s)▽φπφ(s)
Update target networks:

φ′←τφ+(1-τ)φ′
endif
endfor
四足機器人拖拽運動的控制是一種典型的機器人欠感知動態環境下的較優連續控制問題。為了充分發揮TD3算法的性能優勢,本文綜合考慮機器人運動狀態、智能體處理效能、環境等因素,每個觀察值進行歸一化處理,其范圍在 -1~1,觀測值參數如表2所示。

表2 環境獲取的觀察值及k值
在觀測值基礎上設計如下的加權獎勵值r,其中k1~k6為權值,如表2所示。
1) 速度獎勵值rv,向前運動是機器人的首要目的,如下所示:
rv=k1·vx
(12)
式中,vx為機器人在x軸方向的速度。
2) 多時間步更新獎勵值rt,通過在每個時間步提供一個恒定的獎勵來鼓勵機器人不斷前進避免提前終止,如下所示:

(13)
式中,Ts和Tf分別為采樣時間和模擬時間。
3) 軀干高度獎勵值rH,為了提高機器人穩定性,將機器人高度固定于一定范圍,懲罰機器人軀干過高波動,如下所示:
rH=-k3(y-k4)
(14)
式中,y為軀干重心距地面高度。
4) 軀干俯仰角度獎勵值rpitch,懲罰機器人出現俯仰動作,如下所述:
rpitch=-k5θ2
(15)
式中,θ為機器人的俯仰角。
5) 關節扭矩穩定性獎勵值,懲罰出現過大扭矩值,提高能源利用率,如下所示:

(16)

總之,智能體的獎勵值為所有加權獎勵值的總和:
R=rv+rt+rH+rpitch+rτ
(17)
用深度強化學習的方法訓練機器人往往需要耗費較多時間,為了避免出現不必要的訓練,本文設置提前終止條件。機器人滿足以下任意一項條件時,智能體直接停止訓練進入下一回合:軀干的重心高度小于0.5 m;軀干或頭部或者尾部在地面以下;任一關節處于地下;翻滾角超過±10°,俯仰角超過±10°,偏航角超過±20°。
這些終止條件通過限制軀干高度y、機器人偏轉角度(θroll、θpitch、θyaw)、機器人各部件位置,確保機器人不偏離平面,不允許機器人在拖拉物體的情況下向后移動,當機器人處于一個無法行走的姿勢時,終止模擬訓練。
本文采用TD3算法和DDPG算法對四足機器人的拖拽運動進行仿真實驗,實驗過程如圖6所示,其網絡與超參數數據見表3。

圖6 四足機器人有無拖拽的實驗過程

表3 網絡與超參數數據
如圖6所示,TD3算法可以指導四足機器人在未知的環境中學會行走,而且通過觀察訓練過程可以發現,四足機器人可以出現行走(walk)、緩行(amble)、踱步(pace)等仿生步態。但在無負載穩定狀態下四足機器人往往是amble步態,而在拖拽重物狀態下步態往往收斂于pace步態,TD3算法與虛擬環境交互下確定的最優策略指導機器人行走。
表4為仿真訓練結果,在無拖拽的同一仿真環境下,TD3算法獎勵值達到200需要更新1 500回合,而DDPG算法獎勵值達到200需要更新4 500回合,是TD3算法更新回合的3倍,說明TD3算法收斂快;DDPG算法的Q0值也遠高于TD3算法的Q0值,DDPG 算法易高估Q值,導致收斂過程中獎勵值波動較大,TD3算法很好地利用雙critic延遲更新策略解決了高估問題,說明TD3算法運行穩定;結合表4和圖7可知,在解決四足機器人拖拽模型的運動控制這類較復雜高維問題的過程中,該模型可以拖拽機器人自身1/10的重物(機器人自重4 kg),TD3算法可以穩定收斂,通常能達到較高獎勵值。

表4 仿真訓練結果
為了體現TD3深度強化學習控制算法在四足機器人拖拽運動中的優良控制性能,采用傳統控制方案作為對照組,對比2種控制方案在加載拖拽運動前后四足機器人力矩曲線和姿態曲線變化幅度,凸顯出基于TD3算法的深度強化學習控制方法在探索未知領域的極強能力。
3.2.1四足機器人關節扭矩曲線
為了對比分析機器人在拖拽運動時的運動控制性能,分別繪制出四足機器人在TD3算法以及傳統控制算法下的髖關節和膝關節的扭矩變化,如圖8、圖9所示。
四足機器人在加載拖拽重物時,髖關節和膝關節扭矩會有較大變化。其中如圖8所示,TD3算法控制下的四足機器人在拖拽重物由0 kg變為0.4 kg時,各關節波動范圍小,力矩變化平順,并沒有較大波動及極大值點的出現,基本處于-10~10 N·m。而對比傳統控制方法,如圖9所示,拖拽重物由0 kg變為0.4 kg時,各關節扭矩有劇烈變化,出現多個極值點。由此可以推出,基于深度強化學習TD3算法的控制策略對拖拽運動模式有較強適應能力,即使在未知的拖拽領域也可實現有效控制。

圖7 四足機器人訓練回合獎勵函數曲線

圖8 TD3控制方法的四足機器人關節扭矩曲線

圖9 傳統控制方法的四足機器人關節扭矩曲線
3.2.2四足機器人姿態曲線
以四足機器人的前進速度大小和姿態角波動幅度為評估指標,分析機器人在拖拽運動中的機動性和穩定性,繪制2種控制方法下四足機器人的速度、翻滾角、偏航角和俯仰角,如圖10、圖11所示。為了直觀對比2種控制方法,統計仿真過程中四足機器人的平均速度以及各姿態角波峰的極值,如表5所示。
綜合分析圖10、圖11以及表5可見,深度強化學習控制方法在四足機器人拖拽運動中表現出的性能優勢遠強于傳統控制方法。在TD3控制策略中,相較無拖拽運動,四足機器人加載0.4 kg拖拽重物,平均速度降低了9.3%,翻滾角波峰極值增加了31.8%,俯仰角波峰極值增加了16.9%,偏航角波峰極值增加了55.8%;在傳統控制策略中,相較無拖拽運動,四足機器人加載0.4 kg拖拽重物,平均速度降低了23.5%,翻滾角波峰極值增加了52.5%,俯仰角波峰極值增加了86.6%,偏航角波峰極值增加了68.7%。說明在拖拽運動中,TD3算法對四足機器人平穩運動具有良好的控制效果。

圖10 TD3控制方法的四足機器人速度和姿態角變化曲線

圖11 傳統控制算法的四足機器人速度和姿態角變化曲線

表5 機器人運動性能參數
針對四足機器人在拖拽運動控制中高度依賴于動力學模型,參數求解困難等問題,提出一種基于TD3算法的運動控制器設計方法。該方法通過深度神經網絡生成四足機器人在拖拽運動中的控制策略,機器人可以平穩拖動相當于自身質量1/10的重物(0.4 kg)。仿真實驗表明,采用TD3算法控制策略的四足機器人在加載0.4 kg拖拽重物后平均速度僅僅下降了9.3%,姿態角波峰極值分別增加16.9%、23.5%和52.5%;而采用傳統控制策略的四足機器人在加載0.4 kg拖拽重物后平均速度降低了23.5%,姿態角波峰極值分別增加52.5%、86.6%和69.7%。TD3算法在缺乏先驗知識的情況下,指導四足機器人穩定拖拽重物,速度損失較小,各關節扭矩平順,且姿態角波動范圍小,滿足四足機器人快速穩定拖拽物體的要求。