青海快三下载 » ROS2探索总结 » ROS2探索总结-8.What is ROS 2.0 ?

青海快三昨天:ROS2探索总结-8.What is ROS 2.0 ?

青海快三下载 www.41pi3.cn **ROS2探索总结-8.What is ROS 2.0 ?

说明:

  • 上篇“Why ROS 2.0”之后,这篇我们继续“What is ROS 2.0”。

一、ROS 2的设计目标

  • 相比ROS 1,ROS 2的设计目标更加丰富:

    • 支持多机器人系统
      ROS 2增加了对多机器人系统的支持,提高了多机器人之间通信的网络性能,更多多机器人系统及应用将出现在ROS社区中。

    • 铲除原型与产品之间的鸿沟
      ROS 2不仅针对科研领域,还关注机器人从研究到应用之间的过渡,可以让更多机器人直接搭载ROS 2系统走向市场。

    • 支持微控制器
      ROS 2不仅可以运行在现有的X86和ARM系统上,还将支持MCU等嵌入式微控制器,比如常用的ARM-M4、M7内核。

    • 支持实时控制
      ROS 2还加入了实时控制的支持,可以提高控制的时效性和整体机器人的性能。

    • 跨系统平台支持
      ROS 2不止能运行在Linux系统之上,还增加了对Windows、MacOS、RTOS等系统的支持,让开发者的选择更加自由。

请输入图片描述

二、ROS 2的系统架构

  • ROS 2重新设计了系统架构,可以从下图中看到两代ROS之间架构的变化:

    • OS层
      ROS 1主要构建于Linux系统之上;ROS 2带来了改变,支持构建的系统包括Linux、Windows、Mac、RTOS,甚至没有操作系统的裸机。

    • 中间层
      ROS中最重要的一个概念就是计算图中的“节点”,可以让开发者并行开发低耦合的功能???,并且便于二次复用。ROS 1的通信系统基于TCPROS/UDPROS,而ROS 2的通信系统基于DDS。DDS是一种分布式实时系统中数据发布/订阅的标准解决方案。ROS 2内部提供了DDS的抽象层实现,用户不需要关注底层DDS的提供厂家。在ROS 1的架构中,Nodelet和TCPROS/UDPROS是并列的层次,可以为同一个进程中的多个节点提供一种更优化的数据传输方式。ROS 2中也保留了类似的数据传输方式,叫做“Intra-process”,同样独立于DDS。

    • 应用层
      ROS 1强依赖于ROS Master,可以想象一旦Master宕机,整个系统会面临如何的窘境。但是在右边ROS 2的架构中,让人耿耿于怀的Master终于消失了,节点之间使用一种称为“Discovery”的发现机制来帮助彼此建立连接。

请输入图片描述

三、ROS 2的关键中间件——DDS

  • DDS(Data Distribution Service),即数据分发服务,2004年由对象管理组织OMG(Object Management Group)发布,是一种专门为实时系统设计的数据分发/订阅标准。

  • DDS最早应用于美国海军,解决舰船复杂网络环境中大量软件升级的兼容性问题,目前已经成为美国国防部的强制标准,同时广泛应用于国防、民航、工业控制等领域,成为分布式实时系统中数据发布/订阅的标准解决方案。

  • 其技术关键是以数据为核心的发布/订阅模型(Data-Centric Publish-Subscribe ,DCPS),这种DCPS模型创建了一个“全局数据空间”(global data space)的概念,所有独立的应用都可以访问。

  • 目前已经有多家DDS厂商可以提供相关技术,包括可供ROS使用的开源版本和商业版本。

请输入图片描述

四、ROS 2的通信模型

  • ROS 1的通信模型主要包含话题、服务等通信机制,ROS 2的通信模型会稍显复杂,加入了很多DDS的通信机制。

请输入图片描述

  • 基于DDS的ROS 2通信模型包含以下几个关键概念:

    • 参与者(Participant)
      在DDS中,每一个发布者或者订阅者都称为参与者,对应于一个使用DDS的用户,可以使用某种定义好的数据类型来读写全局数据空间。

    • 发布者(Publisher)
      数据发布的执行者,支持多种数据类型的发布,可以与多个数据写入器(DataWriter)相联,发布一种或多种主题(Topic)的消息。

    • 订阅者(Subscriber)
      数据订阅的执行者,支持多种数据类型的订阅,可以与多个数据读取器(DataReader)相联,订阅一种或多种主题(Topic)的消息。

    • 数据写入器(DataWriter)
      上层应用向发布者更新数据的对象,每个数据写入器对应一个特定的Topic,类似于ROS 1中的一个消息发布者。

    • 数据读取器(DataReader)
      上层应用从订阅者读取数据的对象,每个数据读取器对应一个特定的Topic,类似于ROS 1中的一个消息订阅者。

    • 话题(Topic)
      和ROS 1中的概念类似,话题需要定义一个名称和一种数据结构,但ROS 2中的每个话题都是一个实例,可以存储该话题中的历史消息数据。

    • 质量服务原则(Quality of Service)
      简称QoS Policy,这是ROS 2中新增的、也是非常重要的一个概念,控制各方面与底层的通信机制,主要从时间限制、可靠性、持续性、历史记录这几个方面,满足用户针对不同场景的数据需求。

请输入图片描述

  • 实时性增强:数据必须在deadline之前完成更新;

  • 持续性增强:DDS可以为ROS 2提供数据历史服务,新加入的节点也可以获取发布者发布的所有历史数据;

  • 可靠性增强:配置可靠性原则,用户可以根据需求选择性能模式(BEST_EFFORT)或者稳定模式(RELIABLE)。

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2探索总结

  • 大豆自己种,芯片自己造 2019-03-20
  • 胡峰:25年的光荣与梦想 2019-03-20
  • 邯郸峰峰集团总医院建筑垃圾不清理 2019-03-19
  • 北新建材荣登“中国500最具价值品牌”100强 2018-11-24
  • 杨梅:谣言太多伤不起 2018-11-24
  • 13岁少年杀3幼童被收容教养 下调入刑年龄可控犯罪 2018-09-04
  • 银保监会:6月22日前上报保险消费风险提示落实情况 2018-07-25
  • 刘杰的专栏作者中国国家地理网 2018-07-25
  • 漫游宝澄清“无证”传闻 2018-07-24
  • 罗青林的专栏作者中国国家地理网 2018-07-24
  • 2018世界杯 竞彩游戏的投注方式 2018-07-23
  • 足球,从工人阶级平民运动到资本主义商业游戏 2018-07-23
  • 奚梦瑶穿牛仔套装帅气十足 双手接护照礼仪满分 2018-07-22
  • 看了看某同事放长线的账户,居然赔掉了三分之二的本金[可怜] 2018-07-22
  • 克罗地亚VS尼日利亚前瞻:克罗地亚或是最大黑马 2018-07-21
  • 428| 289| 15| 853| 998| 331| 410| 612| 224| 833|