01-ROS入门-03 ROS系统架构

1.ROS文件系统级

1.1 文件系统组成

文件系统级是指ROS内部的文件结构组成,包括各文件夹、核心文件、代码等。主要有功能包、消息、服务、清单、代码等组成。

1.2 功能包(package)

功能包是一组实现特定功能的文件集合
功能包是程序运行的基础载体
通过功能包清单管理功能包

1.3 功能包集(stack)

功能包集是多个功能包的组合用于实现特定应用--ex.导航功能包集

1.4 消息(message)

程序与程序间的通话方式
通过msg文件设定消息类型
消息的传递是多对象可拆分的,类似短信机制,通信过程中可以选择多个对象。

1.5 服务(service)

程序与程序间的另一种通话方式
通过srv文件设定信息类型
服务的传递是单对象排他的,类似于电话机制,通信过程中只有两个通话者。

1.6 代码(code)

系统中最小的程序单元,实现最基本的信息流动。

2.ROS计算图级

2.1 计算图集组成

计算图集是ROS运行过程中后台的通信网络
网络描绘抽象出的信息单元、功能单元的连接
包括节点、消息、主题、服务、节点管理器、参数服务器、消息记录包

2.2 节点(node)

节点是基本的计算执行进程
实现一个或多个功能
用于与其他节点交互
使用c++或python编写

2.3 节点管理器(master)

用于节点的名称注册和查找,是实现网络的必要步骤
roscore命令加载节点管理器及其他核心组件

2.4 参数服务器(parameter server)

将数据通过关键词存储在系统中
通过参数可在运行时配置节点或改变节点任务

2.5 消息(message)

节点通过消息完成沟通

2.6 主题(topic)

ROS网络对消息管理的数据总线。
主题名称必须唯一
主题的订阅和发布者之间是非耦合,只通过主题桥接,不直接影响
主题类似微博话题,消息类似微博正文,订阅和发布节点类似话题发起者和关注者
一个发起者发布不同话题,一各关注者可以专注不同话题。
关注者可以是话题的发起者。

2.7 服务(service)

服务是私人的通信,用于单对单的请求与应答
只有当请求应答启动时,服务生效
服务类似电话,只有主叫与被叫连线时,通话才能进行。通话内容不是公开广播的形式。

2.8 消息记录包(bag)

用于保存消息数据的文件格式,用于存储数据
可以进行信号的监测

3.ROS开源社区级

3.1 ros开源社区组成

ros开源社区主要用于维护各类ros资料,通过开源社区分享软件和知识

3.2 发行版

ros发行版是可独立安装的具备版本号的系列功能集。

3.3 软件源

ros分享开源代码与软件的主机服务,不同机构在软件源中发布各自的机器人软件与程序

3.4 ROS Wiki

Wiki是记录关于ROS系统信息的论坛,所有用户可以贡献自己的程序或编写教程

3.5 邮件列表

邮件列表是关于ROS的交流渠道,交流及问答。

你可能感兴趣的:(01-ROS入门-03 ROS系统架构)