0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

Robot Vision 来源:电子发烧友网 作者:李宁远 2022-12-12 06:25 次阅读

电子发烧友网报道(文/李宁远)对于熟悉机器人应用的读者,对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进行硬件加速。


KRS部分架构图,AMD XILINX

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


Kria SOM与KRS加速示例,AMD XILINX

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

写在最后

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

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

    关注

    210

    文章

    28148

    浏览量

    206085
  • AI
    AI
    +关注

    关注

    87

    文章

    29928

    浏览量

    268242
收藏 人收藏

    评论

    相关推荐

    ALINX受邀参加AMD自适应计算峰会

    近日,AMD 自适应计算峰会(AMD Adaptive Computing Summit, 即 AMD ACS)在深圳举行,聚焦 AMD 自适应 SoC 和 FPGA 产品最新动态,以及设计工具和开发环境的前沿技巧,是全球硬件开发者和工程师们深入交流与学习的优质平台。
    的头像 发表于 08-02 14:36 567次阅读

    ROS机器人开发更便捷,基于RK3568J+Debian系统发布!

    ,简单快捷地调用合适的算法库,以提高开发效率,加快开发进程。 (2) 开源免费,架构精简 ROS系统是一个开源免费,架构精简的机器人操作系统。ROS被设计
    发表于 07-09 11:38

    PMP22165.1-适用于 Xilinx 通用自适应计算加速平台 (ACAP) 的电源 PCB layout 设计

    电子发烧友网站提供《PMP22165.1-适用于 Xilinx 通用自适应计算加速平台 (ACAP) 的电源 PCB layout 设计.pdf》资料免费下载
    发表于 05-19 10:45 0次下载
    PMP22165.1-适用于 Xilinx 通用<b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b>平台 (ACAP) 的电源 PCB layout 设计

    ZMC900E控制器之ROS2环境安装指南

    ZMC900E是致远电子研发的最新一代高性能EtherCAT控制器,支持ROS2系统,兼备强大功能和实时性,工业应用带来新的可能。本文将详述ROS2特点和安装,助力用户在
    的头像 发表于 04-29 08:24 521次阅读
    ZMC900E控制器之<b class='flag-5'>ROS2</b>环境安装指南

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍(2

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之 Versal 介绍,以及Versal 芯片开发流程的简介。
    的头像 发表于 03-07 16:03 958次阅读
    【ALINX 技术分享】AMD Versal AI Edge <b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b>平台之 Versal 介绍(<b class='flag-5'>2</b>)

    【ALINX 技术分享】AMD Versal AI Edge 自适应计算加速平台之准备工作(1)

    AMD Versal AI Edge 自适应计算加速平台之准备工作,包含软件环境、硬件环境。
    的头像 发表于 03-07 15:49 742次阅读
    【ALINX 技术分享】AMD Versal AI Edge <b class='flag-5'>自适应计算</b><b class='flag-5'>加速</b>平台之准备工作(1)

    系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?

    请问一下,百度文库资料里面,下图所示的系统镜像Ubuntu_ROS2ROS2是什么意思,带有ROS2开发环境吗?与前面4GB版本的镜像有什么区别?
    发表于 03-01 23:06

    移动机器人ROS操作系统原理与应用

    ROS1不同的是,ROS2诞生的目的就是为了让更多机器人使用,所以在设计上更加符合技术的发展方向,也运用了很多最近的技术框架。
    发表于 01-02 12:28 529次阅读
    移动<b class='flag-5'>机器人</b>与<b class='flag-5'>ROS</b>操作系统原理与应用

    在TogetherROS中如何安装ROS2功能包

    安装ROS2功能包 接下来,还有一个很重要的配置,那就是安装ROS2功能包,我们说TogetherROS是基于ROS2深度优化的,很多模块还是会复用ROS2中的功能,所有
    的头像 发表于 12-01 16:02 920次阅读
    在TogetherROS中如何安装<b class='flag-5'>ROS2</b>功能包

    ROS机器人开发更便捷,基于RK3568J+Debian系统发布!

    ,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。图1 随着工业智能化的快速发展,智能机器人设备已成为工业自动化体系的佼佼者,而智能机器人设备核心—ROS
    发表于 11-30 16:01

    ROS系统是什么?ROS系统主要特点有哪些?创龙RK3568J+Debian的ROS2系统案例

          Tronlong创龙科技ROS机器人开发更便捷;我们来看看具体的。 ROS系统是什么 ROS(Robot Operating System)是一个适用于
    的头像 发表于 11-30 14:41 4422次阅读
    <b class='flag-5'>ROS</b>系统是什么?<b class='flag-5'>ROS</b>系统主要特点有哪些?创龙RK3568J+Debian的<b class='flag-5'>ROS2</b>系统案例

    ROS2中自带例程测试

    如果你是一个ROS2的开发者,可能对刚才我们使用的ROS2命令比较熟悉,这时你可能也会产生一个问题:我们之前也安装了ROS2系统,那ROS2的原生功能还可以正常运行么? 我们再来试一试
    的头像 发表于 11-28 16:29 897次阅读
    <b class='flag-5'>ROS2</b>中自带例程测试

    机器人ROS模型建立

    这个系列主要介绍机器人ROS模型的建立方法,ROS系统带来的好处之一就是: 我们无需自己建立复杂的数学模型来描述自己的机器人几何尺寸、运动学
    的头像 发表于 11-28 14:19 568次阅读

    ros1和ros2的通信模型

    数据 ROS2: 参与者(DomainParticipant):一个参与者Participant就是一个容器,对应于一个使用DDS的用户,任何DDS的用户都必须通过Participant来访问全局
    的头像 发表于 11-27 11:26 745次阅读
    <b class='flag-5'>ros</b>1和<b class='flag-5'>ros2</b>的通信模型

    DDS在ROS2中的应用

    DDS在ROS2中的应用 DDS在ROS2系统中的位置至关重要,所有上层建设都建立在DDS之上。在这个ROS2的架构图中,蓝色和红色部分就是DDS。 刚才我们也提到,DDS是一种通信的标准,就像4G
    的头像 发表于 11-24 17:54 867次阅读
    DDS在<b class='flag-5'>ROS2</b>中的应用