Pixhawk VTOL SITL仿真

2023-10-31

Pixhawk(VTOL) 和 SITL Simulation

需求的软件:

MAVProxy

下载地址:http://firmware.ardupilot.org/Tools/MAVProxy/MAVProxySetup-latest.exe

Cygwin

下载地址:https://cygwin.com/setup-x86.exe

Mission Planner

这个大家肯定都已经安装了。

FlightGear

下载地址:http://www.flightgear.org/download/

安装步骤:

Tips:主要的安装过程基本都是和官网一样,只有几个特别的地方需要注意,在文档中我用红色的字体标出。我测试的系统是win10.所有的软件都是下载的最新版,不用局限于官网上说明的版本。

官网地址:(一定要注意跟着官方教程一步步来,不要跳步)

Setting up SITL on Windows - Dev documentation

  1. 安装 MAVProxy。 这个没什么好说的默认安装就可以了。

  2. 安装 Cygwin。安装后一路点默认,选择镜像地址的时候我选择的第一个,速度很快。安装后会出现官网的如下界面

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lpx7TIkW-1654007201567)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ba231152-b446-4002-ac97-7c038ed99b32/Untitled.png)]

    如果安装的最新版本会和这个图片有一个地方不一样但是搜索就可以,通过搜索找到如下所有安装包。在安装的过程中要注意一下 Category/Name/Description。找到后点击一下skip。都选完后点击下一步就可以了。

    以下安装过程建议使用命令行而不是手动查找:(这里我使用 python38 替代 python37)

    注:这一步如果有漏装的包可能导致后面安装 pymavlink 的时候出错

    .\setup-x86_64.exe -P autoconf,automake,ccache,cygwin32-gcc-g++,gcc-g++,git,libtool,make,gawk,libexpat-devel,libxml2-devel,python38,python38-future,python38-lxml,python38-pip,libxslt-devel,python38-devel,procps-ng,zip,gdb,ddd
    

Untitled

cygwin 安装 Python3 参考链接:

在cygwin上运行python3_Wertolf的博客-CSDN博客_cygwin python

全部安装完成后,打开桌面上的 Cygwin 终端,然后在关闭,这样就会在你的 Cygwin 的 home 目录下生成path文件。进入到你的目录(例如:C:\cygwin64\home\user_name\)打开 .bashrc 文件,该文件为隐藏文件,如果找不到请打开显示隐藏文件。在文件的最后一行添加

export PATH=$PATH:$HOME/ardupilot/Tools/autotest
# 这里我的路径
export PATH=$PATH:/cygdrive/d/git-repository/ardupilot/Tools/autotest

这个路径在设置的过程中要换成你自己的 ardupilot 中的 autotest 路径。由于本人比较笨设置了很多次都没有设置成功,所以将已经下载好的 ardupilot 文件拷贝到Cygwin的home/user_name/目录下就可以了如果是用下面所说的Cygwin终端下载的源码就会自动下载到该目录下。

设置好PATH后,添加Python包:

打开Cygwin终端:依次输入下面命令:

注:以下命令也可以通过cygwin自带的安装器安装,使用安装器安装的时候包名称为pythonxx-xxxx

python -m ensurepip --user
python -m pip install --user future
python -m pip install --user lxml
python -m pip install --user pexpect
python -m pip install --user pymavlink

然后下载ardupilot源码:

git clone git://github.com/ArduPilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive

如果用 GitHub 的客户端下载的源码或者以前下载的源码,按照上面的说明拷贝到上述目录下。官网给的已经存在的源码的配置 PATH 方法如下:If you have an existing clone of the ArduPilot repository, navigate to it in the terminal using “cd /cygdrive/drive/path

ie “cd /cygdrive/c/Users/James/Documents/GitHub/ardupilot” (substitute your own path).

我配置的时候总失败。

(此步骤仅SITL仿真不需要做)然后通过Cygwin终端编译,输入:

cd ~/ardupilot/ArduPlane
make sitl -j4
  1. 安装JSBSim

打开Cygwin终端输入:

git clone git://github.com/tridge/jsbsim.git
cd jsbsim
./autogen.sh
make
cp src/JSBSim.exe /usr/local/bin

输入:

cd ~/ardupilot/ArduPlane
sim_vehicle.py -j4 --map

则可以启动SITL。

以上SITL安装完成。

如果 Git 仓库是在 cygwin 外部克隆的,则运行sim_vehicle.py脚本时遇到的相关问题:

Git Required For Build?

解决方案:

参照Git的提示完成

fatal: unsafe repository ('/cygdrive/d/git-repository/ardupilot' is owned by someone else)
To add an exception for this directory, call:

        git config --global --add safe.directory /cygdrive/d/git-repository/ardupilot

Simulation:

FG 3D View

  1. 安装FlightGear,这个安装的目录应该很随意,但是我当时由于配置autotestPATH的时候心有余悸,所以我也安装到Cygwin的username目录下了,结果发现还是找不到文件。解决方法下步说。

  2. 打开Cygwin终端,进入到ardupilot/Tools/autotest/ 运行fgbat(plane) 或者fg_quad_view.bat(Copter).

    在运行这两个文件的时候,会提示找不到FG文件,所以我将该文件拷贝呗FG的bin目录下,将前面所有寻找目录的代码全部删除,然后启动的时候通过终端启动bin下的该文件。注意FG里面没有此 .bat中的模型,需要将autotest中的aircraft模型拷贝到FG中的aircraft中,否则会提醒找不到飞机。

打开FG后,在重新打开一个Cygwin终端:进入到ArduPlane(固定翼)或者ArduCopter(四旋翼)目录下面,运行sim_vehicle.py -j4 -L KSFO 打开相应的STIL。如果想要打开倾转模型,需要进入到ArduPlane目录下,在终端中输入sim_vehicle.py –j4 –f quadplane –L KSFO

  1. 在打开的SITL终端中输入:

    mode guide

    output

    可以看到端口号为14550,打开MissionPlanner。选择UDP ,端口默认就是14550点击连接。

  2. 在MissionPlanner中在标签上添加动作,在动作标签下,点击游戏摇杆,设置自己的遥控器,然后在设置模式前面可以选择自己要设置的模式,

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EyQsYOzQ-1654007201568)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ab160326-ca37-42b0-8720-e318608d246b/Untitled.png)]

    选择好以后,点击设置模式,然后点击解锁,推油门起飞。飞行中间也可以自己选择想要飞行的模式,选好后点击设置模式就可以。好像设置遥控器的那个窗口不能关,我关了就不能用遥控器控制,不知道原因中。

注:

windows杀进程_流苏打的博客-CSDN博客_window杀进程

遥控器加密狗连接与相关设置:

Channel
CH1 X
CH2 Y
CH3 Slider1
CH4 Rz1

垂起SITL仿真:

QuadPlane Simulation - Plane documentation

全过程启动流程:(不包含MP地面站)

Ardupilot Software in the loop (SITL) testing with Flightgear | quick setup guide

注:

  • 如果MP地面站打开失败,端口可能被占用,可以利用netstat命令查找占用端口的进程并kill掉
  • UDP回传默认开启14550和14551端口,建议先开地面站后开FlightGear
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pixhawk VTOL SITL仿真 的相关文章

随机推荐

  • php 操作 MySQL 中的Blob类型

    我们需要保存一个文件或者一张图片或者其他二进制或多媒体文件时 经常选择使用 类型 一 基本使用 Blob就是一种Mysql的数据类型 它是一个二进制大型对象 可以作为大量数据的容器 其实更准确地说Blob是一系列数据类型 MySQL的四种B
  • 深入源码分析Spring为什么不支持构造方法的循环依赖

    我们知道当通过构造方法的方式注入属性时 是不支持循环依赖这种场景的 本文主要通过分析源码看看为什么构造方法不能支持循环依赖 当然 如果读者还不了解循环依赖的问题 建议先结合源码搞清楚 可以先看看这篇文章 深入源码分析Spring如何解决循环
  • 高通LK代码devinfo分区 read_device_info

    有一个devinfo分区专门用来保存一些信息 在devinfo分区没烧录过的情况下 默认Charger screen enabled false 没有关机充电动画 fastboot oem device info lk调用读这些信息 当然不
  • 宝塔搭建网站教程php,怎么利用宝塔面板搭建网站详细教程

    利用宝塔面板搭建网站是当前主流形式 宝塔面板操作简单 可视化操作 是新手和老司机搭建网站的首选 今天我的主题网就给小白们分享下怎么利用宝塔搭建自己的网站 如果你还没有安装宝塔可以参考 宝塔面板安装小白教程 来进行安装 1 宝塔面板添加站点步
  • 【满分】【华为OD机试真题2023B卷 JAVA&JS】经典屏保

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 经典屏保 知识点循环迭代编程基础 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 DVD机在视频输出时 为了保护电视显像管 在待机状态会显示 屏保动画 如下图所示 DV
  • JS的一些数据类型的转换

    bytes 转 16进制字符串 function bytesToHex bytes for var hex i 0 i lt bytes length i hex push bytes i gt gt gt 4 toString 16 he
  • 入行网络工程师一年的心得体会

    本人与2019年毕业与天津某高校的网络工程专业 大学期间就考了一个网络工程师的软考中级职称 过了一个没啥用的英语四级 也有想过考一个华为或者思科的IE证书 但是价格对于一个学生党来说 确实代价太大了 报一个培训班1w5 考试费用零零散散加起
  • RabbitMQ入门教程(安装,管理插件,Publisher/Consumer/交换机/路由/队列/绑定关系,及如何保证100%投递等)

    RabbitMQ入门教程 安装 管理插件 Publisher Consumer 交换机 路由 队列 绑定关系 及如何保证100 投递等 1 RabbitMQ简介及AMQP协议 开源的消息代理和队列服务器 基于AMQP Advanced Me
  • IDEA 无法找到jdk,只能找到jre解决方式(亲测有效)

    在第一次使用IDEA的时候 发现需要自己去配置SDK的路径 但发现死活找不到jdk 只能找到jre 搜索资料发现可能是只装了jre 没有装jdk 在配置SDK前先要配置Java的核心 JDK 其实JDK就是SDK 只不过SDK的配置依赖着J
  • asp.net core identity学习1

    ASP NET Identity 学习 创建一个Asp net core mvc项目 添加Nuget包 Microsoft EntityFrameworkCore SqlServer 3 1 3 Microsoft EntityFramew
  • 论文阅读:AutoAssign

    文章目录 1 论文总述 2 密集预测型FCOS正负样本分配的不足 3 Comparison of label assignment between different typical detectors 4 we transform the
  • 2.1 Git 基础 - 获取 Git 仓库

    2 1 Git 基础 获取 Git 仓库 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 19 初稿 目录 文章目录 2 1 Git 基础 获取 Git 仓库 版本说明 目录 一 本章导读 二 获取 Git 仓库 1 在现
  • Google Protobuf详解

    首先要知道几个清楚的概念 RPC Remote Procedure Call 远程过程调用 很多RPC框架都是跨语言的 使用步骤 定义一个接口说明文件 描述了对象 结构体 对象成员 接口方法等一系列信息 通过RPC框架所提供的编译器将接口说
  • idea crack

    Xms1128m Xmx1750m XX ReservedCodeCacheSize 240m XX UseConcMarkSweepGC XX SoftRefLRUPolicyMSPerMB 50 ea Dsun io useCanonC
  • IoT技术架构与安全威胁

    引言 物联网IoT的英文全称是 The Internet of Things 即物联网就是物物相连的互联网 也就是人们常说的万物互联 万物互联是一把双刃剑 它既能会给生活带来巨大的生活便利 同时也会带来巨大的安全风险 本文选自 智能硬件安全
  • mysql存储过程逻辑与_MYSQL存储过程即常用逻辑知识点总结

    Mysql存储过程 1 创建存储过程语法 格式 DELIMITER CREATE PROCEDURE 存储过程名A IN 传入参数名a INT IN 传入参数名b VARCHAR 20 OUT 返回参数名c INT BEGIN 内容 END
  • 【c++源码】瑞佳飞飞彩虹端分享老飞飞源码

    里面功能包含 离线摆摊 内挂 宠物系统 宠物进阶 任意商店 回收装备 模型查看 个人排行榜 物品分解 全物品升级 钥匙开箱子 外观变更 每日签到 对于学习c 的同学有很大的帮助 md5加密 kikugalanet 源码完整 是一份不错的学习
  • 2021手机CIS技术趋势总结

    手机摄像头CIS CMOS图像传感器 自从突破1亿像素以后 再谈像素数量增大 似乎已经很难让市场产生激烈反应了 这两年电子工程专辑对于手机摄像头CIS 以及更多领域不同类型的图像 视觉传感器 如ToF 基于事件的视觉传感器 都在做技术上的追
  • 错误-maven工程,程序包org.apache.commons.xxx不存在,Java:不支持发行版本5

    文章目录 前言 Java 不支持发行版本5 程序包org apache commons xxx不存在 前言 因为最新的idea界面中文支持较好 就更新了idea 但是发现在导入以前的项目时报了两个错误 程序包org apache commo
  • Pixhawk VTOL SITL仿真

    Pixhawk VTOL 和 SITL Simulation 需求的软件 MAVProxy 下载地址 http firmware ardupilot org Tools MAVProxy MAVProxySetup latest exe C