一、AMR概述与系统架构

大家好,我是你们的讲师。今天咱们聊聊AMR——自主移动机器人。说实话,这个领域我摸爬滚打了快十年,踩过的坑比走过的路还多。不过别担心,我会把那些血泪教训都分享给你们。

1.1 什么是AMR?

AMR,全称Autonomous Mobile Robot,中文叫自主移动机器人。它跟咱们常见的AGV(自动导引车)有啥区别?我简单说两句。

AGV就像个听话的“小跟班”,只能沿着预设的磁条或二维码走。一旦路线被堵,它就傻眼了。我见过一个工厂,AGV被叉车堵了半小时,后面排了一长串,整个产线都停了。

AMR就不一样了。它有自己的“大脑”——工控机,有自己的“眼睛”——激光雷达、摄像头,还有自己的“小脑”——SLAM算法。它能实时感知环境,自主规划路径,遇到障碍物会绕行。说白了,AMR是个“有思想的搬运工”。

核心区别一句话:AGV是“跟着路走”,AMR是“自己找路”。

1.2 AMR vs AGV:到底选哪个?

我经常被问到:“老师,我该用AMR还是AGV?”我的回答是:看场景。

对比项 AGV AMR
导航方式 磁条/二维码/激光反射板 SLAM(激光/视觉)
路径灵活性 固定路径,改线需施工 动态规划,随时可改
环境适应性 差,依赖地面标记 强,无标记也能跑
部署成本 低(单台),但改线成本高 高(单台),但扩展成本低
典型场景 固定产线、仓库主干道 动态环境、人机混行

我个人习惯是:如果环境固定、路线简单、预算有限,AGV够用。但如果环境复杂、需要频繁调整路线,或者有人机混行,那必须上AMR。我曾经帮一个电商仓库做方案,他们一开始买了AGV,结果双十一期间货架布局天天变,AGV根本没法用。后来换成AMR,问题才解决。

3 AMR核心组件:拆开看看里面有什么

一台AMR,说白了就三大部分:底盘、传感器、工控机。咱们一个一个说。

3.1 底盘:机器人的“腿”

底盘是AMR的移动基础。常见的有差速轮、麦克纳姆轮、全向轮等。我个人最常用的是差速轮,结构简单、控制成熟、成本低。

选底盘时要注意几个参数:

  • 负载能力:别只看标称值,要留20%余量。我吃过亏,标称100kg的底盘,实际装到80kg转弯就开始晃。
  • 最小转弯半径:差速轮可以原地转弯,但麦克纳姆轮不行。选型时一定要看场地通道宽度。
  • 悬挂系统:地面不平的话,没有悬挂的底盘会“跳舞”。我建议至少选带弹簧悬挂的。

3.2 传感器:机器人的“眼睛”和“耳朵”

传感器是AMR感知世界的窗口。核心传感器包括:

  • 激光雷达:用于SLAM建图和障碍物检测。我推荐单线激光雷达(如思岚RPLIDAR系列),性价比高。多线雷达(如Velodyne)精度高但贵,适合户外。
  • 深度相机:用于识别物体、检测悬空障碍物。Intel RealSense系列我用得比较多。
  • IMU(惯性测量单元):提供加速度和角速度,辅助定位。注意IMU有漂移,不能单独用太久。
  • 编码器:装在轮子上,测量里程。但轮子打滑时数据会不准,所以需要融合其他传感器。

我的经验:传感器不是越多越好。我曾经给一台AMR装了3个激光雷达、2个摄像头、1个IMU,结果数据融合搞得我头大。后来精简到1个激光雷达+1个深度相机+1个IMU,效果反而更好。记住:够用就行,别堆料。

3.3 工控机:机器人的“大脑”

工控机负责运行ROS、SLAM算法、导航规划等。选型时注意:

  • CPU:至少i5或同等性能,推荐i7。SLAM建图时CPU占用很高,我见过用i3的机器建图时卡成PPT。
  • 内存:8GB起步,16GB更稳。ROS节点多了,内存消耗很快。
  • 存储:建议256GB SSD以上。地图文件、日志、数据集都很占空间。
  • 接口:至少2个USB 3.0、1个千兆网口、1个HDMI(调试用)。

避坑指南:我曾经贪便宜买了个无风扇工控机,结果夏天在仓库里跑了一个小时就过热降频,导航直接崩了。后来换了带风扇的工业级工控机,再没出过问题。散热不是小事,别省这个钱。

4 系统软件架构概览

AMR的软件架构,我习惯分成三层:

  1. 底层控制层:负责电机驱动、编码器读取、IO控制。通常跑在STM32或类似MCU上,用RTOS或裸机程序。
  2. 中间层(ROS层):负责传感器数据采集、SLAM建图、定位、路径规划、运动控制。这是咱们课程的重点,跑在工控机的Linux系统上。
  3. 应用层:负责任务调度、人机交互、云端通信等。比如调度系统下发任务,AMR执行并上报状态。

下面这张图展示了AMR的完整软件架构:

AMR系统软件架构图 应用层 任务调度 | 人机交互 | 云端通信 | 状态监控 示例:调度系统下发任务,AMR执行并上报状态 中间层(ROS层) 传感器驱动(激光/相机/IMU) SLAM建图与定位 路径规划与导航 运动控制(cmd_vel) TF坐标变换 代价地图与障碍物检测 底层控制层 电机驱动 | 编码器读取 | IO控制 | 急停处理

嗯,这张图我画了好几次才满意。你看,底层控制层负责“动”,中间层负责“想”,应用层负责“做”。三层之间通过ROS话题通信,比如底层把编码器数据发上来,中间层处理后下发速度指令。

5 小结

这一章咱们聊了AMR的定义、跟AGV的区别、核心硬件组件,还有软件架构。说白了,AMR就是个能自己认路、自己走路的机器人。它的核心在于“自主”二字——自主感知、自主决策、自主行动。

下一章咱们会深入ROS,手把手搭建开发环境。到时候我会分享一些我当年踩过的坑,比如ROS版本选错了导致包不兼容,折腾了两天才搞定。嗯,这些经验你们提前知道,能省不少时间。

课后思考:如果你要为一台AMR选型,你会优先考虑哪些因素?为什么?欢迎在评论区留言讨论。


公众号:蓝海资料掘金营,微信deep3321