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