[TOC]
GNSS-IMU 时间同步有两层含义:
- IMU 的时间戳准确,表示 IMU 采样时刻的 GPS 时间,如果把数据发给上位机再赋值时间,会存在这传播时延,时间戳就不准确。
- IMU 的时间戳与 GNSS 对齐,有 GNSS 数据的同时一定有一个 IMU 数据,且各 IMU 数据的时间间隔保持一致。
少部分 IMU 支持外部 GNSS 时间同步,就是把 PPS 接入对应引脚,就能以所需的频率输出等间隔且与 GPS 时间齐的 IMU 数据。
大部分 IMU 可以设置成外部触发模式,即每当对应的引脚收到一个脉冲信号就输出一个 IMU 数据。想要获取 200Hz 的 IMU 数据,就需要给 IMU 发送与 GPS 时间对齐的 200 Hz 脉冲。
GNSS 接收机可以输出 PPS 信号,即每秒输出一个脉冲。PPS 脉冲相当的稳定,因为它由卫星上的原子钟维持;但是由于它每秒只输出一次,不能直接连 IMU 外部触发引脚,需要将 1Hz 的 PPS 脉冲转为 200Hz 的 IMU 触发脉冲信号。
STM32 的定时器由计数器、预分频器、和自动重载寄存器组成,
- STM32 的通用定时器连 IMU 外部触发引脚,用于产生 200 Hz 的 IMU 触发脉冲。
- STM32 的中断连 PPS 引脚,收到 PPS 秒脉冲信号就重置通用定时器的重装载计时器。
- 如果只是这样,还存在一个问题:以 200Hz 采样为例,PPS 信号来的时间与通用定时器的第 201 次脉冲正好重合,通用定时器如果偏快当前秒就采样了 201 次;所以需要处理一下:记录当前秒的采样数,采样满 200,就不继续采样,等待 PPS 信号。
STM32 还负责给 IMU 数据加时间戳,时间戳可以分为整秒和秒内两部分:
- 第一个整秒时间取 GNSS 接收机传来的 GPRMC 语句提供的时间(只需要发一次),有了第一个 GPS 整秒之后,之后每收到一次 PPS 就加一。
- 秒内的小数部分从 0 开始递增,200 Hz 采样就是每次递增 5ms。
需要考虑电平匹配(TTL or CMOS)。GNSS 输出的 PPS 应该在 STM32 可接收的电平范围内,STM32 输出的 IMU 触发脉冲应该在 IMU 可接受的电平范围内,如果不匹配应当进行转换。
如何评估是否需要时间同步?
如何验证时间同步的有效性?
- GNSS/INS 组合导航中时间更新就是 INS 递推,量测更新是用 GNSS 来校正 INS 递推的结果
- 根据 GNSS 校正 INS 递推的方式不同,我们可以将 GNSS/INS 组合导航分松组合、紧组合、深组合。
- IMU 频率一般为 200Hz,GNSS 频率一般为 1Hz,组合导航的时间更新的频率远大于量测更新频率。
- INS 和 GNSS 量测相互独立,原理上差异巨大,系统噪声和量测噪声不相关。
- INS 是内源性导航系统,量测值比较稳定,较少受外部环境的干扰;GNSS 是外源性导航系统,受信号传播路径影响很大。
- INS 的模型比较稳定而 GNSS 受外界干扰大,所以组合导航的时间更新部分较少出问题,出问题的都是量测更新。
- 在 INS 中影响导航精度的主要因素是惯性器件的长时间相关误差项,而短相关或白噪声的贡献一般非常小,因为 INS 算法本身就是个积分过程。
- 我们可以把滤波的待估参数分为公共参数(位置、速度)、GNSS 参数(模糊度)、INS参数(零偏)
松组合是分散式滤波、紧组合是集中式滤波:
- 分散滤波的好处是计算量小、可以对各子系统进行故障诊断和隔离。
- 在实际滤波应用中,微小的精度提高是次要的,系统工作的稳定性和可靠性才是更重要的。
紧组合中 GNSS 和 INS 参数之间的设计矩阵 H 是空的,但他们之间的协因数阵有值:
意味着 GNSS 参数和 INS 参数之间相关,这是紧组合滤波器优于松组合滤波器的关键所在。
通过分析 GNSS 参数和 INS 参数之间协因数阵的大小,我们可以知道紧组合中 GNSS 对 INS 的作用效果。
如果 GNSS 和 INS 参数之间的协方差阵为空,意味着 GNSS 和 INS 各算各的,然后再做组合,紧组合退化为松组合。
如果紧组合算法设计的合理,精度不会差于松组合。
- 紧组合量测是卫星,松组合量测是三维位置:
- 紧组合可以用选星算法,在对卫星几何构型影响不大的情况下,排除质量差的卫星;松组合如果排除了某一维的位置,会破坏待估参数的可测性,导致滤波发散。
- 松组合量测维数一定小于待估参数维数,紧组合量测维数有可能小于待估参数维数,也有可能大于待估参数维数。
- 松组合观测值之间相关性高,三维位置精度存在着数学上的相关性,差要差一起差;紧组合观测值之间的相关性较弱,各卫星观测值的精度主要取决于传播路径干扰,一颗卫星受干扰质量差,不代表另一颗卫星也受同样的干扰。
- 调整松组合三维位置之间的权重意义不大;调整紧组合各卫星观测值之间的权重有意义。
- 如果做量测噪声自适应,给 R 阵乘一个系数,松组合可以把 R 阵当一个整体来一个系数,紧组合应当考虑到各量测之间的差异,乘一个系数矩阵,或者序贯处理。
- 状态量之间的可观测性差异:
- 对于可观测性较强的状态分量,对应的状态初值和均方误差阵设置偏差容许适当大些,它们随着滤波更新将会快速收敛,如果均方误差阵设置过小,则当初始状态误差较大时会使状态收敛速度缓慢,变为有偏估计。
- 而对于可观测性较弱的状态,对应的状态初值和均方误差阵应该设置得尽量准确,如果均方误差阵设置过大,容易引起状态估计过程中的有偏或剧烈波动;反之,如果均方误差阵设置过小,同样会使状态收敛速度变慢。
- 相较于纯 GNSS,紧组合算法中可以用 INS 递推得到一个更准确的先验位置,验前残差精度更高,用来粗差探测效果更好。
- 在卫星数不足的情况下,松组合只能进行纯惯导递推,紧组合还可以进行滤波?