【ROS小车2】_ROS多机通信

1、背景

  • 本ROS小车上的机载电脑为树莓派4B,在上面运行图形界面、使用rviz等图形软件会很占用树莓派的资源
  • 在运动的小车上放一套键盘、鼠标、显示器,使用起来也不方便
  • 在PC上运行rviz等软件比树莓派流畅
  • 优点总结如下:
       远程输入控制信息
       远程查看效果
       节约ROS主控资源

2、实现多机通信需要两步

① 多机通信需要所有的ROS主控都处于同一个网络下

所有ROS主控都处于同一个网络的方法很简单,让他们都连同一个网络就好了,有如下两种网络连接方案

 网络提供者ROS主机ROS从机1ROS从机2
方案1ROS主机发出WiFi连接WiFi连接WiFi
方案2第三方路由器连接WiFi连接WiFi连接WiFi

本ROS小车采用方案1,网络连接模型如下:

ROS小车开机会发射WiFi信号,使用宿主机连接ROS小车发射的WiFi即可,虚拟机设置为桥接模式

② 在.bashrc文件里设置多机通信的环境

ROS 主机的.bashrc文件:

export  ROS_MASTER_URI=http://192.168.0.100:11311
export  ROS_HOSTNAME=192.168.0.100

ROS 从机的.bashrc文件:

export  ROS_MASTER_URI=http://192.168.0.100:11311
export  ROS_HOSTNAME=192.168.0.140

注:
①ROS_MASTER_URI   ros主机的 IP 地址
②ROS_HOSTNAME    当前虚拟机的 IP 地址,需要查询本虚拟机 IP 地址后再来填写
③小车的IP已设置为静态IP
.bashrc文件里是没有这两句的,需要手动在文件尾添加这两句

3、注意事项

1、ros从机程序的运行依赖于ros主机的rosmaster(多机通信的时候,同样只需要一个rosmaster,这个rosmaster必须是由ros主机提供的)
2、ROS_MASTER_URI和ROS_HOSTNAME两个IP地址需要同网段,同网段是指IP地址的前三个数段相同
3、不建议使用localhost,建议使用具体的IP地址(指export ROS_HOSTNAME=192.168.0.140这句不要写成export ROS_HOSTNAME=hn,理论上可行,但具体操作会出bug)
4、从机的本机IP地址没设置对,依然可以访问到rosmaster,但不能输入控制信息
5、如果是虚拟机,网络模式需要设置为桥接模式
6、多机通信无法查看/订阅本地不存在的消息数据类型定义的话题

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值