Pixhawk无人机-ArduPilot 软件SITL仿真模拟飞行(SITL+MAVProxy)

news2024/9/22 13:30:15

1 引言

本人是先看了多个博客实现了:在ubuntu下建立完整的ardupilot开发环境。
该文是基于搭建完编译环境后,也就是搭建好ardupilot的仿真环境实现的。

在文章: 《Pixhawk无人机扩展教程(5)—SITL仿真模拟飞行:开发环境搭建》.中指出:

要进行SITL仿真飞行,需要分以下几步进行:
第一步:搭建Ardupilot开发环境;
第二步:ArduPilot 软件在环仿真SITL(SITL+MAVProxy);
第三步:ArduPilot 软件在环仿真SITL(SITL+Mission Planner或则SITL+QGC);
第四步:ArduPilot 软件在环仿真SITL(SITL+Gazebo三维仿真)

本文实现的是第二步ArduPilot 软件在环仿真SITL(SITL+MAVProxy),接下来我们就可以开始进行仿真.。

官方文档:MAVProxy
官方解释:
1)MAVProxy是基于MAVLink系统的无人机地面站软件包
2)MAVProxy是一个强大的基于命令行的“开发人员”地面站软件。
3)它可以通过附加模块进行扩展,也可以与另一个地面站(如Mission Planner、APM Planner 2、QGroundControl等)进行补充,以提供图形用户界面。

2 实现步骤

第一步:打开终端,把路径转到ArduCopter目录下

cd ardupilot/ArduCopter

第二步:执行命令启动SITL仿真
注意:若是第一次进行仿真,请先运行一下sim_vehicle.py -w,运行正常后,使用Ctrl+C kill这个程序的运行。然后执行如下命令:

sim_vehicle.py --console --map

启动选项解释:
--console:Load the GUI console module on startup.启动时加载GUI控制台模块。
--map:Load the moving map module on startup.启动时加载移动地图模块。

正常启动后,会出现3个窗口,Terminal、Console和Map 。
在这里插入图片描述

出现的问题:

1、注意:如果没有看到map和console窗口。
没有地图,没有控制台,也没有 MAVProxy 命令提示符。看到了这些错误:
Failed to load module: No module named ‘console’. Use ‘set moddebug 3’ in the MAVProxy console to enable traceback Failed to load module: No module named ‘map’. Use ‘set moddebug 3’ in the MAVProxy console to enable traceback

解决问题的帖子:https://github.com/ArduPilot/ardupilot/issues/13357

解决方法一:按照帖子提供的方法,您很可能错过了一些 mavproxy 依赖项,例如 python-wxgtk3.0 。请从http://ardupilot.github.io/MAVProxy/html/index.html检查你是否正确安装了 mavproxy 。

Linux下正确安装mavproxy:
对于基于 Debian 的系统(包括 Ubuntu、WSL、Raspian):

sudo apt-get install python3-dev python3-opencv python3-wxgtk4.0 python3-pip python3-matplotlib python3-lxml python3-pygame
pip3 install PyYAML mavproxy --user
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

当我安装python3-pygame,出现错误:python3-pygame 没有可安装候选,然后百度谷歌也搜不到解决办法,我就先把其他包安装上,然后用python-pygame代替了python3-pygame。

解决方法二:可能是由于MAVProxy,pymavlink,future,lxml这几个python包没有安装好,运行下面的命令安装:

sudo -H pip2 install --upgrade MAVProxy pymavlink future lxml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/594061.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

究竟什么是CRM?一文带您了解

目录 一、什么是CRM?它是用来做什么的? 1、获取商机的源头:全渠道营销管理 2、业绩提升的核心:销售管理 3、有温度的触达:客户服务 二、企业为什么需要布局CRM 1、销售是一场没有硝烟的战争 2、信息孤岛存在&am…

调用华为API实现中文语音识别

目录 1. 作者介绍2. 华为云中文语音识别2.1 录音文件识别与获取2.2 限制要求2.3 对象存储服务(OBS)简介 3. 实验过程以及结果3.1获得API3.2 代码实现3.3 运行结果 参考(可供参考的链接和引用文献) 1. 作者介绍 张楠,女…

【unity之c#专题篇】——进阶知识实践练习

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

如果你很焦虑、浮躁,不如去读一读林曦这本《无用之美》

生活中不可或缺的是柴米油盐,而濡养人心的往往是无用之美。——林曦    很难用语言写出这本书的美。有些书会给你带来内心的激荡,有些会让你充满力量,而林曦老师的书便自带一种轻盈的美,越往下读越能让人凝神静气。      …

浅谈一下@Async和SpringSecurityContext可能会遇到的问题和解决方案

Async和SpringSecurityContext 场景回溯 在执行一个用时较长的批量插入业务的时候,我尝试使用Async异步对业务进行优化,但是却给我报了空指针的错误,定位之后发现 此处我是基于SpringSecurity来获取用户的 是currentUserService获取到的当前登陆用户为空导致的,但是当前确实是…

文心一言 VS 讯飞星火 VS chatgpt (27)-- 算法导论5.1 2题

二、请描述 RANDOM(a,b)过程的一种实现,它只调用 RANDOM(0,1)。作为a和b的函数,你的过程的期望运行时间是多少? 文心一言: 假设我们有一个伪随机数生成器,可以生成在[0,1)范围内的随机数。那么我们可以使…

深入探讨JMeter中不为人知的JSONPath用法

在jmeter使用过程中,我们经常会看到接口返回数据类型为application/json,也就时我们常说的json格式。 而在功能测试时,我们经常会要对它的结果进行断言,确认结果是否与预期一致,有时候还会想从结果中提取某个值&#…

第十六章行为性模式—职责链模式

文章目录 职责链模式解决的问题结构实例存在的问题 JavaWeb 源码 - FilterChain 行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,它涉及算法与对象间职责的分配。行为型模式分为类…

知识蒸馏:综述

本文主要是针对2021年 IJCV Knowledge Distillation: A Survey的一个翻译。 知识蒸馏:综述 摘要1 引言2 知识2.1 基于响应的知识2.2 基于特征的知识2.3 基于关系的知识 3 蒸馏方案3.1 离线蒸馏3.2 在线蒸馏3.3 自蒸馏 4 师生结构5 蒸馏算法5.1 对抗蒸馏5.2 多教师蒸…

SpringBoot @ConditionalOnProperty注解 + AOP切面控制日志打印

参考资料 ConditionalOnProperty的作用和用法 目录 一. 前期准备1.1 错误信息实体类1.2 自定义校验异常1.3 业务页面1.3.1 前台HTML1.3.2 Form实体类1.3.3 Controller层1.3.4 Service层 二. ConditionalOnProperty注解和AOP切面的使用2.1 配置文件2.2 AOP切面 ConditionalOnP…

深剖 Linux 信号量

目录 传统艺能😎POSIX信号量😍概念😂 信号量函数😍初始化信号量👌销毁信号量👌等待(申请)信号量👌发布(释放)信号量🤣 二元信号量模拟…

Linux下C、C++、和Java程序设计

1.创建用户和之前一样。 RHEL7.2用户名和密码的创建以及DHCP服务的安装_封奚泽优的博客-CSDN博客https://blog.csdn.net/weixin_64066303/article/details/130763469?spm1001.2014.3001.55012.用yum安装(分别是c,c,java,javac)(之前我以为是分开安装的&#xff0c…

Sui Builder House首尔站倒计时!

Sui主网上线后的第一场Builder House活动即将在韩国首尔举行,同期将举办首场线下面对面的黑客松。活动历时两天,将为与会者提供独特的学习、交流和娱乐的机会。活动详情请查看:Sui Builder House首尔站|主网上线后首次亮相。 Sui…

2. 虚拟环境

一、为什么要搭建虚拟环境? 在实际开发过程中,多个程序可能需要调试各种版本的不同环境,比如不同的Python解释器,不同的flask版本 二、如何搭建虚拟环境? 什么是虚拟环境? 它就是一个特殊的文件夹&…

一个matlab colorbar的简易代码cmocean

matlab自带的色阶不全,无法满足绘图的需求,而cmocean函数提供了一些常用的色阶。 函数命令:cmocean(ColormapName,varargin),其中的ColormapName有如下的可选参数: 各个参数的绘图效果如下: 另外的一个参…

基于CAPL版本的CRC32算法

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…

UI设计用什么软件做?

1、即时设计 即时设计是一款国内的在线协同设计工具,提供原型设计、UI/UX 设计和设计交付等核心功能。它无需第三方插件,拥有丰富的组件样式、中英文字体库和本地化资源,受到专业设计师的好评。与其他国外的 UI 工具相比,即时设计…

加拿大访问学者博士后签证材料清单指南

加拿大作为一个受欢迎的留学和研究目的地,吸引着许多国际学者和博士后前往交流和深造。作为准备申请加拿大访问学者或博士后签证的申请人,准备充分的材料是至关重要的。下面是知识人网小编整理的个关于加拿大访问学者博士后签证材料清单的指南&#xff0…

mysql-xtrabackup的使用

一、安装 1.下载压缩包 根据当前地址选择对应的版本和系统 wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.28/binary/tarball/percona-xtrabackup-2.4.28-Linux-x86_64.glibc2.17.tar.gz2.解压缩 tar xvf percona-xtrabac…

【分布鲁棒和多目标非负矩阵分解】基于DR-NMF的对NMF问题噪声模型的识别鲁棒性研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…