mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-21 10:31:13 +00:00
start over again
This commit is contained in:
@@ -1,61 +0,0 @@
|
||||
# Observability
|
||||
|
||||
## Goals
|
||||
|
||||
- Explain every emitted position estimate.
|
||||
- Detect false-position risk before it reaches the flight controller.
|
||||
- Preserve enough evidence to replay incidents without storing raw frames.
|
||||
- Surface operator-relevant status to QGroundControl without saturating telemetry.
|
||||
|
||||
## Runtime Signals
|
||||
|
||||
| Signal | Frequency | Destination | Notes |
|
||||
|--------|-----------|-------------|-------|
|
||||
| Position estimate | Per processed frame locally | FDR, MAVLink `GPS_INPUT` | GCS receives downsampled status |
|
||||
| Source label | Per estimate | FDR, status summary | `satellite_anchored`, `vo_extrapolated`, `dead_reckoned` |
|
||||
| Covariance semi-major | Per estimate | FDR, `GPS_INPUT.horiz_accuracy` mapping | Must not under-report |
|
||||
| Anchor decision | Per candidate | FDR | Include MRE, inliers, tile provenance, rejection reason |
|
||||
| Cache validation | On cache load / tile read | FDR, health log | Signature, freshness, resolution, hash |
|
||||
| Blackout/spoofing status | On transition and 1-2 Hz while active | QGC, FDR | Operator status |
|
||||
| Total occlusion status | Per transition and sampled while active | FDR, QGC if persistent | Indicates VIO is bypassed and IMU-only propagation is active |
|
||||
| Resource health | 1 Hz or configurable | FDR, QGC warning on threshold | CPU/GPU/temp/memory/throttle |
|
||||
| Tile write decision | Per generated tile | FDR, sidecar | Include parent covariance and trust level |
|
||||
|
||||
## Logs
|
||||
|
||||
| Log Type | Format | Retention |
|
||||
|----------|--------|-----------|
|
||||
| FDR events/index | PostgreSQL tables + CBOR payload segments | <=64 GB per flight, rollover |
|
||||
| MAVLink raw stream | tlog or equivalent | FDR cap |
|
||||
| Health metrics | FDR event stream | FDR cap |
|
||||
| Test reports | CSV/Markdown | CI artifact retention |
|
||||
|
||||
## Alerts And Status Text
|
||||
|
||||
| Condition | Status |
|
||||
|-----------|--------|
|
||||
| Visual blackout starts | `VISUAL_BLACKOUT_IMU_ONLY` |
|
||||
| Total occlusion before VIO | `VISUAL_OCCLUSION_IMU_ONLY` |
|
||||
| Blackout failsafe threshold exceeded | `VISUAL_BLACKOUT_FAILSAFE` |
|
||||
| Spoofing promotion/demotion | QGC status text with mode and timestamp |
|
||||
| Stale cache tile rejected | Warning in FDR; QGC only if mission-impacting |
|
||||
| Thermal throttle risk | QGC warning before throttle if possible |
|
||||
| No estimate for threshold | Relocalization request / failsafe status |
|
||||
|
||||
## Metrics For Release Evidence
|
||||
|
||||
- Error CDF against ground truth.
|
||||
- Anchor-age binned error.
|
||||
- Covariance calibration plot.
|
||||
- VIO completion rate.
|
||||
- Relocalization trigger-to-anchor latency.
|
||||
- Cache freshness rejection counts.
|
||||
- FDR size over 8 hours.
|
||||
- Thermal/throttle timeline.
|
||||
|
||||
## Open Tasks For Decomposition
|
||||
|
||||
- Define FDR schema and event names.
|
||||
- Define QGC status vocabulary and rate limiting.
|
||||
- Define telemetry-to-report export tooling.
|
||||
- Define covariance calibration dashboard/report.
|
||||
Reference in New Issue
Block a user