張 楊 顏 鵬 謝旭東 白成超
(1.中國空間技術(shù)研究院, 北京 100094; 2.哈爾濱工業(yè)大學(xué)航天學(xué)院, 哈爾濱 150001)
月球探測能夠促進通信、控制、能源、材料等技術(shù)的快速發(fā)展,同時能夠助力月球資源的開發(fā)利用[1-3]。 為取得更為直觀和充分的探測數(shù)據(jù),使用巡視器進行月面探測是當前極為有效的方式[4]。 目前,巡視器執(zhí)行的月面探測任務(wù)主要集中在月球正面,月背也僅在2019 年實現(xiàn)了首次探測,探測資源富集的極區(qū)已成為未來探測任務(wù)的趨勢。 然而,極端區(qū)域由于復(fù)雜的地理條件約束導(dǎo)致探測任務(wù)難度極大。
現(xiàn)有的月面巡視器多為單個月球車獨立行動,對此已有大量的月面探測路徑規(guī)劃相關(guān)研究[5-7],但其受制于自身能力及環(huán)境約束,無法滿足對復(fù)雜未知的月面極端區(qū)域的探測需求,因此,僅利用單個月球車進行月面探測在未來不是一種高效的探測方式。 利用多個月球車進行協(xié)同探測則能夠有效提升探測能力,極大提高探測效率和探測任務(wù)設(shè)計上限[8]。 此外,考慮極端區(qū)域存在坡度、光照、月壤特性差異等復(fù)雜因素,單一工種巡視器可能無法完成預(yù)設(shè)的探測任務(wù),因此,研究多巡視器協(xié)同探測具有較大的工程意義[9-10]。
目前還未有過在月球上實際應(yīng)用的多巡視器協(xié)同探測任務(wù),但已有相關(guān)學(xué)者對協(xié)同探測區(qū)域覆蓋算法進行了研究。 覆蓋路徑規(guī)劃通過將環(huán)境分割成細粒度的區(qū)域,然后生成路徑完成探測。Laine 等[11]基于近視感知信息實現(xiàn)了有限傳感下多月球車的區(qū)域覆蓋路徑規(guī)劃;羅汝斌等[12]使用深度強化學(xué)習(xí)方法實現(xiàn)了多行星車的自適應(yīng)協(xié)同探測,提高了行星車應(yīng)對高度不確定性未知環(huán)境探測任務(wù)的能力。 此外,在地面其他領(lǐng)域也有區(qū)域覆蓋協(xié)同探測的相關(guān)研究:向庭立等[13]將改進灰狼算法應(yīng)用到無人機協(xié)同探測,實現(xiàn)了資源優(yōu)化分配決策;Hazon 等[14]通過兩步法將生成樹覆蓋算法應(yīng)用到多機器人的協(xié)同探測上;Kapoutsis等[15]提出了DARP 算法,將探測區(qū)域平均劃分,使多機器人問題轉(zhuǎn)化為多個單機器人問題,能夠降低問題求解的組合復(fù)雜性;Ivi'c 等[16]采用基于勢場的遍歷覆蓋算法實現(xiàn)了多智能體的避碰與協(xié)同覆蓋探索。
針對具有高度不確定性的未知區(qū)域,基于規(guī)則的協(xié)同探測策略由于缺乏智能自主的策略調(diào)整機制,無法動態(tài)調(diào)整探測策略以適應(yīng)新的環(huán)境,需要賦予月球車一定的智能自主性,使其可根據(jù)環(huán)境狀態(tài)自主調(diào)整策略。 傳統(tǒng)的強化學(xué)習(xí)方法雖然可以通過自主訓(xùn)練的方式使得智能體學(xué)習(xí)到智能自主的策略,但很難應(yīng)用到多智能體環(huán)境中。 在多智能體環(huán)境中,每個智能體都在不斷學(xué)習(xí),策略也在不斷變化,其所處的環(huán)境是動態(tài)變化的,因而無法學(xué)習(xí)到穩(wěn)定的策略。 多智能體深度確定性策略梯度方法[17](Multi-agent Deep Deterministic Policy Gradient,MADDPG)作為一種廣泛應(yīng)用的多智能體強化學(xué)習(xí)方法,能夠有效解決多智能體的環(huán)境不穩(wěn)定問題,并且具備集中式訓(xùn)練分布式執(zhí)行的優(yōu)勢,在各種領(lǐng)域都有廣泛的應(yīng)用。 張立雄等[18]使用多智能體強化學(xué)習(xí)實現(xiàn)了多無人車探索多個目標位置的分布式路徑規(guī)劃;Qie 等[19]對MADDPG 算法進行改進,能夠有效實時處理動態(tài)環(huán)境,實現(xiàn)了多無人機的目標分配與路徑規(guī)劃。
針對月面極端區(qū)域探測問題,本文采用MADDPG 方法,通過自主學(xué)習(xí)的方式建立月球車的協(xié)同探測策略,并且在協(xié)同探測策略的學(xué)習(xí)過程中,重點考慮探測效率及探測區(qū)域起伏度對月球車安全性的影響。
考慮月球車的運動學(xué)模型。 月球車在月面進行移動探測時,不僅要考慮本身的速度控制指令,還需考慮月球車所在的地形起伏信息,它將影響月球車的安全穩(wěn)定行駛。 因此,構(gòu)建月球車的運動學(xué)模型,如式(1)所示。
式中,t表示當前時刻, (xt,yt) 為月球車在月面二維平面地圖的位置坐標,zt為月球車當前的地形高度,vt是月球車的運動線速度,θt、γt、ψt分別為月球車的俯仰角、滾轉(zhuǎn)角及偏航角,ωt為月球車的轉(zhuǎn)動角速度,ft(·) 表示月面地形起伏信息的函數(shù),即月球車所處的高度、俯仰角以及滾轉(zhuǎn)角由當前的地形信息決定。 月球車俯仰角與滾轉(zhuǎn)角的最大幅值為θmax和γmax,當月球車的俯仰角與滾轉(zhuǎn)角大于最大幅值時,月球車將發(fā)生傾倒。
月球車搭載的探測傳感器有視覺相機和激光雷達,如圖1 所示。 激光雷達探測距離為dscan,探測角度范圍為αscan; 視覺相機探測距離為dcam,探測角度范圍為αcam。 此外,月球車之間的最大通信距離為dcom,即月球車的相對距離超過dcom時,相互之間無法進行通信,如圖2 所示。
圖1 月球車模型Fig.1 Model of the lunar rover
圖2 多月球車協(xié)同探測未知區(qū)域Fig.2 Multi-lunar-rover cooperative exploration of unknown areas
在給定的月面區(qū)域內(nèi),使用N個月球車同時執(zhí)行探測任務(wù),每個月球車設(shè)定有固定的探測范圍以及通信距離,在通信距離內(nèi)的月球車能夠互相傳遞已探測的地圖信息、當前時刻通信范圍內(nèi)其他月球車以及自身在地圖中的位置信息,要求各月球車能夠避開月面環(huán)境障礙物以及其他月球車。 在給定區(qū)域均被探測完成后任務(wù)結(jié)束。 將以上協(xié)同探測問題建模為一個優(yōu)化問題,通過規(guī)劃每個月球車的探測指令使探測效率最大化,探測任務(wù)耗時最少,并滿足月球車的安全性約束,該問題建模如式(2)所示。
月球車的控制指令包括線速度vt和角速度ωt,由于月球車在實際運行時其速度是連續(xù)的,因此本文使用連續(xù)的速度值組成探測策略的動作空間,如式(4)所示。
針對以上設(shè)計的月球車的狀態(tài)空間與動作空間,本文設(shè)計的協(xié)同探測策略的網(wǎng)絡(luò)結(jié)構(gòu)如圖 3所示。 針對視覺相機觀測到的圖像狀態(tài)oCt,設(shè)計了兩層二維卷積網(wǎng)絡(luò)以及一層全連接網(wǎng)絡(luò)對其進行編碼處理。 其中,第一層卷積神經(jīng)網(wǎng)絡(luò)共有4個二維卷積核,且卷積核大小為(4,4),卷積滑動步長為2;第二層卷積神經(jīng)網(wǎng)絡(luò)共有8 個二維卷積核,卷積核大小為(3,3),卷積滑動步長為2;全連接網(wǎng)絡(luò)具有128 個非線性處理單元。 針對激光雷達的測量信息,設(shè)計了兩層一維卷積網(wǎng)絡(luò)以及一層全連接網(wǎng)絡(luò)對其進行編碼處理。 其中,第一層卷積神經(jīng)網(wǎng)絡(luò)共有32 個卷積核大小為5 的一維卷積核,其卷積滑動步長為1;第二層卷積神經(jīng)網(wǎng)絡(luò)共有32 個卷積核大小為3 的一維卷積核,其卷積滑動步長為1;全連接網(wǎng)絡(luò)具有32 個非線性處理單元。 針對柵格地圖信息,設(shè)計了兩層二維卷積網(wǎng)絡(luò)以及一層全連接網(wǎng)絡(luò)對其進行編碼處理。 其中,第一層卷積神經(jīng)網(wǎng)絡(luò)共有4 個卷積核大小為(4,4)的二維卷積核,其卷積滑動步長為2;第二層卷積神經(jīng)網(wǎng)絡(luò)共有5 個卷積核大小為(3,3)的二維卷積核,其卷積滑動步長為2;全連接網(wǎng)絡(luò)具有64 個非線性處理單元。 在月球車的觀測狀態(tài)通過以上3 組網(wǎng)絡(luò)結(jié)構(gòu)分別編碼之后,將各自的編碼狀態(tài)進行拼接,然后由3層全連接網(wǎng)絡(luò)進行進一步處理,最后得到月球車的控制指令。 在以上網(wǎng)絡(luò)結(jié)構(gòu)中,除了最后一層網(wǎng)絡(luò)結(jié)構(gòu),其他網(wǎng)絡(luò)層的非線性處理單元的激活函數(shù)均為ReLU,最后一層網(wǎng)絡(luò)結(jié)構(gòu)的激活函數(shù)為Tanh,其目的是將輸出值限制在(-1,1)之間。
圖3 協(xié)同探測策略網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Network structure of cooperative exploration strategy
由2.2 節(jié)建立的協(xié)同探測問題可知,本文解決的問題是建立月球車的協(xié)同探測策略使得月球車對指定區(qū)域的探測時間最短并且滿足月球車的安全性約束。 因此,對應(yīng)的獎勵函數(shù)設(shè)計為式(5):
式中,μt表示在t時刻對指定區(qū)域的探測率,μt <0.95 表示對指定區(qū)域沒有探測完成(μt≥0.95 表示完成了對指定區(qū)域的探測,由于實際情況下很難對具有障礙物以及坑洼區(qū)域的月面環(huán)境實現(xiàn)完全探測,因此本文假設(shè)當探測率超過0.95時已完成對指定區(qū)域的探測)。 上式表示在沒有完成探測時在每個時間步長上接收到的獎勵值與區(qū)域探測率的增加率成正比,當完成區(qū)域探測時則給一個較大的獎勵值。 式中常值-0.001 的目的是為了加快對區(qū)域的探測時間。
圖4 基于MADDPG 的月面協(xié)同探測策略訓(xùn)練流程Fig.4 Training process of lunar surface cooperation detection strategy based on MADDPG
本文在Gazebo 仿真軟件中搭建了月面極端區(qū)域協(xié)同探測的仿真環(huán)境,如圖5 所示。 其中探測區(qū)域面積為100 m×100 m,且環(huán)境區(qū)域中隨機分布著起伏度不平整的溝壑坑洼地帶,用于模擬月面極端區(qū)域的地形環(huán)境。 同時,構(gòu)建的仿真環(huán)境中有2 個月球車,用于協(xié)同探測模擬的月面區(qū)域。 月球車使用開源的Jackal 無人車模型,其攜帶的傳感器如圖5 所示。 在仿真過程中,將月球車的性能參數(shù)設(shè)置如表1 所示。 Gazebo 的底層仿真周期設(shè)置為0.01 s,月球車的指令解算與觀測頻率設(shè)置為1 s,即每隔1 s 根據(jù)觀測到的狀態(tài)解算一次月球車的控制指令。
圖5 協(xié)同探測仿真環(huán)境Fig.5 Simulation environment for collaborative exploration
表1 月球車性能參數(shù)Table 1 Performance parameters of the lunar rover
使用以上搭建的仿真環(huán)境訓(xùn)練月面協(xié)同探測策略,其中深度神經(jīng)網(wǎng)絡(luò)使用Pytorch 框架搭建。算法1 中涉及的參數(shù)取值如表 2 所示。 在每個訓(xùn)練周期開始時,隨機重置2 個月球車的位置,同時保證2 個月球車的距離在其通信范圍之內(nèi)。 在每個訓(xùn)練周期中,當達到最大時間步數(shù)(以1 s 為步長)或者探測區(qū)域被探測完之后,此次訓(xùn)練周期結(jié)束。 圖6 所示為訓(xùn)練過程中每個訓(xùn)練周期的累積獎勵值變化曲線,其中R=∑trt表示一個訓(xùn)練周期中月球車接收到的累積獎勵值。 由圖可知,隨著訓(xùn)練周期的增加,每個訓(xùn)練周期的累積獎勵值逐步提高,表明月球車在探測過程中可以獲得更多的獎勵值,同時對月面極端區(qū)域的探測效率逐步提高。 當訓(xùn)練周期大于6000 之后,每個訓(xùn)練周期的累積獎勵值在5.5 附近震蕩,表明月球車在每個訓(xùn)練周期都能接收到探測完成的獎勵值10,這說明在每個訓(xùn)練周期月球車均能完成對環(huán)境的探測。 同時注意到在此之后每個訓(xùn)練周期的累積獎勵值沒有明顯的增加趨勢,累積獎勵值穩(wěn)定在5.1~5.7,表明月球車的探測策略已經(jīng)基本固定,策略訓(xùn)練過程逐步穩(wěn)定,月球車逐步學(xué)習(xí)到有效的協(xié)同探測策略。 在以下仿真中,均使用圖6 所示經(jīng)過10 000 個訓(xùn)練周期訓(xùn)練的協(xié)同探測網(wǎng)絡(luò)。
表2 算法1 中的參數(shù)取值Table 2 Values of parameters in Algorithm 1
圖6 訓(xùn)練過程中每個訓(xùn)練周期累積獎勵值變化曲線Fig.6 Curve of the cumulative reward value of each training cycle during the training process
本節(jié)對所提的基于MADDPG 的協(xié)同探測方法的協(xié)同探測性能進行仿真分析并與其他方法進行對比。 對比的方法包括基于勢場的協(xié)同探測方法以及基于Qmix[20]的協(xié)同探測方法。 基于勢場的協(xié)同探測方法將探測區(qū)域以及各月球車之間的關(guān)系采用勢場進行建模,各月球車的移動指令由勢場的梯度決定。 基于Qmix 的協(xié)同探測方法是一種基于多智能體強化學(xué)習(xí)的探測方法,每個月球車的移動指令經(jīng)過離散化處理,其中線速度指令離散化為{0, 0.5, 1, 1.5, 2.0}m/s,角速度指令離散化為{-60, -30, 0, 30, 60}°/s,月球車的指令為線速度指令與角速度指令的組合,因此共有25 組指令。
此外,為了充分對月球車的協(xié)同探測性能進行分析,本文提出以下4 種性能指標:
1)探測時間Tdect。 指月球車探測完給定的探測區(qū)域所用的時間,探測時間越短,表明協(xié)同探測效率越高,協(xié)同探測性能越好。
2)平均俯仰角θ-。 指月球車在區(qū)域探測過程中俯仰角的平均值。 平均俯仰角用于衡量探測過程的安全性,其值越小表明月球車的探測路徑越平穩(wěn),探測過程越安全。
3)平均滾轉(zhuǎn)角γ-。 同平均俯仰角一樣也用于衡量探測過程的安全性。 平均滾轉(zhuǎn)角是指月球車在區(qū)域探測過程中其滾轉(zhuǎn)角的平均值,其值越小表明月球車的探測路徑越平穩(wěn),探測過程越安全。
4)相對障礙物的最小值dmin。 指在一次探測過程中,月球車距離障礙物的最小距離,同樣用于衡量探測過程的安全性,其值越大表明探測過程越安全。
在4.1 節(jié)所述的仿真場景中,對以上3 種方法在相同的隨機種子下進行50 次隨機協(xié)同探測仿真測試,對于以上4 種性能指標,計算50 次隨機測試的平均值,結(jié)果如表 3 所示。 由表中結(jié)果可知,基于MADDPG 的協(xié)同探測方法在所有4 種性能指標上都優(yōu)于其他2 種方法。 相比于基于Qmix 的協(xié)同探測方法,在基于MADDPG 的協(xié)同探測方法中,月球車的指令為連續(xù)值,使得月球車可以更加充分探索可能的動作空間,并具有更加靈活的探測方式,因此具有更好的探測性能。 由于基于勢場法的協(xié)同探測方法是一種基于規(guī)則的方法,無法充分探索可能的策略空間,只能根據(jù)規(guī)則設(shè)計可行的協(xié)同探測策略,無法通過自主學(xué)習(xí)的方式探索更優(yōu)的策略,因此相對于MADDPG 與Qmix 這2 種基于學(xué)習(xí)的協(xié)同探測方法來說,具有較低的探測性能。
表3 協(xié)同探測性能對比結(jié)果Table 3 Comparison of collaborative exploration performance
此外,對月球車自身能力對協(xié)同探測性能的影響進行了測試。 圖7 為月球車最大俯仰角(即月球車的爬坡能力)變化時各方法探測性能指標的變化曲線。 由圖可知,隨著月球車最大俯仰角的增加,對探測區(qū)域的探測時間從40 s 左右降低到15 s 左右,這是由于月球車自身爬坡能力的增加使得月球車可以直接經(jīng)過具有較大起伏度的區(qū)域,降低了繞路探測的次數(shù),從而具有更短的探測時間。 由于月球車在具有較大起伏度區(qū)域的時間增加,月球車在整個探測過程中的平均俯仰角與平均滾轉(zhuǎn)角也隨之增加,平均俯仰角增加了1.5°左右,平均滾轉(zhuǎn)角增加了1°左右。 同時由于具有較大起伏度的區(qū)域分布的障礙物也越多(與障礙物之間的距離是由月球車攜帶的激光雷達測量出的,當月球車經(jīng)過區(qū)域的起伏度較大時,激光雷達的測量值也隨之變小,因此這里也將起伏度較大的區(qū)域視為障礙物),整個探測過程中距離障礙物的最小距離隨之降低,當最大俯仰角等于30°時,其值在3.5 m 以下。
圖8 為月球車最大滾轉(zhuǎn)角變化時各方法探測性能指標的變化曲線。 由圖可知,當月球車的最大滾轉(zhuǎn)角增加時,探測時間并沒有顯著降低,僅從19 s 左右降低到了17 s 左右。 相比于圖7(a)可知,月球車最大滾轉(zhuǎn)角的變化并不會顯著影響月球車的探測效率,月球車的探測效率主要由其爬坡能力(即最大俯仰角)決定。 由圖8(b)與(d)可知,月球車最大滾轉(zhuǎn)角的變化同樣不會顯著影響平均俯仰角以及月球車相對障礙物的最小距離。 因為月球車最大滾轉(zhuǎn)角的增加并不會有效提升月球車經(jīng)過起伏區(qū)域的能力,僅是降低了月球車側(cè)翻的可能性。 顯然,隨著月球車最大滾轉(zhuǎn)角的增加,其平均滾轉(zhuǎn)角也將隨之增大,如圖8(c)所示,其平均滾轉(zhuǎn)角從2°左右增加到了3°左右。
圖7 最大俯仰角對協(xié)同探測性能的影響Fig.7 Influence of maximum pitch angle on cooperative exploration performance
圖8 最大滾轉(zhuǎn)角對協(xié)同探測性能的影響Fig.8 Influence of maximum roll angle on cooperative exploration performance
圖9 為月球車通信距離變化時各方法探測性能指標的變化曲線。 由圖可知,隨著月球車通信距離的增加,各方法的探測性能逐步提高,探測時間從35 s 左右降低到了15 s 左右,平均俯仰角與平均滾轉(zhuǎn)角分別降低了1.5°與1°左右,月球車相對障礙物的最小距離增加了1 m 左右。 月球車通信距離的增加導(dǎo)致月球車相互之間協(xié)同的范圍增大,這樣在整個協(xié)同探測過程中減少了月球車之間通信間斷的次數(shù),因而避免了月球車對同一塊區(qū)域進行重復(fù)探測的次數(shù),故其協(xié)同探測性能隨之增加。 其次,從圖9 中結(jié)果可以看到,隨著通信距離的線性增加,各方法協(xié)同探測性能的提高趨勢逐步變緩,這說明通信距離只是影響協(xié)同探測性能的一個因素,不能僅通過增加通信距離的方式來提高協(xié)同探測性能。 結(jié)合圖7 與圖8 中的結(jié)果可知,協(xié)同探測性能的提高需結(jié)合月球車的自身性能以及影響協(xié)同能力的其他因素綜合考慮。
圖9 通信距離對協(xié)同探測結(jié)果的影響Fig.9 Influence of communication distance on cooperative detection results
本文針對月面極端區(qū)域協(xié)同探測問題,提出了一種基于多智能體強化學(xué)習(xí)的協(xié)同探測方法,通過利用集中式訓(xùn)練分布式執(zhí)行的學(xué)習(xí)架構(gòu),使得月球車可以通過與探測環(huán)境的充分交互學(xué)習(xí)到魯棒高效的協(xié)同探測策略。 由仿真結(jié)果可知,本文所提方法在所有4 種性能指標上都優(yōu)于其他2種方法,具有更好的探測性能。 此外,提升月球車自身爬坡與通信能力均能提高協(xié)同探測性能,但提升效果并非線性增加,協(xié)同探測性能的提升需綜合考慮月球車的自身性能以及影響協(xié)同能力的其他因素。