李麗霞,陳 艷
(廣州華商學(xué)院,廣州 511300)
在計(jì)算機(jī)科學(xué)技術(shù)、自動(dòng)化控制技術(shù)和人工智能技術(shù)的共同推動(dòng)下,機(jī)器人智能化水平不斷提高[1]。機(jī)器人的設(shè)計(jì)與控制極其復(fù)雜,融合了機(jī)械、電子、傳感、軟件控制、無線通信等多項(xiàng)技術(shù)[2-3],代表了一個(gè)國家的科研實(shí)力和精密制造水平。在諸多機(jī)器人結(jié)構(gòu)設(shè)計(jì)中,雙足機(jī)器人的設(shè)計(jì)難度最大,對(duì)機(jī)械結(jié)構(gòu)合理性及運(yùn)動(dòng)中自由度的分配提出了更高要求。鑒于雙足機(jī)器人結(jié)構(gòu)設(shè)計(jì)優(yōu)勢(shì)[4],其具有更高的靈活性能夠跨越和躲避障礙;由于雙足機(jī)器人的運(yùn)動(dòng)自由度較高,因此可以做出類似于提拉、抓取等相對(duì)復(fù)雜的動(dòng)作;與傳統(tǒng)輪式機(jī)器人、爬行式機(jī)器人相比,雙足機(jī)器人運(yùn)動(dòng)效率較高,而且具有更低的功耗[5]。雙足機(jī)器人在控制中要先確保運(yùn)動(dòng)的平穩(wěn)性,在此基礎(chǔ)上提升機(jī)器人的自由度和運(yùn)動(dòng)效率,并糾正機(jī)器人的前進(jìn)動(dòng)作和就這和運(yùn)動(dòng)軌跡偏差。
在雙足機(jī)器人運(yùn)動(dòng)控制方面,國內(nèi)外領(lǐng)域內(nèi)的專家和學(xué)者進(jìn)行深入且廣泛的研究。學(xué)者Wang提出一種基于實(shí)時(shí)混合控制的方案,機(jī)器人的底層采用了模塊化的結(jié)構(gòu)設(shè)計(jì),而機(jī)器人頂層則采用了齊次坐標(biāo)變換的控制及實(shí)時(shí)通信的方式,既解決了控制過程中數(shù)據(jù)冗余的問題,也能夠確保機(jī)器人沿著設(shè)定軌跡前進(jìn)[6]。但該種方法下機(jī)器人的控制效率過低且控制精度和靈活度均不足,導(dǎo)致該種控制方案無法得到廣泛的推廣和使用;國內(nèi)學(xué)者張品等人提出一種基于模糊PID控制的方案,結(jié)合模糊控制寬容度高和PID控制簡潔、精準(zhǔn)性高等優(yōu)點(diǎn),來提升對(duì)機(jī)器人的控制效果[7]。但由于雙足機(jī)器人對(duì)于多自由度變化的控制精度要求較高,模糊PID控制在上下臺(tái)階或跨越障礙物等復(fù)雜動(dòng)作的控制精度較差。
由于雙足機(jī)器人的復(fù)雜程度較高,為提升對(duì)機(jī)器人的控制精度和靈活度,本文引入了機(jī)器學(xué)習(xí)算法中的一種增強(qiáng)學(xué)習(xí)算法:D-DQN(DOUBLE-Deep Q Networks),D-DQN算法的優(yōu)勢(shì)在于可以更好地利用實(shí)時(shí)回饋的數(shù)據(jù),對(duì)機(jī)器人連續(xù)發(fā)送動(dòng)作指令,并實(shí)施糾正運(yùn)動(dòng)偏差,并利用Q值函數(shù)在較短的時(shí)間內(nèi)獲得最優(yōu)的控制回報(bào)。深度Q值網(wǎng)絡(luò)中包含了若干個(gè)卷積層和全連接層,通過實(shí)時(shí)映射和非線性變換獲取到雙足機(jī)器人運(yùn)動(dòng)中的特征參數(shù),并將結(jié)果反饋到控制中心。而D-DQN算法中包含了兩個(gè)控制權(quán)值,用其中的一個(gè)參數(shù)控制機(jī)器人的姿態(tài)動(dòng)作,而使用另一個(gè)參數(shù)去估計(jì)函數(shù)模型中的Q值。D-DQN優(yōu)化算法能夠更好地解決強(qiáng)化學(xué)習(xí)過程中的激活函數(shù)參數(shù)的估計(jì)問題,進(jìn)而提升了改善對(duì)雙足機(jī)器人的實(shí)時(shí)控制。
控制雙足機(jī)器人的關(guān)鍵點(diǎn)是要保證機(jī)器人穩(wěn)定行走,因此在設(shè)計(jì)機(jī)器人時(shí)通常采用連桿結(jié)構(gòu),在機(jī)器人運(yùn)動(dòng)中通過步態(tài)控制和自由度控制,實(shí)現(xiàn)機(jī)器人的協(xié)調(diào)行進(jìn)。本文設(shè)計(jì)的四連桿雙足機(jī)器人運(yùn)動(dòng)模型,如圖1所示。
圖1 四連桿雙足機(jī)器人的結(jié)構(gòu)設(shè)計(jì)
四連桿雙足機(jī)器人的核心運(yùn)動(dòng)關(guān)節(jié)為A、B、C、D、E五個(gè)關(guān)節(jié),其中關(guān)節(jié)A模擬人體的髖關(guān)節(jié),B、E模擬人體的膝關(guān)節(jié),C、D模擬人體的踝關(guān)節(jié);連桿AB和AE是機(jī)器人的大腿,連桿BC和ED是機(jī)器人的小腿,雙足機(jī)器人動(dòng)力系統(tǒng)包括電池、電機(jī)、舵機(jī)等。
雙足機(jī)器人穩(wěn)定行走關(guān)鍵要控制好重心[8-9],可以將關(guān)節(jié)A大致視為機(jī)器人的重心,在機(jī)器人雙腿交替前行時(shí),重心落在關(guān)節(jié)A以確保機(jī)器人的穩(wěn)定性和行進(jìn)效率。根據(jù)齊次坐標(biāo)轉(zhuǎn)換[10],先得出關(guān)鍵C的坐標(biāo)公式和關(guān)節(jié)D的坐標(biāo)公式:
(1)
其中:d1是連桿BC的長度,d2是連桿BA的長度,同理得出A、B、E各點(diǎn)的坐標(biāo):
(2)
其中:d3和d4分別為連桿AE和DE的長度,通過各關(guān)節(jié)坐標(biāo)定位能夠確定移動(dòng)過程中機(jī)器人的質(zhì)心及運(yùn)動(dòng)速度[11],進(jìn)而實(shí)現(xiàn)對(duì)雙足機(jī)器人移動(dòng)行走過程中的穩(wěn)定性控制。在對(duì)機(jī)器人的控制中,規(guī)定繞y軸順時(shí)針旋轉(zhuǎn)為正向,逆時(shí)針旋轉(zhuǎn)為逆向。以雙足機(jī)器人右側(cè)關(guān)節(jié)C、B為例進(jìn)行描述和說明,當(dāng)關(guān)節(jié)C沿x軸方向旋轉(zhuǎn)γ角度時(shí),其向y軸旋轉(zhuǎn)的角度為-α,通過齊次坐標(biāo)變換,得到了關(guān)節(jié)C相對(duì)于坐標(biāo)系O的齊次坐標(biāo)變換矩陣:
(3)
當(dāng)右側(cè)膝關(guān)節(jié)B的旋轉(zhuǎn)角度為γ時(shí),相對(duì)于坐標(biāo)系O的變化過程如下:
(4)
采用相同的坐標(biāo)轉(zhuǎn)換方法能夠識(shí)別雙足機(jī)器人左側(cè)關(guān)節(jié)D和關(guān)鍵E的坐標(biāo)變化情況。雙足機(jī)器人采用雙腿交替前行的方式運(yùn)動(dòng),通過對(duì)機(jī)器人運(yùn)動(dòng)模型的分析及對(duì)運(yùn)動(dòng)過程的實(shí)時(shí)控制,在確保機(jī)器人平穩(wěn)運(yùn)行的前提下,實(shí)現(xiàn)機(jī)器人合理避障、軌跡糾偏及運(yùn)行效率的最大化。
雙足機(jī)器人運(yùn)動(dòng)過程中涉及到多個(gè)連桿、關(guān)節(jié)的同步協(xié)同運(yùn)動(dòng),機(jī)器人質(zhì)心變化、速度變化等都會(huì)影響到機(jī)器人的運(yùn)動(dòng)平穩(wěn)性。而雙足機(jī)器人的運(yùn)動(dòng)控制是一個(gè)極其復(fù)雜非線性控制過程[11-12],通過大量實(shí)時(shí)數(shù)據(jù)交互形成完整的數(shù)據(jù)通信網(wǎng)絡(luò),持續(xù)對(duì)雙足機(jī)器人發(fā)送實(shí)時(shí)指令,并提升對(duì)機(jī)器人運(yùn)動(dòng)中坐標(biāo)變換的控制精度,進(jìn)而實(shí)現(xiàn)對(duì)機(jī)器人步態(tài)和運(yùn)動(dòng)軌跡控制的精度。對(duì)雙足機(jī)器人的步態(tài)穩(wěn)定性控制和運(yùn)動(dòng)效率控制問題,最終轉(zhuǎn)換為一個(gè)復(fù)雜的神經(jīng)網(wǎng)絡(luò)數(shù)值訓(xùn)練問題[13],與傳統(tǒng)深度學(xué)習(xí)[14]、機(jī)器學(xué)習(xí)[15]及Q學(xué)習(xí)算法[16]相比,深度Q值網(wǎng)絡(luò)在損失函數(shù)設(shè)計(jì)和經(jīng)驗(yàn)回放機(jī)制等方面做了同步優(yōu)化。例如,Q學(xué)習(xí)算法在實(shí)際的數(shù)據(jù)訓(xùn)練中利用Q表格對(duì)高維空間內(nèi)的數(shù)據(jù)做降維處理[17],數(shù)據(jù)訓(xùn)練的工作量巨大導(dǎo)致訓(xùn)練時(shí)間過長及訓(xùn)練效率低下,反應(yīng)在對(duì)雙足機(jī)器人控制方面,會(huì)導(dǎo)致控制精度變差和控制效率降低。而深度Q值網(wǎng)絡(luò)算法基于值函數(shù)解決高維數(shù)據(jù)的降維問題,將實(shí)時(shí)采集到機(jī)器人運(yùn)動(dòng)軌跡數(shù)據(jù),姿態(tài)數(shù)據(jù),步頻步幅等數(shù)據(jù)作為訓(xùn)練樣本輸入到深度Q值網(wǎng)絡(luò)中,判定機(jī)器人的實(shí)際動(dòng)作與理論動(dòng)作之間的差距,并通過調(diào)整損失函數(shù)值的方式[18],控制機(jī)器人的動(dòng)作指令及調(diào)整和縮小實(shí)際值與理論值之間的差距,Q值更新的過程描述如下:
Qt(s,a)=Qt-1(st-1,at-1)+α[r+maxQt-1(st-1,at-1)]
(5)
其中:Qt(s,a)表示當(dāng)前t時(shí)刻的Q值,s,a分別表示當(dāng)前t時(shí)刻機(jī)器人的狀態(tài)和動(dòng)作,而Qt-1(st-1,at-1)分別表示t-1時(shí)刻的Q值狀態(tài)和動(dòng)作,α為循環(huán)系數(shù)取值范圍在0~2之間,r為t-1時(shí)刻Q值神經(jīng)網(wǎng)絡(luò)訓(xùn)練的獎(jiǎng)勵(lì)值,r會(huì)根據(jù)模型的不斷迭代而累加?;谪悹柭匠虂肀硎井?dāng)前t時(shí)刻雙足機(jī)器人的Q值,y為模型的輸出項(xiàng):
y=r+αmaxQt(s,a,ζ)
(6)
其中:ζ為Q學(xué)習(xí)過程中Q值對(duì)應(yīng)的權(quán)值,模型輸出項(xiàng)的目標(biāo)函數(shù),即為對(duì)應(yīng)權(quán)值的損失函數(shù)L(ζ):
L(ζ)=E[(y-Qt(s,a,ζ))2]
(7)
由公式(7)可知,損失函數(shù)本質(zhì)上是一種數(shù)學(xué)期望,損失函數(shù)的值越低表明對(duì)雙足機(jī)器人的實(shí)際控制偏差越小。
通過網(wǎng)絡(luò)迭代,不斷地優(yōu)化Q值神經(jīng)網(wǎng)絡(luò)的參數(shù),對(duì)應(yīng)的權(quán)值增量Δζ表示如下:
Δζ=E[y-Qt(st,at,ζt)]▽Qt(st-1,at-1,ζt-1)
(8)
在針對(duì)雙足機(jī)器人運(yùn)動(dòng)姿態(tài)和動(dòng)作數(shù)值反饋的過程中,及目標(biāo)網(wǎng)絡(luò)降維中,采用第t期的參數(shù)表示當(dāng)前網(wǎng)絡(luò)參數(shù),而主干網(wǎng)絡(luò)的預(yù)測中采用第t-1期參數(shù)表示上一期的網(wǎng)絡(luò)參數(shù)。在參數(shù)調(diào)整和數(shù)值訓(xùn)練中目標(biāo)Q值保持不變,從而提升了算法的穩(wěn)定性。
深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)中樣本之間具有較強(qiáng)的關(guān)聯(lián)性,會(huì)對(duì)樣本屬性判斷和特征提取構(gòu)成不利影響[19],甚至?xí)綌?shù)值訓(xùn)練收斂速度降低和出現(xiàn)函數(shù)的損失值波動(dòng)等問題。深度Q值網(wǎng)絡(luò)算法的另一個(gè)優(yōu)勢(shì)是設(shè)置了數(shù)據(jù)存儲(chǔ)的緩沖區(qū),并形成了一種經(jīng)驗(yàn)回收機(jī)制,有助于在訓(xùn)練中提取并應(yīng)用成熟準(zhǔn)確的數(shù)據(jù)樣本。從雙足機(jī)器人數(shù)值傳感器反饋回的數(shù)據(jù)具有高維屬性和海量性特征,設(shè)置數(shù)據(jù)緩沖區(qū)一方面,能夠鑒別出反饋數(shù)據(jù)的完整性和真實(shí)性,另一方面利用緩沖區(qū)的先驗(yàn)知識(shí)也能夠提升學(xué)習(xí)的效率。雙足機(jī)器人在運(yùn)動(dòng)中其步頻、步幅和步態(tài)具有較強(qiáng)的重復(fù)性,通過信息存儲(chǔ)和篩選大量關(guān)于機(jī)器人狀態(tài)描述的樣本被存儲(chǔ)于經(jīng)驗(yàn)池中;在數(shù)據(jù)的重復(fù)訓(xùn)練和特征提取過程中,相同的有價(jià)值的數(shù)據(jù)會(huì)被提取出并重復(fù)利用。經(jīng)驗(yàn)回放模式相當(dāng)于保留了機(jī)器人重復(fù)動(dòng)作指令,也打破了傳統(tǒng)模式下動(dòng)作,狀態(tài)及指令之間一一對(duì)應(yīng)的情況。一方面解決了重復(fù)指令數(shù)據(jù)量過大的問題,另一方面在下一個(gè)動(dòng)作選擇時(shí),也能夠優(yōu)先地篩選成熟和準(zhǔn)確的指令方案。深度Q值網(wǎng)絡(luò)從損失函數(shù)優(yōu)化和數(shù)據(jù)緩沖存儲(chǔ)區(qū)設(shè)置等兩個(gè)視角,改善了傳統(tǒng)深度學(xué)習(xí)算法存在的問題,解決了傳統(tǒng)深度學(xué)習(xí)算法和Q學(xué)習(xí)算法網(wǎng)絡(luò)收斂慢,參數(shù)集選擇復(fù)雜和數(shù)值訓(xùn)練中所面臨的維數(shù)災(zāi)難問題[20]。但深度Q值網(wǎng)絡(luò)在處理海量數(shù)據(jù)時(shí)容易產(chǎn)生高估Q值的問題,一方面影響數(shù)據(jù)訓(xùn)練的迭代效率和收斂效率,另一方面Q值預(yù)估過高還將影響到對(duì)雙足機(jī)器人運(yùn)動(dòng)控制精度。
為進(jìn)一步提升深度Q值網(wǎng)絡(luò)數(shù)據(jù)訓(xùn)練性能,同時(shí)解決Q值預(yù)估過高的問題,本文設(shè)計(jì)了一種D-DQN強(qiáng)化學(xué)習(xí)算法,并采用雙Q值權(quán)值的網(wǎng)絡(luò)模型結(jié)構(gòu)設(shè)計(jì)(ζ和ζ′),其中權(quán)值ζ的功能不變,仍舊用于控制機(jī)器人的指令動(dòng)作,而輔助權(quán)值ζ′則用于控制對(duì)Q值的預(yù)估,用模型的輸出項(xiàng)作為樣本的目標(biāo)Q值,具體表示如下:
y=r+αmaxQt(s,a,ζ,ζ′)
(9)
基于D-DQN強(qiáng)化學(xué)習(xí)算法訓(xùn)練數(shù)據(jù)集時(shí),先通卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建最優(yōu)的狀態(tài)值函數(shù),經(jīng)過模型的強(qiáng)化學(xué)習(xí),大多數(shù)情況下估計(jì)出的Q值均大于零。在激活函數(shù)的選擇方面,本文選擇了Tanh函數(shù),該函數(shù)是一種雙切線函數(shù),取值范圍在-1,1之間。D-DQN強(qiáng)化學(xué)習(xí)算法由兩個(gè)部分組成,即訓(xùn)練部分和交互學(xué)習(xí)部分,具體如圖2所示。
圖2 D-DQN強(qiáng)化學(xué)習(xí)算法的構(gòu)成
算法包含了兩個(gè)部分,即訓(xùn)練網(wǎng)絡(luò)和環(huán)境交互部分,在訓(xùn)練中由于采用了雙Q值權(quán)值的結(jié)構(gòu)設(shè)計(jì),提升對(duì)Q值預(yù)估的準(zhǔn)確率而且優(yōu)化了模型的目標(biāo)函數(shù),通過反向傳播的方式來糾偏的指令動(dòng)作,并將其傳遞給雙足機(jī)器人的控制中心;在環(huán)境交互部分根據(jù)輸入的機(jī)器人狀態(tài)迭代分析結(jié)果,給出動(dòng)作指令值和獎(jiǎng)勵(lì)值,協(xié)作優(yōu)化模型參數(shù)并提升對(duì)機(jī)器人的控制精度及控制效率。雙足機(jī)器當(dāng)前位置信息和動(dòng)作信息,作為D-DQN算法模型輸入項(xiàng),經(jīng)過多輪的迭代和訓(xùn)練,對(duì)機(jī)器人步態(tài)動(dòng)作指令的獎(jiǎng)勵(lì)值增加,機(jī)器人會(huì)把訓(xùn)練時(shí)被證明正確的元數(shù)據(jù)組回放到經(jīng)驗(yàn)池,經(jīng)驗(yàn)池中的有效指令數(shù)據(jù)逐漸增加,對(duì)機(jī)器的控制精度也能夠得到同步改善。而雙足機(jī)器人下一步的動(dòng)作指令,會(huì)根據(jù)獎(jiǎng)勵(lì)值和經(jīng)驗(yàn)池的真實(shí)指令做出,因此還要獎(jiǎng)勵(lì)值輸入到目標(biāo)函數(shù)中做進(jìn)一步優(yōu)化,通過反復(fù)訓(xùn)練得到現(xiàn)有參數(shù)體系下最優(yōu)Q值。由于輔助權(quán)值ζ′的存在,在Q值尋優(yōu)中避免了最高峰值的出現(xiàn)。
機(jī)器人動(dòng)作的獎(jiǎng)勵(lì)值與動(dòng)作的控制精度相關(guān),通常情況下動(dòng)作的精度越高,回饋后得到的獎(jiǎng)勵(lì)值就越高而且回放池中的數(shù)值精度也在同步提升,從理論上來看回放池呈現(xiàn)出一種自組織優(yōu)化的發(fā)展趨勢(shì)。但根據(jù)對(duì)雙足機(jī)器人動(dòng)作狀態(tài)而做出獎(jiǎng)勵(lì)的方式,容易出現(xiàn)獎(jiǎng)勵(lì)值稀疏的問題,這是因?yàn)閯?dòng)作的獎(jiǎng)勵(lì)值不是孤立存在的而是不斷累加的,而獎(jiǎng)勵(lì)值設(shè)定的目標(biāo)也不相同。為解決獎(jiǎng)勵(lì)值的稀疏問題,最有效的方法是對(duì)D-DQN算法模型的獎(jiǎng)懲函數(shù)進(jìn)行優(yōu)化。根據(jù)機(jī)器人動(dòng)作精度分配獎(jiǎng)勵(lì)值,動(dòng)作指令反饋到神經(jīng)網(wǎng)絡(luò)中如果判定動(dòng)作正確則分配正獎(jiǎng)勵(lì)值,而且獎(jiǎng)勵(lì)值的多少與機(jī)器人動(dòng)作的精度正相關(guān);如果動(dòng)作錯(cuò)誤則賦予負(fù)的獎(jiǎng)勵(lì)值,獎(jiǎng)懲值的計(jì)算過程如下:
r=v·cos(ω)·n
(10)
其中:v代表對(duì)應(yīng)的機(jī)器人運(yùn)動(dòng)位移線速度,ω代表關(guān)節(jié)的旋轉(zhuǎn)角速度,n代表重復(fù)運(yùn)動(dòng)的次數(shù)。從公式(10)中可知,雙足機(jī)器人的線速度和角速度都會(huì)影響到獎(jiǎng)勵(lì)值,經(jīng)過多次迭代和訓(xùn)練后,根據(jù)獎(jiǎng)勵(lì)值的多少系統(tǒng)會(huì)給機(jī)器人設(shè)定一個(gè)新的路徑,但無法避免地會(huì)出現(xiàn)獎(jiǎng)懲稀疏的情況??紤]到經(jīng)驗(yàn)回放池在機(jī)器人動(dòng)作指令尋優(yōu)中的作用,在給機(jī)器人發(fā)送指令時(shí)參考經(jīng)驗(yàn)回放池的已有數(shù)據(jù)。機(jī)器人運(yùn)動(dòng)位移線速度和關(guān)節(jié)的旋轉(zhuǎn)角速度時(shí)決定獎(jiǎng)懲回報(bào)值的關(guān)鍵參量,為加速機(jī)器運(yùn)動(dòng)中的自主尋優(yōu)能力,通過提升線速度和角速度倍數(shù)的方式優(yōu)化獎(jiǎng)懲函數(shù),優(yōu)化后的獎(jiǎng)懲值計(jì)算過程如下:
r=ρv2·cos(2ω)·n
(11)
其中:ρ為獎(jiǎng)懲參數(shù),所采取的優(yōu)化方式是線速度乘方及角速度翻倍,以提升雙足機(jī)器人行進(jìn)中躲避障礙和自主選擇最優(yōu)路徑的能力
在雙足機(jī)器人的Q值計(jì)算中,Qt(s,a)為t時(shí)刻的Q值,s和a分別為t時(shí)刻的機(jī)器人的動(dòng)作和狀態(tài),假設(shè)雙足機(jī)器人發(fā)出了m個(gè)動(dòng)作,且具有n種狀態(tài),則動(dòng)作集合S和狀態(tài)集合A表示如下:
(12)
前后兩個(gè)動(dòng)作之間的連貫性取決于后一個(gè)動(dòng)作對(duì)前一個(gè)動(dòng)作的信任值,在第j個(gè)狀態(tài)下機(jī)器人對(duì)第i個(gè)動(dòng)作(下一個(gè)預(yù)期動(dòng)作)的信任值表示為τij,信任值與動(dòng)作的預(yù)測精度高度相關(guān),也與經(jīng)驗(yàn)回放池中的經(jīng)驗(yàn)數(shù)據(jù)相關(guān)。雙足機(jī)器人做出下一個(gè)指令動(dòng)作,要通過神經(jīng)網(wǎng)絡(luò)的輸入層、中間隱含層到網(wǎng)絡(luò)體系中,并依賴于激活函數(shù)映射到輸出層,最后得到Q值。深度Q值神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)相同,層數(shù)可以更加指令集合的復(fù)雜程度來確定,激活函數(shù)選擇ReLU函數(shù),各層的網(wǎng)絡(luò)參數(shù)隨著迭代次數(shù)的增加而不斷調(diào)整。雙足機(jī)器人只有具備了最優(yōu)的狀態(tài),才能根據(jù)信任度推理而選擇偏差最小的下一個(gè)指令動(dòng)作,推理的過程如下:
1)根據(jù)機(jī)器人前一個(gè)動(dòng)作的獎(jiǎng)勵(lì)值和信任值確定下一個(gè)動(dòng)作的指定及機(jī)器人的整個(gè)行進(jìn)路徑,同時(shí)考慮到經(jīng)驗(yàn)回放池中已經(jīng)數(shù)據(jù),以提升機(jī)器人運(yùn)動(dòng)中的效率。
2)模擬機(jī)器人前后動(dòng)作之間的交互關(guān)系,以提升對(duì)前一個(gè)動(dòng)作指令的信任度,并通過推理的模式動(dòng)態(tài)更新Q值網(wǎng)絡(luò)的參數(shù)。
3)由于信任度會(huì)出現(xiàn)衰減,因此要考慮到經(jīng)驗(yàn)池中已存儲(chǔ)的路徑,并通過不斷地迭代學(xué)習(xí)識(shí)別出新的信任路徑。
4)最后還要考慮到采樣時(shí)間的復(fù)雜度和測試樣本的規(guī)模,實(shí)時(shí)評(píng)估預(yù)估值與信任值之間的差距,和算法的有效性。
基于D-DQN強(qiáng)化學(xué)習(xí)算法能夠確保機(jī)器人向前行進(jìn)的每一步都得到有效控制,同時(shí)在行進(jìn)的過程中根據(jù)Q值和信任度,來實(shí)時(shí)調(diào)整行進(jìn)動(dòng)作出現(xiàn)的偏差和路徑軌跡的偏差。由于雙足機(jī)器人的運(yùn)動(dòng)過程是一個(gè)極其復(fù)雜的非線性過程,本文在D-DQN強(qiáng)化學(xué)習(xí)模型的基礎(chǔ)上,采用了虛擬約束控制的方式,將雙足機(jī)器人多自由度控制融合成為一種完整的約束關(guān)系,以機(jī)器人的側(cè)視步態(tài)為例進(jìn)行分析,如圖3所示。
圖3 機(jī)器人虛擬控制約束示意圖
機(jī)器人連桿AB的長度為l1和BC的長度為l2,機(jī)器人運(yùn)動(dòng)過程中的約束表達(dá)式,具體表示如下:
(13)
將各關(guān)節(jié)都加上驅(qū)動(dòng),基于D-DQN強(qiáng)化學(xué)習(xí)算法得到的模型輸出項(xiàng)表示如下:
(14)
從雙足機(jī)器人側(cè)視的角度觀察,虛擬控制的過程將對(duì)機(jī)器人3個(gè)關(guān)節(jié)控制過程聯(lián)合起來,以實(shí)現(xiàn)對(duì)輸出量的等價(jià)控制,同步控制過程是一個(gè)虛擬的控制過程,各關(guān)節(jié)具有同步的控制特征,實(shí)施向后臺(tái)反饋控制結(jié)果并添加到經(jīng)驗(yàn)池。圖3中的融合控制量包括了5個(gè)獨(dú)立約束量(3個(gè)關(guān)節(jié)和5個(gè)連桿,可以視為5維),獨(dú)立約束量越多對(duì)雙足機(jī)器人的非線性控制過程就越復(fù)雜,為實(shí)現(xiàn)虛擬控制過程精度的提升,要基于D-DQN強(qiáng)化學(xué)習(xí)算法地獨(dú)立約束向量進(jìn)行降維處理。包括5個(gè)獨(dú)立約束量的線性映射過程表示H5,從5維到4維的降維過程如下:
H5(φ,γ,φ,l1,l2)=φH4(γ,φ,l1,l2)·c(qn)
(15)
其中:c()為一個(gè)從高維降到低維的線性函數(shù),qn表示雙足機(jī)器人的自由度,具體獨(dú)立約束量降維的過程表示如下:
H4=[q5q4q3q2]
(16)
在一個(gè)獨(dú)立的機(jī)器人行走周期內(nèi),c(qn)始終為一個(gè)單調(diào)遞增函數(shù),再通過設(shè)定和調(diào)整兩個(gè)無量綱參數(shù)κ1、κ2和最大提髖距離τ,來提升雙足機(jī)器人運(yùn)行的穩(wěn)定性:
(17)
其中:D為雙足機(jī)器人的步長,最大提髖距離τ表示如下:
機(jī)器人穩(wěn)定性的控制過程是一個(gè)極為復(fù)雜的非線性過程,對(duì)雙足機(jī)器人的智能控制過程步驟如下:
1)確定雙足機(jī)器人運(yùn)動(dòng)過程中的空間坐標(biāo)體系,明確其運(yùn)動(dòng)過程和空間坐標(biāo)轉(zhuǎn)換關(guān)系。
2)實(shí)時(shí)傳遞機(jī)器人的空間坐標(biāo)位置信息,并通過D-DQN強(qiáng)化學(xué)習(xí)算法訓(xùn)練傳遞回的數(shù)據(jù),并將有效數(shù)據(jù)存儲(chǔ)于經(jīng)驗(yàn)池。
3)基于獎(jiǎng)懲函數(shù)確定雙足機(jī)器人運(yùn)動(dòng)過程中的獎(jiǎng)懲值和信任值,以實(shí)現(xiàn)對(duì)機(jī)器人運(yùn)動(dòng)動(dòng)作和軌跡的糾偏。
4)通過D-DQN強(qiáng)化學(xué)習(xí)算法的信任推理過程,一方面明確算法執(zhí)行于理論動(dòng)作和軌跡的差距,另一方面評(píng)估算法的有效性,
5)采用D-DQN強(qiáng)化學(xué)習(xí)算法和虛擬約束控制的方式,實(shí)現(xiàn)對(duì)負(fù)責(zé)非線性運(yùn)動(dòng)過程的降維,并通過虛擬約束確保機(jī)器人的平穩(wěn)高效運(yùn)行。
本文在實(shí)驗(yàn)室環(huán)境下來驗(yàn)證D-DQN強(qiáng)化學(xué)習(xí)算法對(duì)雙足機(jī)器人智能控制效果,選用的實(shí)驗(yàn)用機(jī)器人為Agility Robotics公司生產(chǎn)的Cassie型號(hào)雙足機(jī)器人,具體如圖4所示。
圖4 實(shí)驗(yàn)用Cassie型雙足機(jī)器人
Cassie型雙足機(jī)器人的大腿、小腿長度和質(zhì)量分別為0.40 m、0.35 m、7.5 kg和3.0 kg,雙足機(jī)器人的其他參數(shù)設(shè)置如表1所示。
表1 雙足機(jī)器人相關(guān)參數(shù)設(shè)置
對(duì)雙足機(jī)器人智能控制實(shí)驗(yàn)中的軟硬件環(huán)境設(shè)置包括:CPU Intel corei9 9900h,CPUDE 最高主頻3.1 GHz,RAM16 GB,ROM1TB,操作系統(tǒng)選擇兼容性更好的開源系統(tǒng)LINUX。本文使用的機(jī)器人控制軟件為RobotArt,該軟件支持多格式的機(jī)器人控制模型,包括三維CAD模型,能夠根據(jù)現(xiàn)場的情況主動(dòng)生成程序而且支持復(fù)合外部軸系統(tǒng),以更好地實(shí)現(xiàn)機(jī)器人的軌跡控制和避碰。
實(shí)驗(yàn)過程中采用了兩種實(shí)驗(yàn)場景:第一種是30 m的平整路面,機(jī)器人的行進(jìn)路線上設(shè)置了10個(gè)路障,通過該場景主要分析雙足機(jī)器人,在不同算法控制下步態(tài)穩(wěn)定性和躲避障礙物的智能化水平,及運(yùn)動(dòng)效率。
第二種是臺(tái)階環(huán)境(50級(jí)臺(tái)階),主要驗(yàn)證機(jī)器人在不同算法控制下能否完成臺(tái)階的攀爬,及完成任務(wù)后的耗時(shí)情況。為了使實(shí)驗(yàn)結(jié)果更加直觀,引入了文獻(xiàn)6的混合控制方案和文獻(xiàn)7的模糊PID控制方案參與對(duì)比。實(shí)驗(yàn)場景設(shè)置按照各算法的需求參數(shù)進(jìn)行匹配,雙足機(jī)器人的執(zhí)行流程如圖5所示。
圖5 機(jī)器人的執(zhí)行流程
3.2.1 平整路面實(shí)驗(yàn)
雙足機(jī)器人平整路面測試,主要測試各算法對(duì)于機(jī)器人運(yùn)動(dòng)過程中的穩(wěn)態(tài)控制,通過傳感器采集機(jī)器人6個(gè)關(guān)節(jié)和4個(gè)連桿運(yùn)動(dòng)中的角度和位移偏差均值,同時(shí)分析完成30 m測試后各算法躲避障礙物的情況,及最終的完成時(shí)間,關(guān)節(jié)和連桿的偏差均值分析情況,如表2所示(采集實(shí)際回饋的關(guān)節(jié)數(shù)據(jù)及連桿數(shù)據(jù),與理論情況下機(jī)器人的控制數(shù)據(jù)進(jìn)行對(duì)比):
表2 雙足機(jī)器人平整路面行進(jìn)測試關(guān)節(jié)與連桿軌跡偏差
由于傳感器采集的機(jī)器人運(yùn)動(dòng)數(shù)據(jù)可知,D-DQN算法控制下雙足機(jī)器人各關(guān)節(jié)的角度偏差和連桿的位移偏差值均較小,且趨近于理論值。完成平路測試后軌跡偏差、總耗時(shí)、及碰撞障礙物的相關(guān)統(tǒng)計(jì)數(shù)據(jù),如表3所示。
表3 平路測試環(huán)境數(shù)據(jù)對(duì)比
兩種傳統(tǒng)算法下雙足機(jī)器人在每個(gè)行進(jìn)中各關(guān)節(jié)和連桿都會(huì)產(chǎn)生偏差,且無法實(shí)現(xiàn)動(dòng)作及軌跡上的糾偏,進(jìn)而導(dǎo)致機(jī)器人總體軌跡偏差較大,完成30 m運(yùn)動(dòng)軌跡的時(shí)間D-DQN算法耗時(shí)最短為115 s,且沒有碰撞到設(shè)置的障礙物,而3種傳統(tǒng)算法分別碰撞了1次障礙物,1次障礙物和2次障礙物。不同算法下雙足機(jī)器人運(yùn)動(dòng)軌跡偏差、控制時(shí)間和避碰情況表明,D-DQN算法的智能控制效果優(yōu)于3種傳統(tǒng)算法。
3.2.2 攀爬實(shí)驗(yàn)
具有良好的攀爬能力是雙足機(jī)器人相對(duì)于其他類型機(jī)器人的優(yōu)勢(shì)所在,在一些特殊場景下,雙足機(jī)器人垂直運(yùn)動(dòng)靈活且能夠完成更多的指定任務(wù)。先分析D-DQN算法,隨著機(jī)器人不斷攀爬臺(tái)階,其獎(jiǎng)勵(lì)值的變化情況,如圖6所示。
圖6 D-DQN算法下雙足機(jī)器人運(yùn)動(dòng)中獎(jiǎng)勵(lì)值變化
D-DQN算法下初始階段獎(jiǎng)勵(lì)值快速增長,隨著雙足機(jī)器人平穩(wěn)登臺(tái)階,算法的獎(jiǎng)勵(lì)值增速下降,但整個(gè)過程中算法的獎(jiǎng)勵(lì)值始終呈現(xiàn)出增長的趨勢(shì),這表明D-DQN算法在不斷地糾正機(jī)器關(guān)節(jié)旋轉(zhuǎn)角度偏差和位移偏差,以達(dá)到更平穩(wěn)地控制機(jī)器人行走的目的。
雙足機(jī)器人運(yùn)動(dòng)過程中的平穩(wěn)性可以通過步態(tài)切換極限環(huán)來表示,機(jī)器人在攀爬50個(gè)臺(tái)階過程中重心3個(gè)軸向會(huì)不斷地發(fā)生偏差,而智能機(jī)器人主動(dòng)控制算法就是通過實(shí)時(shí)指令實(shí)現(xiàn)3個(gè)軸向的糾偏,用雙足機(jī)器人步態(tài)切換極限環(huán),來模擬對(duì)雙足機(jī)器人的重心糾偏過程,D-DQN算法下的步態(tài)切換極限環(huán)變化如圖7所示。
圖7 D-DQN強(qiáng)化學(xué)習(xí)算法下步態(tài)切換極限環(huán)
圖7中,相鄰近的步態(tài)切換極限環(huán)并未出現(xiàn)較大的偏差,表明在D-DQN強(qiáng)化學(xué)習(xí)算法下雙足機(jī)器人的重心控制良好;在相同的實(shí)驗(yàn)環(huán)境下,分析傳統(tǒng)DQN算法、混合控制算法和模糊PID控制算法下極限環(huán)的變化情況,分別如圖8~圖10所示。
圖8 傳統(tǒng)DQN算法下的步態(tài)切換極限環(huán)
圖9 混合控制算法下的步態(tài)切換極限環(huán)
圖10 模糊PID算法下的步態(tài)切換極限環(huán)
如圖8~圖10所示,在3種傳統(tǒng)算法下雙足機(jī)器人的步態(tài)切換極限環(huán),均出現(xiàn)了較為明顯的偏差,表明3種傳統(tǒng)算法對(duì)雙足機(jī)器人步態(tài)和重心控制存在一定問題,會(huì)影響到雙足機(jī)器人運(yùn)動(dòng)軌跡和行進(jìn)效率。
與傳統(tǒng)輪式機(jī)器人、多足機(jī)器人等相比,雙足機(jī)器人在平衡性、穩(wěn)定性、仿真效果、垂直運(yùn)動(dòng)能力等方面均具有較大的優(yōu)勢(shì)。但雙足機(jī)器人由于特殊用途在結(jié)構(gòu)設(shè)計(jì)上更加復(fù)雜,會(huì)包括多個(gè)關(guān)節(jié)和連桿,整個(gè)運(yùn)動(dòng)的過程也是一個(gè)復(fù)雜度較高的非線性過程,因此對(duì)雙足機(jī)器人控制算法的控制精度要求較高。本文設(shè)計(jì)了一種基于D-DQN強(qiáng)化學(xué)習(xí)的算法,融合Q學(xué)習(xí)、Q值網(wǎng)絡(luò)模型、神經(jīng)網(wǎng)絡(luò)和強(qiáng)化學(xué)習(xí)等多種算法的優(yōu)勢(shì),采用雙權(quán)值的設(shè)計(jì)方式,并通過實(shí)時(shí)的補(bǔ)償控制糾正各關(guān)節(jié)和連桿復(fù)合運(yùn)動(dòng)中出現(xiàn)的偏差,在確保機(jī)器人運(yùn)動(dòng)效率的同時(shí),準(zhǔn)確控制機(jī)器人的運(yùn)動(dòng)軌跡和復(fù)雜動(dòng)作。實(shí)驗(yàn)結(jié)果顯示,在D-DQN強(qiáng)化學(xué)習(xí)的算法控制下,雙足機(jī)器人的軌跡偏差較小,且在完成復(fù)雜攀爬動(dòng)作時(shí)機(jī)器人的重心較為穩(wěn)定。