mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-23 10:36:37 +00:00
ba00065e1d
35 tests pass covering ESKF-01..06 (initialization, IMU prediction, VO/satellite updates, confidence tiers, coordinate chain). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
plan, phase, status, completed
| plan | phase | status | completed |
|---|---|---|---|
| 01-03 | 01-eskf-core | complete | 2026-04-01T21:00:00Z |
Summary
Created comprehensive unit test suite for ESKF algorithm and real coordinate chain projection mathematics. All 35 tests pass, covering all six ESKF requirements and full pixel-to-GPS chain validation.
Key Files Created/Modified
tests/test_eskf.py(290 lines, new) — 18 ESKF teststests/test_coordinates.py(420 lines modified, +200) — 17 new projection tests
Test Coverage
| Category | Count | Requirement |
|---|---|---|
| ESKF Initialization | 2 | ESKF-04 |
| IMU Prediction | 4 | ESKF-01 |
| VO Update | 3 | ESKF-02 |
| Satellite Update | 3 | ESKF-03 |
| Confidence Tiers | 4 | ESKF-05 |
| Coordinate Chain | 10 | ESKF-06 |
| Integration | 2 | All |
Commits
2e5436afeat(tests): add comprehensive ESKF + coordinate chain tests (ESKF-01..06)
Test Results
35 passed in 0.36s
Tests by Theme
ESKF Core Tests (18)
- Initialization (ESKF-04): default init, init_from_gps
- IMU Prediction (ESKF-01): covariance growth, gravity compensation, velocity integration, position propagation
- VO Updates (ESKF-02): uncertainty reduction, position correction, innovation vector
- Satellite Updates (ESKF-03): position correction, covariance tightening, noise-bounded covariance
- Confidence Tiers (ESKF-05): HIGH/MEDIUM/LOW/FAILED states
- State Access: ESKFState snapshot
- Integration: full fusion sequence
Coordinate Chain Tests (17)
- K Matrix (ESKF-06): ADTI 20L V1 focal length, custom principal point
- Camera-Body Rotation: Rx(180deg) verification
- Quaternion Rotation: identity and 90-degree rotations
- Pixel-to-GPS Chain: center nadir projection, altitude scaling, off-center offsets
- GPS-to-Pixel Inverse: roundtrip accuracy, quaternion rotation handling
- Transform Points: cv2.perspectiveTransform identity, translation, empty
Deviations
None — all acceptance criteria passed.
Self-Check: PASSED
- 18 ESKF tests covering all requirements
- 17 coordinate chain tests for real projection
- All tests pass with pytest (35/35)
- K matrix builds correctly for ADTI 20L V1
- Center pixel projects to UAV nadir
- Pixel-GPS roundtrip within 1 pixel
- Gravity compensation verified
- Covariance growth/shrinkage validated
- Confidence tier logic tested
- Quaternion rotations working