Uncategorized

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

 

自 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 的首次发布将包括三条管道,计划在今年晚些时候推出更多管道。

NITROS Pipeline ROS 2 Nodes in Pipeline
AprilTag Detection Pipeline ArgusCameraMono (Raw Image) – Rectify – (Rectified Image) – AprilTag (AprilTag Detection)
Stereo Disparity Pipeline ArgusCameraStereo (Raw Image) – Rectify – (Rectified Image) – ESSDisparity (DNN Inference) – PointCloud (Point Cloud Output)
Image Segmentation Pipeline ArgusCameraMono (Raw Image) – Rectify – (Rectified Image) – DNNImageEncode (DNN Pre-Processed Tensors) – Triton (DNN Inference) – UNetDecode (Segmentation Image)
表 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 ,为立体相机深度感知提供三种不同的独立功能。

Comparing results of depth perception on real and synthetic images
图 3 :。比较合成相机图像(顶部)和无活动投影的 RGB 立体相机图像捕获的结果(底部)。从左到右:具有地面自由空间的四个邻近场的三维 DNN 预测; ESS-DNN 连续深度预测;经典 CV 立体视差函数
Isaac ROS 2 GEM Description
Image Pipeline Camera Image Processing
NVBlox 3D Scene Reconstruction
Visual SLAM VSLAM and Stereo Odometry
AprilTags Apriltag Detection and Pose Estimation
Pose Estimation 3D Object Pose Estimation
Image Segmentation Semantic Image Segmentation
Object Detection DNN for Object Detection using DetectNet
DNN Inference DNN Node for using Triton/TensorRT
Argus Camera CSI/GSML Camera Support
表 2 :。可用 ROS GEM 软件包

快速入门

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

 

Tags