使用树莓派5、2D激光雷达及传感器融合SLAM技术的自主配送机器人
为室内配送任务构建自主无人地面车辆(UGV)面临两大主要挑战:在嵌入式硬件上实现实时同时定位与建图(SLAM),同时不超出计算预算;以及在缺乏特征的环境中,如医院病房、仓库等,生成可靠的地图。
该项目展示了一款基于树莓派5打造的轻量级、高度优化的自主机器人。通过跳过资源消耗大且复杂的框架,该系统采用定制化的传感器融合流程,实现实时精确导航、高精度定位和可靠的建图。
系统架构与数据流
在查看代码之前,先了解数据的流动方式会有所帮助。该系统将任务分为快速定位(高频)和环境建图(低频)两部分。
>> 低级感知:二维激光雷达持续扫描环境,获取结构几何信息。该数据以距离z和测量角度theta的数组形式记录下来,随后进行处理并转换为二维几何地图,实时显示在屏幕上。
>>>> 运动学与惯性追踪:采用6自由度IMU结合高分辨率光学轮码盘,实时追踪机器人的高速物理运动。传感器数据融合后可实现实时里程计,确保车辆移动时快速完成姿态估计与定位。
主计算:树莓派5负责协调传感器输入,处理导航算法,并向电机控制器发送PWM驱动指令。
软件大脑:Tinyslam + ICP扫描匹配
在单板计算机上运行标准的SLAM算法容易导致CPU性能下降。为了将处理开销保持在极低水平,该系统采用了一种双管齐下的策略:
1. 快速定位(Tinyslam):核心定位流程将来自轮子编码器和惯性测量单元的数据融合。该无参考系定位方法可实现快速、低延迟的姿态估计,使机器人能够在行走过程中实时计算自身位置。
2. 一致映射(迭代最近点):为纠正硬件轮子打滑导致的不可避免的漂移,映射程序采用迭代最近点(ICP)扫描匹配技术。通过数学方式将新的二维激光雷达数据帧与现有的地图矩阵对齐,系统可动态地精调自身位置,并输出清晰稳定的地图网格。
硬件与定制电源挑战
自动驾驶汽车的性能取决于其电气基础。电机本身会产生噪音,而突然的高电流消耗容易导致电压线路下降,从而使树莓派5(通过5V/5A降压模块供电的5S电池组)烧毁或崩溃。因此我们使用专用电源线:为树莓派(由5V/5A降压模块供电的5S电池组)和独立的3S电池组用于电机供电。
>>>> 底盘与驱动系统:采用坚固的三轮底盘,由直流齿轮电机驱动。后轮驱动,带滑移转向。唯一的前轮为万向轮式自由轮,可实现车辆灵活的急转弯。该驱动底盘已成功通过负载和高速行驶下的稳定性测试。
>> 电源隔离:电路采用专用的隔离电源路径。高效降压转换器为逻辑轨道(Pi 5 和传感器)提供干净、稳定的供电,而独立的高功率电源线则为电机驱动器提供原始电力。接地连接遵循星形接地拓扑结构,以避免地环路。
>> 无头运行:为保持开发的流畅性,软件在无头Linux环境中运行,通过本地网络(如Wi-Fi/热点)远程使用SSH和VNC进行管理。
本文编译自hackster.io





