不同计算机之间的 ROS 通信

本文详细介绍了在ROS环境中实现多台计算机间通信的过程,包括时间同步、网络配置、环境变量设置及节点运行等步骤,确保了不同设备间的有效通信。

ROS的一个典型应用场景是:在机器人上安装一台笔记本或单板机,然后在桌面计算机上监视或控制机器人,这时就需要在机器人与桌面计算机之间进行通信。ROS使得多台机器观察同一套话题、服务和参数变得相当容易。

1. 使用 chrony 进行时间同步

ROS网络中的很多消息都带有时间戳,机器之间的时间同步往往很非常关键。一种使计算机保持同步状态的简单方法是在桌面计算机和机器人上同时安装 chrony 数据包。该数据包会保持计算机上的时钟与互联网服务器上的时钟一致,从而使得每台计算机的时间都同步。

安装 chrony

$ sudo apt install chrony

安装完成之后,chrony守护进程会自动启动并且开始让计算机与数台互联网服务器直接同步时间。

2. 使用 Zeroconf 进行 ROS 联网

Ubuntu 支持 Zeroconf技术,允许同一子网下的不同设备通过本地主机名而不是 IP 地址来连接彼此。

使用 hostname 命令来获取所使用设备的短名称,该命令会输出你在 Ubuntu 初始化设置时设置的主机名称。

$ hostname
my_desktop

假设桌面计算机的名称为 my_desktop,机器人的名称为 my_robot。则对应的 Zeroconf名称分别为 my_desktop.localmy_robot.local

3. 测试连通性

使用ping命令来确保两台电脑之间基本的连通性。

(1)在桌面计算机上 ping 机器人

$ ping my_robot.local
PING my_robot.local (192.168.1.7) 56(84) bytes of data.
64 bytes from my_robot (192.168.1.7)
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值