我们的社会处于不断变化之中。想象一个城市:行人、骑自行车的人、汽车、公共汽车等等——无时无刻不在不可预测地移动。为了让自主移动机器人 (AMR) 在这种环境中真正茁壮成长,它们需要能够以智能的方式观察和解释它们的周围环境。在本文中,学习使用 RTAB-Map 和 ToF 传感器实现机器人真正自主导航的有效方法。
前言
探索是机器人自主导航的一个重要方面。同步定位与地图创建 (SLAM) 是使机器人能够在未知环境中导航和地图创建的基本技术。视觉同步定位和绘图,或视觉 SLAM (VSLAM),是一种特定类型的 SLAM,它使机器人能够使用来自摄像机的视觉输入实时绘制其周围环境并估计其自身位置,即里程计。这项技术已经广泛应用于各种应用中,包括火星漫游车、火星直升机、地面机器人、水下机器人和真空清洁机器人。我们已经进行了调查,以了解飞行时间 (ToF) 相机与 RTAB-Map 在仅使用深度图像的自主移动机器人 (AMR) 的自主导航方面的合作情况。ToF 相机捕捉红外 (IR) 和深度图像。深度图像被用来创建 3D 点云。RTAB-Map 使用 3D 点云和车轮里程计来输出校正里程计和 2D 占用栅格地图,用于 AMR 的自主导航。
什么是飞行时间 (ToF) 相机?
ToF 相机是一款基于 ADSD3100 TOF 信号处理器的 Analog Devices 深度相机。除了 USB、以太网或 Wi-Fi 连接到主机之外,它还支持嵌入式处理器平台上的数据处理。ToF 相机设计用于工业、汽车和消费应用。它使用飞行时间方法来计算场景中对象的距离,使其能够创建精确的深度图。ToF 相机提供红外 (IR) 和深度图像,如图 1 所示。

RTAB-Map 的架构
基于外观的实时映射 (RTAB-Map) 是一种基于图形的 SLAM 技术。RTAB-Map 结合了基于外观的闭环检测器方法和内存管理方法来处理大规模和长期的在线映射。里程计,即 AMR 的姿势,是 RTAB-Map 的外部输入。因此,可以使用适合给定应用的任何类型的里程计,包括车轮里程计、视觉里程计和 ICP 里程计。RTAB-Map 可以使用四种不同的输入配置:
- RGB 图像、深度图像和里程计
- 立体图像和里程计
- 3D 点云和里程计
- 2D 激光扫描和里程计
图 2 描述了 RTAB-Map 的不同区块。3D 点云和里程计是 RTAB-Map 在我们的用例中使用的输入。此外,它需要两个输入变换:从 odom 到 base_link 的变换和从 base_link 到 camera_link 的变换。RTAB-Map 输出地图到里程表变换,2D 占用栅格地图,并修正里程表。RTAB-Map 节点由以下模块组成:同步、短期记忆 (STM)、长期记忆 (LTM)、环路闭合和邻近检测、图优化和全局映射组装。

使用 ToF 相机的 RTAB-Map 和 Nav2 堆栈管道的工作流程
使用 rtabmap、ToF 相机和 Wheel-IMU 融合里程计执行 AMR 自主导航的整个流程如图 3 所示。Wheel-IMU 融合里程计是通过在扩展卡尔曼滤波器的帮助下融合车轮编码器数据和 IMU 数据来获得鲁棒里程计。我们可以看到,有七个节点:ToF 相机节点、image_proc 节点、点云节点、rtabmap 节点、wheel-IMU 融合里程计节点、Nav2 节点和 Rviz 节点。下一段解释了这些节点的功能。

管道中的第一个节点是 ToF 相机节点,它可以捕捉红外和深度图像。然后由 image_proc 节点对捕获的图像进行校正,以消除切向和径向失真。校正后的红外图像用于 Rviz 中的可视化。点云节点从校正的深度图像生成 3D 点云。Wheel-IMU 融合里程计节点使用车轮编码器和 IMU 数据来估计 AMR 的里程计。rtabmap 节点使用 wheel-IMU 融合的里程计和生成的点云来产生 2D 占用栅格地图和校正的里程计(即,姿势)。Nav2 节点使用生成的占用栅格地图和里程计来生成用于 AMR 的路径规划和自主导航的成本地图。最后,Rviz 节点被用作可视化工具来显示 IR 图像、里程计和占用栅格地图。它还允许设置 AMR 的目标姿势。总体而言,管道结合了各种传感器和节点,以实现 AMR 的自主导航。
实验结果的讨论
图 3 显示了 AMR,它通过安装在其上的实感摄像头看到的内容,以及作为网格生成的 3D 点云地图。图 4 显示了创建的地图,其中包含给定的目标状态、计划路径以及 AMR 通过遵循计划路径安全到达目标状态。


此外,使用 ToF 相机的校正深度图像生成的点云将真实世界中的平面显示为点云中的曲面。因此,需要后处理来解决这个问题。图 6 显示了点云过滤前和点云过滤后的占用栅格地图。此窗口中的蓝线表示 AMR 的估计里程。

图 7 展示了自主导航过程的各个阶段。左侧的第一幅图显示了 AMR 当前姿势下生成的地图。地图由 rtabmap 节点使用 wheel-IMU 融合里程计和点云生成。中间的第二个图形描绘了目标位置和计划的路径。一旦在 Rviz 中设置了目标位置,Nav2 节点就使用从占用栅格地图和里程计姿势生成的成本地图来规划路径。规划的路径显示在 Rviz 中以便可视化。最后,右侧的第三个数字显示 AMR 已达到目标状态。一旦规划了路径,AMR 就使用校正的里程计姿势和成本图来导航到目标位置。AMR 使用 wheel-IMU 融合的里程计和占用栅格地图不断更新其位置,并调整其轨迹以遵循规划的路径。当 AMR 到达目标位置时,就停止,导航过程完成。

结论
ToF 相机已经集成到 RTAB-Map 和 Nav2 堆栈中,以便在实验室环境中自主导航 AMR。在将 ToF 与 RTAB-Map 一起用于 AMR 的自主导航时面临各种挑战。ToF 提供的红外和深度图像必须进行校正,因为未经校正的深度图像可能导致地图不准确。我们观察到平面物体在点云中看起来是弯曲的,这些通过点云后处理得到解决。在将点云交给 RTAB-Map 之前,需要对其进行过滤。与此同时,AMR 正在构建地图,并使用来自 ToF 的深度图像和 RTAB-Map 算法在地图上定位其位置,以实现安全导航。我们还看到了使用 ToF 相机和 RTAB-Map 的 AMR 的成功自主导航。我们认为我们的实验结果将加速 ToF 在一系列商业机器人系统中的应用。