ROS实现多机话题通信
两台Ubuntu系统(如台式机与机器人),通过网线连接,共享ROS节点。
一、准备工作
例如我的台式机Ubuntu作为电脑A,机器人机载电脑Ubuntu作为电脑B。
要实现多机通信,首先要求两台电脑连接同一个局域网(wifi或网线),然后分别打开终端查看对应的IP地址 ifconfig 。
注意如果电脑连接了多个网络,一定要确认两个系统共处的局域网的IP。例如:
1 | 电脑A IP |
二、ROS通讯
(1)检测通讯
测试能否通过IP实现通讯。
- 电脑A:
ping [ip_B] - 电脑B:
ping [ip_A]
(2)设置ROS_MASTER_URI
选择两台电脑的其中一台作为主机(例如台式机),设置对应的ROS master,从机上(例如机器人机载电脑)设置ROS_MASTER_URI。
打开两个电脑的.bashrc
1 | sudo gedit ~/.bashrc |
在主机上(电脑A)设置:
1 | export ROS_HOSTNAME=ip_A |
在从机上(电脑B)设置:
1 | export ROS_HOSTNAME=ip_B |
完成。
(3)测试
在主机上运行小乌龟仿真
1 | roscore |
在从机上运行键盘控制器,控制主机的小乌龟运动
1 | rosrun turtlesim turtle_teleop_key |
评论







