1. 课程导入

当你打开手机地图、启动车载导航,或看到无人机在楼宇间稳定悬停时,背后往往同时运行着两套定位系统:一套是来自太空的GNSS卫星定位,另一套是装在设备内部的IMU惯性测量单元。它们各自都有明显短板——GNSS在开阔天空下精度可达米级甚至厘米级,但进入隧道、地下车库或城市峡谷时信号衰减、多径严重,输出会跳变甚至中断;IMU短时间内的角速度和加速度积分能提供高频、连续的姿态与位移估计,却会随时间累积漂移。融合定位的核心任务,就是让两者互补:用GNSS的长期绝对基准去约束IMU的漂移,用IMU的高频连续性去填补GNSS的失锁与低更新率。

本课程面向工程落地,不满足于“知道卡尔曼滤波公式”,而是希望你能独立完成从传感器选型、时间同步、误差建模、滤波器实现到实测调参的完整链路。下面这张全景图先给出本课程的知识骨架:左侧是两类传感器及其原始输出,中间是融合算法与状态估计,右侧是典型工程应用,底部则是贯穿始终的工程约束。

IMU与GNSS融合定位工程全景 GNSS 接收机 伪距 / 载波相位 多普勒 / 星历 定位解 / 速度解 低频 · 绝对 · 易失锁 IMU 惯性测量单元 三轴陀螺仪 三轴加速度计 角速度 / 比力 高频 · 相对 · 会漂移 融合状态估计 误差状态卡尔曼滤波 ESKF 紧组合 / 松组合 姿态 · 速度 · 位置 零偏 · 尺度因子估计 时间同步与延迟补偿 预测(IMU)→ 更新(GNSS) 工程应用全景 自动驾驶 隧道 / 城市峡谷 无人机导航 悬停 / 航线 移动机器人 室内外切换 测绘与农业 高精度轨迹 可穿戴设备 行人航位推算 车载组合导航 GNSS+INS 共同需求:连续、稳定、可解释的位姿输出 共同挑战:失锁、多径、漂移、时间对齐 贯穿全课的工程约束 传感器标定 时间同步 坐标系与杆臂 噪声与零偏建模 实时性与算力 任何一环处理不当,融合结果都会出现跳变、滞后或缓慢漂移

一、核心概念:三组必须分清的对象

学习融合定位,首先要建立清晰的“对象观”。第一组是传感器输出:GNSS给出的是位置、速度和时间,IMU给出的是角速度和比力。第二组是参考坐标系:ECEF地心地固系、ENU东北天系、机体坐标系,以及IMU与GNSS天线之间的杆臂。第三组是误差状态:位置误差、速度误差、姿态误差、陀螺零偏、加速度计零偏。融合滤波器真正估计的往往不是“绝对状态”,而是这些误差量,再把误差反馈回名义状态。

一句话理解融合:IMU负责“猜”,GNSS负责“纠”。IMU用高频积分给出连续预测,GNSS用绝对观测修正累积误差,滤波器负责决定“信谁多一点”。

二、方法流程:从原始数据到稳定位姿

工程实现通常遵循一条固定流水线,任何一步缺失都会导致结果不可用:

  1. 数据采集与时间戳对齐:IMU频率常为100~1000Hz,GNSS为1~20Hz,必须统一到同一时间基准,并补偿传输延迟。
  2. 传感器标定与杆臂补偿:陀螺零偏、加速度计零偏、尺度因子、安装角,以及GNSS天线到IMU的杆臂向量。
  3. 初始对准:利用静止段加速度计确定俯仰与横滚,利用GNSS速度或磁力计确定航向。
  4. 状态预测:用IMU角速度和比力递推姿态、速度、位置,同时传播协方差。
  5. 观测更新:当GNSS有效时,用位置/速度观测更新误差状态,抑制漂移。
  6. 反馈与输出:将误差状态反馈回名义状态,输出高频、平滑的位姿结果。
典型松组合ESKF伪代码:
predict(dt, gyro, accel):
    attitude = attitude * Exp((gyro - bg) * dt)
    velocity += (Rot(attitude) * (accel - ba) + gravity) * dt
    position += velocity * dt
    P = F * P * F.T + Q

update_gnss(pos_meas, vel_meas):
    K = P * H.T * inv(H * P * H.T + R)
    dx = K * (z - h(x))
    x = x + dx
    P = (I - K * H) * P

三、案例场景:隧道中的连续定位

车辆以80km/h进入长约1.2km的隧道,GNSS在入口后约3秒完全失锁。若只依赖GNSS,定位会立即中断;若只依赖IMU,低成本MEMS陀螺零偏约10°/h,30秒后航向误差可达数度,位置漂移可能超过十米。融合方案的做法是:进入隧道前GNSS仍有效,滤波器已完成收敛,零偏估计稳定;失锁期间仅靠IMU预测,协方差逐渐增大;出隧道后GNSS恢复,滤波器用新的绝对观测快速修正累积误差。整个过程输出不中断,误差被限制在可接受范围内。

阶段 GNSS状态 IMU作用 融合输出特征
开阔路段 有效,1~10Hz 高频预测,估计零偏 高精度、平滑
隧道入口 信号衰减 维持连续递推 短时稳定
隧道内部 失锁 纯惯性预测 协方差增大,缓慢漂移
隧道出口 恢复 被观测修正 快速收敛,误差回落

四、误区与复盘:新手最容易踩的坑

误区一:只关注滤波器公式,忽略时间同步。IMU与GNSS时间戳相差几十毫秒,在高速场景下就是米级位置误差,滤波器再优也无法弥补。

误区二:把杆臂当零处理。GNSS天线与IMU安装位置不同,车辆转弯时两者速度差异显著,忽略杆臂会引入系统性偏差。

误区三:用同一套噪声参数应对所有场景。城市峡谷多径噪声与开阔天空完全不同,固定R矩阵会导致滤波器“过度自信”或“反应迟钝”。

误区四:初始对准未完成就进入动态。航向未收敛时,IMU积分会迅速发散,后续GNSS更新也难以拉回。

复盘这些问题的共同点:融合定位的精度上限,往往不由算法决定,而由标定、同步、建模这些“脏活”决定。本课程后续章节会逐一拆解这些环节,并给出可运行的工程实现与调参方法。

学习建议:每学完一个模块,回到这张全景图,确认自己能否说清“数据从哪来、经过什么、到哪去、误差如何被约束”。能讲清这条链路,就具备了融合定位工程师的基本思维。