余凡 蔣曉明 張浩 曹立超 周勇 劉曉光
基于改進(jìn)DDPG算法的船舶航跡跟隨控制系統(tǒng)*
余凡 蔣曉明 張浩 曹立超 周勇 劉曉光
(廣東省科學(xué)院智能制造研究所,廣東 廣州 510070)
鑒于船舶在航行時受到風(fēng)、浪和流等不確定因素干擾,傳統(tǒng)的船舶航跡控制方法難以在不確定環(huán)境且控制系統(tǒng)處于多輸入、多輸出的條件下精確建模,導(dǎo)致船舶容易偏離預(yù)設(shè)航跡,影響船舶行駛的安全性。為降低船舶偏航,實(shí)現(xiàn)船舶航跡的精準(zhǔn)控制,將深度確定性策略梯度(DDPG)算法引入到控制系統(tǒng)。首先,分析船舶的運(yùn)動學(xué),詳細(xì)介紹DDPG算法的基本原理并對算法進(jìn)行改進(jìn);然后,在Matlab/Simulink中搭建船舶航跡跟隨控制系統(tǒng)并進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)穩(wěn)定性好,能對外部干擾迅速做出響應(yīng),對船舶航跡控制具有一定的參考價值。
DDPG算法;航跡跟隨;船舶控制系統(tǒng)
在經(jīng)濟(jì)全球化的影響下,船舶行業(yè)的貿(mào)易占據(jù)了重要地位。隨著船舶運(yùn)動控制技術(shù)的不斷完善,船舶行業(yè)朝著大型化、專業(yè)化、數(shù)字化和貨物種類多樣化方向發(fā)展。船舶相關(guān)技術(shù)的研究得到廣泛關(guān)注,其中研究重點(diǎn)之一就是船舶運(yùn)動控制自動化水平的提高[1]。船舶運(yùn)動控制分為手動控制和自動控制[2-4],手動控制對操作者的經(jīng)驗(yàn)要求較高,不利于船舶在環(huán)境多變的海洋上航行,目前已形成自動控制代替手動控制的趨勢。自動控制實(shí)現(xiàn)了航向和航跡保持[5]、航速控制[6-7]等功能,在提高船舶運(yùn)動控制智能化[8-9]的同時,可以減少偏航次數(shù)、航向偏差;并在保證經(jīng)濟(jì)效益的同時,提高船舶和船員的安全性[10]。
船舶運(yùn)動控制的核心問題是如何不斷地改進(jìn)控制策略,以保證在有干擾的環(huán)境下及船舶本身存在動態(tài)特性改變的情況下,仍能滿足航運(yùn)性能指標(biāo)要求。由于船舶在航行中會受到風(fēng)、浪和流的影響,且船舶控制系統(tǒng)為多輸入多輸出的動力學(xué)系統(tǒng),在氣候、水文、航道等不確定的外部因素和負(fù)載、動力等內(nèi)部因素的影響下,無法建立準(zhǔn)確的數(shù)學(xué)模型。采用端到端強(qiáng)化學(xué)習(xí)的方式[11],不需要復(fù)雜的控制器,黑箱控制即可處理連續(xù)狀態(tài)空間并輸出連續(xù)的動作,可解決船舶控制模型難以精確建模的問題[12]。
本文在傳統(tǒng)的船舶航跡跟隨控制系統(tǒng)中引入深度確定性策略梯度(deep deterministic policy gradient, DDPG)算法,并把船舶航跡跟隨控制系統(tǒng)建模成馬爾可夫決策過程;改進(jìn)DDPG算法,離線學(xué)習(xí)訓(xùn)練船舶航跡跟隨控制系統(tǒng);在Matlab/Simulink中搭建船舶航跡跟隨控制系統(tǒng)并進(jìn)行仿真實(shí)驗(yàn),驗(yàn)證DDPG算法的有效性。
圖1 船舶航跡保持方式
船舶航行時,船舶航跡跟隨控制系統(tǒng)會產(chǎn)生大量參數(shù)整定和復(fù)雜計(jì)算等問題,系統(tǒng)魯棒性較差。為保證船舶航跡跟隨的實(shí)時性,本文采用間接式航跡保持控制方式,并將DDPG算法引入控制系統(tǒng),如圖2所示。
圖2 間接式航跡保持控制系統(tǒng)框圖
船舶航行時具有6個自由度,其中前進(jìn)、橫漂和起伏為3個平移自由度;轉(zhuǎn)艏、橫搖和縱搖為3個轉(zhuǎn)動自由度。慣性坐標(biāo)系與附體坐標(biāo)系平面示意圖如圖3所示。
圖3 慣性坐標(biāo)系與附體坐標(biāo)系平面示意圖
由圖3可知,船舶在2個坐標(biāo)系間的運(yùn)動學(xué)關(guān)系可表示為
強(qiáng)化學(xué)習(xí)中智能體的動作取決于環(huán)境信息的反饋,同時受回報值的影響,朝回報最大化的方向?qū)ふ耶?dāng)前環(huán)境下智能體能達(dá)到預(yù)期效果的動作。其中,智能體是學(xué)習(xí)及實(shí)施決策的機(jī)器,與智能體相互作用的其他對象都被稱為環(huán)境(即船舶)。智能體需具備學(xué)習(xí)能力且能夠在某種程度上感知環(huán)境狀態(tài),并采取動作影響環(huán)境狀態(tài),如圖4所示。
圖4 馬爾可夫決策過程的智能體-船舶交互
圖4中智能體的動作可以是任何決策,而狀態(tài)則是船舶的位置、速度、外界干擾等反饋信息。在智能體與船舶進(jìn)行信息交互前,不需要確定控制模型中具體參數(shù)值,可通過離線學(xué)習(xí)的方式收斂到最優(yōu)值。
對函數(shù)的動作函數(shù)進(jìn)行加和,即可得到價值函數(shù):
由于使用學(xué)習(xí)在狀態(tài)量較大或連續(xù)任務(wù)中,會遇到維度災(zāi)難問題,本文在強(qiáng)化學(xué)習(xí)中利用價值函數(shù)近似的方法可以解決該問題。本文引入Deep Q Network(DQN)的概念,其基于Q_learning算法,加入價值函數(shù)近似于神經(jīng)網(wǎng)絡(luò),采用目標(biāo)網(wǎng)絡(luò)和經(jīng)驗(yàn)回放的方法進(jìn)行網(wǎng)絡(luò)訓(xùn)練,并從歷史數(shù)據(jù)中隨機(jī)采樣,以最小化樣本之間的相關(guān)性。
在強(qiáng)化學(xué)習(xí)算法中,智能體的策略用神經(jīng)網(wǎng)絡(luò)表示。在此引入執(zhí)行器和評價器2個概念。其中,執(zhí)行器表示在基于策略函數(shù)的學(xué)習(xí)算法中,以狀態(tài)為輸入,以動作為輸出,對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。此時的神經(jīng)網(wǎng)絡(luò)不僅代表智能體的策略,也稱為執(zhí)行器,其參數(shù)用來表示,如圖5所示。策略函數(shù)算法雖然能夠處理連續(xù)的動作空間,但會出現(xiàn)測量噪聲大,不能收斂的情況。
圖5 基于策略函數(shù)的學(xué)習(xí)
評價器在基于價值函數(shù)的學(xué)習(xí)算法中,以狀態(tài)和當(dāng)前狀態(tài)下的動作為輸入,由神經(jīng)網(wǎng)絡(luò)返回狀態(tài)動作對的價值,此時的神經(jīng)網(wǎng)絡(luò)被稱為評價器,其參數(shù)用表示,如圖6所示。
圖6 基于價值函數(shù)的學(xué)習(xí)
由圖6可知,神經(jīng)網(wǎng)絡(luò)輸出的是價值,并不能用來表示策略,將執(zhí)行器和評價器合并成一個算法,即執(zhí)行器-評價器算法,如圖7所示。
圖7 執(zhí)行器-評價器算法
執(zhí)行器-評價器算法中的執(zhí)行器能夠處理連續(xù)動作空間,評價器只需根據(jù)當(dāng)前狀態(tài)和執(zhí)行器輸出的動作來預(yù)測對應(yīng)的價值,進(jìn)而將此價值與環(huán)境所返回的獎勵進(jìn)行比較;得到的誤差用來評判當(dāng)前狀態(tài)下采取動作時,環(huán)境中的獎勵是否高于預(yù)測的價值。此誤差也用于對評價器和執(zhí)行器進(jìn)行反饋,使2個神經(jīng)網(wǎng)絡(luò)自我更新,調(diào)整執(zhí)行器輸出的動作。因此,執(zhí)行器-評價器算法能夠處理連續(xù)的狀態(tài)和動作空間,并能在環(huán)境返回獎勵方差較大時加快學(xué)習(xí)速度。
針對以上SOC估算的影響因素,本課題組進(jìn)行了鋰離子電池SOC估算的相應(yīng)實(shí)驗(yàn)。實(shí)驗(yàn)以兩組鋰離子電池組為研究對象,每組電池組用3片鋰離子電池串聯(lián)而成,單體電池型號為INCMP58145155N-I,額定電壓為3.7 V,額定容量10 Ah。具體的實(shí)驗(yàn)過程為將兩組電池組每天先進(jìn)行從10%~70%的深度放電,記錄回跳電壓,并擱置2 h,待電壓恢復(fù)后,再進(jìn)行 0.2 C 完全放電。每當(dāng)放電深度設(shè)置的一個實(shí)驗(yàn)周期結(jié)束,改變放電倍率重復(fù)實(shí)驗(yàn)。并且分別置兩組電池于高溫和低溫環(huán)境下,以觀測環(huán)境溫度對電池剩余容量的影響。實(shí)驗(yàn)采用蓄電池綜合參數(shù)自動測試設(shè)備,型號為BTS-M 300 A/12 V。
DDPG算法是一個基于神經(jīng)網(wǎng)絡(luò)函數(shù)近似器并且可以在高維的、連續(xù)動作空間中學(xué)習(xí)策略的無模型、執(zhí)行器-評價器離軌策略算法。其中,神經(jīng)網(wǎng)絡(luò)函數(shù)近似器是通過對DDPG算法所使用的非線性函數(shù)近似器進(jìn)行修改得到的。DDPG算法將actor-critic方法和DQN相結(jié)合。在每個批次的學(xué)習(xí)中,需要分別對評價器和執(zhí)行器進(jìn)行更新。
評價器更新考慮到Q_learning是一個無策略算法,
DDPG算法的整體流程如圖8所示。
圖8 DDPG算法流程圖
為驗(yàn)證本系統(tǒng)的可行性,在Matlab/Simulink中搭建船舶航跡跟隨控制系統(tǒng),并采用常規(guī)小型船作為控制對象。為保證仿真效果更接近實(shí)際環(huán)境,在仿真環(huán)境中加入低頻和高頻干擾,模擬風(fēng)、浪和流對船舶產(chǎn)生的影響;并設(shè)定操作舵的最小時間間隔為3 ~5 s,與實(shí)際船舶航行時自動舵的調(diào)整間隔保持一致?;贒DPG算法的船舶航跡控制效果如圖9所示。
由圖9可以看出,本文提出的基于DDPG算法的船舶航跡跟隨控制系統(tǒng)能夠達(dá)到較好的軌跡跟蹤效果,且控制效果穩(wěn)定,具有良好的魯棒性。
圖9 航跡控制效果
本文針對船舶航行時,容易偏離規(guī)劃的航跡路線,航跡跟蹤效果較差等問題,提出一種基于DDPG算法的船舶航跡跟隨控制系統(tǒng)。首先,對船舶的運(yùn)動學(xué)進(jìn)行分析,并給出強(qiáng)化學(xué)習(xí)算法的推導(dǎo)過程;然后,在Matlab/Simulink搭建船舶航跡跟隨控制系統(tǒng),完成船舶航跡跟蹤的仿真實(shí)驗(yàn)。從實(shí)驗(yàn)結(jié)果可以看出,該控制系統(tǒng)穩(wěn)定性好,能對外部干擾迅速做出響應(yīng)。
[1] 張顯庫.船舶控制系統(tǒng)[M].大連:大連海事大學(xué)出版社,2010.
[2] 侯志強(qiáng).單片機(jī)船舶導(dǎo)航自動控制系統(tǒng)[J].艦船科學(xué)技術(shù),2021,43(4):106-108.
[3] 韓春生,劉劍,汝福興,等.基于PID算法的船舶航跡自動控制[J].自動化技術(shù)與應(yīng)用,2012,31(4):9-12.
[4] 馮哲,張燕菲.基于PID算法的船舶航跡自動控制方法[J].艦船科學(xué)技術(shù),2018,40(12):34-36.
[5] ???黃珍,王緒明.基于深度強(qiáng)化學(xué)習(xí)的智能船舶航跡跟蹤控制[J].中國艦船研究,2021,16(1):105-113.
[6] 儲琴,夏東青.PID控制在船舶自動定位中的應(yīng)用[J].艦船科學(xué)技術(shù),2020,42(18):88-90.
[7] 張曉蘭,王欽若,時麗麗.動力定位船舶縱向運(yùn)動的反步法控制器設(shè)計(jì)[J].自動化與信息工程,2011,32(5):1-4.
[8] 劉建圻,曾碧,鄭秀璋,等.基于S3C2440的嵌入式導(dǎo)航平臺的設(shè)計(jì)與實(shí)現(xiàn)[J].自動化與信息工程,2008,29(2):1-3,13.
[9] 鄒木春,曾應(yīng)堅(jiān).基于機(jī)器視覺的船舶升沉檢測方法[J].自動化與信息工程,2010,31(3):37-39.
[10] 潘為剛,肖海榮,周風(fēng)余,等.小型船舶自動操舵控制系統(tǒng)的研制[J].船海工程,2009,38(1):68-70.
[11] Richard S Sutton, Andrew G Barto. Reinforcement learing: an introduction[M]. MIT Press, Bradford Books, 1998.
[12] LILLICRAP T P, HUNT J J, PRITZEL A, et al. Continuous control with deep reinforcement learning[J]. Computer Ence, 2015.
Ship Track Following Control System Based on Improved DDPG Algorithm
Yu Fan Jiang Xiaoming Zhang Hao Cao Lichao Zhou Yong Liu Xiaoguang
(Institute of Intelligent Manufacturing, GDAS, Guangzhou 510070, China)
Since the ship is disturbed by uncertain factors such as wind, wave and current, the traditional ship track control method is difficult to accurately model in the uncertain environment and the control system is in the condition of multi input and multi output, which leads to the ship easy to deviate from the preset track and affects the safety of ship driving. In order to reduce ship yaw and realize accurate control of ship track, depth deterministic strategy gradient (DDPG) algorithm is introduced into the control system. Firstly, the kinematics of ship is analyzed, the basic principle of DDPG algorithm is introduced in detail, and the algorithm is improved. Then, the ship track following control system is built in Matlab/Simulink and the simulation experiment is carried out. The experimental results show that the system has good stability, can respond quickly to external interference, and has a certain reference value for ship track control.
DDPG algorithm; track following; ship control system
余凡,男,1996年生,碩士,助理工程師,主要研究方向:機(jī)電一體化。E-mail: f.yu@giim.ac.cn
蔣曉明,男,1973年生,博士,研究員,主要研究方向:電力電子、數(shù)控技術(shù)與自動化。E-mail: xm.jiang@giim.ac.cn
張浩,男,1993年生,碩士,助理工程師,主要研究方向:機(jī)器人與自動化。E-mail: h.zhang@giim.ac.cn
曹立超,男,1990年生,碩士,工程師,主要研究方向:機(jī)器人設(shè)計(jì)與自動化。E-mail: lc.cao@giim.ac.cn
周勇,男,1991年生,碩士,工程師,主要研究方向:計(jì)算機(jī)視覺。E-mail: y.zhou@giim.ac.cn
劉曉光,男,1980年生,碩士,副研究員,主要研究方向:機(jī)器人焊接技術(shù)。E-mail: xg.liu@giim.ac.cn
基金項(xiàng)目:廣東省海洋經(jīng)濟(jì)專項(xiàng)項(xiàng)目(GDNRC[2021]024)
U664.82
A
1674-2605(2021)05-0004-06
10.3969/j.issn.1674-2605.2021.05.004