全文3454字,預(yù)計(jì)閱讀時(shí)間8分鐘
文稿 | 寧子安
編輯 | 呂嘉玲
關(guān)鍵字:AirSim、虛幻引擎、無(wú)人機(jī)仿真、深度學(xué)習(xí)
四旋翼無(wú)人機(jī)自發(fā)明以來(lái)已經(jīng)有了非常長(zhǎng)遠(yuǎn)的發(fā)展,現(xiàn)階段對(duì)四旋翼無(wú)人機(jī)的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)模型已經(jīng)有了很多較深入的研究,無(wú)人機(jī)仿真方面的軟件和工具也是層出不窮。例如 Gazebo 有優(yōu)秀的物理引擎,可以模擬出真實(shí)的物理環(huán)境,同時(shí)也能夠自主搭建環(huán)境;鳳凰模擬器能夠模擬遙控器手動(dòng)飛行,對(duì)于飛手的訓(xùn)練有非常大的幫助。
Gazebo 中四旋翼無(wú)人機(jī)飛行效果圖
鳳凰模擬器中用遙控器控制四旋翼的飛行現(xiàn)如今機(jī)器視覺和人工智能飛速發(fā)展,但是仿真軟件中的環(huán)境不夠逼真,直觀看起來(lái)比較假,同時(shí)背景環(huán)境也不夠豐富,并不能充分驗(yàn)證計(jì)算機(jī)視覺等相關(guān)算法。AirSim 就是在這種情況下應(yīng)運(yùn)而生的,它將四旋翼的動(dòng)力學(xué)模型與游戲引擎(虛幻引擎 Unreal)相結(jié)合,借助游戲引擎強(qiáng)大的視覺渲染能力和豐富的場(chǎng)景,彌補(bǔ)了這一缺陷。
Unreal Engine,簡(jiǎn)稱UE,中文譯名為虛幻引擎,是非常出名的游戲引擎,它是一套完整的游戲開發(fā)工具,目前已經(jīng)被廣泛應(yīng)用于游戲開發(fā)、建筑設(shè)計(jì)與渲染、汽車展示、廣播與實(shí)況活動(dòng)、影視渲染、訓(xùn)練與模擬等各個(gè)領(lǐng)域中。虛幻引擎同時(shí)還具備編輯器功能,具有照片級(jí)逼真的視覺渲染水平、支持動(dòng)態(tài)物理模擬的效果,能夠制作出栩栩如生的動(dòng)畫,甚至可以制作電影大片級(jí)的場(chǎng)面。其豐富而強(qiáng)大的數(shù)據(jù)接口,能夠?yàn)楦餍懈鳂I(yè)的專業(yè)人士帶來(lái)無(wú)限的創(chuàng)作自由。
從 UE4 版本開始,其源代碼就可以從 Github 開源社區(qū)下載,所以實(shí)質(zhì)上你可以修改任何東西,包括:物理引擎、渲染效果和用戶界面等。同時(shí) UE4 的跨平臺(tái)特性支持Windows PC、Linux、Max OSX、iOS、安卓等平臺(tái),甚至可以支持 VR 等虛擬現(xiàn)實(shí)的設(shè)備。虛幻商城中有非常豐富的逼真場(chǎng)景可供選擇,甚至有復(fù)原了完整了著名城市和建筑群,下圖展示的有:沙漠景觀、城市建筑、公園、森林。虛幻引擎中的所有場(chǎng)景都可以設(shè)置為 AirSim 無(wú)人機(jī)仿真的環(huán)境場(chǎng)景。
虛幻商城中部分環(huán)境展示:沙漠、城市、公園、森林這些豐富的場(chǎng)景中,還包含了風(fēng)沙雨雪霧、落葉等不同天氣或氣候情況下的渲染,甚至包括同一地區(qū)不同季節(jié)時(shí)的景觀。這些在仿真中都可以任意設(shè)置,能夠充分測(cè)試視覺算法在不同的場(chǎng)景下的效果。
虛幻商城中 Realistic Landscapes 環(huán)境 不同季節(jié)和氣候的景色展示
AirSim 是微軟公司開發(fā)的基于游戲引擎的一個(gè)開源的跨平臺(tái)仿真器,它可以用于無(wú)人機(jī)、無(wú)人機(jī)車等機(jī)器人的物理和視覺仿真。它同時(shí)支持基于PX4 和 ArduPilot 等飛行控制器的軟件在環(huán)仿真,目前還支持基于PX4的硬件在環(huán)仿真。
AirSim 是作為虛幻游戲引擎的插件而存在的,適配基于虛幻引擎搭建的環(huán)境,目前AirSim也有一個(gè)實(shí)驗(yàn)版本的插件適用于Unity引擎。得益于游戲引擎優(yōu)秀的視覺渲染效果,AirSim 仿真平臺(tái)在具備物理仿真的同時(shí)也具備了逼真的視覺仿真效果,這是其一大亮點(diǎn),非常適用于進(jìn)行基于深度學(xué)習(xí)等視覺AI仿真驗(yàn)證。AirSim提供了很多API接口,用于讀取數(shù)據(jù)、控制車輛、控制天氣等,使用 API接口可以實(shí)現(xiàn)自動(dòng)收集數(shù)據(jù)集的功能,還可以測(cè)試視覺算法。AirSim的開發(fā)者希望這個(gè)平臺(tái)能夠幫助研究人員用于深度學(xué)習(xí)、計(jì)算機(jī)視覺、強(qiáng)化學(xué)習(xí)等人工智能相關(guān)的研究,適用于無(wú)人機(jī)、無(wú)人駕駛、機(jī)器人等領(lǐng)域的應(yīng)用。
AirSim支持多平臺(tái)運(yùn)行,在 Windows、Linux 和Mac系統(tǒng)中可以運(yùn)行,但是目前只有在Windows系統(tǒng)下才可以創(chuàng)建工程,而對(duì)于Linux系統(tǒng)下的使用,需要首先在 Windows 系統(tǒng)下創(chuàng)建好工程,再?gòu)?fù)制到Linux系統(tǒng)下。
AirSim的官方文檔地址是:Home - AirSim (microsoft.github.io)
手動(dòng)駕駛汽車
手動(dòng)飛行無(wú)人機(jī)
1. 手動(dòng)飛行(駕駛)
使用可以接入電腦的無(wú)人機(jī)遙控器或者 XBox,都可以實(shí)現(xiàn)手動(dòng)飛行仿真中的無(wú)人機(jī),它不只能夠訓(xùn)練飛手的飛行技術(shù),還可以瀏覽美景。得益于虛幻商城中的豐富且逼真的場(chǎng)景,能夠給予玩家震撼的視覺效果,使用1比1復(fù)原的實(shí)現(xiàn)場(chǎng)景時(shí),甚至有一種駕駛飛機(jī)瀏覽世界各地名勝的感覺。
使用 FrSky Taranis X9D Plus 航模遙控器手動(dòng)飛行
2.程序控制無(wú)人機(jī)飛行(控制算法測(cè)試)AirSim 提供了豐富的程序控制接口,用戶可以使用多種編程語(yǔ)言來(lái)編寫程序,實(shí)現(xiàn)對(duì)無(wú)人機(jī)的狀態(tài)讀取和飛行控制。AirSim 還支持硬件在環(huán)仿真,可以最大程度模擬四旋翼的飛行效果。
控制接口功能豐富,
包括四旋翼的:位置控制、速度控制、姿態(tài)控制、電機(jī)控制等,
支持電機(jī)轉(zhuǎn)速控制、底層飛控的PID參數(shù)調(diào)節(jié),滿足了從基礎(chǔ)控制到高機(jī)動(dòng)控制等不同的任務(wù)需求。
使用AirSim APIs 接口可以讀取無(wú)人機(jī)的狀態(tài)(位置、速度、姿態(tài)等),包括真實(shí)狀態(tài)、傳感器測(cè)量到的有噪聲的狀態(tài)信息。
AirSim 還支持同時(shí)仿真多架無(wú)人機(jī),可以測(cè)試集群和多無(wú)人機(jī)協(xié)同算法。
AirSim 支持在視口中直接作圖,由此可以顯示無(wú)人機(jī)的飛行軌跡。
多無(wú)人機(jī)協(xié)同編隊(duì)控制
無(wú)人機(jī)跟蹤8字形軌跡
3. 數(shù)據(jù)集自動(dòng)收集、視覺算法測(cè)試
仿真場(chǎng)景中可以知道全部的信息,使用程序控制,可以很方便地實(shí)現(xiàn)對(duì)無(wú)人機(jī)位置和姿態(tài)的控制,同時(shí)也能方便地控制相機(jī)的姿態(tài)和內(nèi)參。也可以同時(shí)添加多個(gè)相機(jī),安裝在無(wú)人機(jī)的不同位置。
AirSim 中可以獲得的圖像包括:單目 RGB圖像、雙目深度圖、分割圖、紅外圖等。
由于是仿真模擬,深度圖和分割圖非常完美,并不能完全模擬顯示中的不確定性。
紅外圖是基于分割圖生成的,需要自己定義每個(gè)物體的溫度。
自由設(shè)置相機(jī)的數(shù)量、位置、內(nèi)參等。
自由添加噪聲:相機(jī)畸變、運(yùn)動(dòng)模糊、圖片隨機(jī)噪聲等。
自由設(shè)置不同的天氣狀態(tài):雨、雪、霧、風(fēng)速、落葉、沙塵等。
自由改變無(wú)人機(jī)的外觀,可以將無(wú)人機(jī)外形設(shè)置成任意型號(hào)的無(wú)人機(jī),如 DJI Mavic。
可以導(dǎo)入現(xiàn)實(shí)中的環(huán)境。
設(shè)置時(shí)間流逝,由此可以改變一天中太陽(yáng)的位置,從而產(chǎn)生光照強(qiáng)度、光源位置變化,產(chǎn)生環(huán)境變化。
導(dǎo)入到AirSim 中的不同型號(hào)和外觀的四旋翼
4.強(qiáng)化學(xué)習(xí)
AirSim 支持獲取碰撞信息,碰撞信息不止包括是否發(fā)生碰撞,還包括:發(fā)生碰撞的位置、發(fā)生碰撞的表面、碰撞深度等信息。使用程序可以讀取碰撞信息、無(wú)人機(jī)狀態(tài)等,加上強(qiáng)化學(xué)習(xí)算法,可以實(shí)現(xiàn)強(qiáng)化學(xué)習(xí)的訓(xùn)練。
,時(shí)長(zhǎng)05:01
強(qiáng)化學(xué)習(xí)訓(xùn)練四旋翼無(wú)人機(jī)的飛行(視頻來(lái)源:官方文檔 https://microsoft.github.io/AirSim/reinforcement_learning/)
5. 多傳感器融合
AirSim 目前支持的傳感器有:相機(jī)、雙目相機(jī)、紅外相機(jī)、雷達(dá)、距離傳感器、氣壓計(jì)、IMU、GPS、磁力計(jì)。同時(shí)使用多個(gè)傳感器,可以測(cè)試多傳感器融合算法。
AirSim 是微軟公司研發(fā)的基于虛幻引擎(Unreal Engine)的仿真平臺(tái),可以用于無(wú)人機(jī)或無(wú)人車的仿真,得益于虛幻引擎強(qiáng)大的視覺渲染能力和豐富且逼真的場(chǎng)景,AirSim中的仿真完全可以做到視覺上以假亂真的效果,非常適合無(wú)人機(jī)在視覺算法、機(jī)器學(xué)習(xí)、強(qiáng)化學(xué)習(xí)等領(lǐng)域的研究。
隨著計(jì)算機(jī)視覺、機(jī)器學(xué)習(xí)和強(qiáng)化學(xué)習(xí)等領(lǐng)域的飛速發(fā)展,AirSim這一強(qiáng)大的工具必將得到大量的應(yīng)用,并有力地推動(dòng)相關(guān)領(lǐng)域的快速發(fā)展。
官方資料:
·AirSim 官網(wǎng)文檔 :
https://microsoft.github.io/AirSim/
·虛幻引擎官方文檔 :
https://docs.unrealengine.com/4.27/en-US/Basics/GettingStarted/
·虛幻商城 :
https://www.unrealengine.com/marketplace/zh-CN/content-cat/assets/environments?count=20&sortBy=effectiveDate&sortDir=DESC&start=0
·AirSim 官方源碼 - GitHub :
https://github.com/Microsoft/AirSim
本文由西湖大學(xué)智能無(wú)人系統(tǒng)實(shí)驗(yàn)室博士生寧子安原創(chuàng),申請(qǐng)文章授權(quán)請(qǐng)聯(lián)系后臺(tái)相關(guān)運(yùn)營(yíng)人員,未經(jīng)授權(quán)不得轉(zhuǎn)載。
歡迎關(guān)注我們的知乎 技術(shù)分享同步更新↓
掃描二維碼獲取
關(guān)注知乎賬號(hào)
空中機(jī)器人前沿
2025-09-17 10:55
2025-09-16 09:27
2025-09-12 11:30
2025-09-11 10:41
2025-09-09 10:52
2025-09-04 21:58
2025-08-28 11:13
2025-08-27 14:14
2025-08-26 13:50
2025-08-23 20:37