ros初探:ros架构

dkit dkit     2022-10-07     530

关键词:

一.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问答































ros学习笔记02:ros基础

文章目录一、ROS架构一、ROS架构ROS架构分为三个层次:OS层⟹\\Longrightarrow⟹中间层⟹\\Longrightarrow⟹应用层 查看详情

ros从入门到精通ros核心架构常用指令与计算图(代码片段)

目录1ROS核心架构1.1工作空间1.2功能包2ROS常用指令2.1ROS-bash相关2.2ROS-通信相关2.3catkin编译系统相关3ROS动态计算图rqt1ROS核心架构ROS工程的架构如图所示其中的核心概念阐述如下:1.1工作空间工作空间是存放工程开发文件的地方... 查看详情

ros从入门到精通系列ros系统整体架构详解(下)

 目录 ​​​​​​​​二、理解ROS计算图级2.1节点(Node)2.2主题(Topic) 查看详情

ros从入门到精通系列ros系统整体架构详解(上)

目录一、理解ROS文件系统级1.1 Catkin编译系统1.1.1Catkin特点1.1.2Catkin编译原理 查看详情

ros机器人程序设计(原书第2版)补充资料(贰)第二章ros系统架构及概念

...人程序设计(原书第2版)补充资料(贰)第二章ROS系统架构及概念由于工作事物繁忙,更新有些慢,抱歉。已经完成的各章节补充说明,会依据反馈意见持续更新,希望大家多提宝贵意见,非常感谢。在完成了第一章的学习实... 查看详情

ros1云课→02系统架构

ROS1云课→01简介和配置ROS1系统的架构主要被设计和划分成了三部分,每一部分都代表一个层级的概念:文件系统级(TheFilesystemlevel)计算图级(TheComputationGraphlevel)开源社区级(TheCommunitylevel)第... 查看详情

ros从入门到精通系列(二十九)--linux封装ros自启动脚本及可执行程序app

机器人分布式处理架构ROS分布式架构,HiBot架构主要使用C/S架构,其中HibotServer为服务器,Muqutte为消息服务器中间件,HiBotClient为运行在机器人上的客户端。主要实现了机器人任务的远程部署、监控、控制三大功能,机器人平台... 查看详情

ros1云课→02系统架构

ROS1云课→01简介和配置ROS1系统的架构主要被设计和划分成了三部分,每一部分都代表一个层级的概念:文件系统级(TheFilesystemlevel)计算图级(TheComputationGraphlevel)开源社区级(TheCommunitylevel)第... 查看详情

ros2入门之基本介绍

...我们在安装学习之前先了解一下ROS2的基础结构。ROS和ROS2架构区别架构图(ROS2中没有了master中心节点了)ROS的数据发布与订阅ROS2的数据发布与订阅ROS2与DDS的关系ROS2是建立在以DDS/RTPS为中间件的基础之上的,DDS/RTPS提供了发现(di... 查看详情

ros2日文新书-2021-07

...定义4-3类型4-4服务4-5参数4-6推出第5章支持ROS2的系统5-1ROS2架构5-2DDS和RTPS5-3通信服务质量(QoS)第6章扩展ROS 查看详情

ros和ros2.0到底该用哪个呢?

...为机器人应用程序开发的终极SDK。它使用更先进的分布式架构,更高的可靠性,以及对实时性和嵌入式设备的支持。最大的不同在于采用了数据分发服务(DDS)技术,DDS适用于实时分布式嵌入式系统。2016年有一篇会议论文。Exploring... 查看详情

详解ros文件系统(代码片段)

...立一个ROS工程,首先要认识一个ROS工程,了解它们的组织架构,从根本上熟悉ROS项目的组织形式,了解各个文件的功能和作用,才能正确的进行开发和编程。本章的主要内容有,介绍catkin的编译系统,catkin工作空间的创建和结构... 查看详情

roboticssystemtoolbox笔记

...ROS基本概念ROS全称为RobotOperatingSystem,是一种采用分布式架构的元操作系统,它本身并不是通常意义上的操作系统,可以简单的将它理解为是在多个物理计算机中运行的众多ROS节点形成的一个ROS网络。 ROS的基本概念ROS网络由... 查看详情

机器人操作系统ros--简介(一)

...是专为机器人软件开发所设计出来的一套电脑[操作系统]架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行... 查看详情

[ros]chinesemooc||chapter-4.1通信架构-service和srv

 topic是一种信息传递模式,这里先看下service topic是一种单项传输信息的模式,在下面的场景:右node会连续不断发送数据给左node也可以写一个服务,让右边node接收到信息才开始发送,但是这样写起来很麻烦 此时应该... 查看详情

ros入门文件结构篇

ROS有很多架构及概念,例如工作空间,功能包,消息,服务等等。我们先从最开始的工作空间说,工作空间在其它里面,有的叫作项目,有的叫作解决方案。其实就是一个项目的根目录地址。例如,我们在/home里创建一个工作空... 查看详情

ros通信机制二---服务通信(代码片段)

文章目录参考链接ROS架构(五)——ROS的通信机制1.服务通信模型2.服务通信示例2.1自定义srv2.1.1创建sum.srv文件2.1.2配置package.xml2.1.3配置CMakeLists.txt2.1.4编译2.1.5配置c_cpp_properties.json文件2.1服务端2.2客户端2.3CMakeLists.txt2.4编... 查看详情

ros智能小车diy专题:机器人操作系统ros基础知识

...砖引玉的作用。本文主要内容:1.ROS是什么2.ROS系统整体架构3.在ubuntu16.04中安装ROSkinetic4.如何编写ROS的第一个程序hello_world5.编写简单的消息发布器和订阅器6.编写简单的service和client7.理解tf的原理8.理解roslaunch在大型项目中的作用... 查看详情