ROS 1.0 通信机制

ROS作为一层基于Linux的操作系统,和严格意义上的操作系统不太一样。ROS没有线程的概念,自然也没有线程同步等复杂问题需要去考虑,当然那这也是ROS这个东西设计的初衷,简化机器人工程师在计算机相关知识的学习成本。

但是,如果具备操作系统的基础知识,学习起来ROS还是比较容易的。

为了解耦合,在ROS中每一个功能点都是一个单独的进程,每一个进程都是独立运行的。但是开发者并不需要自己去考虑进程同步的问题,使用起来比真正的操作系统更容易,这也是ROS快速普及的一个原因。

ROS通过多节点(多进程,多任务)配合实现机器人的功能。更猛的是,这些节点可以在不同的PC上分散运行。虽说不需要开发者考虑进程同步的问题了,但是还是要去考虑进程之间通信的问题,不过ROS也做了封装,比真正的操作系统的进程通信还是要容易不少。

ROS 中的基本通信机制主要有如下三种实现策略:

  • Topics(发布订阅模式)

  • Services(请求响应模式)

  • Parameter Server(参数共享模式)

  • Action

进程同步问题不需要过多考虑,但是进程通信还是要考虑的,

Last updated