Jeston与Px4(三)

2023-05-16

Gazebo和mavros

文章目录

  • Gazebo和mavros
  • 前言
  • 一、什么是 MAVROS?
  • 二、仿真工具Gazebo
    • 1、创建工作空间并初始化
    • 2、添加依赖,添加密钥
    • 3、安装gazebo9.1
    • 4、ros与gazebo插件
  • 安装MAVROS
    • 1、添加依赖、初始化工作空间
    • 2、安装mavlink
    • 3、安装mavros
    • 4、创建部门
    • 5、安装地理数据集
    • 5、catkin build
    • 6、添加环境变量


前言

上一节我们已经在地面端搭建好了地面站qgc,这一节在

一、什么是 MAVROS?

MAVROS是ROS的一个软件包,允许在运行ROS的计算机、支持MAVLink的飞控板以及支持MAVLink的地面站之间通讯。 MAVlink由17个字节组成,包括消息ID、目标ID和数据。其中消息ID显示是什么数据,可以在messageID命令集中看到消息ID。消息也可以通过无线信号进行传输
在这里插入图片描述
在这里插入图片描述
(官方的图)

二、仿真工具Gazebo

仿真首先分为软件在环仿真(SITL)和硬件在环仿真(HITL)。目前来看,软件在环仿真更简单实现及方便。软件在环仿真一共是有jMAVSim、Gazebo、AirSim这三种。
Gazebo是ROS系统自带的仿真平台,可以通过mavros通信协议,将飞控的操作数据反馈到仿真平台。进行无人机的仿真操作。PX4官方是这么说Gazebo仿真的:This simulator is highly recommended.

1、创建工作空间并初始化

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
source devel/setup.bash

在这里插入图片描述

2、添加依赖,添加密钥

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'

执行:

cat /etc/apt/sources.list.d/gazebo-stable.list

出现

deb http://packages.osrfoundation.org/gazebo/ubuntu-stable bionic main

设置密钥:

wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -

3、安装gazebo9.1

sudo apt-get update
sudo apt-get install gazebo9=9.1*

在这里插入图片描述
安装完成即可打开

gazebo

在这里插入图片描述启动成功!

4、ros与gazebo插件

安装ros中的gazebo插件(这两步可能只有一步可以执行)

sudo apt install ros-melodic-gazebo9-*
sudo apt install ros-melodic-gazebo-*

在这里插入图片描述
分别再两个终端执行以下两句,如果上述步骤正确,即可打开ros-gazebo

roscore  
rosrun gazebo_ros gazebo 

在这里插入图片描述
最后象征意义的查一下安装的版本(不同时间可能安装的版本不同)

gazebo --version

在这里插入图片描述

安装MAVROS

官方提供了两种安装方式,二进制安装和源码安装
在这里插入图片描述
二进制的安装比较简单,但使用过程中不能对mavros进行修改,我直接选择下方的源码安装
在这里插入图片描述
友情提示:和你以前遇到的所有安装过程一样,我这里建议没办法科学上网的同学(就比如说我),或者使用移动宽带的话(也比如说我),使用手机热点进行下载,可以省去很多烦恼。

1、添加依赖、初始化工作空间

sudo apt-get install python-catkin-tools python-rosinstall-generator -y
mkdir -p ~/mavros_ws/src
cd ~/mavros_ws
catkin init
wstool init src

在这里插入图片描述
在这里插入图片描述

2、安装mavlink

rosinstall_generator --rosdistro melodic mavlink | tee /tmp/mavros.rosinstall

这一步需要在根目录下执行

在这里插入图片描述

执行可能会出现这样的错误,如果是移动的宽带的话即使你修改host里的DNS也不通,所以不能科学上网就上热点

3、安装mavros

rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall

或者直接使用下面的gitee来克隆

git clone https://gitee.com/zhuleilei33/mavros.git

这一句在你之前创建的文件里下载,最好在src文件里下载,

4、创建部门


wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src -j4
rosdep install --from-paths src --ignore-src -y

在这里插入图片描述
在这里插入图片描述

5、安装地理数据集

sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh

这里感触比较多啊,他这个不牵扯网络问题,就是慢的很,而且没有进度显示,我多次以为是卡了或者别的啥原因,前前后后弄了一两天,最后发现就是慢,建议执行命令后就去开一把,等回来就差不多了
在这里插入图片描述

5、catkin build

catkin build

这一步看性能,我没有全开Jeston的性能,时间就比较长,大家可以试试高性能模式下的构建速度
在这里插入图片描述
有一些warning,应该时一些依赖没有安装对位置,无伤大雅

6、添加环境变量

gedit ~/.bashrc

把下面这一句加到文档末尾

source ~/mavros_catkin_ws/devel/setup.bash
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jeston与Px4(三) 的相关文章

  • 下载并构建PX4

    根据官方的文档 xff0c PX4下载和构建的方式有两种 xff1a Linux系列的Console模式 xff08 当然也支持Windows下的MINGW32 xff09 和Windows模式 在Windows平台下 xff0c 我们习惯
  • PX4通过I2C方式添加自定义传感器(2)

    PX4 I2C通信方式传感器驱动分析 xff08 以ets airspeed为例 xff09 1 说明 这篇文章我们就来看看I2C传感器的驱动过程 xff0c 当然里面也有很多东西我不是很理解 xff0c 所以仅谈我领悟的一些东西 我就以e
  • PX4 Offboard Control with MAVROS--Takeoff(一键起飞)

    警告 xff1a 请先在仿真环境下进行测试 xff0c 能达到预期效果后在进行实际飞行测试 xff0c 以免发生意外 本篇文章只是用作学习交流 xff0c 实际飞行时如出现意外情况作者不予以负责 所需材料 1 PIXhawk或者Pixrac
  • 飞行机器人(七)仿真平台XTDrone + PX4编译

    0 编译PX4固件 参考仿真平台基础配置教程 xff08 中文详细教程 xff09 仿真平台基础配置 语雀 yuque com https www yuque com xtdrone manual cn basic config 按照教程
  • PX4 Bootloader下载及编译过程中的问题解决

    买来的雷迅的板子都是Bootloader已经烧进去了 xff0c Fireware也已经刷进去了 如果是自制的板子 xff0c 上位机根本没法识别板子 xff0c 必须先烧写下载Bootloader后编译好的bin文件 这篇记一下自己下载及
  • PX4飞控之PWM输出控制

    PX4飞控之PWM输出控制 多旋翼电调如好盈XRotor xff0c DJI通用电调等都支持PWM信号来传输控制信号 常用的400Hz电调信号对应周期2500us xff0c 一般使用高电平时间1000us 2000us为有效信号区间 xf
  • 初学PX4之环境搭建

    文章转自 xff1a http www jianshu com p 36dac548106b 前言 前段时间linux崩溃了 xff0c 桌面进去后只有背景 xff0c 折腾好久没搞定 xff0c 为了节省时间索性重装了系统 xff0c 同
  • 从Simulink到PX4——Simulink-PX4插件安装与环境搭建

    从Simulink到PX4 Simulink PX4插件安装与环境搭建 前言0 准备工作1 安装WSL2 Setting up the PX4 Toolchain on Windows3 Setting up the PX4 Tool Ch
  • PX4模块设计之十六:Hardfault模块

    PX4模块设计之十六 xff1a Hardfault模块 1 Hardfault模块初始化2 Hardfault模块主程序3 Hardfault命令3 1 hardfault check status3 2 hardfault rearm3
  • PX4模块设计之二十四:内部ADC模块

    PX4模块设计之二十四 xff1a 内部ADC模块 1 内部ADC模块简介2 模块入口函数2 1 主入口board adc main2 2 自定义子命令custom command 3 内部ADC模块重要函数3 1 task spawn3
  • PX4模块设计之四十五:param模块

    PX4模块设计之四十五 xff1a param模块 1 param模块简介2 模块入口函数param main3 重要函数列表4 总结5 参考资料 1 param模块简介 Description Command to access and
  • PX4模块设计之四十六:dataman模块

    PX4模块设计之四十六 xff1a dataman模块 1 dataman模块简介2 模块入口函数dataman main3 dataman模块重要函数3 1 start3 2 stop3 3 status3 4 task main 4 A
  • mavros连接px4失败的usb-ttl原因

    问题描述 xff1a 最近在搞mavros xff0c 以方便协处理器和pixhawk通讯 xff0c 在按照官网教程安装mavros xff0c 设置px4 xff0c 连接硬件之后发现mavros卡在中间下不去 xff1a MAVROS
  • px4_simple_example和uorb机制

    px4 simple app PX4 Autopilot src exampes px4 simple app xff0c 这个程序是用c语言调用orb API和poll机制订阅和发布通讯数据 xff0c 但是这个例子并不是既有接收又有发送
  • Jeston XAVIER NX 使用sudo apt-get install 安装ros过程中出现以下问题

    the following packages have unmet dependencies ros noetic desktop full Depends ros noetic desktop but it is not going to
  • px4无人机常识介绍(固件,px4等)

    专业名词解释 aircraft 任何可以飞或者可以携带物品还是搭载旅客的飞行器统称为飞机 航空器 uav 无人驾驶飞机 vehicle 飞行器 airplane plane aero plane 有机翼和一个或多个引擎的飞行器统称为飞机 D
  • PX4 OffBoard Control

    终于还是走上了这一步 xff0c 对飞控下手 xff0c 可以说是一张白纸了 记录一下学习的过程方便以后的查阅 目录 一 ubuntu18 04配置px4编译环境及mavros环境 二 PX4的OffBoard控制 1 搭建功能包 2 编写
  • 步骤八:PX4使用cartographer与move_base进行自主建图导航

    首先老样子硬件如下 飞控 HOLYBRO PIXHAWK V4 PX4 机载电脑 jetson nano b01 激光雷达 思岚a2 前提 你已经完成了cartographer建图部分 能够正常输出map话题 前言 由于要参加中国机器人大赛
  • PX4项目学习::(五)模块代码启动流程

    54条消息 PX4 模块代码启动流程 zhao23333的博客 CSDN博客
  • jeston nano安装Ubuntu镜像时启动遇到问题

    A start job is running for End user configuration after initial OEM installation 开始我跑了一下午 43 一晚上 xff0c 都没成功 xff0c 第二天 xf

随机推荐

  • 安装docker报出的错误及解决方案

    1 错误一 xff1a 解决方案 xff1a yum erase podman buildan yum install y docker ce allowerasing 重启服务 systemtl restart docker yum源的安
  • make、makefile的使用解释(Linux项目自动化构建工具)

    本文所使用系统为Linux centos 7 makefile是一个文件 里面包含了 xff1a 1 文件与文件的依赖关系 2 文件与文件的依赖方法 为什么需要包含文件与文件的依赖方法和依赖方法呢 xff1f 一个工程中的源文件不计数 xf
  • elementUI中neditor第一次加载无法正常赋值的解决方法

    1 lt neditor v if 61 34 neditorLoad 34 v model 61 34 formFields content 34 class 61 34 wd editor 34 gt 加上v if 61 34 nedi
  • Gazebo仿真中光源的设置

    目录 写在前面官方文档链接point类型directional类型spot类型 写在前面 最近研究在Gazebo中仿真px4 xff0c 使用Apriltag ros包对Apriltag二维码检测的时候发现光源对检测影响非常大 xff0c
  • 使用Java操作Hbase

    目录 修改hosts文件 导入jar包 配置hbase信息 xff0c 连接hbase数据库 创建表 删除表 获取namespace 获取tables 添加数据 查询表中的数据 查询表中所有数据 关闭流 修改hosts文件 位置 xff1a
  • CAN协议国际标准化协议部分总结(一)

    前言 xff1a 本文主要是对CAN协议中ISO11898做一个简短的总结 ISO11898 ISO11519 ISO15765 CAN协议在OSI模型中包含三层 xff0c 物理层 数据链路层和传输层 各层中CAN定义内容可参考下图 其协
  • STM32 串口 DMA 数据读取(详细代码)

    最近重新开始学32 xff0c 搞到串口 DMA 的时候 xff0c 数据读取卡了很长一段时间 xff0c 最终 xff0c 功夫不负有心人终于搞出来了 在此以记录一下 xff0c 方便以后查询使用 在调试的过程中也遇到了很多bug xff
  • 在阿里云购买Linux服务器,配置宝塔环境,全图文,最最详细图解,保姆级教学

    在阿里云购买Linux服务器 xff08 CentOs 7 xff09 xff0c 配置宝塔环境 一 在阿里云购买CentOs服务器 Linux系统 CentOS是免费的 开源的 可以重新分发的开源操作系统 xff0c CentOS xff
  • (Linux)FreeRTOS(任务)

    任务调度器 调度器就是使用相关的调度算法来决定当前需要执行的任务 xff0c 调度器总是在所有处于就绪列表的任务中 xff0c 选择具有最高优先级的任务来执行 抢占式调度 xff1a 主要是针对优先级不同的任务 xff0c 每个任务都有一个
  • 制作一个串口助手 | python + pyqt5

    目录 一 背景 1 1 开发流程图 二 前提 2 1 关于环境 2 2 关于源码 三 步骤 3 1 使用pyqt创建一个 ui界面并生成 py文件 3 2 创建两个 py文件 xff0c 一个用来继承ui界面生成的 py类 xff0c 一个
  • FreeRTOS任务调度与任务切换 | FreeRTOS八

    目录 说明 xff1a 一 任务调度器 1 1 开启任务调度器函数 1 2 任务调度器实现步骤 1 3 xPortStartScheduler 函数 二 启动一个任务 2 1 prvStartFirstTask 函数 2 2 vPortSV
  • 单片机原理简介

    提出问题 xff1a 什么是单片机 xff1f 类似于一台性能相对较弱的微型电脑 xff0c 具有完整的计算机结构和片内外设 xff08 例如串口 xff0c I2C xff0c ADC等硬件 xff09 xff0c 将他们集成封装在一颗芯
  • composer安装第三方库

    用法 xff1a 在thinkphp根目录下执行 composer require wechatpay wechatpay 1 4
  • STM32F407ZGT6控制ESP8266与OV2640下的百度智能图片识别

    前言 xff1a STM32F407ZGT6控制OV2640下采集到JPG图片格式的二进制数据 xff0c 然后对二进制数据进行BASE64编码 xff0c 接着通过串口将数据传输给ESP8266并上传至训练好的EASYDL的AI算法识别平
  • 力扣数组算法(c++)(代码随想录数组部分)

    文章一部分内容和图片引用代码随想录和力扣官方题解 数组 C 43 43 考察数组的题目一般在思维上都不难 xff0c 主要是考察对代码的掌控能力 数组是存放在连续内存空间上的相同类型数据的集合 数组可以方便的通过下标索引的方式获取到下标下对
  • cv_bridge用于ROS图像和OpenCV图像的转换

    一 背景 ROS对于传感器数据有自己的格式和规范 而在OpenCV中 xff0c 图像是以Mat矩阵的形式存储的 xff0c 这与ROS定义的图像消息的格式有一定的区别 xff0c 所以我们需要利用cv bridge将这两种不相同的格式联系
  • ROS通信机制——python实现

    一 普通话题通信 1 创建发布者 注意 xff1a 不要在开头添加注释 xff0c 下面代码第一行是指定编译器 xff0c 第二行是防止因为代码中的中文注释而出现乱码 usr bin env python coding utf 8 导包 i
  • 树莓派4B安装Ubuntu20.04与ROS

    树莓派4B搭建Ubuntu20 04与ROS 文章目录 树莓派4B搭建Ubuntu20 04与ROS 前言一 安装Ubuntu20 041 下载Ubuntu20 04LTS server2 将镜像文件用Win32DiskImager烧录进S
  • Jeston 与 PX4(一)

    Jeston与ROS 大二下半学期开始接触四旋翼无人机 xff0c 主要在实验室学习飞控 xff0c 针对bibi飞控的二次开发 xff0c 与实验室其余成员参加了大大小小的无人机比赛 xff0c 包括令人崩溃的电赛 xff0c 虽然没有取
  • Jeston与Px4(三)

    Gazebo和mavros 文章目录 Gazebo和mavros前言一 什么是 MAVROS xff1f 二 仿真工具Gazebo1 创建工作空间并初始化2 添加依赖 xff0c 添加密钥3 安装gazebo9 14 ros与gazebo插