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

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

3天内不再提示

通过NVIDIA ISAAC ROS传输改善ROS 2感知性能

星星科技指导员 来源:NVIDIA 作者:Gerard Andrews 2022-05-30 10:06 次阅读

自 2021 10 月以来, NVIDIA 和 Open Robotics 合作推出了两项重要的更改,现已发布在简陋的 ROS 2 版本中,以提高提供硬件加速器的计算平台的性能。

新的 ROS 2 简易硬件加速特性称为类型自适应和类型协商。 NVIDIA 将在下一次 NVIDIA ISAAC ROS 发布( 2022 年 6 月底)中发布一个实现类型自适应和类型协商的软件包。

这些简单但功能强大的框架添加将显著提高开发人员的性能,这些开发人员希望将人工智能/机器学习计算机视觉功能纳入其基于 ROS 的应用程序中。

Open Robotics 首席执行官布莱恩·格基( Brian Gerkey )表示:“随着 ROS 开发人员向其机器人应用程序添加更多的自主权,机器人上的计算机正变得更加强大。我们一直在努力改进 ROS 框架,以确保它能够利用这些边缘计算机中的高性能硬件资源。”。

“与 NVIDIA robotics 团队密切合作,我们很高兴在谦逊的版本中分享新功能(类型调整和协商),这将有助于整个 ROS 社区努力接受硬件加速。”

消除硬件加速的开销

类型自适应

硬件加速器通常需要不同的数据格式来提供最佳性能。类型适配( REP-2007 )现在可用于 ROS 节点以更适合硬件的格式工作。处理管道可以使用自适应类型消除 CPU 和内存加速器之间的内存拷贝。不必要的内存拷贝会消耗 CPU 计算、浪费电源并降低性能,尤其是随着图像大小的增加。

类型协商

另一个新的创新是类型协商( REP-2009 )。处理管道中的不同 ROS 节点可以公布其支持的类型,以便选择产生理想性能的格式。 ROS 框架执行此协商过程,并与不支持协商的遗留节点保持兼容性。

使用类型适配和协商加速处理管道使硬件加速器零拷贝成为可能。这减少了软件开销,并释放了底层硬件的潜力。随着机器人专家迁移到更强大的计算平台,如 NVIDIA Jetson Orin ,他们可以期望实现硬件带来的更多性能增益。

这些更改完全在 ROS 2 内部完成,这确保了与现有工具、工作流和代码库的兼容性。

Two examples of hardware accelerated compute graphs.

图 1 :。比较有无类型调整和协商的硬件加速管道

类型适应和协商已显示出有希望的结果。在 ROS 2 Foxy 和 ROS 2 Humble 上运行了一个由 ROS 节点图组成的基准测试,每个节点的计算量最小,因此我们可以观察底层框架的性能。我们在 Jetson AGX Xavier 和新的 Jetson AGX Orin 。我们观察到 Xavier 提高了 3 倍, Orin 提高了 7 倍。

Bar Chart of Framework Performance

图 2 :。类型适应框架在 Jetson AGX Xavier 和 Jetson AGX Orin 上比较 ROS 2 Foxy 和 ROS 2 Humble 的基准性能

引入 NVIDIA ISAAC 用于 ROS 运输

类型自适应和协商的 NVIDIA 实现称为 NITROS 。这些是由 ISAAC ROS 硬件加速模块(又称 GEMs )组成的 ROS 处理管道。这些管道将于 2022 年 6 月底在 ISAAC ROS 开发商预览( DP )中提供。 NITROS 的首次发布将包括三条管道,计划在今年晚些时候推出更多管道。

表 1 :。 DP 释放中的 NITROS 管道

强大的新型 GEMs 辅助机器人感知

除了 NITROS 加速管道外, ISAAC ROS DP 版本还包含两个新的基于 DNN 的 GEM ,旨在帮助机器人专家完成常见的感知任务。

第一个 GEM ESS 是用于立体相机视差预测的 DNN 。 网络 为机器人应用提供基于视觉的连续深度感知。

另一个 GEM , Bi3D ,是用于基于视觉的障碍预测的 DNN 。基于 NVIDIA Research 的开创性工作,对 DNN 进行了改进,以检测自由空间,同时预测障碍物。该网络可预测障碍物是否位于立体摄像头的四个可编程邻近区域之一内。

Bi3D 经过优化,可在 NVIDIA DLA 硬件 上运行。利用 DLA ,可以同时保留 GPU 和 CPU 计算资源。

Bi3D 和 ESS 都经过预训练,可用于使用 synthetic 和真实数据的机器人应用,并用于商业用途。这两款新的 ISAAC ROS Gem 加入了之前发布的经典计算机视觉立体深度视差例程 stereo \ u image \ u proc ,为立体相机深度感知提供三种不同的独立功能。

图 3 :。比较合成相机图像(顶部)和无活动投影的 RGB 立体相机图像捕获的结果(底部)。从左到右:具有地面自由空间的四个邻近场的三维 DNN 预测; ESS-DNN 连续深度预测;经典 CV 立体视差函数

表 2 :。可用 ROS GEM 软件包

快速入门

有兴趣将 NVIDIA AI 感知集成到其产品中的 ROS 开发人员应该从今天开始 ISAAC ROS .

关于作者

Gerard Andrews 是专注于机器人开发社区的高级产品营销经理。在加入 NVIDIA 之前,Gerard在Cadence担任产品营销总监,负责许可处理器IP的产品规划、营销和业务开发。他拥有佐治亚理工学院电子工程硕士学位和南方卫理公会大学电子工程学士学位。

审核编辑:郭婷

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

    关注

    211

    文章

    28405

    浏览量

    207015
  • NVIDIA
    +关注

    关注

    14

    文章

    4985

    浏览量

    103025
  • AI
    AI
    +关注

    关注

    87

    文章

    30830

    浏览量

    268990
收藏 人收藏

    评论

    相关推荐

    ROSCon China 2024 | RDK第一本教材来了!地瓜机器人与古月居发布新书《ROS 2智能机器人开发实践》

    12月7日-8日,为期两天的ROSCon China 2024在上海圆满落幕,来自全球的ROS专家学者、开发者、企业代表齐聚一堂,共享机器人前沿技术成果。地瓜机器人携手众多RDK生态产品亮相,并联手古月居共同推出首本基于RDK机器人开发者套件的教材——《ROS
    的头像 发表于 12-10 18:48 360次阅读
    ROSCon China 2024 | RDK第一本教材来了!地瓜机器人与古月居发布新书《<b class='flag-5'>ROS</b> <b class='flag-5'>2</b>智能机器人开发实践》

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

    Demoplatform-demosros2_foxybin”目录下,请先参考《Linux系统启动卡制作及系统固化》文档,将镜像文件update.img通过“瑞芯微创建升级磁盘工具”制作SD启动卡(即ROS系统启动卡),然后将
    发表于 07-09 11:38

    如何在ROS中调用.so文件

    设备 笔者有一个需求,需要结合ROS做模拟量采集。有一种解决方法是ADC芯片+STM32主控,通过串口的方式与上位机通信,但串口通信速度很慢,达不到要求遂放弃。也考虑过使用NI的数据采集卡,貌似NI
    发表于 07-02 14:44

    用悟空派全志H3开发板做一个基于ROS系统的全向轮小车

    ,基于ROS系统通过键盘将速度指令下发到小车底盘上的STM32控制器。STM32负责驱动全向轮小车的运动,并将实时的速度数据反馈回ROS系统。 这种设计使得小车具备了高度的机动性和精准的运动控制。
    发表于 05-06 11:15

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

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

    请问STM32MP157上可以安装ROS吗?

    请问一下,STM32MP157上可以安装ROS吗?
    发表于 03-26 06:50

    SLAMWARE ROS SDK的基础架构、部署方法和应用示例介绍

    ROS作为机器人行业应用最广泛的基础架构之一,是很多用户开发机器人应用的首选框架,如果要在基于ROS开发的系统中集成思岚科技的机器人底盘或者SLAMKit建图定位解决方案,有什么最便捷的方法呢?ROS SDK就是为此而生。
    的头像 发表于 03-21 10:44 906次阅读
    SLAMWARE <b class='flag-5'>ROS</b> SDK的基础架构、部署方法和应用示例介绍

    EtherCAT运动控制器在ROS上的应用开发案例(下)

    本篇文章我们主要介绍正运动技术动态链接库环境配置以及EtherCAT运动控制器在ROS下的单轴运动。
    的头像 发表于 03-17 11:11 926次阅读
    EtherCAT运动控制器在<b class='flag-5'>ROS</b>上的应用开发案例(下)

    EtherCAT运动控制器在ROS上的应用(下)

    正运动技术动态链接库环境配置以及EtherCAT运动控制器在ROS下的单轴运动。
    的头像 发表于 03-13 14:54 585次阅读
    EtherCAT运动控制器在<b class='flag-5'>ROS</b>上的应用(下)

    EtherCAT运动控制器在ROS上的应用(上)

    本文以正运动技术EtherCAT运动控制器ZMC432和ZMC408CE为例,介绍正运动技术运动控制器在ROS上的应用开发。
    的头像 发表于 03-06 11:47 1205次阅读
    EtherCAT运动控制器在<b class='flag-5'>ROS</b>上的应用(上)

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

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

    ROS系统的智能车开发-基于米尔芯驰MYD-JD9X开发板

    本篇测评由电子工程世界的优秀测评者“mameng”提供。本文将介绍基于米尔电子MYD-JD9X开发板的ROS系统智能车开发。目前实现ROS的方式主要有两种:Ubuntu系统+ROS;Ubuntu系统+docker+
    的头像 发表于 01-26 08:01 925次阅读
    <b class='flag-5'>ROS</b>系统的智能车开发-基于米尔芯驰MYD-JD9X开发板

    ROS2 robot-localization配置方案

    robot_localization是一个ROS的包,基于卡尔曼滤波,对多种传感器进行数据融合,进而完成机器人的定位。近期确实遇到了需要实现更高精度定位的问题,在多方考虑下其中一部分优化方法就是引入了robot-localization库,这个库的引入还是比较简单的,但是实际上的操作方式还是和大家分享一下。
    的头像 发表于 01-22 11:34 1.3w次阅读

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

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

    ros怎么设置环境变量

    设置ROS环境变量是使用ROS的重要步骤之一。本文将详细介绍如何设置ROS环境变量,包括什么是环境变量、为什么要设置ROS环境变量、如何设置ROS
    的头像 发表于 12-28 13:52 2060次阅读