ROS 1.0 通信机制
ROS作为一层基于Linux的操作系统,和严格意义上的操作系统不太一样。ROS没有线程的概念,自然也没有线程同步等复杂问题需要去考虑,当然那这也是ROS这个东西设计的初衷,简化机器人工程师在计算机相关知识的学习成本。
但是,如果具备操作系统的基础知识,学习起来ROS还是比较容易的。
为了解耦合,在ROS中每一个功能点都是一个单独的进程,每一个进程都是独立运行的。但是开发者并不需要自己去考虑进程同步的问题,使用起来比真正的操作系统更容易,这也是ROS快速普及的一个原因。
ROS通过多节点(多进程,多任务)配合实现机器人的功能。更猛的是,这些节点可以在不同的PC上分散运行。虽说不需要开发者考虑进程同步的问题了,但是还是要去考虑进程之间通信的问题,不过ROS也做了封装,比真正的操作系统的进程通信还是要容易不少。
ROS 中的基本通信机制主要有如下三种实现策略:
Topics(发布订阅模式)
Services(请求响应模式)
Parameter Server(参数共享模式)
Action
进程同步问题不需要过多考虑,但是进程通信还是要考虑的,
Last updated