您的位置:首页 > 其它

在多台PC上进行ROS通讯-学习笔记

2016-01-13 21:32 316 查看
首先,致谢易科(ExBot)ROSWiki中文社区

通过网页快速了解Linux(Ubuntu)和ROS机器人操作系统,请参考实验楼在线系统如下:
初级教程可参考:https://www.shiyanlou.com/courses/854 邀请码:U23ERF8H中级教程可参考:https://www.shiyanlou.com/courses/938 邀请码:U9SVZMKH

重要参考文献:
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不能重名,
可以远程键盘控制小车运动等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: