董星宇, 唐開強, 傅匯喬, 留滄海, 蔣 剛
(1.西南科技大學(xué) 制造科學(xué)與工程學(xué)院,四川 綿陽 621000;2.南京大學(xué) 工程管理學(xué)院 控制與系統(tǒng)工程系,江蘇 南京 210093;3.制造過程測試技術(shù)省部共建教育部重點實驗室,四川 綿陽 621000;4.成都理工大學(xué) 核技術(shù)與自動化工程學(xué)院,四川 成都 610059)
地震救援機器人需要在非結(jié)構(gòu)環(huán)境下實現(xiàn)救援搜索任務(wù),六足機器人在復(fù)雜環(huán)境下行走高效,且具有較好的穩(wěn)定性,是未來救援機器人的一大選擇[1]。地震救援環(huán)境復(fù)雜,且震后易發(fā)生余震,救援環(huán)境由靜態(tài)變?yōu)閯討B(tài),機器人需要擁有動態(tài)避障能力。傳統(tǒng)的移動機器人動態(tài)避障常用人工勢場法、快速擴展隨機樹和動態(tài)窗口法等方法[2~4]。但是傳統(tǒng)的動態(tài)避障方法,移動機器人需要依賴地圖信息,不能在未知、動態(tài)、復(fù)雜環(huán)境下通過自身的傳感器與環(huán)境交互進行避障決策。
近年來,由于深度學(xué)習(xí)(deep learning,DL)與強化學(xué)習(xí)(reinforcement learning,RL)得到國內(nèi)外專家的廣泛研究,涌現(xiàn)出大量基于深度強化學(xué)習(xí)(deep reinforcement learning,DRL)的機器人避障的研究成果。文獻[5]提出對無人駕駛船舶在未知環(huán)境干擾下的深度強化學(xué)習(xí)避障算法。文獻[6]提出了一種基于深度增強學(xué)習(xí)的AGV移動機器人,創(chuàng)建了一個移動機器人避障和導(dǎo)航模型。但傳統(tǒng)深度強化學(xué)習(xí)即深度Q學(xué)習(xí)網(wǎng)絡(luò)(deep Q-learning network,DQN)易出現(xiàn)收斂速度慢,算法偏差變大,難以收斂到最優(yōu)動作狀態(tài)值,而降低機器人動態(tài)避障的效果。
在不依靠環(huán)境信息的情況下,本文研究將六足機器人上的激光測距儀采集距離數(shù)據(jù)作為雙重深度強化學(xué)習(xí)即雙重DQN(double DQN,DDQN)的輸入項,將速度與行進方向作為單片機控制輸出,將每個時刻采集的傳感器數(shù)據(jù)整合作為馬爾可夫狀態(tài)空間。結(jié)合傳統(tǒng)DQN與雙重深度強化學(xué)習(xí)DDQN算法相對比,對六足機器人進行訓(xùn)練、測試、驗證。
相對于傳統(tǒng)的輪式和履帶式機器人,六足機器人對復(fù)雜地形的適應(yīng)能力更強但結(jié)構(gòu)設(shè)計和步態(tài)規(guī)劃卻較為復(fù)雜。實驗通過運動學(xué)逆解得到機器人腿部股、髖和膝三個關(guān)節(jié)角度,建立笛卡爾坐標(biāo)系進行足端軌跡規(guī)劃,控制舵機聯(lián)合轉(zhuǎn)動使六足機器人移動。
六足機器人的三足步態(tài)即通過控制機身一側(cè)的前足、后足與另一側(cè)的中足在運動時交替處于支撐相和擺動相[7]。圖1為六足機器人在各步態(tài)下行進周期的穩(wěn)定性表現(xiàn),角度波動范圍越小,機器人行走穩(wěn)定性越好。圖1(a)為三足步態(tài),圖1(b)為四足步態(tài),圖1(c)為五足步態(tài),由圖分析可知三足步態(tài)相較于另外兩種步態(tài)雖然穩(wěn)定性較小但其具有運動效率高,控制簡單等優(yōu)點。因本次實驗環(huán)境不涉及較為復(fù)雜的多結(jié)構(gòu)路面,故采用三足步態(tài)作為六足機器人的輸出動作步態(tài)。
圖1 六足機器人行進步態(tài)特征
強化學(xué)習(xí)為一種標(biāo)記延遲的監(jiān)督學(xué)習(xí),六足機器人在某t時刻感知的環(huán)境狀態(tài)為st,通過策略采取動作at達到另一狀態(tài)st+1,由環(huán)境反饋獲得交互動作的獎懲回報rt,與環(huán)境交互的整個過程表現(xiàn)為馬爾科夫決策序列過程,整體可以表示為(st,at,rt,st+1)[8]。
經(jīng)典的強化學(xué)習(xí)Q-learning算法通過當(dāng)前狀態(tài)和動作決策進行不斷試錯,其目標(biāo)是使總折扣回報最大化[9]。然而,傳統(tǒng)的Q-learning算法對輸入變量的復(fù)雜性非常敏感。當(dāng)離散的值函數(shù)面對高維或連續(xù)的狀態(tài)空間時,必然會大大增加計算時間,并導(dǎo)致難以收斂,甚至引發(fā)維數(shù)災(zāi)難[10]。
2015年,Silver D提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(con-volutional neural network,CNN)的深度強化學(xué)習(xí)算法DQN,它是由多層神經(jīng)網(wǎng)絡(luò)組成的深度強化學(xué)習(xí),作為替代傳統(tǒng)離散值函數(shù)的一種解決方案。神經(jīng)網(wǎng)絡(luò)強大的適應(yīng)能力使得逼近動作值函數(shù)成為可能。并且通過使用深度強化學(xué)習(xí),將狀態(tài)變量為矩陣形式的大量輸入替換為一個連續(xù)變化的函數(shù)值,從而解決了維數(shù)災(zāi)難的問題[11,12]。
雖然基于DQN的策略在一些機器人動態(tài)避障的問題上得到了成功的應(yīng)用,但是在選擇行動和評價價值函數(shù)時使用相同的網(wǎng)絡(luò)存在一定缺陷,這可能導(dǎo)致對結(jié)果的過度樂觀估計[13]。為了避免這種情況產(chǎn)生,使用一種雙重深度強化學(xué)習(xí)算法,其與傳統(tǒng)DQN結(jié)構(gòu)類似,同樣具有兩個相同結(jié)構(gòu)的Q網(wǎng)絡(luò)。但與其不同,DDQN通過解耦目標(biāo)Q值動作的選擇和目標(biāo)Q值的計算來消除過度估計的問題和使用經(jīng)驗回放來避免訓(xùn)練數(shù)據(jù)的相關(guān)性[14]。通過實際動作價值Q網(wǎng)絡(luò)在現(xiàn)實中訓(xùn)練參數(shù),迭代C次后將權(quán)重復(fù)制更新到目標(biāo)動作價值Q網(wǎng)絡(luò)中以降低過估計對訓(xùn)練結(jié)果的影響。DDQN的目標(biāo)值可以定義如下
Qtagret=r+γQ(s′,argmaxaQ(s′,a|w)|w′)
(1)
式中γ為折扣因子,w為Q現(xiàn)實中網(wǎng)絡(luò)結(jié)構(gòu)權(quán)重,w′為Q估計中網(wǎng)絡(luò)結(jié)構(gòu)權(quán)重,s′為下一時刻感知的環(huán)境狀態(tài),a為選擇的動作,r為獎懲回報值。DDQN模型示意如圖2所示。
圖2 DDQN模型
為了提高訓(xùn)練的收斂速度,保證訓(xùn)練后的模型具有較好的效果,將機器人與環(huán)境交互得到的輸入數(shù)據(jù)進行降維化處理[15],通過傳感器距離數(shù)據(jù)集輸入來避免高維深度信息帶來的收斂速度較慢和計算復(fù)雜的問題。將六足機器人不能夠跨越的地方看作障礙物,滿足六足機器人運動學(xué)參數(shù)要求的路況作為可通過的路徑。
通過激光測距儀和超聲波傳感器采集距離數(shù)據(jù)集,得到機器人在行進過程中與局部障礙物距離的數(shù)據(jù)矩陣,機器人行進速度為vrot,采集下一組數(shù)據(jù)集間隔時間為t,根據(jù)公式可判斷出障礙物運動速度vbar
(2)
式中xt為機器人距障礙物在t時刻的距離,sbar為障礙物運動狀態(tài)值,設(shè)立相對速度的閾值為3 cm/s,當(dāng)vbar>3時標(biāo)定障礙物運動狀態(tài)為動態(tài)障礙物,令sbar=1;反之標(biāo)定為靜態(tài)障礙物,令sbar=0。通過加速度傳感器進行慣性導(dǎo)航,來確定機器人在行進過程中的位置,以此來判斷機器人是否到達目的地。當(dāng)數(shù)據(jù)集出現(xiàn)異常值即出現(xiàn)不正常數(shù)據(jù)時,此時通過運動學(xué)的方式控制機器人的運動。數(shù)據(jù)集正常情況時,將數(shù)據(jù)集、障礙物運動狀態(tài)值和障礙物運動速度作為機器人的狀態(tài),進行雙重深度強化學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)參數(shù)。
六足機器人的動態(tài)避障算法主要運用卷積神經(jīng)網(wǎng)絡(luò)對機器人在局部環(huán)境中,如圖3中坐標(biāo)軸對應(yīng)的四個方向特征提取障礙物的距離和速度數(shù)據(jù)。
圖3 避障建模效果
在實際情況下障礙物并非質(zhì)點,為保證六足機器人在行進過程中能感知障礙和具有實際避障能力,四個方向的取值角度為80°,間隔20°取值一次,即一個方向取值個數(shù)為5次,如圖3(a)所示。其避免因數(shù)據(jù)取值過少而導(dǎo)致六足機器人避障失敗。機器人機身全長為lhex,安全距離系數(shù)為ε,則機器人有效移動的安全距離為
dsafe=ε·lhex/sin40°
(3)
故當(dāng)d0°≥dsafe或d80°>dsafe時,機器人可進行避障后的有效動作,否則視為機器人還未成功躲避障礙。
六足機器人攀爬臺階的能力是通過機身底部兩個不同放置方式的超聲波傳感器判定,如圖3(b)所示。當(dāng)傾斜30°放置的超聲波和同方向激光測距儀檢測的距離無較大改變,而水平放置的超聲波檢測到障礙物則執(zhí)行向上攀爬動作;當(dāng)水平放置的超聲波和激光測距儀檢測距離無較大改變,傾斜30°放置的超聲波檢測距離突變,則執(zhí)行向下攀爬動作。臺階高度位置應(yīng)處于機器人底盤高度和激光測距儀放置高度之間。
強化學(xué)習(xí)模型所建立的神經(jīng)網(wǎng)絡(luò)設(shè)計為一層輸入層,四層隱藏層和一層輸出層,網(wǎng)絡(luò)輸出為各個動作對應(yīng)的Q值,選擇對應(yīng)最大Q值的動作和環(huán)境相交互。樣本池采用優(yōu)先級抽樣,樣本的時序差分誤差越TDerr大,其訓(xùn)練價值越高,被選中概率增加。DDQN策略的逼近器采用卷積神經(jīng)網(wǎng)絡(luò),其模型的優(yōu)化目標(biāo)函數(shù)L(ω)為
TDerr=Qtagret-Q(s,a|ω)
(4)
L(ω)=E[(TDerr)2]
(5)
本文通過運用增量式ε-greedy探索和利用策略。在成功到達一定終點次數(shù)前,為保證探索率足夠,設(shè)置εmax∈(0,1),成功到達目標(biāo)次數(shù)N(suc)和增量Δε,由式(6)每回合更新ε值
ε=ε+ln(N(suc)+2)·Δεandε≤εmax
(6)
由取值[0,1]的隨機數(shù)rand()與ε值比較,在當(dāng)前時刻選擇最優(yōu)動作和探索未知狀態(tài)進行平衡,加快神經(jīng)網(wǎng)絡(luò)模型收斂的速度,該策略定義為
(7)
由于DDQN與DQN方法都具有高維輸入低維輸出的特點,故六足機器人的執(zhí)行動作設(shè)計為11個離散性動作的輸出。如表1所示。
表1 執(zhí)行動作設(shè)計
六足機器人通過控制舵機轉(zhuǎn)速和軌跡斷點數(shù)協(xié)同調(diào)節(jié)行進速度,舵機運行誤差積累增加而導(dǎo)致偏航角發(fā)生改變。偏航角越大機器人行走偏移量越大,圖4表示出機器人在三足步態(tài)下行走路程為120 cm時,3種代表性的不同行進速度下偏航角隨時間的變化。
圖4 不同行進速度下偏航角對比
由圖4可知,為保證在速度和偏航角之間相對平衡,六足機器人在執(zhí)行攀爬動作時為尋求機身穩(wěn)定,采用行進速度為4.6 cm/s;而速度為8.6 cm/s比速度為4.6 cm/s時的偏航角誤差改變量較小,速度卻提高了進一倍,因此在無障礙和靜態(tài)障礙物時,六足機器人以8.6 cm/s的速度行走;而當(dāng)六足機器人在應(yīng)對動態(tài)障礙物時,為保證躲避速度的要求,使機器人在滿足能夠承受最大偏航角誤差下以速度為16 cm/s行走。
通過目標(biāo)任務(wù)主次級分層制定獎勵函數(shù)避免獎勵稀疏,主任務(wù)為到達目標(biāo)位置給予較大獎勵;次級任務(wù)為靜態(tài)、動態(tài)避障和快速抵達目標(biāo)位置。定義機器人對障礙物最短距離為disrot。當(dāng)disrot<0.2 m時,視為一次碰撞,給予懲罰值。根據(jù)機器人與目標(biāo)位置的相對距離disFin進行獎勵塑形,取0.4做為懲罰因子,相對距離越小懲罰值越小同時機器人停止不動給予懲罰。應(yīng)對動態(tài)障礙時,防止因動態(tài)障礙物未完全駛離而導(dǎo)致機器人復(fù)碰撞情況產(chǎn)生,如圖5所示。
圖5 復(fù)碰撞情況示意
根據(jù)vbar和vrot估算出預(yù)計相撞時間為t0和預(yù)計躲避時間為t1。當(dāng)t0>t1時,機器人躲避方向選擇與障礙物移動方向一致時給予獎勵;當(dāng)t0 R=-(disFin)0.4+Rm(disrot,disFin|t0,t1) (8) 機器人移動平臺為18個自由度的六足機器人,驅(qū)動硬件為單片機STM32F4。為解決運算速度的問題,電腦通過TensorFlow計算更新神經(jīng)網(wǎng)絡(luò)權(quán)重,根據(jù)策略決定執(zhí)行的動作數(shù)據(jù),通過ATK—HC05藍牙模塊與串口進行全雙工通信,傳輸數(shù)據(jù)至單片機。機器人執(zhí)行動作后將觀測值反饋給電腦進行下一次更新,通過上下位機數(shù)據(jù)傳輸?shù)姆绞奖苊鈫纹瑱C內(nèi)存不足導(dǎo)致的計算速度緩慢,時延過大的問題。 通過在實驗室搭建實驗環(huán)境,為提高強化學(xué)習(xí)訓(xùn)練效率,本文采用對稱式搭建尺寸大小為5.6 m×3 m的迷宮場景,機器人完成一次抵達終點任務(wù)后,目的地與起始位置交換;實驗動態(tài)障礙物為四驅(qū)小車,小車沿移動軌跡以10 cm/s均速行進,每次行進到軌跡末端會等待3 s后再反向移動以此避免機器人很難避過小車抵達終點而導(dǎo)致?lián)p失函數(shù)難以收斂的情況;六足機器人訓(xùn)練軌跡和動態(tài)障礙物移動軌跡如圖6所示,實際搭建的實驗場景如圖7所示。 圖6 訓(xùn)練示意 圖7 算法驗證實驗環(huán)境 本次實驗設(shè)置兩組相同網(wǎng)絡(luò)模型參數(shù)的DQN和DDQN算法,網(wǎng)絡(luò)模型訓(xùn)練參數(shù):經(jīng)驗回放池樣本數(shù)為12 000個,回合訓(xùn)練批量為60個,折扣回報系數(shù)為0.9,網(wǎng)絡(luò)梯度動量為0.9,學(xué)習(xí)率為0.01,網(wǎng)絡(luò)權(quán)重更新回合為100。令通信中的六足機器人在搭建好的迷宮內(nèi)進行循環(huán)訓(xùn)練。在規(guī)定回合后機器人停止行動,對比兩種算法的訓(xùn)練效果。 六足機器人的動態(tài)避障實驗結(jié)果局部截圖如圖8所示,圖8中(a)~(f)六種情況在全局環(huán)境下發(fā)生位置與圖7中的標(biāo)號相對應(yīng)。 圖8 六足機器人動態(tài)避障實驗 在應(yīng)對靜態(tài)障礙物時,機器人通過策略選擇常速動作穩(wěn)定避開靜態(tài)障礙物,如圖8(a)所示;強化學(xué)習(xí)策略根據(jù)次級任務(wù)獎懲函數(shù)的設(shè)定,使機器人以最短回合數(shù)抵達終點,如圖8(b)所示;應(yīng)對動態(tài)障礙物時,機器人向旁側(cè)閃避時間低于與小車相撞時間且旁側(cè)無障礙物,則學(xué)習(xí)策略傾向于采取向旁側(cè)躲避,等待小車完全駛離后再向前行進,以避免復(fù)碰撞的產(chǎn)生,如圖8(c)所示;當(dāng)機器人向旁側(cè)閃避時間高于與小車相撞時間,學(xué)習(xí)策略大概率采取與小車運動方向同向移動, 如圖8(d)所示;神經(jīng)網(wǎng)絡(luò)通過訓(xùn)練傳感器采集得到的距離數(shù)據(jù)集,機器人成功對臺階進行攀爬,如圖8所示。 圖9為DQN與DDQN兩種不同算法訓(xùn)練機器人動態(tài)避障后的結(jié)果對比。圖9(a)可知,DDQN有效減少了平均狀態(tài)動作值的過度樂觀估計。圖9(b)可以看出DDQN比DQN的損失函數(shù)收斂速度快。 圖9 DQN與DDQN算法避障結(jié)果對比 針對移動機器人在智能決策控制下的動態(tài)避障問題,本文提出基于雙重深度強化學(xué)習(xí)的六足機器人動態(tài)避障算法,與傳統(tǒng)的深度強化學(xué)習(xí)方法進行比較,證明了雙重深度強化學(xué)習(xí)在迭代訓(xùn)練收斂速度和防止算法結(jié)果偏差變大表現(xiàn)出更好的性能,六足機器人能夠有效完成簡單的動態(tài)避障任務(wù)。但本次實驗的環(huán)境建模較小,只是針對性進行建模,故還不能應(yīng)用于復(fù)雜的環(huán)境中,仍需要進一步研究。3 實驗結(jié)果與分析
3.1 實驗平臺描述
3.2 實驗過程設(shè)計
3.3 實驗結(jié)果與分析
4 結(jié) 論