杜志嘯 趙甲文 郭 鹍 馬 碩
(中船航海科技有限責(zé)任公司 北京 100070)
隨著全球貿(mào)易量的持續(xù)上升,水路運輸由于運量大、成本低等優(yōu)勢,在其中起到了關(guān)鍵的作用[1]。然而隨著航線的增加,也帶來了水路運輸相關(guān)的安全性不足等問題,其中一個較為主要的問題即為船舶避碰問題,避碰問題主要包含兩種,一為船舶避碰,即有效地避開他船安全航行;二為對障礙物的躲避。本文主要關(guān)注智能船舶在遠洋運輸中對障礙物的躲避,其又具有慣性大、時滯性強等運動特性。另一方面,隨著近來綜合信息采集系統(tǒng),處理系統(tǒng),人工智能等技術(shù)的發(fā)展,為我們帶來了一個新的解決方向,在采集的數(shù)據(jù)的基礎(chǔ)上,通過智能化算法來提高船舶航行的安全性,也已成為必然的趨勢。
所謂船舶避障,就是當(dāng)前進方向受到外界的阻礙時,能夠及時調(diào)整方向以最小的經(jīng)濟代價做出躲避障礙物的動作。并在成功躲避之后繼續(xù)前行的過程。避障一般情況下,通過從海圖中提取障礙物、水深、海況等信息數(shù)據(jù),并根據(jù)周圍環(huán)境劃分為全局避障和局部避障。全局避障即將全部環(huán)境信息作為已知,根據(jù)已知情況計算最優(yōu)路徑。局部避障的條件是部分環(huán)境信息已知,或是依賴自身探測設(shè)備獲取信息后經(jīng)過處理,用于模型計算用,需要在盡可能短的時間內(nèi),動態(tài)躲避可能出現(xiàn)的障礙物。
綜上,本文試圖對國內(nèi)外遠洋航行中如何結(jié)合船舶的運動特性安全躲避障礙物的方法進行深入分析,并在其基礎(chǔ)上進行系統(tǒng)性歸納總結(jié),以對探索船舶行駛中的安全策略提供一定的參考依據(jù)。
要研究船舶避障問題,獲取到相應(yīng)的環(huán)境數(shù)據(jù)是首要的,利用各種設(shè)備組合,構(gòu)建船舶物聯(lián)網(wǎng),能夠為實時跟蹤,監(jiān)控分析船舶提供強有力的依據(jù)。進而對環(huán)境進行建模,根據(jù)數(shù)據(jù)以及模型算法更好地為船舶規(guī)劃安全經(jīng)濟的避障路線。
綜合船橋系統(tǒng)正在推動未來的導(dǎo)航系統(tǒng)規(guī)劃[2]。該系統(tǒng)從各種船舶傳感器中獲取輸入,電子顯示定位信息,并提供預(yù)先設(shè)定的過程所需的維護船只的控制信號。導(dǎo)航器已成為系統(tǒng)管理器,可選擇系統(tǒng)預(yù)置,解釋系統(tǒng)輸出,以及監(jiān)視船舶響應(yīng)等,避碰系統(tǒng)即為其中的一個最基本功能組件。
它從20世紀(jì)60年代末期發(fā)展起來,經(jīng)歷了幾個階段[3]。Norcontrol公司在60年代末期開發(fā)了世界上第一套船橋系統(tǒng),其功能主要就是避碰和綜合導(dǎo)航。早期還有很多故障率較高,各個獨立廠商設(shè)備之間標(biāo)準(zhǔn)不統(tǒng)一等問題,后期較新一代的綜合船橋系統(tǒng)如 K-Bridge integrated navigation[4],是真正采用標(biāo)準(zhǔn)組件的系統(tǒng),擁有直觀的用戶界面,其導(dǎo)航傳感器數(shù)據(jù)通過導(dǎo)航傳感器接口在網(wǎng)絡(luò)上廣播,對傳感器數(shù)據(jù)進行收集和分發(fā),以保證各工作站分享同樣的海圖數(shù)據(jù)庫。
船舶領(lǐng)域概念最早是由日本學(xué)者藤井在研究一條水道的交通容量時提出的[5],其最早的定義為后繼船舶的駕駛員避免進入到前一艘船舶的領(lǐng)域,但也基本適用于航行路線上的障礙物。早期藤井通過交通調(diào)查的方式給出了一種橢圓形船舶領(lǐng)域模型,主要適用于狹窄水域。之后Goodwin[6]在其基礎(chǔ)上研究了開闊水域下的領(lǐng)域模型,這些研究都是通過交通規(guī)則統(tǒng)計分析等進行的定性研究,不具備很好的學(xué)習(xí)性,并且是從二維角度出發(fā)的,鑒于此,徐周華[7]等結(jié)合障礙物附近水域特點,提出了狹窄水域的三維領(lǐng)域模型的思想,且隨著人工智能的發(fā)展,一種模糊集合理論被運用到領(lǐng)域模型中[8]。在使用下節(jié)提及的環(huán)境建模方法時,適當(dāng)考慮到船舶的領(lǐng)域劃分,將更有效地滿足船舶的空間需求,進而保證船舶行駛安全性。
在對船舶行駛進行路徑規(guī)劃時,首先需對環(huán)境進行建模,最早的時候采用“位姿空間”來描述船舶及其周圍的環(huán)境,即可視圖法[9]。其將船舶視為一點,并將該點與目標(biāo)點和多邊形障礙物的各頂點連接成一個無交叉不會穿越障礙物的圖,進而轉(zhuǎn)換成一個求最短距離的問題。但存在距離障礙物太近或者不必要的連線過多等問題。其余的一些建模方法也被提出了,如崔榮鑫等[10]使用Voronoi圖這種自由空間法分割水下區(qū)域,自由空間法采用預(yù)先定義的基本形狀構(gòu)造自由空間,并將其表示為連通圖。這種方法較為靈活,不會因其中部分點的改變而受大影響。但隨著障礙物的增加,算法的復(fù)雜程度也會成正比例的增加。柵格法[11]是一種將環(huán)境分解成一系列具有二值信息的網(wǎng)格單元,然后在其基礎(chǔ)上計算場景投影圖矩陣,進而求解避障路徑。環(huán)境信息的復(fù)雜度與柵格劃分的細密度有關(guān),因此當(dāng)規(guī)劃時間較長時,可采取改進的柵格法來彌補柵格法的不足,即將以柵格為單位記錄更換為以障礙物為單位記錄[12]。
對環(huán)境進行建模后,需要討論的就是如何規(guī)劃出一條安全的路徑,并且可在滿足安全需求的前提下保證路徑的經(jīng)濟性。目前路徑規(guī)劃方案一般可分為全局的路徑規(guī)劃方法,以及局部路徑規(guī)劃方法。
較為傳統(tǒng)的全局路徑搜索策略主要有A*算法,D*算法,Dijkstra算法,如陳超等[13]提出了一種基于可視圖的A*算法,使用啟發(fā)式搜索的方式減少規(guī)劃時間。譚寶成等[14]針對A*算法在規(guī)劃過程中因遍歷節(jié)點多導(dǎo)致搜索時間長和路徑規(guī)劃距離長的問題,采用了兩點間的歐氏距離作為估價函數(shù),并以前向搜索和后向搜索交替進行的方式減少路徑規(guī)劃時間。莊佳園等[15]提出了基于電子海圖的距離尋優(yōu)Dijkstra算法??朔藗鹘y(tǒng)Dijkstra算法占用內(nèi)存大的問題,減少時間,并提高規(guī)劃精度。D*算法被稱為Dynamic A*算法,在局部規(guī)劃中進行實時的動態(tài)避障時較有效果[16]。
雖說該類方法稱為局部路徑規(guī)劃,但通過逐步搜索最優(yōu)路徑,使路徑精度達到要求,結(jié)合其他算法,也可以達到較強的全局路徑規(guī)劃能力。主要方法有人工勢場法,遺傳算法和模糊邏輯算法。
人工勢場法本是一種Khatib[17]為了機器人路徑規(guī)劃提出的虛擬力法,基本思想是將機器人在環(huán)境中的運動,設(shè)計出抽象的人造引力場的運動,即通過引力和斥力的相互作用作為機器人的加速力,以此來控制前進方向。關(guān)騰飛等[18]就應(yīng)用了虛擬立場法建立了避障模型,運用Move_to_goal和Avoid_obstacle行為設(shè)計,實現(xiàn)了從船舶運動坐標(biāo)值到控制量的轉(zhuǎn)變,從而導(dǎo)出船舶避障實現(xiàn)算法流程。該方法結(jié)構(gòu)簡單,但容易陷入局部最優(yōu),J Holland提出的遺傳算法[19]構(gòu)造了一類的隨機化搜索。對目標(biāo)問題進行染色體編碼,通過選擇,交叉培養(yǎng)以及隨機變異幾個過程來控制,不要求適應(yīng)度函數(shù)可導(dǎo)或連續(xù),只要求為正,且可以作為一個并行算法運行,適用于全局搜索,更有可能找到全局最優(yōu)解,但遺傳算法的運算速度較慢,進行大量的進化要占據(jù)較大的存儲空間和運算時間。張玉奎[20]分別利用了遺傳算法和人工勢場法設(shè)計了避障路徑規(guī)劃,并且實驗證明了該方法能對復(fù)雜的障礙物環(huán)境進行規(guī)劃。范云生等[21]利用一種改進的遺傳算法,通過隨機快速搜索產(chǎn)生初始種群進行路徑搜索,提高路徑規(guī)劃的收斂效率和速度。模糊邏輯控制法原來主要來自于汽車駕駛員的駕駛處理模式,具體的處理模式就是將信息進行模糊化處理后劃分,并根據(jù)經(jīng)驗對劃分的信息做出決策,正因如此,模糊邏輯法速度快,然而難以達到較高精度的求解。利用實時的傳感信息,張闖[22]提出了一種基于模糊邏輯的二維粒子群航跡規(guī)劃算法,結(jié)合SVM模型設(shè)定航路的決策邊界,確定了適應(yīng)值評價函數(shù),并針對不同環(huán)境模型進行了仿真。
船舶行駛過程中,還應(yīng)考慮到其實際的一些運動特性,如航向角不宜過小,不宜頻繁的轉(zhuǎn)向等,以及在構(gòu)建了一系列航點以后,需要將折線路徑平滑化。張闖[22]提出了一種網(wǎng)絡(luò)優(yōu)化方法,生成了一個特殊的適用于船舶操縱性的隨機網(wǎng)絡(luò),對應(yīng)于由直線段和回旋曲線組成的平滑航跡的航路,通過允許設(shè)置回轉(zhuǎn)半徑約束以及頻繁小角度轉(zhuǎn)向約束等,確定航路。王紅衛(wèi)[23]針對折線多、轉(zhuǎn)折次數(shù)多等問題,通過按照一定規(guī)則刪除節(jié)點的方式建立平滑A*模型。王憲[24]針對傳統(tǒng)的避障路徑規(guī)劃中常常存在不連續(xù)點的問題,結(jié)合B樣條曲線規(guī)劃出平滑避障路線。
文本針對船舶的避障問題,從環(huán)境建模,避障算法,以及船舶自身航行特性等方面綜述了主要的研究成果。
1)在研究船舶智能避障的過程中,主要采用可視圖法,自由空間法,柵格法進行環(huán)境建模。并在其基礎(chǔ)上利用遺傳算法、模糊算法、勢場法、粒子群優(yōu)化算法,采取全局規(guī)劃與局部調(diào)整相結(jié)合的混合規(guī)劃方式規(guī)劃安全路徑。全局規(guī)劃上可以融入一些避碰規(guī)則,局部調(diào)整上更多的采用一些速度快的算法,并使用全局信息做約束。
2)結(jié)合船舶自身的特性,往往還需要考慮到船舶行駛的轉(zhuǎn)向角限制,時速的限制以及路徑的平滑化,以及船舶的領(lǐng)域模型。
根據(jù)目前研究的現(xiàn)狀以及發(fā)展趨勢,未來可以從以下一些方面做探討。
1)結(jié)合水域復(fù)雜度以及氣象條件進行更加有效地反映真實環(huán)境的仿真實驗。實際情況下,船舶的行駛并不像模擬中那么靈活且易操控。因此需要更好地衡量船舶行駛的危險區(qū)域以及其時滯性。
2)可以結(jié)合經(jīng)驗作為約束條件,結(jié)合各算法的優(yōu)點,在避障結(jié)束后,能夠更好地使船舶不偏離規(guī)劃路徑繼續(xù)安全航行。