Docker与ROS分布式通信

2023-05-16

主机:docker镜像文件

从机:本电脑

一、设置IP地址

1.确定ROS多机系统均处于同一网络

docker run -it -p 11311:11311 容器名 /bin/bash     #进入容器

主机:输入ifconfig

注:若显示ifconfig: command not found,输入apt-get install net-tools

  从机:输入ifconfig

2.分别在主从机的/etc/hosts文件中加入对方的IP地址和对应的计算机名

主机:输入vim /etc/hosts

注:若显示vim: command not found,输入apt-get install vim

在文件末尾添加从机IP地址和对应的计算机名

192.168.109.160 从机的hostname

从机:输入 sudo gedit /etc/hosts

在文件末尾添加主机IP地址和对应的容器ID

172.31.0.2 容器ID

还有从机IP和对应的计算机名

192.168.109.160 hostname

设置完毕后,分别在容器和主机下使用ping命令测试网络是否联通。如果双向网络都畅通,就说明底层网络的通信已经没问题。

注:若显示ping: command not found,输入apt-get install inetutils-ping -y

二、设置ROS_MASTER_URI

1.主机设置

在主机终端上输入:

vim ~/.bashrc

在文件末尾添加:

export ROS_MASTER_URI=http://容器ID:11311

export ROS_HOSTNAME=容器ID

保存后,输入:

source ~/.bashrc

2.从机设置

在主机终端上输入:

sudo gedit ~/.bashrc

在结尾处添加:

export ROS_MASTER_URI=http://容器ID:11311

export ROS_HOSTNAME=从机hostname

export ROS_IP=从机IP

然后保存文件,在终端输入

source ~/.bashrc

source /etc/init.d/networking

三、最终测试

首先在容器内启动ros节点,在从机(本机)输入rostopic list可查看到相关话题。

然后在从机(本机)启动launch文件,查看到对应的的节点关系图。

测试成功。

四、注意

docker运行后,VTD可能无法运行,这需要进一步的网络配置,后续会继续更新。

五、参考链接

1. ROS多机通讯(unable to communicate with master 解决)_kuai-的博客-CSDN博客https://blog.csdn.net/qq_43481884/article/details/108895044

2.(21条消息) ROS_MASTER_URI和ROS_IP的作用_Jili_nekosensei的博客-CSDN博客_ros_master_urihttps://blog.csdn.net/weixin_45664449/article/details/103578210?utm_medium=distribute.pc_relevant.none-task-blog-baidulandingword-2&spm=1001.2101.3001.4242

3.(21条消息) ROS多机通讯踩坑,(主机和从机之间可以订阅话题,但是看不到话题消息)_蒋程扬的博客-CSDN博客_ros多机通信订阅不到消息https://blog.csdn.net/qq_38441692/article/details/98205852

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

Docker与ROS分布式通信 的相关文章

  • Markdown:插入图片和图注

    文章目录 在Markdown中插入图片 xff0c 调节位置 xff0c 大小 xff0c 以及插入图注 并排插入图片并排插入图片但无缝隙简单的插入可调整大小图片使用图床 xff08 腾讯云cos 43 picgo xff09 在markd
  • Vmware Esxi在线管理虚拟机

    目录 特征 占地面积小 可靠的性能 增强的安全性 生态系统卓越 用户友好的体验 管理截图 登录系统 主机虚拟机 虚拟机操作 What is ESXI Bare Metal Hypervisor ESX VMware 特征 通过将多台服务器整
  • 孤立森林(Isolation Forest)

    最近正好在做孤立森林的项目 xff0c 写下这篇推文记录下项目进程 xff0c 也给需要做这个项目的同学一点参考 1 什么叫异常点 图中红色的点偏离大部分的数据 xff0c 可以发现这些点分布稀疏且离密度高的群体较远 xff0c 这样的点称
  • 修改docker容器端口映射

    大家都知道docker run可以指定端口映射 xff0c 但是容器一旦生成 xff0c 就没有一个命令可以直接修改 通常间接的办法是 xff0c 保存镜像 xff0c 再创建一个新的容器 xff0c 在创建时指定新的端口映射 有没有办法不
  • MaxWelll常用命令

    文章目录 1 启动maxwell xff1a 1 1 控制台为输出 xff1a 1 2 kafka为输出 xff1a 1 3 配置指定某些表输出 xff1a 1 4 配置输出到kafka 分区规则为表的主键 xff1a 1 5 配置文件启动
  • Linux系统--进程与线程的区别

    看了一遍排在前面的答案 xff0c 类似 进程是资源分配的最小单位 xff0c 线程是CPU调度的最小单位 这样的回答感觉太抽象 xff0c 都不太容易让人理解 做个简单的比喻 xff1a 进程 61 火车 xff0c 线程 61 车厢 线
  • 关于锁的理解

    本文打算写一些和锁有关的东西 xff0c 谈一谈我对锁的原理和实现的理解 xff0c 主要包含以下方面 信号量互斥量条件变量 同步与互斥 其实同步与互斥都是计算机科学里面概念性的东西 xff0c 它们和什么编程语言 操作系统其实都没什么关系
  • Android 适配ipv6

    Android8 0开始支持ipv6 okhttp支持ipv6 glide支持ipv6方法 ijkplayer
  • java自我学习第一阶段的收获和感受

    1 首先对于编程的学习第一步都是基本语法的学习 xff0c 语法学习的特点有 xff1a 所有编程语言的语法定义都大体相似 xff0c 大概的是编程发展的延续 xff0c 没有人语言设计人员会标新立异 xff0c 只有站在别人的肩上不断完善
  • docker常用命令及配置

    最近使用了docker xff0c 像是发现了新大陆 真是简洁好用的东西 xff0c 为啥原来没发现 docker的安装不再赘述 xff0c 在此记录一下常用的命令 xff0c 以便于将来查询 查看docker容器版本 docker ver
  • 数字图像处理读后感

    数字图像处理读后感 前言 初步写完比赛代码后 看了机器学习看了数字图像处理还有其他的一些乱七八糟的东西 然后又觉得如果只是看完没有总结回顾那就是很失败的一件事情 所以就想写一写自己的读后感 我自己看得是B站的视频 这是西安电子科技大学的任老
  • 第七天 树莓派+计算棒配置过程

    一 xff1a 安装过程参考 xff1a https blog csdn net qqqzmy article details 85213414 1 材料硬件 树莓派3B 43 intel movidius 神经元计算棒2代显示器 鼠标键盘
  • Docker镜像推送(push)到Docker Hub

    镜像构建成功后 xff0c 只要有docker环境就可以使用 xff0c 但必须将镜像推送到Docker Hub上去 我们之前创建的镜像不符合Docker Hub的tag要求 xff0c 因为 在Docker Hub注册的用户名是boony
  • Altera FPGA 远程更新

    文章目录 1 概述2 如何生成factory jic xff1f 3 如何使用ASMI IP4 如何使用Remote updata IP xff1f 5 UART命令 以下内容均参考自官方手册 手册下载地址 xff1a ug altremo
  • 将ros的深度图像 转换成 opencv的图像 并求距离

    将ros的图像 转换成 opencv的图像并求距离 参考的博客概念将ROS图像消息转换为OpenCV图像示例计算距离 参考的博客 ROS学习笔记47 xff08 ROS图像和OpenCV图像之间的转换 xff08 C 43 43 xff09
  • ROS入门总结(二):Python定义发布器Publisher与订阅器Subscriber

    节点ROS通信系统中就是一个可执行的程序 xff0c 这边博客主要记录如何在Python代码节点中定义发布器和订阅器 发布器 xff1a import rospy from std msgs msg import String 载入Stri
  • 计算机视觉中的传统特征提取方法总结(转载)

    前言 本文对计算机视觉传统方法中的一些特征提取方法进行了总结 xff0c 主要包括有 xff1a SIFT 尺度不变特征变换 HOG 方向梯度直方图 SURF ORB LBP HAAR 目录 1 SIFT xff08 尺度不变特征变换 xf
  • docker源码分析(1)(持续更新)

    docker源码分析 xff08 1 xff09 xff08 持续更新 xff09 daemondocker DaemonClient的启动内部函数分析newAPIServerConfigloadListenersinitContainer
  • JS实现图片切割

    lt DOCTYPE html gt lt html lang 61 34 en 34 gt lt head gt lt meta charset 61 34 UTF 8 34 gt lt title gt Title lt title g
  • GPS、RTK、PPK三种定位技术的原理及应用

    一 GPS技术 1 原理 之前做过集成GPS功能的产品 xff0c 对这种不以定位为主要功能的产品 xff0c 精度是没有要求的 xff0c 例如我只是用它来得到当前社区的位置 xff0c 一般的GPS模块都能满足要求 理论上 xff0c

随机推荐

  • 【STM32】RS485 Modbus协议 采集传感器数据

    源码链接 xff1a Modbus传感器采集协议 一 硬件 1 传感器 xff1a 为液压传感器 xff0c 12vDC xff0c RS485数据输出 xff0c 采用Modbus协议通信 2 电路 xff1a 根据传感器属性 xff0c
  • 【FPGA】QuartusII13.0全编译Error (119013): Current license file does not support the EP4CE10F17C8 device

    Quartuls II全编译时 xff0c 出现如下错误 网上很多人说找到32位的exe可以编译成功 xff0c 但是凭啥64位的就不行了 xff1f 而且我32位的也不行 这种情况就是没破解好 xff0c 但Licence Setup 显
  • 【FPGA】QuartusII13.0实现组合逻辑 3/8 译码器

    3 8译码器一般用于资源扩展 xff0c 如驱动led阵列时 xff0c 即使是FPGA xff0c IO资源也明显不足 xff0c 借此可以扩展出更多的IO口 xff0c 通过实现 3 8译码器 xff0c 记录一下FPGA开发的基本步骤
  • SIFT3D(3D尺度不变特征变换)算法

    转载自医学图像处理案例 xff08 十 xff09 SIFT3D xff08 3D尺度不变特征变换 xff09 算法 腾讯云开发者社区 腾讯云 一 SIFT3D算子 上述SIFT算子用于二维图像关键点检测 xff0c 医学影像一般都是三维图
  • 【Qt】opencv源码&官方编译好的opencv在windows下使用的区别

    之前用过很多次OpenCV xff0c 但是感觉每次情况都不一样 xff0c 看了之前的文章 QT 搭载OpenCV实现简单的图像处理 xff0c 用的是官方编译好的OpenCV 43 msvc2017 43 Qt Creator xff0
  • 【Pixhawk】Ubuntu下编译原生固件PX4

    环境 xff1a 编译主机 xff1a Ubuntu 20 0 4 xff08 官方推荐18 0 4 xff09 源码版本 xff1a PX4 1 12 0 xff08 目前最新 xff0c 截至2021 7 22 xff09 建议 尽量以
  • 【Pixhawk】PX4源码控制逻辑详解(以UGV小车为例)

    PX4启动流程 主体控制逻辑 commander xff1a 飞行模式控制stickmapper xff1a 摇杆映射position estimator xff1a 从GPS获得的位置估计navigator xff1a 读取航点 xff0
  • 【Pixhawk】PX4添加麦克纳姆轮车架

    PX4中提供了很多机架 xff0c 但要开发PX4不支持的机架类型 xff0c 需要我们自定义 比如麦克纳姆轮 1 在ROMFS px4fmu common init d airframes 下添加 hil机架文件 参考其他 命名为7000
  • 【BMS】锂电池充放电倍率C

    1 1C表示电池一小时完全充放电时电流强度 那这个电流强度是多少呢 xff1f 不同电芯肯定不一样 xff0c 要参考它的电池容量 xff08 Ah或者mAh xff09 下面是一节18650电池的容量参数 xff1a 它的标称容量是255
  • 【BMS】电池包低温加热技术

    1 目的 xff1a 提高锂电池低温充放电性能 xff08 如电动车在寒冷天气续航变短 启动困难 充电难以充满等一些列问题 xff09 2 分类 2 1 外部加热 2 1 1 电热元件加热 电热原件加热为最常见的低温加热方式 xff0c 主
  • 【BMS】电池能量管理:充电管理

    x1f50b 电池包能量管理 xff1a 充电管理 x1f50b 一 通信 充电是一个过程 xff0c 需要电池包和充电器间进行频繁的通信 xff0c 以保证电池安全和寿命 由于通信速率要求不高 xff0c 以及精简接口的考虑 xff0c
  • 【QT】QByteArray的使用

    1 QByteArray可以用来存储原始二进制字节和8 bits字符 xff0c 一般在需要传输原始数据和内存资源短缺时使用 xff08 嵌入式linux Qt xff09 2 QByteArray存储的是char型字符 xff0c 继承自
  • 【工具】搭建TCP公网服务器(用于日常调试)

    1 Openluat TCP Lab xff1a xff08 1 xff09 在MCU上调试GPRS等模块时 xff0c 为了验证和平台TCP通信是否顺畅 xff0c 很多时候需要一个公网的IP环境作为服务器 xff0c 能够直接和GPRS
  • 9.patroni中文手册—Using Patroni with Kubernetes

    9 Using Patroni with Kubernetes Patroni可以使用Kubernetes对象来存储集群的状态并管理领导者密钥 这样一来 它就可以在Kubernetes环境中操作PostgreSQL 而无需任何一致性存储 也
  • PX4飞控学习(一)

    一 linux下环境搭建 用户需要 dialout 组 来访问usb cat gt span class hljs variable HOME span rule tmp lt lt EOF span class hljs comment
  • 阿里云-轻量应用服务器-Ubuntu-图形界面-xfce-VNC远程连接

    1 在阿里云上申请一个 轻量应用服务器 阿里云 xff1a https www aliyun com 配置选好 系统选Ubuntu xff0c 下单付款 然后就去管理控制台 我当初是选了CentOS 但想着想着又把系统换回Ubuntu了 x
  • 进程管理常见系统调用

    进程管理常见系统调用 1 前言2 如何提供有许多CPU的假象 xff1f 2 1 操作系统是管理多个进程执行的软件 3 操作系统提供哪些系统调用API 3 1创建 xff08 fork xff09 3 2 直面fork3 3 execve系
  • JAVA内存模型和Volatile底层实现

    今天学习了java内存模型和volatile关键字的底层实现 xff0c 所以在这里总结一下 xff0c 以后可以时常的来进行学习 这块内容相当于学习java并发编程的基础和入门 学习并发编程首先要掌握的是java的内存模型 1 CPU的多
  • 程序员的第一课:写程序的本质

    现在进入软件行业的人越来越多 xff0c 程序员的水平参差不齐 xff0c 有很了不起的 xff0c 想要改变这个世界的 也有划水的 xff0c 混日子的 那么程序员应该怎样树立自己的程序员观呢 如果从大学开始算起的话 xff0c 我写程序
  • Docker与ROS分布式通信

    主机 xff1a docker镜像文件 从机 xff1a 本电脑 一 设置IP地址 1 确定ROS多机系统均处于同一网络 docker run it p 11311 11311 容器名 bin bash 进入容器 主机 xff1a 输入if