張?chǎng)尾?,?樂(lè),冀海軍,彭星光
(西北工業(yè)大學(xué) 航海學(xué)院,西安 710072)
水下滑翔機(jī)是一種通過(guò)調(diào)節(jié)自身重心、浮力實(shí)現(xiàn)下潛與上浮的新型水下航行器,其憑借低成本、低功耗、長(zhǎng)續(xù)航等特點(diǎn),已經(jīng)成為了一種重要的海洋觀測(cè)平臺(tái)。水下滑翔機(jī)路徑規(guī)劃是指在任務(wù)區(qū)域中規(guī)劃一條滿足給定目標(biāo)函數(shù)(例如路徑長(zhǎng)度最短等)并滿足避開(kāi)障礙物等約束條件的,從起點(diǎn)到目標(biāo)點(diǎn)的最優(yōu)路徑。路徑規(guī)劃主要包括環(huán)境建模方法和路徑搜索算法。水下滑翔機(jī)在執(zhí)行海洋環(huán)境監(jiān)測(cè)和海洋安全保障等任務(wù)時(shí),都需要進(jìn)行路徑規(guī)劃。因此對(duì)水下滑翔機(jī)路徑規(guī)劃方法進(jìn)行研究具有重大意義。
在水下滑翔機(jī)路徑規(guī)劃方面,國(guó)內(nèi)外學(xué)者做了大量研究。當(dāng)前水下滑翔機(jī)路徑規(guī)劃方法分為兩類:傳統(tǒng)路徑規(guī)劃方法和基于仿生學(xué)的路徑規(guī)劃方法[1]。傳統(tǒng)路徑規(guī)劃方法如人工勢(shì)場(chǎng)法、快速步進(jìn)法和A*算法等;基于仿生學(xué)的路徑規(guī)劃方法如粒子群優(yōu)化算法、蟻群優(yōu)化算法、狼群算法和人工神經(jīng)網(wǎng)絡(luò)算法等。人工勢(shì)場(chǎng)法[2]借鑒了物理學(xué)中勢(shì)場(chǎng)理論的概念,將障礙物的排斥力與導(dǎo)航目標(biāo)的引力模型結(jié)合起來(lái),雖然簡(jiǎn)單高效,但存在目標(biāo)不可達(dá)、振蕩等固有缺陷??焖俨竭M(jìn)法[3]使用一階數(shù)值近似來(lái)求解方程,具有可靠性強(qiáng)、易執(zhí)行等優(yōu)點(diǎn),但是建模過(guò)于簡(jiǎn)單,未充分考慮障礙物形狀和滑翔機(jī)下潛深度等約束條件。傳統(tǒng)A*算法[4]以當(dāng)前所在點(diǎn)為中心,對(duì)其各方向上限定范圍內(nèi)的點(diǎn)作為拓展備選點(diǎn)進(jìn)行遍歷,搜索速度快,但實(shí)時(shí)性差、運(yùn)行效率低。粒子群優(yōu)化算法[5]是一種基于迭代的優(yōu)化方法,通過(guò)迭代的方法在搜索域中尋找最優(yōu)值,參數(shù)少、收斂速度快,但是粒子間信息交互少,容易陷入局部最優(yōu)。蟻群優(yōu)化算法[6]是基于模擬蟻群覓食行為尋找優(yōu)化路徑的一種自然估算算法,具有魯棒性、優(yōu)良的分布式計(jì)算以及易于與其他算法結(jié)合等優(yōu)點(diǎn),但是在進(jìn)行全局路徑規(guī)劃時(shí)收斂速度慢,易陷入局部最優(yōu)。狼群算法[7]是仿生自然界狼群的捕獵行為提出的一種群體智能優(yōu)化算法,不易受參數(shù)影響,簡(jiǎn)單易實(shí)現(xiàn),但是也存在收斂速度慢、易陷入局部極值、穩(wěn)定性差及后期局部搜索能力差等缺點(diǎn)。人工神經(jīng)網(wǎng)絡(luò)算法[8]是一種受生物神經(jīng)網(wǎng)絡(luò)功能的運(yùn)作啟發(fā)而產(chǎn)生的算法數(shù)學(xué)模型,容錯(cuò)性強(qiáng)、自學(xué)能力強(qiáng),但存在著路徑錯(cuò)判、計(jì)算量大、學(xué)習(xí)滯后等問(wèn)題。這些方法都需要提前建立環(huán)境模型,當(dāng)環(huán)境信息不能提前獲得或者問(wèn)題模型過(guò)于復(fù)雜時(shí),使用這些方法往往效果不佳。針對(duì)上述不足,強(qiáng)化學(xué)習(xí)方法成為一種用于水下滑翔機(jī)路徑規(guī)劃的研究方向。
強(qiáng)化學(xué)習(xí)方法不需要提前得知環(huán)境信息,也不需要預(yù)先給定任何數(shù)據(jù),而是通過(guò)不斷與環(huán)境交互,從環(huán)境中獲得累積行為獎(jiǎng)勵(lì)的方式來(lái)更新模型參數(shù),進(jìn)而尋求最優(yōu)解[9],并且可以根據(jù)優(yōu)化目標(biāo)來(lái)設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)。這種方法自適應(yīng)性強(qiáng),運(yùn)行效率高,能避免陷入局部最優(yōu)解。因此適合于水下未知復(fù)雜環(huán)境中的滑翔機(jī)路徑規(guī)劃問(wèn)題。
本文提出基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃方法。首先,在水下滑翔機(jī)工作深度一定的條件下,對(duì)典型的幾種俯仰角情況分別設(shè)計(jì)了航向動(dòng)作選擇集;其次,根據(jù)水下滑翔機(jī)路徑最短的目標(biāo)和障礙物外部約束條件,設(shè)計(jì)了獎(jiǎng)勵(lì)函數(shù)與動(dòng)作選擇策略,給出了Q值更新函數(shù)。最后,通過(guò)仿真實(shí)驗(yàn)驗(yàn)證了算法的有效性。
傳統(tǒng)的路徑規(guī)劃方法都需要提前建立環(huán)境模型,當(dāng)環(huán)境信息不能提前獲得或者問(wèn)題模型過(guò)于復(fù)雜時(shí),這些方法往往不能使用。目前Q學(xué)習(xí)路徑規(guī)劃方法多僅考慮二維水平動(dòng)作變化。
綜合考慮水下滑翔機(jī)的自身運(yùn)動(dòng)特性和滑翔過(guò)程水下環(huán)境的影響,水下滑翔機(jī)的路徑規(guī)劃需要滿足以下約束條件。
水下滑翔機(jī)在水中能滑翔的總航程有限,規(guī)劃出的從起點(diǎn)到終點(diǎn)的路徑總長(zhǎng)度不能超過(guò)水下滑翔機(jī)能滑翔的最大航程。
水中環(huán)境未知復(fù)雜,會(huì)有各種島礁、船舶等障礙物阻擋水下滑翔機(jī)的運(yùn)動(dòng),規(guī)劃路徑要規(guī)避障礙物威脅。
水下滑翔機(jī)在俯沖與上浮時(shí),要滿足自身運(yùn)動(dòng)的俯仰角、橫滾角、偏航角約束以及航行深度等參數(shù)約束。
Q 學(xué)習(xí)是一種典型的無(wú)模型強(qiáng)化學(xué)習(xí)方法,利用迭代方法直接優(yōu)化一個(gè)可迭代計(jì)算的Q函數(shù),也是一種增量式的在線學(xué)習(xí)[10-12],它迭代時(shí)采用狀態(tài)-動(dòng)作對(duì)的Q(S,a)函數(shù),其中S表示狀態(tài),a表示動(dòng)作。在Q學(xué)習(xí)方法中,智能體每一次學(xué)習(xí)迭代時(shí)需要考察每一個(gè)行為,確保學(xué)習(xí)過(guò)程收斂。
Q學(xué)習(xí)首先初始化Q(S,a)的值,基于當(dāng)前狀態(tài)St,使用動(dòng)作選擇策略確定下一步動(dòng)作at,然后環(huán)境立刻反饋一個(gè)獎(jiǎng)勵(lì)值rt與新的狀態(tài)值St+1,根據(jù)Q值更新函數(shù)更新對(duì)應(yīng)狀態(tài)St和動(dòng)作at的值,然后基于新?tīng)顟B(tài)值St+1進(jìn)行同樣的步驟[13-15]。當(dāng)新的狀態(tài)值為目標(biāo)狀態(tài)或者滿足結(jié)束條件時(shí),完成一次循環(huán)迭代,繼續(xù)從起始狀態(tài)開(kāi)始新的循環(huán)迭代,直到學(xué)習(xí)結(jié)束[16]。Q學(xué)習(xí)本質(zhì)上就是不斷地優(yōu)化可迭代計(jì)算的Q(S,a)函數(shù)值,直到其收斂到最優(yōu)值[17-19]。Q值更新函數(shù)如下:
(1)
其中:St是當(dāng)前狀態(tài),at是當(dāng)前動(dòng)作,rt是在St狀態(tài)下選擇動(dòng)作at得到的獎(jiǎng)勵(lì)值,St+1是執(zhí)行動(dòng)作at后的新?tīng)顟B(tài),0<α<1表示學(xué)習(xí)率,0<γ<1表示衰減率。
Q學(xué)習(xí)過(guò)程包括多次迭代循環(huán),每次迭代循環(huán)又包括多次動(dòng)作a的選擇與執(zhí)行,動(dòng)作a選擇與執(zhí)行步驟如下,假定當(dāng)前為第t次動(dòng)作選擇:
1)已知當(dāng)前狀態(tài)St;
2)根據(jù)動(dòng)作選擇策略,得到并執(zhí)行動(dòng)作at;
3)得到獎(jiǎng)勵(lì)值rt和新?tīng)顟B(tài)值St+1;
4)更新Q(St,at)的值;
5)進(jìn)入第t+1次動(dòng)作選擇。
基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃方法包括Q學(xué)習(xí)要素設(shè)計(jì)與算法流程兩部分。Q學(xué)習(xí)要素是實(shí)現(xiàn)基于Q學(xué)習(xí)水下滑翔機(jī)路徑規(guī)劃的基礎(chǔ)。算法流程是實(shí)現(xiàn)路徑規(guī)劃的方法與步驟,具體內(nèi)容在本節(jié)給出。
水下滑翔機(jī)Q學(xué)習(xí)要素主要由水下滑翔機(jī)狀態(tài)、動(dòng)作集合、獎(jiǎng)勵(lì)函數(shù)、動(dòng)作選擇策略、Q值表五部分組成,如圖1所示。水下滑翔機(jī)根據(jù)當(dāng)前狀態(tài)選擇要執(zhí)行動(dòng)作的依據(jù)是動(dòng)作選擇策略。具體Q學(xué)習(xí)要素的設(shè)計(jì)在下文給出。
圖1 Q學(xué)習(xí)要素表示
3.1.1 水下滑翔機(jī)狀態(tài)表示
在解決路徑規(guī)劃問(wèn)題中,對(duì)環(huán)境空間進(jìn)行柵格化表示是一種常用的方法。本文用二維柵格表示水下任務(wù)環(huán)境的水平面。對(duì)環(huán)境空間的柵格化表示是為了在仿真實(shí)驗(yàn)中模擬環(huán)境對(duì)水下滑翔機(jī)動(dòng)作的反饋,算法本身不需要提前建立環(huán)境模型。水下滑翔機(jī)在環(huán)境中的狀態(tài)用該時(shí)刻滑翔機(jī)在柵格中的坐標(biāo)點(diǎn)位置S(x,y)表示。
3.1.2 動(dòng)作集合表示
考慮到水下滑翔機(jī)在執(zhí)行一些特定任務(wù)時(shí)會(huì)提前給定俯仰角θ及深度值h,且航向角ψ的選擇范圍通常是幾個(gè)離散角度值。因此假設(shè)給定深度值為h,對(duì)m種典型的俯仰角{θ1,θ2,…,θm}分別設(shè)計(jì)n種典型的航向動(dòng)作選擇集{ψ1,ψ2,…,ψn},如圖2所示。這些動(dòng)作的步長(zhǎng)由公式(2)~(4)得到:
圖2 動(dòng)作選擇集合
(2)
(3)
(4)
其中:θ、ψ、h分別表示俯仰角、航向角、深度,x、y表示橫、縱坐標(biāo),step表示步長(zhǎng)大小。
3.1.3 獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)
Q學(xué)習(xí)的目的是得到從起始點(diǎn)到目標(biāo)點(diǎn)的最大累積獎(jiǎng)勵(lì),此獎(jiǎng)勵(lì)是環(huán)境反饋得到,直接影響到學(xué)習(xí)的速度和效果,因此設(shè)計(jì)合理高效的獎(jiǎng)勵(lì)函數(shù)非常重要。本文設(shè)計(jì)的獎(jiǎng)勵(lì)函數(shù)如下。
當(dāng)?shù)竭_(dá)目標(biāo)點(diǎn):
Reward=500
(5)
當(dāng)碰撞到任何一個(gè)障礙物:
Reward=-500
(6)
當(dāng)在自由區(qū)域運(yùn)動(dòng)時(shí):
Reward=Ω[(xAug-xTarget)2+(yAug-yTarget)2]
(7)
式中,xAug,yAug是水下滑翔機(jī)在柵格環(huán)境中當(dāng)前位置的橫、縱坐標(biāo);xTarget,yTarget是目標(biāo)點(diǎn)的橫、縱坐標(biāo);Ω為縮放系數(shù),用來(lái)調(diào)節(jié)自由區(qū)域運(yùn)動(dòng)時(shí)的獎(jiǎng)勵(lì)值范圍,使其獎(jiǎng)勵(lì)值的絕對(duì)值遠(yuǎn)小于到達(dá)目標(biāo)點(diǎn)或碰撞到障礙物時(shí)獎(jiǎng)勵(lì)值的絕對(duì)值,通常任務(wù)區(qū)域面積越大Ω取值越小。
3.1.4 動(dòng)作選擇策略
本文在ε-greedy方法基礎(chǔ)上結(jié)合水下滑翔機(jī)運(yùn)動(dòng)特點(diǎn),設(shè)計(jì)了一種新的動(dòng)作選擇策略。算法1給出了水下滑翔機(jī)Q學(xué)習(xí)動(dòng)作選擇策略算法流程。首先判斷俯仰角θ的大小,θ的選擇范圍為設(shè)定的m種典型俯仰角{θ1,θ2,…,θm}。根據(jù)俯仰角大小,選擇對(duì)應(yīng)的n種典型的航向動(dòng)作選擇集{ψi1,ψi2…ψin}。然后設(shè)定一個(gè)貪婪值ε,在每次選擇動(dòng)作時(shí)會(huì)隨機(jī)產(chǎn)生一個(gè)p,當(dāng)p小于ε時(shí)隨機(jī)選擇動(dòng)作值。當(dāng)p大于ε時(shí),則選擇動(dòng)作集合當(dāng)中Q值最大者作為此次選擇的動(dòng)作。
算法1:
IFθ=θi,i∈(1,m)
ai={ψi1,ψi2,…ψin}
End IF
Generate p randomly, p∈(0,1)
IFp>ε
a=argmax(Q(s,ai))
Else
a=Random(ai)
End IF
3.1.5 Q值表初始化方法
在Q學(xué)習(xí)的初始學(xué)習(xí)階段,系統(tǒng)對(duì)于環(huán)境狀態(tài)基本一無(wú)所知[20],對(duì)動(dòng)作的選擇都是隨機(jī)盲目的,因此使用先驗(yàn)知識(shí)初始化Q值表對(duì)提高Q學(xué)習(xí)算法的收斂速度非常重要。
在水下滑翔機(jī)的路徑規(guī)劃問(wèn)題中,本文使用柵格環(huán)境中坐標(biāo)點(diǎn)與目標(biāo)點(diǎn)的直線距離進(jìn)行Q值的初始化,即式(5)所示,距離目標(biāo)點(diǎn)越遠(yuǎn)的點(diǎn)初始Q值越小。這種根據(jù)與目標(biāo)點(diǎn)距離初始化Q值表的方法,使得水下滑翔機(jī)具有向目標(biāo)點(diǎn)移動(dòng)的趨勢(shì),減小了搜索訓(xùn)練的盲目性,提高了Q學(xué)習(xí)方法的學(xué)習(xí)速度。
(8)
基于3.1節(jié)水下滑翔機(jī)Q學(xué)習(xí)要素設(shè)計(jì),水下滑翔機(jī)的狀態(tài)由位置坐標(biāo)S(x,y)表示。給定深度值h,對(duì)典型的m種俯仰角{θ1,θ2,…,θm}分別設(shè)計(jì)n種典型的航向動(dòng)作選擇集{ψ1,ψ2,…,ψn},當(dāng)水下滑翔機(jī)碰到障礙物時(shí)獎(jiǎng)勵(lì)函數(shù)值為-500,到達(dá)目標(biāo)點(diǎn)時(shí)獎(jiǎng)勵(lì)函數(shù)值為500,在自由區(qū)域時(shí)獎(jiǎng)勵(lì)函數(shù)如公式(7)所示。算法1給出了動(dòng)作選擇策略。按照如圖3所示具體流程圖,實(shí)現(xiàn)基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃。
具體步驟如下。
步驟1:給定水下滑翔機(jī)初始位置S,給定深度h,俯仰角θ=θ1,航向動(dòng)作集合{ψ1,ψ2,…,ψn}
步驟2:根據(jù)Q值表初始化方法,給Q值表賦初值;
步驟3:根據(jù)動(dòng)作選擇策略,從俯仰角對(duì)應(yīng)的動(dòng)作選擇集中選擇動(dòng)作a;
步驟4:根據(jù)3.1.3節(jié)給出的獎(jiǎng)勵(lì)函數(shù)得到立即的獎(jiǎng)勵(lì)值r和執(zhí)行動(dòng)作a后的新的滑翔機(jī)位置S’;
步驟5:更新對(duì)應(yīng)于狀態(tài)S與動(dòng)作a的Q值:
Q(S,a)←(1-α)Q(S,a)+α[r+γmaxQ(S′,a)]
(9)
步驟6:判斷水下滑翔機(jī)是否碰到障礙物,是則結(jié)束此輪學(xué)習(xí),轉(zhuǎn)到步驟1,否則繼續(xù)進(jìn)行下一步。
步驟7:判斷水下滑翔機(jī)是否到達(dá)目標(biāo)區(qū)域,未到達(dá)則轉(zhuǎn)到步驟3 ,選擇下一動(dòng)作。若已到達(dá)目標(biāo)區(qū)域,繼續(xù)進(jìn)行下一步。
步驟8:判斷是否完成m種不同俯仰角設(shè)定下的路徑規(guī)劃,是則輸出m條路徑中最短路徑的規(guī)劃路徑點(diǎn)。否則重新給定俯仰角,進(jìn)行新一輪學(xué)習(xí)。
圖3 基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃方法流程圖
水下滑翔機(jī)路徑規(guī)劃區(qū)域?yàn)?2 km×12 km的二維柵格區(qū)域,表示水下任務(wù)環(huán)境,設(shè)置柵格粒度大小 Ngrid = 1 km。假設(shè)水下滑翔機(jī)的單周期最小滑翔距離為0.3 km,滑翔深度為0.2 km。在圓形障礙物環(huán)境、矩形障礙物環(huán)境與復(fù)雜障礙物環(huán)境3種規(guī)劃區(qū)域中進(jìn)行驗(yàn)證。在Python中建立水下滑翔機(jī)路徑規(guī)劃的初始環(huán)境空間,圓形障礙物、矩形障礙物與復(fù)雜障礙物信息在下文給出。
圓形障礙物環(huán)境中,起點(diǎn)與終點(diǎn)坐標(biāo)分別為(0.5,0.5)km和(10,10)km,4個(gè)圓形障礙物半徑均為0.6 km,幾何中心坐標(biāo)分別為(1,3)km、(5,4)km、(5.5,6.5)km、(8.5,7.5)km;矩形障礙物環(huán)境中,起點(diǎn)與終點(diǎn)坐標(biāo)分別為(0.5,0.5)km和(10,9)km,3個(gè)矩形障礙物邊長(zhǎng)均為1.5 km,幾何中心坐標(biāo)分別為(1,3)km、(4,1)km、(5.75,5.75)km;復(fù)雜障礙物環(huán)境中,起點(diǎn)與終點(diǎn)坐標(biāo)分別為(0.5,0.5)km和(9.6,8.5)km,共有6個(gè)障礙物,其中1個(gè)圓形障礙物半徑為1 km,其余5個(gè)障礙物是由邊長(zhǎng)為1 km的矩形組合而成,幾何中心坐標(biāo)分別為(1,5)km、(2,10)km、(4,1)km、(5.5,4.5)km、(5.5,8.5)km、(9.5,3.5)km。
基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃方法,根據(jù)滑翔機(jī)的當(dāng)前位置坐標(biāo)S,在Q值表中找出對(duì)應(yīng)當(dāng)前位置坐標(biāo)的最大Q值,進(jìn)而執(zhí)行此Q值所對(duì)應(yīng)的動(dòng)作a,然后得到一個(gè)立即的環(huán)境獎(jiǎng)勵(lì)值R與新的位置坐標(biāo)S’,根據(jù)獎(jiǎng)勵(lì)值R更新對(duì)應(yīng)于狀態(tài)S與動(dòng)作a的Q值, Q值更新的方法如3.1.3節(jié)公式(5)(6)(7)所示。仿真參數(shù)設(shè)定為:α=0.1,γ=0.9,ε=0.1,Ω=-0.000 1,學(xué)習(xí)最大次數(shù)為3 000次。
4.2.1 Q學(xué)習(xí)水下滑翔機(jī)路徑規(guī)劃方法驗(yàn)證
水下滑翔機(jī)在特定任務(wù)中的路徑規(guī)劃需要提前設(shè)定俯仰角,俯仰角可選范圍并非連續(xù)值,而是根據(jù)水下滑翔機(jī)自身性能、任務(wù)參數(shù)以及海洋狀況確定的幾個(gè)典型離散數(shù)值。因此有必要對(duì)多種俯仰角下所規(guī)劃路徑進(jìn)行比較,以保證規(guī)劃的路徑最短。
給定深度值h=0.2 km。設(shè)俯仰角個(gè)數(shù)m=3,取值為{θ1=20°,θ2=30°,θ3=40°}。設(shè)航向動(dòng)作選擇集包含動(dòng)作個(gè)數(shù)n=8,動(dòng)作選擇集合{0,1,2,3,4,5,6,7}表示當(dāng)俯仰角為時(shí),航向角{315°,270°,225°,180°,135°,90°,45°,360°}分別對(duì)應(yīng)的動(dòng)作。動(dòng)作選擇集合{8,9,10,11,12,13,14,15}表示當(dāng)俯仰角時(shí),航向角{315°,270°,225°,180°,135°,90°,45°,360°}分別對(duì)應(yīng)的動(dòng)作。動(dòng)作選擇集合{16,17,18,19,20,21,22,23}表示當(dāng)俯仰角時(shí),航向角{315°,270°,225°,180°,135°,90°,45°,360°}分別對(duì)應(yīng)的動(dòng)作。針對(duì)20°、30°、40°3種典型俯仰角取值,使用3.1.2中提出的動(dòng)作集合,在復(fù)雜障礙物環(huán)境下分別規(guī)劃。圖4為3種俯仰角設(shè)定下的路徑規(guī)劃結(jié)果圖,在不同的俯仰角設(shè)定下,均能規(guī)劃出避免碰撞的安全路徑。
圖4 不同俯仰角設(shè)定下的路徑規(guī)劃結(jié)果
圖5為3種俯仰角設(shè)定下,每一輪學(xué)習(xí)所規(guī)劃出的從起點(diǎn)到目標(biāo)點(diǎn)的路徑長(zhǎng)度變化。在俯仰角θ=20°的路徑規(guī)劃中,經(jīng)過(guò)400輪學(xué)習(xí)可以尋得最短路徑,路徑長(zhǎng)度為14.282 km。在俯仰角θ=30°的路徑規(guī)劃中,經(jīng)過(guò)700輪學(xué)習(xí)可以尋得最短路徑,路徑長(zhǎng)度為15.218 km。在俯仰角θ=40°的路徑規(guī)劃中,經(jīng)過(guò)2 300輪學(xué)習(xí)可以尋得最短路徑,路徑長(zhǎng)度為15.241 km。由于基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃方法依靠不斷探索學(xué)習(xí)來(lái)尋求最優(yōu)解,因此在尋找最短路徑后會(huì)繼續(xù)學(xué)習(xí),在圖5中體現(xiàn)為最短路徑與非最短路徑接替出現(xiàn),形成震蕩。
圖5 不同俯仰角設(shè)定下的路徑長(zhǎng)度變化
表1記錄了3種俯仰角設(shè)定下,最終規(guī)劃路徑的路徑點(diǎn)個(gè)數(shù)、最短路徑長(zhǎng)度、與理論最短距離之差。理論最短距離指起點(diǎn)與目標(biāo)點(diǎn)之間的直線距離。由表中數(shù)據(jù)知,在復(fù)雜障礙物環(huán)境中,設(shè)定俯仰角θ為20°時(shí),相較于30°、40°,可以規(guī)劃出長(zhǎng)度最短、與理論最短距離差最小的路徑。此時(shí)路徑長(zhǎng)度14.282 km、與理論最短距離差為2.165 km。
表1 不同俯仰角設(shè)定下的路徑規(guī)劃結(jié)果
4.2.2 不同障礙物環(huán)境下的路徑規(guī)劃
由于水下環(huán)境復(fù)雜多樣,針對(duì)圓形障礙物與矩形障礙物環(huán)境分別給出了3種不同場(chǎng)景,驗(yàn)證基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃方法的完備性。圖6是水下滑翔機(jī)在圓形障礙物初始環(huán)境中的路徑規(guī)劃仿真,圖6中a)、b)、c)分別表示圓形動(dòng)態(tài)障礙物幾何中心在(5,4)km、(3,3)km,(7.5,6.5)km三個(gè)不同位置時(shí)的規(guī)劃結(jié)果。圖7是矩形障礙物初始環(huán)境中的路徑規(guī)劃仿真,圖7中a)、b)、c)分別表示矩形動(dòng)態(tài)障礙物幾何中心在(5.75,5.75)km、(8.55,6.75)km,(8.55,5.75)km三個(gè)不同位置時(shí)的規(guī)劃結(jié)果。
圖6 圓形障礙物環(huán)境下路徑規(guī)劃結(jié)果
圖7 矩形障礙物環(huán)境下路徑規(guī)劃結(jié)果
表2與表3記錄了圓形與矩形兩種障礙物環(huán)境中,不同位置動(dòng)態(tài)障礙物下的規(guī)劃路徑的路徑點(diǎn)個(gè)數(shù)、最短路徑長(zhǎng)度、與理論最短距離之差。理論最短距離指起點(diǎn)與目標(biāo)點(diǎn)之間的直線距離。
表2 圓形障礙物環(huán)境路徑規(guī)劃結(jié)果
表3 矩形障礙物環(huán)境路徑規(guī)劃結(jié)果
由表2數(shù)據(jù)知,在圓形障礙物環(huán)境中,當(dāng)動(dòng)態(tài)障礙物位置在(5,4)km時(shí),規(guī)劃最短路徑長(zhǎng)度為14.927 km,與理論最短距離差為1.492 km;當(dāng)動(dòng)態(tài)障礙物位置在(3,3)km時(shí),規(guī)劃最短路徑長(zhǎng)度為14.618 km,與理論最短距離差為1.494 km;當(dāng)動(dòng)態(tài)障礙物位置在(7.5,6.5)km時(shí),規(guī)劃最短路徑長(zhǎng)度為14.164 km,與理論最短距離差為1.139 km。在圓形障礙物環(huán)境中,以上3種情景中,當(dāng)動(dòng)態(tài)障礙物位置在(7.5,6.5)km時(shí)所規(guī)劃出的路徑長(zhǎng)度與理論最短距離差最小。
由表3數(shù)據(jù)知,在矩形障礙物環(huán)境中,當(dāng)動(dòng)態(tài)障礙物位置在(5.75,5.75)km時(shí),規(guī)劃最短路徑長(zhǎng)度為14.143 km,與理論最短距離差為1.395 km;當(dāng)動(dòng)態(tài)障礙物位置在(8.55,6.75)km時(shí),規(guī)劃最短路徑長(zhǎng)度為13.118 km,與理論最短距離差為0.381 km;當(dāng)動(dòng)態(tài)障礙物位置在(8.55,5.75)km時(shí),規(guī)劃最短路徑長(zhǎng)度為13.172 km,與理論最短距離差為0.263 km。在矩形障礙物環(huán)境中,以上3種情景中,當(dāng)動(dòng)態(tài)障礙物位置在(8.55,5.75)km時(shí)所規(guī)劃出的路徑長(zhǎng)度與理論最短距離差最小。
仿真實(shí)驗(yàn)數(shù)據(jù)表明: 基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃方法能有效解決滑翔機(jī)在不同環(huán)境下路徑規(guī)劃問(wèn)題且效率較高。能夠在多個(gè)俯仰選擇下規(guī)劃出最優(yōu)路徑,路徑長(zhǎng)度與理論最短路徑長(zhǎng)度差距較小。當(dāng)環(huán)境發(fā)生變化時(shí),依然能得到最優(yōu)路徑。
本文提出基于Q學(xué)習(xí)的水下滑翔機(jī)路徑規(guī)劃方法,不需要提前得知環(huán)境信息,而是通過(guò)環(huán)境反饋的獎(jiǎng)勵(lì)值,使水下滑翔機(jī)學(xué)習(xí)對(duì)障礙物的有效規(guī)避,得到較短路徑。仿真實(shí)驗(yàn)數(shù)據(jù)表明,本文提出的方法能滿足水下滑翔機(jī)在復(fù)雜環(huán)境中的路徑規(guī)劃任務(wù)需求,并且在不同的環(huán)境條件下能夠進(jìn)行遷移,具有良好的通用性。