ROS 概念分为三个层次:
- 文件系统:硬盘中可见的ROS目录和文件。
- 计算图层:ROS在点对点网络里整合并处理数据的过程。
- 社区层:ros资源。
通俗的理解:
>文件系统说的是:ROS的文件是怎么组织安排
>计算图层说的是:ROS运行时,谁参与,处理数据的几种方式
>社区层说的是:与ROS相关的资源上哪下载,大佬ROS牛逼用法,ROS学术论坛,有问题上哪问
文件系统
包括:
- Packages:软件包,是一种特定的文件结构和文件夹的组合。
- Metapackages:元软件包,能够管理多个软件包。
- Package Manifests: 包清单,package.xml描述包的信息,例如包名,版本,包功能,许可证,依赖关系
- 消息类型:存储在msg文件夹中文件(.msg),定义messages传输的数据结构
- 服务:存储在srv文件夹中的文件(.srv), 定义请求和服务的数据结构
概念间的关系:
>元软件包包含:多个软件包 。
>软件包包含:包清单,msg文件夹srv文件夹
>软件包和元软件包都放于工作空间下。
计算机层次
- Node:节点, 实际上是ROS软件包中的一个可执行文件,是可执行程序的最小单位。
- Master: 节点管理器,管理节点。
- Parameter Server:参数服务器,节点管理器的重要组成部分,使得数据可以保存在一个集中的地方。
- Topics:话题,一种节点与节点间进行多对多,单向传输的数据通信方式,数据通过话题发布与订阅实现传送。
- Services:服务,一种节点与节点间进行一对一,交互式的数据通信方式,数据通过请求与服务实现传送。
- Bags:包,保存和回放ROS消息数据的文件格式。
ROS社区级别
Distributions:发行版,提供ros软件的
Repositories:仓库,机构开发和发布自用机器人软件
The ROS Wiki:论坛
Bug Ticket System:
Mailing Lists:ROS更新的主要沟通渠道
ROS Answers:问答网站
Blog: 博客