机器人操作系统从ROS升级到ROS2 部署不再是难题
时间:2023-08-24 08:52来源: 作者: 点击: 次目前,全球市场持续增长,工业市场持续稳定增长,服务市场则呈现快速发展趋势。伴随着人工智能技术的逐步成熟,人机协作的不断深度,机器人产品应用产业不断拓展,全球机器人行业将迎来新一轮的增长。机器人领域之所以快速增长,有一部分原因是得益于开源开发和机器人操作系统ROS或ROS2的发展。
关于ROS和ROS2的发展状况,英特尔物联网软件技术副总裁Greg Burns和ADLINK物联网技术总监Joe Speed做了详细分析。Greg Burns就职于英特尔开源技术中心工作,是OTC(开源技术中心)的软件架构师,其所在的小组专注于开源开发和开源贡献。过去多年来,他一直在关注物联网,尤其是物联网网络协议,在大约18个月前,他参与了英特尔的机器人领域。Joe Speed也在该领域从事多年研发工作,包括让物联网更加开放、开放标准和开源物联网。技术贡献,如MQTT,他让其成为开放标准并开源,将它们放入车辆和很多其它设备中。过去几年,他围绕如何将物联网应用到人们生活中,以及如何让人和物交互花费了大量的时间进行研究。他为自动驾驶汽车、自动驾驶员、老年人和残疾人提供#AccessibleOlli,在众包、开源自主机动性方面做了很多研究。
ROS建立强大生态系统,ROS2从原型设计迈向部署
不管是开源软件,还是开源硬件,一经推出在全球都受到开发者的热捧,这些产品对科技的发展起到了巨大的推动作用。在机器人领域,开源操作系统ROS2如何驱动该领域的增长?Greg表示,“虽然ROS被称为机器人操作系统,但实际上它并不是像Linux和Windows真正意义上的操作系统。它是一系列设施和通信协议的集合,使用户更易于整合软件组件去构建机器人或者机器人系统。并且它取得了巨大的成功。过去十年来,已经围绕ROS建立了一个庞大的生态系统,并且它使参与机器人研究的人,特别是那些研究人员和在学术领域的人,能够构建、共享、协作构建机器人所必须的软件组件。某些情况下,这些软件组件级别很低,像传感器、摄像头等接口。某些情况下,他们有更高级的功能,比如导航或者运动规划。但事实上,你可以用这些组件构建他们,然后和其它开发者共享,因此这些开发者可以使用它们,而不需要理解他们内部的细节,提高了创新速度,真正让人们用这些强大的组件构建机器人。”
ROS确实是一个很成功的开源项目、开源生态系统,现在已经建立了庞大的生态系统,在全球估计有十万名开发者正在使用或熟悉ROS,并且所有拥有机器人经验的学术界人士都在使用ROS。虽然从多方面来看ROS很成功,但是它只用于研发,在部署中并不经常使用。当涉及到实际构建机器人并将其作为商业产品进行部署时,大部分开发者会转向专用解决方案。大概五年前或者更早,有人倡议开始构建ROS2。ROS2试图解决原始ROS中的一些技术缺陷,以及安全、性能等问题,使一些其它基于ROS的部署解决方案变得可行和更实用,当然,那将带来一个更有效的流程使得ROS不仅用于原型设计而是最终的部署。
对比ROS,ROS2的一个关键点是,其选择在软件中改变底层协议层,以便可以使用一系列不同的低层协议作为用于软件组件之间通信的数据总线,用户可以使用DDS多种实现,因为DDS已经在业界被广泛部署多年。当然,用户可以使用自己的开源DDS实现,以及其它方式。ROS2的强大之处在于,它可以让用户运行其它替换协议。比如:MQTT,如果条件允许,ROS2甚至可以工作在MQTT之上。
ROS2让多个机器人彼此通信
机器人原来都是单个工作,彼此之间并不会通信,但是未来会从单个向多个彼此通信的趋势发展,并且它们占据了和人类同样的空间。这些集群机器人到底意味着什么?我们如何做才能实现这样的目标?或许ROS2可以协助我们实现这样的目标。Joe分析,“关于ROS2,其中一个关键点是通信方式,通过它可以在组件之间低延时传递信息,可以获得更高的服务质量,可以让机器人彼此通信,实现协调。在这些群体行为,当其中一个机器人手持工件,而另一个机器人可以在上面工作。但是对我来说非常有意思的是机器人内部的实际情况,在DDS总线上的所有通信,有视觉、决策 、执行,所有这些资源也可以安全地与其它机器人共享,非常有意思的是,如果你可以让机器人A借用机器人B的眼睛,机器人C借用机器人A的手臂,通过这种方式即使一个机器人失去了视力,也可以共享周围群体提供的同样的能力,我觉得这样可以做很多事情。并且我看到其他人正在做的例子,即带视觉功能的自动轮椅,将LIDAR放在天花板上的摄像机中,将其构建到基础设施中,然后作为机器人可以共享的资源。”
Greg则强调,“机器人在本质上是边缘计算设备。无论你如何看他,他们都需要很多传感器。计算机视觉对于我们看机器人技术的演进方式非常重要。我们讨论了很多关于自动驾驶汽车的内容。自动化让机器人技术发生了很大的变化。我们正在从预先编程的相对固定功能的重复操作的机器人,转向现在变得自主的机器人。并且他们变得自动化后,需要更多计算,还要运行很多相关软件。随着软件的运行,人们对安全和管理的担心越来越多。如何做软件升级?像你看到的那样,它和我们在数据中心拥有相同的能力。因此,毫不夸张地说,机器人基本上是车轮上的数据中心或者带腿的数据中心。这是一个大的转折点—曾经的方式发生了巨大的改变—这种改变是被计算机视觉以及所有与之相关的东西,比如:机器学习和目标识别,来驱动的。越来越多的机器人在跑出笼子,从历史上来看,机器人是远离人类的。”
机器人个头很大,能力很强大,移动迅速,也可能很危险。但是,目前正在出现一类新兴事物,被称为人机协作机器人,它们与人类一起工作。它们不再在笼子中。现在,如果你有一个靠近人类的机器人手臂,显然你必须有强大的传感器系统,你必须有摄像头可以探测人类的位置,你必须关心什么是安全至上的操作和保持安全以避免伤害。机器人必须了解环境,了解运行位置。这带来了很多进行目标识别的机器学习和推理引擎。因此,越来越重要的领域是功能安全,计算机视觉演进,机器学习算法,以及在机器人硬件上高效运行这些算法的能力。与任何运行大量软件的边缘计算设备一样,需要管理软件升级,管理软件开发生命周期,以及带来很多现在在数据中心看到的技术,像集装箱化,便于管理运行在这些机器人系统上的重要软件。
随着联网设备数量的不断增加,设备厂商越来越意识到边缘计算的重要。ADLINK和英特尔多年来一直在边缘计算和机器视觉系统领域进行合作。对于机器人技术,人们对此做了一些令人吃惊的事情。ADLINK有识别机器人,实际上开发了一个包。Joe解释,“我们有这种精彩的小工程,这是一款坚固的边缘计算摄像头,内置英特尔的计算机…并且这些人已经想出如何把它放到自动化工厂或者建筑工地的现有工业机器人中,并在一个小时之内教会它们手眼协作。”ROS2有很多功能,用户可以开发新的应用领域,可以做新系统,新机器人,但是对大多数人来说,这些事物正在进入现有系统的现实环境,用户如何与他们一起工作,ADLINK采用了DDS进行信息传递,和其他人一直在致力于如何从DDS桥接到所有传统工业协议和接口,因此这些公司可以进入并参与工作,与现有系统的现有系列一起使用现有的摄像机。
机器人新应用不断出现,ROS2功不可没
ROS2有开源标准、开源信息传递的机制,给用户接口和其他设备连接。所以,就像内置的支持开箱即用的WatsonIoT和ThingWorx,以及Azure物联网设备网关和AWS物联网等,以及我们和其他人必须从其它地方桥接,比如OPC UA和Modbus,以及所有其它类型的东西,用户可以将它们和现有的东西对接。因此,机器人和自动化不必是全新的套件安装。它可以利用传感器和已存在的系统。因此,如果用户想要一个机器人,可以把它当作生产线上的一个单元,上游的东西是什么,下游的东西是什么,对这些东西进行协调,利用所有材料可以作出产品。
用户应该向ROS工业组织呐喊,因为该组织在精确地研究那个灰色区域。用户如何使用现有的机器人制造标准,提供最佳的经验将它们推进到自动化的未来?Greg解释,“你通常无法替代每个机器人。你必须能够以渐进和增长方式做到这一点。当我们讨论灰色地带时,我们看到在机器人部署增长的一个重要领域是仓库。大多数仓库不是很大。那里有很多这样的仓库,并且它们可以受益于增加自动化设备,无论是库存还是搬运。因此自动化机器人在这种环境中可以充分发挥。并且几家公司在构建全自动化机器人,它们围绕仓库,基于摄像头和传感器实时映射,它们可能很快就成为一项有价值的资产,并且能够执行精简的有用操作,可以处理仓库的资料,我们可以期待看到大量的新兴产品,不仅是在仓库中,还有快递机器人等等。”
从ROS向ROS2升级的实用案例
英特尔的实感摄像头是一个很好的实例,深度摄像头对于许多机器人应用场景都非常有用。英特尔提供一个ROS封装,它封装了深度相机的功能,让机器人设计师可以轻松地将其整合到机器人中。随着技术的不断发展,现在英特尔正在将其转移到ROS2上,并转移到最新的RealSense相机上。同时利用Movidius神经棒做了同样的事情。用户现在可以将其作为ROS软件包的软件组件整合到现有机器人中,不必了解该神经计算棒工作的任何内部细节,它使每个更容易合并为一个组件。另外,英特尔还在上面添加了一些额外的补丁。ADLINK已采用其中部分组件并开始集成它们。
ADLINK提供的是神经元开发板,它是一个ROS入门套件,并且集成了Greg和他的团队所做的大部分工作,与英特尔计算机、Movidius、RealSense深度摄像头一起集成,并完成了所有集成和打包整合。该团队一直在做一些有趣的产品,包括高速轮式无人机—基本上,改造越野遥控车,以非常高的速度驾驶,但完全自主,并可以和人一起近距离合作。它称为“跟我来”…它跟在你周围,如果你走向它,它就撤退,如果你走远,它再次跟着你。还有一些其它群集行为。因此,当它们在信息总线上共享彼此的遥测数据后,这些机器人彼此了解,协同工作。
关于ROS的重要应用,Jeo表示,“其中一个是波音首席机器人专家Dr. Philip Freeman,在最近的ROS产业活动中,他发表了一些我认为非常有说服力的观点,相当尖锐。他说,ROS让我感觉处在1993年Linux的惊人转折点。对于我们这些90年代早期开始研究开源和操作系统的人来说,这是一个让人震惊的时刻。你可以感受到力量,你可以看到即将发生什么,可以看到Linux将无处不在,而且这就是动力,这就是现在我们在ROS社区中所感受到的能量。”
欢迎更多开发者参与ROS建设
对于开源系统,需要更多开发者的参与建设,系统才能更加完善,对于ROS也一样,需要全球的开发者在使用中发现问题、解决问题。可能很多人已经在使用,但是也有很多人不知道如何参与。对于想要参与进来,学习更多内容的听众,他们应该如何参与?
Greg介绍,“第一个地方是ros.org,关于ROS2的信息在ros2.org,如果你登陆后,它实际上会将你重新定向到GitHub上的源代码上,那里有文档和其它信息。还有教程,以及有很多关于ROS的书籍。还有ROS-Industrial它专注制造机器人并将其迁移到更灵活和更自动化的设备上。ROS-Industrial建立在ROS之上;它不是替代品,而是添加剂,ROS年度聚会于九月中旬在马德里举办。”