ROS基础
五、分布式通信
ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合。
1、配置IP与环境
两台机子连接同一网络,利用指令查看各自的ip,wlan0 的inet addr 后就是 IP 地址。
ifconfig
再查看各自的计算机名称
hostname
打开/etc/hosts文件分别输入对方的IP与计算机名
sudo gedit /etc/hosts
本人的配置:
(注意两台机子交叉输入对方的信息)
192.168.52.47 frany-PF4WN2F
192.168.52.83 ltstl308-desktop
配置完毕后分别在两台机子上ping测试底层网络通信是否成功
ping frany-PF4WN2F
ping ltstl308-desktop
如网络畅通,则底层网络通信无误。
在从机中打开.bashrc文件设置对方的ROS_MASTER_URI
sudo gedit ~/.bashrc
export ROS_MASTER_URI=http://ltstl308-desktop:11311
其中ROS Master的默认端口号为11311。
2、小乌龟测试
在主机中运行小乌龟仿真器
roscore
rosrun turtlesim turtlesim_node
在从机中查看话题列表
rostopic list
会看见:
/rosout
/rosout_agg
/turtle1/cmd_vel
/turtle1/color_sensor
/turtle1/pose
然后发布小乌龟运动控制消息:
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
就可看见主机的小乌龟圆周运动。