ROS:结构

news/2025/3/16 20:50:29/

目录

  • 前言
  • 一、设计者
  • 二、维护者
  • 三、系统架构
  • 四、ROS自身结构

前言

从不同的角度,对ROS架构的描述也是不同的,一般我们可以从设计者、维护者、系统结构与自身结构4个角度来描述ROS结构:

一、设计者

ROS设计者将ROS描述为“ROS = Plumbing + Tools + Capabilities + Ecosystem”

Plumbing: 通讯机制(实现ROS不同节点之间的交互)
Tools :工具软件包(ROS中的开发和调试工具)
Capabilities :机器人高层技能(ROS中某些功能的集合,比如:导航)
Ecosystem:机器人生态系统(跨地域、跨软件与硬件的ROS联盟)

二、维护者

维护者的角度: ROS 架构可划分为两大部分

main:核心部分,主要由Willow Garage 和一些开发者设计、提供以及维护。它提供了一些分布式计算的基本工具,以及整个ROS的核心部分的程序编写。
universe:全球范围的代码,有不同国家的ROS社区组织开发和维护。一种是库的代码,如OpenCV、PCL等;库的上一层是从功能角度提供的代码,如人脸识别,他们调用下层的库;最上层的代码是应用级的代码,让机器人完成某一确定的功能。

三、系统架构

ROS 可以划分为三层

OS 层,即操作系统
ROS 是元操作系统,需要依托真正意义的操作系统,目前兼容性最好的是 Linux 的 Ubuntu,Mac、Windows 也支持 ROS 的较新版本

中间层是 ROS 封装的关于机器人开发的中间件,比如:
基于 TCP/UDP 继续封装的 TCPROS/UDPROS 通信系统,用于进程间通信 Nodelet,为数据的实时性传输提供支持
另外,还提供了大量的机器人开发实现库,如:数据类型定义、坐标变换、运动控制

应用层
功能包,以及功能包内的节点,比如: master、turtlesim的控制与运动节点

四、ROS自身结构

ROS 自身也可以划分为三层

文件系统
ROS文件系统级指的是在硬盘上面查看的ROS源代码的组织形式

计算图
ROS 分布式系统中不同进程需要进行数据交互,计算图可以以点对点的网络形式表现数据交互过程,计算图中的重要概念: 节点(Node)、消息(message)、通信机制_主题(topic)、通信机制_服务(service)
在这里插入图片描述

开源社区
ROS的社区级概念是ROS网络上进行代码发布的一种表现形式
ROS开源社区级主要关于ROS资源,能够通过独立的网络社区分享软件和知识。这些资源包括:
发行版(Distribution) —— ROS发行版是可以独立安装的,带有版本号的一系列功能包集。ROS发行版像Linux发行版一样发挥类似的作用。这使得ROS软件安装更加容易,而且能够通过一个软件集合来维持一致的版本。
软件源(Repositorie) —— ROS依赖于共享开源代码与软件源的网站或主机服务,在这里不同的机构能够发布分享各自的机器人软件和程序。
ROS Wiki —— ROS Wiki是用于记录有关ROS系统信息的主要论坛。任何人都可以注册账户和贡献自己的文件,提供更正和更新,编写教程以及其他信息。
邮件列表(Mailing list) —— ROS用户邮件列表是关于ROS的主要交流渠道,能够交流从ROS软件更新到ROS软件使用中的各种疑问或信息。

在这里插入图片描述


http://www.ppmy.cn/news/517353.html

相关文章

【202203】必应2022年3月壁纸链接合集

全部壁纸 https://wallpaper.ddddavid.cn/subpages/page-220329.html 2022 年 3 月份 https://cn.bing.com/th?idOHR.Shamrocks_EN-US9111259398_UHD.jpg https://cn.bing.com/th?idOHR.MoonlightRainier_EN-US6336057354_UHD.jpg https://cn.bing.com/th?idOHR.Rhinocer…

linux+4k+桌面壁纸,微软发布适用于Windows 10的4K壁纸包

微软最近发布了新的Windows 10壁纸包,其中包括10种不同的4K桌面背景。 这款名为“地球日”的软件包以主题的形式提供给Windows 10用户,专门用来庆祝2019年地球日。 主题描述中写道:“在 2019 年的这个地球日,通过包含 10 幅独家 4K 图像的免费…

PMP学习重点笔记(项目质量管理)

词条内容质量管理的内涵 质量和等级(朱兰理论三部曲-质量规划、质量控制、质量改进,质量螺旋曲线) 高质量高等级(高端产品) 高质量低等级(受欢迎) 低质量高等级(人傻钱多&#xff09…

python修改桌面壁纸_Python设置每日更新windows壁纸

不知道大家是否对每日一成不变的壁纸感到厌倦呢?反正对于我个人来说,如果每天打开电脑映入眼帘的都是不同的画面,那么科研热情都会被充分激发,从而提高自己的劳动生产力。 原来使用的是Deepin系统,自己写了一个爬虫爬…

linux 壁纸自动更换,使用LSWC在Linux中自动更换壁纸

本文将为你介绍安装及使用LittleSimpleWallpaperChanger(LSWC)小脚本为你的Linux桌面定期自动更换壁纸。如果你不再使用LSWC,还可以使用本文介绍的删除方法处理。 其实在“外观”或“更改桌面背景”设置中有一个随机壁纸选项。但那是随机更改预置的壁纸而不是你添加…

html怎么制作壁纸,CSS3制作皮卡丘动画壁纸的示例

正文 OK,接下来就是晒效果图的时候了,看图后才有兴趣了解一下,不然很沉闷,没什么心思看了。 PS:由于我这个动画的尺寸做得比较大(720 x 1280),所以为了能录这个gif动画,我缩小了一倍。但是其实按…

php文件怎么做壁纸,自动调取在线壁纸作为网站背景(PHP接口源码)+赠送三个壁纸接口...

[PHP] 纯文本查看 复制代码<?php /* 功能&#xff1a;自动调取壁纸作为网站背景 开发时间:2017年7月4日 应用案例:https://www.68xi.cn/search/ 分享三个在线壁纸调用接口 tags http://cdn.apc.360.cn/index.php?cWallPaper&agetAllCategoriesV2&from360chrome ne…

“Vue3+Vite打包后,白屏沉默,重启重试无果,我该如何解决?”

每次最后打包总是会或多或少出现一些问题&#xff0c;昨天打包项目完之后 直接点击dist中的index.html去看看有没有什么发题&#xff0c;一打开奇怪的事发生了&#xff0c;居然是空白&#xff1b;但是在vscode中右键Open with Live Server一看项目没啥问题&#xff0c;但是部署…