这里主要是介绍一下ros学习过程中,遇到设备端和PC端的ros版本不一致的情况下,如何搭建环境才可以通信。
一、设备端(kinetic)
设备端ros环境搭建好后,需要跟PC连接到同一个局域网下,这里连接同一个wifi热点,将PC端的ip和hostname写到设备端的/etc/hosts中,比如:
172.168.21.251 daniel-VirtualBox
因为我们打算将设备端设置成主机模式的,所以设备端的~/.bashrc不做改动。
二、PC端(Melodic)
由于我们使用的是虚拟机VBOX,所以这里我网络模式需要改为桥接模式,确保ip跟设备端处于同一个网段,主要设置如下图:
保存后直接重启虚拟机。
打开一个终端,先设置一下/etc/hosts文件,添加设备端的ip和hostname
172.168.20.213 rk356x_robot
然后可以通过命令互相ping通了:
在PC端上 ping rk356x_robot
在设备端上 ping daniel-VirtualBox
下一步修改PC端的~/.bashrc,这里我们把设备端作为主机,PC端作为从机来调试
保存后,source ~/.bashrc
三、调试
在设备端运行roscore,并运行一个测试程序:
source opt/ros/kinetic/setup.sh
rosrun beginner_tutorials talker
然后我们可以再PC端看到该talker节点:
到此,通信成功!