代码编织梦想

主机: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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33116259/article/details/124705246

人工智能与大数据时代-2019_人工智能与大数据时代的博客-爱代码爱编程

20191230 EISS-2019上海站PPT | 周思佳/华泰证券安全专家(公民个人信息保护) EISS-2019上海站PPT | 马一烈/某知名运动生活品牌CISO APAC(浅谈网络安全态势感知)   20191228 2019上半年安卓系统安全性生态环境研究报告 2020年安全信息和事件管理(SIEM)买家指南 2019-2021年

人工智能与大数据时代-2020-爱代码爱编程

​20200524 2020 新基建、新动能5G车路协同白皮书 2020 能源石化交易行业区块链应用白皮书 2020中国智慧文旅5G应用白皮书 自动驾驶仿真技术研究报告 中国独角兽企业发展白皮书 “新基建”专题研究报告 数字体验经济发展白皮书 中国联通 5G 通用模组白皮书   20200523 华为影业:如果世界没有路? 2020

DockerHub上最受欢迎的151个官方镜像,相传掌握第17个可以主宰宇宙!-爱代码爱编程

上周闲得无聊逛了逛dockerhub上的镜像,发现好多东西自己都不认识,深感自己将被时代遗弃,遂将这些镜像包挨个百度了个遍,将他们的简介摘录下来,日夜苦读,以便日后出去和人吹牛逼。 大部分简介都是直接百度百科上复制下来的,后面的一些中文资料比较少,直接用谷歌翻译的DockerImage的简介,主要就是为了大体明白一些东西都是干啥的,具体细节莫要在意。

self_drive car_学习笔记--第2课:软件环境基础(ROS、CMake)-爱代码爱编程

背景:自动驾驶知识比较缺乏,所以需要一个基本学习 环境:Ubuntu16.04 ROS-kinetic vscode 前言:本文的编程部分,假设ROS-kinetic,vscode等相关的依赖或者运行环境都已经配置成功而展开的 概要:围绕ROS的基本操作以及使用展开,重点推荐node编写 01 ROS系统概述 1.1什么叫ROS? –ROS:The

ROS分布式多机通信(结合Docker跨容器主从通信)-爱代码爱编程

ROS分布式多机通信(结合Docker跨容器主从通信) 写在前文 由于在我们使用ROS进行机器人开发的时候,比如,调试机器车或者机器人,硬件资源有限或者不能直接进行开发、计算的时候,我们常常会进行主从机配置。在ROS1中有Master的概念,节点可以运行在不同的计算平台上,但是ROS1中只允许存在一个Master ,在多机系统中Master只能运行在一

【深度好文】MicroROS on RT-Thread-爱代码爱编程

文章较长,建议同步加入收藏夹 点击可回看作者简介 ROS 简介 最初 2007 年左右,斯坦福机器人实验室的两个博士生,Eric Berger 和 Keenan Wyrobek 发现身边的同学们对机器人开发有一种望而却步的感觉。因为机器人本身是一个跨专业的学科,做软件的同学们不太了解机械结构,不熟悉机器人的设计装配流程;做算法的同学们又

Docker容器间网络通讯-爱代码爱编程

安装Docker yum install -y docker systemctl enable docker systemctl start docker 使用docker -v即可查看当前的docker的版本 Docker version 1.13.1, build 7d71120/1.13.1 容器间通讯 由于是分布式环境,各个服务之间是需

终于有人把ROS机器人操作系统讲明白了-爱代码爱编程

导读:机器人是多专业知识交叉的学科,通常涉及传感器、驱动程序、多机通信、机械结构、算法等,为了更高效地进行机器人的研究和开发,选择一个通用的开发框架非常必要,ROS(Robot Operating System,机器人操作系统)就是流行的框架之一。 本文将带领大家了解和使用ROS,掌握ROS的核心概念,为后续学习打好基础。 作者:张虎