概述
一、说明
ROS的体系分三层结构:OS层、中间层、应用层;如下图:
我们用户需要编写的,只是Node;Node和Master通信,构成C-S结构。
1)OS层,注意,这里的OS不是通用的操作系统,而是指某些特定操作系统,如Ubuntu18、Ubuntu20,而且,针对上述操作系统,对应专门的Ros版本:——和———;
2)中间层,中间层的作用有两个,1-ROS通信机制 2-数学运算库;
3)应用层,是Master为中心的节点管理、编译、执行系统;
二、计算图
从计算机的立场上,节点是分布式系统,可以在多个node上和Master通信;通过端对端连接通信。运算图的组成部分:
2.1 节点
所谓节点,其实就是一个进程单元;多个节点可以独立运行,形成复杂的通信系统。
2.2 消息
是一个通信机制,类似于网络中的UDP协议,这里有固定数据结构;
2.3 话题
类似于公共邮箱、或广播系统,任何节点可以发出某种信息(话题);任何节点可以收取某种信息(话题)。话题可以异步操作;
2.4 服务
这个类似于互联网站,是同步进行通信的模式;节点可以发出request,service发出应答信号;
2.5 节点管理
节点管理器(ROS Master); 通过远程RPC提供注册列表;同时帮助节点之间相互查找;为系统提供参数服务器,管理全局参数;一句话,是ROS系统的总管家、和协调人;
三、文件系统
3.1 文件系统
-
文件系统组分,文件系统内容有
【1】 软件包的概念
-
软件包(Packages):包是ROS代码的软件组织单元,每个软件包都可以包含程序库、可执行文件、脚本或其他构件。
-
Manifests (package.xml): 清单(Manifest)是对软件包的描述。它用于定义软件包之间的依赖关系,并记录有关软件包的元信息,如版本、维护者、许可证等。
-
显然,软件包需要依赖于文件系统;
【2】 元功能包
就是将一些公共功能的包提升一级,成为其它功能包共享的基础库;
【3】消息类型
ROS提供消息类型,也可以用户定制消息功能;在.smg文件中定义。
【4】服务(service)类型
服务也存在系统给出的默认服务,也可以客户定义,在.srv文件定义。
【5】代码
节点源码,存放节点定义的源代码的目录存放地。
三、开源社区
开源社区主要有:
社区发行功能包流程图:
以上是ROS基本框架,下节将专门介绍功能包。
最后
以上就是开放冰淇淋为你收集整理的ROS知识【08】:ros1的体系结构一、说明二、计算图三、文件系统三、开源社区的全部内容,希望文章能够帮你解决ROS知识【08】:ros1的体系结构一、说明二、计算图三、文件系统三、开源社区所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复