自主移动机器人 (AMR) 越来越受欢迎,功能越来越强大,特别是像 Analog Devices 这样的制造商开发出越来越智能的传感器和控制系统来帮助机器人导航。在本文中,了解有关使用 ROS2 软件包、ADI ToF 传感器、ADI 惯性测量单元和 NVIDIA Jetson AGX Orin 开发套件在配备 ROS2 的机器人上执行 AMR 导航的更多信息。
关于
- 本网站面向机器人开发人员,他们希望使用 ROS2 软件包、EVAL-ADTF3175D-NXZ 飞行时间传感器、ADIS16470 惯性测量单元 和 NVIDIA Jetson AGX Orin 开发套件,在支持 ROS2 的机器人上执行自主移动机器人导航。
- 网站包含硬件和软件要求的信息、单个组件的设置说明、传感器与 AGX Orin 套件的接口说明,以及使用 RTAB-Map 和传感器融合的机器人导航教程。
目录
- AMR 概述系统 包含系统框图的简要细节,显示了各个部分是如何相互连接的。
- 在运行整个导航管道之前,必须设置 AGX Orin 套件、EVAL-ADTF3175D-NXZ 模块和 ADIS16470 IMU 的先决条件。有关 ROS2 设置和必要的相关软件包的信息可在 软件要求 中找到。
- 为了避免将来出现任何软件依赖性错误,我们建议仔细遵循此步骤。ToF 设置 为 EVAL-ADTF3175D-NXZ 提供了刷新图像的标准方法。
- 要通过 AGX Orin 上的 USB 连接惯性测量单元 ADIS16470,需要额外的连接。IMU 设置 中提供了 ADIS16470 的具体设置说明。
- 用户必须能够在 AGX Orin 中访问来自 EVAL-ADTF3175D-NXZ 的红外和深度数据,以遵循 TOF 与 AGX Orin 接口 中的说明。为了简化与 ROS2 软件堆栈的集成,这些数据将以 ROS2 主题的形式呈现。
- 同样,按照 IMU 与 AGX Orin 接口 中的说明,可以在 ROS2 主题中访问 ADIS16470 IMU 数据。
- 创建周围环境的地图对于 AMR 执行自主导航至关重要。在我们的案例中,我们使用众所周知的 RTAB-Map 算法从飞行时间传感器数据创建地图。RTAB-Map 库以 ROS2 软件包的形式提供。按照 TOF 与 RTABMAP 接口 中的说明,确定 RTAB-Map 是否仅适用于 EVAL-ADTF3175D-NXZ 传感器。
- AMR 上的 TOF 导航教程 和 AMR 上的传感器融合和 TOF 导航教程 都提供了在 EIC 开发的 AMR 上进行自主导航的综合教程。该 AMR 由 AGX Orin 控制,并连接了外部传感器 EVAL-ADTF3175D-NXZ 和 ADIS16470。
- 拥有自己的定制 AMR 的客户可以在 使用非 EIC AMR 中找到一份专门的指南,了解如何将他们的 AMR 与本指南中提到的系统集成。本节还讨论了软件更改,以便可以根据他们的需求定制该系统。
概览系统
- 图 1 显示了基于 ToF 的 AMR 导航系统的高级系统框图。整个软件栈都是用机器人操作系统 (ROS) 设计的。在我们的 AMR 中,AGX Orin 套件充当核心处理器,通过 docker 的所有 ROS2 普通节点都在其上运行,AMR 的运动受到控制。作为外部传感器,EVAL-ADTF3175D-NXZ 和 ADIS16470 连接到 AGX Orin。EVAL-ADTF3175D-NXZ 配备了一个 I.MX8 嵌入式板,包括传感器驱动器和 ROS 节点软件包。它通过 USB 连接到 AGX Orin,并以 ROS1 格式发布所有主题。

AMR 导航系统框图
- 由于该系统是在 ROS2 中开发的,我们使用 AGX Orin 内部的 ros1 桥包将 ToF 的 ROS1 主题移植到 ROS2。用于导航的其他 ROS2 Humble 节点包括 RTAB-Map 节点、机器人定位节点、NAV2 节点和 IMU 驱动程序节点,它们运行在 ROS2 humble docker 容器中,如上图所示。
- 在 EIC 开发的 AMR 中,低级电机控制和车轮里程表是使用 micro-ROS 代理处理的。在 Jetson AGX Orin 上,运行着一个微 ROS 代理,它通过串行接口与微控制器通信。此外,微控制器将来自 Jetson 的控制信号发送给电机驱动器,并将车轮编码器反馈给 Jetson。该设置仅适用于 EIC 开发的 AMR。对于任何定制 AMR,处理低级电机控制和车轮编码器反馈机制的设置可能会有所不同。详情可参考博客:点击此处
注:RTAB-Map 采用外部里程计作为输入,以利用其 SLAM(同步定位和绘图)算法。在 EIC 开发的 AMR 中,我们使用车轮里程计作为外部里程计源。我们使用传感器融合来改进里程计,通过使用 ROBOT_LOCALIZATION (EKF) 软件包将 IMU 数据与车轮里程计相结合。