博客地址:https://www.cnblogs.com/zylyehuo/

参考视频: 保姆级教程~手把手教你实现 ROS2 + PX4 + AirSim 联动

博主使用的版本配置如下:

  • ROS: 20.04 noetic 【echo $ROS_DISTRO】
  • PX4: v1.13.2 【git describe --tags】
  • AirSim: 1.7.0 【找到\Unreal\Plugins\AirSim这个目录,进入后,打开AirSim.uplugin文件查看版本】

PX4 开发环境搭建

  • MAVROS + QGC + PX4

参考链接: PX4 仿真环境开发整理

参考链接: Linux系统 ubuntu20.04 无人机 PX4 开发环境搭建

遇到报错参考链接: make px4_sitl_default gazebo出错

遇到报错参考链接: Gazebo终端显示[Err] [InsertModelWidget.cc:403] Missing model.config for model

遇到报错参考链接: px4 运行mavros仿真

AirSim 仿真平台搭建

  • UE4 + AirSim

参考链接: 在Ubuntu系统中搭建Unreal4和AirSim环境

安装 Micro-XRCE-DDS-Agent

参考链接: Installing the Agent standalone

  • 安装指令
$ git clone https://github.com/eProsima/Micro-XRCE-DDS-Client.git

$ cd Micro-XRCE-DDS-Client

$ mkdir build && cd build

$ cmake ..

$ make -j8

$ sudo make install

$ sudo ldconfig /usr/local/lib/

$ MicroXRCEAgent --help

安装 ROS

参考链接: 小鱼的一键安装系列

wget http://fishros.com/install -O fishros && . fishros

参考链接: ubuntu20.04下载和使用Airsim的ros包

遇到报错参考链接: 解决Ubuntu系统下ROS包找不到问题:环境配置与路径检查详解

AirSim 配置文件修改

settings.json

{
"SettingsVersion": 1.2,
"SimMode": "Multirotor",
"ClockType": "SteppableClock",
"Vehicles": {
"PX4": {
"VehicleType": "PX4Multirotor",
"UseSerial": false,
"LockStep": true,
"UseTcp": true,
"TcpPort": 4560,
"ControlPortLocal": 14030,
"ControlPortRemote": 14280,
"ControlIp": "remote",
"LocalHostIp": "192.168.1.5",
"Cameras": {
"CameraDepth": {
"CaptureSettings": [
{
"ImageType": 2,
"Width": 800,
"Height": 600,
"FOV_Degrees": 120,
"AutoExposureSpeed": 100,
"AutoExposureBias": 0,
"AutoExposureMaxBrightness": 0.64,
"AutoExposureMinBrightness": 0.03,
"MotionBlurAmount": 0,
"TargetGamma": 1.0,
"ProjectionMode": "",
"OrthoWidth": 5.12
}
],
"NoiseSettings": [
{
"Enabled": false,
"ImageType": 0, "RandContrib": 0.2,
"RandSpeed": 100000.0,
"RandSize": 500.0,
"RandDensity": 2, "HorzWaveContrib":0.03,
"HorzWaveStrength": 0.08,
"HorzWaveVertSize": 1.0,
"HorzWaveScreenSize": 1.0, "HorzNoiseLinesContrib": 1.0,
"HorzNoiseLinesDensityY": 0.01,
"HorzNoiseLinesDensityXY": 0.5, "HorzDistortionContrib": 1.0,
"HorzDistortionStrength": 0.002
}
],
"Gimbal": {
"Stabilization": 0,
"Pitch": 0, "Roll": 0, "Yaw": 0
},
"X": 0, "Y": 0, "Z": -1,
"Pitch": 0, "Roll": 0, "Yaw": 0,
"UnrealEngine": {
"PixelFormatOverride": [
{
"ImageType": 0,
"PixelFormat": 0
}
]
}
},
"CameraImage": {
"CaptureSettings": [
{
"ImageType": 0,
"Width": 800,
"Height": 600,
"FOV_Degrees": 120,
"AutoExposureSpeed": 100,
"AutoExposureBias": 0,
"AutoExposureMaxBrightness": 0.64,
"AutoExposureMinBrightness": 0.03,
"MotionBlurAmount": 0,
"TargetGamma": 1.0,
"ProjectionMode": "",
"OrthoWidth": 5.12
}
],
"X": 0, "Y": 0, "Z": -1,
"Pitch": 0, "Roll": 0, "Yaw": 0
}
},
"Sensors":{
"Magnetometer": {
"SensorType": 4,
"Enabled": true
},
"Barometer":{
"SensorType": 1,
"Enabled": true,
"PressureFactorSigma": 0.0001825
},
"Imu": {
"SensorType": 2,
"Enabled" : true,
"AngularRandomWalk": 0.3,
"GyroBiasStabilityTau": 500,
"GyroBiasStability": 4.6,
"VelocityRandomWalk": 0.24,
"AccelBiasStabilityTau": 800,
"AccelBiasStability": 36
},
"Gps": {
"SensorType": 3,
"Enabled" : true,
"EphTimeConstant": 0.9,
"EpvTimeConstant": 0.9,
"EphInitial": 25,
"EpvInitial": 25,
"EphFinal": 0.1,
"EpvFinal": 0.1,
"EphMin3d": 3,
"EphMin2d": 4,
"UpdateLatency": 0.2,
"UpdateFrequency": 50,
"StartupDelay": 1
},
"Lidar": {
"SensorType": 6,
"Enabled": true,
"NumberOfChannels": 16,
"RotationsPerSecond": 10,
"PointsPerSecond": 100000,
"X": 0, "Y": 0, "Z": -1,
"Roll": 0, "Pitch": 0, "Yaw": 0,
"VerticalFOVUpper": 10,
"VerticalFOVLower": -10,
"HorizontalFOVStart": -20,
"HorizontalFOVEnd": 20,
"DrawDebugPoints": true,
"DataFrame": "SensorLocalFrame"
},
"DistanceDown": {
"SensorType": 5,
"Enabled" : true,
"MinDistance": 0.1,
"MaxDistance": 40,
"X": 0, "Y": 0, "Z": -0.5,
"Yaw": 0, "Pitch": -90, "Roll": 0,
"DrawDebugPoints": true,
"ExternalController": true
}
},
"Parameters": {
"NAV_RCL_ACT": 0,
"NAV_DLL_ACT": 0,
"COM_OBS_AVOID": 0
}
}
}
}

ROS1(20.04 noetic) + PX4 + AirSim的更多相关文章

  1. Ubuntu 20.04下源码编译安装ROS 2 Foxy Fitzroy

    ROS 2 Foxy Fitzroy(以下简称Foxy)于2020年6月5日正式发布了,是LTS版本,支持到2023年5月.本文主要根据官方的编译安装教程[1]完成,并记录编译过程中遇到的问题. 1. ...

  2. win10 + Ubuntu 20.04 LTS 双系统 引导界面美化

    版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ZChen1 ...

  3. Windows10 + Ubuntu 20.04 LTS 双系统安装 (UEFI + GPT)(图文,多图预警)

    版权声明:本文为CSDN博主「ZChen1996」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/ZChen1 ...

  4. Ubuntu 20.04.1 安装软件和系统配置脚本

    #!/bin/bash # https://launchpad.net/ubuntu # https://www.easyicon.net # https://download-chromium.ap ...

  5. Ubuntu 20.04 手动安装 sublime_text 并建立搜索栏图标(解决 Ubuntu 20.04 桌面图标无法双击打开问题)

    下载sublime_text_3离线程序包 wget https://download.sublimetext.com/sublime_text_3_build_3211_x64.tar.bz2 #x ...

  6. Ubuntu 20.04上通过Wine 安装微信

    没有想过会在一个手机软件上花这么多心思,好在今天总算安装成功,觉得可以记录下这个过程,方便他人方便自己. 首先介绍下我使用过的其他方法,希望可以节省大家一些时间: Rambox Pro:因为原理是网页 ...

  7. 树莓派安装 Ubuntu 20.04 LTS 碰壁指南

    树莓派安装 Ubuntu 20.04 LTS 碰壁指南 设备 Raspberry 4B 4+32G 系统 Ubuntu 20.04 LTS 1.镜像下载与烧录 镜像下载地址:https://cdima ...

  8. OpenCV4.4.0 安装测试 Installation & Examination (Ubuntu18.04, Ubuntu 20.04)

    OpenCV4.4.0 安装测试 Installation & Examination (Ubuntu18.04, Ubuntu 20.04) 单纯简单的 OpenCV 安装配置方法,在这个地 ...

  9. Pangolin 安装测试 Installation & Examination (Ubuntu 20.04)

    Pangolin 安装测试 Installation & Examination (Ubuntu 20.04) 如题所述,这是一个比较轻松的 Pangolin 安装配置方法,同样是基于 WSL ...

  10. Ubuntu 20.04 配置多网卡链路聚合

    Ubuntu 20.04 配置多网卡链路聚合 多网卡IP配置 首先查看网卡信息 root@it:~# ip add 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65 ...

随机推荐

  1. MCP 实践系列:看热点、蹭热点,创作与摸鱼两手抓!

    连续工作累死人,身心疲惫时,总得有那么一点时间给自己松口气.每当这个时候,我总喜欢偷偷摸摸地看看新闻,整理一下逐渐疯狂的思维.毕竟,谁说程序员就只能埋头写代码?谁规定了只能死磕在堆积如山的bug中? ...

  2. 通过 Nuke 为 Dotnet Core 应用构建自动化流程

    为什么使用Nuke 最开始了解Nuke,是浏览github时,刷到了这个项目,看简介可以通过C# 来定义构建任务和流程,这一点很新颖,对我来讲,c# 显然更容易理解和维护. 再看给出的示例,确实比较清 ...

  3. SuperSocket 2.0 的发布标志着.NET Socket 服务器框架迈入了一个全新的时代

    2025 年 4 月 20 日 - SuperSocket 团队自豪地宣布正式发布 SuperSocket 2.0,这是这款适用于 .NET 的高性能.可扩展套接字服务器应用程序框架的一个重要里程碑. ...

  4. [Java/模板渲染引擎/技术选型] 模板引擎-技术调研

    概述: 模板渲染引擎 := 模板引擎 为什么要使用[模板(渲染)引擎]?模板(渲染)引擎的作用? 模板引擎可以让(网站)程序实现界面与数据分离,业务代码与逻辑代码的分离,大大提升了开发效率,良好的设计 ...

  5. SQL语句中exists和in有何区别

       在SQL性能优化的时候,经常遇到是使用exists还是in提高效率的问题,这里结合之前写的两篇博客<MYSQL中in的用法>和<MYSQL中EXISTS的用法>,总结一下 ...

  6. Ubuntu使用PPA源安装及相关概念的了解

    因为在Ubuntu16.04下进行一系列工作,想着要把一些遇到的知识点记录下来,这也就有了截图的需求,所以想找一款截图工具来使用,经过知乎一圈,发现Ubuntu下大家比较推荐的截图工具是Shutter ...

  7. 论文解读:Locating and Editing Factual Associations in GPT(ROME)

      本文发表在人工智能顶会NeurIPS上(原文链接),研究了GPT(Generative Pre-trained Transformer)中事实关联的存储和回忆,发现这些关联与局部化.可直接编辑的计 ...

  8. 【中英】【吴恩达课后测验】Course 2 - 改善深层神经网络 - 第三周测验

    [中英][吴恩达课后测验]Course 2 - 改善深层神经网络 - 第三周测验 上一篇:[课程2 - 第二周编程作业]※※※※※ [回到目录]※※※※※下一篇:[课程2 - 第三周编程作业] 第3周 ...

  9. Swagger在线API测试文档

    Swagger API文档 前后端分离: 前端就负责展示数据,数据从哪来?后端提供的接口中得到 前端自己有一个叫伪造后端数据,json,这使得前端工程不需要后端仍可以跑起来 前后端的交互就是通过api ...

  10. Sql server 游标处理数据

    https://blog.csdn.net/sinat_28984567/article/details/79811887 DECLARE @id INT , @name NVARCHAR(50) - ...