ROS 多台电脑间进行通信

重要参考文献:

Running ROS across multiple machines

ARM端和PC端ROS通讯

?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

具体如下图所示:

ROS 多台电脑间进行通信

然后,修改bashrc

$ gedit ~/.bashrc

在最下端添加:

export ROS_HOSTNAME=RelayBot-CSLG
export ROS_MASTER_URI=http://192.168.3.200:11311

如下图所示:

ROS 多台电脑间进行通信

添加完成后,注销重新登陆一下。

PC-ros1:

ros1类似,具体如下图所示:

ROS 多台电脑间进行通信

ROS 多台电脑间进行通信

ROS 多台电脑间进行通信

PC-ros2:

ROS 多台电脑间进行通信

在ros2配置与ros1类似,不详细上图,配置完成后。

在主PC启动roscore,然后启动openni2,在ros2下,启动rqt_image_view,就可以看到camera视频,

如下图所示。

ROS 多台电脑间进行通信

在主PC或ros1,ros2都可以用rostopic list。

ros2笔记本上有usb摄像头,这里注意格式mjpeg还是yuyv等,在ros2启动usb_cam

在主PC可以看到,如下图所示的结果:

ROS 多台电脑间进行通信

也可以由主机启动节点,控制ros1,ros2的Arduino底盘运动等,这里需要注意所有PC上的node不能重名,

可以远程键盘控制小车运动等。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15019.html