ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

固态激光雷达重塑AGV智能搬运:选型、SLAM与调度实战

固态激光雷达重塑AGV智能搬运:选型、SLAM与调度实战 做 AGV 导航这行当久了你会发现一个特别现实的问题真正让小车在工厂里平稳搬货的不是那套看似酷炫的“大脑”而是它头顶或腰间的“眼睛”靠不靠谱。我第一次把固态激光雷达装到智能搬运小车上测试时围观的同事问得最多的就是“这玩意儿跟以前转圈的雷达有什么区别”当时我没法三句话讲清楚但跑完一个月的现场后我可以负责任地说区别太大了大到能直接决定你的 AGV 是顺利上架量产还是永远停在实验室里打转。这篇文章我就从固态激光雷达怎么改变 AGV 智能搬运的底层逻辑讲起把选型、感知、路径规划、多车调度到比赛实战的完整链路串一遍。适合正在做 AGV 项目、准备参加智能搬运类竞赛、或者打算给产线做自动化改造的工程师参考。我不会写那种“看着全面但落不了地”的空话更多是真机调试中踩过的坑、验证过的方案以及跑完多台车之后沉淀下来的配置思路。1. AGV 为什么需要换一双“眼睛”从磁条导航到自然导航1.1 传统导航方式卡在哪了前几年做 AGV绕不开磁条、色带和二维码。磁条导航的原理很简单地面贴磁条车底装磁感应传感器沿着磁场线走就行。这套方案成本低、稳定性尚可在早期电商仓和简单产线上确实很能打。但短板也极其明显——路径一旦铺好想改线就要重新贴条、重新布线产线稍微调整维护工作量立刻翻倍。二维码导航稍好一点能通过地标码做到厘米级定位但地面磨损、码面脏污会导致频繁读码失败。更关键的是二维码本质上还是在“有限地图”里活动机器人只能贴着贴了码的区域走出了这个区域就是瞎子。真正把 AGV 从“轨道思维”里解放出来的是自然导航。自然导航不依赖地面标记而是利用激光雷达、视觉传感器实时感知环境通过 SLAM 算法建图定位再规划出一条无障碍路径。这里有个容易被忽视的关键点自然导航的定位精度和稳定性几乎完全取决于传感器本身的数据质量。传感器给的是“脏数据”后面算法再强也补不回来。激光雷达因为测距精度高、不受环境光照影响成了当前自然导航 AGV 最主流的选择也是“智能搬运”这个话题里出镜率最高的传感器之一。1.2 固态激光雷达在智能搬运中到底扮演什么角色很多人有个误区觉得激光雷达就是一个“高级避障传感器”装上之后小车能“看见”障碍物就够了。实际上在智能搬运场景里激光雷达承担了三层任务第一层是建图把厂房结构、货架位置、通道宽度这类静态信息扫描成一张二维或三维地图第二层是定位通过实时扫描点云和已有地图做匹配算出小车当前的全局位姿第三层才是避障把动态障碍物从点云里识别出来实时调整速度或路径。这三层任务机械式激光雷达其实也能干但它的痛点在于内部有一个高速旋转的电机和棱镜结构。电机一转机械磨损、散热、密封问题全来了震动环境下一两年精度就开始下降而且体积大、价格高。用在几十万一台的重载 AGV 上还好说用在几万块的轻载搬运小车上成本完全扛不住。固态激光雷达恰好解决了这些痛点——内部没有宏观旋转部件靠电子扫描或面阵发光完成测距体积小、寿命长、抗震动能力强价格也随量产一路下探。再加上近些年点云密度和帧率不断提升它已经能胜任自然导航的核心感知需求这也是厂商和开发者越来越愿意选它的原因。2. 固态激光雷达结构与工作原理拆解看完就会选型2.1 机械式、半固态、纯固态三种结构一次搞清市面上的激光雷达按扫描结构分三类先把这个概念捋清楚后面所有讨论才有共同语言。机械式整个激光收发模组在电机带动下做 360° 旋转扫描范围大能直接出水平全向点云。像早期的 RPLIDAR A 系列、Velodyne VLP-16 都属于这一类。半固态发射或接收部件固定靠一个高频振动的小镜片改变激光方向典型代表是 MEMS 振镜方案。它没有整机旋转但内部镜片还在动所以叫“半固态”。纯固态没有任何宏观运动部件用相控阵或闪光方式完成测距成像。OPA 光学相控阵和 Flash 面阵方案是两条主要路线近几年已经进入量产阶段。对 AGV 来说这三类没有绝对好坏关键看场景匹配度。机械式视野最完整、点云规律性强适合做全向 SLAM但外形偏大防护和寿命在粉尘、震动环境里容易掉链子。半固态雷达在性能和成本之间取了个平衡很多室内搬运 AGV 倾向选这类。纯固态雷达响应快、体积更小、没有运动件寿命优势明显但主流产品 FOV 大多在 90° 到 120°单台覆盖不完整往往需要多台拼接才能做到全向感知这就引出了另一个问题单台成本虽然低乘以三台之后还划不划算得认真算一笔账。2.2 一帧点云是怎么生成的弄清原理之前先用一个例子把工作流程说清楚。以 MEMS 方案为例激光器发出一束激光经过准直透镜射到一面可高频摆动的微型镜片上镜片把光束扫向某个方向遇到障碍物后反射回来探测器接收到回波通过测量光的飞行时间ToF乘以光速再除以二就能得到目标距离。镜片每摆动一个角度就完成一次二维“线扫描”连续摆动并把多束激光叠加起来就是一帧三维点云。理解这个数据流很重要因为后面所有定位、规划算法都是围绕点云做的。一帧点云里可能包含几万到几十万个点每个点通常带 x、y、z 坐标和反射强度值。反射强度这个信息经常被忽略但它其实非常有用——货架上的反光贴、地面的金属边框、墙面的材质差异都会在强度图上有明显反应用来做特征匹配和辅助识别非常稳。我做避障调试时经常把点云的反射强度单独可视化一眼就能看出哪个区域是货架立柱、哪个区域是临时堆放的纸箱比单纯看坐标点直观得多。2.3 选型必须看的 4 个关键参数选雷达不能光看“几线”“多少万点”下面这四个参数才是真正影响智能搬运效果的核心。探测距离室内搬运车一般 20 米到 50 米就够用再多意义不大因为厂房通道通常不会超过这个量级。室外重载 AGV 才需要 100 米以上的规格室内买超远距离纯属为用不上的指标买单。视场角FOV水平视场角直接决定覆盖范围。室内 AGV 的常见坑是“单台 90° 死角太多需要拼 3~4 个雷达”如果要做全向避障优先考虑 360° 机械式或两台以上固态拼接。帧率与点频帧率至少 10Hz点频越高表示一帧里点越多远处小物体越容易识别。我个人建议点频不要低于 20 万点/秒不然动态避障时近处障碍容易出现漏检。精度与可靠探测概率定位精度和重复精度要分开看。定位精度反映测距误差一般 ±2cm 以内可靠探测概率反映的是在反光、雨雾、粉尘环境下能否稳定出点这个参数比精度本身更重要。许多低端雷达标称精度不差但遇到高反光地面就丢点直接导致定位跳变问题非常难查。选型时最好把这些参数列成一张横向对比表对比 3 到 5 款产品再结合你自己的现场环境做取舍比听厂商讲一堆“高精度、高可靠”要靠谱得多。3. 从点云到路径A* 算法与多机协同的落地细节3.1 SLAM 建图与定位固态雷达要注意什么拿到点云之后的第一道工序是建图。对室内二维场景常用的是 Gmapping、Cartographer 这类 2D SLAM 算法对三维固态雷达可以用 LIO-SAM、FAST-LIO 这种紧耦合的 LiDAR-Inertial 方案。核心逻辑一句话能说完机器人移动时不断扫描新点云和已有地图做匹配同时通过 IMU、轮式里程计辅助估计位姿再用回环检测修正累积漂移。这里要特别提一个固态雷达特有的坑FOV 有限给 SLAM 的信息天然比 360° 雷达少。如果雷达只朝前方看小车转弯时后半程的区域信息不足地图拼接很容易错位定位也跟着飘。我实际验证过的一个有效做法是把雷达朝侧前方 45° 安装。这样建图走“弓字形”时雷达既能覆盖前方障碍区域又能扫到侧面特征转弯时也能锁定足够多的环境特征建出来的地图轮廓明显更干净。3.2 三条 AGV 基本 A* 算法从单机到多机的路径搜索单机路径规划里A* 是最常用、最适合入门落地的全局搜索算法。它把环境栅格化每个格子标记为通行区域或障碍物再用从起点到当前点的实际代价 g 加当前点到终点的预估代价 h组成搜索优先级 f迭代扩展节点找到最短路径。算法本身不复杂做 AGV 的人基本绕不开。“三条 AGV 基本 A* 算法”这句话在工程里指的是多机场景下每台车独立跑 A*再由调度系统统一协调。简单做法是每台 AGV 维护一张带时间戳的“交通意图表”把自己规划好的路径分段上报给调度中心调度中心根据所有车辆的状态对存在冲突的路段分配优先级或时间窗低优先级车辆等待或重新规划。这种拆法好处很明显单机算法简单可控不需要把多台车的状态塞进同一个搜索空间计算量不会爆炸。但直接套标准 A* 到实车上很快会发现两个问题。一是搜索出的路径经常贴着障碍物边缘走AGV 本身有体积必须把小车半径膨胀到障碍物图层里否则扫到车壳就算“撞了”。二是动态障碍物出现时全局规划结果可能已经失效不能强行让车继续走旧路线。我的习惯是全局路径用 A*局部避障用 DWA 或 TEB两层配合。全局保证最优性局部保证动态响应速度实测下来三台车同时跑十条物料任务几乎没出现过长时间堵死的情况。3.3 激光雷达加视觉避障才真的稳避障逻辑可以拆成三步点云预处理、目标检测、速度重规划。第一步滤除地面点和噪点保住障碍物点第二步把空间上相近的点聚类成障碍物得到每个障碍物的位置、尺寸和运动趋势第三步根据障碍物和当前路径的关系决定减速、停车还是局部绕行。这里说一个我从实战里总结的经验纯激光雷达避障在遇到透明玻璃、深色高亮物体时会失效。玻璃透光雷达扫过去没回波深色物体吸光回波太弱会被当噪声滤掉。最初我在这上面吃过亏后来加了深度相机做“视觉雷达”融合雷达到点、视觉出标签决策层做投票。盲区一互补透明玻璃和黑色货架这类极端场景基本都能兜住。这种组合也正是“智能搬运视觉”这个热点词背后真正在用的技术形态——不是单独堆传感器而是让传感器互相补短板。4. 多 AGV 调度系统与竞赛实战团队怎么搭代码怎么写4.1 调度系统到底管什么、不管什么单台 AGV 相对好解决几台 AGV 一多新问题立刻冒出来两辆车抢同一条通道、货架区死锁、充电桩排队、任务分配不均。调度系统的核心职责就是把这些资源冲突管起来。常见架构是调度中心接收上位系统WMS/MES的下单指令把任务拆解成若干“从 A 点取货→送到 B 点”的运单再结合当前车队状态做任务分配。但有一点必须拎清楚调度系统不负责底层的运动控制。如果你让调度系统给每台车下发“左转 30°、直行 2 米”这种指令系统大概率会卡死因为每台车的响应延时、机械刹车距离都不一样很难用统一时钟去同步。合理的分工是调度中心只管任务分配和路径冲突仲裁底层车辆自己负责传感器感知、局部位姿估计和安全避障。解耦清晰之后车队扩到十台二十台改动也集中在调度层不用把单机逻辑推倒重来。4.2 路段锁、时间窗、优先级三种调度策略怎么选多车调度里最容易出问题的是十字路口和窄道会车。这里分享三种我验证过的策略以及各自的适用条件。路段锁把地图拆成一段一段的路径段每辆车经过前向调度中心申请锁住下一段离开后释放。实现最简单适合窄通道多、不允许车流互穿的环境。时间窗为每台车经过每个栅格或路段安排精确时间窗口用交错时间避免冲突。适合通道宽、车速稳定的场景吞吐量更高但需要比较准的时间预测计算复杂度也上去了。优先级调度按任务紧急程度或车辆剩余电量设定优先级高优先级车优先通过低优先级车让行。适合混合任务场景但要注意别让低优先级车辆一直等时间久了会“饿死”。实际工程里很少只用一种策略。十字路口用路段锁保底宽通道让调度系统算时间窗提高通行效率出现临时任务再用优先级抢路。我在工创赛备赛时就是这么搭的路段锁做基础保底叠加动态优先级实测三台小车同时搬运十组物料没出现一次死锁稳定性远好于单用时间窗。4.3 工创赛智能搬运赛道的备赛经验如果你准备参加工创赛智能搬运这类比赛团队分工和时间分配非常关键。以我观察到的优秀队伍为例4 人团队通常这样分工一人负责机械结构和小车装配一人负责激光雷达数据接入和 SLAM 建图一人负责路径规划与调度算法一人负责视觉识别与末端抓取。如果人手不足至少要把“建图定位”和“调度策略”分给两个人它们是赛场上最容易出节奏问题的模块挤在一起会互相拖后腿。时间规划上很多队伍容易栽在一个误区里把大量时间花在调视觉识别上结果临近比赛才发现小车连稳定跑完一条线路都做不到。我建议把备赛时间按 4:4:2 分配前 40% 打磨底盘控制和建图定位中间 40% 做路径规划和多车调度最后 20% 给视觉识别和抓取集成。比赛比的不是单项技术的炫酷程度而是整套系统能不能稳定跑完赛程导航稳定性是底座底座不稳识别做得再漂亮也白搭。5. 现场排查手记固态激光雷达最常见的 5 类坑5.1 强光、反光与黑色物体会让点云骗人室内环境看似稳定真实干扰源不少。阳光透过窗户直射进雷达视场时红外光会被太阳光淹没点云出现大范围空洞地面是抛光瓷砖或金属板时镜面反射会让雷达测到“虚假距离”点云下方多出一层假点黑色物体比如黑色轮胎、黑色货架立柱吸光率太高测距明显偏短甚至完全丢点。处理思路分两层。硬件上选带抗环境光算法和自动曝光调节的雷达并合理设置安装高度避免雷达水平线直接扫到高反光地面。软件上对点云做阈值过滤和地面拟合把明显异常的点剔除掉。我的一个习惯是正式进场前先拿 10% 和 90% 反射率的标准反光板做一组对比测试标出雷达在不同材质上的可靠测距区间。后面写过滤参数时就有据可依不用靠猜。5.2 标定与时间同步看不见的干扰源固态雷达和相机、IMU 一起使用时最隐蔽的问题有两个时间不同步和空间标定不准。时间不同步的典型表现是小车明明停了地图和视觉画面里物体的位置还在慢慢漂空间标定不准时视觉识别的物体框投影到雷达点云坐标里会明显偏移避障模块可能把障碍物位置算偏甚至把障碍物当空。解决办法也不算难。时间同步尽量走硬件同步线所有传感器接收同一个脉冲信号做时钟对齐。标定先用最基础的“手工量距离”粗标再用工具链做精细化标完多拍几组不同场景的数据回放验证。很多同学觉得标定浪费时间但一次标定能省下后面一整天的排查时间这笔账怎么算都划得来。5.3 用稳定性验证表做整机验收分享一个我每次项目验收都会用的方法——稳定性验证表。让 AGV 在同一条路线上连续跑 50 趟每趟记录下面这些指标记录项说明阈值参考定位误差最大值全局定位偏差峰值室内建议 ≤ 5cm触发避障次数遇到动态障碍的次数正常环境应较少重新规划次数路径失效后重规划的次数不应随圈数递增丢线/脱离导航次数定位丢失或路径中断的次数50 趟内为 0单趟耗时时长从起点到终点的总时间波动范围 ≤ 10%跑完 50 趟后统计均值与方差如果定位误差最大值始终在阈值内重新规划次数没随圈数增长丢线次数为 0就说明系统稳定性基本过关。这张表看着简单但暴露问题的能力很强。我之前有台测试车前 20 趟完美运行第 21 趟开始定位偏移越来越大查了半天才发现是轮速里程计标定系数热漂移——温度上来后轮胎压变化里程计比例就变了。如果不是连续跑 50 趟并记录变化趋势这种问题很可能要等到正式交付后才会暴露那时候成本可就高了。到这里关于固态激光雷达在智能搬运 AGV 上的应用从选型、工作原理、路径规划到调度实战和现场排查的关键问题都聊得差不多了。我个人做完这个项目最大的体会是别把激光雷达当成一个“加上去就能跑”的配件它和底盘、算法、调度逻辑之间的耦合关系才是决定整套系统能不能稳定落地的核心。如果你正准备开始做 AGV 或智能搬运项目建议先把手头这台小车的建图定位跑稳再逐步往里面加视觉、加调度你会发现每一步都走得比以前踏实得多。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进