mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-22 23:16:38 +00:00
docs: record PR #9 results — ESKF ATE 0.20 m baseline on EuRoC MH_01
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -103,3 +103,7 @@
|
||||
- **Наступний крок**: ініціалізувати ESKF у харнесі з синтетичним GPS-origin (середня координата GT або перша GT-поза). Це увімкне ESKF-шлях і дасть змогу виміряти реальний VO+ESKF дрейф без satellite fallback.
|
||||
- **PR #8** `feat/e2e-eskf-init` — ESKF ініціалізується з першої GT-пози адаптера. Результат: `eskf_initialized: 0→100/100`, `eskf_has_position: 100/100`. ATE RMSE ~10.7 км. Satellite measurements відхиляються Mahalanobis gate (Δ²~10⁶ >> 16.3). Root cause: ORB `scale_ambiguous=True` → unit-scale VO translations → ESKF position diverges → satellite outlier gate срацює коректно.
|
||||
- **Наступний крок**: VO metric scale. ORB переводить `(R, t̂)` де `t̂` — одиничний вектор, реальна відстань невідома. Варіанти: (а) передавати IMU timestamps у ESKF щоб він сам рахував scale через velocity; (б) перейти на cuVSLAM (metric backend); (в) хак — фіксований scale для EuRoC indoor (~0.3 м між кадрами). Правильний шлях — (б) cuVSLAM, але для CI-діагностики можна (в).
|
||||
- **PR #9** `feat/e2e-vo-scale` — реалізовано варіант (а): `vo_scale_m=0.005` (5 мм/кадр, виміряно з GT median). `_ScaledVO` wrapper нормалізує unit-vector ORB translation і множить на scale. `HarnessResult` тепер збирає `eskf_positions_enu`. **Перший strict-assert тест на реальних даних**: `test_euroc_mh01_eskf_drift_within_ceiling` PASS — ESKF ATE RMSE **~0.20 м** за 100 кадрів (ceiling 0.5 м).
|
||||
- [decision 2026-04-18: фіксований scale 0.005 м/кадр — це діагностичний хак для CI. Правильне рішення — cuVSLAM (metric VO). Але цей тест тепер є regression guard: якщо рефакторинг VO/ESKF ламає інтеграцію — тест покаже.]
|
||||
- **Поточний стан pipeline на EuRoC MH_01**: `vo_success=99/100`, `eskf_initialized=100/100`, ESKF ATE=0.20 м ✓. GPS estimate ATE xfail (satellite не туновано під indoor).
|
||||
- **Наступні кроки**: (1) MH_02-05 параметризовані тести — перевірити чи 0.20 м baseline стабільний на інших sequences; (2) VPAIR — там satellite matching може бути актуальним (outdoor, є reference_views/); (3) cuVSLAM як VO backend.
|
||||
|
||||
Reference in New Issue
Block a user