首先确定一下主机与从机的ip地址(非常重要)
在这次实验中,主机是一台Ubuntu20.04.03系统的台式机,我们间通过这台准备来远程遥控树莓派上的ros1系统,它的ip地址是192.168.230.181
从机是一台搭载Ubuntu20.04桌面版+ros1的树莓派4B的只智能小车,它的ip地址是192.168.230.37(搭载方式见树莓派4B+ubuntu20.04+ros1桌面配置(一)-CSDN博客)
接下来通过SSH用主机的设备访问从机
(具体操作见树莓派4B+ubuntu20.04+ros1桌面配置(一)-CSDN博客)
在从机输入
roscore
在主机打开对应从机的rviz
在主机新建一个端口(1)
该端口(1)下输入
export ROS_HOSTNAME=192.168.230.181 (此处的ip是主机ip)
export ROS_MASTER_URI=http://192.168.230.37:11311(此处的ip是已经打开的roscore的从机的ip,注意端口号都是11311)
在主机端打开一个终端输入rviz
该端口(1)下输入rviz
既可以打开对应ip的从机的rviz可视化界面!
而且在主机上访问从机的ros 节点也是基于这种方式
比如说访问小海龟,(如何确定打开的是从机的小海龟呢,因为我主机没有打开roscore窗口,所以这只小乌龟并不是主机ros的)
打开多个从机的ros节点
由此可以推出,打开同一个个局域网下的多个ros的通讯都是可以利用这种方式的!
实验了一下发现一个终端对应一个从机
在原来的基础上我又增加了一个从机该从机ip地址是192.168.230.242
同样是基于SSH通过主机访问该从机
在该从机端口下也输入roscore
在主机端新建一个端口(2),输入
export ROS_MASTER_URI=http://192.168.230.242:11311(该从机的ip地址)
此时在端口(2)下输入rviz 就可以打开对应从机的rviz
从机(1) 从机(2)
如下图打开两个从机的rviz