楊興昊,宋建梅,佘浩平,吳程杰,楊欽寧,付偉達(dá)
(1.北京理工大學(xué) 宇航學(xué)院,北京 100081; 2.中國航空系統(tǒng)工程研究所,北京 100012;3.航天東方紅衛(wèi)星有限公司,北京 100094)
無人機(jī)具有機(jī)動(dòng)性強(qiáng)、成本低廉等優(yōu)點(diǎn),廣泛應(yīng)用于邊境巡邏、目標(biāo)打擊、遙感測繪、農(nóng)業(yè)植保、電力巡線等領(lǐng)域,但由于受載荷限制,其續(xù)航時(shí)間較短。若無人機(jī)能夠在空中實(shí)現(xiàn)加油或更換電池等操作,則可以有效地提高無人機(jī)的續(xù)航時(shí)間和機(jī)動(dòng)性能,同時(shí)減少燃油或電池的重量能讓無人機(jī)承載更多有效載荷,從而提高其綜合作業(yè)能力,因此空中對接在未來將成為無人機(jī)的基本技能。
實(shí)現(xiàn)空中對接前,主動(dòng)對接無人機(jī)需要實(shí)現(xiàn)對目標(biāo)無人機(jī)的持續(xù)跟蹤,并保證兩架無人機(jī)的相對位置在對接要求范圍內(nèi),主動(dòng)對接無人機(jī)稱為主動(dòng)無人機(jī),目標(biāo)無人機(jī)稱為被動(dòng)無人機(jī)。整個(gè)空中對接過程包括主動(dòng)無人機(jī)對被動(dòng)無人機(jī)的識(shí)別與相對位姿解算、主動(dòng)無人機(jī)的精準(zhǔn)對接控制兩部分。具體過程為:當(dāng)兩架無人機(jī)相對距離較遠(yuǎn)時(shí),通過GPS獲取被動(dòng)無人機(jī)的位置信息,并控制主動(dòng)無人機(jī)接近目標(biāo)。當(dāng)兩架無人機(jī)距離較近時(shí),即當(dāng)被動(dòng)無人機(jī)清晰地出現(xiàn)在主動(dòng)無人機(jī)機(jī)載攝像頭拍攝圖像中時(shí),采用視覺算法對被動(dòng)無人機(jī)進(jìn)行識(shí)別與相對位姿解算。或采用精度較高的差分GPS獲取被動(dòng)無人機(jī)的位姿信息后進(jìn)行對接控制。然而對接過程中GPS信號容易受到干擾,導(dǎo)致精度下降,因此目前的空中對接任務(wù)通常采用GPS與視覺混合的方式實(shí)現(xiàn)。
在無人機(jī)識(shí)別與相對位姿解算方面,傳統(tǒng)的空中對接相對位姿解算過程中往往依賴于對特定錐套的識(shí)別,常用的方法包括:對錐套圓環(huán)的顏色進(jìn)行改變[1-2]或在錐套上安裝紅外LED信標(biāo)[3-4]。單堯等人[5]利用四旋翼無人機(jī)搭建自主空中加油演示驗(yàn)證平臺(tái),通過將無人機(jī)拍攝的錐套圖像進(jìn)行二值化處理后進(jìn)行橢圓擬合,通過擬合橢圓與實(shí)際錐套尺寸進(jìn)行比較以解算位置信息,并通過基于位置的PID控制器控制無人機(jī)進(jìn)行對接。劉愛超等人[6]將對接裝置的顏色與形狀兩種特征進(jìn)行結(jié)合以設(shè)計(jì)對接錐套,首先利用被對接無人機(jī)的GPS/INS信息進(jìn)行粗略導(dǎo)航,隨后再利用視覺圖標(biāo)的顏色與形狀信息實(shí)現(xiàn)精確導(dǎo)航,該方法能夠保證在較高的飛行速度下仍然具有較好的跟蹤效果,但當(dāng)視覺圖標(biāo)出現(xiàn)遮擋、反光等問題時(shí)其跟蹤效果有所下降。
在無人機(jī)精確對接控制方面,王宏倫等人[7]考慮了對接過程中的氣流干擾與對接裝置的自由擺動(dòng),針對空中加油對接段的精確控制問題,設(shè)計(jì)了基于線性二次線調(diào)節(jié)器的參考軌跡發(fā)生器和軌跡跟蹤控制器,實(shí)驗(yàn)結(jié)果表明該方法具有快速性和一定的抗干擾能力,最終對接跟蹤誤差在0.2 m以內(nèi)。李大偉等人[8]針對空中加油過程中軟管錐套會(huì)受氣動(dòng)干擾而產(chǎn)生不規(guī)則擺動(dòng)的問題,以線性二次調(diào)節(jié)器比例積分型控制器作為穩(wěn)定閉環(huán),并加入自適應(yīng)控制器,從而提高控制過程中的抗干擾能力。黃永康等人[9]針對空中對接過程中縱向軌跡跟蹤控制的時(shí)間滯后問題,提出一種基于直接升力的控制器,采用非線性 L1制導(dǎo)的方法,并基于ESO的動(dòng)態(tài)逆方法設(shè)計(jì)飛控系統(tǒng),以消除縱向軌跡跟蹤的時(shí)間滯后,實(shí)現(xiàn)縱向軌跡的快速響應(yīng)。朱虎等人[10]提出基于 L1 自適應(yīng)動(dòng)態(tài)逆的無人機(jī)自主空中加油對接跟蹤控制方法,根據(jù)時(shí)標(biāo)分離的原則,采用動(dòng)態(tài)逆方法設(shè)計(jì)姿態(tài)回路控制器,并在回路中加入L1自適應(yīng)系統(tǒng)補(bǔ)償氣流干擾和系統(tǒng)誤差,該方法所設(shè)計(jì)的控制系統(tǒng)能夠有效消除逆誤差和氣流干擾的影響。錢素娟等人[11]針對高速飛行中存在的對接裝置振動(dòng)問題,提出了基于輔助視覺的飛行器空中加油對接過程控制方法,通過統(tǒng)計(jì)飛行器空中加油輔助視覺圖像出現(xiàn)共現(xiàn)的頻率,計(jì)算對應(yīng)圖像在所有圖像中的共現(xiàn)度,獲取對應(yīng)圖像的權(quán)重,實(shí)現(xiàn)關(guān)鍵幀圖像定位,運(yùn)用圖像中心點(diǎn)空間位置,建立近距空中加油時(shí)的尾流流場的氣動(dòng)影響數(shù)學(xué)模型,從而完成飛行器空中加油接口的定位。實(shí)驗(yàn)結(jié)果表明,在飛行震動(dòng)較大的情況下該方法對接控制的準(zhǔn)確度高于傳統(tǒng)算法。
近年來,隨著機(jī)器學(xué)習(xí)算法的飛速發(fā)展,深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)等智能算法也被應(yīng)用到空中對接任務(wù)中。S.Sun等人[12]采用深度學(xué)習(xí)的方法實(shí)現(xiàn)對目標(biāo)錐套的檢測,同時(shí)完成相對位姿的解算。王宏倫等人[13]進(jìn)一步研究了無人機(jī)軟管式自主空中加油過程中的精準(zhǔn)對接控制,利用CFD仿真獲取氣動(dòng)數(shù)據(jù),隨后采用深度學(xué)習(xí)的方法對氣動(dòng)數(shù)據(jù)進(jìn)行曲面擬合以獲取干擾模型,并用循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測對接裝置的運(yùn)動(dòng)規(guī)律,從而顯著提高了自主空中加油的對接精度。張易明等人[14]針對空中對接中的位置估計(jì)問題,提出了深度學(xué)習(xí)與雙目視覺相結(jié)合的定位方法,對YOLOv4-Tiny進(jìn)行改進(jìn),并在其基礎(chǔ)上建立基于投影算子的模型參考自適應(yīng)控制器,仿真結(jié)果表明該方法滿足對接要求。王浩龍[15]采用近端策略優(yōu)化控制方法以被動(dòng)無人機(jī)的位置、速度等信息作為神經(jīng)網(wǎng)絡(luò)的輸入實(shí)現(xiàn)飛行器的自主跟蹤與對接任務(wù)。
上述研究將被動(dòng)無人機(jī)的位姿估計(jì)與主動(dòng)無人機(jī)的控制問題分開考慮,而本文研究了基于深度強(qiáng)化學(xué)習(xí)的無人機(jī)空中目標(biāo)自主跟蹤方法,實(shí)現(xiàn)了位姿估計(jì)與控制一體化,為空中目標(biāo)跟蹤問題提出了端到端的解決方案。采用近端策略優(yōu)化算法(PPO,proximal policy optimization),將無人機(jī)搭載的攝像頭拍攝的圖像作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,不需在被動(dòng)無人機(jī)上設(shè)置特定的視覺標(biāo)識(shí)即可實(shí)現(xiàn)對空中目標(biāo)的自主跟蹤。
空中目標(biāo)跟蹤是實(shí)現(xiàn)空中對接的重要環(huán)節(jié),空中對接任務(wù)由兩架無人機(jī)配合完成,主動(dòng)無人機(jī)需跟蹤被動(dòng)無人機(jī)一段時(shí)間,保證其相對位置與姿態(tài)在可對接范圍內(nèi),隨后控制主動(dòng)無人機(jī)完成空中對接。本文主要研究空中對接前的空中目標(biāo)跟蹤,兩架無人機(jī)的相對位置關(guān)系如圖1所示,主動(dòng)無人機(jī)在被動(dòng)無人機(jī)后方跟隨飛行。
圖1 相對位置關(guān)系
主動(dòng)無人機(jī)與被動(dòng)無人機(jī)均為“X”型四旋翼無人機(jī),其動(dòng)力學(xué)方程為:
(1)
式中,x、y、z為無人機(jī)在世界坐標(biāo)系下的位置坐標(biāo),φ、θ、ψ分別為無人機(jī)的滾轉(zhuǎn)角、俯仰角、偏航角,m為無人機(jī)的質(zhì)量,F(xiàn)為無人機(jī)所受的合力值,Ix、Iy、Iz為轉(zhuǎn)動(dòng)慣量,Mx、My、Mz為螺旋槳升力產(chǎn)生的力矩。
本文選擇“X”型四旋翼無人機(jī),故其合力F與力矩Mx、My、Mz的計(jì)算方式為:
(2)
式中,Fi為各螺旋槳產(chǎn)生的升力,kF為螺旋槳升力系數(shù),ωi為各電機(jī)轉(zhuǎn)速,L為電機(jī)到質(zhì)心距離,Mi為各螺旋槳產(chǎn)生的扭矩,kM為螺旋槳扭矩系數(shù)。
本文假設(shè)被動(dòng)無人機(jī)沿世界坐標(biāo)系的x軸正方向進(jìn)行勻速直線飛行,其運(yùn)動(dòng)方程為:
(3)
式中,xtarget、ytarget、ztarget為世界坐標(biāo)系下被動(dòng)無人機(jī)的坐標(biāo),為被動(dòng)無人機(jī)初始速度。
PID控制器具有算法簡單、可靠性高的優(yōu)點(diǎn),因此在無人機(jī)控制中被廣泛應(yīng)用。作為無人機(jī)中的基本控制器,其結(jié)構(gòu)如圖2所示。
圖2 無人機(jī)PID控制器結(jié)構(gòu)圖
強(qiáng)化學(xué)習(xí)是研究如何使智能體在某一環(huán)境下獲取最大獎(jiǎng)勵(lì)值的一類問題,該問題可以用馬爾科夫決策過程表示。馬爾科夫決策過程的基本元素包括:智能體、狀態(tài)空間S、動(dòng)作空間A、狀態(tài)轉(zhuǎn)移函數(shù)P(SP′|S,α〕、獎(jiǎng)勵(lì)函數(shù)R。智能體是在環(huán)境中進(jìn)行學(xué)習(xí)的個(gè)體。狀態(tài)空間S是對環(huán)境信息具體描述的集合,其中某一特定狀態(tài)用s表示。智能體通常無法獲得環(huán)境中的全部狀態(tài)信息,因此智能體在環(huán)境下獲得的部分狀態(tài)信息也可用觀測空間O進(jìn)行描述。動(dòng)作空間A是智能體在環(huán)境下能夠完成的所有動(dòng)作的集合,智能體的動(dòng)作用α表示。狀態(tài)轉(zhuǎn)移函數(shù)P(SP′|S,α〕為智能體在狀態(tài)s下采取動(dòng)作α后進(jìn)入未來某一狀態(tài)s′的概率。獎(jiǎng)勵(lì)函數(shù)R表示智能體在某一狀態(tài)s下采取動(dòng)α作后將獲得多大的獎(jiǎng)勵(lì)值。
根據(jù)智能體所學(xué)習(xí)內(nèi)容的差異,可分為基于策略的智能體和基于價(jià)值的智能體?;诓呗缘闹悄荏w直接學(xué)習(xí)策略函數(shù)π,通過策略決定要采取的動(dòng)作α。策略函數(shù)π表示t時(shí)刻智能體在某一狀態(tài)s下采取某一動(dòng)作α的概率,即:
π(a|s)=P(at=a|st=s)
(4)
價(jià)值函數(shù)包括狀態(tài)價(jià)值函數(shù)vπ(s)和動(dòng)作價(jià)值函數(shù)qπ(s,α)。狀態(tài)價(jià)值函數(shù)vπ(s)表示智能體在某種狀態(tài)s時(shí)采用某種策略π后在未來能夠獲得多大的回報(bào)值G?;貓?bào)值G是指未來能夠獲得的所有獎(jiǎng)勵(lì)值R進(jìn)行折扣后的和,即:
Gt=Rt+1+γRt+2+γ2Rt+3+···+γT-t-1RT
(5)
其中:Gt表示t時(shí)刻獲得的回報(bào)值,Rt+1表示時(shí)刻獲得的獎(jiǎng)勵(lì)值,T表示結(jié)束時(shí)刻。γ表示折扣因子,其取值范圍在0~1之間,γ取值越接近0時(shí)表示我們更加重視當(dāng)前獎(jiǎng)勵(lì),γ取值為1時(shí)表示未來獎(jiǎng)勵(lì)與當(dāng)前獎(jiǎng)勵(lì)同樣重要。
狀態(tài)價(jià)值函數(shù)vπ(s)可表示為在狀態(tài)s時(shí)采用策略π能夠獲得回報(bào)G的期望,即:
vπ(s)=Επ[Gt|st=s]
(6)
動(dòng)作價(jià)值函數(shù)qπ(s,α)表示基于某種策略π時(shí)在某一狀態(tài)S下采取某一動(dòng)作α?xí)r所能獲得回報(bào)G的期望,即:
qπ(s,a)=Επ[Gt|st=s,At=a]
(7)
策略函數(shù)π、狀態(tài)價(jià)值函數(shù)vπ(s)與動(dòng)作價(jià)值函數(shù)qπ(s,α)的關(guān)系可表示為:
(8)
基于價(jià)值的智能體通過學(xué)習(xí)價(jià)值函數(shù)從而隱式的學(xué)習(xí)策略,即從價(jià)值函數(shù)中推導(dǎo)出決定動(dòng)作的策略。此時(shí)的策略π*為采取價(jià)值函數(shù)取最大值時(shí)的動(dòng)作,即:
(9)
或
(10)
此時(shí)需通過遍歷所有狀態(tài)s和動(dòng)作a找到最大化的價(jià)值函數(shù)或動(dòng)作價(jià)值函數(shù)。
狀態(tài)空間S是對整個(gè)環(huán)境世界的完整描述,包含環(huán)境內(nèi)的所有狀態(tài)信息。而觀測空間O是智能體對狀態(tài)空間的部分描述,不一定包含所有信息。當(dāng)智能體能夠觀測到全部狀態(tài)信息時(shí),稱為完全可觀測的,此時(shí)狀態(tài)空間S與觀測空間O等效。當(dāng)智能體僅能觀測到部分狀態(tài)信息時(shí),稱為部分可觀測的。本文中的智能體為四旋翼無人機(jī),其無法感知環(huán)境中的全部狀態(tài)信息,因此其基于觀測空間O選取動(dòng)作a。下面依次介紹本文的觀測空間O與動(dòng)作空間A的設(shè)置。
觀測空間O:將主動(dòng)無人機(jī)攝像頭拍攝的圖像作為強(qiáng)化學(xué)習(xí)的觀測空間O。與采用被動(dòng)無人機(jī)位姿信息作為觀測空間的方式不同,本文直接采用主動(dòng)無人機(jī)攝像頭拍攝所得的RGB圖像作為觀測空間。同時(shí)為加快訓(xùn)練速度,圖像大小設(shè)置為64×48。
動(dòng)作空間A:將經(jīng)過PID控制輸出的無人機(jī)期望速度作為強(qiáng)化學(xué)習(xí)的動(dòng)作空間A。在強(qiáng)化學(xué)習(xí)訓(xùn)練過程中的每一步均需要傳遞一個(gè)動(dòng)作以控制智能體,本文中的動(dòng)作空間為無人機(jī)在世界坐標(biāo)系下的期望速度:
V=[vx,vy,vz,vM]
(11)
式中,vx、vy、vz為無人機(jī)在世界坐標(biāo)系下單位速度向量沿x軸、y軸、z軸的分量,vM為期望速度的量綱。此處根據(jù)文獻(xiàn)[16]中的方法通過包含位置與姿態(tài)控制的PID控制器將期望速度V轉(zhuǎn)換為各電機(jī)轉(zhuǎn)速ωi。
基于深度強(qiáng)化學(xué)習(xí)的空中目標(biāo)跟蹤任務(wù)框架如圖3所示,主動(dòng)無人機(jī)作為智能體根據(jù)從環(huán)境中獲得的觀測信息Ot產(chǎn)生動(dòng)作At從而實(shí)現(xiàn)與環(huán)境的交互,環(huán)境受到智能體的動(dòng)作影響后進(jìn)入下一狀態(tài),同時(shí)智能體獲得新的觀測信息Ot+1和獎(jiǎng)勵(lì)Rt+1,智能體獲得新的觀測信息Ot+1后產(chǎn)生新的動(dòng)作At+1,不斷重復(fù)上述過程直至完成訓(xùn)練。
圖3 強(qiáng)化學(xué)習(xí)框架
強(qiáng)化學(xué)習(xí)中常用的策略梯度算法存在不好確定學(xué)習(xí)率與步長的問題。當(dāng)學(xué)習(xí)率或步長過大時(shí),策略網(wǎng)絡(luò)不斷振動(dòng)而無法收斂,當(dāng)學(xué)習(xí)率或步長過小時(shí),策略網(wǎng)絡(luò)的訓(xùn)練時(shí)間又過長。近端策略優(yōu)化算法通過控制新策略與舊策略的比值,從而限制新策略的更新幅度,使其訓(xùn)練過程更加穩(wěn)定。
近端策略優(yōu)化是一種演員-評論家方法(Actor-Critic)。將基于價(jià)值的智能體和基于策略的智能體進(jìn)行結(jié)合,同時(shí)學(xué)習(xí)價(jià)值函數(shù)和策略函數(shù)并將學(xué)到的兩種函數(shù)進(jìn)行交互從而得到智能體的最佳行動(dòng),采用該方法能夠有效地加快學(xué)習(xí)速度,取得更好的學(xué)習(xí)效果。在演員-評論家方法中,演員指的是策略函數(shù),評論家指的是價(jià)值函數(shù)。當(dāng)智能體訓(xùn)練完成后,策略函數(shù)用于決定智能體的實(shí)際動(dòng)作,價(jià)值函數(shù)則不再起作用,其僅供訓(xùn)練時(shí)為策略函數(shù)打分,使其學(xué)習(xí)到能夠盡可能獲得更高匯報(bào)的策略函數(shù)。
此外,采用深度強(qiáng)化學(xué)習(xí)方法能夠同時(shí)解決感知與控制問題。強(qiáng)化學(xué)習(xí)方法僅能夠?qū)S度較低的狀態(tài)信息進(jìn)行處理以實(shí)現(xiàn)對智能體的控制,而深度強(qiáng)化學(xué)習(xí)方法能夠直接對高緯度信息進(jìn)行處理從而實(shí)現(xiàn)對智能體的控制,即同時(shí)解決了感知與控制的問題,更加接近人腦的處理方式。
當(dāng)被動(dòng)無人機(jī)的GPS信息無法獲取或其無明顯對接標(biāo)識(shí)供視覺算法解算位姿信息時(shí),采用深度強(qiáng)化學(xué)習(xí)的方法將主動(dòng)無人機(jī)拍攝圖像作為觀測空間以訓(xùn)練智能體能夠同時(shí)解決感知與控制的問題,不再需要單獨(dú)解算被動(dòng)無人機(jī)的位置與姿態(tài)信息。因觀測空間為圖像信息,因此策略函數(shù)和價(jià)值函數(shù)均采用卷積神經(jīng)網(wǎng)絡(luò),分別稱為Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)。
近端策略優(yōu)化算法在更新Actor網(wǎng)絡(luò)時(shí)有兩種方法:KL懲罰和裁剪代理目標(biāo)。下面分別介紹兩種方法。
KL懲罰的目標(biāo)函數(shù)為:
(12)
裁剪代理目標(biāo)的目標(biāo)函數(shù)為:
(13)
式中,rt(θ)為新策略πθ與舊策略πθold的比值,clip(·)為裁剪函數(shù),ε為超參數(shù)。其中clip(·)裁剪函數(shù)表示當(dāng)rt(θ)小于時(shí),函數(shù)輸出值為1-ε,當(dāng)rt(θ)大于1+ε時(shí),函數(shù)輸出值為1+ε,即將函數(shù)的輸出值限定在1-ε與1+ε之間,如圖4所示。其中ε需要人為調(diào)節(jié)。
圖4 裁剪函數(shù)
觀測空間O為主動(dòng)無人機(jī)攝像頭所拍攝圖像,如圖5所示,即網(wǎng)絡(luò)輸入為圖像,圖像為高維度信息需通過卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,因此Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)均采用卷積神經(jīng)網(wǎng)絡(luò)。
圖5 對接無人機(jī)攝像頭拍攝圖像
文獻(xiàn)[17]討論了強(qiáng)化學(xué)習(xí)中“演員-評論家”類方法中Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)是否應(yīng)分開的問題,結(jié)果表明當(dāng)輸入為圖像等高維信息時(shí),Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)間的參數(shù)共享較為重要,能夠有效提取特征,同時(shí)減少計(jì)算量。因此本文的Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)共享前幾層的網(wǎng)絡(luò)參數(shù),其網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 Actor-Critic網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)主要由特征提取器和全連接神經(jīng)網(wǎng)絡(luò)兩部分組成。特征提取器由三層卷積層構(gòu)成,激活函數(shù)均為ReLU函數(shù),卷積核大小分別為8×8、4×4、3×3,隨后將卷積層輸出數(shù)據(jù)拉平為一維數(shù)據(jù),再經(jīng)過節(jié)點(diǎn)數(shù)為512的線性層輸入全連接神經(jīng)網(wǎng)絡(luò)。全連接神經(jīng)網(wǎng)絡(luò)首先由Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)共享的兩層線性層構(gòu)成,其節(jié)點(diǎn)數(shù)均為512,隨后網(wǎng)絡(luò)進(jìn)行分支,共享層的輸出分別進(jìn)入Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)。Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)均由兩層線性層構(gòu)成,其節(jié)點(diǎn)數(shù)分別為256和128,Actor網(wǎng)絡(luò)的輸出為無人機(jī)4個(gè)電機(jī)的轉(zhuǎn)速,Critic網(wǎng)絡(luò)的輸出為該電機(jī)轉(zhuǎn)速下的價(jià)值函數(shù)。
強(qiáng)化學(xué)習(xí)中需要設(shè)置合適的獎(jiǎng)勵(lì)函數(shù)以使得智能體能夠完成所期望的目標(biāo)任務(wù),但在空中目標(biāo)跟蹤任務(wù)中如果僅采用最終是否跟蹤成功作為獎(jiǎng)勵(lì)函數(shù)則會(huì)導(dǎo)致獎(jiǎng)勵(lì)太過于稀疏,使得最終訓(xùn)練效果不佳、訓(xùn)練速度緩慢。文獻(xiàn)[15]中通過利用shaping的方法加速智能體訓(xùn)練,有效地解決了環(huán)境中獎(jiǎng)勵(lì)稀疏的問題并成功實(shí)現(xiàn)了無人機(jī)目標(biāo)跟蹤。為加快智能體的訓(xùn)練速度,本文也采用shaping方法設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù),此時(shí)獎(jiǎng)勵(lì)函數(shù)為:
rewardt=shapingt-shapingt-1
(14)
式中,rewardt為t時(shí)刻的獎(jiǎng)勵(lì)函數(shù),shapingt為t時(shí)刻的shaping函數(shù)。即t時(shí)刻的獎(jiǎng)勵(lì)函數(shù)為t時(shí)刻的shaping函數(shù)值與時(shí)刻的shaping函數(shù)值的差。shaping函數(shù)為:
shapingt=
Vtrack
(15)
式中,xtarget、ytarget、ztarget表示被動(dòng)無人機(jī)坐標(biāo),xagent、yagent、zagent表示主動(dòng)無人機(jī)坐標(biāo)。Vtrack表示無人機(jī)完成達(dá)到空中目標(biāo)跟蹤要求時(shí)獲得的獎(jiǎng)勵(lì)值,即:
(16)
式中,xtrack、ytrack、ztrack表示跟蹤要求范圍。
本文基于文獻(xiàn)[18]中提出的開源四旋翼強(qiáng)化學(xué)習(xí)仿真環(huán)境進(jìn)行開發(fā)?;赑ybuellt搭建仿真環(huán)境,Pybullet是基于Bullet進(jìn)行物理仿真的Python模塊。無人機(jī)模型選取“X”字型的四旋翼無人機(jī)Crazyflie,其相關(guān)物理參數(shù)見表1。
表1 Crazyflie物理參數(shù)
同時(shí)為使攝像頭拍攝圖像中的被動(dòng)無人機(jī)更易識(shí)別,將被動(dòng)無人機(jī)進(jìn)行適當(dāng)倍數(shù)的放大。搭建的仿真環(huán)境如圖7所示。
圖7 基于Pybullet的無人機(jī)跟蹤仿真環(huán)境
硬件環(huán)境:GPU為英偉達(dá)2070 Super,CPU為英特爾i5-10400F。深度強(qiáng)化學(xué)習(xí)框架選擇Stable Baselines3,其是基于Pytorch和Gym的強(qiáng)化學(xué)習(xí)實(shí)現(xiàn)工具,集成了一系列強(qiáng)化學(xué)習(xí)經(jīng)典算法,包括:A2C、DDPG、PPO、SAC、TD3等。本文中強(qiáng)化學(xué)習(xí)算法選取近端策略優(yōu)化(PPO)并采用裁剪代理目標(biāo)的方式更新神經(jīng)網(wǎng)絡(luò)參數(shù),相關(guān)超參數(shù)見表2。
表2 PPO算法相關(guān)超參數(shù)
仿真環(huán)境中被動(dòng)無人機(jī)沿世界坐標(biāo)系x軸的方向進(jìn)行勻速直線飛行,其初始位置為:
初始速度為:
主動(dòng)無人機(jī)初始位置為:
主動(dòng)無人機(jī)攝像頭拍攝的圖像作為觀測O輸入Actor網(wǎng)絡(luò)中,Actor網(wǎng)絡(luò)輸出動(dòng)作A,A為經(jīng)PID控制后輸出的4個(gè)電機(jī)轉(zhuǎn)速,從而控制主動(dòng)無人機(jī)自主跟蹤被動(dòng)無人機(jī)。跟蹤條件為:
即主動(dòng)無人機(jī)在世界坐標(biāo)的x軸方向與被動(dòng)無人機(jī)相對距離小于1 m,在y軸和z軸方向距離小于0.1 m時(shí),便視為跟蹤成功,此時(shí)將獲得數(shù)值為10的跟蹤獎(jiǎng)勵(lì)Vtrack。
訓(xùn)練結(jié)束后利用訓(xùn)練過程中的最優(yōu)模型進(jìn)行仿真測試,仿真時(shí)間持續(xù)6 s,測試情況如圖8所示。圖8(a)為仿真初始時(shí)刻兩架無人機(jī)間的位置關(guān)系,圖8(b)為初始時(shí)刻主動(dòng)無人機(jī)攝像頭所拍攝的圖像,圖8(c)和圖8(d)分別為仿真結(jié)束時(shí)刻兩架無人機(jī)間的位置關(guān)系與攝像頭拍攝圖像。由圖8可以看出最終兩架無人機(jī)保持著較近的跟蹤距離[19-20]。
圖8 仿真測試
空中目標(biāo)跟蹤仿真實(shí)驗(yàn)結(jié)果表明,本文采用PPO算法進(jìn)行的空中目標(biāo)跟蹤能夠達(dá)到跟蹤要求,經(jīng)過6 s的仿真測試最終沿世界坐標(biāo)系x軸的跟蹤距離最終保持在0.5 m左右,y軸跟蹤距離在0.03 m以內(nèi),z軸跟蹤距離在0.01 m以內(nèi)。主動(dòng)無人機(jī)與被動(dòng)無人機(jī)間的位置關(guān)系與速度關(guān)系如圖9和圖10所示[21-22]。
圖9 兩架無人機(jī)間的位置關(guān)系
圖10 兩架無人機(jī)間的速度關(guān)系
從圖9和圖10可以看出被動(dòng)無人機(jī)沿x軸正方向以0.1 m/s進(jìn)行勻速直線運(yùn)動(dòng),主動(dòng)無人機(jī)沿x軸從靜止開始加速到0.25 m/s勻速運(yùn)動(dòng),當(dāng)兩架無人機(jī)間距離接近0.5 m后進(jìn)行減速,并保持與被動(dòng)無人機(jī)相同速度進(jìn)行飛行。同時(shí)主動(dòng)無人機(jī)在y軸與z軸的位置與速度存在較小震蕩,但最終基本穩(wěn)定[23-24]。
主動(dòng)無人機(jī)姿態(tài)角與角速度如圖11和圖12所示。由圖10(a)可以看出,初始階段主動(dòng)無人機(jī)需進(jìn)行加速從而縮短與被動(dòng)無人機(jī)間的距離,當(dāng)速度達(dá)到0.3 m/s后進(jìn)行減速,直至速度為0.25 m/s后進(jìn)行勻速運(yùn)動(dòng),當(dāng)兩架無人機(jī)距離達(dá)到0.5 m左右后減速至0.1 m,并保持跟蹤。因此主動(dòng)無人機(jī)俯仰角與俯仰角速度需相應(yīng)變化,由于本文的仿真環(huán)境中未考慮空氣阻力,因此勻速運(yùn)動(dòng)狀態(tài)姿態(tài)角均為0°。但由圖11和圖12可知,姿態(tài)角在跟蹤成功后存在一定波動(dòng),即不能保持與被動(dòng)無人機(jī)的姿態(tài)角一致,因此在進(jìn)行對接操作時(shí)還需考慮姿態(tài)角與姿態(tài)角速度的相對關(guān)系。
圖11 對接無人機(jī)姿態(tài)角變化
圖12 對接無人機(jī)角速度變化
仿真實(shí)驗(yàn)結(jié)果驗(yàn)證了采用深度強(qiáng)化學(xué)習(xí)的方法能夠在僅輸入主動(dòng)無人機(jī)攝像頭拍攝圖像的情況下實(shí)現(xiàn)空中目標(biāo)自主跟蹤任務(wù)。該方法不需要通過GPS等傳感器獲得被動(dòng)無人機(jī)的位置信息,也不需通過視覺算法對拍攝圖像進(jìn)行處理以解算被動(dòng)無人機(jī)的位姿信息,通過端到端的方式即可實(shí)現(xiàn)空中目標(biāo)自主跟蹤任務(wù)[25-26]。
本文針對空中目標(biāo)自主跟蹤問題,提出了一種基于深度強(qiáng)化學(xué)習(xí)的技術(shù)方法。主要貢獻(xiàn)在于:提出了端到端的空中目標(biāo)自主跟蹤方法,通過將深度強(qiáng)化學(xué)習(xí)方法應(yīng)用在空中目標(biāo)自主跟蹤領(lǐng)域,將無人機(jī)攝像頭中拍攝圖像作為輸入,Actor網(wǎng)絡(luò)接受圖像并輸出4個(gè)電機(jī)的轉(zhuǎn)速,從而控制無人機(jī)完成對空中目標(biāo)的跟蹤任務(wù),無需獲得目標(biāo)位置信息,也不需額外設(shè)計(jì)圖像處理算法,即可完成端到端的空中目標(biāo)跟蹤,提高了無人機(jī)的自主性與智能性。
本文仍有不足之處:實(shí)驗(yàn)中未考慮風(fēng)阻力,也未考慮主動(dòng)無人機(jī)與被動(dòng)無人機(jī)間的相對姿態(tài)關(guān)系,僅適用于與相對姿態(tài)無關(guān)的空中目標(biāo)跟蹤任務(wù),若需進(jìn)行空中對接仍應(yīng)進(jìn)一步考慮兩架無人機(jī)間的相對姿態(tài)與相對角速度關(guān)系。在未來的研究中將進(jìn)一步考慮風(fēng)阻力、兩架無人機(jī)間的相對姿態(tài)與相對角速度關(guān)系。