4、核心硬件选型(二):主控制器与传感器的选型要点

好,咱们接着聊硬件选型。上一章讲了电机、电池和底盘,这一章轮到「大脑」和「感官」了——主控制器和传感器。

说实话,这部分我踩过的坑最多。工控机选太强,成本压不住;选太弱,算法跑不动。激光雷达选错了型号,建图直接飘掉。嗯,咱们一个一个说。

4.1 主控制器:工控机 vs 嵌入式板卡

主控制器就是AMR的「大脑」。它负责跑SLAM、路径规划、运动控制这些核心算法。选型时,我一般先问自己三个问题:

  • 算力需求多大?——要不要跑深度学习?要不要做多传感器融合?
  • 功耗和体积限制?——电池供电还是外接电源?安装空间够不够?
  • 接口够不够?——要接几个激光雷达?几个摄像头?CAN口够用吗?

4.1.1 工控机(x86架构)

工控机说白了就是一台加固过的电脑。我习惯在以下场景用工控机:

  • 需要跑ROS + 视觉SLAM + 深度学习推理
  • 需要接多个传感器(2个以上激光雷达 + 多个摄像头)
  • 对实时性要求高,需要跑实时内核(RT_PREEMPT)

我个人比较推荐的两款:

型号 CPU 内存 接口 功耗 适用场景
研华ARK-2250 i7-1265U 32GB 4xUSB3.0, 2xLAN, 2xCAN 35W 中型AMR,多传感器融合
控创KBox A-230 i5-1145G7 16GB 4xUSB3.0, 2xLAN, 1xCAN 25W 轻量AMR,纯激光SLAM
我的经验:工控机别买太冷门的牌子。我之前贪便宜买了个小厂工控机,结果散热设计有问题,跑SLAM半小时就降频卡顿。后来换了研华,稳得很。

4.1.2 嵌入式板卡(ARM架构)

嵌入式板卡的优势是功耗低、体积小、成本低。适合做分布式控制——比如每个驱动轮配一个板卡,或者做轻量级的传感器预处理。

我常用的几款:

  • NVIDIA Jetson Orin NX:算力强(100 TOPS),适合跑视觉AI。但功耗也高(15-25W),散热要做好。
  • Raspberry Pi 5:便宜(几百块),适合做IO控制、传感器数据采集。但别指望它跑SLAM。
  • STM32MP157:双核A7 + M4,适合做运动控制。M4核跑实时控制,A7核跑通信和上层逻辑。
注意:嵌入式板卡跑ROS 2时,内存和Flash容易不够。我建议至少4GB RAM + 32GB eMMC。另外,ARM架构的ROS 2包有些需要自己编译,别直接apt install。

4.2 传感器:AMR的「眼睛」和「耳朵」

传感器选型直接决定了AMR能不能「看清」环境。我把它分成三类:

  • 激光雷达:测距、建图、避障
  • IMU:姿态估计、短时定位
  • 编码器:轮速测量、里程计

4.2.1 激光雷达选型要点

激光雷达是AMR最核心的传感器。选型时,我主要看这几个参数:

参数 说明 我的建议
扫描范围 角度范围(如270°、360°) 室内AMR至少270°,室外建议360°
测距能力 最大/最小测距距离 室内10-30m足够,室外需要50m+
角分辨率 角度采样间隔(如0.18°) 建图建议0.18°以下,避障0.36°也行
扫描频率 每秒扫描次数(如10Hz、20Hz) 移动速度快的AMR需要20Hz+
抗环境光 能否在强光下工作 室外必须选抗光干扰强的(如TOF方案)

我常用的几款激光雷达:

  • 思岚RPLIDAR S2:室内用,性价比高。测距20m,角分辨率0.18°,10Hz。我做过一个仓储AMR项目,用了4台S2做360°覆盖,效果不错。
  • Velodyne Puck(VLP-16):室外用,16线,测距100m。但价格贵(2万+),一般项目用不起。
  • 镭神C32:国产替代,32线,测距150m。价格比Velodyne便宜一半,但点云质量略差。
避坑指南:我曾经在一个项目中选了单线激光雷达做室外AMR。结果大太阳天直接「瞎了」——测距数据全是噪声。后来换成TOF方案的雷达才解决。所以,室外AMR千万别用三角测距法的雷达。

4.2.2 IMU选型要点

IMU(惯性测量单元)提供加速度和角速度数据。它不能单独用来定位(因为漂移),但和激光雷达、编码器融合后,能大幅提升定位精度。

选型时,我关注这几个指标:

  • 零偏稳定性:越低越好。消费级IMU(如MPU6050)零偏在10°/h左右,工业级(如ADIS16470)能做到0.1°/h。
  • 量程:加速度计±2g到±16g,陀螺仪±250°/s到±2000°/s。AMR一般选±4g和±500°/s就够了。
  • 输出频率:至少100Hz,最好200Hz以上。IMU数据要高频才能跟上运动变化。
  • 温度稳定性:工业级IMU有温度补偿,消费级没有。如果你在北方做项目,冬天零下20°C,消费级IMU的数据直接没法用。

我常用的IMU:

型号 零偏稳定性 量程 输出频率 价格
MPU6050 10°/h ±4g, ±500°/s 100Hz ¥20
ICM-20948 5°/h ±8g, ±2000°/s 200Hz ¥50
ADIS16470 0.1°/h ±5g, ±500°/s 400Hz ¥2000+
我的习惯:做原型验证时用MPU6050,便宜好用。但量产项目我至少用ICM-20948。ADIS16470太贵,除非是军工或特种机器人,否则没必要。

4.2.3 编码器选型要点

编码器装在电机轴上,测量轮子转了多少圈。它是里程计(Odometry)的基础数据来源。

选型时,我主要看:

  • 分辨率:每圈脉冲数(PPR)。AMR一般用500-2000 PPR。分辨率越高,里程计越准,但也会增加MCU的计数负担。
  • 输出类型:增量式还是绝对式?增量式便宜,但断电后位置丢失。绝对式贵,但能记住位置。AMR一般用增量式,配合IMU做融合。
  • 接口:ABZ相(正交编码)最常用。也有SSI、BiSS等高速接口,但需要专用硬件。
  • 防护等级:室内AMR用IP54就行。室外或粉尘环境,建议IP65以上。

我常用的编码器:

  • 欧姆龙E6B2-CWZ6C:增量式,1000 PPR,ABZ相输出。价格适中(¥200左右),可靠性高。我做过的一个AGV项目用了3年没坏过。
  • 海德汉ERN 1387:绝对式,2048 PPR,SSI接口。精度高,但价格贵(¥1000+)。适合高精度定位场景。
  • 国产替代(如长春荣德):增量式,500-2000 PPR,价格只有欧姆龙的一半。但一致性差一些,建议批量采购前先抽检。
注意:编码器安装时,一定要保证同心度。我见过一个项目,编码器装歪了,导致里程计数据周期性跳动,SLAM建图直接失败。后来重新校准安装位置才解决。

4.3 传感器融合:1+1 > 2

单个传感器都有缺陷。激光雷达在空旷环境容易丢数据,IMU会漂移,编码器会打滑。所以,必须做传感器融合。

我常用的融合方案:

  • 激光雷达 + IMU:IMU提供高频姿态数据,激光雷达提供低频位置修正。用扩展卡尔曼滤波(EKF)融合。
  • 激光雷达 + 编码器:编码器提供轮速,激光雷达提供全局定位。适合室内结构化环境。
  • 激光雷达 + IMU + 编码器:三源融合,鲁棒性最高。我一般用robot_localization包里的EKF节点来做。

下面是我画的一个传感器融合流程图,帮你理清数据流向:

AMR传感器融合数据流图 激光雷达 IMU 编码器 点云预处理 姿态解算 里程计计算 EKF传感器融合 robot_localization / 自定义EKF 融合位姿输出 (odom → base_link)

你看,激光雷达、IMU、编码器各自的数据先做预处理,然后进入EKF融合节点,最终输出一个稳定的位姿估计。这个位姿就是AMR知道自己「在哪」的依据。

核心要点:传感器融合不是简单地把数据加起来。你要理解每个传感器的误差特性——激光雷达在空旷环境误差大,IMU在静止时漂移小但运动时漂移大,编码器在打滑时完全不可信。融合算法要能动态调整每个传感器的权重。

好了,这一章就到这里。主控制器和传感器的选型,说白了就是「算力够用、接口够多、精度够高、成本可控」。下一章咱们聊聊通信总线和软件架构——嗯,到时候见。


专注资料整理