☰
机器人定位技术十年演进:从单传感器到多模态融合定位的工程实践
2026/10/17 5:30:25 网站建设 项目流程

1. 从“我能动”到“我知道我在哪”:这十年定位技术到底变了什么

2015年左右,我入行做移动机器人那会儿,圈子里流传一句话:做机器人的,一半时间在调驱动,另一半时间在怀疑定位。

为什么这么说?因为那时候的定位,说白了就是“里程计加一把超声波”。轮式机器人靠编码器推算位移,跑快了打滑,跑慢了漂移,在光滑地砖上绕一圈,回来一看地图上的位置已经偏出去半米。后来上了激光雷达,稍微好一点,但雷达要画地图,建图要人来推着走,车间里走一圈下来,满头大汗——不是累的,是紧张,生怕某个拐角没扫到,地图就建废了。

十年过去,再回头看,机器人定位已经从“有没有信号”的阶段,走到“多传感器打架怎么仲裁”“动态环境怎么不掉线”“低成本方案怎么不输给高成本方案”的阶段。这篇文章,我想把自己这些年折腾定位技术的思路、踩过的坑、做过的选型对比,完整梳理一遍。内容主要围绕三条技术路线展开:视觉定位、激光定位、融合定位。它们不是互相替代的关系,而是一套完整的决策体系——你用什么样的机器人、跑什么样的场景、预算多少,直接决定该选哪条路。

核心关注点有两个:一是每种方案在真实场景里的表现到底怎么样,二是当它们组合在一起时,整个定位系统的可靠性能提升到什么程度。我尽量不堆理论,多讲实测数据和现场经验。

2. 十年演进的核心脉络:从单传感器到多模态决策系统

2.1 三条技术主线的演进轨迹

过去十年,定位领域有三条线在并行演进。

第一条是视觉定位线。从早期的单目视觉里程计(VO,Visual Odometry)起步,那时候在室内跑,光条件一变化就崩,白天能定位,傍晚拉上窗帘就飘。后来发展出双目方案,通过两个相机的视差来估算深度,稳定性显著提升。再后来,RGB-D相机(深度相机)普及,直接把像素级深度信息给到位,视觉定位跨过了“准不准”的门槛,步入了“够不够快”的比拼阶段。再往后,基于深度学习的特征提取与匹配方法逐渐成熟,视觉定位在光照变化和纹理缺失场景下的鲁棒性,已经比2018年前后的方案高出不止一个量级。

第二条是激光定位线。2D激光雷达(单线雷达)在室内场景一直是主流,后来3D激光雷达(多线雷达)逐步下沉,从高精地图测绘领域走入AGV(自动导引车)和商用机器人产品。技术上,从早期的ICP(迭代最近点)匹配,进化到基于特征点、平面、线段的配准算法,计算效率和抗噪能力都有很大提升。在长走廊、空旷大厅这类视觉容易失灵的对称环境里,激光方案的优势至今无可替代。

第三条是融合定位线。这不是某一种传感器,而是一套方法论。最早大家做卡尔曼滤波,后来发现多传感器之间时间戳对不上、坐标系变换不统一,问题根本不在滤波算法,而在于前端数据质量。于是有了因子图优化、滑动窗口估计这类系统级框架,把GPS/RTK(实时动态差分定位)、IMU(惯性测量单元)、轮式里程计、视觉、激光放在一个统一的优化模型里做状态估计。到2020年以后,融合定位基本成了商用机器人定位系统的标配。

2.2 技术迭代背后的三个核心驱动力

这三条线之所以能持续演进,背后有三个驱动力一直在起作用。

第一个驱动力:算力成本的快速下降。2015年做视觉定位,工控机得配到i7处理器才带得动实时特征匹配,单台整机成本轻松破万。现在,一块几百块钱的嵌入式平台就能跑轻量化视觉里程计模型。算力门槛降低,视觉方案才从实验室走进产品。

第二个驱动力:传感器硬件的微型化和商用化。激光雷达从几千块一颗的工业件,打到几百块的消费级模组;深度相机从需要外接电源的笨重设备,变成巴掌大小的模块。硬件成本的崩塌式下降,直接带动了多种传感器“同堂共存”的可能。

第三个驱动力:场景需求从结构化走向非结构化。早期的AGV只在工厂地面上跑,线路固定,磁条、色带都能解决。后来机器人要进餐厅、进医院、进写字楼、进农田,环境不再固定,地图是动态的,行人会挡路,家具会被挪动,这种需求直接倒逼定位系统向“概率化”“动态化”进化。

这三个驱动力叠加起来,就形成了今天我们看到的技术格局:不是某一个传感器赢了,而是系统级融合的能力成为分水岭。

3. 激光定位:从工程标配到细节决定成败

3.1 激光建图与重定位的核心链路

激光定位方案的经典链路是:先建图,后定位。建图阶段,机器人携带激光雷达在环境中走一遍,扫描周围障碍物轮廓,构建出一张二维栅格地图或三维点云地图;定位阶段,机器人实时接收激光帧,把当前帧与已有地图进行配准,估算出自身在地图中的位姿。

这里有一个关键点我花了很多时间才真正理解透彻:建图和定位是同一套数学问题,但工程实现上完全不同。

建图是一个“同时求解”的问题——在构建地图的过程中,机器人自身的位置也是未知的,所以建图算法需要一边估算位置一边更新地图,这就是SLAM(同步定位与建图)。而定位(重定位)是在地图已知的前提下,只解算位置,复杂度低得多。很多项目失败的原因就是把这两个阶段混为一谈,直接把建图参数用到定位阶段,结果定位抖动、坐标跳变。

实操中的建议是:建图和定位分开配置参数。建图阶段主动把地图分辨率调低一些(比如5cm/像素),减少计算量并容忍一定的扫描噪声;定位阶段再把分辨率调到2.5cm/像素,换取更高的匹配精度。这两个阶段的分开调优,往往比换算法本身更见效。

3.2 2D激光与3D激光的选型边界

我自己的经验是:纯室内平面场景,2D激光就够了,而且信息密度不高,计算稳定,调试起来心里有底。但一旦机器人要上下坡、跨门槛、或者环境里有悬空障碍(比如桌面的边缘、从上方垂下的帘子),2D激光就会缺失高度维度的信息,导致误判。

3D激光则能提供完整的空间感知,在室内外通用、地形自适应、以及多楼层识别这些场景里有不可替代的优势。代价是点云数据量大,处理算法复杂度高,对算力要求更苛刻。如果只是在单层室内跑配送,上3D激光属于杀鸡用牛刀,性价比很差。

我做过的某个模拟项目(某仓库盘点机器人)用的是2D激光导航,加上一个低成本的深度相机做避障补充:激光负责定位,视觉负责近场避障,两套系统各管各的,互相不干扰。这种组合在成本控制和功能覆盖上非常均衡。

3.3 激光方案的几个经典“坑”

激光定位最大的坑,不是算法,而是环境本身。

第一个经典问题:长走廊。雷达在一条笔直的走廊里扫描,前方和后方看到的墙几乎是一样的,这就导致机器人在走廊方向上的位置估计存在模糊性,定位结果会沿着走廊方向缓慢漂移。好几个同行跟我反映过,机器人跑着跑着,在地图上明明在走廊中间,实际已经贴着墙了。解决办法有几种:一是安装朝向不同的雷达支架,增加侧向约束;二是在走廊里增加视觉地标辅助;三是在算法上对走廊场景开启“预期约束”——用轮式里程计的数据在走廊方向加强置信度。

第二个经典问题:动态物体干扰。仓库里的机械臂、叉车、行人,这些在激光扫描中都是“会动的东西”。如果直接把这些物体点云匹配进地图,定位结果就会被拉偏。主流的做法是引入动态目标过滤:把当前帧点云与预测位姿下的地图进行比对,差异过大的点云簇直接剔除,不参与位姿解算。

第三个经典问题:环境变化导致的地图失效。地图是静止的,环境是动态的。货架被移动了、墙上贴了新海报、门被打开了,这些轻微变化就会让点云匹配分数下降。长期运行的设备,一般会设计一个“局部地图更新”机制:在定位置信度较高的时候,用当前扫描帧去修正地图中局部区域的点云信息,让地图缓慢跟随环境变化。这个机制不是默认开启的——开启前一定要评估好,因为本地图数据污染可能导致全局定位失败。

4. 视觉定位:从“怕光”到“无惧场景变化”的进化之路

4.1 视觉特征点法、直接法与学习的多年拉锯

视觉定位的主流技术路线,从前到后经历了一个清晰的演化过程。

最早出来的是特征点法,比如ORB-SLAM系列。它的思路是:从图像中提取关键特征点,计算描述子,然后通过特征匹配来确定相机运动。优点是精度高,闭环检测能力强,适合大规模场景;缺点是特征提取和匹配耗时高,在低纹理环境(白墙、玻璃幕墙、空旷走廊)里容易直接“失明”。我印象很深的是在某个大厅环境里测试ORB-SLAM,四周全是光滑石材墙面,特征点数量少得可怜,定位轨迹直接扭曲成鬼画符。

针对低纹理问题,直接法登了场。它不提取特征点,而是直接用了像素的亮度信息,通过最小化光度误差来估计相机运动。在纹理稀缺但光照稳定的环境里,直接法的表现比特征点法好很多。但直接法有个致命伤:对光照变化极度敏感。白天落地窗透进阳光,地板反射强度一变,跟踪就丢。在长期运行的商用机器人上,纯粹的直接法很少被采用,就是因为这个鲁棒性短板。

再往后,就是学习方法的引入。深度学习定位大体可以分成两类。一类是学习特征提取器——训练出比传统几何特征在光照变化、视角变化下更稳定的特征点提取模型;另一类是端到端的绝对位姿回归,输入一张图直接输出位姿。后者看起来很美好,但实际精度离实时几何方法还差一截,特别是在环境大改之后,模型的泛化能力会明显吃紧。

到2023年、2024年,产业里用得最多的视觉定位方案,基本是“预训练的特征提取网络+传统几何优化”的组合。深度学习负责特征质量的提升,几何方法负责精度和闭环的保障,这样既避开了纯学习的泛化难题,也补上了特征点法在极端环境下的短板。

4.2 视觉定位的关键实操参数与调试心得

视觉定位真正能跑得好,不是选个开源框架就行,关键是几个参数的细心调整。

一个是图像分辨率。高分辨率图带来更多特征,但也会大幅拉高计算时长,导致实时性下降。我一般先跑640分辨率的输入图,观察特征数量和耗时,再决定要不要升到1280。如果目标是物理精度100%要求,一般在640分辨率下能提取150到300个特征点时,已经足够支撑高精度里程估计。

再一个是关键帧选取策略。视觉里程计不是每一帧图像都参与优化,而是抽关键帧。关键帧太密集,计算量上去了;太稀疏,又容易丢跟踪。我惯用的经验值是:平移超过3cm或旋转超过0.5度,就触发一个关键帧。这个阈值不一定通用,但可以作为调试起点。

另一个是回环检测的时机。回环检测的作用是发现“我回到了曾经来过的地方”,然后用历史关键帧修正整个轨迹的漂移。但回环检测算法本身有误报风险——两个看起来相似的场景(比如仓库里的一排排货架)很容易触发错误的回环。实操上,我会加一个严格的回环验证机制:候选回环必须连续多帧匹配成功,并且估计出的位姿变换在与里程计预测方向的差异阈值内,才接受这个回环。

4.3 视觉方案的真实边界:动态与光照

视觉定位这些年进步很大,但边界依然清晰。

第一个边界是暗光。在完全无光的仓库里,普通RGB相机直接失明。对此有二条路可走:一是上红外主动光源配合红外相机,二是上热成像,三是与激光雷达做深度耦合。红外方案成本适中,是暗光场景的第一选择。

第二个边界是动态遮挡。运动的人、车辆挡住大部分视野时,视觉特征点会被大面积遮挡。这个问题现在没有一个完美的解法,行业里通行的手段是“多相机冗余”:装两个朝向不同的相机,一个被遮挡,另一个还在工作,融合起来保障连续定位。

5. 融合定位:真正让机器人“稳如老狗”的系统工程

5.1 多传感器融合的层次架构

如果说激光和视觉是“术”,那融合定位就是“道”。在多传感器融合的系统里,每个传感器都不完美,但每个传感器都有别的传感器没有的信息维度:

  • 轮式里程计:短时间内的位移增量非常平滑,但在打滑和颠簸时会产生突变误差;
  • IMU:线性加速度和角速度响应快,高频输出,但积分后会快速漂移;
  • 激光雷达:在结构性环境里有精确的距离信息,但帧率低(通常在10Hz左右),且对动态物体敏感;
  • 视觉相机:帧率可以做到30Hz以上,提供丰富的纹理和特征信息,但对光照敏感,对纯旋转的感知效果较差。

融合的本质,不是简单地把这些数据平均一下,而是建立一套严格的权重机制:在每一个时刻、每一个自由度上,判断哪个传感器更可信,然后把可信的信息放入优化问题,解算出最优位姿。

工程上,常见的实现分两类。一类是松耦合(loosely coupled):每个传感器先独立算出自己的定位结果,再用滤波算法(如扩展卡尔曼滤波EKF)融合多个结果。优点是模块独立,易于调试;缺点是某个传感器内部的误差难以被系统及时捕获。另一类是紧耦合(tightly coupled):直接拿各个传感器的原始观测数据(比如激光点、图像像素),在一个优化函数里联合求解。精度上限更高,但算法复杂度大,系统集成难度高。

工业界这几年逐步偏向紧耦合方向,尤其是“视觉+IMU+轮速计”的紧耦合方案,已成为移动机器人底盘定位的主流框架。视觉提供长时间稳定的尺度信息,IMU提供短时间高频的姿态变化,轮速计提供加速度约束,三者在因子图里形成互补。

5.2 实战融合配置:一个可供直接套用的参考方案

在这里分享一个我实际调试过的融合定位配置,适用于室内轮式机器人,可以作为一个参考模板。

传感器配置:

  • 轮式里程计:两轮差速底盘,编码器分辨率1000线
  • IMU:低成本的六轴模块(加速度+角速度),频率200Hz
  • 激光雷达:单线2D,10Hz,扫描范围30米
  • 视觉相机:双目深度相机,30Hz,分辨率720p

融合策略按频率分层处理:200Hz的IMU数据作为最高频的预测输入,驱动状态预测;10Hz的激光雷达数据作为低频修正锚点,每帧到来时做一次点云匹配,对位姿做一次校正;轮式里程计则作为先验约束,在优化过程中约束平移增量。

我调这套系统时,有一个参数值得特别注意:IMU与底盘坐标系的安装偏差角。如果IMU安装时没有严格对齐底盘前方方向,哪怕偏差只有2到3度,长期运行下来都会带来不可忽略的横向漂移。工程上,我会在装完传感器之后跑一段“标定旋转测试”:让机器人原地旋转360度,采集IMU角速度积分和底盘编码器数据,反算安装偏差角并做补偿。这个步骤看似简单,但对融合精度的提升效果远超换一个更贵的IMU。

5.3 可靠性工程:定位丢失的自检与自恢复

比精确更重要的,是“知道自己什么时候不精确”。

很多实际场景中,定位不会直接崩溃,而是慢慢漂移、逐渐失真。如果系统没有输出置信度评估,机器人就会带着错误位姿继续运行,直到撞到障碍物才被发现。我在项目里一定会做三个层面的自检机制:

第一层是传感器健康检查。检查数据流是否正常、帧率是否稳定、量程是否合理。激光雷达的信号强度异常、视觉图像的亮度过于饱和,都算作传感器异常。

第二层是观测一致性检查。融合系统每次接收到一个传感器的观测数据时,会先把观测值与当前预测位姿做一次预匹配。如果残差超过阈值,说明这个观测可能是异常值(或者预测已经不准了),此时系统会自动降低该传感器的融合权重。

第三层是定位置信度输出。经过上述两层检查后,系统会生成一个置信分数,例如0到100。低于某个阈值时,机器人进入“保护模式”:减速、停住、重新定位。

6.1 从精度、成本、鲁棒性三个维度看选型

方案类型典型精度核心优势核心短板适用场景
纯视觉(单目)3%-5%路程误差成本低、信息丰富光照敏感、纹理依赖室内简单环境、科研验证
纯视觉(双目/RGB-D)1%-2%路程误差成本适中、有深度信息暗光失效、动态干扰室内服务机器人、仓储
纯激光(2D+SLAM)5-10cm绝对精度精度高、环境适用广成本较高、几何特征缺乏工业AGV、巡检机器人
激光+IMU2-5cm抗漂移能力强依赖结构化环境工厂、仓库、停车场
视觉+激光+IMU全融合1-3cm场景适应最强、鲁棒性最高算法复杂、调试周期长复杂动态环境、多楼层

上表是我自己习惯的选型参考框架。具体到项目,我的决策顺序是:先看场景复杂度,再看运行时长,最后砍预算。场景复杂度决定了单一传感器是否够用;运行时长决定是否需要融合多个传感器来抑制长时间漂移;预算决定了融合方案能做到什么程度的冗余。

6.2 未来三年值得关注的三个技术方向

技术演进不会停,站在2025年这个节点往后看,有三个方向我认为值得投入关注。

第一个是语义地图与定位的结合。传统定位的地图是几何的:墙是线,障碍物是点。语义地图则往里叠加了物体类别:哪里是门、哪里是桌子、哪里是充电桩。定位时,不仅匹配几何位置,还匹配语义上下文,两个不同传感器观测到同一个“门把手”特征时,也能形成有效约束。这个方向对动态场景适应能力会有显著提升。

第二个是端到端定位模型的轻量化落地。目前的端到端模型主要靠云端或大算力边缘设备运行,随着模型压缩和量化技术的推进,把百亿级参数的模型压到嵌入式端上运行正在成为可能。一旦端侧算力足够,直接用相机图像回归高精度位姿就不再是实验室玩具,而是真正的产品方案。

第三个是分布式定位网络。单个机器人定位是独立的,多个机器人组成车队时,可以互相交换位置观测,形成一张动态的定位协作网。比如一台机器人在路口发现自己的位置有不确定性,可以请求附近另一台状态更确定的机器人做相对观测,从而修正自身位姿。这个方向在工业物流场景会率先落地。

6.3 关于演进逻辑的最终思考

回看这十年,定位技术的演进本质上是一个“不确定性管理”的问题。每一代新方法,都不是为了让机器人知道得更准,而是让机器人更准确地知道自己有多不确定,并在不确定的情况下做出可靠的行为决策。

我个人的体会是:真正让机器人在复杂环境中长期稳定运行的关键,从来不是某一个传感器有多高级,而是系统能不能在错误发生之前感知到错误,并在错误发生时给出平滑的降级策略。学会同时听多个传感器的“声音”,并且知道什么时候该相信谁,这是算法以外最值钱的经验。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询