国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

無人船避障導(dǎo)航算法仿真測試平臺設(shè)計與開發(fā)

2024-02-27 04:42:56張樂樂戴永壽李立剛
電子設(shè)計工程 2024年4期
關(guān)鍵詞:插件無人可視化

張樂樂,戴永壽,李立剛

(中國石油大學(xué)(華東)海洋與空間信息學(xué)院,山東青島 266580)

隨著水資源的廣泛開發(fā)與利用,物資運輸、人員搜救、環(huán)境保護(hù)等多方面任務(wù)需求愈加旺盛,無人船已成為最佳任務(wù)平臺[1-3]。為適應(yīng)多變的水面環(huán)境,各國正在從障礙物檢測、避障導(dǎo)航等方面加速無人船技術(shù)的研發(fā)[4]。然而,海上惡劣環(huán)境與高昂出海成本極大提高了相關(guān)算法的研發(fā)與測試難度,導(dǎo)致無人船相關(guān)技術(shù)研發(fā)周期漫長,開發(fā)效率低下。因此,用于替代出海實驗的無人船仿真測試軟件平臺的開發(fā)與實現(xiàn)已經(jīng)成為無人船技術(shù)高效發(fā)展的重要基石[5-8]。

為利于在實驗室環(huán)境中開展無人船關(guān)鍵測控算法的離線仿真測試驗證,降低實船實驗成本,縮短算法開發(fā)使用周期,利用虛擬現(xiàn)實技術(shù),設(shè)計開發(fā)了一款可在實驗室內(nèi)對相關(guān)算法測試驗證的無人船仿真測試平臺。

1 軟件總體設(shè)計

1.1 軟件功能需求分析

為保障本平臺在實驗過程復(fù)現(xiàn)時的準(zhǔn)確性,算法效果統(tǒng)計時的精準(zhǔn)性,平臺應(yīng)具備與現(xiàn)實場景相對應(yīng)的仿真環(huán)境并模擬船舶在海上的真實受力情況;能夠?qū)o人船及海面障礙物模型進(jìn)行統(tǒng)一調(diào)度和管理;具備測試算法的嵌入接口,在對算法進(jìn)行測試驗證的同時,將船舶運動過程中的關(guān)鍵數(shù)據(jù)以圖表的形式渲染到可視化窗口,便于研究人員查看和記錄;統(tǒng)一存儲和管理實驗數(shù)據(jù)。此外,為對算法性能進(jìn)行評價,該平臺還應(yīng)具有算法優(yōu)劣的評價指標(biāo)。根據(jù)上述分析,平臺的具體功能如圖1 所示。

圖1 無人船避障導(dǎo)航算法仿真測試平臺功能分析圖

1.2 軟件架構(gòu)設(shè)計

根據(jù)無人船避障導(dǎo)航算法仿真測試平臺的功能需求分析,將平臺劃分為五個主要的功能模塊:海面環(huán)境仿真模塊、物理效應(yīng)計算模塊、插件管理模塊、決策控制模塊、可視化渲染模塊。平臺的整體架構(gòu)如圖2 所示。

圖2 無人船避障導(dǎo)航算法仿真測試平臺架構(gòu)

在圖2 中,可視化渲染模塊主要負(fù)責(zé)監(jiān)聽用戶輸入和場景渲染,海面環(huán)境仿真模塊負(fù)責(zé)搭建海面場景,物理效應(yīng)計算模塊根據(jù)模型受力情況計算對象的變化狀態(tài),決策控制模塊負(fù)責(zé)進(jìn)行調(diào)度決策,插件管理模塊用于管理和動態(tài)加載待測算法插件。根據(jù)平臺實際功能和架構(gòu),設(shè)計了圖3 所示的工作流程圖。

圖3 無人船避障導(dǎo)航算法仿真測試平臺工作流程圖

當(dāng)軟件啟動后,各個功能模塊開始初始化,可視化渲染模塊開始監(jiān)聽等待用戶輸入,插件管理模塊加載需要測試的算法插件,決策控制模塊根據(jù)物理效應(yīng)計算模塊和插件管理模塊給出的信息進(jìn)行調(diào)度決策,將最新的仿真狀態(tài)渲染到可視化界面中,完成一個周期的狀態(tài)更新。

2 軟件開發(fā)關(guān)鍵技術(shù)

為實現(xiàn)無人船避障導(dǎo)航算法仿真測試平臺的基本功能需求,方便研究人員對需要測試的算法進(jìn)行優(yōu)劣評價,選用C#語言、Unity 3D 平臺進(jìn)行開發(fā)。通過搭建模型受力計算架構(gòu)實現(xiàn)物體受力模擬,并應(yīng)用插件動態(tài)加載技術(shù)將避障導(dǎo)航算法適配到Unity 3D 平臺,保障待測算法在平臺中的穩(wěn)定運行。

2.1 基于物理效應(yīng)的模型受力計算架構(gòu)

為在虛擬世界中模擬現(xiàn)實物體的受力和運動情況,該平臺基于Unity 3D 提供的物理引擎功能進(jìn)行物體的碰撞檢測和現(xiàn)實受力模擬[9-11]。物體在現(xiàn)實世界中會受到諸多力的影響,如重力、摩擦力等,Unity 3D 中提供的物理引擎可以將這些力添加給虛擬模型,模擬虛擬模型在現(xiàn)實世界中的物理情況。在該平臺中主要使用物理引擎中的碰撞檢測功能和剛體物理學(xué)解算功能,在虛擬世界中,要保證兩模型在發(fā)生碰撞后不會穿“?!倍^,就必須為模型添加碰撞體組件。只有添加了碰撞器組件的模型,才能夠被虛擬世界感知到模型邊界,保障在模型運動過程中,如果發(fā)生碰撞,可以被軟件感知并作出回應(yīng)。三維模型只有添加剛體屬性才能被物理引擎控制,在受到外力時產(chǎn)生真實世界的運動,該平臺在基于物理引擎的剛體物理學(xué)解算功能上,搭建了模型受力計算架構(gòu)用以模擬物體現(xiàn)實受力。

根據(jù)平臺工作需要,設(shè)計了如圖4 所示的模型受力計算架構(gòu)圖,在圖4 中,Model 類是軟件中定義的模型管理類,用于統(tǒng)一存儲管理平臺中的三維模型。當(dāng)物體發(fā)生碰撞事件時,不但要受到物體間碰撞時產(chǎn)生的相互作用力,還有其本身所受到的重力和浮力,因而設(shè)計了作用力收集工具,作用力收集工具負(fù)責(zé)收集碰撞時物體受到的相互作用力以及物體本身的重力、浮力,并結(jié)合無人船上一時刻的狀態(tài),通過計算給出無人船下一時刻的坐標(biāo)變換,完成物體下一時刻的狀態(tài)更新。

圖4 模型受力計算架構(gòu)圖

2.2 插件動態(tài)加載方法

為在軟件平臺中對無人船避障導(dǎo)航算法進(jìn)行測試驗證,需要從待測算法的封裝、DLL 插件的讀取、軟件平臺與DLL 插件交互三方面展開工作,使待測算法適配到軟件平臺并正常運行。

待測算法的封裝方面,由于軟件平臺聚焦于算法的測試驗證而不關(guān)注算法實現(xiàn)原理,因此將待測算法封裝為獨立的動態(tài)鏈接庫(Dynamic Link Library,DLL)插件[12-13],降低算法程序與平臺程序間的耦合性,提高平臺對多種算法的兼容性。

DLL 插件的讀取方面,在軟件平臺中應(yīng)用C#反射技術(shù)動態(tài)[14-16]讀取DLL 插件中的函數(shù)方法,完成對待測算法的調(diào)用。C#反射是操作DLL 插件元數(shù)據(jù)的類庫,其可以在類未知的情況下,通過規(guī)范化的插件接口,操作并獲取類中的字段、屬性和方法。

軟件平臺與DLL 插件交互方面,為提高DLL 插件讀取接口的復(fù)用性,對同一類別的待測算法接口進(jìn)行通用化設(shè)計。首先,在接口內(nèi)部單獨封裝只讀接口類,用于對待測算法插件的名稱、版本等屬性信息進(jìn)行標(biāo)識,以幫助區(qū)分不同版本的待測算法;其次,為了適應(yīng)多種同類待測算法插件中輸入?yún)?shù)數(shù)量的差異,使用可接收不確定數(shù)量參數(shù)的“params”關(guān)鍵字與數(shù)據(jù)基類“object”相結(jié)合的方式,實現(xiàn)對不同參數(shù)數(shù)量的待測算法的參數(shù)傳遞;最后,在避障導(dǎo)航算法驗證模塊,單獨開辟路徑規(guī)劃算法插件與路徑跟蹤控制算法插件的返回值存儲空間,用于存儲DLL 插件輸出的無人船期望路徑點與期望航向航速,便于軟件平臺后續(xù)調(diào)用待測算法返回值進(jìn)行算法效果的評價與渲染。

3 可視化場景渲染

可視化場景渲染是按照一定幀率將仿真對象的狀態(tài)渲染到可視化窗口中,在無人船避障導(dǎo)航算法仿真測試平臺中,為給用戶更好的仿真體驗,繪制了逼近真實的近岸虛擬海洋環(huán)境。同時在避障導(dǎo)航算法驗證模塊設(shè)計算法有效性評價指標(biāo),便于比較算法優(yōu)劣。

3.1 虛擬近岸海洋場景搭建

三維模型是仿真平臺的重要組成部分,模型的精細(xì)程度直接影響到平臺的視覺效果和真實程度,在實現(xiàn)平臺的具體功能前,先完成平臺所需的各類三維模型的繪制工作,并導(dǎo)入Unity 3D 平臺,搭建出模擬真實環(huán)境的虛擬海洋場景。

搭建虛擬近岸海洋場景所需要的三維模型主要有無人船三維模型、天空、海浪、島嶼以及海上可能出現(xiàn)的各類障礙物。Unity 3D 平臺自帶的資源庫可以滿足本平臺基本的模型需求[17]。因此,除無人船模型外,其余模型均為在資源商店下載后導(dǎo)入平臺進(jìn)行參數(shù)配置后直接用于開發(fā)。

為了更加真實的還原無人船在海上運行的實際情況,平臺中的無人船三維模型是依據(jù)無人船實物繪制而成,利用solidworks 建模軟件搭建無人船模型。無人船是由多個零件組合而成的整體,其零件的組合關(guān)系復(fù)雜。在該軟件中,主要展示無人船的被控性能和運動情況,因此,建模時不需要過多考慮各個零件之間的組合關(guān)系[18-19]。圖5 與圖6 為無人船實船與三維模型圖。

圖5 無人船實物

圖6 無人船三維模型圖

將無人船模型導(dǎo)入Unity 3D 后,繼續(xù)導(dǎo)入海浪、障礙物等環(huán)境模型,調(diào)整各個模型的尺寸比例及位置,設(shè)置燈光、相機等,完成軟件的環(huán)境場景搭建工作。

3.2 避障導(dǎo)航算法評價指標(biāo)設(shè)計

為了快速評價避障導(dǎo)航算法的優(yōu)劣,在所設(shè)計的軟件平臺中提供相關(guān)算法評價指標(biāo)的計算方法[20]。

在路徑規(guī)劃算法的評價指標(biāo)方面,給出路徑長度、轉(zhuǎn)向次數(shù)、算法運行時間三個算法有效性評價指標(biāo)。算法運行時間為程序?qū)嶋H運行時間,路徑長度D表示為:

轉(zhuǎn)向次數(shù)S表示為:

Si表示為:

其中,路徑規(guī)劃算法插件共給出n個路徑點,(xi,yi)為第i個路徑點坐標(biāo)。

在路徑跟蹤控制算法的評價指標(biāo)方面,使用平均跟蹤誤差作為算法有效性評價指標(biāo)。平均跟蹤誤差M用無人船在各時刻實際航行位置到期望航線最短距離的均值表示,如下:

其中,m為無人船沿期望航線運動過程中采樣到的航行點跡數(shù)量,(xj,yj)為第j時刻無人船實際位置,ki為無人船實際位置所對應(yīng)期望航線的斜率,bi為無人船實際位置所對應(yīng)期望航線的截距,ki、bi表示為:

4 軟件性能測試

無人船避障導(dǎo)航算法仿真測試驗證平臺包含路徑規(guī)劃算法驗證模塊與路徑跟蹤控制算法驗證模塊,為驗證平臺有效性,分別對兩大模塊進(jìn)行性能測試。

4.1 路徑規(guī)劃算法驗證模塊性能測試

為驗證路徑規(guī)劃算法驗證模塊的有效性,將已開發(fā)完成的A*算法動態(tài)鏈接庫導(dǎo)入該模塊中進(jìn)行測試,軟件平臺能夠正常讀取算法插件,運行效果如圖7 所示。

圖7 路徑規(guī)劃算法模塊測試效果

進(jìn)一步將算法在Matlab 中進(jìn)行仿真實驗,得到算法評價指標(biāo),兩系統(tǒng)中給出的算法評價指標(biāo)如表1所示。

表1 算法在多平臺的評價指標(biāo)對比表

結(jié)合圖表可得,所設(shè)計軟件平臺顯示效果更加直觀。與Matlab 相比,二者給出的評價指標(biāo)基本吻合,軟件平臺的路徑規(guī)劃算法驗證模塊準(zhǔn)確可行。

4.2 路徑跟蹤控制算法驗證模塊性能測試

為對路徑跟蹤控制算法驗證模塊進(jìn)行有效性測試,將開發(fā)完成的LOS 引導(dǎo)率算法動態(tài)鏈接庫導(dǎo)入軟件平臺進(jìn)行測試,算法插件能夠正常讀取,運行效果如圖8 所示。

進(jìn)一步將軟件平臺得到的評價指標(biāo)與實船實驗結(jié)果相對比,兩者的算法評價指標(biāo)如表2 所示。

表2 算法在多平臺的評價指標(biāo)對比表

結(jié)合表2 可知,考慮到海浪對無人船航行的干擾,實船實驗與軟件平臺給出的評價指標(biāo)誤差在可接受范圍內(nèi),評價指標(biāo)合理有效。且軟件平臺能夠便捷快速地復(fù)現(xiàn)算法驗證過程,實驗結(jié)果易于觀察,算法效果對比直觀。

5 結(jié)論

根據(jù)無人船實船進(jìn)行建模,并利用Unity 3D 引擎構(gòu)建虛擬了近岸海洋場景,在虛擬海洋試驗場中對無人船運動過程中的關(guān)鍵算法進(jìn)行測試,一方面,通過虛擬場景對無人船運動過程中的避障導(dǎo)航算法進(jìn)行測試驗證并展示,減緩了大量海上實驗極其耗費人力物力等資源的問題,另一方面,通過虛擬可視化技術(shù)對實驗過程及其關(guān)鍵參數(shù)進(jìn)行復(fù)現(xiàn),為無人船技術(shù)的學(xué)習(xí)與推廣提供了可視化平臺。

目前,該仿真測試驗證平臺已應(yīng)用在實驗室無人船相關(guān)算法的測試驗證中,實踐結(jié)果表明,該套系統(tǒng)可以有效地驗證避障導(dǎo)航算法有效性,直觀地展示算法的優(yōu)劣,為算法的優(yōu)化提供數(shù)據(jù)支持,同時節(jié)省了大量物力財力,具備良好的工程應(yīng)用價值。

猜你喜歡
插件無人可視化
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
基于CGAL和OpenGL的海底地形三維可視化
自編插件完善App Inventor與樂高機器人通信
電子制作(2019年22期)2020-01-14 03:16:34
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
無人戰(zhàn)士無人車
反擊無人機
詩到無人愛處工
岷峨詩稿(2017年4期)2017-04-20 06:26:43
無人超市會流行起來嗎?
MapWindowGIS插件機制及應(yīng)用
科技| 乌什县| 玉树县| 太白县| 华坪县| 自贡市| 东乌珠穆沁旗| 称多县| 梅河口市| 同仁县| 扶余县| 仁寿县| 晴隆县| 台东市| 连云港市| 遂川县| 扶余县| 五寨县| 淮安市| 长海县| 东乌| 高州市| 安义县| 黑河市| 祥云县| 抚远县| 平武县| 孙吴县| 阿图什市| 四川省| 彩票| 江源县| 马山县| 阿勒泰市| 彭泽县| 田林县| 乐都县| 门源| 忻城县| 武平县| 乳源|