AMR 导航使用配备 Intel Realsense 相机的 ISAAC ROS VSLAM 和 Nvblox

机器人导航背后的技术一直在不断发展,但在真正实现自主之前,还有一些主要障碍需要清除。来自 NVIDIA 的新解决方案使这下一步更加现实。在本文中,了解 GPU 加速的 ROS 和 ROS2 系统,加上 VSLAM 算法和 Nvblox 软件包,如何使用更少的 CPU 功率实现更高效的自主机器人导航 (AMR)。

前言

自主导航是机器人系统的重要一步。自主移动机器人 (AMR) 导航的基本要素之一是“视觉 SLAM”,即视觉同步定位和地图绘制。视觉 SLAM 是一种使用摄像机捕捉的图像来同时绘制环境地图和估计机器人位置的技术。用于火星探索的凤凰号着陆器、机遇号漫游车和独创性直升机利用视觉 SLAM 算法进行自主导航和着陆。进一步的应用包括真空清洁、内窥镜检查和无人驾驶的空中、地面和水下机器人,其中机器执行自动化任务。

视觉 SLAM 需要强大的计算能力来估计姿势,并从相机获取的图像中生成地图。大多数视觉 SLAM (VSLAM) 算法使用 CPU 能力,这限制了实时姿势估计和地图创建。Isaac ROS(机器人操作系统)、VSLAM 和 Nvblox 是 GPU 加速的 ROS2 软件包,可帮助估计姿势并创建周围环境的地图,以便实时导航自主移动机器人。进行实验以观察 Isaac ROS VSLAM 和 Nvblox 与 Realsense 相机在 AMR 自主导航方面的工作情况。

NVIDIA ISAAC ROS 视觉 SLAM 和 Nvblox 管道

图 1 显示了 NVIDIA ISAAC ROS 视觉 SLAM 和 Nvblox 管道的工作和集成。在这里,VSLAM 估计姿势,Nvblox 为机器人的自主导航重建周围环境的地图。

Block Diagram of Isaac ROS VSLAM and Nvblox
图 1:Isaac ROS VSLAM 和 Nvblox 的框图

NVIDIA Isaac ROS VSLAM 是一个 ROS2 软件包,可同时执行立体视觉定位和映射。它使用一对时间同步的立体图像计算立体视觉惯性里程计,并使用 Isaac Elbrus GPU 加速库。视觉惯性里程计、优化和映射是 Isaac ROS VSLAM 的三个组成部分。视觉里程计 (VO) 是一种估计相机相对于其起始点的位置的技术。图 1 中所示的 VO 姿势是由 VO 估算的。视觉同步定位和映射 (VSLAM) 方法建立在 VO 姿势之上,旨在通过闭环检测和使用先前看到的环境部分估计 SLAM 姿势来提高 VO 姿势的质量。除了视觉数据,Elbrus 还可以使用惯性测量单元 (IMU) 的测量值。当 VO 无法估计姿势时,例如当光线不足或相机前面有一个长而无特色的表面时,它会切换到 IMU。图 1 显示了 V-SLAM 估计的 SLAM 姿势。

NVIDIA Isaac ROS Nvblox 是一个 ROS2 软件包,用于从相机图像中实时 3D 重建 AMR 周围的环境。该重构旨在被路径规划者用来生成安全的导航路径。Nvblox 利用 NVIDIA CUDA 来加速这一过程,并实现实时操作。该存储库包含针对 Nvblox 核心库的 ROS2 集成。Nvblox 算法由三个关键组件组成:截断带符号距离函数 (TSDF)、网格和欧几里得带符号距离函数 (ESDF)。Nvblox 使用 RGB 图像、深度图像和 SLAM 姿势作为输入,并输出用于可视化的网格和用于路径规划的距离切片图。Nvblox 从 RGB 和深度图像流以及深度图像的相应姿势生成 2D 距离图切片和 3D 网格。用于对周围环境的 3D 重建进行着色以便可视化的 RGB 图像流是可选的。2D 距离图切片显示了每个点与最近的重建障碍物之间的距离,以及用于 RVIZ 可视化的 3D 网格。用于可视化的周围环境的 3D 重建是可选的。2D 距离图切片显示每个点和最近的重建障碍之间的距离,以及用于 RVIZ 可视化的 3D 网格。

Isaac ROS VSLAM、Nvblox 和 Nav2 堆栈管道的说明

使用 Isaac ROS V-SLAM、Nvblox 和 Nav2 堆栈的 AMR 自主导航的整个管道如图 2 所示。该管道由五个节点组成:Realsense 相机节点、Isaac ROS V-SLAM 节点、Isaac ROS Nvblox 节点、Nav2 节点和 Rviz 节点。以下段落解释了每个模块。

Isaac ROS VSLAM Nvblox and NAV2 pipeline
图 2:Isaac ROS VSLAM、Nvblox 和 NAV2 管道

Realsense 相机节点从 Realsense 相机捕获图像,并发布 RGB、深度、infra-1 和 infra-2 图像。Infra-1 和 Infra-2 是红外图像。infra-1 和 infra-2 图像由 Isaac ROS V-SLAM 模块订阅,它发布姿势和 tf。Isaac ROS Nvblox 模块通过订阅 RGB 图像、深度图像、姿势和 if 来生成距离切片图。对于路径规划和导航,Nav2 节点利用距离切片图。Nav2 节点是允许 AMR 通过使用当前姿势、地图和目标(例如目的地姿势)自主到达目标状态的控制系统。Nav2 节点成功绘制了到达目标状态的路径,并向 AMR 发送命令,以沿着规划的路径到达目标位置。Rviz 是一个有用的工具,用于可视化图像、里程计和生成的地图,并为 AMR 提供目标姿势。

实验结果

图 3 显示了 AMR,它通过安装在其上的实感摄像头看到的内容,以及作为网格生成的 3D 点云地图。图 4 显示了创建的地图,其中包含给定的目标状态、计划路径以及 AMR 通过遵循计划路径安全到达目标状态。

AMR images with generated 3d map
图 3:左侧图像显示了实验室环境中的 AMR,中间图像显示了 AMR 看到的内容,右侧图像显示了生成的 3D 网格图

AMR generated map goal state
图 4:左侧图像显示了生成的具有给定目标的地图,第二个图像描述了规划的路径,右侧的第三个图像显示 AMR 已到达目标状态

结论

为了在实验室中自主导航 AMR,Intel RealSense 相机已集成到 Isaac ROS VSLAM、Isaac ROS Nvblox 和 Nav2 堆栈中。为了测绘和导航的目的,AMR 在实验室环境中移动。Isaac ROS VSLAM 成功估算了 AMR 的里程表,同时还创建了 AMR 周围的环境地图。由于 GPU 加速,NVIDIA Isaac ROS VSLAM 和 Nvblox 管道提供了实时性能。同时,VSLAM 算法在地图上定位其位置,并创建用于安全导航的地图。我们希望展示我们的实验将有助于机器人工程师开发各种商业机器人产品。更多详情,您可以联系作者。


最新消息

Sorry, your filter selection returned no results.

请仔细阅读我们近期更改的隐私政策。当按下确认键时,您已了解并同意艾睿电子的隐私政策和用户协议。

本网站需使用cookies以改善用户您的体验并进一步改进我们的网站。此处阅读了解关于网站cookies的使用以及如何禁用cookies。网页cookies和追踪功能或許用于市场分析。当您按下同意按钮,您已经了解并同意在您的设备上接受cookies,并给予网站追踪权限。更多关于如何取消网站cookies及追踪的信息,请点击下方“阅读更多”。尽管同意启用cookies追踪与否取决用户意愿,取消网页cookies及追踪可能导致网站运作或显示异常,亦或导致相关推荐广告减少。

我们尊重您的隐私。请在此阅读我们的隐私政策。