赞
踩
目录
今天学习使用一下ros的主从机通讯功能。
本人使用一台pc机上的虚拟机ubuntu16.04的ros kinetic和rk3328开发板上ubuntu16.04 ros kinetic学习并完成主从机通讯实验。
PC机如下图(已经查看了ip):
计算机名:zhitong
IP地址:192.168.191.4
rk3328开发板如下图(通过vnc软件打开,已经查看ip地址):
计算机名:firefly
IP地址:192.168.191.2
这一节看这里:ubuntu 16.04配置固定IP地址
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
如下图:
主机:
- roscore
- rosrun turtlesim turtlesim_node
如下图:
从机:
rosrun turtlesim turtle_teleop_key
如下图所示,可以看到我用从机的turtle_teleop_key工具控制了主机上小乌龟运动。
成功!
修改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生效,如下图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。