ROS实现多机通信
以ROS中乌龟的例子讲述ROS多机通信的过程
主机
- 使用
ifconfig
查看本机的ip
,如:10.161.223.107 - 在开启一个终端,输入下列命令:
export ROS_IP=10.161.223.107 # 主机 IP
export ROS_MASTER_URI=//10.161.223.107:11311/
rosrun turtlesim turtlesim_node __name:=my_turtle
主机配置完成
从机
- 开启一个终端,输入下面命令:
export ROS_IP=10.161.223.107 # 从机 IP
export ROS_MASTER_URI=http://10.161.223.107:11311/
- 检查链接是否正常通信:
rosnode ping my_turtle
- 从机控制主机乌龟运动:
rosrun turtlesim turtle_teleop_key
可能的问题
如果上述操作步骤不能实现从机控制主机乌龟的话或者出现无法通信等问题,在从机中使用ROS_HOSTNAME
替换 ROS_IP
,或者注释~/.bashrc
中ROS_HOSTNAME
.