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节点来做。
下面是我画的一个传感器融合流程图,帮你理清数据流向:
你看,激光雷达、IMU、编码器各自的数据先做预处理,然后进入EKF融合节点,最终输出一个稳定的位姿估计。这个位姿就是AMR知道自己「在哪」的依据。
核心要点:传感器融合不是简单地把数据加起来。你要理解每个传感器的误差特性——激光雷达在空旷环境误差大,IMU在静止时漂移小但运动时漂移大,编码器在打滑时完全不可信。融合算法要能动态调整每个传感器的权重。
好了,这一章就到这里。主控制器和传感器的选型,说白了就是「算力够用、接口够多、精度够高、成本可控」。下一章咱们聊聊通信总线和软件架构——嗯,到时候见。