目录
1.查看IP地址
2.分别给两台电脑设置静态IP
3.修改.bashrc
4.测试
5.不同版本ROS通讯
今天学习使用一下ros的主从机通讯功能。
本人使用一台pc机上的虚拟机ubuntu16.04的ros kinetic和rk3328开发板上ubuntu16.04 ros kinetic学习并完成主从机通讯实验。
1.查看IP地址
PC机如下图(已经查看了ip):
计算机名:zhitong
IP地址:192.168.191.4
rk3328开发板如下图(通过vnc软件打开,已经查看ip地址):
计算机名:firefly
IP地址:192.168.191.2
2.分别给两台电脑设置静态IP
这一节看这里:ubuntu 16.04配置固定IP地址
3.修改.bashrc
gedit ~/.bashrc
两台ros主机都要修改,需要在末尾添加几行代码。
主机:
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=主机IP
如下图:
从机:
export ROS_MASTER_URI=http://主机IP:11311
export ROS_HOSTNAME=从机IP
如下图:
4.测试
主机:
roscore
rosrun turtlesim turtlesim_node
如下图:
从机:
rosrun turtlesim turtle_teleop_key
如下图所示,可以看到我用从机的turtle_teleop_key工具控制了主机上小乌龟运动。
成功!
5.不同版本ROS通讯
修改hosts文件添加本地DNS主机IP解析:
sudo gedit /etc/hosts
添加IP和主机名,主机需要添加自己和所有ROS从机IP和设备信息,从机只需要添加自身和主机IP和设备信息即可。如下图:
hosts文件配置之后,需要配置.basrrc文件。在不同的ROS版本间通讯时,需要修改rk3328文件夹位置位root文件夹下的.bashrc文件。
打开.bashrc文件:
sudo gedit ~/.bashrc
添加如下内容:
Master: export ROS_HOSTNAME=主机名称
Slaver: export ROS_HOSTNAME=客机名称
export ROS_MASTER_URI=http://主机名称:11311
更改之后记得source生效,如下图:
标签:通讯,IP,IP地址,如下,从机,主机,ROS,主从 From: https://blog.51cto.com/u_15882586/5869364