什么是 固定滞后平滑器(Fixed-Lag Smoother)?
固定滞后平滑器(Fixed-Lag Smoother)是一种把每个输出延迟固定 Lag,使有限未来窗口中的量测能够修正近期状态的估计器。
快速了解
| 规范文档 | 官方规范 |
|---|
工作原理
使用有界未来观测窗口
在时刻 k,Lag 为 L 的估计器可以用截至 k 的量测更新窗口 x_(k-L:k),再输出或冻结最旧状态。在线性高斯模型中,一种做法是把多个延迟状态及其交叉协方差组成增广 Kalman State;另一种做法是在保存的前向滤波量上执行局部后向平滑。
Caltech 固定滞后笔记推导了增广状态形式,并说明为什么必须保留交叉协方差。若只保存各时刻相互独立的方差,就无法把新量测携带的信息正确传回过去状态。
边缘化旧状态而不是丢弃证据
Factor Graph 实现会保留移动时间窗内的变量与因子。当某个状态超过 Lag 后,Marginalization 把它的影响汇总为保留变量上的先验。直接删除旧变量及其因子会改变后验,并可能导致估计过度自信或不一致。
非线性边缘化还会固定被消元变量的线性化点。即使活动窗口继续重线性化,也无法恢复边界处已丢弃或近似的信息,因此 Lag 长度、变量顺序、稀疏结构与边缘化策略都需要显式测试。
同时预算延迟、计算与评测泄漏
GTSAM 教程通过只保留近期位姿并边缘化旧位姿,区分 Filtering、Full Smoothing 与 Fixed-Lag Estimation。有界状态数不代表任意图结构或求解器都具有恒定时延,必须按真实 Factor Pattern 测量更新时间和内存。
应同时报告以步数和墙钟时间表示的 Lag、输出时间戳、迟到量测策略、边缘化成本、轨迹误差、一致性与尾延迟。每个估计只能按声明允许的信息评测;忽略未来证据优势,把滞后输出与零延迟滤波直接比较,就是数据泄漏。
主要特点
- 使用有界未来窗口中的观测修正近期状态
- 以步数或时间表示明确输出延迟
- 通过窗口化与边缘化限制活动历史规模
- 可通过增广 Kalman State 或 Factor Graph 实现
- 位于滤波与完整平滑之间的时延-精度空间
- 需要时间戳、迟到数据、边缘化与泄漏策略
常见用途
- 允许少量输出延迟的 GNSS 与 IMU 融合
- 存在延迟或乱序量测的机器人定位
- 滑动 Factor Graph 中的在线轨迹修正
- 输出前允许修订近期估计的信号处理
- 评估不同平滑窗口下的精度与时延权衡
示例
Loading code...常见问题
固定滞后平滑器与卡尔曼滤波有什么区别?
滤波器只使用截至当前时刻的观测估计当前状态;固定滞后平滑器等待有限个未来观测,修正近期状态,并以明确延迟输出更早时间戳的估计。
固定滞后平滑与 RTS 平滑有什么区别?
RTS Fixed-Interval Smoother 通常对完整序列执行一次完整后向过程;固定滞后平滑只修正移动的近期窗口,通过限制历史与延迟换取在线运行,同时放弃超过 Lag 的未来信息。
如何选择 Lag?
应使用真实传感器延迟和动力学,对多个 Lag 测量误差、一致性、计算时间、内存与 Deadline Miss。选择能捕获有效迟到证据,同时满足产品时间戳和延迟契约的最小 Lag。
活动窗口外的状态会怎样处理?
正确实现会冻结已输出估计,并通过边缘化或等价充分统计量汇总被消元变量。直接删除旧变量与因子会丢失证据,并改变推断分布。
固定滞后结果能当作实时滤波精度报告吗?
只有同时声明输出延迟才可以。时刻 `k-L` 的估计使用了截至 `k` 的观测,相对自身时间戳拥有未来数据。若忽略这一优势与零延迟输出比较,就属于信息泄漏。