两台ubuntu18.04电脑ros通信并利用mavros进行PX4-Gazebo仿真

2023-05-16

两台ubuntu18.04电脑ros通信并利用mavros进行PX4-Gazebo仿真

  1. MAVROS安装
    mavros安装有两种方法,一种是二进制安装,一种是源码安装方式。本文推荐二进制安装方式,对于大部分开发者,仅仅使用mavros消息并不需要对其源码进行修改,mavros只作为通信媒介。
    执行命令:
sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras

本人电脑为Ubuntu18.04,ros版本为melodic,16.04ros版本为kinetic,对上述命令行进行相应修改即可。
运行 install_geographiclib_datasets.sh 脚本来安装GeographicLib datasets

 wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
 bash  ./install_geographiclib_datasets.sh
  1. mavros版本问题
    注意:两台电脑上的mavros版本必须保持一致,否则会报错或者警告,例如:
[WARN] [1639473174.588319]: Could not process inbound connection: Client [/mavros] wants topic [/mavros/rc/override] to have datatype/md5sum [mavros_msgs/OverrideRCIn/fd1e1c08fa504ec32737c41f45223398], but our version has [mavros_msgs/OverrideRCIn/73b27a463a40a3eda1f9fbb1fc86d6f3] Dropping connection.{'topic': '/mavros/rc/override', 'tcp_nodelay': '0', 'md5sum': 'fd1e1c08fa504ec32737c41f45223398', 'type': 'mavros_msgs/OverrideRCIn', 'callerid': '/mavros'}

此时运行命令:

rosversion mavros

查看mavros版本,如:
在这里插入图片描述
如果发现版本不对应,全部卸载安装最新版,不知道怎么通过二进制安装方式安装对应的mavros版本。

  1. 两台ubuntu18.04电脑ros通信
    (1)两台电脑在同一个局域网
    (2)修改 bashrc文件
    执行命令sudo gedit ~/.bashrc,添加以下内容:

主机中添加:

export ROS_HOSTNAME=主机hostname
export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=主机IP

注意: 此处主机IP必须是主机ip地址,不可以是localhost,ubuntu查看IP地址命令为ifconfig,如下图所示:
在这里插入图片描述
从机中添加:

export ROS_HOSTNAME=从机hostname
export ROS_MASTER_URI=http://主机IP:11311
export ROS_IP=主机IP

修改**/etc/hosts**文件
执行命令:

sudo gedit /etc/hosts

主机中添加:

从机IP 从机hostname

从机中添加

主机IP 主机hostname

主机名为命令行中@符号后的名字,根据上面图片,此主机名为ubuntu

ros通信测试
在从机中打印话题列表

rostopic list

可看到主机中的话题列表基本上是通信成功了的,或者:
主机运行:

roscore
rosrun turtlesim turtlesim_node

从机运行:

rosrun turtlesim turtle_teleop_key

如果可以通过从机上键盘控制主机上的小乌龟移动,就说明成功了!
参考链接:https://blog.csdn.net/zhanghm1995/article/details/106781954

  1. 两台ubuntu18.04进行px4-gazebo仿真
    从机定位至px4源代码文件夹,终端运行命令:
make px4_sitl gazebo

主机打开ros,终端运行roscore

roscore

从机终端运行:

roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"

其中:127.0.0.1 是指本机地址,14557 一般为默认, 可在px4代码编译终端命令时查看。
主机终端运行:

rostopic list

可以查看所有的话题消息名。
主机终端运行:

rostopic echo /mavros/state

查看mavros通信状态, connected=ture 表示正常连接。
主机终端运行例程,即可启动gazebo仿真中的无人机。

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

两台ubuntu18.04电脑ros通信并利用mavros进行PX4-Gazebo仿真 的相关文章

  • 使用WTGAHRS2(JY-GPSIMU)在ROS中读取数据并发布话题

    目录 IMU简介 驱动程序 IMU串口通信协议 程序 效果 IMU简介 十轴惯性导航传感器WTGAHRS2传感器集成高精度的陀螺仪 加速度计 地磁场传感器 GPS 模块 采用高性能的微处理器和先进的动力学解算与卡尔曼动态滤波算法 能够快速求
  • ROS之QtCreator开发环境搭建

    文章目录 系统环境 官方教程 安装 卸载 使用 导入工作空间 构建与运行 编写测试程序 系统环境 操作系统 Ubuntu20 04 ROS版本 Noetic 官方教程 按照官方教程或者下面笔记中的内容均能进行环境搭建 笔记中另外做了部分补充
  • ROS中使用VLP16激光雷达获取点云数据

    ROS中使用VLP16激光雷达获取点云数据 个人博客地址 本文测试环境为 Ubuntu20 04 ROS Noetic 需要将激光雷达与PC连接 然后在设置 gt 网络 gt 有线中将IPv4改为手动 并且地址为192 168 1 100
  • 思岚RPLIDAR A2 在ubuntu 16.04上的测试

    1 下载雷达ROS包 首先在github上下载rplidar的ros包 下载指令为 默认安装了git git clone https github com Slamtec rplidar ros git 在ubuntu上创建工作空间 并将该
  • SLAM-hector_slam 简介与使用

    hector slam功能包使用高斯牛顿方法 不需要里程计数据 只根据激光信息便可构建地图 所以他的总体框架如下 hector slam功能包 hector slam的核心节点是hector mapping 它订阅 scan 话题以获取SL
  • rosrun 和 roslaunch 的时候 TAB 的自动补全出现问题

    rosrun 和 roslaunch 的时候 TAB 的自动补全出现问题 rospack Warning error while crawling home sun boost filesystem status Permission de
  • 1-如何安装ROS

    如何安装ROS 大家好 我是如何 今天尝试在Ubantu下安装ROS Robot Operating System 测试环境 虚拟机VMware Ubantu20 04 准备步骤 添加ROS软件源 sudo sh c echo deb ht
  • ROS2踩坑记录

    Vscode 显示 找不到module 以此选择 设置 Python 在setting json中编辑 在 python autoComplete extraPaths 中添加额外的第三方库路径 如 opt ros foxy lib pyt
  • rosprofiler 安装和使用

    rosprofiler wiki 页面 http wiki ros org rosprofiler rosprofiler package 下载rosprofiler和ros statistics msgs 放到工程目录下编译 https
  • Ubuntu16.04及ROS Kinetic环境下安装使用RealSense SR300

    Ubuntu16 04及ROS Kinetic环境下安装使用RealSense SR300 1 准备条件 需要安装Ubuntu16 04及ROS Kinetic 2 安装驱动 安装realsense的驱动流程可以根据Github上的官方推荐
  • 服务数据的定义和使用

    1 自定义数据服务 在包下创建srv文件夹 在文件夹下创建Person srv 在Person srv下输入以下内容 代表数据类型 string name uint8 age uint8 sex uint8 unknown 0 uint8
  • 进入 docker 容器,exec 丢失 PATH 环境变量

    这是我的 Dockerfile FROM ros kinetic ros core xenial CMD bash 如果我跑docker build t ros docker run it ros 然后从容器内echo PATH 我去拿 o
  • 不使用ros编译roscpp(使用g++)

    我正在尝试在不使用ROS其余部分的情况下编译roscpp 我只需要订阅一个节点 但该节点拥有使用旧版本ROS的节点 并且由于编译问题 我无法将我的程序与他的程序集成 我从git下载了源代码 https github com ros ros
  • 错误状态:平台不允许不安全的 HTTP:http://0.0.0.0:9090

    我正在尝试从我的 flutter 应用程序连接到 ws local host 9090 使用 rosbridge 运行 的 Ros WebSocket 服务 但我在 Flutter 中收到以下错误 错误状态 平台不允许不安全的 HTTP h
  • 无法在 ROS 中使用本地安装的 Protocol Buffer

    我已经安装了协议缓冲区 https developers google com protocol buffers 本地 ROS包的目录结构如下 CMakeLists txt package xml include addressbook p
  • Caught exception in launch(see debug for traceback)

    Caught exception in launch see debug for traceback Caught exception when trying to load file of format xml Caught except
  • 在 Ubuntu 18.10 上安装 ROS Melodic

    I can t是唯一对 Cosmic 与 Wayland 和 Melodic 的组合感兴趣的人 我会坦白说 我似乎已经在 XPS 13 9370 上成功管理了此操作 或者至少安装脚本 最终 成功完成 然而 有一个非常棘手的解决方法 无论结果
  • ROS安装错误(Ubuntu 16.04中的ROS Kinetic)

    中列出的步骤顺序http wiki ros org kinetic Installat 已被关注 尝试在Ubuntu 16 04中安装ROSkinetic 输入以下命令时出错 sudo apt get install ros kinetic
  • catkin_make 编译报错 Unable to find either executable ‘empy‘ or Python module ‘em‘...

    文章目录 写在前面 一 问题描述 二 解决方法 参考链接 写在前面 自己的测试环境 Ubuntu20 04 一 问题描述 自己安装完 anaconda 后 再次执行 catkin make 遇到如下问题 CMake Error at opt
  • 如何使用 PyQT5 连接和分离外部应用程序或对接外部应用程序?

    我正在使用 ROS 为多机器人系统开发 GUI 但我对界面中最不想做的事情感到困惑 在我的应用程序中嵌入 RVIZ GMAPPING 或其他屏幕 我已经在界面中放置了一个终端 但我无法解决如何向我的应用程序添加外部应用程序窗口的问题 我知道

随机推荐

  • 浅谈STP生成树协议

    STP xff08 Spanning Tree Protocol xff09 生成树协议 产生背景 xff1a 为了提高网络可靠性 xff0c 交换网络中通常会使用链路冗余 xff0c 链路冗余会为交换网络带来环路风险 xff0c 并导致广
  • MPU6050温度的计算公式

    在惯导融合的代码中常见计算MPU6050温度的公式 xff0c 如 xff1a temperature 61 36 53f 43 double GetData TEMP OUT H 340 0f 或者 Temp 61 36 53 43 Te
  • 金蝶K3服务器安装与配置方法详细图解

    一 xff1a 配置K3服务器 1 xff1a 给服务器命一个易懂的名称 xff0c 2 xff1a 创建一个管理员帐号K3admin xff0c 用于中间层注册 并对默认管理名称进行修改 xff0c 并启用默认帐号 3 xff1a 对服务
  • 网络操作系统 第六章 Windows Server 2008 活动目录

    习题 1 什么是活动目录 xff1f 活动目录有那些优点 xff1f 活动目录服务功能是WIndows SErver 2008最为重要的功能之一 xff0c 他提供了用于存储目录数据并使该数据可由网络用户和管理使用的方法 目录和目录相关的服
  • VIBE复现过程,使用nvidia和libOpenGL.so渲染出错及解决方案

    VIBE复现过程 xff0c 使用nvidia和libOpenGL so渲染出错及解决方案 VIBE全称是 34 Video Inference for Human Body Pose and Shape Estimation 34 xff
  • CAN数据帧分析

    标准CAN只有11位标识符 xff0c 每帧的数据长度为51 43 xff08 0 64 xff09 61 xff08 51 117 xff09 位 SOF 帧起始 xff0c 显性 xff08 逻辑0 xff09 表示报文的开始 xff0
  • 快速学习git工具

    一 什么是git Git 是一个开源的分布式版本控制系统 xff0c 用于敏捷高效地处理任何或小或大的项目 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件 Git 与常用的版本
  • Adversarial Attacks on deep learning阅读笔记

    Adversarial Attacks on deep learning阅读笔记 简单说说Adversarial attackAdversarial Attacks on Deep Learning Based Radio Signal C
  • Fluent 三种初始化使用方法

    文章目录 Fluent 三种初始化使用方法 xff08 初始化即赋初值 xff09 1 赋值初始化a 混合初始化 xff1a b 标准初始化 xff1a c FMG初始化 xff1a 2 patch xff08 补丁 xff09 初始化 F
  • F450+PixHawk 2.4.8 无人机安装(一)

    下文连接 F450 43 PixHawk 2 4 8 无人机安装 xff08 二 xff09 小可最近对无人机产生了浓厚的兴趣 于是剁手了F450的套机 xff0c 经过一段艰苦的学习 xff0c 终于安装好了 xff0c 飞起来的那一刻
  • F450+PixHawk 2.4.8 无人机安装(二)

    上文连接 xff1a F450 43 PixHawk 2 4 8 无人机安装 xff08 一 xff09 笔者上文写到了安装完成电调 xff0c 机体的安装 xff0c 本文将承接上文继续 PixHawk 2 4 8配套有一个减震支架 xf
  • 【PYTHON】 Pilow 将半透明图片绘制到图片中

    python 的pilow在将半透明图片复合到正常图片时 xff0c 需要用到alpha composite函数 两张图片都必须保留 alpha 通道 xff0c 即 mode 为 RGBA xff0c alpha 通道是保存图片透明度的通
  • Windows CMD 访问UCN路径

    起源 xff1a 需要用cmd 访问网络上的文件地址 D ilaus gt cd xx xx xxx xxx ilaus 39 xx xx xxx xxx ilaus 39 CMD 不支持将 UNC 路径作为当前目录 什么是UCN UNC为
  • supervisor 安装配置

    1 安装supervisor root 64 ilaus app pip install supervisorctl 2 创建配置文件 一旦Supervisor安装完成 xff0c 运行 echo supervisord conf 将打印一
  • 什么是网络安全等级保护?等保有哪些等级?

    互联网的迅猛发展 xff0c 在带给人们快捷 方便的同时 xff0c 也让社会面临着严峻的挑战 xff0c 个人私密信息泄露 被盗 半路截取等各类网络安全问题层出不穷 xff0c 威胁着个人的信息安全和社会的秩序稳定 那有什么解决的办法吗
  • docker 启动zabbix

    启动mysql xff0c 5 7版本以上 docker run name zabbix mysql server hostname zabbix mysql server e MYSQL ROOT PASSWORD 61 34 12345
  • virtualenv 安装使用

    virtualenv为应用提供了隔离的Python运行环境 xff0c 解决了不同应用间多版本的冲突问题 安装virtualenv pip3 install virtualenv 使用virtualenv virtualenv OPTION
  • ORM 的映射与反射

    ORM xff08 Object Relational Mapping xff09 作为一个后端框架的构建的组成部分 xff0c 主要实现对象对关系型数据库的映射关系 可以无需再去编写原生sql xff0c 取代代之的是基于面向对象的思想去
  • springBoot配置方式

    1 通过手动配置文件的形式来进行配置 手动配置则是创建普通的java工程 然后再进行pom文件的属性添加如下的内容 lt springboot工程需要继承的父工程 gt lt parent gt lt groupId gt org spri
  • 两台ubuntu18.04电脑ros通信并利用mavros进行PX4-Gazebo仿真

    两台ubuntu18 04电脑ros通信并利用mavros进行PX4 Gazebo仿真 MAVROS安装 mavros安装有两种方法 xff0c 一种是二进制安装 xff0c 一种是源码安装方式 本文推荐二进制安装方式 xff0c 对于大部