入门ROS,第一步应该先看一遍ROS官网的 Getting Started页面,但后来发现,入门已久的我还得常来看这个页面。
这也不能怪草莓熊笨,因为越是基础的东西对上层知识点影响就越大,历久弥新,每每看到这些知识点,总能找到一些之前的盲点。
那么,无论你是否看过ROS的Getting Started页面,下面的这些基本知识点都值得你阅读一遍。我们一起来梳理一下ROS的基本概念。
ROS的主要概念包括节点、消息、话题、服务和master。这些概念是理解ROS框架的必备知识,下面开始敲黑板划重点。
节点(node)
官方定义:
”A node is a process that performs computation.”
节点是ROS中执行运算任务的进程,是ROS运行的基本单位。ROS进程与系统内其他进程本质没有区别,当你打开一个记事本、一个画图板的时候,都是开始了一个新进程,ROS节点也是如此,稍微有点区别的是ROS节点之间通讯很方便,不像记事本和画图板之间毫无联系。
一个系统一般可以拆分为多个模块,每个模块由单独的节点组成。节点的概念使得ROS程序设计更加清晰,也更加利于维护,多个节点在功能上相互配合,从而实现复杂的机器人控制。
消息(message)
官方定义:
”ROS data type used when subscribing or publishing to a topic.”
节点之间通信之所以方便,就是通过相互传递消息来实现通讯