闞亞雄,趙飛
(1.鎮(zhèn)江高等專(zhuān)科學(xué)校現(xiàn)代裝備制造學(xué)院,江蘇鎮(zhèn)江 212028;2.鎮(zhèn)江高等專(zhuān)科學(xué)校電氣與信息學(xué)院,江蘇鎮(zhèn)江 212028)
四旋翼無(wú)人機(jī)(Quadrotor UAV)作為一種復(fù)雜的無(wú)人技術(shù)設(shè)備,相對(duì)于常見(jiàn)的固定翼飛行器四旋翼無(wú)人機(jī)具有重量尺寸小、機(jī)動(dòng)性能高和智能集成化程度高等優(yōu)點(diǎn),具備可以垂直起降在多種地形地貌地區(qū),目前已經(jīng)在軍事、搜救、運(yùn)輸?shù)刃袠I(yè)得到了廣泛的應(yīng)用[1]。
目前國(guó)內(nèi)外關(guān)于四旋翼無(wú)人機(jī)自主導(dǎo)航相關(guān)控制算法的研究如下:目前諸多研究者將深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)相結(jié)合,作為無(wú)人機(jī)器人系統(tǒng)的路徑規(guī)劃算法,得到了很大成就,使得無(wú)人機(jī)器人系統(tǒng)具備了面對(duì)復(fù)雜環(huán)境下快速反應(yīng)快速變化導(dǎo)航策略的能力。王雷等[2]提出中小型無(wú)人機(jī)采用改進(jìn)的自抗擾控制算法作為無(wú)人機(jī)自主飛行姿態(tài)解耦控制器的核心算法,計(jì)算機(jī)模擬實(shí)驗(yàn)證明了該算法在二維模擬仿真環(huán)境下具有可行性,在環(huán)境擾動(dòng)干擾大小不確定或者環(huán)境干擾幅度較大情況下具有一定抗干擾優(yōu)勢(shì)。ZHOU L H等[3]提出采用串級(jí)PID算法作為四旋翼無(wú)人機(jī)二維軌跡姿態(tài)跟蹤控制方法,控制系統(tǒng)的輸入為期望的飛行二維軌跡和期望速度,通過(guò)串級(jí)PID算法輸出四旋翼無(wú)人機(jī)的俯仰通道、滾轉(zhuǎn)通道和偏航通道加速度的方法實(shí)現(xiàn)四旋翼無(wú)人機(jī)對(duì)復(fù)雜任務(wù)軌跡的軌跡跟蹤。萬(wàn)惠、陳運(yùn)劍等[4-5]討論的DDPG算法具有多為特征提取功能,同時(shí)在未知環(huán)境下的依然可以保證避碰策略的準(zhǔn)確性。張仕充、高敬鵬等[6-7]中優(yōu)化了傳統(tǒng)DDPG算法的訓(xùn)練速度,提高了算法中有關(guān)數(shù)據(jù)學(xué)習(xí)的效率。
基于上述文獻(xiàn)啟發(fā),本文提出了一種基于改進(jìn)的深度確定性策略梯度算法的四旋翼控制器設(shè)計(jì)方法,闡述了基于改進(jìn)的深度確定性策略梯度算法的四旋翼無(wú)人機(jī)自主飛行控制器的整體框架,完善了算法中關(guān)于動(dòng)作探索策略的設(shè)計(jì)并改進(jìn)了與人工勢(shì)場(chǎng)法相結(jié)合的獎(jiǎng)勵(lì)函數(shù),最后在軟件中模擬了四旋翼無(wú)人機(jī)自主導(dǎo)航仿真和位置跟蹤仿真,實(shí)驗(yàn)中實(shí)現(xiàn)了四旋翼無(wú)人機(jī)在二維和三維環(huán)境下的自主導(dǎo)航路徑規(guī)劃、跟蹤和避障功能。
根據(jù)相關(guān)資料[2],由經(jīng)典N(xiāo)ewton-Euler方程對(duì)四旋翼無(wú)人機(jī)建立六自由度的動(dòng)力學(xué)模型為:
其中四旋翼無(wú)人機(jī)在空間中的位置坐標(biāo)為( x,y,z);φ為滾轉(zhuǎn)角;θ為俯仰角;ψ為偏航角;l為四旋翼無(wú)人機(jī)旋翼末端到質(zhì)心的直線(xiàn)距離;m為四旋翼無(wú)人機(jī)負(fù)載總質(zhì)量;Ii為轉(zhuǎn)動(dòng)慣量;U1、U2、U3、U4為計(jì)算得到的中間控制輸入,定義為:
深度確定性策略梯度算法DDPG由深度神經(jīng)網(wǎng)絡(luò)和策略梯度算法DPG融合而成,并根據(jù)表演家-評(píng)論家算法提出了一個(gè)機(jī)器強(qiáng)化學(xué)習(xí)算法[8-9]。對(duì)于四旋翼控制器自主導(dǎo)航問(wèn)題,主要目標(biāo)是找到合適的自主導(dǎo)航算法以快速且穩(wěn)定的方式將四旋翼從初始狀態(tài)驅(qū)動(dòng)到目標(biāo)位置并懸停其上。在以上自主導(dǎo)航過(guò)程中需要自主導(dǎo)航算法不斷連續(xù)處理高維數(shù)據(jù),深度確定性策略梯度算法相較于傳統(tǒng)智能算法可以處理高維且連續(xù)的動(dòng)作,解決了其他智能算法只能處理低維度離散數(shù)據(jù)的不足。傳統(tǒng)深度確定性策略梯度算法DDPG迭代步驟如下:
STEP1:算法將首先初始化表演家策略在線(xiàn)網(wǎng)絡(luò)μ(s,θμ)和評(píng)論家評(píng)價(jià)網(wǎng)絡(luò)Q(s,a;θQ),初始化參數(shù)θμ和θQ。初始化目標(biāo)網(wǎng)絡(luò)種的Q′:θQ‘←θQ和μ′:θμ‘←θμ,同時(shí)初始化經(jīng)驗(yàn)池R。表演家策略在線(xiàn)網(wǎng)絡(luò)根據(jù)策略模式選取一個(gè)動(dòng)作at。其中行為策略根據(jù)當(dāng)前在線(xiàn)策略網(wǎng)絡(luò)μ和隨機(jī)噪聲N生成的隨機(jī)過(guò)程,并從該隨機(jī)過(guò)程進(jìn)行采樣獲得動(dòng)作值at=μ(st|θQ)+Nt。
STEP2:上一步中的輸出動(dòng)作at在被系統(tǒng)執(zhí)行后返回獎(jiǎng)勵(lì)回報(bào)參數(shù)rt和下一個(gè)新的狀態(tài)st+1。
STEP3:將系統(tǒng)狀態(tài)量、輸出動(dòng)作、反饋獎(jiǎng)勵(lì)函數(shù)和下一步新的狀態(tài)量(st,at,rt,st+1)儲(chǔ)存在經(jīng)驗(yàn)池R中,隨后計(jì)算目標(biāo)Q值targetQ=ri+γQ′(si+1,μ′(si+1|θμ)|θQ′)。通 過(guò)損失 函數(shù)的更新評(píng)論家網(wǎng)絡(luò)的梯度,其中Q的損失函數(shù)使用均方差誤差:
STEP4:更新在線(xiàn)價(jià)值網(wǎng)絡(luò)Q及其參數(shù)θQ。更新目標(biāo)網(wǎng)絡(luò)使用隨機(jī)梯度下降算法更新表演家策略在線(xiàn)網(wǎng)絡(luò)參數(shù)θμ’,反復(fù)迭代計(jì)算更新評(píng)論家評(píng)價(jià)網(wǎng)絡(luò)θQ‘。
如上述算法流程所示,深度確定性策略梯度算法DDPG在網(wǎng)絡(luò)結(jié)構(gòu)上和表演家-評(píng)論家算法基本相同,分為表演家網(wǎng)絡(luò)和評(píng)論家網(wǎng)絡(luò)。表演家網(wǎng)絡(luò)的參數(shù)θμ可以理解為四旋翼無(wú)人機(jī)從位姿或位置狀態(tài)到控制旋翼電機(jī)轉(zhuǎn)速動(dòng)作的映射。鏈?zhǔn)礁路绞綖椋?/p>
式(4)中?θμJ為 策 略 梯 度,評(píng) 論 家 網(wǎng) 絡(luò) 的 參 數(shù) 為Q(si,ai;θQ),采用貝爾曼方程求解。此外,DDPG算法中通常還將平方差用損失函數(shù)L表示,損失函數(shù)L為:
式中:ri為構(gòu)造回報(bào)參數(shù);γ為折扣因子,最后式通過(guò)將L降低至最小的方式,更新評(píng)論家網(wǎng)絡(luò)參數(shù)Q;表演家和評(píng)論家網(wǎng)絡(luò)的更新版本分別為μ‘(s,θμ’)和Q‘(s,a;θQ‘)用于計(jì)算更新目標(biāo)控制值。
圖1所示為本文基于改進(jìn)后DDPG算法的四旋翼無(wú)人機(jī)自主飛行控制器的整體框架圖。由圖1可知,控制器由兩部分組成,其中四旋翼無(wú)人機(jī)的仿真環(huán)境包括無(wú)人機(jī)的實(shí)時(shí)狀態(tài)量,包括無(wú)人機(jī)3個(gè)方向的軸加速度和角速度,以上狀態(tài)量由仿真環(huán)境輸入給策略網(wǎng)絡(luò)。而四旋翼無(wú)人機(jī)的4個(gè)旋翼上電機(jī)的轉(zhuǎn)速作為控制器反饋回?zé)o人機(jī)仿真環(huán)境的輸出量或動(dòng)作量以實(shí)時(shí)調(diào)節(jié)無(wú)人機(jī)的位姿及路徑。
圖1 基于改進(jìn)后DDPG算法四旋翼無(wú)人機(jī)自主飛行控制器整體框架
控制器另外一部分由兩個(gè)策略網(wǎng)絡(luò)構(gòu)成,分別為控制器表演家網(wǎng)絡(luò)和評(píng)論家網(wǎng)絡(luò)??刂破鞯妮斎霠顟B(tài)量(3個(gè)方向的軸加速度和角速度)為s0,輸出(4個(gè)旋翼上電機(jī)的轉(zhuǎn)速)為a0;四旋翼無(wú)人機(jī)的旋翼電機(jī)按照控制的輸出轉(zhuǎn)速a0動(dòng)作后進(jìn)入下一步s1,并將動(dòng)作a0送回給控制器評(píng)論家網(wǎng)絡(luò)作為回報(bào)r0。然后控制器評(píng)論家網(wǎng)絡(luò)根據(jù)四旋翼無(wú)人機(jī)返回下一步中的狀態(tài)值s1和獎(jiǎng)勵(lì)值r1,更新旋翼電機(jī)的轉(zhuǎn)速,并運(yùn)用更新后的策略輸出新的動(dòng)作,重復(fù)上述過(guò)程直至四旋翼無(wú)人機(jī)最終達(dá)到控制目標(biāo)。然后在傳統(tǒng)DDPG算法的演算過(guò)程中,如果某些控制參數(shù)設(shè)計(jì)不當(dāng)或控制器中的預(yù)期控制目標(biāo)與系統(tǒng)實(shí)際狀態(tài)之間誤差過(guò)大會(huì)造成控制器策略網(wǎng)絡(luò)模型的復(fù)雜程度急劇提高,導(dǎo)致過(guò)擬合或欠擬合的現(xiàn)象。為了解決深度確定性梯度策略算法中可能存在的過(guò)擬合問(wèn)題,本文在傳統(tǒng)DDPG算法的基礎(chǔ)上做出了一些改進(jìn),包括如下設(shè)計(jì)。
(1)動(dòng)作探索策略設(shè)計(jì)
二十世紀(jì)初的中國(guó),社會(huì)矛盾重重,東方文化與西方文化交匯,傳統(tǒng)意識(shí)與現(xiàn)代觀念發(fā)生碰撞。在這樣特殊的社會(huì)背景下,木蘭除了從父母那里接受傳統(tǒng)儒道文化的浸染,還接受了現(xiàn)代教育,她從十幾歲時(shí)就開(kāi)始思考“男人與女人的分別這件事”,也經(jīng)常和父親談?wù)摗靶聲r(shí)代的女子”的話(huà)題,是一個(gè)“新式的女孩子”?!澳咎m有幾種女人所沒(méi)有的本領(lǐng):第一,她會(huì)吹口哨兒;第二,她會(huì)唱京戲;第三,她收集古董,而且能鑒賞?!盵1]60可見(jiàn),木蘭稱(chēng)得上是東西方文化交融下,集傳統(tǒng)美德與現(xiàn)代性于一身的奇女子。
傳統(tǒng)DDPG算法中,系統(tǒng)在第一個(gè)狀態(tài)s0時(shí)更新旋翼電機(jī)的轉(zhuǎn)速a0后,送回初始獎(jiǎng)勵(lì)r0,控制器評(píng)論家網(wǎng)絡(luò)獲得送回后的獎(jiǎng)勵(lì)r0后,有一定概率會(huì)判斷當(dāng)前旋翼電機(jī)的轉(zhuǎn)速執(zhí)行動(dòng)作足夠好,而不去探索更匹配的轉(zhuǎn)速執(zhí)行策略來(lái)獲得更大的r0′,使得系統(tǒng)無(wú)法達(dá)到需要的控制目標(biāo)無(wú)法計(jì)算到全局最優(yōu)解,只能計(jì)算到局部最優(yōu)解。為了解決以上問(wèn)題,可以借用εgreedy(貪心算法)動(dòng)作探索策略解決。四旋翼無(wú)人機(jī)以ε的概率選擇一種旋翼電機(jī)的轉(zhuǎn)速動(dòng)作a,以1-ε的方式選擇平均獎(jiǎng)勵(lì)最高的旋翼電機(jī)的轉(zhuǎn)速動(dòng)作r0′,以這樣的方式得到概率最大的最佳旋翼電機(jī)的轉(zhuǎn)速動(dòng)作,通過(guò)完成最佳旋翼電機(jī)的轉(zhuǎn)速動(dòng)作四旋翼無(wú)人機(jī)就可以進(jìn)入下個(gè)狀態(tài)s1。本文設(shè)計(jì)的動(dòng)作探索策略為:
其中,N為噪聲,是方差為σ的正態(tài)分布;k?[0,1)為εgreedy算法中的衰減系數(shù)。
(2)與人工勢(shì)場(chǎng)法相結(jié)合的獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)
當(dāng)四旋翼無(wú)人機(jī)自主飛行控制器在狀態(tài)s0下采取動(dòng)作a0時(shí),返回獎(jiǎng)勵(lì)函數(shù)r0的參數(shù)設(shè)計(jì)直接決定控制器的迭代計(jì)算時(shí)間和次數(shù)多少,并最終決定能否在迭代后最終求出全局最優(yōu)解。神經(jīng)元網(wǎng)絡(luò)根據(jù)四旋翼無(wú)人機(jī)的狀態(tài)值做出具體決策,環(huán)境根據(jù)送回的獎(jiǎng)勵(lì)值更新網(wǎng)絡(luò)參數(shù),使控制器評(píng)論家網(wǎng)絡(luò)在下個(gè)狀態(tài)s1計(jì)算旋翼電機(jī)的轉(zhuǎn)速時(shí)能夠做出最匹配的決策。獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)如下:
式中:d(t )為四旋翼無(wú)人機(jī)當(dāng)前時(shí)刻下距離控制目標(biāo)終點(diǎn)的實(shí)時(shí)距離;d( t-1)為四旋翼無(wú)人機(jī)上一個(gè)時(shí)刻距離控制目標(biāo)點(diǎn)的實(shí)時(shí)距離;do為四旋翼無(wú)人機(jī)是否碰撞到規(guī)劃路徑中障礙物的安全距離,當(dāng)安全距離小于零時(shí)代表四旋翼無(wú)人機(jī)已經(jīng)和障礙物發(fā)生碰撞,影響四旋翼無(wú)人機(jī)的飛行安全;dg為四旋翼無(wú)人機(jī)距離目標(biāo)終點(diǎn)的閾值,小于該值即認(rèn)為到達(dá)目標(biāo)終點(diǎn);dn為四旋翼無(wú)人機(jī)距離目標(biāo)終點(diǎn)的距離,當(dāng)四旋翼到達(dá)該范圍內(nèi)控制器將給予獎(jiǎng)勵(lì)+1,正向獎(jiǎng)勵(lì)可以促使四旋翼無(wú)人機(jī)更快到達(dá)目標(biāo)終點(diǎn)。當(dāng)機(jī)器人所處位置碰撞到障礙物時(shí),控制器將給予獎(jiǎng)勵(lì)-100,負(fù)向獎(jiǎng)勵(lì)可以促使四旋翼無(wú)人機(jī)更快避開(kāi)障礙物;當(dāng)四旋翼無(wú)人機(jī)懸停時(shí),則為-1的副獎(jiǎng)勵(lì);其他情況則為-2作為負(fù)獎(jiǎng)勵(lì),通過(guò)正負(fù)獎(jiǎng)勵(lì)的不同回報(bào)值來(lái)幫助四旋翼無(wú)人機(jī)最終靠近及到達(dá)目標(biāo)點(diǎn)。
為了驗(yàn)證基于改進(jìn)的深度確定性策略梯度算法的可行性,仿真環(huán)境采用柵格法進(jìn)行場(chǎng)景的二維及三維環(huán)境建模,在不同環(huán)境下進(jìn)行了經(jīng)典PID算法和改進(jìn)后深度確定性策略算法的對(duì)比實(shí)驗(yàn)。表1所示為本文選用小型四旋翼無(wú)人機(jī)動(dòng)力學(xué)模型相關(guān)參數(shù)。
表1 模型參數(shù)以及仿真初始化參數(shù)
仿真實(shí)驗(yàn)在Windows系統(tǒng)下運(yùn)行,系統(tǒng)采用Matlab2019b搭建四旋翼無(wú)人機(jī)的運(yùn)動(dòng)環(huán)境,該四旋翼無(wú)人機(jī)仿真使用M語(yǔ)言進(jìn)行編程。實(shí)驗(yàn)分為簡(jiǎn)單二維柵格地圖和三維地圖。仿真中涉及的基于改進(jìn)的深度確定性策略梯度DDPG算法仿真初始化參數(shù)如表2中所示。
表2 算法仿真初始化參數(shù)
(1)二維環(huán)境仿真結(jié)果
如圖2所示,本文采用Matlab2019b構(gòu)建大小在100×100的二維柵格地圖,柵格地圖中包括大小不一的二維方塊障礙物和圓形障礙物。目前地圖中只存在靜態(tài)障礙物,靜態(tài)障礙物占總面積的20%~30%。圖中起始點(diǎn)坐標(biāo)為(0,0),黑色方格表示障礙物,其余為安全可飛行區(qū)域。目標(biāo)點(diǎn)坐標(biāo)為(100,100)。圖2中紅色實(shí)心路線(xiàn)和黑色虛線(xiàn)路線(xiàn)分別為四旋翼無(wú)人機(jī)在經(jīng)典PID和改進(jìn)的深度確定性策略梯度算法迭代200次后計(jì)算所獲得的路徑,可以看出經(jīng)過(guò)改進(jìn)的深度確定性策略梯度算法在避開(kāi)障礙物前提下為從起點(diǎn)到目標(biāo)點(diǎn)的最短路徑。PID算法也可引導(dǎo)四旋翼無(wú)人機(jī)到達(dá)指定目標(biāo)地,不過(guò)PID算法所規(guī)劃路線(xiàn)與圓型障礙物發(fā)生碰撞,總體與改進(jìn)的深度確定性策略梯度算法規(guī)劃路線(xiàn)相比距離較長(zhǎng),且所規(guī)劃路線(xiàn)在(75,40)和(70,70)等計(jì)算點(diǎn)上需要四旋翼無(wú)人機(jī)做出較大機(jī)動(dòng)動(dòng)作改變航向,不利于四旋翼無(wú)人機(jī)保持飛行姿態(tài)的穩(wěn)定性。如圖2~3所示,說(shuō)明在二維仿真空間下,通過(guò)改進(jìn)的深度確定性策略梯度算法不斷迭代計(jì)算,可以讓四旋翼無(wú)人機(jī)能夠躲避二維空間中的不規(guī)則障礙物,并進(jìn)行良好的路徑規(guī)劃和航跡跟蹤。
圖2 四旋翼無(wú)人機(jī)二維空間自主導(dǎo)航路徑
圖3 四旋翼無(wú)人機(jī)自主飛行控制器算法迭代次數(shù)變化曲線(xiàn)
(2)三維環(huán)境下仿真結(jié)果
如圖4所示,本文采用Matlab2019b在三維環(huán)境下構(gòu)建的仿真環(huán)境設(shè)置為20 m×5 m×6 m的區(qū)域,在空間中依次布置7個(gè)的長(zhǎng)方體障礙物,這7個(gè)障礙物大小為1 m×4 m×5 m。在上述仿真環(huán)境下四旋翼無(wú)人機(jī)從起點(diǎn)(18,3,5)飛至終點(diǎn)(6,4,5)?;诟倪M(jìn)的深度確定性策略梯度算法的四旋翼無(wú)人機(jī)控制器仿真目標(biāo)是通過(guò)算法的不斷迭代計(jì)算出最優(yōu)自主導(dǎo)航路徑,全程避開(kāi)障礙物,到達(dá)目標(biāo)點(diǎn)區(qū)域,由于三維場(chǎng)景復(fù)雜,傳統(tǒng)PID算法已經(jīng)無(wú)法有效規(guī)劃導(dǎo)航路徑,三維環(huán)境下僅采用改進(jìn)的深度確定性策略梯度算法測(cè)試算法有效性。
圖4 四旋翼無(wú)人機(jī)位置軌跡跟蹤曲線(xiàn)
仿真實(shí)驗(yàn)開(kāi)始后,改進(jìn)的深度確定性策略梯度算法控制器的三維空間位置自主導(dǎo)航結(jié)果如圖5~6所示。由圖可以看出基于改進(jìn)的深度確定性策略梯度算法控制器計(jì)算出最優(yōu)導(dǎo)航路徑相較于起點(diǎn)到終點(diǎn)的理想路徑而言,路線(xiàn)更加平滑穩(wěn)定且對(duì)三維障礙物依舊有著良好的避障效果。跟蹤過(guò)程中,四旋翼無(wú)人機(jī)在X、Y、Z軸上的距離誤差不超過(guò)±0.5 m。
圖5 四旋翼無(wú)人機(jī)位置軌跡跟蹤誤差曲線(xiàn)
綜合考慮后可以得出結(jié)論:二維環(huán)境仿真下,改進(jìn)的深度確定性策略梯度算法相較于傳統(tǒng)PID算法提高了四旋翼的自主導(dǎo)航規(guī)劃路線(xiàn)能力,三維環(huán)境仿真下改進(jìn)的深度確定性策略梯度算法可以有效地實(shí)現(xiàn)較復(fù)雜三維真實(shí)飛行環(huán)境的自主導(dǎo)航和障礙物避障。
本文針對(duì)四旋翼無(wú)人機(jī)設(shè)計(jì)了一種改進(jìn)的深度確定性策略梯度算法,通過(guò)設(shè)計(jì)新的動(dòng)作探索策略并利用人工勢(shì)場(chǎng)法選擇更加有效的最優(yōu)動(dòng)作,保證了四旋翼無(wú)人機(jī)快速準(zhǔn)確識(shí)別最優(yōu)行動(dòng)方向。仿真四旋翼無(wú)人機(jī)在二維和三維空間內(nèi)被障礙物所阻擋從而降低自主飛行效率。仿真實(shí)驗(yàn)對(duì)比了傳統(tǒng)PID算法和改進(jìn)的深度確定性策略梯度算法,結(jié)果表明改進(jìn)的深度確定性策略梯度算法提高了四旋翼的自主導(dǎo)航規(guī)劃路線(xiàn)能力。后續(xù)將進(jìn)一步開(kāi)展所設(shè)計(jì)算法的改進(jìn)工作,繼續(xù)提高系統(tǒng)的響應(yīng)時(shí)間和魯棒性。