李世友
摘 要:隨著全球經(jīng)濟(jì)的飛速發(fā)展,經(jīng)濟(jì)貿(mào)易往來(lái)日益頻繁,海上運(yùn)輸變得越來(lái)越頻繁,海面上船舶密度不斷增大,各類(lèi)船舶間發(fā)生碰撞概率也不斷增大?;谶z傳算法研究船舶自動(dòng)避碰策略并構(gòu)建了一個(gè)避碰演示系統(tǒng)進(jìn)行仿真驗(yàn)證。定義了確保安全距離下的最短復(fù)航路程作為適應(yīng)度函數(shù)并建立碰撞危險(xiǎn)模型并分析其避讓責(zé)任及相應(yīng)的避碰決策。基于Matlab構(gòu)建了一個(gè)簡(jiǎn)單的仿真平臺(tái)對(duì)避碰算法進(jìn)行仿真驗(yàn)證。仿真結(jié)果驗(yàn)證了基于遺傳算法的避碰策略的有效性。
關(guān)鍵詞:船舶自動(dòng)識(shí)別系統(tǒng);船舶避碰;遺傳算法;適應(yīng)度函數(shù)
中圖分類(lèi)號(hào):U664.82? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? ? 文章編號(hào):1006—7973(2021)12-0045-04
隨著全球海運(yùn)事業(yè)的快速發(fā)展,使得航線上船舶密度不斷增大,隨著船舶數(shù)量增多,也給海上交通的監(jiān)控和管理帶來(lái)嚴(yán)峻的挑戰(zhàn)。據(jù)中國(guó)海上搜救中心發(fā)布的數(shù)據(jù)來(lái)分析,由船舶碰撞造成的險(xiǎn)情占海上事故的五分之一[1]。因此,船舶避碰是海面航行安全研究的熱點(diǎn)問(wèn)題之一[2~9]。早在上世紀(jì)90年代末21世紀(jì)初就有許多相關(guān)研究,例如文獻(xiàn)[2]提出了利用框架式專(zhuān)家系統(tǒng)與數(shù)理分析相結(jié)合的仿人智能避碰方法;文獻(xiàn)[3]基于信息熵理論研究評(píng)價(jià)了在交叉相遇局面中讓路船舶兩船間初始船舶安全距離和距離采取避碰行動(dòng)種類(lèi)的不確定性;文獻(xiàn)[4]分析了航海避碰專(zhuān)家系統(tǒng)軟件開(kāi)發(fā)的必要性與緊迫性并對(duì)整個(gè)軟件開(kāi)發(fā)的思路、方法及軟件要求作了論述,同時(shí)還建立了船舶避碰危險(xiǎn)度的數(shù)學(xué)模型;文獻(xiàn)[5]在研究船舶碰撞危險(xiǎn)度的基礎(chǔ)上建立船舶動(dòng)態(tài)避碰行動(dòng)領(lǐng)域模型。
最近幾年許多學(xué)者從不同角度開(kāi)展船舶避碰相關(guān)的理論分析或者系統(tǒng)研究。胥文等2017年在船舶碰撞幾何原理的基礎(chǔ)上利用模糊規(guī)則和模糊綜合評(píng)價(jià)方法提出一種船舶復(fù)合碰撞危險(xiǎn)度的計(jì)算方法并進(jìn)行了仿真分析[6];2019年倪生科等針對(duì)不同會(huì)遇態(tài)勢(shì)下的船舶避碰路徑規(guī)劃問(wèn)題建立一種基于遺傳算法和非線性規(guī)劃理論的船舶避碰路徑規(guī)劃模型[7];崔瑾娟通過(guò)尋找船舶運(yùn)動(dòng)最優(yōu)最短的避碰路徑提出了遺傳算法規(guī)劃路徑的船舶避碰系統(tǒng)[8]。
遺傳算法(genetic algorithms, GA)[9]是一種元啟發(fā)式自然選擇的過(guò)程,屬于進(jìn)化算法(EA)大類(lèi)。遺傳算法本身具有優(yōu)勝劣汰的能力,在船舶避碰領(lǐng)域得到廣泛應(yīng)用[6~9]。本文利用遺傳算法來(lái)進(jìn)行船舶避讓的最優(yōu)避碰路徑規(guī)劃。首先介紹了船舶避碰系統(tǒng)的組成以及船舶避碰的遺傳算法描述,并定義了確保安全距離下的最短復(fù)航路程作為適應(yīng)度函數(shù)f。在此基礎(chǔ)上,根據(jù)對(duì)船舶運(yùn)動(dòng)參數(shù)進(jìn)行計(jì)算來(lái)建立碰撞危險(xiǎn)模型并分析其避讓責(zé)任及相應(yīng)的避碰決策。其次構(gòu)建了一個(gè)簡(jiǎn)單的仿真平臺(tái)對(duì)避碰算法進(jìn)行仿真驗(yàn)證,分別以兩船的對(duì)遇和交叉情況來(lái)進(jìn)行驗(yàn)證,實(shí)現(xiàn)以上兩種情況下的仿真,來(lái)驗(yàn)證算法的有效性。
1船舶避碰系統(tǒng)組成遺傳算法描述
1.1船舶避碰的遺傳算法描述
本文采用的避碰規(guī)則為國(guó)際避碰規(guī)則,即《1972年國(guó)際海上避碰規(guī)則》[10](下文簡(jiǎn)稱(chēng)《規(guī)則》)?!兑?guī)則》將兩船之間的會(huì)遇態(tài)勢(shì)總分為三種局面:對(duì)遇、交叉相遇和追越。遺傳算法的基本流程如圖1所示。
其主要操作步驟如下:第一步,隨機(jī)產(chǎn)生一個(gè)種群,作為問(wèn)題的初代解;第二步,尋找一種合適的編碼方案對(duì)種群中的個(gè)體進(jìn)行編碼,可以選擇如浮點(diǎn)數(shù)編碼或二進(jìn)制編碼等常用編碼方案;第三步,以多峰函數(shù)的函數(shù)值作為個(gè)體的適應(yīng)度,計(jì)算種群中每個(gè)個(gè)體的適應(yīng)度(算出的適應(yīng)度將為后續(xù)的個(gè)體選擇提供依據(jù));第四步,根據(jù)適應(yīng)度的高低選擇最合適的個(gè)體,并以此不斷淘汰適應(yīng)度低的個(gè)體;第五步:對(duì)篩選出的個(gè)體進(jìn)行遺傳操作,找到最優(yōu)解;第六步:根據(jù)一定的準(zhǔn)則判斷是繼續(xù)執(zhí)行算法,還是找出所有子代中適應(yīng)度最高個(gè)體作為解返回并結(jié)束程序。
1.2遺傳算法操作
具體遺傳操作分為編碼、群體設(shè)定、定義適應(yīng)度函數(shù)、選擇遺傳算子等操作。其中,選擇遺傳算子包括交叉算子、變異算子、遷移算子等。
1.3定義適應(yīng)度函數(shù)
在GA中,很少使用搜索空間以外的知識(shí)以及通過(guò)其他方式獲得的其他輔助信息,而是使用設(shè)計(jì)好的適應(yīng)度函數(shù)來(lái)評(píng)價(jià)每個(gè)個(gè)體的優(yōu)或者劣。適應(yīng)度高的,也就是優(yōu)秀的個(gè)體有更大的幾率參與繁衍,遺傳自己的基因。一般的,適應(yīng)度函數(shù)根據(jù)目標(biāo)函數(shù)來(lái)確定,有時(shí)候直接將目標(biāo)函數(shù)值作為適應(yīng)度。
本文采用確保安全距離下的最短復(fù)航路程作為總適應(yīng)度函數(shù)。該適應(yīng)度函數(shù)包括安全性適應(yīng)度、路徑總長(zhǎng)適應(yīng)度和航線偏離適應(yīng)度三個(gè)適應(yīng)度。這三個(gè)適應(yīng)度分別定義如下:①安全性適應(yīng)度,其中為避碰過(guò)程中時(shí)刻本船的路徑點(diǎn)與對(duì)應(yīng)時(shí)刻干擾船之間的安全性,由安全距離決定,如果距離大于安全距離,則為1否則為0;②路徑總長(zhǎng)適應(yīng)度,其中為避碰過(guò)程中從時(shí)刻到時(shí)刻本船經(jīng)過(guò)的路程,則代表從采取避碰措施偏離原來(lái)航線到復(fù)航至原來(lái)的航線上的實(shí)際避碰航線的總長(zhǎng)度;③航線偏離適應(yīng)度點(diǎn)路: 其中為在避碰過(guò)程中實(shí)際位置與原航線的對(duì)應(yīng)時(shí)刻的對(duì)應(yīng)位置之間的偏移距離。上述定義中的代表時(shí)刻??傔m應(yīng)度函數(shù),其中為路徑長(zhǎng)度和偏離度的權(quán)重,且滿足。時(shí)刻的總適應(yīng)度函數(shù)。
2 船舶避碰仿真系統(tǒng)設(shè)計(jì)
2.1船舶避碰仿真系統(tǒng)界面設(shè)計(jì)
本文在MATLAB GUI界面下設(shè)計(jì)船舶避碰系統(tǒng)的仿真界面并對(duì)避碰算法進(jìn)行仿真驗(yàn)證。本文設(shè)計(jì)的船舶避碰系統(tǒng)的仿真界面如圖2所示。該船舶避碰仿真界面主要設(shè)計(jì)了本船和臨近干擾船的相關(guān)參數(shù),包括初始位置、目標(biāo)位置及速度等信息,用來(lái)模擬AIS的數(shù)據(jù)源。
2.2船舶避碰仿真系統(tǒng)軟件設(shè)計(jì)
在船舶避碰仿真程序的設(shè)計(jì)過(guò)程中,通過(guò)輸入本船與干擾船的相關(guān)參數(shù),模擬AIS的監(jiān)測(cè)結(jié)果,完成程序的初始條件設(shè)定。設(shè)置了本船與干擾船之間對(duì)遇與交叉會(huì)遇的兩種狀態(tài),通過(guò)調(diào)用第1節(jié)的遺傳算法,最終得到最優(yōu)避碰路徑。船舶避碰系統(tǒng)的主程序流程圖如圖3所示。
3 基于AIS數(shù)據(jù)的避碰仿真
3.1基于天拓三號(hào)星載AIS數(shù)據(jù)的船舶交叉案例
本節(jié)首先給出一個(gè)基于真實(shí)星載AIS數(shù)據(jù)的船舶交叉的案例。國(guó)防科技大學(xué)2015年發(fā)射了我國(guó)第二顆AIS微納衛(wèi)星[11]。天拓三號(hào)星載AIS載荷是我國(guó)第二代星載AIS,優(yōu)勢(shì)在于它擁有更好的覆蓋范圍,極大地提高了信號(hào)偵收能力;并且,天拓三號(hào)的AIS系統(tǒng)實(shí)現(xiàn)了對(duì)每一條信息的精確時(shí)間顯示,為今后實(shí)現(xiàn)對(duì)海面船舶進(jìn)行連續(xù)跟蹤與監(jiān)視提供了良好的技術(shù)基礎(chǔ)[13]。
圖4給出兩船交叉會(huì)遇的例子。A船最初位置的經(jīng)緯度為(121.0760, 27.2450),B船所在的位置為(121.0760, 27.3450),兩船舶航行方向成一個(gè)夾角,兩船最初的相距11.1195公里,經(jīng)過(guò)一段時(shí)間的航行,兩船之間的距離不斷減少,最終在A船所在位置為(121.6640,27.3250),B船所在位置為(121.6640,27.3450),兩船舶的距離為2.2239公里。兩船小于最小預(yù)警距離(3公里),如果不采取避碰措施,兩船將很快相撞。
3.2船舶交叉會(huì)遇避碰仿真分析
以3.1小節(jié)的例子為藍(lán)本對(duì)兩船交叉會(huì)遇進(jìn)行兩船交叉避碰仿真分析。本船與干擾船(來(lái)船)的初始會(huì)遇態(tài)勢(shì)如圖5所示。圖中,紅色方框和黑色圓圈分別代表本船和干擾船的初始位置;紅色實(shí)線和黑色實(shí)線分別表示本船和干擾船的初始航線。本船的航速為14.4 kn,本船的航向45°;干擾船的航速是也是14.4 kn,干擾船的航向是270°,與本船的相對(duì)方位是225°,與本船之間的距離是8.2nmile。兩船安全會(huì)遇距離為1.55 nmile,約為2.87 km。當(dāng)本船與干擾船的距離小于安全距離時(shí),則本船與來(lái)船存在碰撞危險(xiǎn),需要采取避碰行動(dòng),用避碰算法進(jìn)行避讓航線選擇。
在兩船交叉仿真中,根據(jù)《規(guī)則》的相關(guān)要求,當(dāng)兩艘機(jī)動(dòng)船交叉相遇致有構(gòu)成碰撞危險(xiǎn)時(shí),有干擾船在本船右舷的船舶應(yīng)給他船讓路,如當(dāng)時(shí)環(huán)境許可,還應(yīng)避免橫越他船的前方。因此在遺傳算法控制下,令干擾船保速保向而只讓本船采取向右轉(zhuǎn)向進(jìn)行避讓行動(dòng)。
圖5為兩船在交叉情況下不采取避碰措施和調(diào)用遺傳算法進(jìn)行避碰的仿真結(jié)果。上圖為不調(diào)用遺傳算法時(shí)候的兩船航行狀態(tài)。在此情況下,兩船都沿著既定行駛路線繼續(xù)航行,則在某時(shí)刻本船與干擾船會(huì)相撞;下圖為調(diào)用遺傳算法子程序的時(shí)候的兩船航行狀態(tài),紅色虛線代表本船原來(lái)的航線,紅色實(shí)線代表避碰航線。調(diào)用遺傳算法,使用避碰程序設(shè)定干擾船與本船的初始狀態(tài)參數(shù)后,應(yīng)用隨機(jī)的方式產(chǎn)生初始種群,該種群中包括一條初始的路徑。然后利用已經(jīng)尋找到的適應(yīng)度函數(shù)對(duì)每一條初始遺傳算法在船舶避碰行動(dòng)決策中的應(yīng)用研究路徑進(jìn)行相應(yīng)的評(píng)價(jià),最后尋找出初始種群中適應(yīng)度函數(shù)值最大的一條初始路徑,這條路徑就是我們所要尋找的最佳的初始路徑,如圖5下圖所示。
本節(jié)案例仿真結(jié)果表明,在兩船對(duì)遇的情況下,本船執(zhí)行避碰策略,在判斷可能存在與干擾船的對(duì)遇碰撞的時(shí)候通過(guò)遺傳算法得到向右轉(zhuǎn)向的策略從而避免與干擾船碰撞,最終完成與對(duì)遇干擾船的避碰過(guò)程。結(jié)果表明避碰算法是合理可行的。
4 結(jié)論
本文基于遺傳算法研究船舶自動(dòng)避碰策略并構(gòu)建了一個(gè)避碰演示系統(tǒng)進(jìn)行仿真驗(yàn)證。首先定義了確保安全距離下的最短復(fù)航路程作為適應(yīng)度函數(shù)。該適應(yīng)度函數(shù)包括安全性適應(yīng)度、路徑總長(zhǎng)適應(yīng)度和航線偏離適應(yīng)度三個(gè)適應(yīng)度。在此基礎(chǔ)上,根據(jù)對(duì)船舶運(yùn)動(dòng)參數(shù)進(jìn)行計(jì)算來(lái)建立碰撞危險(xiǎn)模型并分析其避讓責(zé)任及相應(yīng)的避碰決策。其次構(gòu)建了一個(gè)簡(jiǎn)單的仿真平臺(tái)對(duì)避碰算法進(jìn)行仿真驗(yàn)證,分別以兩船的對(duì)遇和交叉情況來(lái)進(jìn)行驗(yàn)證,實(shí)現(xiàn)以上兩種情況下的仿真,來(lái)驗(yàn)證算法的有效性。仿真結(jié)果表明,基于遺傳算法的避碰模型能夠?qū)⒆顑?yōu)良的基因保留下來(lái)從而進(jìn)化出更加強(qiáng)大、更適合生存的基因,從而得到最優(yōu)的避碰航線完成船舶避碰。
本文的研究主要構(gòu)建仿真平臺(tái)進(jìn)行仿真分析以驗(yàn)證算法的可行性,下一步將結(jié)合實(shí)際的AIS數(shù)據(jù)進(jìn)行實(shí)際應(yīng)用。
參考文獻(xiàn):
[1]李曉松, 孔憲衛(wèi). 船舶碰撞事故致因及管控措施研究[J]. 水道港口, 2019, 40(3):313-318.
[2]李麗娜, 陳聰貴. 船舶自動(dòng)避碰方法的研究[J]. 中國(guó)航海, 1999, 22(1):20-24.
[3]鄭中義, 吳兆麟. 交叉相遇局面中船舶避碰行動(dòng)的不確定性[J]. 中國(guó)航海, 2000, 23(02):56-61.
[4]楊帆, 劉克中. 船舶智能避碰軟件開(kāi)發(fā)的研究[J]. 武漢交通科技大學(xué)學(xué)報(bào), 2000, 24(5):580-582.
[5]畢修穎, 賈傳熒, 吳兆麟,等. 船舶避碰行動(dòng)領(lǐng)域模型的研究[J]. 大連海事大學(xué)學(xué)報(bào), 2003, 24(01):9-12.
[6]胥文, 胡江強(qiáng), 尹建川,等. 基于模糊理論的船舶復(fù)合碰撞危險(xiǎn)度計(jì)算[J]. 艦船科學(xué)技術(shù), 2017, 39(7):78-84.
[7]倪生科, 劉正江, 蔡垚,等. 基于混合遺傳算法的船舶避碰路徑規(guī)劃[J]. 上海海事大學(xué)學(xué)報(bào), 2019, 40(1):21-26.
[8]崔瑾娟. 基于遺傳算法規(guī)劃路徑的船舶避碰系統(tǒng)[J]. 艦船科學(xué)技術(shù), 2019,41(6A):43-45.
[9]吉根林. 遺傳算法研究綜述[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2004, 21(2): 69-73.
[10]海司航保部. 1972年國(guó)際海上避碰規(guī)則[M]. 人民交通出版社, 1978.
[11] LI S Y, CHEN X Q, CHEN L H, et al. Data Reception Analysis of the AIS on board the TianTuo-3 Satellite [J]. The Journal of Navigation, 2017b, doi:10.1017/S0373463316000916.
基金項(xiàng)目:湖南省教育廳優(yōu)秀青年項(xiàng)目(編號(hào)18B572);湖南省自然科學(xué)基金資助項(xiàng)目(編號(hào)2020JJ4451)。