mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-22 21:46:36 +00:00
@@ -462,13 +462,15 @@ bool: True if merge successful
|
||||
1. Verify both chunks exist
|
||||
2. Verify chunk_id_1 is anchored (has_anchor=True)
|
||||
3. Validate chunks can be merged (not already merged, not same chunk)
|
||||
4. Call F10.merge_chunks(chunk_id_1, chunk_id_2, transform)
|
||||
5. Update chunk_id_1 state:
|
||||
4. **Merge direction**: chunk_id_1 (newer, source) merges INTO chunk_id_2 (older, target)
|
||||
5. Call F10.merge_chunks(chunk_id_1, chunk_id_2, transform)
|
||||
6. Update chunk_id_1 state:
|
||||
- Set is_active=False
|
||||
- Set matching_status="merged"
|
||||
- Call deactivate_chunk(chunk_id_1)
|
||||
6. Update chunk_id_2 state (if needed)
|
||||
7. Return True
|
||||
7. Update chunk_id_2 state (if needed)
|
||||
8. Persist chunk state via F03 Flight Database.save_chunk_state()
|
||||
9. Return True
|
||||
|
||||
**Validation**:
|
||||
- Both chunks must exist
|
||||
@@ -476,6 +478,11 @@ bool: True if merge successful
|
||||
- chunk_id_1 must not already be merged
|
||||
- chunk_id_1 and chunk_id_2 must be different
|
||||
|
||||
**Merge Direction**:
|
||||
- **chunk_id_1**: Source chunk (newer, recently anchored)
|
||||
- **chunk_id_2**: Target chunk (older, main trajectory or previous chunk)
|
||||
- Newer chunks merge INTO older chunks to maintain chronological consistency
|
||||
|
||||
**Test Cases**:
|
||||
1. **Merge anchored chunks**: Chunks merged successfully, chunk_id_1 deactivated
|
||||
2. **Merge unanchored chunk**: Returns False (validation fails)
|
||||
@@ -570,6 +577,7 @@ bool: True if marked successfully
|
||||
- **F05 Image Input Pipeline**: Image retrieval
|
||||
- **F08 Global Place Recognition**: Descriptor computation
|
||||
- **F07 Sequential VO**: VO results for chunk building
|
||||
- **F03 Flight Database**: Chunk state persistence
|
||||
|
||||
### External Dependencies
|
||||
- **numpy**: Array operations
|
||||
|
||||
Reference in New Issue
Block a user