mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-23 01:46:38 +00:00
add tests
gen_tests updated solution.md updated
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# System Integration Test: Vision to Optimization Pipeline
|
||||
|
||||
## Summary
|
||||
Validate integration between vision layers (L1, L2, L3) and Factor Graph Optimizer.
|
||||
|
||||
## Components Under Test
|
||||
- Sequential Visual Odometry (L1)
|
||||
- Global Place Recognition (L2)
|
||||
- Metric Refinement (L3)
|
||||
- Factor Graph Optimizer
|
||||
- Result Manager
|
||||
|
||||
## Test Scenario
|
||||
Test the flow of vision estimates into factor graph optimization:
|
||||
1. L1 provides relative pose factors
|
||||
2. L3 provides absolute GPS factors
|
||||
3. Factor graph fuses both into optimized trajectory
|
||||
4. Results show improvement over individual layers
|
||||
|
||||
## Test Cases
|
||||
|
||||
### Test Case 1: Sequential Factors Only (L1)
|
||||
- Process AD000001-AD000010 with L1 only
|
||||
- Feed relative poses to factor graph
|
||||
- Verify: Drift accumulates without GPS anchors
|
||||
|
||||
### Test Case 2: GPS Anchors Only (L3)
|
||||
- Process same images with L3 only
|
||||
- Feed absolute GPS to factor graph
|
||||
- Verify: Accurate but no temporal smoothness
|
||||
|
||||
### Test Case 3: Fused L1 + L3 (Optimal)
|
||||
- Process with both L1 and L3
|
||||
- Factor graph fuses relative and absolute factors
|
||||
- Verify: Better accuracy than L1-only, smoother than L3-only
|
||||
|
||||
### Test Case 4: L2 Recovery after L1 Failure
|
||||
- Simulate L1 tracking loss
|
||||
- L2 recovers global location
|
||||
- L3 refines it
|
||||
- Factor graph incorporates recovery
|
||||
|
||||
### Test Case 5: Robust Outlier Handling
|
||||
- Include outlier measurement (268m jump)
|
||||
- Verify robust kernel down-weights outlier
|
||||
- Trajectory remains consistent
|
||||
|
||||
### Test Case 6: Incremental Updates
|
||||
- Add images one by one
|
||||
- Factor graph updates incrementally
|
||||
- Verify past trajectory refined when new anchors arrive (AC-8)
|
||||
|
||||
## Success Criteria
|
||||
- L1-only shows drift (errors grow over time)
|
||||
- L3-only accurate but may be jagged
|
||||
- L1+L3 fusion achieves best results
|
||||
- Outliers handled without breaking trajectory
|
||||
- Incremental updates work correctly
|
||||
- Accuracy improves over single-layer estimates
|
||||
|
||||
## Maximum Expected Time
|
||||
- L1-only (10 images): < 10 seconds
|
||||
- L3-only (10 images): < 15 seconds
|
||||
- Fused (10 images): < 20 seconds
|
||||
- Total test: < 60 seconds
|
||||
|
||||
## Pass/Fail Criteria
|
||||
**Passes If**: Factor graph successfully fuses vision estimates, accuracy improved, outliers handled
|
||||
**Fails If**: Fusion fails, accuracy worse than single layer, outliers corrupt trajectory
|
||||
|
||||
Reference in New Issue
Block a user