mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-21 08:21:13 +00:00
[AZ-243] Sync native VIO test docs
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -16,17 +16,23 @@
|
||||
|
||||
| Method | Input | Output | Async | Error Types |
|
||||
|--------|-------|--------|-------|-------------|
|
||||
| `initialize` | `VioInitRequest` | `VioInitResult` | No | `CalibrationInvalid`, `DatasetUnsupported` |
|
||||
| `process` | `VioInputPacket` | `VioStatePacket` | Yes | `TrackingLost`, `TimestampMismatch` |
|
||||
| `health` | none | `VioHealth` | No | none |
|
||||
| `initialize` | selected `VioBackend` / `VioRuntimeConfig` | updates `VioHealthReport` | No | backend initialization / native prerequisite errors |
|
||||
| `process` | `VioInputPacket` | `VioProcessingResult` | No | timestamp mismatch, backend runtime errors |
|
||||
| `health` | none | `VioHealthReport` | No | none |
|
||||
|
||||
**Input DTOs**:
|
||||
|
||||
```yaml
|
||||
VioInputPacket:
|
||||
frame: FramePacket
|
||||
imu_samples: list[TelemetrySample]
|
||||
attitude_sample: TelemetrySample optional
|
||||
telemetry_samples: list[TelemetrySample]
|
||||
VioRuntimeConfig:
|
||||
environment: development | ci | staging | jetson | production
|
||||
mode: replay | native optional
|
||||
native_backend_name: string
|
||||
native_runner_module: string
|
||||
native_runner_factory: string
|
||||
native_runner_config: object
|
||||
```
|
||||
|
||||
**Output DTOs**:
|
||||
@@ -38,8 +44,12 @@ VioStatePacket:
|
||||
velocity: vector3
|
||||
bias_estimate: object optional
|
||||
tracking_quality: number
|
||||
completed: boolean
|
||||
covariance_hint: matrix optional
|
||||
VioProcessingResult:
|
||||
state_packet: VioStatePacket optional
|
||||
health: VioHealthReport
|
||||
processing_latency_ms: number optional
|
||||
error: ErrorEnvelope optional
|
||||
```
|
||||
|
||||
## 3. Data Access Patterns
|
||||
@@ -50,6 +60,8 @@ No persistent production data ownership. Reads calibration/config at startup and
|
||||
|
||||
**State Management**: Owns selected VIO backend runtime state and resets only through explicit wrapper command.
|
||||
|
||||
**Runtime Selection**: `create_vio_adapter` selects replay mode only for explicit development/replay configuration. Production and Jetson profiles derive native mode, instantiate `ConfiguredNativeVioBackend`, and load a BASALT-compatible runner through `BasaltNativeRunner`.
|
||||
|
||||
**Key Dependencies**:
|
||||
|
||||
| Library | Purpose |
|
||||
@@ -58,6 +70,7 @@ No persistent production data ownership. Reads calibration/config at startup and
|
||||
| Eigen/Sophus or backend-native math stack | Pose and transform representation |
|
||||
|
||||
**Error Handling Strategy**:
|
||||
- Missing or invalid production native runtime prerequisites fail initialization with explicit health/error state and no replay-derived successful VIO output.
|
||||
- Tracking loss is surfaced to the safety/anchor wrapper, not hidden.
|
||||
- Timestamp/camera-IMU sync violations fail the packet and are logged.
|
||||
- The adapter never emits WGS84 coordinates; absolute semantics belong to the wrapper.
|
||||
|
||||
Reference in New Issue
Block a user