賈 宇,艾 維
(華中光電技術研究所武漢光電國家研究中心,湖北武漢430223)
當前,無人平臺的發展速度越來越快,有關研究也越來越廣泛。無人平臺是指無人操作的智能性任務執行平臺,其包括無人機、無人船、無人車以及機器人等,是相關無人設備的總稱,如圖1所示。其技術涉及到機械設計、運動控制、數據融合、人工智能等多個專業領域,研究內容包括任務規劃與智能決策、路徑規劃與智能避障、自主航行控制、綜合導航與高精度定位、智能感知、遠程無線高速通信、武器發射控制等眾多方面。進入21世紀以來,隨著計算機、網絡、傳感器、人工智能等技術的發展,這些平臺的“ 無人化”水平越來越高,多種學科交叉融合的“無人技術”在其中扮演越來越重要的角色,同時促進了多種無人平臺的發展,無人平臺的發展趨勢也由遙控型向半自主、全自主發展[1]。根據無人平臺智能程度的不同可將其分為3類:1)遙控型無人平臺,如遙控無人機等;2)半自主型的無人平臺,指能夠按照預設程序航行并完成相應任務的無人平臺,如有人/無人半自主的無人船等;3)具有自主任務規劃、自主航行功能,并可通過搭載的不同傳感器及設備自主完成環境感知目標探測等任務的全自主型無人平臺。
圖1 無人平臺分類Fig.1 Classification of unmanned platforms
本文以無人水面艇(Unmanned Surface Vehicle,USV)為代表的無人平臺來分析,其中航路規劃系統在無人平臺中起著至關重要的作用,也是體現無人平臺自主性與智能性關鍵技術。無人艇的航路規劃是指在具有障礙物的環境中,能夠規劃出一條從起始位置狀態到目標位置狀態無碰撞的最優路徑或次優路徑,并滿足所有約束條件,最優狀態下完成設定任務以及處理突發情況。對于無人艇的航路規劃系統而言,根據航路規劃的作用范圍,可以將其分為路徑規劃、任務規劃兩大規劃單元。路徑規劃單元根據作用域的大小可以進一步細分為全局路徑規劃和局部路徑規劃[2]。任務規劃單元更加側重于執行對應的任務時路徑規劃的策略研究,也可稱之為任務策略。目前全局路徑規劃方法主要有可視圖法[3]、自由空間法、Voronoi圖法、柵格法[4]、A*搜索算法[5],RRT算法[6],粒子群算法[7]、蟻群算法、遺傳算法等。局部路徑規劃方法主要有人工勢場法[8]、向量場直方圖法[9]、動態窗口法、速度障礙法[10]等優化避障方法。本文提出基于無人艇自身信息與外界環境信息的智能航行系統,針對無人艇的任務執行與軌跡生成,基于無人艇自身特性設計了相關規劃單元,更好地符合無人艇的特性,提高無人艇的自主航行與智能規劃能力。
智能航行規劃系統整體模塊框架如圖2所示,其設計是基于分層策略展開的。
整個智能航行系統各單元功能如下:
1)人機交互單元。主要實現任務下發、確定策略,數據加載及實時顯示功能。完成相關初始化的任務,包括本地數據庫的下載,相關地圖的加載,設備初始化驗證工作等。
圖2 智能航行系統單元示意圖Fig.2 Schematic diagram of intelligent navigation system unit
2)全局規劃單元。主要實現大范圍區域的全局路徑規劃設計。根據給點的起點、終點信息,按照目標約束策略,進行大范圍粗粒度的路徑規劃。
3)局部規劃單元。主要實現小范圍區域的航路重規劃設計。通過感知傳感器更新數據,探測未知的靜態障礙物,并調整航路,避開危險障礙物。
4)任務規劃單元。主要實現在任務執行的局部區域內,完成區域內的路徑規劃設計。需針對幾種特定的任務,制定相關的任務策略,快速、及時完成相應任務。
5)底層避障單元。主要實現近距離的動態障礙物的避碰調整,保證無人艇在動態環境下的安全性。利用傳感器信息探測動態船舶等信息,實時調整本艇的航向航速,達到安全航行的目的。
6)軌跡規劃單元。主要實現無人艇在動力學約束下的軌跡優化問題,保證無人艇的軌跡可行,實時可控。
7)異常處理單元。主要實現無人艇發生異常情況下,規劃策略調整或緊急制動。
智能航行系統的分層策略包括兩部分:慎思式AI模型,也稱為基于模型的規劃法。是以環境模型為基礎進行全局無碰路徑規劃,可方便找到全局目標,難以適應動態變化的環境,一般用于全局與局部。反應式AI模型,不需要事先進行規劃,而是讓平臺直接去響應環境變化,根據傳感器探測的環境數據實時的回避障礙,具有快速、實時、高效的特點,一般用于局部與底層避障。其中規劃的分層策略設計為:任務規劃、路徑規劃、智能避障3個部分,分別對應不同階段的規劃方案。其數據流圖如圖3所示。
其中,全局路徑規劃是在已知海洋信息(電子海圖)前提下,建立數字海圖環境模型,并通過一定的搜索算法搜索路徑,進行全局范圍路徑規劃;而局部路徑規劃是根據無人艇上的雷達以及視覺傳感器對四周未知環境信息進行探測,進而得到無人艇的周圍未知障礙物分布信息,最后通過安全有效的算法對無人艇進行方向和速度控制,達到避開障礙物的目標,實
現智能避碰,屬于小范圍規劃。其中全局規劃采用的A*算法,局部規劃采用的基于碰撞錐的局部點插入算法,在底層避障上采用的是速度避障法,都有成熟算法介紹,本文重點關注無人艇智能航行的任務規劃與軌跡規劃算法。算法流程如圖4所示。
圖4 無人艇智能航行系統算法流程圖Fig.4 Flow chart of intelligent navigation system of USV
1.2.1 任務規劃算法
任務規劃與避障的更新策略不同,避障需要不斷的實時刷新,但任務規劃可以采取一定的時間間隔進行更新,只需確保實際過程中任務的偏差量符合任務要求。為區別于普通航路點信息,任務規劃生成的或者任務要求的點統一定義為任務點,屬性要多于普通航路點,優先級更高,而由避障產生的點定義為避障點,其優先級最高。當三者同時產生的時候,優先避障,其次執行任務點,最后是航行點。因此可以將航路點屬性分為3類:航行點、任務點、避障點(見表1)。航行點為離線算法生成得到,任務點可以離線設定或者實時生成,避障點則是由實時生成得到的。
表1 航路點的屬性表Tab.1 The property table of navigation points
USV任務規劃根據已知作業環境信息,與外界感知得到的數據相融合,在任務區域內,執行相應的任務。其中感知數據包括光電信息,雷達信息,導航信息等,光電信息,雷達信息可以感知目標的方位與速度等,導航信息可以感知當前無人艇所處的位置信息。一旦進入相應的任務區域,則執行任務規劃策略。
以定點巡邏任務為例,定點巡邏是指無人艇在一定區域內,對區域內幾個定點位置進行探測巡邏(順序可以為有序也可以為無序)。算法流程如下:
1)先將起始位置點與所需巡邏點構建一個拓撲圖,其中拓撲圖的構建可采用A星算法,對兩兩最短路徑進行探索,得出兩兩之間的距離拓撲圖,并記錄兩兩之間序列點。
2)根據巡邏順序進行判斷,若有序,則按照規定順序規劃一條合理路徑巡邏,若無序,則利用動態規劃算法[11],設定相應的代價,主要考慮對無人艇航行有較大影響的因素距離代價、轉彎代價。
3)合理規劃出一條最小代價的航路,實現對各個巡邏點的監測,獲取路徑序列點。
4)利用軌跡規劃的算法在巡邏點中插值上述序列點,規劃出一條離線無碰最短路徑。
以實際的例子來說明,在柵格化之后的地圖上,隨機生成幾個巡邏點,通過A星算法得出兩兩點之間的距離,然后利用動態規劃算法規劃好相關路徑,如圖5所示,路徑2為得到的路徑,并根據運動學約束模擬無人艇的行進路徑,進行碰撞檢測,最終生成無人艇可航行路徑,如路徑1所示。
1.2.2 軌跡規劃算法
對于原始航跡中存在直線航跡段,無人艇按此直線航行,而無需考慮其他機動性能約束。但在相鄰航跡段之間的銜接存在一定的夾角,此時必須進行轉彎,所以保持直航顯然不可能,此時需要滿足船速、船首向、角速度、最小轉彎半徑等約束。
圖5 無人艇定點巡邏任務示意圖Fig.5 Sketch map of fixed-point patrol m ission of USV
首先需要結合無人艇的船體模型來分析無人艇的動力學特性,在動力學分析上,無人艇一般來說是具有非完整約束。可以定義無人艇的動力學模型為(x,y,φ,v,ω), 其中 (x,y) 描述的無人艇的當前位置,φ描述無人艇當前航向,(v,ω)描述無人艇當前速度和角速度。可以推導得出在?t間隔時間內無人艇的狀態更新方程:
其 中 (v˙,w˙)分 別 為加速度 和角加速度。在?t時 間內,無人艇的轉彎參數也可以計算出來:
由無人艇的動力學特性可以確定無人艇的動力學參數。在軌跡規劃單元中,通過動力學參數,可以得到無人艇的速度,角速度的采樣區間:
其中 (v˙max,w˙max)分別為最大的加速度和角加速度,而最大加速度的則是由船體本身的動力學特性分析,由此可以得到速度約束下的無人艇的最小轉彎半徑rmin。
B樣條曲線法[12]是目前比較實用的航跡平滑算法,該方法具有整體全局優化的優勢,因此所獲得的航跡整體過渡自然,B樣條函數具有曲率變化比較均勻及一、二階導數連續等特點,因此可滿足無人艇實際航行中速度及加速度連續變化的要求。航跡的B樣條曲線的曲率表達式推導如下。每一段二次均勻B樣條曲線參數方程記作:
根據曲線曲率計算公式:
考慮到在實際運行中,生成的軌跡可能會與障礙物發生碰撞,如圖6所示,線條1代表原規劃路徑,路徑2為采樣路徑,無人艇由ab方向轉到bc方向,通過圓形擬合選取一個較大的半徑R時候,此時發現此路徑經過了障礙物點,因此此條路徑不可取。基于此,需要對生成的曲線進行碰撞檢測,當檢測到路線經過障礙物時,需要對路線進行一個重新采樣,通過在當前半徑上加減,設定不同的采樣半徑,形成一組不同半徑的采用空間,直至選取了一條無障礙軌跡,確定最終的轉彎半徑,完成最終的軌跡規劃方案。以5個航路點做測試序列,實際規劃的路徑如圖中路徑2,由于大轉彎與多轉彎的存在,無人艇無法準確按照此路徑行駛,此時采用B樣條曲線法擬合以及設定無人艇的轉彎半徑,最終得到一條合理的路徑如圖中路徑1所示,既能保持起點與終點的斜率一致,又能滿足無人艇的運動約束,實現對無人艇的最優規劃,便于無人艇后期的控制。
圖6 軌跡規劃采樣圖Fig.6 Sampling diagram of trajectory planning
圖7 軌跡規劃仿真Fig.7 The simulation of trajectory planning
圖8 GIS圖與柵格化結果Fig.8 GISmap and rasterized results
利用GIS信息,并用柵格化的算法對渤海灣區域構建出二值化編碼的地圖[13]。圖8為GIS圖與柵格化結果。針對智能航行系統開展仿真測試,在地圖上設定起點在(120°E,38°N),終點在(132°E,39°N),以柵格化的電子海圖為參考,其中線1為全局規劃的結果,線2為對全局規劃進行局部任務規劃,確定關鍵任務點,最后利用這些關鍵點信息,進行軌跡規劃,形成最終的曲線3,其結果驗證了本論文提出的智能航行系統的有效性。圖9為形成的航路規劃系統界面圖與規劃結果。
圖 9航路規劃結果與界面Fig. 9 Resultsand interface of route planning
無人艇航路規劃系統實現合理規劃航路、緊急避碰、完成指定任務等,極大地降低無人艇對遠程操控人員的依賴,同時擴展無人艇的多任務作戰能力。該系統能夠讓無人艇具有較高的自主路徑規劃和智能避障能力,同時無人艇可以獨立地執行遠程探測、信息搜集、巡邏跟蹤等任務,基本上實現了無人艇的全自主性與智能性。