ROS 总结(一):ROS系统框架

一、总体结构

ROS的系统主要被分成了三部分:

  • 文件系统级(Filesystem)
  • 计算图级(Computation Graph)
  • 开源社区级(Community)

文件系统级:程序是如何组织和构建的,需要的核心文件
计算图级:描述程序是如何运行的,进程和系统之间如何通讯
开源社区级:程序的分布式管理方式,开发人员之间如何共享知识、算法和代码。

二、文件系统级

ROS系统的不同组件被放在不同的功能文件夹下。这些文件夹根据功能的不同来对文件进行组织:

这里写图片描述

功能包集(Stack):
是包的集合,将一些具有某种功能的包集合在一起。

功能包(Package):
ROS中的基本单元,用于创建ROS程序。包含节点、ROS依赖库、数据套、配置文件、第三方软件、或者任何其他逻辑构成。包的目标是提供一种易于使用的结构以便于软件的重复使用。总得来说,ROS的包短小精干。

功能包中一般包括:

  • 功能包清单
  • 消息(msg)
  • 服务(srv)
  • 描述文件
  • bring_up文件
  • URDF文件
  • 驱动文件
  • gazebo文件
    ……

三、计算图级

计算图是ROS处理数据的一种点对点的网络形式。ROS运行时会创建一个网络,就像工业总线一样,每一个节点都可以通过网络发布消息,也可以接受其他节点发布的消息。

主要包括节点(node)、消息(message)、主题(topic)、服务(service)等,还包括节点管理器(Master)、参数服务器(Parameter Server)、消息记录包(Bag)等。

节点
节点就是一些直接运算任务的进程。一般是一些cpp文件。

消息
节点之间是通过传送消息进行通讯的。

主题
相当于消息传递的总线。多对多的模式。

服务
节点之间直接一对一的通讯。

四、社区级

ROS的社区级概念是ROS网络上进行代码发布的一种表现形式。主要是用来分享软件和知识。

参考文献:

(1)、刘平杰等,ROS机器人程序设计,机械工业出版社,2019.09
(2)、http://wiki.ros.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值