ROS初探:(一)ROS架构
2024-08-24 09:13:03
一.ROS架构
ROS架构上分为三个层级:
- 计算图级(Computation Graph level):体现进程与系统的关系,描述系统怎么运行。
- 文件系统级(Filesystem level):组织构建程序文件。
- 社区级(Community level):开源社区,共享知识、算法和代码等。
1.1 计算图级
计算图级包含:节点、节点管理器、参数服务器、消息、服务、主题和消息记录包。
- 节点(node):主要的计算执行进程,可自行创建节点,加入网络。
- 节点管理器(master):是节点通信的基础,用于节点的注册、查找。
- 参数服务器(parameter server):属于节点管理器的一部分,将数据存放在系统关键位置,节点可以获取这些数据来配置、改变自己的状态。
- 消息(message):具有各种类型,节点间沟通传输的信息数据。
- 主题(topic):一类消息的集合,节点可以发布、订阅主题。发布者和订阅者之间相互解耦,不知对方的存在。
- 服务(service):区别于主题,服务用于节点直接向节点交互,获得请求或应答。
- 消息记录包(bag):保存回放消息数据的文件格式。
ROS创建一个网络(Computation Network)来进行计算,该网络连接了系统中的所有进程(节点),如下图所示:
1.2 文件系统级
功能包(package):一种特定结构的文件、文件夹的组合。ROS中各种软件的组织方式,包含节点、配置文件、ROS依赖库、第三方软件及其它任何逻辑构成。
元功能包(Metapackage):只有一个文件(package.xml)的特殊包,将多个具有某些功能的包组织在一起形成逻辑包。
1.3 社区级
开源社区级,通过独立的网络社区分享软件、知识,包含如下几部分:
- 发行版:可独立安装、类似于Linux。
- 软件库:联网的代码存储库,不同机构可以发布。
- ROS Wiki:论坛,可贡献自己的文件。
- Bug提交系统
- 邮件列表:交流软件更新等各种问题。
- 博客:发布一些定期更新、新闻。
- ROS问答
最新文章
- parsing XML document from class path resource
- Java SE ---类,方法,对象等
- bzoj 3676: [Apio2014]回文串 回文自动机
- [LeetCode] 21. Merge Two Sorted Lists 解题思路
- myeclipse 配置weblogic 异常
- HTTP SOAP Request
- 笨鸟先飞之ASP.NET MVC系列之过滤器(05结果过滤器)
- 快速安装Java环境
- DP问题
- UML教程
- 基于IOS上MDM技术相关资料整理及汇总
- php实现SSO单点登录实例
- 深入理解String类
- Hadoop生态圈-Azkaban实现hive脚本执行
- java.lang.AbstractStringBuilder.enlargeBuffer
- CodeForces1070A Find a Number 图论
- poj2185 Milking Grid【KMP】
- SecureCRT 常用配置
- idea下maven项目增加依赖项目里面没有添加相关依赖jar
- ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目
热门文章
- Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!
- Java面试常见算法题
- Dubbo源码学习--服务发布(DubboProtocol、Exporter)
- [Android App]IFCTT,即:If Copy Then That,是一个基于IFTTT的";This";实现
- JDBC详解系列(二)之加载驱动
- Python 日期和时间操作
- Python开发工具PyCharm个性化设置
- 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总
- Oracle查看对象空间使用情况show_space
- [基础规范]JavaBeans规范