官方教程:http://wiki.ros.org/cn/ROS/Tutorials/MultipleMachines
·······························································································································
最近在华为的边缘计算设备Atlas 200DK上跑包,由于Atlas的USB口是一个从设备,无法识别插入的USB设备,所以需要在主机上发布图像节点,然后从机Atlas订阅图像节点,并发布节点返回到主机中使用rviz查看
具体操作如下
1.查看IP地址
在主机中通过ifconfig
查看IP地址
enp0s20f0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.223 netmask 255.0.0.0 broadcast 192.255.255.255
inet6 fe80::7876:dcff:fe7e:c227 prefixlen 64 scopeid 0x20<link>
ether 7a:76:dc:7e:c2:27 txqueuelen 1000 (Ethernet)
RX packets 496196 bytes 33137805 (33.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6767963 bytes 10060518050 (10.0 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
这里我是通过网线连接的,不同连接方式看不同端口的IP,一般WIFI为wlo1
,USB虚拟网卡为enp0s20f0u1
,网口网卡为eno1
获得主机IP为192.168.1.223
在从机中通过相同的方法获得从机IP为192.168.1.2
2.启动roscore
在主机/从机启动roscore
这里以在主机启动为例
export ROS_MASTER_URI=http://192.168.1.223:11311 # roscore 运行设备的ip
roscore
3.主机分享图像节点
在主机中要运行节点的终端输入
export ROS_HOSTNAME=192.168.1.223 #主机IP
export ROS_MASTER_URI=http://192.168.1.223:11311
运行节点/launch,例
roslaunch realsense2_camera rs_camera.launch
4.从机订阅图像节点
export ROS_MASTER_URI=http://192.168.1.223:11311 # roscore 运行设备的ip
可以通过rostopic ehco
一个节点看是否成功
5.从机订阅主机节点,再发布会给主机
export ROS_HOSTNAME=192.168.1.2 #从机IP
export ROS_MASTER_URI=http://192.168.1.223:11311
运行节点/launch
在主机新开一个终端查看是否有新节点的输出