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

?

基于Unity3D的無人機(jī)蜂群作戰(zhàn)可視化研究

2020-02-14 06:03王婧羽胡曉陽
科技創(chuàng)新與應(yīng)用 2020年2期
關(guān)鍵詞:無人機(jī)可視化虛擬現(xiàn)實(shí)

王婧羽 胡曉陽

摘 ?要:對(duì)于目前虛擬現(xiàn)實(shí)技術(shù)在軍事領(lǐng)域中的廣泛應(yīng)用,通過使用三維交互程序開發(fā)引擎Unity3D在計(jì)算機(jī)平臺(tái)上開發(fā)了無人機(jī)蜂群作戰(zhàn)場(chǎng)景可視化的仿真應(yīng)用,實(shí)現(xiàn)了該作戰(zhàn)過程中逼真的效果。結(jié)果表明該系統(tǒng)能增加分析人員的真實(shí)感,在一定程度上降低了實(shí)驗(yàn)成本。

關(guān)鍵詞:虛擬現(xiàn)實(shí);Unity3D;無人機(jī);蜂群作戰(zhàn);可視化

中圖分類號(hào):U675.79 文獻(xiàn)標(biāo)志碼:A ? ? ? ? 文章編號(hào):2095-2945(2020)02-0013-03

Abstract: For the wide application of virtual reality technology in the military field, the simulation application of UAV swarm combat scene visualization is developed on the computer platform by using the three-dimensional interactive program development engine Unity3D, and the realistic effect in the combat process is realized. The results show that the system can increase the reality of analysts and reduce the experimental cost to a certain extent.

Keywords: virtual reality; Unity3D; UAV; bee swarm warfare; visualization

隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,控制技術(shù)、計(jì)算機(jī)技術(shù)、電子技術(shù)、航空技術(shù)等一系列高新技術(shù)出現(xiàn)了日新月異的變化,無人機(jī)應(yīng)運(yùn)而生,并逐步作為一種現(xiàn)代化的武器裝備應(yīng)用于現(xiàn)代高技術(shù)局部戰(zhàn)爭中[1],面對(duì)日益多樣化的復(fù)雜任務(wù)和高度復(fù)雜的戰(zhàn)場(chǎng)環(huán)境,無人機(jī)蜂群作戰(zhàn)也逐漸從理論變?yōu)榱爽F(xiàn)實(shí)。

Unity3D游戲引擎是近幾年非常流行的一個(gè)3D游戲開發(fā)引擎。該軟件可以實(shí)現(xiàn)三維場(chǎng)景的搭建,并進(jìn)行場(chǎng)景的交互[2]。因此,提出Unity3D為主要開發(fā)工具的無人機(jī)蜂群作戰(zhàn)場(chǎng)景可視化的設(shè)計(jì)思路。

為實(shí)現(xiàn)一定逼真度并兼顧系統(tǒng)性能要求,可以從以下兩個(gè)方面加以考慮:(1)模型在具備一定逼真度基礎(chǔ)上,精細(xì)程度不能太高,可以采用把場(chǎng)景中的各實(shí)體由簡化處理的模型來模擬。(2)選擇格式匹配的紋理貼圖及合適的紋理映射方式,提高實(shí)體和戰(zhàn)場(chǎng)環(huán)境仿真的逼真度。

為實(shí)現(xiàn)戰(zhàn)斗場(chǎng)景可視化,利用3DMax建立飛機(jī)、無人機(jī)和戰(zhàn)場(chǎng)地形模型;利用Unity3D搭建模型;利用C#編程開發(fā)出戰(zhàn)斗場(chǎng)景可視化系統(tǒng)。

1 仿真工具

目前三維交互建模工具較多,其中3DMax是市場(chǎng)上較為主流的三維建模、動(dòng)畫及渲染解決方案之一,被廣泛應(yīng)用在視覺效果、角色動(dòng)畫及游戲開發(fā)等的領(lǐng)域內(nèi)[3]。

Unity實(shí)時(shí)開發(fā)平臺(tái),打造面向游戲、汽車、交通運(yùn)輸、電影、動(dòng)畫、建筑、工程等領(lǐng)域的3D、2D VR和AR可視化效果,是一個(gè)全面整合的專業(yè)游戲引擎。其編輯器可運(yùn)行在Windows、Linux、Mac OS X下,可發(fā)布項(xiàng)目至Windows、Mac、Wii、iPhone、WebGL、Windows phone 8和Android平臺(tái)[4]。也可以利用Unity web player插件發(fā)布網(wǎng)頁游戲,支持Mac和Windows的網(wǎng)頁瀏覽?;谶@種跨平臺(tái)開發(fā)的思考,選用該工具作為作戰(zhàn)場(chǎng)景模擬再現(xiàn)的主要開發(fā)工具。

2 創(chuàng)建場(chǎng)景

2.1 圖片處理

搜集有三視圖的飛機(jī)、無人機(jī)和坦克模型圖,在Photoshop里進(jìn)行處理,用鋼筆工具修剪圖片的三視圖,按一定方向擺放三視圖后并存儲(chǔ),接著使用Photoshop里的銳化工具增加模型紋理使之更加清晰便于后期處理。

整理素材,在3ds Max中導(dǎo)入三視圖,搭建模型,再利用占展UV貼圖給飛機(jī)模型貼圖并渲染,導(dǎo)出文件。

2.2 搭建地形模型

設(shè)置地形系統(tǒng),Unity3D內(nèi)置了一套強(qiáng)大的山體系統(tǒng)(也叫地形系統(tǒng))。在Unity3D中創(chuàng)建一個(gè)新的場(chǎng)景,通過地形屬性面板畫出山體形狀并調(diào)整山體大小,選擇貼圖紋理添加地形貼圖后繪制山體貼圖。使用畫樹和畫草工具為地形增色[5]。設(shè)置天空盒紋理,添加合適的燈光,完成地形創(chuàng)建如圖1所示。

2.3 搭建飛機(jī)模型

將從3ds Max中導(dǎo)出的飛機(jī)模型文件拖拽到Unity3D的Project面板中,然后將飛機(jī)模型拖拽到建好的場(chǎng)景中,命名為Plane,調(diào)整模型尺寸。飛機(jī)初始狀態(tài)為略傾斜,并且在地面等待起飛,因此將飛機(jī)設(shè)定一定角度旋轉(zhuǎn),完成后的飛機(jī)模型如圖2所示。

2.4 搭建無人機(jī)模型

將從3ds Max中導(dǎo)出的無人機(jī)模型文件拖拽到Unity3D的Project面板中,然后將無人機(jī)模型拖拽到建好的場(chǎng)景中,命名為Drone,調(diào)整模型尺寸,所建無人機(jī)模型將如圖3所示。

由于無人機(jī)起初與飛機(jī)同步運(yùn)動(dòng),體現(xiàn)飛機(jī)裝載著無人機(jī),因此將無人機(jī)與飛機(jī)建立父子關(guān)系,飛機(jī)為父物體,無人機(jī)為子物體。

為達(dá)到比較真實(shí)的效果,在無人機(jī)的旋翼上添加Animation組件,錄制旋翼旋轉(zhuǎn)動(dòng)畫xuanyi,添加到Animation組件中如圖4所示,提供無人機(jī)旋翼動(dòng)畫的功能。

2.5 搭建坦克模型

與搭建其他模型相同步驟,將坦克模型加到場(chǎng)景中作為無人機(jī)群攻擊的目標(biāo)點(diǎn),完成后的模型如圖5所示。

3 實(shí)現(xiàn)過程

3.1 飛機(jī)飛行控制

選擇plane對(duì)象,添加Script組件,編寫c#代碼,腳本需求包括以下四方面:(1)飛機(jī)以固定速度起飛;(2)飛機(jī)以設(shè)定加速度做加速向前運(yùn)動(dòng)到速度為指定速度;(3)飛機(jī)到達(dá)特定位置時(shí),通過外界輸入空格命令,投放無人機(jī);(4)投放無人機(jī)后飛機(jī)回到起飛點(diǎn)。

飛機(jī)飛行控制基本實(shí)現(xiàn)思路:定義float型數(shù)據(jù)飛機(jī)的上升速度、向前飛的實(shí)際速度、加速度與飛行時(shí)間,飛機(jī)以指定上升速度上升同時(shí)旋轉(zhuǎn)回正常飛行角度,上升指定時(shí)間后飛機(jī)做勻加速運(yùn)動(dòng),到指定速度后勻速前進(jìn),飛行過程利用transform.Translate函數(shù)實(shí)現(xiàn);此時(shí)外界可以輸入命令,飛機(jī)通過Input.GetKey函數(shù)獲取外界命令,之后飛機(jī)通過使用transform.DetachChildren函數(shù)解除與無人機(jī)的父子關(guān)系,達(dá)到投放無人機(jī)的目的。投放無人機(jī)后,飛機(jī)飛回原地。

將上述邏輯通過腳本代碼實(shí)現(xiàn),即飛機(jī)模型所掛在的Script腳本組件的內(nèi)容。

3.2 無人機(jī)蜂群控制

3.2.1 無人機(jī)個(gè)體行為控制

模擬無人機(jī)蜂群作戰(zhàn),要先給每個(gè)無人機(jī)賦予各自的行為模式:(1)避免無人機(jī)之間相互碰撞——分離;(2)向目標(biāo)方向移動(dòng)——隊(duì)列;(3)向無人機(jī)的領(lǐng)航者位置移

動(dòng)——聚集[6]。將無人機(jī)模型預(yù)制,復(fù)制多個(gè)預(yù)制體,構(gòu)成無人機(jī)群,在無人機(jī)群的個(gè)體上掛載Script組件,控制無人機(jī)蜂群飛行過程。

代碼實(shí)現(xiàn)思路:定義移動(dòng)速度、旋轉(zhuǎn)速度、隨機(jī)力的頻率及大小、向心力、分離力、規(guī)避力的大小、追隨速度及半徑等個(gè)體屬性;由平均位置來計(jì)算無人機(jī)的聚合,判斷規(guī)避半徑與個(gè)體間的距離來改變推力,同時(shí)還要與領(lǐng)航無人機(jī)保持一定的距離;計(jì)算與無人機(jī)領(lǐng)航者的相對(duì)速度后調(diào)整速度由領(lǐng)航者帶領(lǐng)飛向目標(biāo)點(diǎn);為產(chǎn)生隨機(jī)力,還需定義一個(gè)方法IEnumerator UpdateRandom,通過隨機(jī)返回單位球體類一點(diǎn)坐標(biāo)來更新隨機(jī)力,依據(jù)隨機(jī)頻率在一定時(shí)間分為類變化隨機(jī)力。

將此思路編為c#代碼命名為Flock,掛在單個(gè)無人機(jī)上,控制每個(gè)無人機(jī)個(gè)體行為,F(xiàn)lock組件視圖如圖6所示。

3.2.2 無人機(jī)領(lǐng)航者控制

創(chuàng)建無人機(jī)領(lǐng)航者及群體控制器,這個(gè)類會(huì)決定飛行的方向,引領(lǐng)其他無人機(jī)向目標(biāo)飛行。選擇Drone對(duì)象,添加Script腳本組件后編寫代碼。

定義偏移大小、范圍、領(lǐng)航無人機(jī)速度、加速度、對(duì)目標(biāo)位置的誤差值等屬性,定義目標(biāo)位置,用Transform[]target字符串來實(shí)現(xiàn)。開始時(shí),飛機(jī)接收命令與無人機(jī)解除父子關(guān)系,無人機(jī)同樣接收命令,通過if語句與Transform.parent函數(shù)判斷是否與飛機(jī)解除了父子關(guān)系。當(dāng)確定已解除父子關(guān)系后,無人機(jī)尋找并飛向目標(biāo)。為使無人機(jī)可以搜索指定目標(biāo),需定義尋找目標(biāo)的方法,命名為Move To,實(shí)現(xiàn)思路為:首先使用字符串string類型定義目標(biāo),定義float類型目標(biāo)數(shù)值;然后通過transform.LookAt函數(shù)使無人機(jī)朝向目標(biāo)點(diǎn),同樣通過transform.Translate函數(shù)使無人機(jī)移動(dòng),最后通過if語句判斷無人機(jī)是否到達(dá)指定目標(biāo)。

將上述邏輯編輯成c#腳本,命名為FlockController,掛在領(lǐng)航無人機(jī)對(duì)象上實(shí)現(xiàn)需求,組件視圖如圖7所示。

4 運(yùn)行驗(yàn)證

無人機(jī)蜂群作戰(zhàn)場(chǎng)景可視化運(yùn)行截圖如圖8所示。

5 結(jié)束語

Unity3D引擎在作戰(zhàn)場(chǎng)景可視化系統(tǒng)開發(fā)上的具有效率高、逼真度和可信度高、能滿足系統(tǒng)仿真實(shí)時(shí)性等明顯優(yōu)勢(shì)。直接運(yùn)用編輯器自帶的功能接口和組件就能夠快速得到模擬作戰(zhàn)過程所需要的無人機(jī)間碰撞檢測(cè)等復(fù)雜功能。目前其在無人機(jī)蜂群作戰(zhàn)模擬方面的應(yīng)用瓶頸在于多無人機(jī)之間的通信處理問題。

參考文獻(xiàn):

[1]沈林成,牛軼峰,朱華勇.多無人機(jī)自主協(xié)同控制理論與方法[M].北京:國防工業(yè)出版社,2013:1.

[2]仇樂.基于Unity3D的船舶航跡三維顯示系統(tǒng)[J].船舶科學(xué)技術(shù),2019(41):145.

[3]李志,李艦,付玉峻.基于Unity3D的某型地空導(dǎo)彈戰(zhàn)斗場(chǎng)景可視化研究[J].電腦編程技巧與維護(hù),2016(03):71.

[4]姜子奇.基于Unity3D的礦山虛擬采礦技術(shù)研究[J].礦業(yè)工程,2019(17):60.

[5]羅培羽.Unity3D網(wǎng)絡(luò)游戲?qū)崙?zhàn)[M].北京:機(jī)械工業(yè)出版社,2016:10-12.

[6]王洪源,陳慕羿,華宇寧,等.Unity3D人工智能編程精粹[M].北京:清華大學(xué)出版社,2014:5.

猜你喜歡
無人機(jī)可視化虛擬現(xiàn)實(shí)
數(shù)據(jù)可視化設(shè)計(jì)在美妝類APP中的應(yīng)用
思維可視化
復(fù)變函數(shù)級(jí)數(shù)展開的可視化實(shí)驗(yàn)教學(xué)
復(fù)變函數(shù)級(jí)數(shù)展開的可視化實(shí)驗(yàn)教學(xué)
復(fù)變函數(shù)共形映射的可視化實(shí)驗(yàn)教學(xué)
復(fù)變函數(shù)共形映射的可視化實(shí)驗(yàn)教學(xué)
虛擬現(xiàn)實(shí),讓學(xué)習(xí)更“沉浸”
高職院校新開設(shè)無人機(jī)專業(yè)的探討
一種適用于輸電線路跨線牽引無人機(jī)的飛行方案設(shè)計(jì)
View Master虛擬現(xiàn)實(shí)顯示器