0. 前言
高精度、高频率、全天候的定位是自动化系统的基础。单一传感器无法满足要求。GNSS+IMU组合是当前的主流技术方案。本文旨在梳理该方案的内部工作逻辑。
1. 核心部件拆解
1.1. GNSS (+RTK): 全局坐标锚点
- 功能: 提供全局坐标系下的绝对位置。本质是一个“锚点”。
- RTK (实时动态差分): 一种增强技术,非独立硬件。通过地面基准站修正大气误差等,将GNSS定位精度从米级提升至厘米级。
- 输出:
- 位置(经纬高)。
- 位置不确定性(协方差)。RTK固定解时,不确定性极小;单点解则较大。
- 局限:
- 低更新率: 通常为1-10Hz,无法描述连续运动。
- 环境敏感: 信号在城市峡谷、隧道、林下等环境会中断或产生多路径效应,导致定位失败或精度骤降。
1.2. IMU: 高频运动推算单元
- 功能: 通过内部的加速度计和陀螺仪,以极高频率感知自身运动。
- 工作原理: 航位推算 (Dead Reckoning)。
- 陀螺仪: 测量角速度,积分后得到姿态。
- 加速度计: 测量比力(运动加速度+重力加速度),积分两次后得到位移。
- 输出:
- 三轴角速度。
- 三轴比力加速度。
- 局限:
- 相对定位: 只能推算“相对于上一刻的变化”,无全局概念。
- 误差累积: 传感器自身的噪声和偏置(Bias)在积分过程中会被持续放大,导致结果随时间快速漂移。
2. 融合算法的核心 – 预测与校正
融合算法的本质是一个预测-校正的循环,经典实现是卡尔曼滤波器 (Kalman Filter, KF) 及其变种(EKF, UKF)。
2.1. 预测阶段 (IMU主导): 高频航位推算
在两次GNSS更新的间隙(例如0.1秒),IMU以高频(如100Hz)进行状态预测。
系统状态向量 x
通常包含:位置 p
、速度 v
、姿态 q
(常用四元数表示)。
从 k-1
时刻到 k
时刻,时间间隔 Δt
:
- 姿态更新 (Attitude Update)
- 输入: 陀螺仪测量的角速度
ω_m
。 - 逻辑: 将上一时刻的姿态,根据当前角速度旋转一小步。
- 公式:
q_k = q_{k-1} ⊗ Δq(ω_m * Δt)
⊗
为四元数乘法。
- 输入: 陀螺仪测量的角速度
- 速度与位置更新 (Velocity & Position Update)
- 输入: 加速度计测量的比力
a_m
。 - 逻辑:
- 将设备坐标系下的加速度
a_m
,利用刚更新的姿态q_k
转换到全局导航坐标系a_nav
。 - 在导航坐标系下减去重力加速度
g
,得到物体真实的运动加速度a_true
。 - 对
a_true
进行积分,更新速度和位置。
- 将设备坐标系下的加速度
- 公式:
a_nav = R(q_k) * a_m a_true = a_nav - g v_k = v_{k-1} + a_true * Δt p_k = p_{k-1} + v_{k-1} * Δt + 0.5 * a_true * Δt²
- 输入: 加速度计测量的比力
此阶段保证了输出的高频率和平滑性,但误差会随时间累积。
2.2. 校正阶段 (GNSS主导): 卡尔曼滤波更新
当GNSS数据到达时,执行校正。
- 输入:
- GNSS测量值
z
: 即GNSS提供的位置p_gnss
。 - 测量不确定性
R
: GNSS对其输出结果的置信度。
- GNSS测量值
- 核心步骤:
- 计算残差
y
:y = p_gnss - p_predicted
- 即GNSS的“答案”与IMU预测的“答案”之间的差距。
- 计算卡尔曼增益
K
:K
是一个动态计算的权重,用于决定在多大程度上相信GNSS的修正。- 它由IMU预测的不确定性
P
和 GNSS测量的不确定性R
共同决定。 - 逻辑: 若GNSS准(
R
小),IMU已漂移(P
大),则K
值大,大力度相信GNSS;反之则K
值小,小幅度修正。
- 更新状态
x
:x_updated = x_predicted + K * y
- 用残差和权重来修正IMU的预测值。这个修正不仅作用于位置,还会通过协方差矩阵的传递,间接修正速度、姿态甚至IMU的偏置误差。这是GNSS能“校准”IMU的关键。
- 更新不确定性
P
: 经过一次准确的外部校正,系统整体的不确定性降低。
- 计算残差
3. 现代融合方案的演进
3.1. 松耦合 vs. 紧耦合
- 松耦合 (Loosely Coupled): GNSS模块独立解算出位置,再与IMU的推算结果在滤波器层面融合。简单,但GNSS可用卫星数不足(<4颗)时,整个系统会失效。
- 紧耦合 (Tightly Coupled): 将GNSS原始观测量(伪距、载波相位)直接送入融合滤波器,与IMU数据共同解算。即使可用卫星数不足以独立定位,这些原始信息仍能有效约束IMU的漂移。这是当前高性能系统的主流方案,鲁棒性更强。
3.2. 滤波 vs. 优化
- 滤波 (Filtering): 以卡尔曼滤波为代表。只利用到当前时刻为止的测量值来估计当前状态,是“向前”的算法,无法利用未来的信息修正过去。计算量小,实时性好。
- 优化 (Optimization): 以因子图优化 (Factor Graph Optimization) 为代表。将一段时间内的所有状态和测量(IMU、GNSS)构建成一个图模型。通过非线性优化的方法,寻找一条最优的、最符合所有测量数据的状态轨迹。
- 优势: 精度更高,因为它能利用全局信息进行平滑。
- 应用: 在自动驾驶的SLAM(同步定位与建图)和高精度后处理测绘中广泛应用。
3.3. AI/ML的介入
- IMU误差建模: 传统方法使用简单的随机游走模型描述IMU误差。研究表明,利用深度学习网络(如LSTM)可以学习更复杂的IMU误差模型,从而在GNSS中断期间实现更精准的推算。
- GNSS信号质量甄别: 利用机器学习分类器,可以识别和剔除由多路径效应等引起的劣质GNSS测量值,避免其“污染”融合结果,提升城市环境下的定位鲁棒性。
4. 结论
GNSS-RTK-IMU融合定位是一个系统工程。它利用IMU的高频特性弥补GNSS的低频缺陷,利用GNSS的绝对精度锚点来校正IMU的累积误差。其算法核心是预测-校正框架。现代方案通过紧耦合、图优化和AI/ML等技术,正不断将该系统的精度、可用性和鲁棒性推向新的高度。
发表回复