0. 架构图

1. 主机列表

对应的ip地址与选择的系统,根据实际情况进行修改

主机IP 组件 系统
192.168.0.28 mavporxy linux-centos7.6
192.168.0.29 px4 linux-centos7.6
192.168.6.148 QGC window10
192.168.6.148 Airsim window10

2. 启动流程

airsim -- 仿真引擎 -- Windows下运行

  • 部署airsim运行环境

    • 下载虚拟引擎
    • 进入官网 https://www.unrealengine.com/zh-CN/,在导航栏最右边选择下载,进入下载页面,点击下载Epic Games启动程序
    • 安装并启动Epic Games,选择库(Library),选择对应的引擎,点击上方的 “库” 选项卡,然后点击引擎版本后面的 “+” 按钮,选择4.26版本(预估需要磁盘空间40G),点击 “安装” 即可自动下载安装,安装成功后,桌面会出现一个 Unreal Engine的快捷方式

    • 安装 Visual Studio,双击安装包开始安装,安装过程中需要手动选择一些组建来进行安装,在 ”工作负荷“ 选项卡下面,勾选 “使用C++的桌面开发”,同时在 “单个组件” 选项卡下面搜索并勾选 “Windows 10 SDK 10.0.18362”



  • 运行airsim
    • 拷贝LandscapeMountains代码到某个目录下,使用Visual Studio打开该项目: 文件 > 打开 > 项目/解决方案 选择 LandscapeMountains目录下的LandscapeMountains的点sh文件

    • 初始化配置
    • 修改目录C:\Users\Administrator\Documents\AirSim下setting.josn文件(没有则新建目录和文件)
    {
    "SettingsVersion": 1.2,
    "SimMode": "Multirotor",
    "Vehicles": {
    "UAV1": {
    "VehicleType": "SimpleFlight",
    "X": 0, "Y": 0, "Z": 0,
    "Yaw": 0
    },
    "UAV2": {
    "VehicleType": "SimpleFlight",
    "X": 4, "Y": 0, "Z": 0,
    "Yaw": 0
    },
    "UAV3": {
    "VehicleType": "SimpleFlight",
    "X": 4, "Y": 3, "Z": 0,
    "Yaw": 0
    },
    "UAV4":{
    "VehicleType": "PX4Multirotor",
    "LocalHostIp": "0.0.0.0",
    "UseSerial": false,
    "UseTcp": true,
    "TcpPort": 4560,
    "ControlPortLocal": 14540,
    "ControlPortRemote": 14580,
    "X": 0, "Y": 1, "Z": 0
    }
    }
    }
    • 在Visual Studio工具栏中选择DebugGame Win64,本地Windows调试器运行,会启动一个无人机仿真window程序,点击运行,将会加载配置文件,启动配置文件中配置的初始无人机



QGC -- 地面站,给无人机发指令的图形界面 -- Windows或Linux下运行

mavporxy -- 控制代理与协议转换 -- 容器中运行

# MavLinkTest 与 Mavproxy 是等价的,推荐选择MavLinkTest
# MavLinkTest
# 拉取镜像并启动容器
docker pull harbor.tiduyun.com/px4io/mavproxy:20211015
docker run --net=host --name=mavproxy -td harbor.tiduyun.com/px4io/mavproxy:20211015 bash
# 进入容器启动
docker exec -it mavproxy bash
# 配置QGC的IP地址
export QGC_ADDR=192.168.6.148
# -udp 指定服务监听的ip与端口,供QGC进行连接
# -proxy 指定连接代理的ip与端口
Mavproxy -server -udp:0.0.0.0:34550 -proxy:$QGC_ADDR:24550 # Mavproxy
docker pull harbor.tiduyun.com/px4io/mavproxy:20211026
docker run -dt --name mavproxy --net=host harbor.tiduyun.com/px4io/mavproxy:20211026 bash
# 配置QGC的IP地址
export QGC_ADDR=192.168.6.148
/root/.local/bin/mavproxy.py --master=udp:0.0.0.0:34550 --out=$QGC_ADDR:24550

px4 -- 无人机飞控 -- 容器中运行

# 启动容器
docker run --net=host --name=sim-225 -td harbor.tiduyun.com/px4io/airsim-px4-ros-melodic:2021-09-08 bash # 当连接不上ROS Master时,roslaunch命令会卡住
# 取消 ROS_MASTER_URI环境变量
unset ROS_MASTER_URI
# GCS_IP是mavporxy的IP地址
export GCS_IP=192.168.0.28
# 配置 airsim 服务的地址
export PX4_SIM_HOST_ADDR=192.168.6.148
./start.sh 0

3. 启动顺序

仿真引擎 --> px4 --> mavporxy --> QGC

4. 关联文档

airsim+px4无人机仿真平台的更多相关文章

  1. 开源自动驾驶仿真平台 AirSim (1) - Unreal Engine

    AirSim 官方Github: https://github.com/Microsoft/AirSim AirSim 是微软的开源自动驾驶仿真平台(其实它还能做很多事情,这里主要用于自动驾驶仿真研究 ...

  2. Modelsim的自动化脚本仿真平台

    自动化仿真平台由tcl语言搭建,大规模设计使用此平台让仿真便捷不少.大体上用tcl语言进行modelsim仿真的流程如下: 1. 建立库 2. 映射库到物理目录 3. 编译源代码 4. 启动仿真器 5 ...

  3. P2P/WSN信任建模与仿真平台

    1.ART Testbed 该平台是基于多代理的信任仿真平台,官网的介绍如下: The Agent Reputation and Trust (ART) Testbed initiative has ...

  4. 利用IT++搭建通信仿真平台

    IT++ is a C++ library of mathematical, signal processing and communication classes and functions.也就是 ...

  5. Aurora学习笔记连载一:仿真平台搭建

    由于公司项目需要,需要学习Aurora协议,才有了这样的连载学习笔记,也算是对自己学习的一份记录吧. 对于Aurora是什么,大家自行百度. 当然,Kevin也在此先提醒大家,本套学习笔记不是你想学就 ...

  6. 数字化制造-基于Plant Simulation的冲压车间数字化仿真平台研究

    冲压车间是将板材冲压形成汽车车身.车厢.车底板等部件的过程,冲压是汽车生产四大加工工艺的首个工序,直接影响着汽车焊装.涂装.总装车间的生产.冲压车间生产具有以下特点: 换模时间长:每种冲压件均有一套专 ...

  7. 图像处理算法的仿真平台之VGA时序

    一  概述 图像处理算法一般是用matla或OpenCV实现的,若是用FPGA实现,设计思路差别极大.matlab和opencv的优势:这些工具的优势在于可以方便地载入图像文件,或输出数据到图像文件, ...

  8. Matlab/Modelsim图像联合仿真平台

    FPGA图像仿真平台 1 引言 在使用modelsim进行图像算法的功能仿真时,无法得到图像的实时预览,因此直观性有所欠缺.因此可配合matlab使用,通过modelsim读出txt格式的图像,利用m ...

  9. AirSim 自动驾驶仿真 (2-3) python控制无人机 win10

    1首先搭建好环境 参考 2 python控制 https://blog.csdn.net/Zhaoxi_Li/article/details/108002544 官方代码位置 自己pythonj教程 ...

  10. 开源自动驾驶仿真平台 AirSim (2) - 编译 AirSim

    AirSim 的官方 Github: https://github.com/Microsoft/AirSim 对于 Unreal Engine 来说,AirSim 其实是作为一个插件存在,说白了就是把 ...

随机推荐

  1. Go 语言为什么很少使用数组?

    大家好,我是 frank,「Golang 语言开发栈」公众号作者. 01 介绍 在 Go 语言中,数组是一块连续的内存,数组不可以扩容,数组在作为参数传递时,属于值传递. 数组的长度和类型共同决定数组 ...

  2. 使用XDT提高开发效率

    使用XDT提高开发效率 XDT介绍 XDT(XML Document Transformation)技术是一种用于对XML文档进行转换的技术.它通常用于在部署或配置过程中,根据不同的环境或条件自动修改 ...

  3. react-native在windows环境搭建并使用脚手架新建工程

    截止到2024-1-11,使用的主要软件的版本如下: 软件实体 版本 react-native 0.73.1 react 18.2.0 react-native-cli 2.0.1 Android S ...

  4. 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 07.在C++中使用UMG

    斯坦福 UE4 C++ ActionRoguelike游戏实例教程 07.在C++中使用UMG 斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 本篇文章的目标是 ...

  5. 如何解决windos系统关闭nginx进程之后仍然可以访问?

    1.停止Nginx服务的四种方法 从容停止服务 这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止. nginx -s quit 立即停止服务 这种方法比较强硬,无论进程是否在工作, ...

  6. MoE:LLM终身学习的可能性

    本文分享自华为云社区<DTSE Tech Talk | 第47期:MoE:LLM终身学习的可能性>,作者:华为云社区精选. 在DTSE Tech Talk的第47期直播<MoE:LL ...

  7. 鲲鹏基础软件开发赛道openLooKeng赛题火热报名中,数十万大奖等您来收割

    随着云计算.物联网.移动计算.智慧城市.人工智能等领域的发展,各类应用对大数据处理的需求也发生着变化.以实时分析.离线分析.交互式分析等为代表的计算引擎逐渐为各大企业行业发展所看重.作为鲲鹏产业生态的 ...

  8. 火山引擎DataTester:无需研发人力,即刻开启企业A/B实验

    近日,火山引擎A/B测试平台-- DataTester 对产品内A/B实验的"可视化编辑器"进行了新的升级,对交互.预览.Xpath的层次结构视图等能力均做了优化.   据介绍,火 ...

  9. Solon 问答:项目如何直接添加 https 支持?

    app.yml 添加两行配置即可: #设定SSL证书(支持:solon.boot.jdkhttp 或 solon.boot.jlhttp 或 solon.boot.jetty 或 solon.boot ...

  10. PPT 笔刷:让你的PPT充满视觉冲击

    其实就是下载的AI效果 辅助文字展示 辅助图片展示 创意展示图片,增强视觉冲击力 使用 删除外面的边框 https://www.bilibili.com/video/BV1ha411g7f5?p=16