查看: 639|回复: 2

PX4官方动态 | 通过WSL2在AirSim下实现PX4仿真

[复制链接]

54

主题

827

帖子

1671

积分

金牌飞友

Rank: 6Rank: 6

积分
1671
飞币
825
注册时间
2017-8-17
发表于 2022-10-31 01:08:57 | 显示全部楼层 |阅读模式
支持PX4仿真的开源项目AirSim
PX4作为主流的开源飞控,为无人机开发者们提供了一个优秀的平台。PX4用户可以将飞控板作为核心,构建属于自己的无人机。但开源无人机的初学者很难避免炸机的惨剧,轻则螺旋桨断裂,重则整机报销;考虑到机架、电机、飞控整套的价格,炸一次机的损耗实在是伤不起。


有许多小伙伴询问过,是否有支持PX4的仿真软件可以方便地调试飞控、减少实机测试的损耗。在Mavros的支持下,目前大部分用户都是通过Gazebo实现PX4无人机的三维仿真。同时,PX4原生也支持jmavsim这类轻量化仿真。但Gazebo和jmavsim的仿真环境都相对简陋,和实机飞行差别较大。

PX4官方动态 | 通过WSL2在AirSim下实现PX4仿真-1.jpg

PX4官方动态 | 通过WSL2在AirSim下实现PX4仿真-2.jpg
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.jpg
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中找到:https://www.youtube.com/watch?v=DiqgsWIOoW4

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仿真-4.png
也可以留言告诉阿木实验室,我们会搜集汇总后一起代为询问!

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

PX4官方动态 | 通过WSL2在AirSim下实现PX4仿真-5.jpg

PX4官方动态 | 通过WSL2在AirSim下实现PX4仿真-6.jpg

PX4官方动态 | 通过WSL2在AirSim下实现PX4仿真-7.jpg

查看参考资料:
通过WSL2实现PX4在AirSim下的仿真(YouTube):
https://www.youtube.com/watch?v=DiqgsWIOoW4

AirSim项目地址:
https://github.com/microsoft/AirSim

Chris Lovett的Blog:
https://lovettsoftware.com/#posts/airsim_on_wsl2/

- End -
技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把无人机行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在无人机行业,就请关注我们的公众号,我们将持续发布无人机行业最有价值的信息和技术。

292

主题

327

帖子

912

积分

高级飞友

Rank: 4

积分
912
飞币
581
注册时间
2017-7-10
发表于 2022-10-31 01:18:31 | 显示全部楼层
airsim支持linux吧,为啥不在linux下开发[可怜]

65

主题

846

帖子

1723

积分

金牌飞友

Rank: 6Rank: 6

积分
1723
飞币
848
注册时间
2017-9-19
发表于 2022-10-31 01:33:05 | 显示全部楼层
好像是因为UE4不能在Linux下
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表