ROS、pix4、gazebo、qgc仿真ubuntu20.04

news2024/12/23 11:12:26

一、ubuntu、ros安装教程比较多,此文章不做详细讲解。该文章基于ubuntu20.04系统。

        pix4参考地址:https://docs.px4.io/main/zh/index.html

二、安装pix4

1. git clone https://github.com/PX4/PX4-Autopilot.git --recursive
2. bash ./PX4-Autopilot/Tools/setup/ubuntu.sh 
3. sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y

更新一下,完成后重启系统

测试进入下载的PX4-Autopilot文件夹内

make px4_sitl_default gazebo

 

端输入 commander takeoff ,可以看到无人机起飞
终端输入 commander land , 可以看到无人机降落

添加环境变量(添加到~/.bashrc文件中)

source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic
此处换成自己的路径

二、安装mavros

sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
sudo /opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh

测试

roslaunch mavros px4.launch

出现[FATAL] [1711808359.038923077]: FCU: DeviceError:serial:open: No such file or directory
================================================================================REQUIRED process [mavros-2] has died!
process has finished cleanly
log file: /home/ikun/.ros/log/7ee08aa0-eea0-11ee-ba0c-85043e8d2678/mavros-2*.log
Initiating shutdown!
================================================================================不要紧张没有连接真机

三、安装qgc

https://docs.qgroundcontrol.com/master/en/qgc-user-guide/getting_started/download_and_install.html

四、pix4仿真

roslaunch px4 mavros_posix_sitl.launch

五、更换为自己的世界地图

在PX4-Autopilot目录下搜索PX4-Autopilot,将里面的empty.world换成自己的世界模型,世界模型可以用3D软件转成ros支持的格式,拿gazebo打开保存为世界模型文件。

六、效果图

七、参考文章

ROS (1) with MAVROS Installation Guide | PX4 Guide (main)

http://t.csdnimg.cn/6Yw4Q

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

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

相关文章

MQTT服务端EMQX开源版安装和客户端MQTTX介绍

一、EMQX是什么 EMQX 是一款开源的大规模分布式 MQTT 消息服务器,功能丰富,专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条,单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息,同时保证毫秒…

C语言函数:编程世界的魔法钥匙(2)

引言 注:由于这部分内容比较抽象,而小编我又是一个刚刚进入编程世界的计算机小白,所以我的介绍可能会有点让人啼笑皆非。希望大家多多包涵!万分感谢!待到小编我学有所成,一定会把这块知识点重新介绍一遍&a…

Django前后端打通

跨域问题 【 0 】前言 ​ ​ 同源策略(Same Origin Policy)是浏览器安全策略的重要组成部分,它限制了来自不同源的网页之间的数据交互,以防止恶意攻击。当一个网页尝试执行与它的源(即协议、域名和端口&#xff09…

Re:从零开始的C++世界——类和对象(下)

文章目录 前言1.再谈构造函数🍎构造函数体赋值🍎初始化列表🍎特性🍌特性一🍌特性二🍌特性三🍌特性四🍌特性五 🍎explicit 关键字 2.static成员🍎概念&#x1…

node.js动漫论坛-计算机毕业设计源码09947

摘 要 随着移动互联网的飞速发展,智能手机和移动互联网已经成为人们日常生活中不可或缺的一部分。在这样的背景下,微信小程序应运而生,凭借其无需下载安装、即用即走的特点,迅速成为连接用户与服务的桥梁。动漫作为一种深受年轻人…

《0基础》学习Python——第十六讲 __文件读写

<文件读写> 一、什么是文件读写 文件读写是指在Python程序中对文件进行读取和写入操作。通过文件读写&#xff0c;可以读取文件中的数据&#xff0c;或者向文件中写入数据。 Python提供了多种文件读写的方式&#xff0c;其中最常用的方式是使用open()函数打开一个文件&a…

ssrf复习(及ctfshow351-360)

1. SSRF 概述 服务器会根据用户提交的URL发送一个HTTP请求。使用用户指定的URL&#xff0c;Web应用可以获取图片或者文件资源等。典型的例子是百度识图功能。 如果没有对用户提交URL和远端服务器所返回的信息做合适的验证或过滤&#xff0c;就有可能存在“请求伪造"的缺陷…

huawei USG6001v1学习---信息安全概念

目录 1.什么是分布式&#xff1f; 2.什么是云计算&#xff1f; 3.APT攻击 4.安全风险能见度不足 5.常见的一些攻击 6.交换机转发原理&#xff1f; 7.各层攻击类型 7.1链路层&#xff1a; 7.2网络层&#xff1a; 7.3传输层&#xff1a; 7.4应用层&#xff1a; 1.什么…

mybatis plus json 格式转换踩坑记录

项目中有个字段存的是json数据。 我对应的实体类用的 fastjson2 中的 JsonObject 对象。 实体类&#xff1a; Data Accessors(chain true) TableName(value "plugin_template", autoResultMap true) public class PluginTemplateDo {TableId(type IdType.AUTO)p…

Mybatis<collection>实现一对多

时隔多年又用到这样的查询方式了,提前声明一下分页最后返回的数据会小于每页条数&#xff0c;废话不多说直接上代码&#xff01; Data public class PbcUserTargetTaskPageVO {ApiModelProperty("个人绩效指标id")private Long id;ApiModelProperty("月份"…

Modbus通讯接口选择分析

Modbus通讯接口选择分析 Modbus通讯接口的选择涉及到多个方面的考量&#xff0c;包括但不限于通讯距离、数据传输速率、成本、设备兼容性以及应用场景等。下面将从这些角度出发&#xff0c;对Modbus通讯接口的选择进行详细的分析。 Ip67防水面板法兰插座 通讯距离 Modbus通讯…

VLAN 划分案例详解

vlan 的应用在网络项目中是非常广泛的&#xff0c;基本上大部分的项目都需要划分 vlan&#xff0c;这里从基础的 vlan 的知识开始&#xff0c;了解 vlan 的划分原理。 为什么需要 vlan&#xff1a; 1、什么是 VLAN&#xff1f; VLAN&#xff08;Virtual LAN&#xff09;&…

【面试题】Redo log和Undo log

Redo log 介绍Redo log之前我们需要了解一下&#xff0c;mysql数据操作的流程&#xff1a; 上述就是数据操作的流程图&#xff0c;可以发现sql语句并不是直接操作的磁盘而是通过操作内存&#xff0c;然后进行内存到磁盘的一个同步。这里我们必须要了解一些区域&#xff1a; 缓…

推荐一款使用Java EE技术栈的企业应用定制化开发平台(带源码)

前言 在数字化转型的浪潮中&#xff0c;企业面临着多样化的信息系统建设需求。现有的软件系统往往存在定制化程度低、开发周期长、成-本高等问题。此外&#xff0c;随着企业规模的扩大和业务的复杂化&#xff0c;传统的软件系统难以满足灵活多变的业务需求。 为了解决这些痛点…

【前端7*】表格-表单2(弹窗在子组件)父子组件调用 vue element-ui

vue element-ui 中表单弹框的使用 写在最前面一、子组件 HelloWorld.vue1. 弹窗部分、将 visible 传值给父组件2.表单的 ruleForm 校验方法3.表单确认方法4. 提交确认方法&#xff1a;handleSummit5.表单渲染 二、父组件 HomeView.vue1.新增按钮、查看和编辑2.引用子组件弹窗3.…

【Linux网络】select{理解认识select/select与多线程多进程/认识select函数/使用select开发并发echo服务器}

文章目录 0.理解/认识回顾回调函数select/pollread与直接使用 read 的效率差异 1.认识selectselect/多线程&#xff08;Multi-threading&#xff09;/多进程&#xff08;Multi-processing&#xff09;select函数socket就绪条件select的特点总结 2.select下echo服务器封装套接字…

花开半夏,我决意仿一款答题小程序

不是清凉罢挥扇&#xff0c;自缘手倦歇些时。 ——杨万里&#xff08;宋&#xff09; 走过春的绚烂&#xff0c;路过初夏的清凉&#xff0c;我们迎来了炎炎夏日。蛙声阵阵&#xff0c;蝉鸣声声&#xff0c;稻花如白练&#xff0c;荷花别样红。 花开半夏&#xff0c;我决意仿一款…

C# 各版本语法新功能汇总

C# 8.0 以后 官网 C# 7.3 》》in C# 7.2 》》 命名参数、具名参数 》》》 条件 ref 表达式 C# 7.1 》》 default 运算符 default 在C#7.1中得到了改进&#xff0c;不再需要default&#xff08;T&#xff09;了 //变量赋值C#7.0 var s "字符串"; s default(s…

【常见开源库的二次开发】基于openssl的加密与解密——MD5算法源码解析(六)

一、MD5算法分析 &#xff1a; 1.1 关于MD5 “消息摘要”是指MD5&#xff08;Message Digest Algorithm 5&#xff09;算法。MD5是一种广泛使用的密码散列函数&#xff0c;它可以生成一个128位&#xff08;16字节&#xff09;的散列值。 RFC 1321: MD5由Ronald Rivest在1992…

某大型企业产品研发管理体系构建指南解决方案

获取完整PPT见下图 更多有关华为研发管理/IPD、MBSE、PLM、ERP、MES、数据治理、数字样机等方面免费解决方案、资料获取&#xff0c;请见下图