ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

自动驾驶定位技术:GPS依赖的脆弱性与多传感器融合应对策略

自动驾驶定位技术:GPS依赖的脆弱性与多传感器融合应对策略 1. 当“眼睛”不可靠自动驾驶对GPS的依赖与脆弱性最近和几个做自动驾驶感知和定位算法的朋友聊天话题绕不开一个老生常谈但又无比现实的问题GPS。我们开玩笑说现在做自动驾驶尤其是L2以上的方案GPS就像空气平时感觉不到它的存在但一旦没了立刻就会窒息。从高精地图的匹配、车辆全局定位的初始化到多传感器融合中的“锚点”GPS更准确地说是GNSS全球导航卫星系统扮演着那个提供绝对位置和时间的“上帝视角”角色。没有它车就不知道自己在地球上的哪个经纬度后续所有的局部感知、路径规划都成了无源之水。但问题恰恰在于这份依赖背后是巨大的不安全感。我们怕的不是GPS信号偶尔的飘移或几米的误差——这些通过融合IMU、轮速计和视觉/激光雷达在算法层面还有办法纠偏。我们真正“不敢用”的是那些系统性、难以预测甚至带有恶意的失效场景。比如你正以120公里时速在高速上开启NOA领航辅助驾驶突然进入一个长隧道或者驶入城市峡谷两侧都是高楼GPS信号瞬间衰减甚至完全丢失。又或者更极端一点遭遇了无意的同频干扰比如附近有强无线电发射源甚至恶意的欺骗式干扰有人故意发射虚假的GPS信号。这个时候融合定位算法如果对GPS的权重降得不够快或者失效检测机制不够灵敏车辆就可能基于一个错误的位置信息做出决策后果不堪设想。这种“不敢用”的心态本质上是一种工程上的“防御性设计”思维。我们不能假设运行环境是理想的必须为最坏的情况做准备。因此现在的自动驾驶系统设计与其说“离不开GPS”不如说是在“如何优雅地应对GPS失效”上投入了巨大的研发精力。这构成了自动驾驶定位技术最核心的挑战之一在享受GPS带来的全局、绝对定位便利的同时构建一套不依赖于它的、鲁棒的、高精度的相对定位和状态估计能力。这就像一个人既要会用地图和路标GPS高精地图更要练就在完全黑暗或浓雾中GPS失效仅凭触觉和惯性IMU、轮速计、环境感知也能稳健行走甚至奔跑的本事。2. GPS在自动驾驶定位栈中的真实角色与价值边界要理解为什么“怕”首先要清楚GPS在自动驾驶的“定位栈”里到底在干什么它的能力边界在哪里。很多人把GPS简单理解为“告诉车在哪里”这过于笼统了。在现代多传感器融合定位框架中GPS结合RTK/PPP等增强技术的核心价值体现在三个层面。2.1 全局绝对位置的“锚点”与初始化器这是GPS最不可替代的作用。车辆上电启动时所有的惯性传感器IMU只知道自身的角速度和加速度视觉和激光雷达只能看到周围环境的相对结构。它们都无法回答“我在世界坐标系下的哪里”这个根本问题。此时一个有效的GPS信号哪怕只有几米的精度就像在茫茫大海中给出了一个经纬度坐标让系统瞬间有了一个全局参考的起点。没有这个起点车辆就无法与预先加载的高精地图进行匹配所有的规划和控制都无从谈起。在Apollo、Autoware等开源框架的定位模块初始化流程中GPS信号都是不可或缺的第一环。2.2 抑制惯性导航INS误差累积的“校正器”惯性导航系统INS核心是IMU通过积分加速度和角速度来推算位置和姿态其特点是短期精度高、输出频率高但误差会随着时间累积而发散漂移。GPS虽然可能受环境影响但其误差不随时间累积长期来看是稳定的。因此在经典的“GNSS-INS松耦合/紧耦合”融合模型中GPS的核心作用就是周期性地“拉回”INS不断发散的轨迹提供一个绝对的位置约束。在高速公路上这种信号良好的开阔区域融合后的定位精度可以长期保持在厘米级RTK状态下这是实现车道级保持的基础。2.3 多传感器融合中的“权重调节参考”在更复杂的融合定位系统中如融合激光雷达点云匹配、视觉里程计等GPS的输出及其置信度通常由卫星数量、DOP值等反映是一个重要的先验信息或权重调节因子。当GPS信号质量很高时系统可以给予其输出的绝对位置较高的信任权重当信号质量下降如进入城市峡谷系统会自动降低GPS的权重更多地依赖激光雷达与高精地图的匹配结果或者视觉/激光雷达里程计的相对位移估计。这个动态权重调节机制是系统应对环境变化的关键。然而GPS的价值边界也非常清晰信号可用性边界隧道、地下车库、茂密树林、城市峡谷深处这些地方信号严重衰减或完全拒止。精度与可靠性边界单点GPS精度在几米到十几米无法满足车道级需求。即便使用RTK也需要稳定的基站信号和良好的天空视野在复杂城区仍可能因多路径效应信号在建筑物间反射导致跳变。安全性边界信号易受干扰和欺骗这是最致命的“阿喀琉斯之踵”。一个廉价的GPS干扰器就足以让一片区域的自动驾驶车辆定位系统陷入混乱。所以自动驾驶系统设计者的共识是GPS是一个强大的辅助工具和参考基准但绝不能作为唯一的、甚至是最核心的定位依赖。它的数据必须被“谨慎地”使用即带有健全的完好性监测和失效检测机制。3. 信号失效的典型场景与系统级的应对策略既然GPS不可靠那么自动驾驶系统是如何设计来应对各种失效场景的呢这需要从场景分类和系统架构两个层面来看。3.1 场景一渐进式信号衰减与遮蔽如进入隧道、城市峡谷这是最常见的情况。信号不是瞬间消失而是随着车辆移动逐渐变差卫星数减少DOP值增大。系统的应对是一个渐进的过程置信度下降定位融合算法通常是卡尔曼滤波器或其变种如误差状态卡尔曼滤波器ESKF会首先观察到GPS观测噪声的协方差矩阵在增大。算法会自动降低GPS测量值在状态更新中的权重。切换主导传感器与此同时系统会提升其他传感器的权重。例如视觉里程计VO或激光雷达里程计LO开始输出更可靠的相对位移轮速计提供航迹推算Dead Reckoning。在隧道内如果预先有高精地图且隧道内有可识别的标志物如灯带、消防栓、墙面纹理激光雷达点云匹配如ICP算法或视觉定位可以接过主导权。状态估计器模式切换整个定位系统可能从“GNSS-INS紧耦合模式”切换到“纯惯性导航模式”或“视觉/激光雷达辅助的惯性导航模式”。在切换期间IMU的漂移会被其他传感器短暂抑制直到GPS信号恢复。实操心得这里的关键在于“平滑过渡”。我们曾在测试中发现如果GPS权重降得太快而视觉里程计刚好因为光照突变产生了一帧异常数据会导致定位跳变。后来我们在状态协方差管理和故障检测中加入了更复杂的逻辑例如不仅看GPS自身的信噪比还看其预测值与IMU推算值之间的残差是否连续超限形成一个多条件的“健康度”评分再决定权重过渡就平滑多了。3.2 场景二瞬时信号丢失与跳变如遭遇干扰或欺骗这是更危险的情况。GPS输出可能在毫秒级时间内完全消失或者发生几十米甚至上百米的剧烈跳变欺骗攻击。快速故障检测与隔离系统必须拥有极快的异常检测能力。除了检查卫星数和DOP更有效的方法是进行“一致性校验”。例如将当前GPS位置与基于IMU和高精度里程计预测的位置进行比较如果差值超过一个动态阈值这个阈值会根据车速、弯道等状态动态调整则立即判定该GPS数据无效并将其从融合器中“隔离”即不使用该次更新。启用降级定位模式一旦GPS被隔离系统立即进入降级模式。此时完全依赖IMU、轮速计和环境感知传感器进行航位推算和局部定位。虽然绝对位置会逐渐漂移但在短时间内例如几十秒内对于车辆的控制如保持车道、跟车来说相对位置的精度和连续性更为重要。驾驶员接管提醒如果GPS长时间未恢复且其他传感器也无法提供足够置信度的定位例如在一条没有任何特征的长直隧道中系统必须评估自身定位的不确定性。当不确定性超过安全阈值例如横向误差可能超过半个车道系统应该向驾驶员发出明确的、逐步升级的警告最终要求人工接管。这是功能安全ISO 26262的要求。踩坑记录我们早期版本对GPS跳变的检测不够敏感。在一次测试中车辆经过一个高压输电线下方GPS受到了瞬时干扰产生了约50米的跳变。由于跳变后位置仍在高精地图的道路范围内且其他传感器没有瞬间反驳融合算法一度接受了这个错误位置导致规划模块生成了一个错误的变道指令。事后分析我们增加了“历史轨迹合理性检查”即检查GPS新位置与过去一段历史轨迹是否在物理动力学上连续车辆不可能瞬间移动50米。这个简单的逻辑后来帮我们拦住了好几次类似的异常。4. 超越GPS构建不依赖卫星的冗余定位能力应对GPS失效最根本的策略是在系统设计之初就构建不依赖于GNSS的、独立的冗余定位能力。这主要沿着两条技术路线展开基于环境感知的定位和基于高精度惯性导航的定位。4.1 基于环境感知的定位激光雷达与视觉SLAM/VLOC这是目前主流方案尤其在Robotaxi和无人配送车等领域。激光雷达点云匹配通过将当前帧激光雷达扫描的点云与预先制作好的高精地图通常是点云地图或特征地图进行匹配使用ICP、NDT等算法直接计算出车辆在地图中的精确位置和姿态。这种方法精度高可达厘米级、不受光照影响但依赖高质量且实时更新的高精地图计算量也较大。华为、小鹏等车企宣传的“激光雷达融合定位”即以此为核心。视觉定位VLOC与视觉SLAM通过摄像头捕捉道路特征如车道线、交通标志、路灯、建筑轮廓并与地图中的视觉特征库进行匹配。视觉SLAM同步定位与地图构建则可以在无图区域实时构建局部地图并实现定位。它的优势是传感器成本低信息丰富但受天气、光照变化影响大。特斯拉的纯视觉方案就是这条路径的极致代表它依赖于强大的神经网络从视频流中提取鲁棒的特征并基于“视觉里程计”和“地图匹配”实现定位。技术细节补充在实际应用中纯激光或纯视觉都有局限。因此多采用融合方案比如“激光雷达为主视觉为辅”激光雷达提供精确的几何结构匹配视觉提供丰富的纹理信息和语义信息如识别出某个特定的交通标志作为强定位锚点两者互补。当GPS失效时这套系统依然能提供稳定、高精度的局部定位保证车辆在车道内行驶。4.2 基于高精度惯性导航的“黑箱”能力当车辆进入一个完全无特征且感知传感器也受限的环境例如一个没有任何标志物的长直水泥隧道且灯光昏暗上述基于环境感知的定位方法也会失效。这时最后的防线就是高精度的惯性导航系统。战术级IMU消费级和车规级IMU的漂移太快无法独立支撑长时间定位。因此一些追求高阶安全的自动驾驶系统会考虑集成战术级甚至导航级的IMU。这些IMU采用光纤陀螺或MEMS陀螺的高端型号其零偏不稳定性、角度随机游走等关键指标比普通IMU好几个数量级价格也昂贵得多。轮速计与底盘信息融合将轮速脉冲信号、方向盘转角等信息与IMU进行深度耦合可以构建更精确的航迹推算模型。通过车辆运动学模型可以约束IMU在平面运动中的自由度进一步抑制漂移。“黑箱”运行时间这套不依赖任何外部信号的“封闭式”导航系统能够在不累积超出安全范围误差的前提下独立工作的时间长度是一个关键指标。例如系统设计目标可能是“在GPS和环境特征完全失效后仍能保证车辆在车道内安全行驶60秒”。这60秒就是留给系统寻找恢复信号或安全停车的时间窗口。经验之谈我们评估过战术级IMU的方案成本是最大的障碍。一个可行的工程折衷是采用性能稍好于标准车规级的IMU但通过更精细的标定温度补偿、在线标定和更先进的滤波算法如基于深度学习的误差建模来提升其短时精度。同时在系统层面一旦进入“纯惯性导航模式”车辆的决策规划模块会采取更保守的策略比如主动降低车速、增大与前车的跟车距离并为寻找下一个定位恢复点如隧道出口做出预判。5. 数据闭环与仿真在虚拟世界中穷尽失效场景真实的道路测试无法覆盖所有极端情况尤其是恶意的GPS欺骗攻击。因此自动驾驶公司越来越依赖数据闭环和仿真来验证和提升系统在GPS失效下的鲁棒性。5.1 构建包含丰富GNSS异常场景的数据集正如网络热词中提到的“自动驾驶数据集”未来的高质量数据集必须包含各种复杂的GNSS信号场景。这不仅包括简单的无信号区域还应涵盖多路径效应场景在城市峡谷、立交桥下采集数据标注GPS定位产生的漂移和跳变。干扰场景模拟在封闭场地使用信号发生器模拟不同强度的窄带和宽带干扰记录车辆传感器数据和真值轨迹。欺骗攻击场景虽然难以真实复现但可以在仿真中精确模拟。将欺骗信号模型注入到仿真环境的传感器数据流中测试定位模块的检测和隔离能力。这些数据用于训练感知模块使其在定位模糊时更鲁棒更用于开发和测试定位融合算法本身的故障检测与恢复逻辑。5.2 高保真仿真中的压力测试在像CARLA、LGSVL或公司自研的仿真平台上可以构建极度复杂的测试用例。例如“幽灵路口”测试在仿真中让车辆在GPS信号良好的情况下接近一个路口然后在关键时刻注入一个欺骗信号让车辆定位“跳”到旁边车道观察规划控制模块是否会做出错误转弯决策。长隧道接力测试模拟一个长达数公里、内部特征稀疏的隧道。车辆进入后GPS立即失效测试其纯靠激光雷达/视觉和IMU能维持车道保持的极限距离以及出隧道后重新捕获GPS并修正位姿的速度和精度。城市峡谷连续失效测试在仿真的密集城区动态地、随机地让GPS信号在部分路段失效测试系统定位模式切换的平滑性和整体轨迹的连续性。通过海量的仿真测试可以在产品上路前尽可能多地暴露和修复定位模块在边界条件下的缺陷。这比单纯依赖路测要高效和全面得多。6. 从系统集成视角看定位安全功能安全与预期功能安全最后我们必须从更高的系统集成和产品安全视角来看待GPS依赖问题。这涉及到功能安全Safety和预期功能安全SOTIF两个层面。6.1 功能安全ISO 26262要求下的定位架构功能安全处理的是因系统故障如硬件随机失效、软件bug导致的危险。对于定位系统这意味着冗余设计定位功能本身需要冗余。例如主定位模块基于GNSS激光雷达IMU和辅助定位模块基于视觉IMU应由不同的硬件或软件分区实现彼此独立监控。安全状态与降级当主定位模块检测到自身失效包括GPS不可信时它需要向整车控制器报告明确的故障等级和定位结果的置信区间。系统应根据预设策略进入降级模式如仅提供车道保持辅助或触发最小风险状态MRM如打开双闪、缓慢减速并停靠到路边。监控与诊断需要有独立的监控单元持续检查各定位传感器数据的合理性和一致性以及融合定位输出结果的合理性例如车辆位置是否突然出现在不可行驶区域。6.2 预期功能安全SOTIF与未知的不安全场景SOTIF关注的是在系统无故障的情况下由于性能局限或遭遇未知场景而导致的风险。GPS失效及其引发的连锁反应正是SOTIF的核心课题。已知不安全场景的验证与应对我们前面讨论的隧道、城市峡谷、干扰等都属于“已知不安全场景”。SOTIF流程要求我们通过分析和测试明确这些场景下系统的行为并通过改进设计如增强定位冗余或定义操作限制如在该区域限制自动驾驶功能开启来降低风险。探索未知不安全场景更困难的是那些我们没想到的场景组合。比如GPS欺骗攻击叠加摄像头瞬间致盲如对向车远光灯。SOTIF鼓励使用基于场景的测试和仿真去尽可能多地探索这些长尾场景。这也是为什么我们需要在仿真中“穷尽”各种异常信号注入的原因。个人体会在实际项目中定位模块的开发不再是算法工程师闭门造车。我们需要与系统架构师、功能安全工程师、测试工程师紧密协作。从需求阶段就要明确列出所有可能的定位失效模式及其影响等级。设计阶段就要考虑冗余和监控方案。测试阶段除了常规的精度测试更要设立专门的“失效注入测试”环节。只有这样才能把“不敢用”的焦虑转化为系统层面“敢于应对”的底气。自动驾驶的安全之路正是在对这些看似基础却又无比脆弱的环节的反复打磨和加固中一步步向前延伸的。
返回列表