通过NVIDIA Isaac ROS传输改善ROS 2应用的感知性能
2022-07-08 19:48
自 2021 年 10 月起,NVIDIA 和 Open Robotics 开始合作并推出了两项重要的改动,现已发布在 Humble ROS 2 版本中,以提高提供硬件加速器的计算平台的性能。
新的 ROS 2 Humble 硬件加速特性包括类型适配和类型协商。NVIDIA 已于 2022 年 6 月底发布 NVIDIA Isaac ROS 并推出一个实现类型适配和类型协商的软件包。
这些对框架的补充虽然简单,但功能强大,并且能够显著提高性能。开发人员希望将 AI / 机器学习和计算机视觉功能纳入其基于 ROS 的应用程序中。
Open Robotics 首席执行官 Brian Gerkey 表示:“随着 ROS 开发人员向其机器人应用程序添加更多的自主权,机器人上的计算机正变得更加强大。我们一直在努力改进 ROS 框架,以确保它能够利用这些边缘计算机中的高性能硬件资源。”。
“我们与 NVIDIA 机器人团队密切合作,并且很高兴在 Humble 版本中分享新功能(类型适配和类型协商),这将有助于整个 ROS 社区去接受硬件加速。”
消除硬件加速的开销
类型适配
硬件加速器通常需要不同的数据格式来提供最佳性能。类型适配(REP-2007)现在可用于 ROS 节点,使其以更适合硬件的格式工作。处理管道可以使用自适应类型消除 CPU 和内存加速器之间的内存拷贝。不必要的内存拷贝会消耗 CPU 计算、浪费电力并降低性能,尤其是随着图像大小的增加。
类型协商
另一个新的创新是类型协商(REP-2009)。处理管道中的不同 ROS 节点可以公布其支持的类型,以便选择产生理想性能的格式。ROS 框架执行此协商过程,并与不支持协商的遗留节点保持兼容性。
使用类型适配和协商加速处理管道,让硬件加速器零拷贝成为可能。这减少了软件开销,并释放了底层硬件的潜力。随着机器人专家向 NVIDIA Jetson AGX Orin 等更强大的平台迁移,他们可以期望实现更多硬件性能的提升。
这些改动完全在 ROS 2 内部完成,这确保了与现有工具、工作流和代码库的兼容性。
图 1. 有无类型适配和类型协商的硬件加速管道对比
类型适配和类型协商已显示出有希望的结果。在 ROS 2 Foxy 和 ROS 2 Humble 上运行了一个由 ROS 节点图组成的基准测试,每个节点的计算量最小,因此我们可以观察到底层框架的性能。我们在 NVIDIA Jetson AGX Xavier 和新的 NVIDIA Jetson AGX Orin 运行了这一基准测试,我们观察到 NVIDIA Jetson AGX Xavier 有 3 倍的提高,而 NVIDIA Jetson AGX Orin 有惊人的 7 倍提高。
图 2. 类型适配框架在 NVIDIA Jetson AGX Xavier 和 NVIDIA Jetson AGX Orin 上比较 ROS 2 Foxy 和 ROS 2 Humble 的基准性能
引入 NVIDIA Issac 用于 ROS 传输
NVIDIA 对类型适配和协商的实现称为 NITROS。这些是由 Isaac ROS 硬件加速模块(又称为 GEMs)组成的 ROS 处理管道。这些管道在 Isaac ROS 开发者预览(DP)中提供,并且已于 2022 年 6 月底发布。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 都经过预训练,可应用于使用合成和真实数据的机器人,并拟用于商业用途。这两款新的 Isaac ROS GEM 加入了 stereo_image_proc,这是此前发布的经典计算机视觉立体深度视差程序,为立体相机深度感知提供了三种不同的、独立的功能。
图 3. 比较合成相机图像(顶部)和无活动投影的 RGB 立体相机图像捕获的结果(底部)。从左到右:拥有地面自由空间的四个邻近场的三维DNN 预测;ESS DNN 连续深度预测;经典 CV 立体视差函数
表 2. 可用的 ROS GEM 软件包
快速入门
ROS 开发人员若有兴趣将 NVIDIA AI 感知集成到其产品中,可以从今天开始使用 Isaac ROS。
复制链接,了解关于 Isaac ROS 更多详情
https://developer.nvidia.com/isaac-ros