ROS学习笔记(一)----ROS的框架

时间:2024-04-03 11:32:16

        ROS 一般分为三个层级,计算图级,文件系统级,社区级。

一,计算图级

        这一级主要包括四个重要概念,节点(node),消息(message),主题(topic),服务(service)。

(1)节点

        节点是一些执行运算人物的进程。在ROS下,通过节点与节点来进行通信。

(2)消息

        节点之间通过传送消息进行通信,每一个消息都是一个严格的数据结构,通过该数据结构来订阅和发布主题。

(3)主题

       消息以发布/订阅的方式传递,一个节点可以在一个给定的主题中发布消息,也可以针对某个主题订阅特定的消息。可以同时多个节点发布活订阅某个主题的消息。

(4)服务

        服务用一个字符串和一对严格规范的消息定义:一个用于请求,一个用于回应。

        除此之外,还有一个控制器(ROS Master)的概念,控制器负责控制所有的节点使其正常有序运作。ROS的控制器为ROS的节点存储了主题和服务的注册信息,节点与控制器进行通信从而报告它们的注册信息,当这些节点需要与其他节点进行通信时,便直接从控制器上获取其他节点的信息并与之建立联系即可。

二,文件系统级

        ROS中有无数的节点,消息,服务,工具和库文件,需要有效的结构去管理这些代码,在ROS的文件系统级,有如下几个重要的概念,包(package)和堆栈(stack)。

(1)包

        ROS的软件以包的方式组织起来,包包含节点,ROS依赖库,数据库,配置文件,第三方软件以及其他的一些逻辑构成。

(2)堆栈

        堆栈是包的集合,它提供一个完整的功能。

三,社区级。

        ROS的社区级概念是ROS网络上进行代码发布的一种表现形式,结构如下所示:

ROS学习笔记(一)----ROS的框架


总体来说,ROS是一种分布式框架,正是因为这种分布式的结构,使得ROS迅速发展,软件库中包的数量指数级增加,