我是靠谱客的博主 开放冰淇淋,最近开发中收集的这篇文章主要介绍ROS知识【08】:ros1的体系结构一、说明二、计算图三、文件系统三、开源社区,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、说明

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的体系结构一、说明二、计算图三、文件系统三、开源社区所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部