ROS1教程 5:ROS1通信机制简介
经过前面章节的学习,我们算是买入了ROS1学习的大门,从这一节开始,我们将用连续的几节详细的介绍
ROS1
中的通信机制
1. ROS1通信机制介绍
机器人是一种高度复杂的系统性实现,在机器人上可能集成各种传感器(雷达、摄像头、GPS
……)以及运动控制(直流电机、舵机……)实现。为了解耦合,在ROS1
中每一个功能点都是一个单独的进程,每一个进程都是独立运行的。
更确切的讲,ROS1
是进程(也称为Nodes
)的分布式框架。 因为这些进程还可分布于不同主机,不同主机协同工作,从而分散计算压力。不过随之也有一个问题: 不同的进程是如何通信的?也即不同进程间如何实现数据交换的?因此,我们就需要介绍一下ROS1
中的通信机制了。
ROS1
中的基本通信机制主要有如下三种实现策略:
- 话题通信:发布订阅模式
- 服务通信:请求响应模式
- 参数服务器:参数共享模式
我们接下来的几个教程,的主要内容就是是介绍各个通信机制的应用场景、理论模型、代码实现以及相关操作命令。预期达成学习目标如下:
- 能够熟练介绍ROS1中常用的通信机制
- 能够理解ROS1中每种通信机制的理论模型
- 能够以代码的方式实现各种通信机制对应的案例
- 能够熟练使用ROS1中的一些操作命令
- 能够独立完成相关实操案例
2. 案例
最终,通过后续几个章节的学习,我们将实现下述案例:
2.1 话题通信
通过话题通信,控制小乌龟做圆周运动
通过话题通信,获取乌龟位姿
2.2 服务通信
通过服务通信,在指定位置生成乌龟
2.3 参数服务器
改变乌龟窗口的背景颜色