胡浩帆
摘? ? 要:傳統(tǒng)的船舶路徑規(guī)劃學習和訓練方法,需要船員到船上在實際航行中學習。本文在對現(xiàn)有海圖工具實行二次開發(fā)的基礎上,對國際通用AIS編碼、GPS NEMA-0183代碼進行編制,模擬船舶航行的路徑和過程,實現(xiàn)在實驗室內(nèi)進行規(guī)避非適航區(qū)的船舶路徑規(guī)劃和航行驗證,并引入遺傳算法搜尋參考最優(yōu)路徑,解決培訓船員中的專家顧問系統(tǒng)和陸上手動路徑規(guī)劃及驗證問題。該實驗驗證系統(tǒng)交互簡單、流程清晰、覆蓋內(nèi)容廣且可擴展性強,既可在課堂教學中提供演示平臺,又可為學生在實驗課程中進行實際操作提供載體。
關(guān)鍵詞:遺傳算法;船舶路徑規(guī)劃;虛擬實驗平臺;可視化
中圖分類號:U612.1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A
Development of Ship Path Planning and Verification Training System
HU Haofan
( COSCO Shipping Specialized Carriers Co., Ltd., Guangzhou 510623 )
Abstract: The traditional learning and training methods of ship path planning require the crew to learn in the actual voyage. On the basis of the secondary development of the existing chart tools, the international general AIS code and GPS NEMA-0183 code are compiled to simulate the path and process of ship navigation. The ship path planning and navigation verification to avoid non seaworthy areas are realized in the laboratory, and the genetic algorithm is introduced to search for the optimal reference path, which solves the problems of expert consulting system and manual path planning and verification on land in training crew. The experimental system has the advantages of simple interaction, clear process, wide coverage and strong scalability. It can not only provide a demonstration platform in classroom teaching, but also provide a carrier for students to carry out practical operation in experimental courses.
Key words: Genetic algorithm; Ship path planning; Virtual experiment platform; Visualization
1? ? ?前言
船舶避碰路徑規(guī)劃,主要解決兩類問題:一是船舶全航程有效避開靜態(tài)和動態(tài)障礙物,保障安全航行;二是船舶在航行過程中選擇最優(yōu)路徑[1] 。
陳曉等在《基于魚群算法的船舶避淺航線設計》中,提出了以實現(xiàn)最短航程為目的, 建立以避開淺灘區(qū)域、 控制轉(zhuǎn)彎角度以及減少轉(zhuǎn)向點數(shù)目為約束條件的航線設計模型,采用人工魚群算法生成初始航線, 結(jié)合船舶航行習慣對航線作進一步的優(yōu)化和調(diào)整[2];姚肖肖在《基于蟻群算法與海量AIS數(shù)據(jù)的船舶航線規(guī)劃》中,研究了基于蟻群算法和海量AIS數(shù)據(jù)的航線規(guī)劃方法,找出最短航線[3] 。以上方法結(jié)合計算機算法,通過對算法的加強和調(diào)整,自動計算出航點,可以作為船員確定航線時的參考。但在實際航線規(guī)劃過程中,需要人員憑借經(jīng)驗做出調(diào)整,上述結(jié)果較難得到驗證,實用性較弱,且沒有人工操作環(huán)節(jié),不適應實驗室船員培訓的需要。
2? ? ?系統(tǒng)開發(fā)
2.1? ?使用遺傳算法得出初步繞行航點
本系統(tǒng)利用遺傳算法得出路徑點作為參考,初步規(guī)避臨時非適航區(qū),并結(jié)合氣候、海況條件,進行人工修整路徑點坐標;通過遺傳算法設計最優(yōu)航線時,首先要對種群進行初始化,即在全局范圍內(nèi)隨機搜索轉(zhuǎn)向點并隨機產(chǎn)生航線路徑[4] ;其次選擇適應度函數(shù),其對算法的收斂性和穩(wěn)定性具有重要影響。適應度函數(shù)的選擇決定了種群的進化方向和進化效率,選擇合適的適應度函數(shù)要考慮路徑長度、轉(zhuǎn)向個數(shù)和轉(zhuǎn)向角度大小等因素;然后確定遺傳算子,使用輪盤賭法計算適應度函數(shù)的值,適應度函數(shù)值越大,表示該路徑越接近最優(yōu),對基因組進行交叉和突變操作,循環(huán)尋優(yōu)。
2.1.1建立路徑一維實數(shù)編碼
建立船舶路徑一維實數(shù)染色體編碼,采用相對路徑長度和相對角度表示航點坐標。相對點的坐標表示形式為(L,θ),L為相對路徑長度,θ為相對角度。為了簡化編碼復雜度,取
L = D / (2 * n * w)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
式中:D為已公布非適航區(qū)周長;n為非適航區(qū)頂點個數(shù);w為非適航區(qū)形狀復雜度系數(shù),取w=1.5~3。非適航區(qū)范圍確定后,為固定值。
遺傳染色體編碼形式,如圖1所示:θ<0表示船舶在避開非適航區(qū)時,添加航點處的極軸轉(zhuǎn)角;θ表示當前航向左轉(zhuǎn);θ>0,表示當前航向右轉(zhuǎn);i表示相對極坐標極軸個數(shù)。
編碼可以簡化為航點轉(zhuǎn)角θi為單元的一維實數(shù)編碼。由于繞行路徑為凸多邊形,角度范圍在(-90,90),如圖2所示。
至此,可以引入量(L,θ)。其中:L建立投影關(guān)系,θ直接計算。由此可求出各點具體坐標。
2.1.2 建立適應度函數(shù)
2.1.3 遺傳操作
本文使用選擇、交叉和變異,初步尋找最優(yōu)路徑航點;使用輪盤賭進行遺傳操作,染色體基因編碼的取值范圍為(-90,90),初始選擇通過輪盤賭方式;為了兼顧航線的平滑度,輪盤賭的選擇在區(qū)間(-30,30)權(quán)重最大,取0.6;區(qū)間(30,60),取0.3;區(qū)間(60,90),取0.1。
交叉操作是把兩個同源染色體通過交配、重組得到新的染色體的過程。本文中使用實數(shù)編碼,對不同染色體編碼任意位置單個基因進行交叉操作,得到新的染色體編碼。
變異操作,是以較小的概率改變個體編碼串上的某個或某些遺傳因子的基因值的過程;基因突變采用高斯變異算子,用均值為、方差為的正態(tài)分布的一個隨機數(shù)來替換原有基因值,當θi>0時,μ =15;θi<0時,μ =-15。由此得到參考初步最優(yōu)路徑航點。
2.2? ?對獲得的航點進行手動修正
選擇目的地港口、出發(fā)地港口、船型、桅桿高度、載貨量和吃水深度等參數(shù),點擊查詢按鈕顯示通過遺傳算法產(chǎn)生的航點列表,并進行增刪修改。
可以選擇任意一個路徑點進行修改,也可以在此點的前后加入新點進行計算,改變路徑曲線形狀;當滿足路徑規(guī)劃要求后,點擊開始模擬,通過COM通信對電子海圖發(fā)送定位語句,實現(xiàn)航線模擬。其中:所有航點位置坐標經(jīng)過AIS數(shù)據(jù)加密,通過COM串口輸送到電子海圖里,每兩個航點之間形成一段航線,通過連續(xù)發(fā)送模擬AIS語句,實現(xiàn)虛擬船只移動;在電子海圖里查閱船舶行駛路徑和條件,模擬實際船只航行,對修正后的遺傳算法生成的航點進行驗證航行;在初步尋優(yōu)的基礎上,考慮在新航點范圍的障礙物、水文和氣象條件,加入人工干預因素;變化后的航點間的船首向和航程等參數(shù),重新導入系統(tǒng)進行計算。系統(tǒng)界面右側(cè)提供計算的功能,參考電子海圖,輸入相鄰航點之間的經(jīng)緯度,計算得到最新的船首向、航程、剩余航程、經(jīng)度增加量和緯度增加量。流程框圖,如圖3所示:
3? ? AIS數(shù)據(jù)的反推
船舶自動識別系統(tǒng)(AIS)是一種新型的通信導航系統(tǒng),它使用自組織時分多址(SOTDMA)連接方式,在世界任一海域?qū)崟r進行多船間、船岸間的動靜態(tài)航行信息以及其他與航行安全相關(guān)信息的交換[6]。船舶的IMO號、MMSI號、船名、船舶經(jīng)緯度、時間、對地航速、航向信息、吃水深度、ETA等信息,都需經(jīng)過AIS數(shù)據(jù)加密過后才能成為可被設備識別的暗碼,模擬AIS數(shù)據(jù)通過串口傳輸?shù)诫娮雍D上顯示。
AIS數(shù)據(jù)加密,是將船舶的各項數(shù)據(jù)的十進制轉(zhuǎn)化為二進制。加密數(shù)據(jù)時先將 16 進制的數(shù)轉(zhuǎn)化為每字節(jié)存放 6位有效數(shù)據(jù),然后將6位有效數(shù)據(jù)轉(zhuǎn)化為 8 位 ASCII,再根據(jù)標準的 AIVDM 語句格式進行打包處理[7] 。圖4為AIVDM格式打包流程圖:
4? ? ?航點各參數(shù)計算
4.1? ? 建立航點向量
建立笛卡爾坐標系,以地球球心為坐標系原點,在地球海洋表面上的船舶航點向量,可以表示為:
4.2總航程和剩余航程計算
計算航程和剩余航程,有利于掌握船舶航行的整體狀況,對安全航行有重要作用:一方面,確定相鄰航點之間的航程,能夠明確距離下一個轉(zhuǎn)向點還有多遠的距離;另一方面,對實現(xiàn)經(jīng)濟航線和計算船舶EEOI指數(shù)有很大的幫助[10] ,對制定航行計劃表也有較大的參考價值。
4.3? ?任意相鄰兩點之間的航向
在我國沿海地區(qū)的航行過程中,可以認為船首向近似等于方位角,因此這里把方位角的值填入船首向的值[8]。
4.4 緯度增加量、經(jīng)度增加量計算
通過船首向計算緯度增加量、經(jīng)度增加量,計算公式如下 :
式中:a為緯度增加量;b為經(jīng)度增加量。
通過疊加緯度增加量和經(jīng)度增加量,不斷改變當前船舶的經(jīng)緯度數(shù)值,從而直接決定了船舶模擬航行的速度。
如圖7所示為自動調(diào)整的某條航線,經(jīng)過系統(tǒng)修正后,避開了非適航區(qū),重新規(guī)劃了航點。
5? ? 模擬航行驗證結(jié)果
本系統(tǒng)最終展示所指定航線的安全性和可靠性:完成以上所有準備工作以后,點擊開始模擬按鈕,系統(tǒng)將以一個定時器的時間間隔不斷的向電子海圖發(fā)送AIS數(shù)據(jù),該數(shù)據(jù)依據(jù)航線規(guī)劃出的所有航點,以緯度增加和經(jīng)度增加的形式同時變化,實現(xiàn)虛擬船只的移動,可以在電子海圖上看到船只按照航線規(guī)劃的路徑形式,并且到達下一個轉(zhuǎn)向點之后準確轉(zhuǎn)向。
6? ? ?結(jié)語
船舶路徑規(guī)劃系統(tǒng)虛擬平臺使用遺傳算法初步計算航點,進行手動修正,使用數(shù)據(jù)庫和電子海圖結(jié)合驗證航點路徑,具有以下特點:
(1)界面簡單、易操作;具有自動計算初步航點的功能,并配合以手動調(diào)整和修正航點參數(shù);根據(jù)電子海圖上的信息和理論知識驗證航線的可靠性;
(2)內(nèi)容豐富,可以實現(xiàn)改變船只的信息,也可以繪制定制航線,可操作性強;
(3)操作思路清晰,演示便捷,實現(xiàn)陸上學習如何繪制航線并觀察行駛途中遇到的各種情況,便于學習和講解。因此,船舶路徑規(guī)劃系統(tǒng)虛擬平臺,對海員培訓有廣闊的應用空間。
參考文獻
[1]李文頡等. 船舶路徑規(guī)劃數(shù)值仿真[J]. 動力系統(tǒng)與控制, 2019, 8(2):55-62.
[2]陳曉等. 基于魚群算法的船舶避淺航線設計[J]. 中國航海,2019.9:34-38.
[3]姚肖肖等. 基于蟻群算法與海量AIS數(shù)據(jù)的船舶航線規(guī)劃 [J]. 交通信息與安全. 2019.3:102-105.
[4]謝玉龍等. 基于改進遺傳算法的船舶路徑規(guī)劃[J].計算機技術(shù)與發(fā)展. 2019.5:75-80.
[5]何建新. AIS關(guān)鍵技術(shù)研究及其與電子海圖的集成實現(xiàn)[D]. 哈爾濱: 哈爾濱工程大學, 2006.
[6]劉明俊等. 蘇通大橋防船撞預控技術(shù)研究[M]. 武漢:武漢理工大學出版社,?2009.
[7]謝新連. 海洋氣象環(huán)境影響下的復雜水域船舶路徑規(guī)劃[J].重慶:重慶交通大學學報, 2021.40(2):21-25.
[8]肖洋. 國際海運減排博弈及中國面臨的“碳陷阱”[J]. 現(xiàn)代國際關(guān)系. 2013?(06):145-148.
[9] Rutstrum, Carl, The Wilderness Route Finder, University of Minnesota Press (2000),?ISBN 0-8166-3661-3.
[10]陳金皖. 基于墨卡托投影的大圓航段方法[J].電子技術(shù)與軟件工程,2020(06):145-148.
[11]唐強榮. 在開敞淺水域中航行富裕水深的確定方法[J].中國航海,2002.(4):14-18.