劉芳武
(南通航運(yùn)職業(yè)技術(shù)學(xué)院 航海系,江蘇 南通226010)
在開放水域中,如何實(shí)現(xiàn)多船舶的自動(dòng)導(dǎo)航?jīng)Q策,是船舶導(dǎo)航及避免碰撞的關(guān)鍵問題之一。在文獻(xiàn)[1-5]中,學(xué)者提出了多種解決方案,然而卻在不同程度上難以應(yīng)用在實(shí)際應(yīng)用場景中。由于人腦決策的靈活性和動(dòng)態(tài)性,設(shè)計(jì)一種自動(dòng)化的決策系統(tǒng)模擬人類解決問題的過程十分困難。專家系統(tǒng)(Expert System,ES)通過領(lǐng)域知識(shí)和推理規(guī)則,能夠根據(jù)相應(yīng)的場景為船舶提供決策依據(jù),然而在多艘船舶的情況下,建立知識(shí)庫的開銷較大,且使用效率較低。決策支持系統(tǒng)(Decision Support System,DDS)將知識(shí)推理和數(shù)值計(jì)算結(jié)合起來,相比于ES 能夠提供更強(qiáng)大的決策能力,同時(shí)能夠和神經(jīng)網(wǎng)絡(luò)、遺傳算法等經(jīng)典算法結(jié)合,提供更加精確和靈活的分析決策能力。然而,在實(shí)際使用過程中,不僅需要對于信息的分析和處理能力,同時(shí)還可能需要信息的交互、學(xué)習(xí)、預(yù)測等,因而DDS 仍需要進(jìn)一步改進(jìn)。
智能體是工作在特定環(huán)境中,擁有一定屬性和特征,能夠根據(jù)相應(yīng)指令,感知環(huán)境和執(zhí)行動(dòng)作的實(shí)體。多智能體系統(tǒng)(Multi-Agent System,MAS)是一種重要的軟件模型,用來解決分布式、異構(gòu)環(huán)境中的信息分析和決策問題。MAS的這一特性非常適合應(yīng)用于船舶碰撞避免領(lǐng)域。通過在不同船舶上部署MAS,則各個(gè)船舶能夠采集信息、感知變化、交換信息、判斷態(tài)勢及分析決策等。為實(shí)現(xiàn)以上功能,需要將不同類型、不同來源、不同層次之間的信息進(jìn)行融合,因而需要精確高效的信息融合方法。
本文提出一種基于多智能體信息融合的船舶碰撞避免系統(tǒng)。該系統(tǒng)包含船舶智能體和VTS 智能體。并擁有源數(shù)據(jù)融合層、多群組融合層及分布式融合層3個(gè)信息融合層次。通過對本文設(shè)計(jì)系統(tǒng)的分析與實(shí)驗(yàn)驗(yàn)證,證明本文提出方案的可行性和有效性。
本系統(tǒng)中包含2 種應(yīng)用智能體:船舶智能體和VTS 智能體;2 種控制智能體:系統(tǒng)智能體和群組智能體。幾種智能體間的相互關(guān)系如圖1所示。
圖1 智能體間關(guān)系圖Fig.1 Relationship between agents
如圖1所示,在系統(tǒng)中船舶和VTS 可以被建模為應(yīng)用智能體,應(yīng)用智能體自身具有一定的信息分析和處理能力,并能夠利用自身的知識(shí)庫和功能解決某些特定問題,而控制智能體則能夠?qū)?yīng)用智能體進(jìn)行控制。系統(tǒng)智能體能夠創(chuàng)建或刪除應(yīng)用船舶智能體,而群組智能體可以通過用戶接口交換信息、分配系統(tǒng)資源、消除沖突等。當(dāng)風(fēng)險(xiǎn)發(fā)生時(shí),多個(gè)相關(guān)的船舶智能體自動(dòng)組成一個(gè)群組,同時(shí)每個(gè)形成的群組被分配一個(gè)群組智能體進(jìn)行統(tǒng)一管控。需要注意的是,一個(gè)群組可能包含多個(gè)船舶智能體,同時(shí)一個(gè)船舶智能體也可能屬于不同的群組。
利用面向?qū)ο蟮木幊谭椒ǎ爸悄荏w被定義為CA_Ship 類,其包含有若干屬性和操作,用來描述該智能體擁有的特征和執(zhí)行的動(dòng)作。CA_Ship的結(jié)構(gòu)如圖2所示。
圖2 CA_Ship 類結(jié)構(gòu)圖Fig.2 The structure of CA_Ship class
CA_Ship的操作由5 部分組成:Ship_Calculation包含,地理位置分析計(jì)算、碰撞風(fēng)險(xiǎn)計(jì)算及轉(zhuǎn)向效果計(jì)算等基本計(jì)算功能;通過預(yù)先制定的推理規(guī)則,Ship_Reasoning 可以根據(jù)已有知識(shí)作出判斷或得出結(jié)論;通過特定的方案策略,Ship_Planning可以根據(jù)當(dāng)前碰撞風(fēng)險(xiǎn)作出調(diào)整航向的規(guī)劃;Ship_Communication 用來實(shí)現(xiàn)不同船舶間的通信,而Ship_Learning 則通過多種機(jī)器學(xué)習(xí)算法,提高系統(tǒng)的分析決策能力。
與船舶智能體類的定義方法類似,VTS 智能體被定義為CA_VTS 類,該類的基本結(jié)構(gòu)如圖3所示。
圖3 CA_VTS 類結(jié)構(gòu)圖Fig.3 The structure of CA_VTS class
CA_VTS 與CA_Ship 有以下不同:
首先,CA_Ship 類中的某些屬性同樣包含在CA_VTS 類中,因此VTS 智能體擁有船舶智能體的所有信息;同時(shí),CA_VTS 類也含有一些CA_Ship所不具有的信息,并將這些信息分別存儲(chǔ)在VTS_Data和VTS_Knowledge 中。
其次,VTS_Computation 包含了更多的計(jì)算功能;通過信息融合算法,VTS_Planning 能夠?yàn)槿航M中的船舶提供碰撞避免方案,減少群組中船舶碰撞風(fēng)險(xiǎn);同時(shí),VTS 智能體也具備更加豐富的信息管理和學(xué)習(xí)機(jī)制,從而能夠?qū)崿F(xiàn)更加復(fù)雜的業(yè)務(wù)。
對于船舶智能體和VTS 智能體來說,在決策各個(gè)階段需要對不同類型和來源的信息進(jìn)行綜合分析,因而信息的融合非常必要。
如圖4所示,多智能體信息融合模型包含3個(gè)融合層次,并且在每個(gè)層次中使用不同的融合方法。
1.池塘準(zhǔn)備 3月初,池塘施用75kg/畝生石灰進(jìn)行干法清塘,3天后排干池水曬塘。放苗前10天左右,池塘水位加至10cm,以4~5m的行距、2~3m的株距種植輪葉黑藻。種植一周后提高水位至50cm左右,根據(jù)池塘肥力,放苗前7天左右使用一次生物肥,培育生物餌料。池塘進(jìn)水用100目長筒狀篩絹網(wǎng)過濾,防止敵害進(jìn)入。前期保持較低水位,有利于輪葉黑藻生長和水體升溫。
圖4 信息融合模型結(jié)構(gòu)圖Fig.4 The structure of information fusionmodel
通過源數(shù)據(jù)融合層次的信息融合,船舶智能體能夠?qū)@取的其他船舶智能體的屬性值與自身的屬性值結(jié)合起來,從而做出一些重要的判斷和決策。因此,源數(shù)據(jù)融合層次可分為多周期融合和多對象融合2個(gè)步驟。其中,多周期融合可以用來跟蹤和識(shí)別其他船舶智能體。
定義1:對每個(gè)船舶智能體,定義其自身的屬性集為WOj={latitude,longitude,course,speed,risk,……},由船舶智能體i 發(fā)送的屬性集定義為WTij={latitude,longitude,course,speed,……},同時(shí)定義兩者在第j個(gè)周期內(nèi)的相對屬性集為WRij={distance,bearing,course,speed,DCPA,TCPA,risk,……}。
則WRij由WOi和WTij計(jì)算可得:
式中:f(WOk,WTjk)為利用WO和WT 計(jì)算WR的函數(shù);N 為工作周期數(shù)量。
多對象融合過程用來估計(jì)當(dāng)前情況下,本船舶與其他船舶智能體發(fā)生碰撞的危險(xiǎn)程度。
定義2:對于每個(gè)船舶智能體,在第j個(gè)工作周期內(nèi),其與船舶智能體i 發(fā)生碰撞的風(fēng)險(xiǎn)如下:
其中λ 為在不同條件下DCPA的門限值。
定義3:對于每個(gè)船舶智能體,在第j個(gè)工作周期內(nèi),與其他M 各船舶智能體碰撞的風(fēng)險(xiǎn)為:
對每個(gè)船舶智能體來說,在制定碰撞避免方案時(shí),需要知道哪些船舶智能體的航線需要被分析和考慮。因而,需要形成相應(yīng)的群組,實(shí)現(xiàn)多個(gè)船舶智能體之間的信息交換和協(xié)商。群組的形成包括2個(gè)步驟:
步驟1:創(chuàng)建群組。對于船舶智能體k 來說,在第j個(gè)周期創(chuàng)建群組NUk的規(guī)則如下:
其中Dist_min 為船舶之間可能發(fā)生碰撞的距離門限。因而在系統(tǒng)中所有的群組可以記為NU={NU1,NU2,…,NUM},其中M 為系統(tǒng)中船舶智能體的總數(shù)。
步驟2:群組結(jié)合。若對于任意2個(gè)NUi∈NU,NUj∈NU,若存在NUi?NUj,則從NU 中刪除NUi。
重復(fù)步驟2 可知,在NU 中,任意2個(gè)NUk間沒有包含關(guān)系。存在NU={NU1,NU2,NU3,NU4},其中
由于NU2?NU1,且NU4?NU3,則最終經(jīng)過融合的NU={{Ship_Agent1,Ship_Agent2,Ship_Agent3},{Ship_Agent1,Ship_Agent3,Ship_Agent4}}。
通過以上層次的信息融合,每個(gè)Ship_Agent 均能夠得出在本UN 內(nèi),如何降低和其他船舶碰撞風(fēng)險(xiǎn)的方案。一種典型的方案如圖5所示。
圖5 碰撞避免方案示意圖Fig.5 Collision avoidance plan
在碰撞避免方案中,共有3 種動(dòng)作被使用,即保持、轉(zhuǎn)向和回復(fù)。在3 種動(dòng)作的執(zhí)行過程中,最重要的3個(gè)參數(shù)是:操作類型(O_Type)、操作幅度(O_Size)及操作時(shí)間(O_Time),因此,一個(gè)碰撞避免方案能夠被描述為以下形式:
不同船舶制定的碰撞避免方案,可能存在一定程度的不一致,為了消除這種不一致,需要由VTS_Agent 執(zhí)行方案融合算法,如下所示:
其中方法PlanEvaluation的作用是計(jì)算方案的優(yōu)先級(jí),優(yōu)先級(jí)越大方案越優(yōu)。
為了驗(yàn)證本文提出方案的可行性,在仿真環(huán)境中實(shí)現(xiàn)并測試本文提出的方法,如圖6所示,為2艘船舶相遇的場景。
對于Ship_ Agent1 來說,其自身計(jì)算得出的方案為:
該方案在圖6 中標(biāo)出,同時(shí)被選為優(yōu)先級(jí)最高的方案。由于產(chǎn)生的方案個(gè)數(shù)非常多,因此僅僅標(biāo)識(shí)出VTS_Agent 挑選出的最優(yōu)方案Plan2,該P(yáng)lan的內(nèi)容為:Ship_Agent1 向右轉(zhuǎn)40°,然后航行8 min,Ship_Agent2 向右轉(zhuǎn)10°,然后航行8 min,該方案的優(yōu)先級(jí)為13.67,大于2 艘船舶自身計(jì)算的方案的優(yōu)先級(jí)之和12.40 (兩者分別為4.42和7.98)。
本文提出了一種應(yīng)用于船舶碰撞避免的信息融合模型,該模型包含源數(shù)據(jù)融合、多群組融合及方案融合3個(gè)融合層次。每個(gè)Ship_Agent 能夠通過源數(shù)據(jù)融合過程計(jì)算出多個(gè)碰撞避免方案,從而減少碰撞的風(fēng)險(xiǎn)。同時(shí)不同的群組被創(chuàng)建,包含了不同的船舶和方案,VTS_Agent 能夠?qū)⑻幱谕蝗航M的方案進(jìn)行集成和修改,并選出最優(yōu)的方案分發(fā)給相應(yīng)的Ship_Agent。最后,本文采用實(shí)驗(yàn)仿真,驗(yàn)證了本文提出方案的可行性和高效性。
[1]HARA K,HAMMER.A safe way of collision avoidance maneuver based onmaneuvering standard using fuzzy reasoning model[J].MARSIM,1993(3):163-170.
[2]YANG Chun-sheng.An expert system for collision avoidance and its application[D].Japan:Hiroshima University,1995.
[3]SATO Y,ISHII H.Study of collision-avoidance system for ships[J].Control Engineering Practice,1998(6):1141-1149.
[4]HWANG C.The integrated design of fuzzy collision avoidance and autopilots on ships [J].The Journal of Navigation,2002(55):117-136.
[5]余建星,張謙,馬維林.穿梭游輪與浮筒碰撞的有限元分析[J].艦船科學(xué)技術(shù),2014,36(1):89-96.
[6]陳建華,陳衛(wèi)紅,劉科.基于模糊神經(jīng)網(wǎng)絡(luò)的一種船舶碰撞危險(xiǎn)度計(jì)算方法[J].艦船科學(xué)技術(shù),2008,30(2):121-126.