PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真

支持PX4仿真的開源項目AirSim

PX4作為主流的開源飛控,為無人機開發者們提供了一個優秀的平臺。PX4用戶可以將飛控板作為核心,構建屬于自己的無人機。但開源無人機的初學者很難避免炸機的慘劇,輕則螺旋槳斷裂,重則整機報銷;考慮到機架、電機、飛控整套的價格,炸一次機的損耗實在是傷不起。

有許多小伙伴詢問過,是否有支持PX4的仿真軟件可以方便地調試飛控、減少實機測試的損耗。在Mavros的支持下,目前大部分用戶都是通過Gazebo實現PX4無人機的三維仿真。同時,PX4原生也支持jmavsim這類輕量化仿真。但Gazebo和jmavsim的仿真環境都相對簡陋,和實機飛行差別較大。

PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真的圖1

PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真的圖2

Gazebo與jmavsim仿真界面 


現在,PX4開發者們有了新的仿真平臺選擇。在2017年,微軟Microsoft的AI研究部門開源了AirSim項目,一款基于Unreal虛幻引擎的無人機/汽車仿真平臺。AirSim支持PX4和Ardupilot等開源飛控,使其在有著逼真視覺效果和真實物理特性的仿真環境中進行無人機、自動駕駛的AI研究。


微軟通過在AirSim和PX4上做的工作,于2019年成為了Dronecode的金牌會員,與PX4開源社區進行了深度合作。自那時以來,AirSim在Github獲得了超過10000顆星?,許多開發人員開始采用AirSim / PX4的工作流程進行測試和仿真。

(https://www.dronecode.org/a-bright-future-for-px4-and-airsim-thanks-to-gold-member-microsoft/)

AirSim是以Unreal虛幻引擎的插件開發的,有著目前最為強大的仿真效果。插件的特性也使得AirSim中的仿真內容可以被直接放置于任何Unreal虛幻引擎的場景中。另一方面,AirSim支持跨平臺使用,這對不熟悉Linux和ROS的小伙伴來說,又是一大優勢。

PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真的圖3

AirSim自發布以來,一直維持著穩步的更新頻率。最近,AirSim的主要維護者之一Chris Lovett,發布了AirSim的新功能——通過WSL2(Windows Subsystem for Linux version 2)在AirSim上實現PX4的仿真。在過去,我們只能在虛擬機中運行PX4,再與仿真器進行通信,這會導致PX4和Windows Host具有不同的IP地址,因此它們之間無法共享本地主機的圖形計算性能。

現在,在PX4 SITL模式的支持下,即PX4 SITL可以遠程連接到模擬器(以AirSim為例)的功能,可以通過在WSL2上運行的PX4,和在Windows中運行的AirSim直接進行通信。這意味著,我們甚至可以在樹莓派上跑PX4,并連接Windows計算機實現AirSim下的無人機仿真。


實現AirSim仿真需要些什么?

我們很容易從Chris Lovett發布的內容中,獲得關鍵信息“AirSim”“WSL2”。AirSim正式發布于2017年2月16日,是由Microsoft的AI研究部門主導開發,適用于Windows 10、macOS和Linux系統。AirSim是一個開源,可跨平臺的基于Unreal 虛幻引擎的仿真模擬器。它通過硬件在環仿真(HILT)和軟件在環仿真(SITL)為Pixhawk/PX4提供更加便捷且真實有效的仿真效果。AirSim不僅模擬了汽車無人機等動力學模型,甚至可以對天氣效果燈光控制等也能做出非常好的模擬。Microsoft官方發布了很多測試環境,諸如森林、平原、鄉村、山脈景觀等。

AirSim的最新版本可以在Microsoft的Github中找到:

PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真的圖4

WSL2(Windows Subsystem for Linux)則是Microsoft推出的Windows-Linux子系統框架的一個新版本,它支持在Windows系統中運行ELF64 Linux二進制文件。它的主要目標是提高文件系統性能,以及Linux文件在Windows系統中的調用兼容性。


我該如何開始?

要復現同樣的仿真效果,其實只需要“簡單的”幾個步驟:

1.首先確認自己擁有AirSim維護組測試過的能穩定運行的PX4飛控:

1.3DR Pixhawk v2

2.3DR Pixhawk mini

3.Pixhawk PX4 2.4.8

4.PixFalcon

5.PixRacer

6.Pixhawk 2.1

7.Pixhawk 4 mini from Holybro

8.Pixhawk 4 from Holybro

當然,沒有也沒關系。畢竟我們只是做個仿真。

2. 跟隨視頻中Chris Lovett的講解在自己的Windows上實現AirSim仿真:

3. 在復現過程中遇到各種無法解決的BUG,去原視頻的評論區或Github上提問……

PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真的圖5

也可以留言告訴阿木實驗室,我們會搜集匯總后一起代為詢問!

以下是在WSL2環境下構建出最新的AirSim的PX4仿真效果: 

 PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真的圖6

PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真的圖7

 PX4官方動態 | 通過WSL2在AirSim下實現PX4仿真的圖8

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1