劉虹曉,楊 誠,譚艾迪,鹿 靖,李 游
1.中國船舶集團有限公司綜合技術(shù)經(jīng)濟研究院,北京100083
2.北京航空航天大學可靠性與系統(tǒng)工程學院,北京100191
無人水面艇的自主航行能力具體可分解為環(huán)境感知能力、決策規(guī)劃能力與運動控制能力[1]。環(huán)境感知能力的具體要求是通過無人艇自身所搭載的多種傳感器與通過通信手段獲得的信息準確的進行態(tài)勢感知;決策規(guī)劃能力具體要求是依據(jù)態(tài)勢感知信息、結(jié)合自身狀態(tài)與受領(lǐng)任務進行決策規(guī)劃;運動控制能力的具體要求是通過運動控制裝置,準確地控制無人艇沿著規(guī)劃航點、航向角與速度進行運動。
無人水面艇的自主航行系統(tǒng)測試可大致分為實艇測試與虛擬仿真測試[2]。在實艇測試方面,文獻[3] 開啟了針對智能船艇的海上測試場建設(shè),文獻[4] 在真實海域搭建測試場景對無人艇進行自主能力測試。已建成的珠海萬山無人船海上測試場、日照無人艇測試場可以為無人水面艇提供實艇測試服務[5],中國造船工程學會主辦的“海上爭鋒”智能船艇挑戰(zhàn)賽、中國航海學會主辦的全國智能無人艇搜救大賽分別根據(jù)大賽測試科目設(shè)計搭建相應海上測試場景以完成對參賽無人艇的比測競優(yōu)。在虛擬仿真測試方面,文獻[6] 的虛擬仿真版本VRX(Virtual RobotX Challenge),通過基于Gazebo/ROS 虛擬仿真環(huán)境完成對參賽隊伍的自主航行算法的比測競優(yōu)[6]。文獻[7] 針對無人水面艇設(shè)計了仿真系統(tǒng),為無人水面艇控制系統(tǒng)的測試和分析提供了平臺,文獻[8] 開展了相應的無人水面艇航行仿真系統(tǒng)的研制,實現(xiàn)了航跡跟蹤與自主避障等關(guān)鍵功能的仿真。文獻[7-8] 中形成的仿真系統(tǒng)均采用完全虛擬的仿真設(shè)計,在無人艇海洋動力學、無人艇傳動系統(tǒng)特性的擬真度欠佳。
在實艇測試中,需要在海上試驗場搭建任務場景,實裝無人艇在海上測試場執(zhí)行相應的任務,其優(yōu)點是可以給無人艇系統(tǒng)完全真實的測試激勵,具有較高的可信度,但不足是測試場景的搭建周期長、成本高,且由于客觀條件的限制無法對無人艇邊界測試。無人艇虛擬仿真測試使用計算機仿真技術(shù)構(gòu)建無人水面艇的任務場景、傳感器模型以及無人水面艇的運動特性,具有快速低成本的特點,其不足是目前風載荷、海面波浪和海流等船舶海洋動力學仿真與真實情況相差較大,可信度不高[9],且在無人艇的控制系統(tǒng)中存在柴油機、泵噴等典型非線性系統(tǒng)[10],因此對無人艇進行運動建模較為復雜,目前的仿真手段并不理想。
基于實裝測試與虛擬仿真測試的優(yōu)缺點,本文設(shè)計了一種虛實結(jié)合的無人水面艇自主航行測試系統(tǒng),在任務場景構(gòu)建與環(huán)境感知傳感器部分使用虛擬仿真技術(shù),在無人艇運動特性方面采用實艇在環(huán)路技術(shù),通過虛實空間配準技術(shù)將無人艇數(shù)字孿生體與實裝物理實體進行實時空間位置與姿態(tài)同步[10]。設(shè)計了仿真實驗表明了該系統(tǒng)的正確性與合理性,可以大幅提升無人水面艇的開發(fā)效率,作為虛擬測試與實裝測試的有力補充,豐富無人水面艇的測試手段。
虛實結(jié)合的無人水面艇自主能力測試系統(tǒng)主要由硬件和軟件兩部分構(gòu)成,系統(tǒng)結(jié)構(gòu)如圖1 所示。硬件包括仿真數(shù)據(jù)注入器、場景仿真機、位姿姿態(tài)測量單元、數(shù)據(jù)記錄儀;軟件部分包括無人艇場景仿真模塊、傳感器仿真模塊、虛實位姿同步模塊、數(shù)據(jù)記錄模塊。
圖1 測試系統(tǒng)結(jié)構(gòu)圖Figure 1 Architecture of testing system
測試系統(tǒng)原理:位姿測量單元實時測量得到無人艇物理實體的空間位姿數(shù)據(jù)并傳輸至無人艇場景仿真機進行無人艇孿生體的位姿同步,無人艇場景仿真機中運行根據(jù)任務想定所搭建的虛擬測試科目場并通過計算機仿真手段生成無人艇孿生體的傳感器數(shù)據(jù)與通信數(shù)據(jù),仿真數(shù)據(jù)注入器分別將不同傳感器的數(shù)據(jù)與通信數(shù)據(jù)注入到無人艇主控計算機對應的數(shù)據(jù)接口,無人艇主控計算機在接收到相關(guān)傳感器數(shù)據(jù)和通信數(shù)據(jù)后,通過自主控制算法生成相應控制指令驅(qū)動無人艇物理實體在真實測試場運動,至此完成一整個OODA(Observe,Orient,Decide,Act)循環(huán)[12]。通過數(shù)據(jù)記錄儀將無人艇場景仿真機中的場景數(shù)據(jù)、仿真數(shù)據(jù)注入器中的傳感器數(shù)據(jù)、無人艇主控計算機的控制指令輸出數(shù)據(jù)進行記錄,完成測試數(shù)據(jù)的采集。
為了最大程度地模擬無人水面艇自主航行的OODA 過程,硬件平臺的設(shè)計需要考慮虛實同步對無人艇位姿測量精度的需求、場景仿真實時性對運算平臺高算力的需求、無人艇主控計算機對仿真數(shù)據(jù)接收的接口需求以及實驗數(shù)據(jù)分析與自主航行能力評估對實驗過程數(shù)據(jù)完整性規(guī)范性的需求。虛實結(jié)合的無人水面艇自主航行測試系統(tǒng)硬件結(jié)構(gòu)如圖2 所示,包括位姿測量單元、無人艇場景仿真機、仿真數(shù)據(jù)注入器、數(shù)據(jù)記錄儀4 個硬件。其中位姿測量單元實時測量無人水面艇的位姿信息通過串口通信發(fā)送給無人艇場景仿真機,無人艇場景仿真機將仿真解算的態(tài)勢信息通過以太網(wǎng)發(fā)送至仿真數(shù)據(jù)注入器,仿真數(shù)據(jù)注入器依據(jù)無人艇主控計算機的態(tài)勢感知通道設(shè)置分別將傳感器、通信等仿真數(shù)據(jù)注入至無人艇主控計算機,最終由無人艇主控計算機依據(jù)注入的態(tài)勢感知數(shù)據(jù)自主規(guī)劃路徑并控制無人艇沿著規(guī)劃路徑航行。其中位姿測量單元主機部分、無人艇場景仿真機、仿真數(shù)據(jù)注入器、數(shù)據(jù)記錄儀安裝在無人艇艙內(nèi),避免暴露在鹽霧、光照等環(huán)境應力作用下,無人艇位姿測量單元的衛(wèi)星接收天線應安裝在無人艇桅桿上以保證衛(wèi)星信號接收質(zhì)量。同時本文測試系統(tǒng)在無人艇上部署時應保證與無人艇現(xiàn)有電子設(shè)備的電磁兼容性。
圖2 硬件結(jié)構(gòu)圖Figure 2 Architecture of hardware
位姿測量單元包括兩個衛(wèi)星天線與一臺組合導航主機,其中兩個衛(wèi)星天線安裝于無人艇艇身較高處以保證導航衛(wèi)星信號接受的質(zhì)量,組合導航主機的底面應平行于無人艇的基準面。測試執(zhí)行時,通過將組合導航主機內(nèi)置的高精度MEMS 陀螺及MEMS 加速度計信息進行捷聯(lián)導航解算,同時將導航結(jié)果與衛(wèi)星定位信息輸入Kalman 濾波器進行組合,組合后獲得精確的無人艇物理實體的空間位置、速度以及姿態(tài)角等多參數(shù)測量信息。
無人艇場景仿真機主要完成場景的實時解算、虛擬傳感器數(shù)據(jù)和虛擬通信數(shù)據(jù)的生成,由于場景的圖形解算和仿真數(shù)據(jù)生成均對實時性有著較高的要求,故無人艇場景仿真機選用CPU+GPU 異構(gòu)計算架構(gòu)的工控機,通過GPU 并行計算來滿足大規(guī)模同時處理多個特定任務的使用需求。
仿真數(shù)據(jù)注入器需要實時將無人艇場景仿真機傳輸過來的仿真數(shù)據(jù)分流至對應的數(shù)據(jù)接口,通過調(diào)研市場上傳感器和數(shù)據(jù)通信終端等產(chǎn)品的數(shù)據(jù)接口配置情況,將攝像頭數(shù)據(jù)和激光雷達數(shù)據(jù)分流至千兆Ethernet 接口輸出,航海雷達數(shù)據(jù)、定位數(shù)據(jù)與通信數(shù)據(jù)分流至UART 接口輸出。
數(shù)據(jù)記錄儀通過Ethernet 接口實時獲取并錄制無人艇仿真機、仿真數(shù)據(jù)注入器、無人艇主控計算機的實驗過程數(shù)據(jù),由于需要采集多個設(shè)備的多路數(shù)據(jù)以及部分圖像、激光雷達等高帶寬傳感器的數(shù)據(jù),故選用高速固態(tài)硬盤作為數(shù)據(jù)存儲介質(zhì)。
本文測試系統(tǒng)的軟件架構(gòu)如圖3 所示,包括位姿同步模塊、場景仿真模塊、傳感器仿真模塊、數(shù)據(jù)記錄模塊組成。測試系統(tǒng)實時解算生成虛擬傳感器數(shù)據(jù)與通信數(shù)據(jù),并將虛擬傳感器數(shù)據(jù)與通信數(shù)據(jù)傳輸給無人艇自主航行控制算法,再由自主控制算法控制無人艇實體在真實空間運動,構(gòu)成控制閉環(huán)。本文基于ROS 機器人操作系統(tǒng)[14]對虛擬結(jié)合的無人艇自主能力測試系統(tǒng)的軟件部分進行實現(xiàn),具體方法如下。
圖3 軟件架構(gòu)Figure 3 Architecture of software
位姿同步模塊首先依據(jù)位姿測量單元的串口協(xié)議,實時解算實裝無人艇的空間位置與姿態(tài)數(shù)據(jù),然后將實裝無人艇的空間位置與姿態(tài)數(shù)據(jù)通過ROS 中的Service 通信機制將位姿數(shù)據(jù)發(fā)送至場景仿真模塊中的無人艇孿生體,使虛擬場景中的無人艇孿生體與真實空間中的無人艇實體實現(xiàn)空間位姿同步。
場景仿真模塊如圖4 所示,使用ODE(open dynamics engine)開源物理引擎進行剛體動力學解算,使用OpenGL(open graphics library)開放圖形庫進行可視化渲染。本文的場景模塊如圖4 所示,包括島礁模型、環(huán)境模型、陪試艇模型、孿生體模型。
圖4 任務場景仿真Figure 4 Task scene simulation
傳感器仿真模塊通過計算機仿真技術(shù)模擬無人艇傳感器的感知數(shù)據(jù),本文將無人艇中常用的可見光相機、激光雷達、航海雷達這3 類常用感知傳感器進行仿真。
可見光相機通過感光單元獲取視場角內(nèi)的彩色圖像數(shù)據(jù),經(jīng)過圖像識別算法的處理,可以為無人艇提供目標識別信息[15]??梢姽庀鄼C的主要仿真參數(shù)包括視場角、分辨率、運行頻率、噪聲等參數(shù),其仿真效果如圖5 所示,其輸出為彩色圖像。
圖5 可見光傳感器仿真Figure 5 Simulation of visible light camera
激光雷達憑借其較高的測距精度廣泛應用于無人車、無人艇的自主導航系統(tǒng)[16]。以多線機械式激光雷達為例,其原理是通過帶動固定在旋轉(zhuǎn)基座上的多個激光器旋轉(zhuǎn),激光器在旋轉(zhuǎn)的過程中按照一定時間間隔發(fā)射激光,通過計算激光發(fā)射和反射光接收的時間差得到空間物體的高精度測量。激光雷達的主要仿真參數(shù)包括激光線束數(shù)量、水平視場角、垂直視場角、分辨率、頻率、噪聲等參數(shù),其仿真效果如圖6 所示,其輸出為三維點云數(shù)據(jù)。
航海雷達由天線、發(fā)射機、接收機、信號處理器和顯控單元組成,通過對外發(fā)射電磁波并檢測回波強度來完成目標的探測,相比于其他傳感器航海雷達的探測距離較遠,可以完成數(shù)海里半徑的目標探測,航海雷達可直接輸出探測目標的屬性列表,包括方位角、距離、回波強度等信息,其仿真效果如圖7 所示,其輸出為目標屬性列表。
圖7 航海雷達仿真Figure 7 Simulation of marine radar
數(shù)據(jù)記錄模塊通過實時記錄各軟件模塊之間的數(shù)據(jù)流,將實驗過程數(shù)據(jù)完整地記錄下來,面向無人艇的測試評估需求,數(shù)據(jù)記錄包括測試系統(tǒng)的仿真數(shù)據(jù)記錄和無人艇依據(jù)虛擬場景所給出的反饋控制指令。
受實驗條件限制,本文所設(shè)計的測試系統(tǒng)被測對象需進行等效替代,實驗系統(tǒng)的搭建如圖8 所示。其中被試無人艇的物理實體由無人艇動力學仿真模塊替代,該動力學仿真模塊為文獻[6] 的虛擬仿真平臺中的無人艇水動力學仿真模塊,通過輸入無人艇控制指令可以驅(qū)動仿真環(huán)境中的無人艇進行相應運動;被試的“態(tài)勢感知-決策規(guī)劃-運動控制”自主航行算法采用人員操縱替代,實驗人員通過感官觀察獲取虛擬傳感器數(shù)據(jù),根據(jù)任務想定使用搖桿控制無人艇動力學仿真平臺的無人艇運動。
圖8 實驗系統(tǒng)搭建Figure 8 Experimental system construction
實驗步驟:1)向?qū)嶒炄藛T下發(fā)任務信息;2)由實驗人員操縱無人艇完成受領(lǐng)任務;3)任務結(jié)束;4)分析實驗過程數(shù)據(jù),對本測試系統(tǒng)進行評價。
實驗共計進行96.465 s,存儲23.56 GB 的實驗數(shù)據(jù),包括可見光相機數(shù)據(jù)、激光雷達數(shù)據(jù)、航海雷達數(shù)據(jù)、衛(wèi)星定位數(shù)據(jù)、IMU 數(shù)據(jù)、操艇指令共計6 類數(shù)據(jù)。其中可見光相機數(shù)據(jù)、激光雷達數(shù)據(jù)、航海雷達數(shù)據(jù)來源于測試系統(tǒng),衛(wèi)星定位數(shù)據(jù)、IMU 數(shù)據(jù)來源于無人艇運動仿真器(代實艇),操艇指令來源于實驗人員(代自主控制算法)操縱輸入。
仿真計算機性能參數(shù):英特爾Xeon W2254 CPU、32GB DDR4 內(nèi)存、英偉達Quadro RTX 4000 8 GB 顯卡。在此計算機上仿真數(shù)據(jù)(激光雷達數(shù)據(jù)、衛(wèi)星定位數(shù)據(jù)、航海雷達數(shù)據(jù)、可見光傳感器數(shù)據(jù))的平均輸出頻率為64.86 Hz。實驗數(shù)據(jù)可視化如圖9 所示。
圖9 實驗數(shù)據(jù)可視化Figure 9 Experimental data visualization
選取兩艇側(cè)向相遇場景進行仿真實驗,工況設(shè)計如圖10(a) 所示:其中陪試艇通過事先場景編排使其勻速沿近似直線前進,被試艇由智能算法實時驅(qū)動,其初始航線為近似直線,當偵測到有陪試艇從側(cè)向插入初始航線后,被測艇通過系統(tǒng)決策后采取加速繞前的機動動作,以避免與陪試艇發(fā)生碰撞。
圖10 典型工況仿真Figure 10 Simulation of typical operating conditions
典型工況仿真中陪試艇與被測艇的運行軌跡如圖10(b) 所示,被測艇的控制指令輸出如圖10(c) 所示。
通過實驗結(jié)果可以看出,本文所設(shè)計的虛實結(jié)合無人艇自主航行測試系統(tǒng)各部分功能實現(xiàn)正確,無人艇實體與孿生體位姿交互正常,可見光相機、激光雷達、航海雷達虛擬仿真?zhèn)鞲衅鲾?shù)據(jù)符合真實傳感器的數(shù)據(jù)特征。從仿真數(shù)據(jù)的產(chǎn)生頻率可以看出本系統(tǒng)實時性滿足要求。在以無人艇繞前機動這一典型工況的仿真試驗的結(jié)果中可以看出,本文所設(shè)計的測試系統(tǒng)能夠與被測系統(tǒng)正常交互完成無人艇自主航行系統(tǒng)的測試工作,其功能滿足預期要求。
本文提出了一種虛實結(jié)合的無人水面艇自主航行測試系統(tǒng)設(shè)計方案,該方案考慮了無人水面艇在任務執(zhí)行過程中OODA 環(huán)路,通過虛擬仿真手段將費時費力的海上測試場景構(gòu)建環(huán)節(jié)進行替代,在現(xiàn)階段難以用仿真手段完全替代的無人水面艇運動特性部分使用實艇在環(huán)。通過數(shù)字孿生技術(shù)將真實空間的實艇與虛擬仿真空間中的孿生艇進行空間位姿同步。為了驗證本文測試系統(tǒng)的功能,設(shè)計了仿真實驗。實驗結(jié)果表明,本文所提出的虛實結(jié)合的無人水面艇自主航行測試系統(tǒng)設(shè)計方案可行,可作為虛擬仿真測試與實艇測試之間的一種有力補充,該系統(tǒng)的應用可極大提高無人水面艇自主航行系統(tǒng)的測試效率、保障無人水面艇自主航行控制算法的質(zhì)量,縮短無人水面艇的研制周期。