1 介绍
先介绍节点和节点管理器。
ROS程序在运行时,ROS Master必须是启动状态。
因为ROS Master负责调度node节点,ROS程序在运行的时候,
首先任务就是在ROS Master进行注册,
然后通过ROS Master的调度来处理数据。
ROS是一个分布式的框架,加入你现在有多台机器人,
那么就可以把ROS Master作为总的数据处理中心,
不同机器人,也就是不同主机在启动的时候,
通过网络地址,直接在总的数据处理中心,也就是ROS Master主机进行进行注册。
2 方法
如上图所示:
(1)在同一个域网下(即保证机器人与机器人处于同一个网络下);
(2)设定了192.168.0.100为主机,192.168.0.101和192.168.0.102为从机,那么三台机器人任何一台启动的节点,都会和主机相通;
(3)同时主机也会将节点列表(就是当前有哪些节点)告知两台从机,实现通讯。
(4)在这个过程中,主机一定要确保是启动状态。
sudo gedit ~/.bashrc
export ROS_MASTER_URI = http://主机IP:11311
export ROS_HOSTNAME = 本机IP
source ~/.bashrc
3 特点
(1)从机与从机之间没有任何联系,只是从主机那里获得数据。
(2)主机不需要知道从机的地址,只是开发一个端口。
(3)从机通过主机的IP+端口,实现通讯。