Skip to content

Commit 10972e4

Browse files
Michael-Jetsonclaude
andcommitted
checkpoint2: 足式/纯数学多章扩写≥2000 + 刚体/复合复核修复 + 摩擦锥润色
扩写达标: 足式 80接触2015/100DDP2027/60QP2003/140落脚2011/150优化落脚2002/120步态2005; 纯数学 120常微分2077/100测度论2339。复核修复: 刚体10_两数值错(力叉积符号/惯性块)+60_编号乱码; 复合章号撞号(80→78/90→79/动作模仿去章号)+11死锚; 优化50交叉引用。润色: 摩擦锥补§0标题(救41引用)。TAMP 70/90 骨架在写。 注: session limit 9:40am 命中致部分写作/润色 agent 中断(行为树/多机/不确定性/LLM/足式130/润色可微),此为重启前保护提交。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 145d1ca commit 10972e4

36 files changed

Lines changed: 7099 additions & 336 deletions

.claude/scheduled_tasks.lock

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"sessionId":"04e722f2-826a-4550-ac90-699fe50fd2f2","pid":2747492,"procStart":"7087111","acquiredAt":1780417889224}

01_数学/10_纯数学基础/100_测度论与Lebesgue积分.md

Lines changed: 1877 additions & 1 deletion
Large diffs are not rendered by default.

01_数学/10_纯数学基础/120_常微分方程.md

Lines changed: 1799 additions & 0 deletions
Large diffs are not rendered by default.

01_数学/50_刚体动力学/40_SE3几何力学.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -792,6 +792,8 @@ Force h_check = data.Ag * v; // 应该等于 data.hg
792792
Force hdot = data.Ag * a + data.dAg * v;
793793
```
794794
795+
> **约定注记**:注意 `data.hg`/`data.Ag` 按 Pinocchio 约定为 (linear, angular),即前 3 行 = 线动量、后 3 行 = 角动量,与本节数学式 $h=[k;l]$(角在前)相反,跨用需重排。
796+
795797
### 4.8.4 在 WBC/TSID 中的应用
796798
797799
TSID(stack-of-tasks/tsid)中的 `TaskAM`(Angular Momentum Task)把质心动量作为 QP 等式约束:

01_数学/50_刚体动力学/60_约束动力学.md

Lines changed: 71 additions & 71 deletions
Large diffs are not rendered by default.

01_数学/60_概率与估计/10_贝叶斯滤波与线性高斯滤波.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## 博士前数学路线图·第五批·子专题 A1:贝叶斯滤波框架与线性高斯滤波族——KF、Information Filter、Square Root Filters 与一致性诊断
22

3-
> **底线陈述(BLUF)**:本章把后续 5-A2/A3/A4/5-B 反复引用的"地基"一次性讲透——**所有 Kalman 族滤波器都只是"贝叶斯递推 + 高斯假设"在不同代数形式下的投影**。线性高斯 KF 是最优估计(BLUE + MMSE + MAP 三合一;MMSE/MAP 等价性要求联合高斯,线性模型下自动成立),其协方差形式、信息形式、平方根形式在代数上等价但数值性态迥异:协方差形易懂却脆弱,信息形天然支持多传感器融合与稀疏 SLAM 后端,平方根形是 Apollo 登月以来航天/GNSS 工业界的数值黄金标准。而 **NEES/NIS/χ² gate** 这套一致性诊断是判断"你的滤波器是否真的工作"的唯一严肃方法,也是 MSCKF/OpenVINS 等现代 VIO 的标配。掌握本章后,EKF/UKF(5-A2)是把线性化算子插进去,ESKF/InEKF(5-A3)是把代数空间换到流形上,RTS/MHE(5-A4)是把前向递推扩展到前向-后向或滑动窗口,因子图(5-B)是把同一信息矩阵重新组织成图结构。本章按"贝叶斯框架→KF→信息形→平方根→一致性→工程"六段式展开,兼顾严格推导、伪代码、陷阱清单与代码库映射。
3+
> **底线陈述(BLUF)**:本章把后续 5-A2/A3/A4/5-B 反复引用的"地基"一次性讲透——**所有 Kalman 族滤波器都只是"贝叶斯递推 + 高斯假设"在不同代数形式下的投影**。线性高斯 KF 是最优估计(BLUE + MMSE + MAP 三合一;MMSE/MAP 等价性要求联合高斯,线性模型下自动成立),其协方差形式、信息形式、平方根形式在代数上等价但数值性态迥异:协方差形易懂却脆弱,信息形天然支持多传感器融合与稀疏 SLAM 后端,平方根形是 Apollo 登月以来航天/GNSS 工业界的数值黄金标准。而 **NEES/NIS/$\chi^2$ gate** 这套一致性诊断是判断"你的滤波器是否真的工作"的唯一严肃方法,也是 MSCKF/OpenVINS 等现代 VIO 的标配。掌握本章后,EKF/UKF(5-A2)是把线性化算子插进去,ESKF/InEKF(5-A3)是把代数空间换到流形上,RTS/MHE(5-A4)是把前向递推扩展到前向-后向或滑动窗口,因子图(5-B)是把同一信息矩阵重新组织成图结构。本章按"贝叶斯框架→KF→信息形→平方根→一致性→工程"六段式展开,兼顾严格推导、伪代码、陷阱清单与代码库映射。
44

55
**目标档位**:档位 3(博士入学)20–25h;档位 4(进阶)再加 5–8h。
66
**读者假设**:熟悉线性代数(含 Cholesky/QR/Woodbury)、多元高斯、基本随机过程;有 C++/Python 工程经验。
@@ -28,7 +28,7 @@
2828
1. **推导**贝叶斯滤波的预测–更新递推框架,理解 Chapman–Kolmogorov 和 Bayes 规则在其中的角色
2929
2. **手推**线性 KF 的全部公式(含 Joseph form),并解释 Kalman 增益的物理意义
3030
3. **对比**协方差形、信息形、平方根形三种 KF 实现的优劣与适用场景
31-
4. **使用** NEES/NIS/χ² gate 诊断滤波器一致性,判定"过自信"还是"过保守"
31+
4. **使用** NEES/NIS/$\chi^2$ gate 诊断滤波器一致性,判定"过自信"还是"过保守"
3232
5. **实现**一个最小线性 KF(C++ 或 Python),含 Joseph form 和 NIS gate
3333

3434
---
@@ -675,7 +675,7 @@ $$\epsilon_k = \tilde y_k^\top S_k^{-1}\tilde y_k,\qquad \tilde y_k = y_k - H_k\
675675

676676
**工程价值****NIS 不需要真值**,完全由滤波器内部量($\tilde y, S$)构成,可**在线**逐步计算。因此:
677677
- 工程诊断的**首选**指标(Bar-Shalom §5.4.2)。
678-
- MSCKF/OpenVINS/VINS-Fusion 的 χ² gate 实际用 NIS(见 §A1.18)。
678+
- MSCKF/OpenVINS/VINS-Fusion 的 $\chi^2$ gate 实际用 NIS(见 §A1.18)。
679679
- FilterPy `KalmanFilter.mahalanobis` 属性即 $\sqrt{\epsilon_k}$。
680680

681681
**Monte Carlo 平均 NIS**:与 NEES 完全平行,$\bar\epsilon_k\in[\chi^2_{Nm,\alpha/2}/N,\ \chi^2_{Nm,1-\alpha/2}/N]$。
@@ -695,7 +695,7 @@ $$\hat\rho_\tau = \frac{\sum_{k=1}^{N-\tau}\tilde y_k^\top\tilde y_{k+\tau}}{\sq
695695

696696
---
697697

698-
### §A1.18 χ² Gate 用于异常观测剔除 ⭐⭐
698+
### §A1.18 $\chi^2$ Gate 用于异常观测剔除 ⭐⭐
699699

700700
**规则**:若 $\epsilon_k = \tilde y_k^\top S_k^{-1}\tilde y_k > \chi^2_{m, 1-\alpha}$ 则**拒绝该量测**
701701

@@ -704,7 +704,7 @@ $$\hat\rho_\tau = \frac{\sum_{k=1}^{N-\tau}\tilde y_k^\top\tilde y_{k+\tau}}{\sq
704704
- $m=2$(视觉像素观测):**5.991**
705705
- $m=3$(3D 位置观测):7.815
706706

707-
#### χ² 临界值速查表($\chi^2_{n, 1-\alpha}$)
707+
#### $\chi^2$ 临界值速查表($\chi^2_{n, 1-\alpha}$)
708708

709709
| df $n$ | $\alpha=0.10$ | $\alpha=0.05$ | $\alpha=0.01$ |
710710
|:------:|:------:|:------:|:------:|
@@ -749,7 +749,7 @@ if (chi2 > _options.chi2_multipler * chi2_check) {
749749

750750
**核对要点**:OpenVINS **实际用的是 NIS**(无真值),这印证 NIS 在工程界的中心地位;`chi2_multipler` 是用户可调的放松乘子(典型 1.0–3.0),MSCKF 中可针对不同量测类型独立调。
751751

752-
**关联**χ² gate 是硬阈值;更平滑的替代是 **M-estimator**(Huber、Cauchy 等),把二次损失换成 sub-quadratic 损失——详见 5-F 鲁棒估计章。
752+
**关联**$\chi^2$ gate 是硬阈值;更平滑的替代是 **M-estimator**(Huber、Cauchy 等),把二次损失换成 sub-quadratic 损失——详见 5-F 鲁棒估计章。
753753

754754
#### 一致性诊断工具对比表
755755

@@ -758,7 +758,7 @@ if (chi2 > _options.chi2_multipler * chi2_check) {
758758
| NEES | $(x-\hat x)^\top P^{-1}(x-\hat x)$ | $\chi^2_n$ || 仿真/MoCap | 过自信 vs 过保守 |
759759
| NIS | $\tilde y^\top S^{-1}\tilde y$ | $\chi^2_m$ ||| 同上,工程首选 |
760760
| Innovation whiteness | 自相关 $\hat\rho_\tau$ | $\pm 1.96/\sqrt N$ 带 ||| 模型欠拟合 / 未建模动态 |
761-
| χ² gate | $\epsilon_k > \chi^2_{m,1-\alpha}$ | 阈值 ||| 单帧异常观测剔除 |
761+
| $\chi^2$ gate | $\epsilon_k > \chi^2_{m,1-\alpha}$ | 阈值 ||| 单帧异常观测剔除 |
762762

763763
---
764764

@@ -834,7 +834,7 @@ double nis = y.transpose() * S.llt().solve(y);
834834

835835
**中文**
836836
- 高翔《视觉 SLAM 十四讲》第二版:第 10 讲后端优化(EKF-SLAM vs BA 对比);slambook2 GitHub 有完整代码。
837-
- 深蓝学院课程:《状态估计与多传感器融合》、《多传感器融合定位》、贺一家《从零开始手写 VIO》(含 MSCKF + χ² gating 实现)。
837+
- 深蓝学院课程:《状态估计与多传感器融合》、《多传感器融合定位》、贺一家《从零开始手写 VIO》(含 MSCKF + $\chi^2$ gating 实现)。
838838

839839
---
840840

@@ -854,7 +854,7 @@ double nis = y.transpose() * S.llt().solve(y);
854854
3. **Information Filter 更新公式**。从 $p(x\mid y)\propto p(y\mid x)p(x)$ 出发,展开两个高斯的乘积,读出 $\Lambda^+ = \Lambda^- + H^\top R^{-1}H$。
855855
4. **Woodbury 转换**。给定 $(P^-, H, R)$,用 Woodbury 证明 $(P^{-1}+H^\top R^{-1}H)^{-1}H^\top R^{-1} = P^-H^\top(HP^-H^\top+R)^{-1}$。
856856
5. **DARE 与 LQR 对偶**。写出 LQR 的 DARE,指出与 KF DARE 之间"$F\leftrightarrow F^\top,\ H\leftrightarrow B,\ Q\leftrightarrow Q_c,\ R\leftrightarrow R_c$"对应;解释 Separation Principle 成立的必要条件。
857-
6. **NEES χ² 检验**。给定 $n=6, N=100, \alpha=0.05$,计算 $\bar\varepsilon$ 置信区间(答案:$[5.340,\ 6.698]$)。
857+
6. **NEES $\chi^2$ 检验**。给定 $n=6, N=100, \alpha=0.05$,计算 $\bar\varepsilon$ 置信区间(答案:$[5.340,\ 6.698]$)。
858858
7. **NIS 在线异常检测**。写出接收 $\tilde y_k, S_k$ 后判定"拒绝/接受"该量测的伪代码,阈值取 $\chi^2_{m,0.95}$。
859859
8. **FilterPy 2D 跟踪 + NEES**。用 FilterPy 实现匀速 2D 跟踪(状态 [px,py,vx,vy]),跑 $N=50$ 次 Monte Carlo,画出 $\bar\varepsilon_k$ 时序与 $[2.36,\ 3.72]$($n=3$ 假设)或对应 $n=4$ 区间。
860860
9. **Bierman UD 实现**。按 §A1.14 伪代码用 Python/Eigen 实现 UD 标量量测更新;验证对随机 SPD 矩阵与标量 $h, r$ 的结果与常规 KF 一致。
@@ -872,7 +872,7 @@ double nis = y.transpose() * S.llt().solve(y);
872872
| 4 | 初始 $P_0$ 太小 | 早期估计锁死,不收敛 | 按物理量级设,IMU bias 初始 $\sigma$ ~ 0.1 rad/s / m/s² |
873873
| 5 | $Q$ 设过小 | 过自信,滤波器发散 | NEES 监测 + tuning;常用技巧:$Q$ 设为运动模型残差方差的 2–4× |
874874
| 6 | $R$ 设错(错误单位:rad vs deg) | 量测权重错,增益偏 | 写单元测试验 $R$ 的物理单位 |
875-
| 7 | χ² gate 阈值按 $\alpha=0.05$ 太紧 | 好特征被误剔,退化场景更糟 | OpenVINS `chi2_multipler`(1.5–3.0)放松 |
875+
| 7 | $\chi^2$ gate 阈值按 $\alpha=0.05$ 太紧 | 好特征被误剔,退化场景更糟 | OpenVINS `chi2_multipler`(1.5–3.0)放松 |
876876
| 8 | 信息形预测使用 **Woodbury 加速形式时忘记 $F$ 可逆要求** | NaN | 改用直接双重求逆公式(只需 $Q\succ 0$);或确保动力学可逆 |
877877
| 9 | UD 更新对向量 $R$ 未做去相关直接逐标量 | 融合错,等效多次加同一信息 | 先 $R = U_RD_RU_R^\top$ 去相关再标量处理 |
878878
| 10 | NEES 只跑一次就下结论 | $\chi^2_n$ 方差大,误判率高 | 至少 $N\ge 30$ 次 Monte Carlo 平均 |
@@ -933,7 +933,7 @@ double nis = y.transpose() * S.llt().solve(y);
933933

934934
本章建立的代数与统计机器将在后续 Kalman 族子任务中反复复用:
935935

936-
- **→ 5-A2(欧氏非线性滤波)**:EKF 把 $(F, H)$ 换成 Jacobian $(\partial f/\partial x, \partial h/\partial x)$;UKF/CKF/GHKF 把贝叶斯积分近似为求积点加权;FEJ 解决线性化一致性问题(直接对应本章 NEES 过自信诊断);MSCKF 把 χ² gate 应用到滑窗视觉量测。
936+
- **→ 5-A2(欧氏非线性滤波)**:EKF 把 $(F, H)$ 换成 Jacobian $(\partial f/\partial x, \partial h/\partial x)$;UKF/CKF/GHKF 把贝叶斯积分近似为求积点加权;FEJ 解决线性化一致性问题(直接对应本章 NEES 过自信诊断);MSCKF 把 $\chi^2$ gate 应用到滑窗视觉量测。
937937
- **→ 5-A3(流形滤波)**:ESKF 在 $\mathfrak{so}(3)$ 切空间上跑本章 KF;MEKF/InEKF 重新定义状态误差以获得状态无关 Jacobian;UKF-M/IKFoM/EqF 把 sigma point/不变性搬到 Lie 群。所有变体的代数核心仍是协方差形 KF 更新 + Joseph form。
938938
- **→ 5-A4(迭代变体 / RTS 平滑 / MHE / 工程映射)**:IEKF 是单步 Gauss–Newton 迭代;RTS 是 KF 的前向-后向版(本章 DARE 的对偶时间方向);MHE 用滑动窗口把滤波 MAP 化;全景对比表把本章的协方差/信息/平方根三轴拉伸为 9 种现代变体。
939939
- **→ 5-B(因子图与非线性最小二乘)**:本章"信息矩阵 = $J^\top\Sigma^{-1}J$"一语直接连到因子图后端的 Hessian;GTSAM/iSAM2 的 Bayes tree 就是稀疏 Cholesky 在增量场景的组织;RTS 是 smoother 的特例,因子图是平滑器的一般化。
@@ -1061,7 +1061,7 @@ $$
10611061

10621062
如果这个值极小,说明当前量测在模型下很不合理。
10631063

1064-
χ² gate、NIS 和异常量测剔除都来自这个位置。
1064+
$\chi^2$ gate、NIS 和异常量测剔除都来自这个位置。
10651065

10661066
> **本质洞察**:预测步是“沿时间边缘化旧状态”,更新步是“用新量测重新加权当前状态”。Kalman filter 的所有矩阵公式只是这两步在高斯族中的闭式写法。
10671067
@@ -2044,7 +2044,7 @@ struct LinearFusion2D {
20442044
| 1 | 量测噪声 $R$ | 静止数据的量测方差 |
20452045
| 2 | 过程噪声 $Q$ | 新息是否白、NEES 是否过上界 |
20462046
| 3 | 初始协方差 $P_0$ | 初始收敛速度和是否锁死 |
2047-
| 4 | χ² gate 倍率 | 外点拒绝率和好量测误拒率 |
2047+
| 4 | $\chi^2$ gate 倍率 | 外点拒绝率和好量测误拒率 |
20482048

20492049
#### 练习
20502050

01_数学/60_概率与估计/20_经典非线性滤波族.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ $$
333333
| 易用性 | 推 Jacobian 繁琐 | 只需 $f,h$ 即可 |
334334
| 工业成熟度 | ★★★★★(30 年) | ★★★★(20 年) |
335335

336-
#### α/β/κ 速查表
336+
#### $\alpha$/$\beta$/$\kappa$ 速查表
337337

338338
| 场景 | $\alpha$ | $\beta$ | $\kappa$ | 备注 |
339339
|---|---|---|---|---|
@@ -375,7 +375,7 @@ $$
375375

376376
#### 动机
377377

378-
UKF 在高维下有两大烦恼:(a) α 选得不好则 sigma 点飞太远或中心点协方差权重 $W_0^c<0$;(b) 中心点权重 $W_0^c$ 随 $n$ 增大可能负得更深(注意:非中心点权重 $W_i = 1/[2(n+\lambda)]$ 始终为正,仅中心点权重可能为负,但已足以导致协方差估计丢失正定性)。**Arasaratnam & Haykin (IEEE TAC 54(6), 2009, DOI 10.1109/TAC.2009.2019800)** 从数值积分理论出发重新推导:取消中心 sigma 点,用 **三阶球径(spherical-radial)求积规则** 给出一个简洁、全正权重、数值更稳定的方案。官方 PDF: soma.mcmaster.ca/papers/ckf_2009.pdf。
378+
UKF 在高维下有两大烦恼:(a) $\alpha$ 选得不好则 sigma 点飞太远或中心点协方差权重 $W_0^c<0$;(b) 中心点权重 $W_0^c$ 随 $n$ 增大可能负得更深(注意:非中心点权重 $W_i = 1/[2(n+\lambda)]$ 始终为正,仅中心点权重可能为负,但已足以导致协方差估计丢失正定性)。**Arasaratnam & Haykin (IEEE TAC 54(6), 2009, DOI 10.1109/TAC.2009.2019800)** 从数值积分理论出发重新推导:取消中心 sigma 点,用 **三阶球径(spherical-radial)求积规则** 给出一个简洁、全正权重、数值更稳定的方案。官方 PDF: soma.mcmaster.ca/papers/ckf_2009.pdf。
379379

380380
#### 三阶球径求积规则
381381

@@ -630,8 +630,8 @@ Montemerlo-Thrun-Koller-Wegbreit (AAAI 2002) "FastSLAM: A factored solution to t
630630
| Square-Root UKF | 单峰高斯 | 3/2 | 不需要 | 2n+1 | $O(n^3)$(更稳) | 长时间运行的嵌入式系统 | 自行实现;SR-UKF ICASSP 2001 |
631631
| CKF | 单峰高斯 | 3 | 不需要 | 2n | $O(n^3)$ | 高维姿态/深空导航 | FilterPy `CubatureKalmanFilter` |
632632
| 5 阶 CKF | 单峰高斯 | 5 | 不需要 | $2n^2+1$ | $O(n^3)$+点数 | 高精度、中等维度 | Jia 组代码(非官方) |
633-
| GHKF(m) | 单峰高斯 | 2m-1 | 不需要 | m^n | $O(m^n \cdot n^2)$ | 航天器姿态(n≤4| MATLAB Sensor Fusion, EEA-sensors BFS 代码 |
634-
| Sparse-Grid GHKF(L) | 单峰高斯 | 2L-1 | 不需要 | O(n^L) | 中维可用 | 航天器、过程控制 | Jia 2012 工作 |
633+
| GHKF(m) | 单峰高斯 | 2m-1 | 不需要 | m^n | $O(m^n \cdot n^2)$ | 航天器姿态($n \le 4$| MATLAB Sensor Fusion, EEA-sensors BFS 代码 |
634+
| Sparse-Grid GHKF(L) | 单峰高斯 | $\approx 2L-1$ | 不需要 | O(n^L) | 中维可用 | 航天器、过程控制 | Jia 2012 工作 |
635635
| InEKF (Invariant EKF) | 李群上;右/左不变误差 | 精确消除状态轨迹依赖 | 需要(但不随状态变) || $O(n^3)$ | 现代 VIO、腿式机器人 | kalmanif `InvariantExtendedKalmanFilter`(→ 5-A3) |
636636

637637
#### Sigma Point 家族对比
@@ -643,7 +643,7 @@ Montemerlo-Thrun-Koller-Wegbreit (AAAI 2002) "FastSLAM: A factored solution to t
643643
| Simplex Sigma Points | n+1 | 非对称 | 仅均值 | 嵌入式低算力 | Julier 2003 |
644644
| Spherical-Radial Cubature | 2n | 全部 1/(2n) | 3 | 中-高 | Arasaratnam-Haykin 2009 |
645645
| 5 阶 Cubature | $2n^2+1$ | 混合权 | 5 | 中维 | Jia-Xin-Cheng 2013 |
646-
| Gauss-Hermite Tensor Product | m^n | Hermite 多项式根 | 2m-1 每维 |n≤4 | Ito-Xiong 2000 |
646+
| Gauss-Hermite Tensor Product | m^n | Hermite 多项式根 | 2m-1 每维 |$n \le 4$ | Ito-Xiong 2000 |
647647
| Smolyak Sparse Grid | O(n^L) | 含负权 | 可调 | 中-高 | Smolyak 1963 / Jia 2012 |
648648

649649
#### 关键公式速查
@@ -689,7 +689,7 @@ Montemerlo-Thrun-Koller-Wegbreit (AAAI 2002) "FastSLAM: A factored solution to t
689689
|---|---|---|---|---|
690690
| **OpenVINS** | C++ | `ov_msckf::UpdaterMSCKF` | `ov_msckf/src/update/UpdaterMSCKF.cpp` | MSCKF 工程金标,FEJ 默认开 |
691691
| **ROVIO** | C++ | direct EKF | `ethz-asl/rovio` + `lightweight_filtering` submodule | 直接法 VIO |
692-
| **kalmanif** | C++ header-only | `ExtendedKalmanFilter`, `SquareRootExtendedKalmanFilter`, `InvariantExtendedKalmanFilter`, `UnscentedKalmanFilterManifolds` | `artivis/kalmanif` include/ | 基于 manif,有 SE(2)/SE(3)/SE₂(3) 示例 |
692+
| **kalmanif** | C++ header-only | `ExtendedKalmanFilter`, `SquareRootExtendedKalmanFilter`, `InvariantExtendedKalmanFilter`, `UnscentedKalmanFilterManifolds` | `artivis/kalmanif` include/ | 基于 manif,有 SE(2)/SE(3)/$SE_2(3)$ 示例 |
693693
| **robot_localization** | C++ (ROS/ROS2) | `RobotLocalization::Ekf`, `RobotLocalization::Ukf` | `include/robot_localization/ekf.h`, `ukf.h` | 工业 ROS 标准 |
694694
| **GTSAM** | C++/Python | `gtsam::ExtendedKalmanFilter` | `gtsam/nonlinear/ExtendedKalmanFilter.h` | 主打因子图;有 EKF 接口 |
695695
| **FilterPy** | Python | `KalmanFilter`, `ExtendedKalmanFilter`, `UnscentedKalmanFilter`, `CubatureKalmanFilter`, `SquareRootKalmanFilter`, `IMMEstimator`, `InformationFilter`, `EnsembleKalmanFilter`, `FadingKalmanFilter`, `MMAEFilterBank`, `FixedLagSmoother` | `filterpy/kalman/*.py` | 教学 + 工业轻量级 |
@@ -709,7 +709,7 @@ Montemerlo-Thrun-Koller-Wegbreit (AAAI 2002) "FastSLAM: A factored solution to t
709709
| 3 | $\alpha$ 选得太大 | sigma points 飞出 $g$ 线性区 | $\alpha$ 从 $10^{-3}$ 起调 |
710710
| 4 | $\beta=0$ 在高斯场景 | 损失 4 阶矩精度 | 高斯先验永远用 $\beta=2$ |
711711
| 5 | FEJ 没全局生效 | 只部分抑制偏航过自信 | 所有 Jacobian 求值点都要切 FEJ |
712-
| 6 | MSCKF 克隆窗口太大 | 状态维爆炸 $O(N^3)$ | 滑窗保持 N≤20,边缘化旧克隆 |
712+
| 6 | MSCKF 克隆窗口太大 | 状态维爆炸 $O(N^3)$ | 滑窗保持 $N \le 20$,边缘化旧克隆 |
713713
| 7 | RTK-GNSS 观测噪声设得太小 | EKF 被带偏到 GPS 跳变 | $\chi^2$ 门限拒绝异常观测;robust loss |
714714
| 8 | 数值微分步长选错 | Jacobian 被舍入误差淹没 | 中心差分 $h\approx 6\times 10^{-6}$ |
715715
| 9 | Jacobian 符号反向 | 滤波器慢慢发散 | 用 AutoDiff 对拍验证 |

0 commit comments

Comments
 (0)