国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于深度強(qiáng)化學(xué)習(xí)的智能船舶航跡跟蹤控制

2021-03-08 02:58:40祝亢黃珍王緒明
中國(guó)艦船研究 2021年1期
關(guān)鍵詞:航向航跡船舶

???,黃珍*,王緒明

1 武漢理工大學(xué) 自動(dòng)化學(xué)院,湖北 武漢 430070

2 武漢理工大學(xué) 智能交通系統(tǒng)研究中心,湖北 武漢 430063

0 引 言

目前,國(guó)內(nèi)外對(duì)運(yùn)載工具的研究正朝著智能化、無(wú)人化方向發(fā)展,智能船舶技術(shù)受到全球造船界與航運(yùn)界的廣泛關(guān)注。其以實(shí)現(xiàn)船舶航行環(huán)境的智能化、自主化發(fā)展為目標(biāo),深度融合傳統(tǒng)船舶設(shè)計(jì)與制造技術(shù)以及現(xiàn)代信息通信與人工智能技術(shù),包含智能航行、智能船用設(shè)備、智能船舶測(cè)試等多方面的研究[1]。其中,智能航行技術(shù)一直是保障船舶順利完成貨物運(yùn)輸、通信救助等任務(wù)的重要基礎(chǔ)。要使船舶在面對(duì)多種復(fù)雜水域干擾的情況下也能遵守正常的通航秩序,安全地執(zhí)行任務(wù)且保證完成效果,采取有效的控制手段精確進(jìn)行航跡跟蹤就顯得尤為重要。

針對(duì)航跡跟蹤的研究任務(wù)可以分為制導(dǎo)和控制2 個(gè)方面。在制導(dǎo)方面,常由視線(xiàn)(line-of-sight,LOS)算法將路徑跟蹤問(wèn)題轉(zhuǎn)換為方便處理的動(dòng)態(tài)誤差控制問(wèn)題;在控制方面,基于船舶的復(fù)雜非線(xiàn)性系統(tǒng),??紤]使用PID 等無(wú)模型控制方法,或采用模型線(xiàn)性化的方法來(lái)解決非線(xiàn)性模型在計(jì)算速率方面存在的問(wèn)題。但對(duì)于復(fù)雜的環(huán)境,傳統(tǒng)PID 控制器不僅參數(shù)復(fù)雜,還不具備自適應(yīng)學(xué)習(xí)能力。而最優(yōu)控制、反饋線(xiàn)性化一類(lèi)的控制算法通常需要建立精確的模型才能獲得較高的控制精度?;?刂齐m然對(duì)模型精度要求不高,但其抖振問(wèn)題難以消除[2]。即使存在一些自適應(yīng)參數(shù)調(diào)節(jié)方法,如通過(guò)估計(jì)系統(tǒng)輸出實(shí)現(xiàn)PID 參數(shù)自整定的自適應(yīng)PID 控制方法,也會(huì)由于模型的不確定性和外界擾動(dòng),存在系統(tǒng)輸出與真實(shí)輸出的偏差[3],又或者存在參數(shù)尋優(yōu)時(shí)間過(guò)長(zhǎng)的問(wèn)題而影響控制的實(shí)時(shí)性。對(duì)于與模糊邏輯相結(jié)合的響應(yīng)速度快、實(shí)時(shí)性好的PID 自適應(yīng)控制器[4],其控制精度依賴(lài)于復(fù)雜的模糊規(guī)則庫(kù),致使整體計(jì)算復(fù)雜。

考慮到船舶的復(fù)雜非線(xiàn)性系統(tǒng)模型,和保障航跡跟蹤控制的實(shí)時(shí)性時(shí)產(chǎn)生的大量參數(shù)整定和復(fù)雜計(jì)算等問(wèn)題,本文將采用深度強(qiáng)化學(xué)習(xí)算法來(lái)研究智能船舶的軌跡跟蹤問(wèn)題。深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)是深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)的結(jié)合,其通過(guò)強(qiáng)化學(xué)習(xí)與環(huán)境探索得到優(yōu)化的目標(biāo),而深度學(xué)習(xí)則給出運(yùn)行的機(jī)制用于表征問(wèn)題和解決問(wèn)題。深度強(qiáng)化學(xué)習(xí)算法不依賴(lài)動(dòng)力學(xué)模型和環(huán)境模型,不需要進(jìn)行大量的算法計(jì)算,還具備自學(xué)習(xí)能力。Magalh?es 等[5]基于強(qiáng)化學(xué)習(xí)算法,使用Q-learning 設(shè)計(jì)了一種監(jiān)督開(kāi)關(guān)器并應(yīng)用到了無(wú)人水面艇,它能智能地切換控制器從而使無(wú)人艇的行駛狀態(tài)符合多種環(huán)境與機(jī)動(dòng)要求。2015 年,Mnih 等[6]為解決復(fù)雜強(qiáng)化學(xué)習(xí)的穩(wěn)定性問(wèn)題,將強(qiáng)化學(xué)習(xí)與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出了深度Q 學(xué)習(xí)(deep Q network,DQN)算法,該算法的提出代表了深度強(qiáng)化學(xué)習(xí)時(shí)代的到來(lái)。之后,在欠驅(qū)動(dòng)無(wú)人駕駛船舶的航行避碰中也進(jìn)行了相關(guān)應(yīng)用[7]。

面對(duì)存在的大量參數(shù)整定、復(fù)雜算法計(jì)算等問(wèn)題,為實(shí)現(xiàn)船舶航跡跟蹤的精準(zhǔn)控制,本文擬設(shè)計(jì)一種基于深度確定性策略梯度算法(deep deterministic policy gradient,DDPG)的深度強(qiáng)化學(xué)習(xí)航跡跟蹤控制器,在LOS 算法制導(dǎo)的基礎(chǔ)上,對(duì)船舶航向進(jìn)行控制以達(dá)到航跡跟蹤效果。然后,根據(jù)實(shí)際船舶的操縱特性以及控制要求,將船舶路徑跟蹤問(wèn)題建模成馬爾可夫決策過(guò)程,設(shè)計(jì)相應(yīng)的狀態(tài)空間、動(dòng)作空間與獎(jiǎng)勵(lì)函數(shù),并采用離線(xiàn)學(xué)習(xí)方法對(duì)控制器進(jìn)行學(xué)習(xí)訓(xùn)練。最后,通過(guò)仿真實(shí)驗(yàn)驗(yàn)證深度強(qiáng)化學(xué)習(xí)航跡控制器算法的有效性,并與BP-PID 控制器算法的控制效果進(jìn)行對(duì)比分析。

1 智能船舶航跡跟蹤控制系統(tǒng)總體設(shè)計(jì)

1.1 LOS 算法制導(dǎo)

航跡跟蹤控制系統(tǒng)包括制導(dǎo)和控制2 個(gè)部分,其中制導(dǎo)部分一般是根據(jù)航跡信息和船舶當(dāng)前狀態(tài)確定所需的設(shè)定航向角值來(lái)進(jìn)行工作。本文使用的LOS 算法已被廣泛運(yùn)用于路徑控制。LOS算法可以在模型參數(shù)不確定的情況下,以及在復(fù)雜的操縱環(huán)境中與控制器結(jié)合,從而實(shí)現(xiàn)對(duì)模型的跟蹤控制。視線(xiàn)法的導(dǎo)航原理是基于可變的半徑與路徑點(diǎn)附近生成的最小圓來(lái)產(chǎn)生期望航向,即LOS 角。經(jīng)過(guò)適當(dāng)?shù)目刂疲巩?dāng)前船舶的航向與LOS 角一致,即能達(dá)到航跡跟蹤的效果[8]。

LOS 算法示意圖如圖1 所示。假設(shè)當(dāng)前跟蹤路徑點(diǎn)為Pk+1(xk+1,yk+1), 上一路徑點(diǎn)為Pk(xk,yk),以船舶所在位置Ps(xs,ys)為 圓心,選擇半徑RLos與 路徑PkPk+1相交,選取與Pk+1相 近的點(diǎn)PLos(xLos,yLos)作為L(zhǎng)OS點(diǎn),當(dāng)前船舶坐標(biāo)到LOS 點(diǎn)的方向矢量與x0的夾角 ψLos則 為需要跟蹤的LOS 角。圖中:d為當(dāng)前船舶至跟蹤路徑的最短距離; ψ為當(dāng)前航向角。

其中,半徑RLos的計(jì)算公式如式(1)和式(2)所示,為避免Rmin的計(jì)算出現(xiàn)零值,在最終的計(jì)算中加入了2 倍的船長(zhǎng)Lpp來(lái)進(jìn)行處理[9]。

式中,所計(jì)算的Rmin即為當(dāng)前時(shí)刻t的航跡誤差ε,也即圖1 中的d。

圖1 LOS 導(dǎo)航原理圖Fig. 1 Schematic diagram of LOS algorithm

船舶在沿著路徑進(jìn)行跟蹤時(shí),若進(jìn)入下一個(gè)航向點(diǎn)的一定范圍內(nèi),即以Pk+2(xk+2,yk+2)為圓心、RAC為半徑的接受圓內(nèi),則更新當(dāng)前航向點(diǎn)為下一航向點(diǎn),半徑RAC一般選取為2 倍船長(zhǎng)。

1.2 基于強(qiáng)化學(xué)習(xí)的控制過(guò)程設(shè)計(jì)

強(qiáng)化學(xué)習(xí)(reinforcement learning,RL)與深度學(xué)習(xí)同屬機(jī)器學(xué)習(xí)范疇,是機(jī)器學(xué)習(xí)的一個(gè)重要分支,主要用來(lái)解決連續(xù)決策的問(wèn)題,是馬爾可夫決策過(guò)程(Markov decision processes,MDP)問(wèn)題[10]的一類(lèi)重要解決方法。

此類(lèi)問(wèn)題均可模型化為MDP 問(wèn)題,簡(jiǎn)單表示為四元組 <S,A,P,R>。 其中,S為所有狀態(tài)值的集合,即狀態(tài)空間;A為動(dòng)作值集合的動(dòng)作空間;P為狀態(tài)轉(zhuǎn)移概率矩陣,即在t時(shí)刻狀態(tài)為St=s的情況下選擇動(dòng)作值為At=a, 則t+1時(shí)刻產(chǎn)生狀態(tài)為s1的 概 率Pass1=P[St+1=s1|St=s,At=a];R=r(s,a)為回報(bào)獎(jiǎng)勵(lì)函數(shù),用于評(píng)價(jià)在s狀態(tài)下選取動(dòng)作值a的好壞。航跡跟蹤控制系統(tǒng)中的控制部分用MDP 模型表示如圖2 所示。

圖2 船舶控制的MDP 模型Fig. 2 MDP model of ship control

如圖2 所示,船舶智能體直接與當(dāng)前控制環(huán)境進(jìn)行交互而且不需要提前獲取任何信息。在訓(xùn)練過(guò)程中,船舶采取動(dòng)作值at與環(huán)境進(jìn)行交互更新自己的狀態(tài)st→st+1, 并獲得相應(yīng)的獎(jiǎng)勵(lì)rt+1,之后,繼續(xù)采取下一動(dòng)作與環(huán)境交互。在此過(guò)程中,會(huì)產(chǎn)生大量的數(shù)據(jù),利用這些數(shù)據(jù)學(xué)習(xí)優(yōu)化自身選擇動(dòng)作的策略policy π。簡(jiǎn)單而言,這是一個(gè)循環(huán)迭代的過(guò)程。在強(qiáng)化學(xué)習(xí)中,訓(xùn)練的目標(biāo)是找到一個(gè)最佳的控制策略 policy π?,以使累積回報(bào)值Rt達(dá) 到最大[11]。在下面的公式中, γ為折扣系數(shù),用來(lái)衡量未來(lái)回報(bào)在當(dāng)前時(shí)期的價(jià)值比例,設(shè)定 γ ∈[0,1]。

根據(jù)值函數(shù)和上述最佳控制策略policy π?的定義,最佳policy π?總是滿(mǎn)足以下條件:

1.3 航跡跟蹤問(wèn)題馬爾可夫建模

從以上描述可以看出,在基于強(qiáng)化學(xué)習(xí)的控制設(shè)計(jì)中,馬爾可夫建模過(guò)程的組件設(shè)計(jì)是最為關(guān)鍵的過(guò)程,狀態(tài)空間、動(dòng)作空間和獎(jiǎng)勵(lì)的正確性對(duì)算法性能和收斂速度的影響很大。所以針對(duì)智能船舶的軌跡跟蹤問(wèn)題,對(duì)其進(jìn)行馬爾可夫建模設(shè)計(jì)。

1) 狀態(tài)空間設(shè)計(jì)。

根據(jù)制導(dǎo)采用的LOS 算法,要求當(dāng)前航向角根據(jù)LOS 角進(jìn)行調(diào)節(jié)以達(dá)到跟蹤效果。所以在選取狀態(tài)時(shí),需考慮LOS 算法中的輸出參數(shù),包括目標(biāo)航向 ψLOS與實(shí)際航向 ψ 的差值e、航跡誤差ε,以及與航跡點(diǎn)距離誤差 εd。

對(duì)于船舶模型,每個(gè)時(shí)刻都可以獲得當(dāng)前船舶的縱蕩速度u、 橫蕩速度v、艏轉(zhuǎn)向速度r和舵角δ。為使強(qiáng)化學(xué)習(xí)能實(shí)現(xiàn)高精度跟蹤效果,快速適應(yīng)多種環(huán)境的變換,除了選取當(dāng)前時(shí)刻的狀態(tài)值外,還加入了上一時(shí)刻的狀態(tài)值進(jìn)行比較,以及當(dāng)前航向誤差與上一時(shí)刻航向誤差的差值e(k?1),使當(dāng)前狀態(tài)能夠更好地表示船舶是否在往誤差變小的方向運(yùn)行。最終,當(dāng)前時(shí)刻t的狀態(tài)空間可設(shè)計(jì)為

2) 動(dòng)作空間設(shè)計(jì)。

針對(duì)航跡跟蹤任務(wù)特點(diǎn),以及LOS 制導(dǎo)算法的原理,本文將重點(diǎn)研究對(duì)船舶航向,即舵角的控制,不考慮對(duì)船速與槳速的控制。動(dòng)作空間只有舵令一個(gè)動(dòng)作值,即δ,其值的選取需要根據(jù)實(shí)際船舶的控制要求進(jìn)行約束,設(shè)定為在(?35°,35°)以?xún)?nèi),最大舵速為15.8 (°)/s。

3) 獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)。

本文期望航向角越靠近LOS 角獎(jiǎng)勵(lì)值越高,與目標(biāo)航跡的誤差越小獎(jiǎng)勵(lì)值越高。因此,設(shè)計(jì)的獎(jiǎng)勵(lì)函數(shù)為普遍形式,即分段函數(shù):

式中,e(k?1)為當(dāng)前航向誤差與上一時(shí)刻航向誤差的差值。當(dāng)差值大于 0.1 rad時(shí)選擇負(fù)值獎(jiǎng)勵(lì),也可稱(chēng)之為懲罰值,是希望訓(xùn)練網(wǎng)絡(luò)能盡快改變當(dāng)前不佳的狀態(tài)。將負(fù)值的選取與另一分段的0獎(jiǎng)勵(lì)值做明顯對(duì)比,使其訓(xùn)練學(xué)習(xí)后可以更加快速地選擇獎(jiǎng)勵(lì)值高的動(dòng)作,從而達(dá)到最優(yōu)效果。

1.4 控制系統(tǒng)總體方案

基于強(qiáng)化學(xué)習(xí)的智能船舶航跡控制系統(tǒng)總體框架如圖3 所示。LOS 算法根據(jù)船舶當(dāng)前位置計(jì)算得到需要的航向以及航跡誤差,在與船舶的狀態(tài)信息整合成上述所示狀態(tài)向量st后輸入進(jìn)航跡控制器中,然后根據(jù)強(qiáng)化學(xué)習(xí)算法輸出當(dāng)前最優(yōu)動(dòng)作值at給船舶執(zhí)行,同時(shí)通過(guò)獎(jiǎng)勵(lì)函數(shù)rt計(jì)算獲得相應(yīng)的獎(jiǎng)勵(lì)來(lái)進(jìn)行自身參數(shù)迭代,以使航跡控制器具備自學(xué)習(xí)能力。

在將控制器投入實(shí)時(shí)控制之前,首先需要對(duì)控制器進(jìn)行離線(xiàn)訓(xùn)練。設(shè)定規(guī)定次數(shù)的訓(xùn)練后,將獲得的使累計(jì)回報(bào)值達(dá)到最大的網(wǎng)絡(luò)參數(shù)進(jìn)行存儲(chǔ)整合,由此得到強(qiáng)化學(xué)習(xí)控制器,并應(yīng)用于航跡跟蹤的實(shí)時(shí)控制系統(tǒng)。

圖3 基于強(qiáng)化學(xué)習(xí)的智能船舶軌跡跟蹤控制框圖Fig. 3 Block diagram of intelligent ship tracking control based on RL

要解決強(qiáng)化學(xué)習(xí)問(wèn)題,目前有許多的算法、機(jī)制和網(wǎng)絡(luò)結(jié)構(gòu)可供選擇,但這些方法都缺少可擴(kuò)展的能力,并且僅限于處理低維問(wèn)題。為此,Mnih 等[6]提出了一種可在強(qiáng)化學(xué)習(xí)問(wèn)題中使用大規(guī)模神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法——DQN 算法,該算法成功結(jié)合了深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí),使強(qiáng)化學(xué)習(xí)也可以擴(kuò)展處理一些高維狀態(tài)、動(dòng)作空間下的決策問(wèn)題[12]。DQN 算法可解決因強(qiáng)化學(xué)習(xí)過(guò)程與神經(jīng)網(wǎng)絡(luò)逼近器對(duì)值函數(shù)逼近的訓(xùn)練相互干擾,而導(dǎo)致學(xué)習(xí)結(jié)果不穩(wěn)定甚至是產(chǎn)生分歧的問(wèn)題[13],是深度強(qiáng)化學(xué)習(xí)領(lǐng)域的開(kāi)創(chuàng)者。

DQN 算法顯著提高了復(fù)雜強(qiáng)化學(xué)習(xí)問(wèn)題的穩(wěn)定性和性能,但因其使用的是離散的動(dòng)作空間,故需要對(duì)輸出的動(dòng)作進(jìn)行離散化,且只能從有限的動(dòng)作值中選擇最佳動(dòng)作。對(duì)于船舶的軌跡跟蹤問(wèn)題,如果候選動(dòng)作數(shù)量太少,就很難對(duì)智能體進(jìn)行精確控制。為使算法滿(mǎn)足船舶的操縱特性與要求,本文選擇了一種適用于連續(xù)動(dòng)作空間的深度強(qiáng)化學(xué)習(xí)算法,即基于DDPG 的算法[14]來(lái)對(duì)智能船舶航跡跟蹤控制器進(jìn)行設(shè)計(jì),該算法不僅可以在連續(xù)動(dòng)作空間上進(jìn)行操作,還可以高效精準(zhǔn)地處理大量數(shù)據(jù)。

2 基于DDPG 算法的控制器設(shè)計(jì)

2.1 DDPG 算法原理

DDPG 是Lillicrap 等[14]將DQN 算法應(yīng)用于連續(xù)動(dòng)作中而提出的一種基于確定性策略梯度的Actor-Critic 框架無(wú)模型算法。DDPG 的基本框架如圖4 所示。

圖4 DDPG 基本框架Fig. 4 Block diagram of DDPG

所謂經(jīng)驗(yàn)池回放機(jī)制,即在每個(gè)時(shí)間點(diǎn)都存儲(chǔ)當(dāng)前狀態(tài)、動(dòng)作等信息作為智能體的經(jīng)驗(yàn)et=(st,at,rt,st+1), 以此形成回放記憶序列D={e1,···,eN}。在訓(xùn)練網(wǎng)絡(luò)時(shí),從中隨機(jī)提取mini batch 數(shù)量的經(jīng)驗(yàn)數(shù)據(jù)作為訓(xùn)練樣本,但重復(fù)使用歷史數(shù)據(jù)的操作會(huì)增加數(shù)據(jù)的使用率,也打亂了原始數(shù)據(jù)的順序,會(huì)降低數(shù)據(jù)之間的關(guān)聯(lián)性。而目標(biāo)網(wǎng)絡(luò)則建立了2 個(gè)結(jié)構(gòu)一樣的神經(jīng)網(wǎng)絡(luò)——用于更新神經(jīng)網(wǎng)絡(luò)參數(shù)的主網(wǎng)絡(luò)和用于產(chǎn)生優(yōu)化目標(biāo)值的目標(biāo)網(wǎng)絡(luò),初始時(shí),將主網(wǎng)絡(luò)參數(shù)賦予給目標(biāo)網(wǎng)絡(luò),然后主網(wǎng)絡(luò)參數(shù)不斷更新,目標(biāo)網(wǎng)絡(luò)不變,經(jīng)過(guò)一段時(shí)間后,再將主網(wǎng)絡(luò)的參數(shù)賦予給目標(biāo)網(wǎng)絡(luò)。此循環(huán)操作可使優(yōu)化目標(biāo)值在一段時(shí)間內(nèi)穩(wěn)定不變,從而使得算法性能更加穩(wěn)定。

式中, θπ′和 θQ′分別為目標(biāo)策略網(wǎng)絡(luò)和目標(biāo)值函數(shù)網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)。其中,目標(biāo)網(wǎng)絡(luò)的更新方法與DQN 算法中的不同,在DDPG 算法中,Actor-Critic網(wǎng)絡(luò)各自的目標(biāo)網(wǎng)絡(luò)參數(shù)是通過(guò)緩慢的變換方式更新,也叫軟更新。以此方式進(jìn)一步增加學(xué)習(xí)過(guò)程的穩(wěn)定性:

式中, τ為學(xué)習(xí)率。

定義最小化損失函數(shù)來(lái)更新Critic 網(wǎng)絡(luò)參數(shù),其中,yi為當(dāng)前時(shí)刻狀態(tài)動(dòng)作估計(jì)值函數(shù)與目標(biāo)網(wǎng)絡(luò)得到的目標(biāo)期望值間的誤差:

2.2 算法實(shí)現(xiàn)步驟

初始化Actor-Critic 網(wǎng)絡(luò)的參數(shù),將當(dāng)前網(wǎng)絡(luò)的參數(shù)賦予對(duì)應(yīng)的目標(biāo)網(wǎng)絡(luò);設(shè)置經(jīng)驗(yàn)池容量為30 000 個(gè),軟更新學(xué)習(xí)率為0.01,累計(jì)折扣系數(shù)設(shè)定為0.9,初始化經(jīng)驗(yàn)池。訓(xùn)練的每回合步驟如下:

1) 初始化船舶環(huán)境;

2) 重復(fù)以下步驟直至到達(dá)設(shè)置的最大步長(zhǎng);

3) 在主網(wǎng)絡(luò)中,Actor 網(wǎng)絡(luò)獲取此刻船舶的狀態(tài)信息st,并根據(jù)當(dāng)前的策略選取動(dòng)作舵令δt給船舶執(zhí)行,即 δt=π(st|θπ);

4) 船舶執(zhí)行當(dāng)前舵令后輸出獎(jiǎng)勵(lì)rt和下一個(gè)狀態(tài)st+1,Actor 網(wǎng)絡(luò)再次獲取該狀態(tài)信息并選取下一舵令 δt+1;

5) 將此過(guò)程中產(chǎn)生的數(shù)據(jù) (st,δt,rt,st+1)存儲(chǔ)在經(jīng)驗(yàn)池中,以作為網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)的數(shù)據(jù)集。當(dāng)經(jīng)驗(yàn)池存儲(chǔ)滿(mǎn)后,再?gòu)牡? 個(gè)位置循環(huán)存儲(chǔ);

6) 從經(jīng)驗(yàn)池中隨機(jī)采樣N個(gè)樣本(st,δt,rt,st+1),作為當(dāng)前Actor 網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù);

7) 通過(guò)損失函數(shù)更新Critic 網(wǎng)絡(luò),根據(jù)Actor網(wǎng)絡(luò)的策略梯度更新當(dāng)前Actor 網(wǎng)絡(luò),然后再對(duì)目標(biāo)網(wǎng)絡(luò)進(jìn)行相應(yīng)的軟更新。

3 系統(tǒng)仿真與算法對(duì)比分析

3.1 仿真環(huán)境構(gòu)建

為驗(yàn)證上述方法的有效性,基于Python 環(huán)境進(jìn)行了船舶航跡跟蹤仿真實(shí)現(xiàn)??刂蒲芯繉?duì)象模型選用文獻(xiàn)[16-17]中的單槳單舵7 m KVLCC2船模,建模采用三自由度模型(即縱蕩、橫蕩和艏搖),具體建模過(guò)程參考文獻(xiàn)[16]。表1 列出了船舶的一些主要參數(shù)。

表1 KVLCC2 船舶參數(shù)Table 1 Parameters of a KVLCC2 tanker

在所選用的DDPG 控制器中,Crtic 網(wǎng)絡(luò)和Actor網(wǎng)絡(luò)的實(shí)現(xiàn)參數(shù)設(shè)置分別如表2 和表3 所示。

表2 Critic 網(wǎng)絡(luò)參數(shù)Table 2 Critic network parameters

表3 Actor 網(wǎng)絡(luò)參數(shù)Table 3 Actor network parameters

3.2 控制器離線(xiàn)學(xué)習(xí)

基于DDPG 算法進(jìn)行的離線(xiàn)訓(xùn)練學(xué)習(xí)設(shè)置如下:初始化網(wǎng)絡(luò)參數(shù)以及經(jīng)驗(yàn)緩存池,設(shè)計(jì)最大的訓(xùn)練回合為2 000,每回合最大步長(zhǎng)為500,采樣時(shí)間為1 s。在規(guī)劃訓(xùn)練期間所需跟蹤的航跡時(shí),為使控制器適應(yīng)多種環(huán)境,以及考慮到LOS 制導(dǎo)算法中對(duì)于航向控制的要求,依據(jù)文獻(xiàn)[18]中的設(shè)計(jì)思想,根據(jù)拐角的變換,設(shè)計(jì)了多條三航跡點(diǎn)航線(xiàn),每回合訓(xùn)練時(shí)隨機(jī)選取一條進(jìn)行航跡跟蹤。

訓(xùn)練時(shí),將數(shù)據(jù)存入經(jīng)驗(yàn)池中,然后再?gòu)闹须S機(jī)采樣一組數(shù)據(jù)進(jìn)行訓(xùn)練,狀態(tài)值及動(dòng)作值均進(jìn)行歸一化處理,當(dāng)達(dá)到最大步長(zhǎng)或最終航跡點(diǎn)輸出完成時(shí),便停止這一回合,并計(jì)算當(dāng)前回合的總回報(bào)獎(jiǎng)勵(lì)。當(dāng)訓(xùn)練進(jìn)行到200,300 和500 回合時(shí),其航向誤差如圖5 所示。由圖中可以看出,在訓(xùn)練時(shí)隨著回合的增加,航向誤差顯著減小,控制算法不斷收斂;當(dāng)訓(xùn)練達(dá)到最大回合結(jié)束后,總獎(jiǎng)勵(lì)值是不斷增加的。為使圖像顯示得更加清晰,截取了200~500 回合的總回報(bào)獎(jiǎng)勵(lì)如圖6 所示。從中可以看出,在約270 回合時(shí)算法基本收斂,展現(xiàn)了快速學(xué)習(xí)的過(guò)程。

圖5 航向誤差曲線(xiàn)Fig. 5 Course error curves

圖6 總回報(bào)獎(jiǎng)勵(lì)曲線(xiàn)Fig. 6 Total reward curve

3.3 仿真實(shí)驗(yàn)設(shè)計(jì)及對(duì)比分析

上述訓(xùn)練完成后,DDPG 控制器保存回報(bào)獎(jiǎng)勵(lì)函數(shù)最大的網(wǎng)絡(luò)參數(shù),并將其應(yīng)用于航跡跟蹤仿真。為了驗(yàn)證DDPG 控制器的可行性,本文選用BP-PID 控制器進(jìn)行對(duì)比分析。

用于對(duì)比的BP-PID 控制器選擇使用輸入層節(jié)點(diǎn)數(shù)為4、隱含層節(jié)點(diǎn)數(shù)為5、輸出層節(jié)點(diǎn)數(shù)為3的BP 神經(jīng)網(wǎng)絡(luò)對(duì)PID 的3 種參數(shù)進(jìn)行選擇,其中學(xué)習(xí)率為0.546,動(dòng)量因子為0.79,并參考文獻(xiàn)[19],利用附加慣性項(xiàng)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化。在相同的環(huán)境下,將DDPG 控制器與BP-PID控制器進(jìn)行仿真對(duì)比分析。仿真時(shí),船舶的初始狀態(tài)為從原點(diǎn)(0,0)出發(fā),初始航向?yàn)?5°,初始航速也即縱蕩速度u= 1.179 m/s,螺旋槳初始速度r=10.4 r/s。

仿真實(shí)驗(yàn)1:分別設(shè)計(jì)直線(xiàn)軌跡和鋸齒狀軌跡,用以觀察2 種控制器對(duì)直線(xiàn)的跟蹤效果和面對(duì)劇烈轉(zhuǎn)角變化時(shí)的跟蹤效果(圖7),軌跡點(diǎn)坐標(biāo)分別為(0,50),(400,50)和(0,0),(100,250),(200,0),(300,250),(400,0),(500,250),(600,0),單位均為m。

圖7 航跡跟蹤效果(實(shí)驗(yàn)1)Fig. 7 Tracking control result (experiment 1)

通過(guò)對(duì)2 種類(lèi)型軌跡跟蹤的對(duì)比可以看出,對(duì)于直線(xiàn)軌跡,DDPG 控制器能夠更加快速地進(jìn)行穩(wěn)定跟蹤,在鋸齒狀軌跡轉(zhuǎn)角跟蹤時(shí)其效果也明顯優(yōu)于BP-PID 控制器。對(duì)仿真過(guò)程中航向角的均方根誤差(圖7(b))進(jìn)行計(jì)算,顯示BP-PID控制器的數(shù)值達(dá)61.017 8,而DDPG 控制器的僅為10.018,后者具有更加優(yōu)秀的控制性能。

仿真實(shí)驗(yàn)2:為模擬傳統(tǒng)船舶的航行軌跡,設(shè)計(jì)軌跡點(diǎn)為(0,0),(100,50),(150,250),(400,250),(450,50),(550,0)的航跡進(jìn)行跟蹤。跟蹤效果曲線(xiàn)和航向均方根誤差(RMSE)的對(duì)比分別如圖8和表4 所示。

圖8 航跡跟蹤結(jié)果(實(shí)驗(yàn)2)Fig. 8 Tracking control result (experiment 2)

表4 控制性能指標(biāo)Table 4 Control performance

在此次仿真過(guò)程中,進(jìn)一步對(duì)比了2 種控制器對(duì)于LOS 角跟蹤的效果以及舵角的變化頻率,結(jié)果分別如圖9 和圖10 所示。PID 經(jīng)過(guò)BP 神經(jīng)網(wǎng)絡(luò)參數(shù)整定后整體巡航時(shí)間約為1 000 s,而DDPG 控制器的巡航時(shí)間則在此基礎(chǔ)上縮短了4%;在轉(zhuǎn)角處的航向跟蹤中,DDPG 控制器在20 s內(nèi)達(dá)到期望值,而B(niǎo)P-PID 的調(diào)節(jié)時(shí)間則約為60 s,且控制效果并不穩(wěn)定,舵角振動(dòng)頻率高。由此可見(jiàn),深度強(qiáng)化學(xué)習(xí)控制器可以很快地根據(jù)航跡變化做出調(diào)整,減少了不必要的控制環(huán)節(jié),調(diào)節(jié)時(shí)間短,控制效果穩(wěn)定,舵角變化頻率小,具有良好的控制性能。

圖9 BP-PID 控制器控制效果Fig. 9 Control result of BP-PID

圖10 DDPG 控制器控制效果Fig. 10 Control result of DDPG

4 結(jié) 語(yǔ)

本文針對(duì)船舶的航跡跟蹤問(wèn)題,提出了一種基于深度強(qiáng)化學(xué)習(xí)的航跡跟蹤控制器設(shè)計(jì)思路。首先根據(jù)LOS 算法制導(dǎo),建立了航跡跟蹤控制的馬爾可夫模型,給出了基于DDPG 控制器算法的程序?qū)崿F(xiàn);然后在Python 環(huán)境中完成了船舶航跡跟蹤控制系統(tǒng)仿真實(shí)驗(yàn),并與BP-PID 控制器進(jìn)行了性能對(duì)比分析。

將航跡跟蹤問(wèn)題進(jìn)行馬爾可夫建模設(shè)計(jì)后,將控制器投入離線(xiàn)學(xué)習(xí)。通過(guò)對(duì)此過(guò)程的分析發(fā)現(xiàn),DDPG 控制器在訓(xùn)練中能快速收斂達(dá)到控制要求,證明了設(shè)計(jì)的狀態(tài)、動(dòng)作空間以及獎(jiǎng)勵(lì)函數(shù)的可行性。并且航跡跟蹤仿真對(duì)比結(jié)果也顯示,DDPG 控制器能較快地應(yīng)對(duì)航跡變化,控制效果穩(wěn)定且舵角變化少,對(duì)于不同的軌跡要求適應(yīng)性均相對(duì)良好。整體而言,基于深度強(qiáng)化學(xué)習(xí)的控制方法可以應(yīng)用到船舶的航跡跟蹤控制之中,在具有自適應(yīng)穩(wěn)定控制能力的情況下,不僅免去了復(fù)雜的控制計(jì)算,也保證了實(shí)時(shí)性,對(duì)船舶的智能控制具有一定的參考價(jià)值。

猜你喜歡
航向航跡船舶
《船舶》2022 年度征訂啟事
船舶(2021年4期)2021-09-07 17:32:22
知坐標(biāo),明航向
船舶!請(qǐng)加速
夢(mèng)的航跡
青年歌聲(2019年12期)2019-12-17 06:32:32
BOG壓縮機(jī)在小型LNG船舶上的應(yīng)用
考慮幾何限制的航向道模式設(shè)計(jì)
自適應(yīng)引導(dǎo)長(zhǎng)度的無(wú)人機(jī)航跡跟蹤方法
船舶壓載水管理系統(tǒng)
基于干擾觀測(cè)器的船舶系統(tǒng)航向Backstepping 控制
電子制作(2017年24期)2017-02-02 07:14:16
視覺(jué)導(dǎo)航下基于H2/H∞的航跡跟蹤
赤壁市| 健康| 德兴市| 崇仁县| 安泽县| 麦盖提县| 黔西县| 安徽省| 泾源县| 浮梁县| 绵阳市| 玛曲县| 龙川县| 巧家县| 三都| 长子县| 赣州市| 慈利县| 南靖县| 永和县| 河曲县| 娱乐| 桓仁| 海淀区| 大方县| 泰州市| 库尔勒市| 博白县| 武强县| 丽江市| 侯马市| 龙川县| 九台市| 陇川县| 平乡县| 玉林市| 阳泉市| 阿拉善左旗| 革吉县| 若尔盖县| 曲靖市|