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,为机器人应用提供了双重软件和硬件灵活的计算基底,提供了下一代机器人所需的关键自适应特性。

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

    关注

    213

    文章

    31391

    浏览量

    223547
  • AI
    AI
    +关注

    关注

    91

    文章

    40941

    浏览量

    302518
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    机器人主控核心板米尔RK3576 + ROS2,NPU加速实现目标跟随与机械臂抓取

    可达15~20 FPS; CPU占用大幅降低 :NPU独立处理视觉任务,CPU可专注ROS2通信与运动控制; 功耗更低 ,适合嵌入式移动机器人。 3.2 模型转换与部署流程 1.模型转换:下载
    发表于 04-10 21:23

    RK3576 + ROS2 进阶:NPU加速MixFormerV2目标跟随与机械臂抓取实战

    回顾上篇:基于RK3576+ROS2Humble+SLAMToolbox+Nav2,我们实现了机器人的建图与自主导航。机器人已经能够“走到哪里”。但真正的智能机器人不仅要“走到哪”,还
    的头像 发表于 04-10 08:04 6527次阅读
    RK3576 + <b class='flag-5'>ROS2</b> 进阶:NPU<b class='flag-5'>加速</b>MixFormerV<b class='flag-5'>2</b>目标跟随与机械臂抓取实战

    RK3562 单板机嵌入式 ROS2 开发指南:环境搭建与工程编译

    ROS2 软件包编译和单板机部署方法。创龙科技通过清晰的步骤与案例,帮助开发者高效实现 ROS2 在嵌入式平台的开发与应用,适用于机器人开发等相关场景。
    的头像 发表于 03-27 11:26 7388次阅读
    RK3562 单板机嵌入式 <b class='flag-5'>ROS2</b> 开发指南:环境搭建与工程编译

    开发必看,RK3576基于Ubuntu22.04安装 测试ROS2机器人系统

    (RobotOperatingSystem)和ROS2并非传统意义上的操作系统内核,而是面向机器人开发的开源软件框架,提供节点通信、硬件抽象、算法库、仿真调试等核心能力,降低
    的头像 发表于 03-13 17:48 375次阅读
    开发必看,RK3576基于Ubuntu22.04安装 测试<b class='flag-5'>ROS2</b><b class='flag-5'>机器人</b>系统

    ROS2 SLAM建图与导航实战--基于米尔RK3576开发板

    ? 在ROS2生态中,SLAM(同时定位与建图)与导航(Navigation)是机器人自主移动的核心技术。SLAM Toolbox由Steve Macenski主导开发,是基于成熟Karto SLAM
    发表于 03-12 17:55

    RK平台ROS2适配全指南:从编译到运行,手把手搞定嵌入式机器人开发

    在嵌入式机器人与智能硬件领域,瑞芯微(Rockchip)的 RK356x、RK3588 等 arm64 芯片凭借高性能、低功耗的优势,成为众多开发者的首选硬件平台;而 ROS2(Robot
    的头像 发表于 02-06 16:42 5179次阅读
    RK平台<b class='flag-5'>ROS2</b>适配全指南:从编译到运行,手把手搞定嵌入式<b class='flag-5'>机器人</b>开发

    初识ros2 功能包建立与可执行文件的配置

    本文介绍了ROS2程序的两种启动方式:直接运行可执行文件(ros2 run)和使用启动文件(ros2 launch)。重点讲解了Python软件包的结构,包括package.xml、setup.py
    的头像 发表于 01-22 13:41 430次阅读

    米尔RK3576成功上车!ROS2 Humble生态系统体验

    当RK3576的强劲“大脑”(四核A72+四核A53)与强大的GPU、VPU、NPU加速模块相遇,一场高性价比的机器人开发革命正在悄然发生。我们成功将完整的Ubuntu 22.04与ROS2
    发表于 01-15 18:30

    当国产芯遇上机器人:RK3576的ROS2奇幻之旅

    ROS2Humble生态系统,完美移植到了这颗国产芯片上。一个稳定、全功能的机器人软件开发平台已经就绪,现在就来一起探索它的强大魅力!一、系统启动与基础性能展示1.硬件平台简介开发
    的头像 发表于 01-15 08:04 1.1w次阅读
    当国产芯遇上<b class='flag-5'>机器人</b>:RK3576的<b class='flag-5'>ROS2</b>奇幻之旅

    探索RISC-V在机器人领域的潜力

    运行ROS 2,充分证明了RISC-V架构完全有能力承载机器人操作系统这样的复杂软件栈。它不仅是学习RISC-V的绝佳工具,更是探索未来边缘计算
    发表于 12-03 14:40

    ros2教程

    电子发烧友网站提供《ros2教程.pdf》资料免费下载
    发表于 05-23 09:12 1次下载

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    。 学习建议 对于初学者,建议先通过仿真(如Gazebo)验证算法,再迁移到真实机器人,以降低硬件调试成本。 多参与开源社区(如ROS2的GitHub项目),学习前沿技术并贡献代码,是快速提升实战能力
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    的非常好的,特别是一些流程图,很清晰的阐释了概念 很适合作为初学者入门的引路书 还能了解很多技术和框架,破除初学者的自负困境,让初学者知道功能是由很多开发者维护的,前人已经各种产品搭建了完善的框架。避免陷入得一个单打独斗的错觉 一直蠢蠢欲动
    发表于 04-30 01:05

    【「# ROS 2智能机器人开发实践」阅读体验】+ROS2应用案例

    地图构建,包括算法原理介绍、安装与配置方法、仿真环境中的SLAM以及真实机器人上的SLAM。 这一过程不仅涉及到计算机视觉和机器人学的知识,还需要对ROS
    发表于 04-27 11:42

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    机器人技术的飞速发展,ROS 2 作为其核心工具之一,开发者提供了强大的支持。与传统的理论书籍不同,本书深入浅出地讲解了 ROS
    发表于 04-27 11:24