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的产品规划、营销和业务开发。他拥有佐治亚理工学院电子工程硕士学位和南方卫理公会大学电子工程学士学位。

审核编辑:郭婷

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

    关注

    210

    文章

    28191

    浏览量

    206480
  • NVIDIA
    +关注

    关注

    14

    文章

    4934

    浏览量

    102794
  • AI
    AI
    +关注

    关注

    87

    文章

    30098

    浏览量

    268375
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    ros怎么设置环境变量

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

    使用 NVIDIA Isaac 仿真并定位 Husky 机器人

    如何使用 ROS 2 Husky 官方软件包将该机器人导入 NVIDIA Isaac Sim 并创建仿真。 本 Demo 中的 Husky 机器人配备了
    的头像 发表于 12-26 18:05 1237次阅读
    使用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 仿真并定位 Husky 机器人

    在TogetherROS中如何安装ROS2功能包

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

    ROS通信接口机制介绍

    ROS通信接口 接口可以让程序之间的依赖降低,便于我们使用别人的代码,也方便别人使用我们的代码,这就是ROS的核心目标,减少重复造轮子。 ROS有三种常用的通信机制,分别是话题、服务、动作,
    的头像 发表于 12-01 15:03 780次阅读
    <b class='flag-5'>ROS</b>通信接口机制介绍

    利用 NVIDIA Isaac Transport for ROS 提升自定义 ROS 图形性能

    NVIDIA Isaac Transport for ROS(NITROS) 是随 ROS 2 Humble 加入的两项硬件加速功能——类型
    的头像 发表于 11-30 19:35 589次阅读
    利用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> Transport for <b class='flag-5'>ROS</b> 提升自定义 <b class='flag-5'>ROS</b> 图形<b class='flag-5'>性能</b>

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

    库的支持,ROS系统提供丰富且功能强大的机器人算法库,如坐标变换、运动控制等。机器人开发者可根据开发需要,简单快捷地调用合适的算法库,以提高开发效率,加快开发进程。 (2) 开源免费,架构精简ROS系统
    发表于 11-30 16:01

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

          Tronlong创龙科技ROS让机器人开发更便捷;我们来看看具体的。 ROS系统是什么 ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统。它提供
    的头像 发表于 11-30 14:41 4451次阅读
    <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 904次阅读
    <b class='flag-5'>ROS2</b>中自带例程测试

    ros1和ros2的通信模型

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

    ros的基本概念是什么

    基本概念: ROS是一个用于在不同进程间匿名的发布、订阅、传递信息的中间件。 ROS2系统的核心部分是ROS网络(ROS Graph)。 ROS
    的头像 发表于 11-27 11:21 1745次阅读

    如何创建新的ROS工作空间

    创建新的ROS工作空间 由于ROS Motion Planning运动规划库与Navigation导航包存在一些同名但源码和功能不同的功能包,比如global_planne。 因此,个人推荐创建一个
    的头像 发表于 11-26 17:09 1359次阅读
    如何创建新的<b class='flag-5'>ROS</b>工作空间

    DDS在ROS2中的应用

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