首先,致谢易科(ExBot)和ROSWiki中文社区。
重要参考文献:
Running ROS across multiple machines
http://wiki.ros.org/ROS/Tutorials/MultipleMachines
ARM端和PC端ROS通讯
http://www.roswiki.com/read.php?tid=312&fid=9
首先,配置主PC机(master):
修改IP地址等,
$ hostname //可以查看主机名
$ hostname rosxx //临时修改主机名
$ sudo gedit /etc/hosts
在文件中添加PC(listener)地址,如:
192.168.3.201 ros1 //pc1 hostname
192.168.3.202 ros2 //pc2 hostname
具体如下图所示:
然后,修改bashrc
$ gedit ~/.bashrc
在最下端添加:
export ROS_HOSTNAME=RelayBot-CSLG
export ROS_MASTER_URI=http://192.168.3.200:11311
如下图所示:
添加完成后,注销重新登陆一下。
PC-ros1:
ros1类似,具体如下图所示:
PC-ros2:
在ros2配置与ros1类似,不详细上图,配置完成后。
在主PC启动roscore,然后启动openni2,在ros2下,启动rqt_image_view,就可以看到camera视频,
如下图所示。
在主PC或ros1,ros2都可以用rostopic list。
ros2笔记本上有usb摄像头,这里注意格式mjpeg还是yuyv等,在ros2启动usb_cam
在主PC可以看到,如下图所示的结果:
也可以由主机启动节点,控制ros1,ros2的Arduino底盘运动等,这里需要注意所有PC上的node不能重名,
可以远程键盘控制小车运动等。