本技術(shù)涉及船舶控制,尤其涉及一種船舶自動(dòng)靠泊控制方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、船舶自動(dòng)靠泊技術(shù)的研究始于1970年代,隨著船舶工業(yè)的發(fā)展和航運(yùn)任務(wù)的復(fù)雜性,對(duì)自動(dòng)靠泊技術(shù)的需求越來(lái)越高。自動(dòng)靠泊系統(tǒng)可以提高船舶的安全性和效率,減少人為操作錯(cuò)誤和不必要的停機(jī)時(shí)間,還可以緩解船員的工作壓力,因此它已成為船舶控制系統(tǒng)不可或缺的一部分。船舶自動(dòng)靠泊技術(shù)的研究主要涉及船舶動(dòng)力學(xué)、控制理論、計(jì)算機(jī)技術(shù)等多個(gè)領(lǐng)域。自動(dòng)靠泊系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)需要結(jié)合船舶的特點(diǎn)和實(shí)際應(yīng)用要求,同時(shí)選擇合適的控制算法和控制策略。而內(nèi)河集裝箱船在靠泊過(guò)程中,需要考慮大量情況。一方面由于受到風(fēng)、浪、流以及變效應(yīng)的影響,會(huì)產(chǎn)生復(fù)雜的動(dòng)力學(xué)行為,難以精準(zhǔn)操控船舶運(yùn)行,需要經(jīng)驗(yàn)豐富的船員來(lái)完成靠泊過(guò)程。另一方面靠泊過(guò)程中的低速航行,難以對(duì)船舶進(jìn)行精準(zhǔn)建模。目前船舶自動(dòng)靠泊系統(tǒng)的研究,都是通過(guò)船舶靠泊數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)對(duì)于人工神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,以利用訓(xùn)練好的兩種模型分別進(jìn)行軌跡規(guī)劃和控制,這種方式要求大量的訓(xùn)練數(shù)據(jù)和大量訓(xùn)練時(shí)間,針對(duì)船舶自動(dòng)靠離泊算法的工作量較大且建模精度低,導(dǎo)致船舶自動(dòng)靠泊過(guò)程碰撞風(fēng)險(xiǎn)大。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的主要目的在于提出一種船舶自動(dòng)靠泊控制方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì),減少船舶自動(dòng)靠離泊算法建模的工作量,提高建模精度,提高船舶自動(dòng)靠泊過(guò)程安全性。
2、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的一方面提出了一種船舶自動(dòng)靠泊控制方法,包括以下步驟:
3、獲取當(dāng)前船舶的運(yùn)動(dòng)狀態(tài)數(shù)據(jù)和距離目標(biāo)泊位的第一相對(duì)距離,其中,所述運(yùn)動(dòng)狀態(tài)數(shù)據(jù)包括船舶航速;
4、將所述運(yùn)動(dòng)狀態(tài)數(shù)據(jù)和所述第一相對(duì)距離輸入用于船舶自動(dòng)靠泊的控制策略模型,得到下一時(shí)刻的船舶控制量,其中,所述船舶控制量包括船舶舵角與轉(zhuǎn)速;
5、其中,所述控制策略模型基于強(qiáng)化學(xué)習(xí)算法訓(xùn)練得到,所述控制策略模型的訓(xùn)練過(guò)程包括以下步驟:
6、獲取環(huán)境交互數(shù)據(jù);
7、通過(guò)最大化目標(biāo)函數(shù),根據(jù)所述環(huán)境交互數(shù)據(jù)訓(xùn)練價(jià)值網(wǎng)絡(luò),并根據(jù)所述價(jià)值網(wǎng)絡(luò)和所述環(huán)境交互數(shù)據(jù)訓(xùn)練策略網(wǎng)絡(luò),其中,所述目標(biāo)函數(shù)表征策略網(wǎng)絡(luò)輸出的動(dòng)作的累計(jì)獎(jiǎng)勵(lì)值,所述動(dòng)作表征船舶控制量;
8、根據(jù)訓(xùn)練好的策略網(wǎng)絡(luò)確定控制策略模型。
9、在一些實(shí)施例中,所述獲取當(dāng)前船舶的運(yùn)動(dòng)狀態(tài)數(shù)據(jù)和距離目標(biāo)泊位的第一相對(duì)距離,包括以下步驟:
10、通過(guò)設(shè)置在船舶上的微波雷達(dá)陣列采集船舶與岸邊的第二相對(duì)距離;
11、通過(guò)設(shè)置在船舶上的定位裝置采集船舶位置;
12、根據(jù)所述第一相對(duì)距離、所述船舶位置和目標(biāo)泊位位置確定第一相對(duì)距離;
13、通過(guò)設(shè)置在船舶上的電子航向儀采集運(yùn)動(dòng)狀態(tài)數(shù)據(jù)。
14、在一些實(shí)施例中,所述獲取環(huán)境交互數(shù)據(jù),包括以下步驟:
15、獲取靠泊任務(wù)信息,其中,所述靠泊任務(wù)信息包括環(huán)境地圖、目標(biāo)泊位和獎(jiǎng)勵(lì)函數(shù);
16、根據(jù)船舶數(shù)學(xué)模型和所述靠泊任務(wù)信息構(gòu)造子進(jìn)程下的強(qiáng)化學(xué)習(xí)環(huán)境;
17、基于所述強(qiáng)化學(xué)習(xí)環(huán)境,采用主進(jìn)程的控制策略指導(dǎo)智能體的行為,得到子進(jìn)程的環(huán)境反饋數(shù)據(jù);
18、根據(jù)各個(gè)子進(jìn)程下的環(huán)境反饋數(shù)據(jù)確定環(huán)境交互數(shù)據(jù)。
19、在一些實(shí)施例中,所述目標(biāo)函數(shù)表示如下:
20、
21、
22、其中,r(sk,ak)表示定義好的獎(jiǎng)勵(lì)函數(shù),t是設(shè)定好的靠泊任務(wù)時(shí)長(zhǎng),sk=[uk,vk,φk,xk,yk,ψk]t是狀態(tài)向量,xk、yk表示船舶位置,uk,vk分別表示縱向速度與橫漂速度,ψk表示船舶航向,φk表示艏搖角速度,動(dòng)作表示船舶控制量,表示推進(jìn)器推力、表示舵力矩;si表示船舶初始狀態(tài),sf表示在策略網(wǎng)絡(luò)控制下達(dá)到的目標(biāo)終止?fàn)顟B(tài);smin和smax分別表示狀態(tài)最小值和狀態(tài)最大值,amin和amax分別表示動(dòng)作最小值和動(dòng)作最大值。
23、在一些實(shí)施例中,所述獎(jiǎng)勵(lì)函數(shù)表示為:
24、
25、其中,β表示權(quán)重因子,α為大于零的系數(shù),sk表示當(dāng)前狀態(tài),sf表示目標(biāo)終止?fàn)顟B(tài),c表示常數(shù)。
26、在一些實(shí)施例中,所述通過(guò)最大化目標(biāo)函數(shù),根據(jù)所述環(huán)境交互數(shù)據(jù)訓(xùn)練價(jià)值網(wǎng)絡(luò),并根據(jù)所述價(jià)值網(wǎng)絡(luò)和所述環(huán)境交互數(shù)據(jù)訓(xùn)練策略網(wǎng)絡(luò),包括以下步驟:
27、根據(jù)所述環(huán)境交互數(shù)據(jù)中當(dāng)前批次訓(xùn)練數(shù)據(jù)訓(xùn)練價(jià)值網(wǎng)絡(luò);
28、將所述當(dāng)前批次訓(xùn)練數(shù)據(jù)中的狀態(tài)輸入策略網(wǎng)絡(luò)得到下一時(shí)刻的動(dòng)作分布;
29、采用所述價(jià)值網(wǎng)絡(luò)對(duì)下一時(shí)刻的動(dòng)作分布進(jìn)行動(dòng)作選擇,得到目標(biāo)動(dòng)作;
30、根據(jù)所述目標(biāo)動(dòng)作相對(duì)應(yīng)的狀態(tài)確定目標(biāo)函數(shù)的值;
31、根據(jù)所述目標(biāo)函數(shù)的值確定當(dāng)前是否找到目標(biāo)函數(shù)最大值;
32、當(dāng)沒(méi)有找到目標(biāo)函數(shù)最大值,則更新所述策略網(wǎng)絡(luò)的參數(shù),并根據(jù)所述環(huán)境交互數(shù)據(jù)中下一批次訓(xùn)練數(shù)據(jù)繼續(xù)訓(xùn)練所述價(jià)值網(wǎng)絡(luò)和所述策略網(wǎng)絡(luò);
33、當(dāng)找到目標(biāo)函數(shù)最大值,則將當(dāng)前的策略網(wǎng)絡(luò)確定為訓(xùn)練完成的策略網(wǎng)絡(luò)。
34、在一些實(shí)施例中,所述更新所述策略網(wǎng)絡(luò)的參數(shù)包括以下步驟:
35、確定當(dāng)前的訓(xùn)練次數(shù);
36、根據(jù)所述訓(xùn)練次數(shù)選擇相應(yīng)的代理目標(biāo)用于指導(dǎo)策略網(wǎng)絡(luò)的參數(shù)更新,其中,當(dāng)所述訓(xùn)練次數(shù)小于預(yù)設(shè)次數(shù),則選擇第一代理目標(biāo);當(dāng)所述訓(xùn)練次數(shù)大于或等于預(yù)設(shè)次數(shù),則選擇第二代理目標(biāo);
37、其中,所述第一代理目標(biāo)表示如下:
38、
39、所述第二代理目標(biāo)表示如下:
40、
41、其中,∈代表截?cái)喑瑓?shù),clup()表示截?cái)嗪瘮?shù),rt表示新舊策略比值,表示優(yōu)勢(shì)函數(shù)。
42、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的另一方面提出了一種船舶自動(dòng)靠泊控制系統(tǒng),包括:
43、第一模塊,用于獲取當(dāng)前船舶的運(yùn)動(dòng)狀態(tài)數(shù)據(jù)和距離目標(biāo)泊位的第一相對(duì)距離,其中,所述運(yùn)動(dòng)狀態(tài)數(shù)據(jù)包括船舶航速;
44、第二模塊,用于將所述運(yùn)動(dòng)狀態(tài)數(shù)據(jù)和所述第一相對(duì)距離輸入用于船舶自動(dòng)靠泊的控制策略模型,得到下一時(shí)刻的船舶控制量,其中,所述船舶控制量包括船舶舵角與轉(zhuǎn)速;
45、其中,所述控制策略模型基于強(qiáng)化學(xué)習(xí)算法訓(xùn)練得到,所述控制策略模型的訓(xùn)練過(guò)程包括以下步驟:
46、獲取環(huán)境交互數(shù)據(jù);
47、通過(guò)最大化目標(biāo)函數(shù),根據(jù)所述環(huán)境交互數(shù)據(jù)訓(xùn)練價(jià)值網(wǎng)絡(luò),并根據(jù)所述價(jià)值網(wǎng)絡(luò)和所述環(huán)境交互數(shù)據(jù)訓(xùn)練策略網(wǎng)絡(luò),其中,所述目標(biāo)函數(shù)表征策略網(wǎng)絡(luò)輸出的動(dòng)作的累計(jì)獎(jiǎng)勵(lì)值,所述動(dòng)作表征船舶控制量;
48、根據(jù)訓(xùn)練好的策略網(wǎng)絡(luò)確定控制策略模型。
49、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的另一方面提出了一種電子設(shè)備,所述電子設(shè)備包括存儲(chǔ)器、處理器、存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的程序以及用于實(shí)現(xiàn)所述處理器和所述存儲(chǔ)器之間的連接通信的數(shù)據(jù)總線,所述程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)上述實(shí)施例所述的方法。
50、為實(shí)現(xiàn)上述目的,本技術(shù)實(shí)施例的另一方面提出了一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于計(jì)算機(jī)可讀存儲(chǔ),所述存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者多個(gè)程序,所述一個(gè)或者多個(gè)程序可被一個(gè)或者多個(gè)處理器執(zhí)行,以實(shí)現(xiàn)上述實(shí)施例所述的方法。
51、本技術(shù)提出的船舶自動(dòng)靠泊控制方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì),其通過(guò)獲取當(dāng)前船舶的運(yùn)動(dòng)狀態(tài)數(shù)據(jù)和距離目標(biāo)泊位的第一相對(duì)距離,將運(yùn)動(dòng)狀態(tài)數(shù)據(jù)和第一相對(duì)距離輸入用于船舶自動(dòng)靠泊的控制策略模型,得到下一時(shí)刻的船舶控制量??刂撇呗阅P突趶?qiáng)化學(xué)習(xí)算法訓(xùn)練得到,即獲取環(huán)境交互數(shù)據(jù),通過(guò)最大化目標(biāo)函數(shù),根據(jù)環(huán)境交互數(shù)據(jù)訓(xùn)練價(jià)值網(wǎng)絡(luò),并根據(jù)價(jià)值網(wǎng)絡(luò)和環(huán)境交互數(shù)據(jù)訓(xùn)練策略網(wǎng)絡(luò),其中,目標(biāo)函數(shù)表征策略網(wǎng)絡(luò)輸出的動(dòng)作的累計(jì)獎(jiǎng)勵(lì)值,動(dòng)作表征船舶控制量,然后根據(jù)訓(xùn)練好的策略網(wǎng)絡(luò)確定控制策略模型。本技術(shù)利用強(qiáng)化學(xué)習(xí)使得靠泊任務(wù)過(guò)程中不再依賴船舶運(yùn)動(dòng)模型來(lái)控制船舶的運(yùn)動(dòng),同時(shí)也不需要大量的訓(xùn)練數(shù)據(jù),通過(guò)強(qiáng)化學(xué)習(xí)算法可以減少船舶自動(dòng)靠離泊算法建模的工作量,提高建模精度,從而提高船舶自動(dòng)靠泊過(guò)程安全性。