ROS入门笔记(十三):分布式通信

ROS入门笔记(十三):分布式通信

ROS是一种分布式软件框架,节点之间通过松耦合的方式进行组合。

01 如何实现分布式多机通信

1.1 设置IP地址,确保底层链路的连通

步骤一,树莓派和电脑必须在同一个局域网

步骤二,输入ifconfig,查看两台计算机(ggk-pc,raspi2)的IP地址;

步骤三,IP地址分别设置在对方的hosts文件中,保存、退出;

$ sudo vi /etc/hosts

步骤四,在两台计算机上分别使用ping命令测试网络是否连通。

$ ping raspi2       #在ggk-pc电脑上 

$ ping ggk-pc       #在raspi2上

1.2 在从机端设置ROS_MASTER_URI,让从机找到ROS Master

ROS Master 只能在一台计算机上运行,在另外一台计算机上设置环境变量,找到ROS Master在哪运行;

在树莓派上

步骤一,启动终端,输入以下命令:

$ vi .bashrc

步骤二,拉到结尾,按小写字母o,不是零;

步骤三,在结尾输入以下命令,保存、退出即可;

ROS Master:默认端口号 11311

export ROS_MASTER_URI=http://hcx-pc:11311     #(当前终端有效)保存,退出

或者
echo"export ROS_MASTER_URI=http://hcx-pc:11311">>~/.bashrc     # (所有终端有效)保存、退出

02 实战操作

步骤一,主机端启动ROS Master与海龟仿真节点;

$ roscore
$ rosrun turtlesim turtlesim_node

步骤二,从机端发布一个速度控制消息;

$ rostopic pub -r 10 /turtlel/cmd_vel
geometry_msgs/Twist "linear:
x:0.5
y:0.0
z:0.0
angular: 
x:0.0
y:0.0
Z:0.5"
posted @ 2020-07-14 22:26  喵哥解说  阅读(1107)  评论(0编辑  收藏  举报