王建華 ,鄭翔 ,馬偉剛 ,魏鵬
1. 上海海事大學,上海市 浦東新區(qū) 201306
2. 上海臨港海洋高新技術產業(yè)發(fā)展有限公司,上海市 浦東新區(qū) 201306
隨著無人船行業(yè)發(fā)展應用,出現(xiàn)了無人船和人工駕駛船舶混合航行的新情況,無人船遵守國際海上避碰規(guī)則的問題逐漸成為業(yè)界關注的焦點。國際海事組織于1972年制定了國際海上避碰規(guī)則公約(COLREGS-International Regulations for Preventing Collision At Sea,1972),雖然目前的法律條文對無人船在自主避障時是否應該遵守該規(guī)則沒有明確的規(guī)定,但國際上一些領先的無人船研究機構已對這個問題進行了深入的研究,本文介紹目前文獻中的一些典型方法。
在無人船自主避障的研究文獻中,涉及的國際海上避碰規(guī)則主要包括如下幾條:
第七條 碰撞危險
(1)每一船都應使用適合當時環(huán)境和情況的一切可用手段判斷是否存在碰撞危險,如有任何懷疑,則應認為存在這種危險。(2)在判斷是否存在碰撞危險時,考慮的因素中應包括下列各點:1)如果來船的羅經方位沒有明顯的變化,則應認為存在這種危險;2)即使有明顯的方位變化,有時也可能存在這種危險,特別是在駛近一艘很大的船或拖帶船組時,或是在近距離駛近他船時。
第八條 避免碰撞的行動
(1)為避免碰撞所采取的任何行動必須遵循本章各條規(guī)定,如當時環(huán)境許可,應是積極的,應及早地進行和充分注意運用良好的船藝。(2)為避免碰撞而作的航向和(或)航速的任何改變,如當時環(huán)境許可,應大得足以使他船用視覺或雷達觀測時容易察覺到;應避免對航向和(或)航速作一連串的小改變。(3)如有足夠的水域,則單用轉向可能是避免緊迫局面的最有效行動,只要這種行動是及時的、大幅度的并且不致造成另一緊迫局面。(4)為避免與他船碰撞而采取的行動,應能導致在安全的距離駛過。應細心查核避讓行動的有效性,直到最后駛過讓清他船為止。(5)如需為避免碰撞或須留有更多時間來估計局面,船舶應當減速或者停止或倒轉推進器把船停住。(6)(a)根據(jù)本規(guī)則任何規(guī)定,要求不得妨礙另一船通行或安全通行的船舶應根據(jù)當時環(huán)境的需要及早地采取行動以留出足夠的水域供他船安全通行。(b)如果在接近他船致有碰撞危險時,被要求不得妨礙另一船通行或安全通行的船舶并不解除這一責任,且當采取行動時,應充分考慮到本章各條可能要求的行動。(c)當兩船相互接近致碰撞危險時,其通行不得被妨礙的船舶仍有完全遵守本章各條規(guī)定的責任。
第十三條 追越局面
(1)任何船舶在追越任何他船時,均應給被追越船讓路。(2)一船正從他船正橫后大于 22.5°的某一方向趕上他船時,即該船對其所追越的船所處位置,在夜間只能看見被追越船的尾燈而不能看見它的任一舷燈時,應認為是在追越中。(3)當一船對其是否在追越他船有任何懷疑時,該船應假定是在追越,并應采取相應行動。(4)隨后兩船間方位的任何改變,都不應把追越船作為本規(guī)則條款含義中所指的交叉相遇船,或者免除其讓開被追越船的責任,直到最后駛過讓清為止。
第十四條 對遇局面
(1)當兩艘機動船在相反的或接近相反的航向上相遇致有構成碰撞危險時,各應向右轉向,從而各從他船的左舷駛過。(2)當一船看見他船在正前方或接近正前方,在夜間能看見他船的前后桅燈成一直線或接近一直線和(或)兩盞舷燈;在白天能看到他船的上述相應形態(tài)時,則應認為存在這樣的局面。(3)當一船對是否存在這樣局面有任何懷疑時,該船應假定確實存在這種局面,并應采取相應的行動。
第十五條 交叉相遇局面
當兩艘機動船交叉相遇致有構成碰撞危險時,有他船在本船右舷的船舶應給他船讓路,如當時環(huán)境許可,還應避免橫越他船的前方。
第十六條 讓路船的行動
須給他船讓路的船舶,應盡可能及早地采取大幅度的行動,寬裕地讓清他船。
第十七條 直航船的行動
(1)(a)兩船中的一船應給另一船讓路時,另一船應保持航向和航速。(b)然而,當保持航向和航速的船一經發(fā)覺規(guī)定的讓路船顯然沒有遵照本規(guī)則條款采取適當行動時,該船即可獨自采取操縱行動,以避免碰撞。(2)當規(guī)定保持航向和航速的船,發(fā)覺本船不論由于何種原因逼近到單憑讓路船的行動不能避免碰撞時,也應采取最有助于避碰的行動。(3)在交叉相遇局面下,機動船按照本條 1 款第二項采取行動以避免與另一艘機動船碰撞時,如當時環(huán)境許可,不應對在本船左舷的船采取向左轉向。(4)本條并不解除讓路船的讓路義務。
(1)速度障礙
速度障礙法(VO - Velocity Obstacles)最早于1993年的機器人與自動化國際會議(ICRA 93)上由噴氣推進實驗室的Paolo Fiorini等學者提出,后經不斷改進,目前已成為無人系統(tǒng)避障方法的一個主要技術分支,其基本思想包括碰撞錐和避讓速度。
1) 碰撞錐與速度障礙
碰撞錐是速度障礙法的基礎,可由圖1來說明。假設t0時刻無人船中心位于A點,速度為VA;障礙物中心位于B1點,速度為VB1;無人船和障礙物的大小都簡化為不同半徑的圓盤,如圖1(a)所示。為便于計算,將無人船收縮到中心點,將無人船的半徑加到障礙物上,形成擴大的障礙物圓盤,如圖1(b)所示,無人船與障礙物之間的相對速度VA,B1=VAVB1,如果該相對速度的方向穿過障礙物圓盤,無人船將與障礙物在后續(xù)某一時刻發(fā)生碰撞,所以由兩條切線λr和λf圍成的錐形區(qū)域CCA,B1稱為碰撞錐。如果相對速度位于碰撞錐外,無人船與障礙物將不會發(fā)生碰撞。如果考慮無人船的絕對速度,可用障礙物的速度VB1對碰撞錐CCA,B進行平移,得到速度障礙(V0),如圖1(c)所示。
碰撞錐是基于相對速度的概念,速度障礙是基于絕對速度的概念,它們將無人船的速度空間劃分為碰撞和避碰兩個區(qū)域。如果無人船的速度位于碰撞錐或速度障礙的邊界,無人船將與障礙物擦刮而過。
無人船相對于每個障礙物有一個速度障礙,如果考慮多個障礙物,可將多個速度障礙進行疊加,如圖2所示為兩個障礙物和的速度障礙疊加。這時,為避免與任一障礙物碰撞,應選擇無人船的速度位于各障礙速度的并集之外。
2) 避讓速度
碰撞錐要求無人船的速度位于速度障礙區(qū)域之外,但速度的改變需要動力系統(tǒng)的支持。無人船在t0時刻的可行加速度(FA - Feasible Acceleration)由動力系統(tǒng)配置、船體結構和操縱約束決定,假設無人船的可行加速度范圍如圖3中的平行四邊形所示,經過時間Δt后無人船的可達速度為RV(Reachable Velocity)。
可達避讓速度(RAV - Reachable Avoidance Velocity)定義為可達速度RV和速度障礙V0之差,如圖4(a)所示,由Sr和Sf兩個不相鄰的部分構成。對于多個障礙物,可達避讓速度可由多個不相鄰的區(qū)域構成,如圖4(b)所示。為避開障礙物,無人船可在可達避讓速度中選取適合的避讓速度。
(2)最近會遇點
最近會遇點(CPA - Closest Point of Approach)是他船駛過時距本船距離最小的位置點,CPA的計算是船舶避碰的基本問題。對于人工駕駛船舶,CPA是舵手在進行避碰決策時的重要參考;對于無人船,CPA是避碰決策空間中的關鍵元素,麻省理工學院計算機科學與人工智能實驗室(CSAIL)海洋機器人組Michael R.Benjamin團隊在CPA的計算方面做了深入的研究工作。
1) 最近會遇點問題描述
Michael R. Benjamin在2002年5月提交的博士學位論文中,對最近會遇點問題進行了詳細描述。無人船的操舵模塊由行為和優(yōu)化引擎構成,優(yōu)化引擎負責動作的選擇,動作向量空間包含航向 θ、速度v和持續(xù)時間t。操舵模塊通過傳感器感知本船的位置、航向和速度[x y θ v]以及他船的位置、航向和速度[xbybθbbv],輸出一個備選動作的三維向量 ,最近會遇點CPA是評價備選動作[θ v t]的重要指標,由到達最近會遇點的時間TCPA和最近距離DCPA表示。
圖1 碰撞錐示意圖
圖2 多障礙物碰撞錐
圖3 可行加速度約束
對于給定的備選動作[θ v t],要計算在最近會遇點時兩船間距離DCPA,首先要計算達到最近會遇點的時間TCPA。假設初始時刻本船的位置在[x(t0) y(t0)],他船位置為[xb(t0) yb(t0)],在被選動作[θ v t]完成后,本船和他船的位置分別為:
它們之間的距離為:
其中,
當兩船并行行駛時,k2=0,可令TCPA=0;如果說明兩船已駛過最近點,也令TCPA=0。在求出達到最近會遇點時間后,即可求出在最近會遇點時兩船間距離,
2) 分層緩沖CPA快速計算方法
如果兩船的航速和航向保持不變,CPA可由上述公式求得。但當兩船的航速和航向隨時間變化時,需要通過迭代方法求解CPA,這需要耗費處理器的大量時間,特別是當本船周圍有多艏他船需要避讓時,這就對處理器提出了挑戰(zhàn)。為此,2017年9月在Anchorage舉行的OCEANS’17會議上Michael R. Benjamin團隊發(fā)表了一種分層緩沖的CPA快速計算方法。
圖4 可達避讓速度示意圖
分層緩沖CPA快速計算方法由三部分構成:內層循環(huán)、外層循環(huán)和CPA計算引擎。對于本船的所有可能軌跡,內層循環(huán)進行CPA計算;對于他船的所有可能軌跡,外層循環(huán)調用內層循環(huán)進行CPA計算;對于給定的本船和他船軌跡,計算引擎進行CPA計算;將不變的參數(shù)進行靜態(tài)緩存,以提高計算效率。
內層循環(huán)算法如圖5所示,對于給定的他船位置、航向和速度[xcnycnθcnvcn],以及本船的位置[xosyos],在決策空間D中計算本船所有可能機動[θ v]時的CPA,如圖6所示是一次計算結果。
圖5 內層循環(huán)算法
圖6 內層循環(huán)CPA計算結果之一
外層循環(huán)算法如圖7所示,對于給定的他船位置[xcnycn]和本船的位置[xosyos],改變他船的航向和速度,調用內層循環(huán),計算本船所有可能機動[θ v]時的CPA,如圖8所示。
圖7 外層循環(huán)算法
圖8 內層循環(huán)CPA計算結果之二
圖9 CPA計算引擎
CPA計算引擎如圖9所示,對于給定的他船位置、航向和速度[xcnycnθcnvcn],以及本船的位置、航向和速度[xosyosθosvos],計算對應的CPA。在內層循環(huán)的每次CPA計算中,一些參數(shù)[xcnycnθcnxosyos]不變,相關項可以進行靜態(tài)緩存,以提高速度,如圖10所示。
圖10 靜態(tài)緩存方法
基于速度障礙的方法
基于速度障礙(VO)的方法由噴氣推進實驗室(JPL)的Yoshiaki Kuwata等學者在2014年1月的IEEE海洋工程期刊上發(fā)表,具有較高的計算效率,進行了充分的水面實驗驗證。
(1) COLREGS速度障礙約束
上節(jié)介紹的速度障礙V0是理想的情況,假設本船和他船的速度均不變。如果考慮速度變化等不確定因素,碰撞錐將擴大。如圖11所示,紅線內灰色區(qū)域是無人船A相對于來船B在理想情況下的碰撞錐,稱為硬約束;黃色區(qū)域是考慮不確定因素時碰撞錐的變化,稱為軟約束,以提供一個安全緩沖區(qū)。包括黃色區(qū)域的碰撞錐稱為最壞情況下的碰撞錐,或最壞情況下的速度障礙(WVO)。
由于碰撞錐已包含無人船應該從來船哪一側通過的信息,因此,可將COLREGS規(guī)則看作速度空間中的一組約束。如圖11所示的可行速度空間可分為三個區(qū)域:如果無人船選擇區(qū)域V3中的速度,它將離開障礙物,不會發(fā)生碰撞;如果無人船選擇區(qū)域V1中的速度,它將從來船的右側通過,在無人船追越他船、對遇和來船在右側的交叉相遇局面,不可選擇區(qū)域V1中的速度;如果無人船選擇區(qū)域V2中的速度,它將從來船的左側通過。
(2) 規(guī)則選擇
6.利用多種德育載體,拓寬德育教育渠道。一是加強德育網站建設,創(chuàng)建和豐富學校德育網站,利用網站對學生進行德育教育和網絡道德教育。二是樹立榜樣和典型,發(fā)揮模范作用。三是加強社團建設,豐富學生校園文化生活,拓寬德育教育渠道。
規(guī)則選擇器首先針對無人船和周圍來船的當前位置和速度計算最近會遇點(CPA),根據(jù)如圖12所示的幾何約束,評估是否有適用的COLREGS規(guī)則,只將COLREGS規(guī)則用于相關的來船,避免在每個時刻對每一艏來船的大量計算,因此提高了效率。
圖11 考慮COLREGS的速度障礙
如果發(fā)現(xiàn)碰撞局面出現(xiàn),規(guī)則選擇器需確認適用的規(guī)則,考慮四種情況:追越、對遇、從左側交叉相遇和從右側交叉相遇。由于環(huán)境感知的誤差,如果在每個時刻都作出全新的決策,那么會導致COLREGS規(guī)則的頻繁切換。為避免這種情況出現(xiàn),在系統(tǒng)中引入滯后環(huán)節(jié),并降低改變規(guī)則的頻率。一旦某一COLREGS規(guī)則被起用,它將持續(xù)一段最小的時間間隔,讓他船看到無人船的明顯意圖,這也是COLREGS規(guī)則的要求。選擇的最小時間間隔應大于無人船的動態(tài)時間常數(shù)。
為求出最優(yōu)速度矢量,在包含速度v和航向θ的決策空間構建離散網格,給定速度障礙V0和COLREGS規(guī)則約束后,代價函數(shù)為:。其中,為參考速度,WT為碰撞時間的權重,Wv為速度偏離的權重。
(3)水面試驗
COLREGS算法集成在噴氣推進實驗室研發(fā)的自主系統(tǒng)“機器人智能體指揮和傳感控制體系(CARACaS)”中,該系統(tǒng)可通過慣導感知無人船的狀態(tài),通過雷達、激光雷達、視覺系統(tǒng)和地圖服務器感知周圍環(huán)境。
試驗采用如圖13(a)所示無人戰(zhàn)斗艇,其自主航行由CARACaS控制,該艇曾完成了港口巡邏、目標跟蹤和靜態(tài)障礙物避讓的示范演示。周圍往來船只采用一艏如圖13(b)所示的12m交通艇和兩艏如圖13(c)所示的7m剛性充氣艇。試驗中無人船的目標航點在前方1000m處,航速為8kn,算法中的參數(shù)通過仿真和初始水面試驗來整定。
如圖14所示為對遇和交叉相遇局面的試驗結果。首先無人船駛向目標航點;圖14(a)中,無人船檢測到遠方有一艏7m剛性充氣艇,估計其速度很低,僅將其當靜止障礙物,無需COLREGS規(guī)則約束;隨著7m剛性充氣艇接近,無人船識別為對遇局面,COLREGS約束鼓勵向右機動避讓,如圖14(b)所示;圖14(c)中,無人船檢測到另一艏7m剛性充氣艇從前方接近,識別兩艏充氣艇都為對于局面,繼續(xù)向右機動;當無人船繞過兩艏充氣艇時, 12m充氣艇從右側接近,識別為交叉相遇局面,如圖14(d)所示,對遇和來船在右側的COLREGS規(guī)則均要求無人船向右機動;圖14(e)中,無人船成功避讓來船,繼續(xù)駛向目標航點。
圖12 選擇COLREGS規(guī)則的幾何約束
圖13 水面試驗用船
圖14 水面試驗結果
基于行為的多目標優(yōu)化
國際海上避碰規(guī)則(COLREGS)是指導船舶駕駛員的文件,不能直接輸入無人船的控制系統(tǒng)。在擁擠的水域,有時COLREGS的多條規(guī)則可能同時有效,也可能有多種不同的機動選擇可滿足規(guī)則要求,人工駕駛可靈活處理這些規(guī)則沖突,但給無人船自主控制系統(tǒng)提出嚴峻挑戰(zhàn)。為此,麻省理工學院海洋工程中心和牛津大學工程科學系的聯(lián)合團隊Michael R.Benjamin、Paul M. Newman等學者于2006年的機器人與自動化國際會議(ICRA2006)上發(fā)表了一種基于行為的多目標優(yōu)化方法,將COLREGS的規(guī)則轉化為行為,目前已得到較多的應用。
(1) 基于行為的控制
基于行為的控制最早于1985年由麻省理工學院人工智能實驗室的R. Brooks博士提出,隨后廣泛應用于室內機器人、野外機器人、太空機器人和海洋機器人,其優(yōu)點是:獨立模塊便于研發(fā),不需要單個復雜的世界模型,對于在動態(tài)環(huán)境中具有由事件觸發(fā)的行為的快速反應機器人尤具潛力,所以適于遵守COLREGS的無人水面艇避碰這樣的復雜場景應用。
圖15 傳統(tǒng)控制與基于行為的控制
如圖15所示是傳統(tǒng)控制與基于行為的控制比較,左圖的傳統(tǒng)控制是感知—規(guī)劃—動作的回路,其中的規(guī)劃或者決策基于單一的世界模型;在右圖基于行為的系統(tǒng)中,無人船的控制是一組相互獨立的模塊共同工作,選擇出一個適當?shù)膭幼鳎磮?zhí)行的驅動,一般用向量表達。動作空間是所有可能動作的集合,例如無人船可能的航向θ和速度v 組合。
(2) 基本行為的目標函數(shù)
在多目標優(yōu)化方法中,為每種行為定義一個目標函數(shù),遵守COLREGS的無人水面艇基本行為包括:
圖16 航點行為的目標函數(shù)
1)航點行為:航點通常用一組坐標(xi,yi)表示,無人船的當前位置(x,y)由GPS獲取,根據(jù)被選動作〈θ,v,t〉完成后無人船與下一航點的距離,建立選擇航點行為的目標函數(shù)。如圖16所示為不同被選動作時航點行為的目標函數(shù)值,顏色越深,被選動作的可能性越大。
2) 避碰行為:基于被選動作〈θ,v,t〉的最近會遇點距離DCPA,設置兩個參數(shù):內距離和外距離。當DCPA小于內距離時,認為發(fā)生碰撞;當DCPA大于外距離時,認為不會發(fā)生碰撞;當DCPA在內外距離之間時,目標函數(shù)線性變化。如圖17所示是障礙物速度為3m/s和5m/s兩種情況下的目標函數(shù)值。
3) COLREGS行為:針對無人船,主要考慮對遇和交叉相遇兩種情況,目標函數(shù)也基于被選動作〈θ,v,t〉的最近會遇點距離DCPA。為滿足COLREGS要求,在對遇局面,將被選航向與當前相對方位比較,獎勵向右舷機動,懲罰向左舷機動,如圖18所示;在交叉相遇局面,避免在他船前面穿越,在目標函數(shù)中,獎勵在他船后面穿越,懲罰在他船前面穿越,如圖19所示。
(3) 基于行為的多目標優(yōu)化方法實驗結果
多目標優(yōu)化方法由一組目標函數(shù)和相應的權重組合成一個總的目標函數(shù),通過對總目標函數(shù)的優(yōu)化來選擇最優(yōu)的被選動作。在實際應用中,需要求解速度能滿足無人船控制回路的要求,通常在1-20Hz。如圖20所示是多目標優(yōu)化方法的水面實驗結果,其中無人船2(黃色)僅作航點跟蹤,不考慮避碰。
圖17 避碰行為的目標函數(shù)
圖18 對遇局面的目標函數(shù)
圖19 交叉相遇局面的目標函數(shù)
基于風險意識的多目標優(yōu)化
在無人船遵守COLREG規(guī)則的避碰技術方面,英國貝爾法斯特女王大學、勞斯萊斯和南安普頓索倫特大學合作團隊的學者于2017年的國際自動控制聯(lián)盟會議(IFAC2017)上發(fā)表了另一種基于多目標優(yōu)化的方法。他們的路徑規(guī)劃系統(tǒng)分為離線的全局路徑規(guī)劃和在線的局部路徑規(guī)劃兩個模塊。當給定目的位置后,全局路徑規(guī)劃模塊生成一系列航點,只有當無人船在兩個航點之間檢測到障礙物時才啟動局部路徑規(guī)劃模塊。一旦碰撞的危險得到確認,局部規(guī)劃模塊便生成一條從當前位置到下一個航點的局部路徑,既避免碰撞,又滿足COLREG規(guī)則,還考慮了來船不遵守COLREG規(guī)則的情況。
(1) 情景意識與風險評估
為評估碰撞的風險,他們采用最近會遇點方法。根據(jù)船型和工作環(huán)境,預先設置機動的最長持續(xù)時間tmax和最小安全距離dmin,將達到最近會遇點的時間TCPA和最近會遇距離DCPA與參數(shù)tmax和dmin進行比較,如果0≤TCPA≤tmax且DCPA≤dmin,認為存在碰撞風險,令risk=1。為判斷來船是否遵守COLREG規(guī)則,引入兩個附加參數(shù)tsafe和dsafe和標志flag,讓tsafe≤tmax,dsafe≤dmin,如果0≤TCPA≤tsafe且DCPA≤dsafe,則認為存在緊急碰撞風險,令risk=2。假設當前時刻為k,如果risk(k-1)=1,且risk(k)=2,那么認為來船未遵守COLREG規(guī)則,這時局部路徑規(guī)劃模塊生成一條緊急規(guī)避路徑。
(2) 決策與規(guī)則選擇
一旦出現(xiàn)碰撞的風險,則需要確定遭遇的局面,即是對遇、交叉相遇或是追越。如圖21所示為COLREG規(guī)則的遭遇局面區(qū)域劃分,用于選擇適當?shù)囊?guī)則。給定來船相對于無人船的方位,將確定一個唯一的扇區(qū),從而適用相應的COLREG規(guī)則。如果確認存在碰撞的風險,而且作出直航的決策,那么無人船將保持航向;如果作出讓路的決策,那么模塊將規(guī)劃新的路徑,生成替代的航點。
(3) 路徑重新規(guī)劃
避碰路徑可通過生成一個或多個子航點來進行規(guī)劃,優(yōu)先采用單個子航點,因為計算效率高、實時性好。圖22表示路徑重新規(guī)劃過程,開始時無人船跟蹤預定路徑AC,速度為v,航向為θ;在位置A時檢測到與來船碰撞的風險,于是模塊生成子航點B,無人船改變航向至θ',沿著新路徑AB航行至B點,然后返回目的航點C。在重新規(guī)劃路徑時,需要同時考慮幾個不同的目標:1)保證安全,無碰撞風險;2)路徑平滑,避免航向突變;3)新路徑不應偏離原路徑過多。這就成為一個多目標優(yōu)化問題(MOP), COLREG規(guī)則為一組以不等式表達的約束,抉擇變量是航向和持續(xù)時間。他們采用粒子群優(yōu)化(PSO)算法進行求解,粒子數(shù)量為50,遺傳代數(shù)為30~40,再增加,性能提高不大。
圖20 對遇局面的實際水面實驗結果
圖21 COLREG避碰局面區(qū)域劃分
如圖23所示是與多個障礙目標相遇的仿真實驗結果,無人船避讓了三個運動目標A、B、C和一個靜止目標D。左上圖的目標B代表追越局面,右上圖的目標A代表交叉相遇局面,左下圖的靜止障礙物D位于無人船的航線附近,如果僅進行小的航向調整,運動目標C將構成對遇的局面,于是無人船選擇了大的機動,同時避開了目標D和C,右下圖為重新規(guī)劃的完整路徑。
如圖24所示為來船不遵守COLREG規(guī)則的情況,開始時無人船檢測到與來船A碰撞的危險,根據(jù)COLREG規(guī)則,來船A應讓路,但連續(xù)檢測發(fā)現(xiàn)來船并未遵守COLREG規(guī)則,于是無人船重新規(guī)劃路徑,進行緊急避讓。
基于虛擬力場的方法
圖22 路徑重新規(guī)劃示意圖
在遵守COLREGS的無人船避障方面,韓國也開展了深入的研究工作,昌原國立大學控制與儀器工程系Joongseon Joh教授團隊2004年6月在《控制、自動化與系統(tǒng)》國際期刊上發(fā)表了基于虛擬力場的方法。為遵守COLREGS,他們對虛擬力場(VFFVirtual Force Field)方法進行了改進,并采用模糊推理實現(xiàn)路徑跟蹤模式的選擇,進行了各種會遇局面下的大量仿真實驗。
(1) 改進的虛擬力場方法
虛擬力場(VFF )是移動機器人導航廣泛采用的方法,如圖25所示,目標產生引力,而障礙物產生斥力。如圖26上圖為VFF的直接應用,無人船受兩個力的作用,引力將無人船吸引到下一個航點,而斥力讓無人船離開障礙物。顯然,直接應用VFF不能讓無人船快速回歸到預定的路徑,更不便考慮COLREGS。為此,他們對VFF方法進行了改進。
圖23 多個障礙目標情況下的避碰路徑
圖24 來船不遵守COLREG情況下的避碰
圖25 VFF示意圖
(2) 模糊推理
無人船周圍的水域可劃分為危險水域和安全水域,無人船在這兩個區(qū)域中的導航模式不同。無人船在危險區(qū)域的逃離運動通過讓α=0和β=1來實現(xiàn);在安全區(qū)域,α和β的值通過模糊推理來確定。假設d為無人船偏離預定路徑的距離,劃分為近、中、遠三個集合{N,M,F(xiàn)}, α和β劃分為小、中、大三個集合{S,M,B},確定ψtk的推理規(guī)則如下:(1)如果d∈N,那么α∈β且β∈S;(2)如果 d∈M,那么α∈M且β∈M;(3)如果d∈F,那么α∈S且β∈B。
圖26 改進的VFF示意圖
(3) 仿真實驗
他們基于長1.4m,寬0.4m,排水量23kg的無人船模型,進行了大量的仿真實驗,如圖27為COLREGS三種典型情況下的結果,驗證了這種方法可實現(xiàn)靜態(tài)和動態(tài)障礙物的避讓,而且滿足COLREGS要求。
基于專家系統(tǒng)的方法
韓國首爾大學船舶與海洋工程系學者Han-Jin Lee 和 Key Pyo Rhee 于2001年發(fā)表在《國際造船進展》期刊上發(fā)表了一種基于專家系統(tǒng)和模糊推理的方法,他們通過模糊推理求得碰撞風險度,采用專家系統(tǒng)建立動作空間,然后采用A*搜索算法得到避碰動作規(guī)劃。
(1) 碰撞風險度
碰撞風險度通過模糊推理求得,TCPA和DCPA作為輸入模糊變量,采用三角形隸屬度函數(shù),推理規(guī)則如下表所示,構成一個二維矩陣。碰撞風險度的取值為-1~1之間,負值表示TCPA為負。碰撞風險度的絕對值越大,表示碰撞的風險越高。當有多艏來船時,給定環(huán)境中的風險度為所有來船風險度的最大值。解模糊方法如下:
式中,αi為第i條規(guī)則條件部分的概率, CRi第i條規(guī)則結論部分的風險度取值。
(2) 專家系統(tǒng)
動作空間由本船能采用的航速和航向構成,專家系統(tǒng)用于確定動作空間,而不是動作本身。專家系統(tǒng)采用NASA約翰遜航天中心設計的C語言集成產生式系統(tǒng)(CLIPS),根據(jù)COLREGS規(guī)則建立,主要包括主模塊、情景模塊和動作模塊。主模塊控制專家系統(tǒng)與避碰系統(tǒng)中其它模塊的通訊,負責航行規(guī)則的執(zhí)行。情景模塊根據(jù)會遇局面對來船進行分類,將來船標記為讓路船或直航船。動作模塊根據(jù)會遇局面和碰撞風險度,定義本船相對于危險來船的動作空間。盡管本船是直航船,但如果碰撞風險度高于預先設定的臨界值,也生成避讓來船的動作空間。專家系統(tǒng)與其他子系統(tǒng)的關系如圖28所示,最終動作空間是所有動作空間的并集。
圖27 仿真實驗結果
表1 推理規(guī)則
避碰系統(tǒng)在專家系統(tǒng)提供的動作空間中選擇最安全的動作,方法如下:
1)如果有碰撞風險度小于0.6的動作,選擇其中最接近規(guī)劃航向和速度的動作;
2)如果沒有1)中的動作,選擇風險度最小的動作;
3)如果所有動作的風險度均為1,選擇DCPA最大者。
(3)仿真實驗
為驗證系統(tǒng)的性能,模擬了兩艏相同的油輪來船,長320m,航速10kn。如圖29和30是交叉相遇局面的仿真結果,左圖是運動軌跡,右圖是風險度記錄。實心箭頭表示避碰動作開始的位置,空心箭頭表示避碰動作結束的位置。在圖29中無人船是讓路船,專家系統(tǒng)給出右轉的動作空間。在圖30中,無人船是直航船,但來船未遵守避碰規(guī)則,當碰撞風險度高于臨界值時開始主動采取避碰動作。
圖31以對遇局面展示專家系統(tǒng)的作用,左圖是有專家系統(tǒng)的結果,右圖是無專家系統(tǒng)的結果??梢?,無專家系統(tǒng)時也能成功避碰,但軌跡和航向變化緩慢,未能向對方表示明顯的動作意圖,未遵守規(guī)則。
如圖32為與兩艏來船在受限水域對遇的局面,其左、中、右圖分別是1000s、2000s和3000s時刻的軌跡。可見,在避碰系統(tǒng)的作用下,三船順利完成避碰。由于動作空間受水域限制,在避碰過程中的碰撞風險度較高,但未超出預定的臨界值。
基于模糊推理的方法
前述韓國學者采用模糊控制和專家系統(tǒng)實現(xiàn)遵守COLREGs的無人船避碰,這些方法已在實際無人船上得到應用,2018年10月在查爾斯頓舉行的OCEANS 2018 MTS/IEEE會議上Nam-sun Son 和 Sun-Young Kim等學者發(fā)表了韓國船舶與海洋工程研究院研發(fā)的無人船ARAGON II海面自主避碰試驗情況。
圖28 避碰系統(tǒng)流程圖
圖31 對遇局面中有無專家系統(tǒng)的比較
(1) 硬件配置
ARAGON是在韓國海洋與漁業(yè)部項目“用于海洋觀測與監(jiān)控的多任務智能無人水面艇研發(fā)”支持下于2011年開始研發(fā)的系列無人船,其第二代ARAGON II 于2016年研制,采用滑行艇型,如圖33所示,長8m,寬2.5m,單機單泵配置,主機功率400hp,最大航速40kn。
ARAGON II的自主避碰系統(tǒng)主要由三部分構成:障礙物識別、避碰算法和自動駕駛。障礙物識別負責收集無人船的導航信息和障礙物信息,其中無人船導航信息通過GPS和慣導獲得,障礙物信息通過融合敵我識別系統(tǒng)(AIS)、雷達、激光雷達和光電系統(tǒng)等多元信息得到;避碰算法采用可變動作空間搜索和基于碰撞風險的模糊推理來估計最優(yōu)路徑;自動駕駛負責跟蹤規(guī)劃的路徑。
(2) 軟件算法
為考慮碰撞風險程度的變化,他們設計了可變動作空間搜索算法,如圖34所示。當遇到障礙物時進行動作空間配置,在每一個節(jié)點通過模糊推理估計碰撞風險程度,生成可變動作空間,根據(jù)代價函數(shù)從備選的路徑中選取最優(yōu)路徑。該方法在ARAGON I上采用AIS進行了海試驗證。
(3) 海試結果
在ARAGON I基礎上, ARAGON II的自主避碰系統(tǒng)增加了雷達、激光雷達和光電系統(tǒng)的數(shù)據(jù)融合。為評估其性能,他們在釜山蘇楊灣進行了實際海面試驗,采用5艏交通船設計了復雜的會遇局面,包括對遇、左側交叉相遇、右側交叉相遇、第二次對遇和追越,如圖35所示,其中追越和第二次對遇的交通船為虛擬生成。無人船與交通船的航速均為10kn,避碰開始時兩船之間的距離是500m。
圖36和圖37的上圖是試驗過程中無人機拍攝的場景照片,下圖是無人船和交通船的軌跡和相關數(shù)據(jù)記錄,黑線代表無人船,紅線代表通過信息融合得到的交通船軌跡數(shù)據(jù),藍線代表追越和第二次對遇的虛擬交通船軌跡。
圖32 受限水域中的對遇局面
圖33 無人水面艇 ARAGON II
在追越局面(來船ID 111)和左側交叉相遇(來船ID 456)局面中,ARAGON II是直航船,保持航向不變。在右側交叉相遇局面(來船ID 123)中,無人船是讓路船,采取向右轉向的避碰動作。
在追越和交叉相遇的局面結束后是兩次連續(xù)的對遇局面(來船ID 789和ID 222),來自傳感器融合的軌跡數(shù)據(jù)(ID9007)與AIS數(shù)據(jù)(ID789)類似。根據(jù)COLREGs規(guī)則,ARAGON II是讓路船,它采取了兩次向右轉向的避碰動作。
試驗表明:在5次會遇中,ARAGON II的自主避碰系統(tǒng)均作出了直航或采取避碰動作的正確決策,實現(xiàn)了遵守COLREGs規(guī)則的無人船自主避碰。
前面介紹了遵守國際海上避碰規(guī)則的一些典型避障技術,那么如何評估無人船是否遵守COLREGs呢?為此,麻省理工學院計算機科學與人工智能實驗室學者Kyle L. Woerner和 Michael R. Benjamin于2018年5月在日本神戶舉行的OCEANS 2018 MTS/IEEE 會議上發(fā)表了一種在有人駕駛和無人駕駛船舶協(xié)同工作時實時自動評估遵守COLREGs性能的方法。
(1) 會遇幾何
圖34 可變動作空間搜索算法
圖35 避碰試驗場景
會遇局面中的幾何關系如圖38所示,當本船(O/S)與來船(Contact)間距離r小于檢測距離(Rdetect)的閾值時,認為兩船進入會遇局面。會遇時的完整幾何關系用來船相對航向α、方位β、距離r和速度v來表示。進入會遇局面后,首先需要評估碰撞的風險,通過計算CPA的三個值來確定:最近會遇距離rCPA,達到最近會遇點的時間tCPA,以及相對位姿ΘCPA。對最近會遇距離rCPA,設置4個可配置的閾值,根據(jù)重要性從小到大依次為:優(yōu)選距離Rpref、最小可接受距離Rmin、幾乎碰撞距離Rnm和碰撞距離Rcol。
(2) 安全性
在無人船避碰文獻中,安全性通常用碰撞次數(shù)與會遇次數(shù)的比值來表示,但這與人工駕駛船舶在進行避碰決策時的情況不一致,特別是在有多艏來船的復雜局面中。通過考慮避碰決策中的幾個重要變量,他們提出了一種采用安全性函數(shù)的量化方法,較之前僅考慮是否碰撞的方法更有意義。
圖36 追越和交叉相遇局面的避碰
安全性函數(shù)S=S(rCPA,ΘCPA)包含CPA的距離rCPA和姿態(tài)Θ(αCPA,βCPA),可分解為基于距離的安全性函數(shù)Sr和基于姿態(tài)的安全性函數(shù)SΘ,即S=S(Sr,SΘ),根據(jù)需要,可只考慮距離或者姿態(tài)。對于圖38中黃色區(qū)域的會遇,Rmin>rCPA>Rnm,這是不安全的會遇,應采取緊急機動,密切注意,提高后續(xù)過程的安全性。橙色區(qū)域是突破幾乎碰撞距離Rnm的會遇,只有僥幸脫險的可能。在中間紅色區(qū)域的會遇,認為實際碰撞發(fā)生。安全性函數(shù)根據(jù)不同的安全等級閾值,將CPA距離映射為安全性得分。圖38僅表示安全距離的劃分,但也可將姿態(tài)Θ映射為安全性得分,并進行二者的組合。
圖37 對遇局面的避碰
(3) 規(guī)則評估
COLREGs規(guī)則評估軟件用于中立的第三方觀測者,建立了規(guī)則評估庫,為中立打分提供基礎。規(guī)則評估庫的功能包括:1)辨識會遇局面中兩船的幾何關系;2)辨識每船需遵守的COLREGs規(guī)則;3)對每船遵守規(guī)則的動作進行量化打分。規(guī)則評估庫既用于實時運行的軟件,也用于事后分析的軟件,這樣保證評估結果的一致性。規(guī)則評估庫也可讓用戶設置一些配置參數(shù)。
圖38 會遇局面中的幾何關系示意圖
(4) 軟件框架
圖39 評估軟件框架
評估軟件的總體框架如圖3 9所示,其中兩個關鍵模塊是實時協(xié)議評估uFldProtocolEval和安全懲罰實時協(xié)議評估模塊收到低于閾值的得分后,懲罰模塊對船v2發(fā)出懲罰通知。中圖為交叉相遇局面,根據(jù)COLREGs的15和16條規(guī)定,只需要讓路船v1進行避碰機動,但v1并未遵守規(guī)則,當從實時協(xié)議評估模塊收到低于閾值的得分后,懲罰模塊對船v1發(fā)出了懲罰通知。右圖是更復雜的場景,五船呈星型匯聚,隨著實時協(xié)議評估模塊的輸出結果,懲罰陸續(xù)發(fā)出,如圖41中岸端界面截圖所示。
圖40 模擬實驗場景
在仿真實驗基礎上,將上述方法應用到Aquaticus無人船和人工駕駛船的混合比賽中,結果發(fā)現(xiàn):無人船忠實遵守COLREGs規(guī)則,而人工駕駛員會利用這一點引誘無人船避uFldSafetyPenalty。實時協(xié)議評估模塊負責會遇局面安全性和規(guī)則符合性的評估,輸出違規(guī)報告;當避碰過程出現(xiàn)違規(guī)情況,需要進行懲罰時,安全懲罰模塊通知違規(guī)船,并在面向任務的操作系統(tǒng)數(shù)據(jù)庫中進行廣播。軟件的岸端界面顯示兩種類型的信息:1)被評估規(guī)則的狀態(tài),懲罰閾值和違規(guī)懲罰的類型;2)違規(guī)船的具體信息,包括是否有正在評估的懲罰、現(xiàn)有懲罰到期時間、任務期間該船被懲罰的次數(shù)等。
(5) 試驗結果
他們首先在仿真環(huán)境中進行了無人船和人工駕駛船的交互場景實驗,如圖40所示。左圖為對遇局面,兩船均需按照COLREGs的14條進行避碰機動,但只有船v1正確執(zhí)行,當從讓,從而影響無人船實現(xiàn)任務目標,達到人駕船獲勝的目的,體現(xiàn)了人工駕駛的優(yōu)勢。
圖41 岸端軟件顯示界面
在遵守COLREGs的無人船自主避障技術方面,美國、英國和韓國的學者開展了深入的研究工作,已達到實船應用的程度。目前主要技術途徑有:速度障礙法、最近會遇點計算、基于行為的控制、多目標優(yōu)化、虛擬力場、模糊推理和專家系統(tǒng)。最近出現(xiàn)的無人船遵守COLREGs實時自動評估方法將進一步促進這方面技術的發(fā)展。 ■