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

2023-05-16

支持PX4仿真的开源项目AirSim

PX4作为主流的开源飞控,为无人机开发者们提供了一个优秀的平台。PX4用户可以将飞控板作为核心,构建属于自己的无人机。但开源无人机的初学者很难避免炸机的惨剧,轻则螺旋桨断裂,重则整机报销;考虑到机架、电机、飞控整套的价格,炸一次机的损耗实在是伤不起。

 

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

图片

 

图片

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的小伙伴来说,又是一大优势。

 

图片

 

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上提问……

图片

也可以留言告诉阿木实验室,我们会搜集汇总后一起代为询问!

 

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

 图片

图片

 

 图片

图片

 

查看参考资料:

通过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 -

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

 

关注阿木实验室带您了解更多知识~

官网:https://www.amovlab.com/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4官方动态 | 通过WSL2在AirSim下实现PX4仿真 的相关文章

  • STM32的SPI外设片选只有一个怎么破?

    导读 大家好 xff0c 我是逸珺 之前用STM32的SPI需要控制很多外部芯片 xff0c 可是一个SPI的外设只有一个片选 xff0c 要实现独立片选一主多从 xff0c 怎么实现呢 xff1f SPI总线拓扑 一般地 xff0c SP
  • Java compareTo()方法

    Java compare To 方法 xff08 Java String类 xff09 xff1a 1 用途 xff1a 按字典序比较两个字符串 2 语法 xff1a int compareTo String anotherString 3
  • C语言函数如何正确的输入和返回数组(一维和二维)

    对于一维数组而言有两种方法 xff1a 1 函数外 xff08 主函数内 xff09 初始化数组 xff0c 相当于已经分配好了一块固定的内存 xff0c 然后将其地址传入函数 xff0c 经过一番操作 xff0c 再将地址返回 2 函数内
  • 将以-1结束的整数存储到字符型数组中去

    代码如下 xff1a xff08 在求整数长度的时候注意0的存在 xff09 xff08 注意字符型数组中存储的是acsii码 xff0c 比如说要将整数1存到字符型数组arr 100 中 xff0c 则是arr i 61 1 43 39
  • C语言数组的结尾字符

    对于整数型数组来说 xff0c 结尾字符为整数 对于字符型数组来说 xff0c 结尾字符为 0 xff0c 占一个空间 所以当输出字符串数组时 xff0c 若要整体输出 xff08 printf 34 s 34 s xff0c 则要在数组末
  • 含有字符串数组的结构体的赋值、输入、字符串比较

    1 之所以用到结构体 xff0c 是因为一个物体有多个属性 xff0c 此时使用结构体简单些 2 对字符串进行整体操作时 xff0c 需要添加头文件 include lt string h gt 1 字符串赋值需要使用strcpy char
  • JavaWeb

    JavaWeb Maven amp MyBatis xff1a https cyborg2077 github io 2022 08 11 JavaWeb01 JavaWeb HTML amp CSS xff1a https cyborg2
  • Ubuntu20.04+eclipse+jlink(openocd+SWD)+arm-none-eabi-gcc+STM32开发

    Ubuntu20 04 43 eclipse 43 jlink openocd 43 SWD 43 arm none eabi gcc 43 STM32开发环境搭建 1 文件准备 安装Eclipse IDE for C C 43 43 De
  • Java中类型转换

    1 char int int output 61 temp charAt 0 39 0 39 2 int char int a 61 1 char b 61 a 43 39 0 39 3 String int 将字符串转换为整数 int o
  • JAVA中int和char类型的相互转化

    预备知识 xff1a 1 int类型长度为4个字节 xff0c char类型长度为2个字节 所以char int为自动转换 xff0c int char为强制转换 xff08 因为可能有数据丢失风险 xff09 2 Java中设计char的
  • stm32的一些简单注意点

    下面说的这些只是一些关于 xff1a MiniSTM32f103系列的开发板 xff0c 以下皆是参考stm32中的手册 xff0c 只是博主的一些愚见 大家都知道 xff0c 我们是通过usb线连接我们的开发板和电脑 xff0c 我们用电
  • C++ vector用法(详解!!函数,实现)

    xff11 xff0c 简述一下vector的基本操作 xff0c 它的 xff53 xff49 xff5a xff45 xff0c capacity xff08 xff09 xff0c xff43 xff4c xff45 xff41 xf
  • 为什么很多公司都是用PADS和orCAD的组合来设计硬件呢?

    请问为什么要选用ORCAD画原理图 xff0c PADS画PCB呢 xff1f 两个不同的软件 ORCAD画原理图比较方便 xff0c 而PADS画PCB画PCB比较强大 xff0c 许多中小公司都这么干 这是各区二者所长 因为ORCAD的
  • XCOM V2.6串口助手

    XCOM V2 6 串口下载 链接 xff1a https pan baidu com s 1hMkNY zq0nqxfFnH4VRbDQ 提取码 xff1a 5bzm
  • STM32中文参考手册_V10

    STM32中文参考手册 V10 链接 xff1a https pan baidu com s 1AZXyanPyiazpVvVrJwXvRg 提取码 xff1a uwi5
  • 200SMART通信问题及解决方案

    今天在试运行S7 200SMART PLC 以太网通信 遇到以下问题 xff1a 连接时通信接口无选项如下图 解决办法如下操作 xff1a xff08 本人win10 xff09 1 打开任务管理器 xff08 在任务右击选中任务管理器即可
  • 快速创建一个scrapy爬虫

    如何快速创建一个scrapy爬虫 如下操作 xff1a 1 首先创建一个scrapy文件 在pycharm中的Terminal 中输入scrapy startproject myspider 2 快速生成一个爬虫 先进入生成后scrapy文
  • Codesys配置电子凸轮连接虚轴

    外接编码器通过电子凸轮连接虚轴 1 创建编码器和虚轴 xff08 Encoder为编码器 xff0c 该编码器是4000脉冲为一转 xff0c AXIS1为虚轴 xff09 2 配置编码器参数如下 3 配置虚轴参数如下 4 测试用了以下功能
  • Matlab的plot的线形、marker的形状、颜色

    Line StyleDescription Solid line default Dashed line Dotted line Dash dot line MarkerDescriptionoCircle 43 Plus sign Ast
  • 电脑操作用户不小心被禁用,千万不要着急。

    不小心将电脑用户禁用导致无法使用电脑 xff0c 该怎么解决 1 常见的用户禁用情况2 非常见情况 xff0c 按F8进去安全模式出现密码弹窗 记住密码的 3 极端情况 xff0c 电脑用户被禁用 xff0c 安全模式的密码不知道 有可能忘

随机推荐

  • Laravel框架源码解析

    一 请求 响应篇 1 程序启动准备 1 1 服务容器实例化 index php入口文件包含了 app 61 require once DIR 39 bootstrap app php 39 这一行代码 xff0c app php会返回框架的
  • 【转】MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)

    转自 xff1a http www matlabsky com thread 10308 1 1 html 一 基本知识 xff1a 转 1 二进制文件与文本文件的区别 xff1a 将文件看作是由一个一个字节 byte 组成的 xff0c
  • vscode开发ROS(5)-ROS工程目录结构

    ROS工程目录结构 ROS工程整体结构图package文件夹devel文件夹 vscode文件夹 ROS工程整体结构图 1 ROS工程整体结构图如下 2 对应到之前创建的test工程 如下 3 ROS工程总目就是整个工程的根文件夹 对应这里
  • vscode开发ROS(19)-ros与arduino串口通信(c++)

    ros与arduino串口通信c 43 43 写在最前安装serial库编写arduino串口通信程序编写ros节点端口号配置配置CMakeLists txt文件编译整个ROS工程运行节点后记 写在最前 串口通信在嵌入式领域的重要性我也就不
  • 无人机开发套件

    一 产品介绍 我们现在有完善的仿真环境开发视频教程和系列硬件学习平台 xff0c 可以帮助学生实现飞控开发的入门和提成 xff0c 帮助项目实现原型的搭建和开发的迅捷 xff0c 辅助老师实现无人机的教学 科研便捷 xff0c 可以帮助学习
  • 无人机基于Matlab/Simulink的模型开发(连载一)

    一切可以被控制的对象 xff0c 都需要被数学量化 这是笔者从事多年研发工作得出的道理 xff0c 无论是车辆控制 xff0c 机器人控制 xff0c 飞机控制 xff0c 还是无人机控制 xff0c 所有和机械运动相关的控制 xff0c
  • 无人系统路径规划开发流程(避障方向)含代码

    有很多同学在我们微信群和我们阿木实验室论坛提问 xff0c 无人机 无人车的路径规划和避障应该怎么入手 随着无人系统的发展 xff0c 无人系统的路径规划的研究也越来热 生活中无人机器系统也越来越多的出现 xff0c 从无人机 xff0c
  • 双旋翼Falcon无人机背后技术之PX4混控器

    最近被零零科技的矢量动力双旋翼Falcon无人机刷屏了 xff0c 其50分钟的续航让行业惊艳 感谢零零科技为无人机行业带来了创新的正能量 xff01 可能很多人会有疑惑 xff1f 为什么四旋翼无人机可以变身双旋翼无人机 xff0c 背后
  • PX4-Vision 自主无人机开发平台测评

    对于目前的自主无人机开发平台上 xff0c 国内的用户除了我们阿木实验室出品的自主无人机开发平台上 xff0c 又多了一种选择 xff0c 就是这个 PX4 Vision 自主无人机开发平台 硬件上是 pixhawk 4 一个 UP Boa
  • Matlab的GUI的slider滑动条和edit动态文本框联合使用例程

    代码链接 xff1a https download csdn net download benchuspx 12404653 今天想用matlab的plot画个函数的曲线图 xff0c 函数有一个参数a可以调 xff0c 不同的a对应不同的
  • 【收藏备用】控制理论结构图——一目了然全面了解控制理论

    中国自动化学会会员 System control xff0c 通过整合各种资源以及IEEE控制系统协会 国内外控制领域同仁的建议 历时12天 xff0c 迭代6个版本 xff0c 最终绘制而成的控制理论结构图 强烈建议收藏备用 xff01
  • 工程开发利器-Homer高带宽 多接口 可组网数据传输链路

    我们阿木实验室经常做各种无人系统的实验 xff0c 比如需要从远端无线采集视频图像 xff0c 本地给远端一个串口控制量 xff0c 采集远端的各种传感器数据等 有的时候需要支持TCP IP的网络数据 xff0c 有的时候需要串口透明传输数
  • 开源自主无人机软件平台—Prometheus

    Prometheus xff0c 在希腊神话中 xff0c 是最具智慧的神明之一 xff0c 希望Prometheus项目能为无人机研发工作带来无限的智慧与光明 同时电影普罗米修斯里面的无人机在黑洞中自由穿越 xff0c 也是我们在技术层面
  • 课程学习 | 开源水下机器人地面站软件开发

    鳌海海洋 xff08 AOHI Ocean xff09 是一家由国内著名高校博士 海归博士等人创立 xff0c 长期致力于以水下机器人技术为核心的海洋装备研究与开发 xff0c 正在为国家海洋局 国家电网 中船集团 蓝天救援队 千岛湖消防队
  • 阿木实验室技术课程和项目科研招募,分享知识获取收益

    阿木实验室专注于无人化系统开发平台的研发与生产 xff0c 并致力于推广前沿IT科技技术及其教育 希望通过整合优质资源 xff0c 提升研发效率 xff0c 从而促进整个技术生态的发展 为了达成这一宏伟愿景 xff0c 单靠我们是不够的 因
  • 技术专栏|阿木无人机室内避障

    之前阿木实验室提供了一系列室内定位的方案 xff0c 以及对各自的特点进行了介绍 本期我们采用T265的视觉定位方案 xff0c Matlab ROS Toolbox进行了VFH室内避障测试 Matlab ROS Toolbox 众所周知
  • 大疆览沃浩界(Livox Horizon)激光雷达测评

    测评人 董小胖 Livox Horizon xff08 览沃浩界 xff09 介绍 Livox Horizon xff08 览沃浩界 xff09 是大疆专为L3 L4自动驾驶打造的一款激光雷达 与传统的采用机械旋转结构的激光雷达不同 xff
  • 大疆Payload SDK开发火热来袭!

    DJI SDK开发课程之 大疆Payload SDK xff08 PSDK xff09 开发今日正式上线 本课程由 铂贝学院 xff08 阿木实验室 xff09 联合DJI 大疆共同推出 xff01 大疆PSDK开发课程介绍 DJI 为支持
  • 技术专栏 | 关于吊舱你了解多少?

    01 背景及预期目标 在无人机航拍领域中 xff0c 为了实现追踪拍摄 xff0c 目标检测和追踪必不可少 xff0c 因此 xff0c 目标检测和追踪技术是无人机航拍领域的重要研究方向 在本项目中 xff0c 我们将yolov3目标检测方
  • PX4官方动态 | 通过WSL2在AirSim下实现PX4仿真

    支持PX4仿真的开源项目AirSim PX4作为主流的开源飞控 xff0c 为无人机开发者们提供了一个优秀的平台 PX4用户可以将飞控板作为核心 xff0c 构建属于自己的无人机 但开源无人机的初学者很难避免炸机的惨剧 xff0c 轻则螺旋