使用ROS连接两台电脑时,只能看到对方设备的IP,但是订阅不到ros消息

2023-11-04

ROS连接两台设备

利用Ros通信,两台电脑需要处于同一局域网下.

1、查看主机/从机 ip hostname

$ ifconfig           查看ip
如果电脑连接的时有线网,则显示结果中,etho 部分的 inet addr 后面就是该电脑的 IP 地址;

如果电脑连接的是无线,则 wlan0 部分的 inet addr 后就是 IP 地址。

$ cat /etc/hostname           查看hostname


2、修改hosts文件内容

$ sudo gedit /etc/hosts   注意hosts别打错了= =
A电脑(主机)

127.0.0.1     localhost
127.0.1.1     hostname_A

IP_A            hostname_A
IP_B            hostname_B

B电脑(从机)

127.0.0.1     localhost
127.0.1.1     hostname_B

IP_B            hostname_B
IP_A            hostname_A

3、修改bashrc文件内容

$ sudo gedit ~/.bashrc
在文件最后一行添加如下代码

A设备:

export ROS_MASTER_URI=http://hostname_A:11311

export ROS_HOSTNAME=hostname_A

B设备:

export ROS_MASTER_URI=http://hostname_A:11311

export ROS_HOSTNAME=hostname_B


4、测试

A:

$ roscore
$ rosrun turtlesim turtlesim_node

B:

$ rosrun turtlesim turtle_teleop_key
then, 就可以在从机B上用键盘控制主机A上小乌龟的移动啦
 

问题:

B设备上只能看见A设备的相关topic和node,但是无法通过ros通信

经过排查发现,由于之前A设备配置过ROS_MASTER_URI和ROS_HOSTNAME,用的都是localhost,单机时一点问题都没有,因为这个设备对应127.0.0.1,当多台设备是就使roscore挂载到了127的ip上,导致无法通信,所以应该挂载到真实局域网的ip上。

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

使用ROS连接两台电脑时,只能看到对方设备的IP,但是订阅不到ros消息 的相关文章

  • 二分类变量相关性分析spss_【2026.】RC列联表(分类数据)的统计分析方法选择与SPSS实现...

    关注本号后 回复软件名称 即可拿到软件下载链接哦 分类资料在医学统计中很常见 有些统计学书上称为计数资料 比如 有效 无效 发病 不发病 男 女 血型 A B O AB 等等 分类资料一般根据频数整理成列联表的形式 一般的列联表多是二维的
  • 软件开发常用结构

    一 三层架构 1 三层架构包含的三层 界面层 User Interface layer 业务逻辑层 Business Logic Layer 数据访问层 Data access layer 2 三层的职责 1 界面层 表示层 视图层 主要功
  • 多核处理器下的快速包处理软件架构FastGate

    FastGate主要的目标是帮助用户缩短研发周期 保护已有的代码 快速开发和灵活部署自己的业务 用户无需关注多核处理器的硬件细节 无需关注性能和扩展性 只需专注于自身功能模块的开发 然后通过和FastGate框架的无缝集成便可以快速形成自己

随机推荐

  • npm 淘宝镜像的安装

    npm 淘宝镜像的安装 方法一 使用阿里定制的cnpm命令行工具代替默认的npm 输入以下代码 npm install g cnpm registry https registry npm taobao org 检查是否安装成功 cnpm
  • 关于${ }的用法-Linux shell编程小记

    关于 的用法 Linux shell编程小记 1 替换 裁剪 在shell编程中 当遇到需要将某个字符串进行替换或者裁剪时 我们首先想到的是sed和awk 但是sed和awk的功能都太强大了 当只是简单的对某个字符串进行替换裁剪时 我们可以
  • visual-studio-code – 如何更改VS Code的文件排序?

    visual studio code 如何更改VS Code的文件排序 时间 2019 03 09 标签 visual studio code 栏目 Visual Studio 在我的项目中 我有文件标记为day1 txt day2 txt
  • 图像处理反向投影原理

    反向投影的作用是什么 反向投影用于在输入图像 通常较大 中查找特定图像 通常较小或者仅1个像素 称为模板图像 最匹配的点或者区域 也就是定位模板图像出现在输入图像的位置 直接看原文 https blog csdn net yee yj ar
  • 【PhpStorm】插件集

    安装翻译插件Translation 使用方法 点击你需要翻译的英文即可 插件2 CodeGlance 这个插件可以添加代码地图 插件3 ApiDebuggerApiDebugger 可以做沉浸式开发 插件4 代码特效插件Power Mode
  • 深入浅出:CAN通信之CCP协议

    CCP CAN Calibration Protocol CAN标定协议 用于标定系统与ECU之间的通信 CCP协议在应用层 使用CAN的数据帧来传输命令 CRO数据帧 主设备向从设备发送 CRO报文 CCP报文帧格式为CMD CTR DA
  • 未明学院:从国企联通到金融科技随手记,学长告诉你国企和互联网私企差别有多大?

    作者 W同学 未明学院学员 在未明学院完成课程的学习后 成功拿下上汽通用五菱汽车股份有限公司数据工程师offer和香港城市大学资讯ISM研究生offer 正文 首先自我介绍 我是四川大学信息管理与信息系统专业2017届本科毕业生 辅修了财务
  • CSS的基本使用

    CSS的基本使用一 1 CSS基本语法 CSS样式由选择器和一条或多条以分号隔开的样式声明组成 每条声明的样式包含着一份CSS属性和属性值 选择器名 属性 属性值 属性 属性值 div background color red 注意 css
  • 详解 http

    TCP IP 基础 在学习http之前 我们需要先了解一下TCP IP 网络基础 我们通常使用的网络 包括互联网 都是在TCP IP协议族的基础上运行的 而http则属于它内部的一个子集 TCP IP 分层 TCP IP 协议族按层次分 可
  • 前端Vue自定义加载loading组件 通过设置gif实现loading动画 可用于页面请求前loading

    前端Vue自定义加载loading组件 提高用户体验的关键 随着技术的发展 前端开发也变得越来越复杂 传统的一次性整体开发方式已经无法满足现代Web应用程序的需求 为了解决这个问题 我们引入了一种新的开发方式 组件化开发 组件化开发可以将一
  • 将编程上升为中小学主要学科课程,真的靠谱吗?

    近日 有人建议将 编程 上升为中小学主要学科课程 并列入 中高考升学考试体系 此话题瞬间引发广大家长及IT互联网圈内人士热议 褒贬不一 对此 我觉得网上的一种观点非常对 孩子们现阶段需要的是思想和素质教育 而不是单纯地通过某一类技工学科的学
  • 2023最新信息安全毕业设计题目选题大全

    0 简介 毕业季马上就要开始了 不少同学询问学长网安专业选题以及开题相关的问题 今天跟大家分享信息安全毕设选题 最新的信息安全 网络安全 专业毕设选题 难度适中 适合作为毕业设计 大家参考 学长整理的题目标准 相对容易 工作量达标 题目新颖
  • STM32CubeMX之RTC的使用

    本篇文章介绍STM32实时时钟 RTC 的使用方法 前期准备 STM32硬件电路板及仿真器 以STM32F407ZGT6单片机为例 Keil v5以上版本 MDK ARM 串口助手 实时时钟 RTC 是STM32单片机的标配 每个系列的都有
  • yolov5运行报错之RuntimeError: The size of tensor a (80) must match the size of tensor b (56) at.....

    错误 RuntimeError The size of tensor a 80 must match the size of tensor b 56 at non singleton dimension 3 如图 解决方法 https gi
  • idea登录github时出现Invalid authentication data. connect time out问题解决方法

    辛辛苦苦注册好GitHub 安装了git客户端 弄好ssh后 用IDEA登录GitHub账号 又出现问题了 好吧 一番搜查之下终于找到了解决办法 问题图如下 解决办法 file gt setting gt system settings去掉
  • Style 中的 ‘>>>‘ 与 ‘ /deep/(sass/less)‘介绍

    Vue style 深度作用选择器 这两个深度选择器的主要作用就行修改UI库中的默认样式 gt gt gt page gt gt gt van skeleton margin top 10px gt gt gt van skeleton t
  • 合理利用泛型擦除

    曾几何时 一直痛恨java的泛型擦除 为了适配老版的jdk java引入泛型的同时 引入了泛型擦除机制 导致想要获取类中的泛型 需要都个圈子 具体可以看我这篇博客 获取泛型的类 前不久使用Mybatis plus分页 但发现PO对象不满足接
  • Transformer《Attention Is All You Need》精读

    文章目录 1 研究背景 2 研究动机 3 模型结构 3 1编码器 3 2 解码器 3 3 Attention 3 4 Multi Head Attention 3 5 模型中Attention的应用 3 6 Position wise Fe
  • 计算机指令——从纸带说起

    前言 其实很多时候我都会感叹计算机的伟大 通过一个个电路就完成了如今各种系统 通过各种各样的语言就能够指挥设备完成不同的动作 当写下第一个hellow world的时候我就在想他什么怎么出现 今天搞明白其中的原理 我在这和大家分享 打孔卡
  • 使用ROS连接两台电脑时,只能看到对方设备的IP,但是订阅不到ros消息

    ROS连接两台设备 利用Ros通信 两台电脑需要处于同一局域网下 1 查看主机 从机 ip hostname ifconfig 查看ip 如果电脑连接的时有线网 则显示结果中 etho 部分的 inet addr 后面就是该电脑的 IP 地