找回密码
立即注册
搜索
发回帖 发新帖

5949

积分

0

好友

750

主题
发表于 17 小时前 | 查看: 1| 回复: 0

摘要

AMR(自主移动机器人)与 AGV(自动导引车)的集成难点,主要在于传感器、电机、导航与 AI 决策的跨子系统协调。硬件层要选型、设计接口并验证信号完整性与定时;软件层要加载驱动、定义数据流并保证实际工况可预测。自研常常重复实现现货功能,还容易陷入专有接口锁定。利用 ROS 2 标准化节点通信,配合 ADI 的 TMCM-2611-AGV 驱动,可以明显缩短 AMR/AGV 的集成与调试时间。

为什么 AMR/AGV 集成这么难?

AMR/AGV 集成难在硬件选型与信号验证、软件数据流对齐;自研易重复开发并被专有接口锁定。

在 AMR 或 AGV 设计中,集成工作往往会决定项目初期的进度。硬件层,团队必须选择组件、设计接口并验证信号完整性和定时;软件层,必须加载驱动程序、定义数据流,并确保系统特性在实际条件下具有可预测性。

优秀的研发团队确实能通过自研设计实现这些目标,但这样做通常意味着重复开发现货产品的已有功能,成本上并不划算。更麻烦的是,传统方案还会把研发团队束缚在专有接口体系里。一旦需求发生变化,替换一个组件就可能需要重写软件栈的大部分内容。

利用 ROS 的节点与话题破解集成难题

ROS 是开源机器人中间件,用节点加话题与服务实现标准化通信,用软件包封装节点与配置。

创建 ROS 就是为了解决这些问题。尽管名字里带“操作系统”,它并不是传统意义上的操作系统,而是一个开放源码框架,提供工具集、软件库和标准化开发规范。

ROS 的关键思路,是把复杂的机器人应用拆成模块化的节点(图 1)。这些小程序各司其职,比如读取传感器数据或控制电机速度。

ROS节点话题服务消息架构示意图

图 1:ROS 的基本构件包括软件包、节点、消息和服务。(图片来源:Analog Devices,由 Kenton Williston 修改)

节点通过两种主要机制通信:

  1. 话题:发布/订阅模式,适合传感器数据这类连续数据流。
  2. 服务:请求/响应模式,适合设备配置和初始化等离散动作。

多个节点及其依赖项(包括相关话题和服务)可以整合成一个软件包,实现更完整的功能。例如,Analog Devices 为其面向 AGV 和 AMR 的传感器与执行器模块创建了 ROS 驱动程序包。这些软件包封装了把硬件接入 ROS 系统所需的节点、消息定义和配置文件。

ROS 2 如何简化 AMR/AGV 设计?

ROS 2 提供 Nav2 导航、定位建图与仿真工具,并支持 Linux 与 micro-ROS 实时系统。

这种模块化架构能够实现互操作性并加快开发速度。硬件层,ROS 为相机和电机控制器等组件提供标准化接口。这既降低了集成成本,又让设计人员不必被供应商锁定或支付许可费用。

软件层,ROS 提供工具和中间件,帮助设计人员开发、测试、部署和维护复杂机器人。当前版本的 ROS 2 框架提供了一些对 AMR 和 AGV 特别有用的能力:

  1. Nav2 导航堆栈支持行为树、行驶区域、限速等功能。
  2. 先进的定位算法,包括建图和定位工具,让 AMR 和 AGV 实现环境感知。
  3. 与仿真、可视化和日志工具集成,便于开发和诊断。

ROS 2 通常运行在基于 Linux 的计算机上,同时也支持其他操作系统。ROS 2 还支持 micro-ROS 变体,它可以直接运行在搭载 Zephyr 和 FreeRTOS 等实时操作系统(RTOS)的微控制器(MCU)上。

AMR/AGV 电机控制如何接入 ROS 2?

TMCM-2611-AGV 双轴 BLDC 驱动经 adi_tmcl 订阅 /cmd_vel_X 话题,接收导航速度指令。

为了说明 ROS 2 的潜力,可以从驱动控制这一环入手。大多数 AMR 和 AGV 采用差速驱动配置:两组独立控制的车轮,既能同步前行,也能差速转弯。这种结构要求 电机控制器 能同时驱动两个车轮,同时接受导航系统的协调指令。

ADI 的 TMCM-2611-AGV(图 2)直接满足了这一需求。该板属于 Trinamic 电机控制器模块(TMCM)系列,是用于三相无刷直流(BLDC)电机的双轴伺服驱动平台,专为 AGV 和 AMR 牵引应用而设计。每个轴可在 48 V 电压下驱动高达 14 A RMS 的电机,并通过增量式正交编码器或数字霍尔效应传感器进行位置反馈。

TMCM-2611-AGV双轴无刷直流电机控制器PCB板

图 2:TMCM-2611-AGV 是一款用于三相无刷直流电机的双轴控制器/驱动器。(图片来源:Analog Devices)

adi_tmcl ROS 2 驱动程序主要通过话题把这些硬件连接到 ROS 2 生态系统中(图 3)。例如,导航堆栈可以通过 /cmd_vel_X 话题向每组车轮发布速度指令。adi_tmcl 驱动程序订阅这些话题,把命令转换成 Trinamic Motion Control Language(TMCL)语言框架,并通过 Linux 本地 SocketCAN 接口在 CAN 总线上发送。

TMCL ROS2驱动包软件架构图

图 3:TMCL ROS2 驱动程序软件包集成了一套完善的接口。(图片来源:Analog Devices)

在反向数据流上,adi_tmcl 驱动程序会向 /tmc_info_X 话题发布电机反馈,提供速度、位置、扭矩和状态信息。其他节点可以订阅这些数据,用于里程计算、诊断或闭环控制。

这个双向过程充分体现了 ROS 2 的模块化价值:导航算法完全不需要了解 TMCL 或 CAN 总线细节,只需发布标准速度信息并接收反馈即可。

adi_tmcl 驱动程序还通过服务完成初始化和参数访问。例如,/tmcl_gap_all 可以读取所有轴参数值,/tmcl_ggp_all 可以读取控制器板的所有全局参数值。

用于位置跟踪的 IMU

ADIS16500 系列 IMU 经 imu_ros2 输出六自由度数据,与里程计做卡尔曼融合抑制漂移。

车轮编码器能够根据车轮行程估算位置,但仅靠车轮里程计往往不够精确。随着时间推移,车轮打滑和路面不平都会带来较大误差。在室内环境中,GPS 信号通常不可靠,难以进行持续校正。

IMU 提供独立的运动参考,AMR 和 AGV 可以借助它提高航位推算精度。典型产品如 ADIS16500/05/07 系列,它通过三轴陀螺仪和三轴加速度计提供六自由度精密惯性传感,全部集成在 15×15×5 毫米的 BGA 封装中。工厂校准会针对每个传感器的灵敏度、偏置、轴对准特性和温度补偿进行标定,从源头减轻系统设计人员的集成负担。

ADIS16500AMLZ 是该系列中的典型产品(图 4)。它的陀螺仪量程为 ±2000°/s,运行中零偏稳定性为 8.1°/hr,角度随机游走为 0.29°/√hr。这些性能指标能够有效降低随时间累积的漂移,提升两次外部校正间隔内的航位推算可靠性。

ADIS16500AMLZ精密MEMS IMU BGA封装芯片

图 4:ADIS16500AMLZ 是一款采用紧凑型 BGA 封装的精密 MEMS IMU。(图片来源:Analog Devices)

为了接入 ROS 2,imu_ros2 驱动程序支持 ADIS16500/05/07 系列。该驱动程序通过 LibIIO 使用 Linux 工业 I/O 子系统,其输出兼容机器人定位等常见 ROS 2 传感器融合软件包。后者采用扩展卡尔曼滤波器,把 IMU 和里程计数据融合在一起。

如果需要测试评估该 IMU,可以从 ADIS16500/PCBZ 评估板(图 5)开始。该评估板通过 16 针针座提供 IMU 的 SPI 接口,兼容标准 2 mm 间距带状电缆。

ADIS16500/PCBZ IMU评估板SPI接口

图 5:ADIS16500/PCBZ 评估板通过 16 针针座提供 SPI 接口。(图片来源:Analog Devices)

障碍物探测如何补盲?

ADTF3175BMLZ 以 1024×1024 深度图补盲,经 adi_3dtof_adtf31xx 驱动接入。

障碍物探测是 AMR/AGV 的另一项标准能力。激光雷达擅长较远距离探测障碍物,但许多应用还需要近场感知,来发现低矮障碍物、地面不连续点,或者位于 LiDAR 扫描平面之外的物体。ToF 深度相机通过提供宽视场稠密深度图像,恰好弥补这一不足。

ADTF3175BMLZ ToF 模块(图 6)很适合这类要求。该模块集成了 CMOS 深度传感器与照明光学器件,可捕捉分辨率高达 1024×1024 的深度和主动亮度(AB)帧,视场角为 75°×75°。这样的分辨率和覆盖范围,使它很适合在仓库和制造场景中进行安全区域监控和地面检测——这些地方常常出现不同高度的障碍物。

ADTF3175BMLZ ToF深度相机模块

图 6:ADTF3175BMLZ ToF 模块集成了 CMOS 深度传感器和照明光学器件。(图片来源:Analog Devices)

adi_3dtof_adtf31xx 驱动程序可以使用标准 ROS 2 消息格式发布深度和 AB 帧,从而轻松访问相机数据。这些输出可以直接与常见感知软件包集成,用于点云生成、地面检测和安全气泡监测等任务。该驱动程序还支持文件播放模式,无需连接物理硬件即可进行算法开发和测试。

EVAL-ADTF3175D-NXZ 开发套件(图 7)为开发和原型设计提供了一个完整的传感器平台。该套件最突出的特点,是搭载一块基于 Arm 的 Linux 开发板,可以直接部署 ROS 2 节点。此外,传感器还可以通过以太网把深度数据流传输到独立的 ROS 2 主机,适应不同的系统架构。

EVAL-ADTF3175D-NXZ ToF开发套件

图 7:EVAL-ADTF3175D-NXZ 评估套件包括一个基于 Arm 的 Linux 主机。(图片来源:Analog Devices)

Analog Devices Autonomous Mobot(ADAM)参考平台进一步展示了这些 ROS 兼容组件如何与电池管理、电源转换和通信等方案协同,构成完整的 AMR 系统。

ROS 2 兼容组件选型结论

选用 ADI 等厂家的 ROS 2 兼容组件,可以显著降低 AMR/AGV 集成复杂度与研发风险。

通过选择与 ROS 兼容的组件,AMR 和 AGV 设计研发的复杂度可以大大降低。像 ADI 这样成熟可靠的元器件供应商,能为各类传感器与执行器提供 ROS 2 驱动,是项目推进中很有价值的合作伙伴。

如果你正在推进 AMR/AGV 集成项目,也欢迎在 云栈社区 与更多开发者交流技术选型与集成经验。

敲黑板自测

  1. ROS 是什么?
  2. ROS 节点之间靠什么通信?
  3. ROS 2 对 AMR/AGV 有哪些专属能力?
  4. AMR/AGV 的电机控制如何接入 ROS 2?
  5. TMCM-2611-AGV 的驱动能力是多少?
  6. 为什么仅靠车轮编码器不足以定位?
  7. ADIS16500AMLZ 的关键性能指标是什么?
  8. ADTF3175BMLZ 的规格与免硬件开发方式是什么?



上一篇:SiC MOSFET如何缩小储能电源体积:CoolSiC高功率密度方案解析
下一篇:升压转换器轻载设计:Burst与脉冲跳过模式对比、LC滤波及LT8330/LT8336选型
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-9 22:57 , Processed in 0.075131 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表