ROS系列文章目录
文章目录
前言
一、ROS的架构
ROS( Robot Operating System )的整体架构包括OS层,中间层及应用层。
OS层
事实上ROS并不是一个传统意义上的操作系统,无法像Windows、Linux一样直接运行在计算机硬件之上,而是需要依托于Linux系统。
中间层
这个名词很容易会让我们联想到中间件,由于Linux具有通用性,所以其没有专门针对机器人开发提供特殊功能的中间件,这就需要ROS在中间层做更多的工作。
应用层
在应用层ROS需要一个大管家,这个大管家叫ROS Master,由他来管理ROS的整个活动。
二、计算图与ROS的两种通信机制
1.计算图
下面是ROS的两种通信机制
2.消息类型机制
话题通信是ROS中基于发布/订阅模型的异步通信模式3.服务类型机制
服务通信是ROS中基于服务器/客户端的同步通信模式4.参数管理机制
简书大佬对于RPC通信机制的理解
这里的参数类似于ROS中的全局变量,由大管家ROS Master进行管理,其RPC通信机制较为简单,并不涉及到TCP/UDP的通信,具体过程如下图
三、文件系统
我们不妨把每个单元当做单独的集合,从上往下看,那么可以很容易得出他们之间存在这样的关系,下面的单元是上面单元的子集,如功能包是元功能包的子集。
1.“功能包”是ROS软件中的基本单元
2.“元功能包”是功能包的大集合
1.功能包与功能包清单
功能包(Package):功能包是ROS软件中的基本单元,包含ROS的节点、库、配置文件等信息。
功能包清单(Package Manifest):每个功能包都包含一个名为package.xml的功能包清单,用于记录功能包的作者信息、许可信息、依赖选项、编译标志等信息。
总结
以上就是本文的内容,本文介绍了ROS的架构组成,文件系统,计算图及两种通信机制,本文写的比较粗糙,之后会补上缺失的部分重要内容。参考资料:
(1)《ROS机器人开发实践》 胡春旭著
(2) ROS官网 http://wiki.ros.org/melodic/Installation/Ubuntu
(3) 百度百科 https://baike.baidu.com/
如需转载请注明:转自CSDN甦傑
欢迎持续关注 我的ROS专栏