李麗霞,陳 艷
(廣州華商學院,廣州 511300)
在計算機科學技術、自動化控制技術和人工智能技術的共同推動下,機器人智能化水平不斷提高[1]。機器人的設計與控制極其復雜,融合了機械、電子、傳感、軟件控制、無線通信等多項技術[2-3],代表了一個國家的科研實力和精密制造水平。在諸多機器人結構設計中,雙足機器人的設計難度最大,對機械結構合理性及運動中自由度的分配提出了更高要求。鑒于雙足機器人結構設計優勢[4],其具有更高的靈活性能夠跨越和躲避障礙;由于雙足機器人的運動自由度較高,因此可以做出類似于提拉、抓取等相對復雜的動作;與傳統輪式機器人、爬行式機器人相比,雙足機器人運動效率較高,而且具有更低的功耗[5]。雙足機器人在控制中要先確保運動的平穩性,在此基礎上提升機器人的自由度和運動效率,并糾正機器人的前進動作和就這和運動軌跡偏差。
在雙足機器人運動控制方面,國內外領域內的專家和學者進行深入且廣泛的研究。學者Wang提出一種基于實時混合控制的方案,機器人的底層采用了模塊化的結構設計,而機器人頂層則采用了齊次坐標變換的控制及實時通信的方式,既解決了控制過程中數據冗余的問題,也能夠確保機器人沿著設定軌跡前進[6]。但該種方法下機器人的控制效率過低且控制精度和靈活度均不足,導致該種控制方案無法得到廣泛的推廣和使用;國內學者張品等人提出一種基于模糊PID控制的方案,結合模糊控制寬容度高和PID控制簡潔、精準性高等優點,來提升對機器人的控制效果[7]。但由于雙足機器人對于多自由度變化的控制精度要求較高,模糊PID控制在上下臺階或跨越障礙物等復雜動作的控制精度較差。
由于雙足機器人的復雜程度較高,為提升對機器人的控制精度和靈活度,本文引入了機器學習算法中的一種增強學習算法:D-DQN(DOUBLE-Deep Q Networks),D-DQN算法的優勢在于可以更好地利用實時回饋的數據,對機器人連續發送動作指令,并實施糾正運動偏差,并利用Q值函數在較短的時間內獲得最優的控制回報。深度Q值網絡中包含了若干個卷積層和全連接層,通過實時映射和非線性變換獲取到雙足機器人運動中的特征參數,并將結果反饋到控制中心。而D-DQN算法中包含了兩個控制權值,用其中的一個參數控制機器人的姿態動作,而使用另一個參數去估計函數模型中的Q值。D-DQN優化算法能夠更好地解決強化學習過程中的激活函數參數的估計問題,進而提升了改善對雙足機器人的實時控制。
控制雙足機器人的關鍵點是要保證機器人穩定行走,因此在設計機器人時通常采用連桿結構,在機器人運動中通過步態控制和自由度控制,實現機器人的協調行進。本文設計的四連桿雙足機器人運動模型,如圖1所示。

圖1 四連桿雙足機器人的結構設計
四連桿雙足機器人的核心運動關節為A、B、C、D、E五個關節,其中關節A模擬人體的髖關節,B、E模擬人體的膝關節,C、D模擬人體的踝關節;連桿AB和AE是機器人的大腿,連桿BC和ED是機器人的小腿,雙足機器人動力系統包括電池、電機、舵機等。
雙足機器人穩定行走關鍵要控制好重心[8-9],可以將關節A大致視為機器人的重心,在機器人雙腿交替前行時,重心落在關節A以確保機器人的穩定性和行進效率。根據齊次坐標轉換[10],先得出關鍵C的坐標公式和關節D的坐標公式:
(1)
其中:d1是連桿BC的長度,d2是連桿BA的長度,同理得出A、B、E各點的坐標:
(2)
其中:d3和d4分別為連桿AE和DE的長度,通過各關節坐標定位能夠確定移動過程中機器人的質心及運動速度[11],進而實現對雙足機器人移動行走過程中的穩定性控制。在對機器人的控制中,規定繞y軸順時針旋轉為正向,逆時針旋轉為逆向。以雙足機器人右側關節C、B為例進行描述和說明,當關節C沿x軸方向旋轉γ角度時,其向y軸旋轉的角度為-α,通過齊次坐標變換,得到了關節C相對于坐標系O的齊次坐標變換矩陣:
(3)
當右側膝關節B的旋轉角度為γ時,相對于坐標系O的變化過程如下:
(4)
采用相同的坐標轉換方法能夠識別雙足機器人左側關節D和關鍵E的坐標變化情況。雙足機器人采用雙腿交替前行的方式運動,通過對機器人運動模型的分析及對運動過程的實時控制,在確保機器人平穩運行的前提下,實現機器人合理避障、軌跡糾偏及運行效率的最大化。
雙足機器人運動過程中涉及到多個連桿、關節的同步協同運動,機器人質心變化、速度變化等都會影響到機器人的運動平穩性。而雙足機器人的運動控制是一個極其復雜非線性控制過程[11-12],通過大量實時數據交互形成完整的數據通信網絡,持續對雙足機器人發送實時指令,并提升對機器人運動中坐標變換的控制精度,進而實現對機器人步態和運動軌跡控制的精度。對雙足機器人的步態穩定性控制和運動效率控制問題,最終轉換為一個復雜的神經網絡數值訓練問題[13],與傳統深度學習[14]、機器學習[15]及Q學習算法[16]相比,深度Q值網絡在損失函數設計和經驗回放機制等方面做了同步優化。例如,Q學習算法在實際的數據訓練中利用Q表格對高維空間內的數據做降維處理[17],數據訓練的工作量巨大導致訓練時間過長及訓練效率低下,反應在對雙足機器人控制方面,會導致控制精度變差和控制效率降低。而深度Q值網絡算法基于值函數解決高維數據的降維問題,將實時采集到機器人運動軌跡數據,姿態數據,步頻步幅等數據作為訓練樣本輸入到深度Q值網絡中,判定機器人的實際動作與理論動作之間的差距,并通過調整損失函數值的方式[18],控制機器人的動作指令及調整和縮小實際值與理論值之間的差距,Q值更新的過程描述如下:
Qt(s,a)=Qt-1(st-1,at-1)+α[r+maxQt-1(st-1,at-1)]
(5)
其中:Qt(s,a)表示當前t時刻的Q值,s,a分別表示當前t時刻機器人的狀態和動作,而Qt-1(st-1,at-1)分別表示t-1時刻的Q值狀態和動作,α為循環系數取值范圍在0~2之間,r為t-1時刻Q值神經網絡訓練的獎勵值,r會根據模型的不斷迭代而累加。基于貝爾曼方程來表示當前t時刻雙足機器人的Q值,y為模型的輸出項:
y=r+αmaxQt(s,a,ζ)
(6)
其中:ζ為Q學習過程中Q值對應的權值,模型輸出項的目標函數,即為對應權值的損失函數L(ζ):
L(ζ)=E[(y-Qt(s,a,ζ))2]
(7)
由公式(7)可知,損失函數本質上是一種數學期望,損失函數的值越低表明對雙足機器人的實際控制偏差越小。
通過網絡迭代,不斷地優化Q值神經網絡的參數,對應的權值增量Δζ表示如下:
Δζ=E[y-Qt(st,at,ζt)]▽Qt(st-1,at-1,ζt-1)
(8)
在針對雙足機器人運動姿態和動作數值反饋的過程中,及目標網絡降維中,采用第t期的參數表示當前網絡參數,而主干網絡的預測中采用第t-1期參數表示上一期的網絡參數。在參數調整和數值訓練中目標Q值保持不變,從而提升了算法的穩定性。
深度學習和強化學習中樣本之間具有較強的關聯性,會對樣本屬性判斷和特征提取構成不利影響[19],甚至會到數值訓練收斂速度降低和出現函數的損失值波動等問題。深度Q值網絡算法的另一個優勢是設置了數據存儲的緩沖區,并形成了一種經驗回收機制,有助于在訓練中提取并應用成熟準確的數據樣本。從雙足機器人數值傳感器反饋回的數據具有高維屬性和海量性特征,設置數據緩沖區一方面,能夠鑒別出反饋數據的完整性和真實性,另一方面利用緩沖區的先驗知識也能夠提升學習的效率。雙足機器人在運動中其步頻、步幅和步態具有較強的重復性,通過信息存儲和篩選大量關于機器人狀態描述的樣本被存儲于經驗池中;在數據的重復訓練和特征提取過程中,相同的有價值的數據會被提取出并重復利用。經驗回放模式相當于保留了機器人重復動作指令,也打破了傳統模式下動作,狀態及指令之間一一對應的情況。一方面解決了重復指令數據量過大的問題,另一方面在下一個動作選擇時,也能夠優先地篩選成熟和準確的指令方案。深度Q值網絡從損失函數優化和數據緩沖存儲區設置等兩個視角,改善了傳統深度學習算法存在的問題,解決了傳統深度學習算法和Q學習算法網絡收斂慢,參數集選擇復雜和數值訓練中所面臨的維數災難問題[20]。但深度Q值網絡在處理海量數據時容易產生高估Q值的問題,一方面影響數據訓練的迭代效率和收斂效率,另一方面Q值預估過高還將影響到對雙足機器人運動控制精度。
為進一步提升深度Q值網絡數據訓練性能,同時解決Q值預估過高的問題,本文設計了一種D-DQN強化學習算法,并采用雙Q值權值的網絡模型結構設計(ζ和ζ′),其中權值ζ的功能不變,仍舊用于控制機器人的指令動作,而輔助權值ζ′則用于控制對Q值的預估,用模型的輸出項作為樣本的目標Q值,具體表示如下:
y=r+αmaxQt(s,a,ζ,ζ′)
(9)
基于D-DQN強化學習算法訓練數據集時,先通卷積神經網絡構建最優的狀態值函數,經過模型的強化學習,大多數情況下估計出的Q值均大于零。在激活函數的選擇方面,本文選擇了Tanh函數,該函數是一種雙切線函數,取值范圍在-1,1之間。D-DQN強化學習算法由兩個部分組成,即訓練部分和交互學習部分,具體如圖2所示。

圖2 D-DQN強化學習算法的構成
算法包含了兩個部分,即訓練網絡和環境交互部分,在訓練中由于采用了雙Q值權值的結構設計,提升對Q值預估的準確率而且優化了模型的目標函數,通過反向傳播的方式來糾偏的指令動作,并將其傳遞給雙足機器人的控制中心;在環境交互部分根據輸入的機器人狀態迭代分析結果,給出動作指令值和獎勵值,協作優化模型參數并提升對機器人的控制精度及控制效率。雙足機器當前位置信息和動作信息,作為D-DQN算法模型輸入項,經過多輪的迭代和訓練,對機器人步態動作指令的獎勵值增加,機器人會把訓練時被證明正確的元數據組回放到經驗池,經驗池中的有效指令數據逐漸增加,對機器的控制精度也能夠得到同步改善。而雙足機器人下一步的動作指令,會根據獎勵值和經驗池的真實指令做出,因此還要獎勵值輸入到目標函數中做進一步優化,通過反復訓練得到現有參數體系下最優Q值。由于輔助權值ζ′的存在,在Q值尋優中避免了最高峰值的出現。
機器人動作的獎勵值與動作的控制精度相關,通常情況下動作的精度越高,回饋后得到的獎勵值就越高而且回放池中的數值精度也在同步提升,從理論上來看回放池呈現出一種自組織優化的發展趨勢。但根據對雙足機器人動作狀態而做出獎勵的方式,容易出現獎勵值稀疏的問題,這是因為動作的獎勵值不是孤立存在的而是不斷累加的,而獎勵值設定的目標也不相同。為解決獎勵值的稀疏問題,最有效的方法是對D-DQN算法模型的獎懲函數進行優化。根據機器人動作精度分配獎勵值,動作指令反饋到神經網絡中如果判定動作正確則分配正獎勵值,而且獎勵值的多少與機器人動作的精度正相關;如果動作錯誤則賦予負的獎勵值,獎懲值的計算過程如下:
r=v·cos(ω)·n
(10)
其中:v代表對應的機器人運動位移線速度,ω代表關節的旋轉角速度,n代表重復運動的次數。從公式(10)中可知,雙足機器人的線速度和角速度都會影響到獎勵值,經過多次迭代和訓練后,根據獎勵值的多少系統會給機器人設定一個新的路徑,但無法避免地會出現獎懲稀疏的情況。考慮到經驗回放池在機器人動作指令尋優中的作用,在給機器人發送指令時參考經驗回放池的已有數據。機器人運動位移線速度和關節的旋轉角速度時決定獎懲回報值的關鍵參量,為加速機器運動中的自主尋優能力,通過提升線速度和角速度倍數的方式優化獎懲函數,優化后的獎懲值計算過程如下:
r=ρv2·cos(2ω)·n
(11)
其中:ρ為獎懲參數,所采取的優化方式是線速度乘方及角速度翻倍,以提升雙足機器人行進中躲避障礙和自主選擇最優路徑的能力
在雙足機器人的Q值計算中,Qt(s,a)為t時刻的Q值,s和a分別為t時刻的機器人的動作和狀態,假設雙足機器人發出了m個動作,且具有n種狀態,則動作集合S和狀態集合A表示如下:
(12)
前后兩個動作之間的連貫性取決于后一個動作對前一個動作的信任值,在第j個狀態下機器人對第i個動作(下一個預期動作)的信任值表示為τij,信任值與動作的預測精度高度相關,也與經驗回放池中的經驗數據相關。雙足機器人做出下一個指令動作,要通過神經網絡的輸入層、中間隱含層到網絡體系中,并依賴于激活函數映射到輸出層,最后得到Q值。深度Q值神經網絡的結構相同,層數可以更加指令集合的復雜程度來確定,激活函數選擇ReLU函數,各層的網絡參數隨著迭代次數的增加而不斷調整。雙足機器人只有具備了最優的狀態,才能根據信任度推理而選擇偏差最小的下一個指令動作,推理的過程如下:
1)根據機器人前一個動作的獎勵值和信任值確定下一個動作的指定及機器人的整個行進路徑,同時考慮到經驗回放池中已經數據,以提升機器人運動中的效率。
2)模擬機器人前后動作之間的交互關系,以提升對前一個動作指令的信任度,并通過推理的模式動態更新Q值網絡的參數。
3)由于信任度會出現衰減,因此要考慮到經驗池中已存儲的路徑,并通過不斷地迭代學習識別出新的信任路徑。
4)最后還要考慮到采樣時間的復雜度和測試樣本的規模,實時評估預估值與信任值之間的差距,和算法的有效性。
基于D-DQN強化學習算法能夠確保機器人向前行進的每一步都得到有效控制,同時在行進的過程中根據Q值和信任度,來實時調整行進動作出現的偏差和路徑軌跡的偏差。由于雙足機器人的運動過程是一個極其復雜的非線性過程,本文在D-DQN強化學習模型的基礎上,采用了虛擬約束控制的方式,將雙足機器人多自由度控制融合成為一種完整的約束關系,以機器人的側視步態為例進行分析,如圖3所示。

圖3 機器人虛擬控制約束示意圖
機器人連桿AB的長度為l1和BC的長度為l2,機器人運動過程中的約束表達式,具體表示如下:
(13)
將各關節都加上驅動,基于D-DQN強化學習算法得到的模型輸出項表示如下:
(14)
從雙足機器人側視的角度觀察,虛擬控制的過程將對機器人3個關節控制過程聯合起來,以實現對輸出量的等價控制,同步控制過程是一個虛擬的控制過程,各關節具有同步的控制特征,實施向后臺反饋控制結果并添加到經驗池。圖3中的融合控制量包括了5個獨立約束量(3個關節和5個連桿,可以視為5維),獨立約束量越多對雙足機器人的非線性控制過程就越復雜,為實現虛擬控制過程精度的提升,要基于D-DQN強化學習算法地獨立約束向量進行降維處理。包括5個獨立約束量的線性映射過程表示H5,從5維到4維的降維過程如下:
H5(φ,γ,φ,l1,l2)=φH4(γ,φ,l1,l2)·c(qn)
(15)
其中:c()為一個從高維降到低維的線性函數,qn表示雙足機器人的自由度,具體獨立約束量降維的過程表示如下:
H4=[q5q4q3q2]
(16)
在一個獨立的機器人行走周期內,c(qn)始終為一個單調遞增函數,再通過設定和調整兩個無量綱參數κ1、κ2和最大提髖距離τ,來提升雙足機器人運行的穩定性:
(17)
其中:D為雙足機器人的步長,最大提髖距離τ表示如下:
機器人穩定性的控制過程是一個極為復雜的非線性過程,對雙足機器人的智能控制過程步驟如下:
1)確定雙足機器人運動過程中的空間坐標體系,明確其運動過程和空間坐標轉換關系。
2)實時傳遞機器人的空間坐標位置信息,并通過D-DQN強化學習算法訓練傳遞回的數據,并將有效數據存儲于經驗池。
3)基于獎懲函數確定雙足機器人運動過程中的獎懲值和信任值,以實現對機器人運動動作和軌跡的糾偏。
4)通過D-DQN強化學習算法的信任推理過程,一方面明確算法執行于理論動作和軌跡的差距,另一方面評估算法的有效性,
5)采用D-DQN強化學習算法和虛擬約束控制的方式,實現對負責非線性運動過程的降維,并通過虛擬約束確保機器人的平穩高效運行。
本文在實驗室環境下來驗證D-DQN強化學習算法對雙足機器人智能控制效果,選用的實驗用機器人為Agility Robotics公司生產的Cassie型號雙足機器人,具體如圖4所示。

圖4 實驗用Cassie型雙足機器人
Cassie型雙足機器人的大腿、小腿長度和質量分別為0.40 m、0.35 m、7.5 kg和3.0 kg,雙足機器人的其他參數設置如表1所示。

表1 雙足機器人相關參數設置
對雙足機器人智能控制實驗中的軟硬件環境設置包括:CPU Intel corei9 9900h,CPUDE 最高主頻3.1 GHz,RAM16 GB,ROM1TB,操作系統選擇兼容性更好的開源系統LINUX。本文使用的機器人控制軟件為RobotArt,該軟件支持多格式的機器人控制模型,包括三維CAD模型,能夠根據現場的情況主動生成程序而且支持復合外部軸系統,以更好地實現機器人的軌跡控制和避碰。
實驗過程中采用了兩種實驗場景:第一種是30 m的平整路面,機器人的行進路線上設置了10個路障,通過該場景主要分析雙足機器人,在不同算法控制下步態穩定性和躲避障礙物的智能化水平,及運動效率。
第二種是臺階環境(50級臺階),主要驗證機器人在不同算法控制下能否完成臺階的攀爬,及完成任務后的耗時情況。為了使實驗結果更加直觀,引入了文獻6的混合控制方案和文獻7的模糊PID控制方案參與對比。實驗場景設置按照各算法的需求參數進行匹配,雙足機器人的執行流程如圖5所示。

圖5 機器人的執行流程
3.2.1 平整路面實驗
雙足機器人平整路面測試,主要測試各算法對于機器人運動過程中的穩態控制,通過傳感器采集機器人6個關節和4個連桿運動中的角度和位移偏差均值,同時分析完成30 m測試后各算法躲避障礙物的情況,及最終的完成時間,關節和連桿的偏差均值分析情況,如表2所示(采集實際回饋的關節數據及連桿數據,與理論情況下機器人的控制數據進行對比):

表2 雙足機器人平整路面行進測試關節與連桿軌跡偏差
由于傳感器采集的機器人運動數據可知,D-DQN算法控制下雙足機器人各關節的角度偏差和連桿的位移偏差值均較小,且趨近于理論值。完成平路測試后軌跡偏差、總耗時、及碰撞障礙物的相關統計數據,如表3所示。

表3 平路測試環境數據對比
兩種傳統算法下雙足機器人在每個行進中各關節和連桿都會產生偏差,且無法實現動作及軌跡上的糾偏,進而導致機器人總體軌跡偏差較大,完成30 m運動軌跡的時間D-DQN算法耗時最短為115 s,且沒有碰撞到設置的障礙物,而3種傳統算法分別碰撞了1次障礙物,1次障礙物和2次障礙物。不同算法下雙足機器人運動軌跡偏差、控制時間和避碰情況表明,D-DQN算法的智能控制效果優于3種傳統算法。
3.2.2 攀爬實驗
具有良好的攀爬能力是雙足機器人相對于其他類型機器人的優勢所在,在一些特殊場景下,雙足機器人垂直運動靈活且能夠完成更多的指定任務。先分析D-DQN算法,隨著機器人不斷攀爬臺階,其獎勵值的變化情況,如圖6所示。

圖6 D-DQN算法下雙足機器人運動中獎勵值變化
D-DQN算法下初始階段獎勵值快速增長,隨著雙足機器人平穩登臺階,算法的獎勵值增速下降,但整個過程中算法的獎勵值始終呈現出增長的趨勢,這表明D-DQN算法在不斷地糾正機器關節旋轉角度偏差和位移偏差,以達到更平穩地控制機器人行走的目的。
雙足機器人運動過程中的平穩性可以通過步態切換極限環來表示,機器人在攀爬50個臺階過程中重心3個軸向會不斷地發生偏差,而智能機器人主動控制算法就是通過實時指令實現3個軸向的糾偏,用雙足機器人步態切換極限環,來模擬對雙足機器人的重心糾偏過程,D-DQN算法下的步態切換極限環變化如圖7所示。

圖7 D-DQN強化學習算法下步態切換極限環
圖7中,相鄰近的步態切換極限環并未出現較大的偏差,表明在D-DQN強化學習算法下雙足機器人的重心控制良好;在相同的實驗環境下,分析傳統DQN算法、混合控制算法和模糊PID控制算法下極限環的變化情況,分別如圖8~圖10所示。

圖8 傳統DQN算法下的步態切換極限環

圖9 混合控制算法下的步態切換極限環

圖10 模糊PID算法下的步態切換極限環
如圖8~圖10所示,在3種傳統算法下雙足機器人的步態切換極限環,均出現了較為明顯的偏差,表明3種傳統算法對雙足機器人步態和重心控制存在一定問題,會影響到雙足機器人運動軌跡和行進效率。
與傳統輪式機器人、多足機器人等相比,雙足機器人在平衡性、穩定性、仿真效果、垂直運動能力等方面均具有較大的優勢。但雙足機器人由于特殊用途在結構設計上更加復雜,會包括多個關節和連桿,整個運動的過程也是一個復雜度較高的非線性過程,因此對雙足機器人控制算法的控制精度要求較高。本文設計了一種基于D-DQN強化學習的算法,融合Q學習、Q值網絡模型、神經網絡和強化學習等多種算法的優勢,采用雙權值的設計方式,并通過實時的補償控制糾正各關節和連桿復合運動中出現的偏差,在確保機器人運動效率的同時,準確控制機器人的運動軌跡和復雜動作。實驗結果顯示,在D-DQN強化學習的算法控制下,雙足機器人的軌跡偏差較小,且在完成復雜攀爬動作時機器人的重心較為穩定。