ROS 如何用自己的电脑连接其他设备查看Rviz

Rviz的使用在ROS开发中是很常见的东西,有时候为了方便我们需要查看某台设备的一些数据,但是又没有一些直观的连接工具例如向日葵之类的(这些工具是要基于屏幕的,如果设备上没有屏幕是无法使用的)。那在只有ssh的情况下如何查看rviz呢?

正常情况下如果我直接在自己的电脑上直接开启rviz的话会显示这样:
ROS 如何用自己的电脑连接其他设备查看Rviz_第1张图片
这是由于目前我的rviz是开在我自己电脑上的,它需要一个ros master才能正常开启,要解决这个问题只要解决让它识别到一个局域网中的ros master并将其连接进去即可。方式也很简单,ROS是有自己的主从机机制的,它允许设备将自己当成主机也允许设备将自己当成从机。此时只要将设备配置成主机将电脑配置成从机即可。

首先使用ifconfig查看设备ip,例如我这里是172.16.3.52,则可以修改设备上的.bashrc文件,在最后面添加:

export ROS_MASTER_URI=http://172.16.3.52:11311
export ROS_IP=172.16.3.52

ROS 如何用自己的电脑连接其他设备查看Rviz_第2张图片
然后在自己电脑上查寻电脑的ip,例如我的为2.195,则需要在自己电脑上设置:

export ROS_MASTER_URI=http://172.16.3.52:11311
export ROS_IP=172.16.2.195

注意这里的ROS_MASTER_URI里面的地址是设备的IP,下面的ROS_IP是自己电脑的IP。

这时候在自己的电脑上打开rviz就可以正常启动并使用相关功能啦:
ROS 如何用自己的电脑连接其他设备查看Rviz_第3张图片
注意:

配置完主从机后,如果不使用的话需要将自己电脑上的主从机设置注释掉,要不然你会发现即使你在自己电脑上开了roscore也是打不开自己电脑上的节点的:
ROS 如何用自己的电脑连接其他设备查看Rviz_第4张图片这时候会发现节点并没有连接自己电脑的master还是在寻找ROS_MASTER_URI上设定的master,所以如果断开外部连接后这个更改最好是先注释掉。

你可能感兴趣的:(ROS,机器人)