mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-23 01:46:38 +00:00
docs(phase-01): add test summary for plan 01-03
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>
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
---
|
||||
plan: 01-03
|
||||
phase: 01-eskf-core
|
||||
status: complete
|
||||
completed: 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 tests
|
||||
- `tests/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
|
||||
|
||||
- `2e5436a` feat(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
|
||||
|
||||
- [x] 18 ESKF tests covering all requirements
|
||||
- [x] 17 coordinate chain tests for real projection
|
||||
- [x] All tests pass with pytest (35/35)
|
||||
- [x] K matrix builds correctly for ADTI 20L V1
|
||||
- [x] Center pixel projects to UAV nadir
|
||||
- [x] Pixel-GPS roundtrip within 1 pixel
|
||||
- [x] Gravity compensation verified
|
||||
- [x] Covariance growth/shrinkage validated
|
||||
- [x] Confidence tier logic tested
|
||||
- [x] Quaternion rotations working
|
||||
Reference in New Issue
Block a user