技术分享 | 相较于ROS 1,ROS 2有哪些优越性?

Posted 阿木实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术分享 | 相较于ROS 1,ROS 2有哪些优越性?相关的知识,希望对你有一定的参考价值。

相信只要是从事机器人相关行业的人,就不会不知道ROS系统的存在。直到今日,ROS系统已经在机器人领域耕耘了14载有余。ROS系统研发的最初目的,仅是为了提高代码的复用率。然而因为其对机器人开发产生的巨大便利,使得越来越多的人选择了ROS系统,其社区中的功能包呈指数级增长,现在ROS系统已经成为了机器人领域的事实标准。

ROS系统最初设计的目标机器人是PR2,这款机器人搭载了当时最先进的移动计算机平台,网络性能优异,无需考虑实时性的问题,主要应用于科研领域。随着机器人与ROS的发展,能够应用的领域也越来越广,例如:轮式机器人、人形机器人、工业机械手、室外机器人(如无人驾驶汽车)、无人飞行器、救援机器人等,机器人已经开始从科研领域走向人们的日常生活。ROS虽仍是机器人开发领域的利器,但受限于最初设计的局限性,已经逐渐暴露出一些问题了。

目前,ROS主要存在以下问题:

  1. 无法构建多机器人系统

多机器人系统可以多个机器人协同合作完成任务,可以解决单个机器人性能不足、无法应用等问题。一直是机器人研究领域关注的重点问题,但是ROS 1中目前还没有构建多机器人系统的方法。

  1. 多系统不兼容 ROS1是基于Linux系统实现的,无法在如Windows、macOS、RTOS等系统上实现移植或实现的功能有限,这便对机器人开发者和开发工具有较高的要求,同时也有很大的局限性。
  1. 无法实时通信 在很多应用场景下需要要求机器人有较高的实时通信能力,然而,ROS目前还做不到进程间、跨机器人的通信。
  1. 网络连接不理想 ROS的分布式机制需要良好的网络环境才能保证数据的正常传递,而且网络不具备数据加密,安全防护等功能,并且网络延迟较大,有时还会出现断网后重连不上的问题。
  1. 生产制造无法规范化 ROS的稳定性欠缺,ROS Master、节点等重要环节会出现莫名宕机的情况,导致很多机器人从研究开发到消费产品的过渡非常困难。

针对ROS 1中出现的问题,ROS社区的开发者在继承ROS 1优点的基础上,开发出新一代ROS架构(Next-generation ROS:Building on DDS)的ROS 2系统。在2017年12月8日,发布了ROS 2的第一个正式版---Ardent Apalone。其中添加的新技术和新概念对ROS的整体架构可谓是颠覆性的,对ROS综合性能的提升也不可估量。

ROS 2系统架构的改变通过下图也可看出:

  1. 底层操作系统 ROS 1主要构建于Linux操作系统上,而ROS 2支持的系统则增加了Windows、Mac、RTOS、甚至是没有操作系统的裸机。
  1. 中间层 ROS中通过节点这一概念,让开发者可以并行的开发松耦合的功能模块,以便于代码复用。ROS 1中的通信模式基于TCPROS/UDPROS,而ROS 2中的通信系统基于DDS。DDS(数据分发服务)是一种专门为实时系统设计的数据分发/订阅标准。它以零拷贝的方式分发数据,节省了CPU和内存资源,同时能达到实时通信的效果。

  2. 应用层 ROS 1中的节点管理依赖于ROS Master,而一旦Master宕机,整个系统就会面临无法运行的场面。在ROS 2的架构中,删除了Master这一概念,改用“Discovery”的发现机制来帮助节点间彼此建立连接,这种彼此的强连接解决了因为一个节点出错便影响全局的问题。

因为ROS 2相较于ROS 1的优越性,在今后的机器人开发中,必将取代ROS 1的位置实现全面迭代。但是因为ROS 1的广泛应用和ROS 2自身仍需完善一些问题,这个迭代过程只能是缓慢进行而非一蹴而就的。

从以上内容中不难看出,承优淘劣的ROS 2系统在应用和性能上只会比ROS 1更加强大,因此ROS的全面迭代也是不可避免的。正如工业社会取代农业社会、5G取代4G,科技的进步受益的是人们。而ROS的迭代便利的当然就是我们从事机器人开发的工作者了,所以我们也喜闻乐见技术的迭代与更新。

但技术的更新也要求我们这些开发者需要不断的学习进步才能紧跟互联网发展的步伐,如果固步自封排斥学习,那么在三年一更新五年一换代的互联网行业,必无立足之地。所以,要想在互联网行业立足长久和保持自身的价值,那么就需要不断学习吸收新技术、新知识。

在这个日益更新的时代,终生学习不再只是一句口号,唯有不断学习才能跟紧时代不被淘汰。引用《说苑·建本》中的一句话:少而好学,如日出之阳;壮而好学,如日中之光;老而好学,如炳烛之明,愿与君共勉。

作者:阿木工程师-棣华

  • End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。 阿木实验室致力于前沿IT科技的教育和智能装备,让机器人研发更高效!

以上是关于技术分享 | 相较于ROS 1,ROS 2有哪些优越性?的主要内容,如果未能解决你的问题,请参考以下文章

技术分享 | ROS基础讲解之ROS相关名词概念讲解

《动手学ROS2》9.6拓展:为Fishbot添加超声波传感器

ROS2机器人中文教程分享-小鱼动手学和古月居

技术分享 | 初学ROS这个重要概念,你必须要了解

ROS2机器人中文教程分享-小鱼动手学和古月居

技术分享 | 带你解决4个ROS开发常见的问题