前几天在项目群里有人问了一句:“自动驾驶用的激光雷达,用久了精度会不会下降?”这问题看似简单,但真不是一句“会”或“不会”能带过的。我这些年经手过的雷达从16线到128线、从旋转机械式到半固态,装过车也拆过壳,对这个问题有挺多实际感触。先给个直接结论:激光雷达用久了确实会出现精度相关的退化,但绝大多数情况下,你感受到的不是“测距数字偏了”,而是噪声变大、点云变稀、强度信息失真,甚至偶发掉点,真正让你吃大亏的往往不是雷达本身,而是内外参标定在长期行驶中悄悄漂掉。这篇文章我打算把整个退化机理、判断方法和运维经验一次讲透,主要围绕自动驾驶、激光雷达、精度这三个关键词展开,内容适合正在做传感器系统集成、负责无人车维护,或者对激光雷达量产质量有好奇心的朋友。
1. 先给结论:精度会退化,但多数不是你想象的那种退化
从物理层面说,任何光学测量设备都会随时间和使用环境发生一定程度的性能蠕变,激光雷达不可能是例外。但“精度下降”这个说法太笼统了,因为在工程上,精度这个词经常被偷换概念。你日常感知的所谓精度下降,其实可能来自完全不同的几个环节。
1.1 “精度下降”其实分两类:准度和精密度
我习惯把问题拆成两半来聊:准度(accuracy)和精密度(precision)。准度是测量值和真实值之间的偏差,比如说墙明明在10米外,雷达测出来是10.03米,这就叫准度差了3厘米。精密度是反复测量同一个地方得到的结果是否一致,比如同一个位置测十次,数值在9.97米到10.03米之间波动,那这个波动范围体现的是精密度。
激光雷达老化以后,大多数情况下首先出问题的是精密度,也就是噪声变大、点云发散。你会看到本来应该集中成一个“点”的目标,变成一团模糊的杂点,墙面散斑明显变厚。准度反而往往是相当稳的,因为Time-of-Flight测距的核心是一个高精度时钟在数光子的飞行时间,激光器功率下降不会让光速变慢,时钟也不太会突然跑偏。真正让准度变差的,通常是发射和接收的光轴跑偏了、标定参数漂了,或者机械结构出现形变。
基于这个区别,你在判断一个雷达是否“精度下降”之前,最好先明确你说的是哪种。很多人把噪声变大误判成“测距不准”,结果清洁完窗口之后问题就消失了,压根不是真正的精度退化。
1.2 真正常见的退化路径:窗口污染、光源老化、标定漂移
根据我在几个量产项目里的数据统计,激光雷达回厂维修的高频原因基本集中在三件事:第一是外层窗口片被污染或者刮花,尤其是在多尘、多泥沙、或者有雨雪的使用场景下,窗口上的微小划痕和沉积物会明显造成透光率降低,进而导致远处低反射率目标回波丢失;第二是激光器老化,连续工作上万小时后发光功率会下降,这会压缩雷达的有效量程,但一般不会直接让近处测距明显偏出去;第三是标定漂移,雷达装上车以后经过颠簸、温度变化、轻微碰撞,内部的光学支架或者外部安装支架都可能发生微小位移,这种位移反映在点云里就是物体边缘出现重影、地面轻微扭曲、拼接不齐。
这三点里,最容易被外部归因成“雷达坏了”的其实是第三点。因为标定漂移会导致很明显的系统性偏差,整片点云整体往某个方向错位,看起来就像雷达测距不准了。但实际上是“装歪了”而不是“测错了”,道理和相机内参漂了以后拍照发虚是类似的。
2. 拆解激光雷达的工作链路,找退化点
要理解长期使用后精度为什么会变化,最好还是把激光雷达的整个工作链路拆开看。我默认最常见的测距方式是飞行时间法,也就是发射一束激光脉冲,等它碰到物体后反射回来被接收器捕捉,利用时间差乘以光速除以二就是距离。听起来简单,但这一发一收中间,有大量光学、电子、机械环节在同时运转。
2.1 激光器老化:功率衰了不等于测距必然偏了
激光二极管是有限寿命的器件,这是物理规律。连续工作状态下,发光效率会逐渐降低,阈值电流会升高,这会导致发射出去的激光峰值功率没有出厂时那么足。对于自动驾驶场景来说,这带来的直接后果不是近处测距突然不准,而是远距离小目标变得“若隐若现”。你想想,一束光出去以后漫反射回来的能量本来就弱,如果发射功率再下降,接收端的光电探测器就更难在背景噪声里把回波挑出来。
还有一点容易忽略,激光器老化和温度强相关。雷达内部如果散热设计一般,激光器长期在高温下工作,老化速度会成倍加快。这也是为什么安装位置很讲究,你要是把雷达贴在发动机舱附近或者被阳光直晒的黑色外壳里,寿命表现大概率要打折扣。
2.2 接收链路:噪声变大的连锁反应
接收端的光电探测器同样会老化。光电二极管的暗电流会随使用时间增大,等效噪声抬高。噪声抬高以后,为了维持稳定的检测能力,驱动电路可能需要动态调整探测器增益,这又会带来一个麻烦:增益变化会改变信号触发的电压阈值和判定时刻,最终让回波时间在多帧之间出现随机抖动,反映成点云噪声变大。
接收链路老化最让人头疼的还不是静态噪声,而是它跟温度联合起来以后会呈现明显的漂移。你刚开机时点云是正常的,跑两小时车舱内温度起来以后,远处点云质量就开始劣化,乍一看像雷达热稳定性不行,拆开测可能发现是接收链路某一个放大器的性能随温度在漂。这种情况比较难通过简单清洁解决,往往需要做一次内部重新标定,必要时返厂更换接收模组。
2.3 转镜和轴承:机械结构的长期磨损
旋转机械式激光雷达内部有一个高速旋转的镜头或者反射镜组件,轴承就是它的命门。日常使用中,轴承磨损、润滑油老化、转镜动平衡轻微变化,都会让扫描线在圆周方向上出现角度抖动。角度抖动体现在点云上就是同一圈扫描的起点有微小错位,地面点可能像“波浪”一样起伏,这就是某些长期运营车辆点云出现“周期性扭曲”的原因之一。
固态雷达或半固态雷达没有高速旋转轴承,寿命压力会小很多,但这不代表机械问题完全消失。MEMS微振镜的悬臂结构会在长期振动下出现疲劳,振镜扫描角度范围可能会轻微变化,同样需要标定参数去补偿。
2.4 标定漂移更隐蔽:内外参才是大户
我遇到最多的“测距不准”投诉,最终定位下来都不是雷达本体测距误差超标,而是标定参数变了。雷达内部发射模块和接收模块之间的光路是会因为物理冲击或温度循环而产生微小位移的,这属于内参漂移;而雷达外壳和车体之间的相对位置,经过长期震动或轻微碰撞之后也会改变,这属于外参漂移。内参漂移会引起点云自中心向外逐渐偏转,外参漂移则会让整片点云与车身坐标系之间产生刚体变换误差,叠加在地图里就是障碍物位置整体偏移。
自动驾驶对激光雷达精度要求高还有一个隐藏因素:传感器融合时,点云要跟相机图像、毫米波雷达和惯性导航做统一坐标系变换。哪怕激光雷达本身测距很准,只要外参偏了1厘米,融合出来的目标位置就偏了不止1厘米,再叠加规划控制模块的误差,后果会被放大很多。
3. 实际怎么检测和量化退化程度
判断一个激光雷达是否需要维护,不能光靠眼睛看“点云是不是稀了”。我建议在实际项目中设计一套可重复的检测流程,固定周期跑一遍,用数据说话。下面这套方法是我在一个园区无人车项目里用过的,设备要求不高,效果非常明确。
3.1 拍一堵标准墙,看平面拟合残差
找一面大面积平整墙面,最好表面粗糙度一致、无反光玻璃,让雷达正面朝向墙面固定好,采集一帧完整点云。取墙面上的一块感兴趣区域,用随机采样一致性算法拟合一个平面,然后计算点到平面的距离残差。残差的均方根误差值就是这个雷达当下精密度的直接体现。
新出厂雷达在良好环境下,近场量程段做这种平面测试,RMSE一般能压到2到3厘米以内,特定型号甚至能做到毫米级。如果某次测试结果显示墙面残差从2厘米涨到了5厘米以上,且墙本身没有问题,那基本可以判断雷达接收噪声劣化了。如果你把同一组数据按扫描线拆开看,发现某几条线残差明显比其他线大,那可能是单线接收通道有问题,比整体劣化更容易定位。
3.2 对照高精度参考目标做距离准度考核
做准度检测需要引入外部基准。最方便的是找几个不同距离的强反射目标,比如逆反射标识板、角反射器或者金属圆柱,然后通过高精度全站仪或者RTK设备测出目标的精确距离。用雷达对目标做长时间静态扫描,统计目标中心点的测量距离与参考真值之差。
需要注意,目标虽然本身是强反射体,但在点云里的位置提取方式也要统一。如果取最近点、质心点或者反射强度加权中心点,结果会不一样,所以建议固定使用一种提取方式去纵向比较。只要环境温度、天气条件类似,前后几次测量差值的增长趋势就能反映出准度漂移情况。
3.3 借助内参状态和强度信息辅助判断
现在很多雷达会通过内部监控通道上报激光器工作状态、温度、接收功率等诊断信息,只是这些数据普通用户不太注意。我建议把雷达输出的诊断日志定期存下来,重点看两个指标:发射能量是否连续下降、接收端增益是否持续爬升。如果增益一直被系统拉到高位才能维持点云密度,说明光学链路或者探测器确实在退化。
同时别忽视点云强度值。强度信息虽然不直接参与距离计算,但它是判断反射能量的重要特征。拿一张标准反射率板放在固定位置,观察不同时期强度值的平均值变化。如果同样一块目标板的强度响应持续衰减,说明发射功率或者接收灵敏度已经处在下降通道中。这个时候即使测距没有异常,也要着手安排清洁、检修或者预备更换备件。
4. 哪些错误操作最容易毁掉精度
很多雷达不是用坏而是“折腾”坏的。我见过太多因为养护不当导致传感器提前退化的案例,下面这几个坑尤其值得说出来给同行避雷。
4.1 窗口清洁的翻车现场
雷达外层窗口上有防尘、防雾镀膜,最常见的错误就是直接用干布或者纸巾来回擦。窗口上面粘的沙粒是硬质颗粒,干擦等于用砂纸打磨镀膜,一次就能留下肉眼可见的划痕。划痕一旦形成,散射光就会干扰接收链路,尤其对低角度入射的激光影响极大,其结果就是点云噪声不可逆地变大。
正确做法是先用气吹或者低压力风枪把表面大颗粒吹掉,再用专用光学镜头纸配合无水乙醇或者专用清洁剂,以同一方向轻轻擦拭,不要来回蹭。野外作业完以后,最好每次回场站都做一次清洁记录,避免污染物长时间附着腐蚀镀膜。
4.2 温度和电源的隐性伤害
激光雷达工作温度区间通常写在规格书里,但实际项目里经常只关注能不能开机,没关注长期高温或低温是否超出了核心器件的承受范围。高温会让激光器加速老化,低温则可能让机械结构里的润滑油变稠,增加轴承转动阻力,导致扫描角度误差变大。如果雷达外壳设计得封闭且无法散热,哪怕环境温度只有30摄氏度,壳体内部加上器件发热也可能到70度以上。
电源问题同样隐蔽,车辆启停瞬间的电压跌落或者噪声尖峰,对雷达内部电源管理模块都是冲击。长期在电源质量差的车上工作,雷达里的稳压电路、滤波电容容易提前老化,直接表现为掉电重启频率变高和测量噪声变大。所以有条件的话,建议给激光雷达单独接稳压电源,并注意搭铁线的接触电阻。
4.3 振动和安装基础面的处理
无人车长期在颠簸路面行驶,雷达安装支架如果刚性不足,会持续把低频振动传给雷达内部结构和连接器。连接器松动比雷达本体损坏更常见,我排查过多次“点云瞬时跳变”问题,最后发现都是航插或者板端连接器接触不良。这种软故障非常难复现,容易被误判成雷达精度问题。
安装面也需要定期检查。固定雷达的法兰盘如果发生塑性变形,哪怕只有零点几毫米,经过安装高度放大以后,远处点云的落位误差也可能被你误认为是“测距不准”。因此每次保养周期都要检查安装螺丝扭力是否达标,并做好防松标记,方便快速观察是否发生了相对位移。
5. 自动驾驶项目中怎么维护和延续精度
对做项目的人来说,讨论“会不会退化”最终要落到“怎么管”。精度下降并不可怕,可怕的是不知道它什么时候开始下降了,于是把退化传感器当成好传感器用。
5.1 建立每个传感器的健康度基线
新传感器到货以后,建议先别急着装车,在标准环境做一次完整的点云质量测试,记录墙面包络残差、8到10米处目标板强度均值、近距离和远距离测距偏差这些数据。把这些数据作为该传感器生命周期的基线,后续每三个月重复一次同样测试,把结果做成曲线,一旦出现明显拐点,就知道该安排维护了。
这个模式跟在设备管理里做预防性维护一样,核心思路是比“完全故障”更早发现“性能衰减”。自动驾驶系统对传感器失效有冗余,但对渐进式性能衰减往往缺乏感知。有了健康度基线,你的运维系统就能在点云质量还没有让系统功能失效之前就发出预警。
5.2 多传感器交叉验证
车上有多个激光雷达时,可以利用重叠视场做在线校验。当两个雷达对同一个目标物都能产生有效点云时,算它们的测量结果差值和互相匹配程度。如果差值常年稳定在某个水平,某一天突然整体上升,那基本就是其中一路出了问题。用这个方法,不用专用测试场地,在日常运行数据里就能捞出来有问题的传感器。
这里有个小技巧:多雷达交叉验证要优先选择视场重叠且距离适中的区域,不要选过远或者过近的极端区域。过远时噪声天然偏大,参考价值有限;过近时两个雷达的入射角度差异太大,会引入额外的形状误差。
5.3 什么时候该返厂校准或者返修
什么时候自己调、什么时候返厂,我个人的判断标准是:如果问题出在外参,比如装车角度变了,那就重新做外参标定,不用返厂;如果问题出在内参,比如出厂时的距离偏移补偿异常或者通道串扰,那就不是现场能解决的,要果断联系原厂做内部校准。很多现场标定工具能给你微调整体距离偏移的接口,但那只能解决一个全局的粗略偏差,无法修正雷达内部通道间不一致的问题。
另外,返修之前一定要把诊断日志和异常点云保存好,发给工程师时越详细越好,能省掉大量沟通成本。拿一份有明显周期扭曲的点云例子和当时的日志文件过去,对方基本一眼就能判断是哪一部分出了问题,比自己电话里形容“点云有点飘”有效得多。
最后再分享一点个人经验:我踩过最大的坑是忽略清洁周期,总想着雷达窗口看着不脏就不用处理,结果到后来发现大量异常来自一层透明的油膜,肉眼看不太出来,但红外波段的透光率已经掉了将近两成。从那以后,我就把“光学窗口清洁”写进了每次回场保养的必做清单里。对长期运行的自动驾驶车辆来说,把传感器维度的小问题控制住,远比一开始就追求极高精度要省心,因为再精密的雷达,也需要一套靠谱的日常运维才能把精度稳定地发挥出来。