试了其他人的许多方法,一直都是能读到主机的目录,但连主机的小乌龟都无法控制,后来经过多次测试发现自己之前的理解是有很大偏差的。
- 对于主机来说,修改.bashrc文件,添加以下:
export ROS_HOSTNAME=192.168.0.122(本机ip)
export ROS_MASTER_URI=http://192.168.0.122:11311
ROS_HOSTNAME后面填写的ip,就是在本机上roscore打开主机的地址
ROS_HOSTNAME和ROS_IP作用基本一样,不过如果同时设置ROS_HOSTNAME优先级高
ROS_MASTER_URI是告诉节点在哪里定位master,这里定位主机地址
- 从机也只需修改.bashrc文件,添加:
#export ROS_HOSTNAME=192.168.0.×(从机本机ip)这行其实可以不填
export ROS_MASTER_URI=http://192.168.0.122:11311(注意里面依然是主机ip)
然后重新打开终端,正常通讯就可以了
- 测试一下
主机:
$ roscore
$ rosrun turtlesim turtlesim_node
从机:
$ rosrun turtlesim turtle_teleop_key
此时就能正常操控小乌龟了