加速ROS2为机器人带来自适应计算能力

描述

 

电子发烧友网报道(文/李宁远)对于熟悉机器人应用的读者,对ROS(机器人操作系统)想必是不会陌生的。ROS作为机器人开发的基石,为机器人在研发过程中的代码复用提供了支持的开源框架。大量的机器人开源项目,从感知到控制、从定位到构图、从导航到可视化,都使用ROS作为基础。

而不久前AMD XILINX推出了以ROS2为中心的增强机器人自适应计算能力的硬件加速方法——Kria Robotics Stack(KRS),通过硬件加速为机器人带来自适应计算能力。

从ROS到ROS2

ROS2基于ROS升级而来,如果说ROS为机器人研究和机器人原型开发提供了公用的软件架构并建立了良好的开源⽣态的话,那么ROS2就是在此基础上进一步补齐了⽤于机器人部署环境的开发架构和相应的工具链。

这一升级也是因为随着ROS在各类机器人系统,甚至延伸到在各类无人系统中的普及,暴露出了越来越多的弊端。首先它对资源的需求大,并不能保证在资源有限的嵌入式系统中运行,其次它的通信抗干扰性较差。可以说传统机器人ROS实质上是仍旧停留在主控芯片边界的,需要通过串行协议或者ROS中的工具与主控芯片集成在一起。如果操作系统允许在硬件级别附近运行ROS节点,那么所有硬件外设都可用于该应用程序,从而使其能够直接与低级总线系统进行交互,亦与传感器和执行器接口互通。从ROS到ROS2正是基于这些原因进行的升级改版。

ROS2解决了ROS在很多层面上的性能短板,包括但不限于实时性、对MCU的支持、网络通信的依赖程度、多机器人的支持等等。另外,ROS2采⽤RTSP(Real-Time Publish-Subscribe)协议的DDS作为中间层,大大提升了通信表现。DDS作为⼀种⽤于实时和嵌⼊式系统发布-订阅式通信的⼯业标准,在系统容错和灵活性上会更加完善。总的来说,ROS2解决了ROS在下一代实时机器人技术上的局限性。

机器人的自适应计算

机器人是一个系统中系统——它包括感知环境的传感器,感知环境的执行器,计算处理所有系统,同时对其应用做出一致的响应。在很大程度上,机器人技术是系统集成的艺术,无论是在软件还是硬件方面。作为机一种高度集成的专业化系统,机器人旨在执行具有高可靠性和精度的任务。因此,机器人中的硬件和软件能力之间的关系是至关重要的。

大多数机器人在内部网络交换信息,这在某种程度上可以说机器人是一个对时间敏感的网络。机器人系统通常只有有限的板载资源,包括内存、I/O和磁盘或计算能力,这阻碍了系统集成过程,使其在非结构化、动态或不断变化的环境中难以满足实时需求。因此,必须为机器人系统选择一个合适的计算平台,一个既能简化系统集成,又能满足功率限制,并使机器人适应不断变化的需求(即自适应机器人)。

自适应机器人三大基石分别是自适应行为、自适应机电一体化以及自适应计算,至少满足其中一个才能被称为自适应机器人。我们这里主要关注自适应计算。自适应计算指的是机器人在运行时适应其计算系统的一个或多个属性(例如,其决定论、功耗或吞吐量)的能力。FPGA一直以来都扮演了自适应计算中的重要角色,从过去这么多年的机器人应用来看它比CPU和通用GPU都更适合机器人自适应计算。

FPGA几乎可以用于机器人技术中的任何处理任务,在数据流计算上非常出色,遵循数据驱动的机器模型,有很高的并行性和吞吐量的潜力。FPGA适合自适应计算的另一个方面是,数据路径宽度和寄存器长度可以根据每个机器人应用程序的需要进行定制。CPU和通用GPU虽然在控制流计算上很出色,但固定架构很难适应新的机器人场景,同时它们的功耗通常比专门的计算架构高出一到两个数量级。

ROS2与机器人自适应计算

以ROS2为中心的增强机器人自适应计算能力的硬件加速方法——Kria Robotics Stack专门针对此前AMD XILINX推出的Kira SOM硬件组合,提供低延迟(快速计算)、确定性(可预测)、实时(准时)、安全性和高吞吐量的彻底硬件加速,将自适应算力带向 AI 和软件开发者。其核心为将机器人技术中使用的传统控制驱动方法与数据驱动方法相结合以优化硬件资源的数量,从而提高性能,并允许更高效、确定性和安全的硬件结构。

KRS与ROS2深度绑定,没有重新设计库和模拟器,直接建立在ROS2上。ROS2位于KRS架构的核心,在中间件组层中被继续增强。为了帮助ROS2突破OSI堆栈中的时间瓶颈和限制,KRS分三类对ROS2进行硬件加速。

AI
KRS部分架构图,AMD XILINX

第一个针对ROS 2应用程序和库,这个组可以在ROS 2之上加速OSI L7应用程序或库,包括导航、操作、感知或控制堆栈中的所选组件;第二个针对ROS2核心,在FPGA或SOM中加速或卸载ROS2节点;第三个针对ROS2的底层,包括完整或部分FPGA加速DDS实现、卸载网络堆栈等等。

AI

AI


Kria SOM与KRS加速示例,AMD XILINX

以ROS2为核心,KRS从整体硬件加速的视角出发,既优化了ROS2内的计算交互,也对在ROS2上的应用提供了加速,在ROS2中实现了自适应计算的集成。

写在最后

KRS以ROS设计人员的视角提供了一种实现自适应计算的思路,再结合SOM,为机器人应用提供了双重软件和硬件灵活的计算基底,提供了下一代机器人所需的关键自适应特性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分