DDS数据分发服务在机器人行业应用情况(ROS)

关键字:DDS,Data Distribute Service,数据分发服务,ROS,Robot Operating System, 机器人操作系统

1.行业的发展历程

1.1. ROS概述

硬件技术的飞速发展,在促进机器人领域快速发展和复杂化的同时,也对机器人系统的软件开发提出了巨大挑战。机器人平台与硬件设备越来越丰富,致使软件代码的复用性和模块化需求越加强烈,而已有的机器人系统又不能很好地适应需求。为迎接机器人软件开发面临的巨大挑战,产生了多种优秀的机器人软件框架,为软件开发工作提供了极大的便利,其中最为优秀的软件框架之一就是机器人操作系统ROS(Robot Operating System)。ROS与Android、Ubuntu并称为机器人三大操作系统。

ROS是一个用于编写机器人软件的灵活框架,其前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目,到2008年以后,主要由威楼加拉吉继续该项目的研发。ROS集成了大量的工具、库、协议,提供类似操作系统所提供的功能,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间的消息传递、程序发行包管理,可以极大简化繁杂多样的机器人平台下的复杂任务创建与稳定行为控制。

1.2. ROS1存在的问题

2007年诞生的ROS1.0,存在如下问题:

1、对多机器人系统支持较弱

多机器人系统是机器人领域研究的一个重点问题,可以解决单机器人性能不足、无法应用等问题,但是ROS 1中并没有构建多机器人系统的标准方法。

2、不支持跨平台

ROS 1基于Linux系统,在Windows、MacOS、RTOS等系统上无法应用或者功能有限,这对机器人开发者和开发工具提出了较高要求,也有很大的局限性。

3、实时性差

很多应用场景下的机器人对实时性有较高要求,尤其是工业领域,系统需要做到硬实时的性能指标,但ROS 1缺少实时性方面的设计,所以在很多应用中捉襟见肘。

4、网络设计欠佳
ROS 1的分布式机制需要良好的网络环境保证数据的完整性,而且网络没有数据加密、安全防护等功能,网络中的任意主机都可获得节点发布或接收的消息数据。

5、稳定性差
ROS 1的稳定性较差,ROS Master、节点等重要环节在很多情况下会莫名宕机,这就导致很多机器人从研究开发到消费产品的过渡非常艰难。

1.3. 基于DDS的ROS2发布

虽然不少开发者和研究机构针对以上部分问题进行了改良,但这些局部功能的改善往往很难带来整体性能的提升,机器人开发者对新一代ROS的呼声越来越大,ROS 2.0的消息也不绝于耳。

终于,在ROSCon 2014上,新一代基于DDS的ROS的设计架构(Next-generation ROS: Building on DDS)正式公布。

  • 2015年8月第一个ROS 2.0的alpha版本落地;
  • 2016年12月19日,ROS 2.0的beta版本正式发布;
  • 2017年12月8日,万众瞩目的ROS 2.0终于发布了第一个正式版——Ardent Apalone。
  • 2018年7月2日,第二个正式版——Bouncy Bolson发布,保持半年更新一个版本的节奏。
  • 2018年12月,第三个正式版——Crystal Clemmys发布。
    众多新技术和新概念应用到了新一代的ROS之中,不仅带来了整体架构的颠覆,更是增强了ROS 2.0的综合性能。

1.4. ROS2相比于ROS1的进步

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

(1)支持多机器人系统

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

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值