参考博客地址为:
http://wiki.ros.org/cn/ROS/Tutorials/MultipleMachines
https://blog.csdn.net/heyijia0327/article/details/42065293
https://blog.csdn.net/zhuquan945/article/details/53079619
官网和白巧克力亦唯心博主大大已经写的很详细啦,我是想补充一点,因为我在执行export ROS_MASTER_URI=http://hostname:11311之后,运行rosrun my_image_transport my_publisher 0的时候,发现总是报找不到master的错。问了师兄才知道如果直接在终端你用export命令,则执行rosrun命令也要在同一个终端中,否则会失效找不到主机master无法发布消息。
所以比较稳妥的是在bashrc文件中修改,具体方法为:
打开bashrc文件。
gedit .bashrc
在最后一行添加:
export ROS_MASTER_URI=http://hostname:11311
重新source一下,不过最好重启电脑鸭!
source ~/.bashrc(或者 . ~/.bashrc)
source ~/catkin_ws/devel/setup.bash
然后就可以使用任意终端使用rosrun命令正常发布订阅消息啦~
另外需要注意,roscore需要在master主机上运行,从节点不需要运行,而这个master就是在上面的.bashrc文件中指定的。