# Comparison Framework

## Selected Framework Type
Problem Diagnosis + Decision Support (Mode B)

## Weak Point Dimensions (from draft02 → new AC/restrictions)

### Dimension 1: Output Architecture (CRITICAL)
Draft02 uses FastAPI + SSE to stream positions to clients.
New AC requires MAVLink GPS_INPUT to flight controller as PRIMARY output.
Entire output architecture must change.

### Dimension 2: Ground Station Communication (CRITICAL)
Draft02 has no ground station integration.
New AC requires: stream position+confidence via telemetry, receive re-localization commands.

### Dimension 3: MAVLink Library Choice (CRITICAL)
Restrictions say "MAVSDK library" but MAVSDK-Python cannot send GPS_INPUT.
Must use pymavlink for core function.

### Dimension 4: GPS Update Rate (HIGH)
Camera at 3fps → 3Hz position updates. ArduPilot minimum GPS rate is 5Hz.
Need IMU-based interpolation between camera frames.

### Dimension 5: Startup & Failsafe (HIGH)
Draft02 has no initialization or failsafe procedures.
New AC requires: init from last GPS, reboot recovery, IMU fallback after N seconds.

### Dimension 6: Object Localization (MEDIUM)
Draft02 has basic pixel-to-GPS for navigation camera only.
New AC adds AI camera with configurable angle, zoom — trigonometric projection needed.

### Dimension 7: Thermal Management (MEDIUM)
Draft02 ignores thermal throttling.
Jetson Orin Nano Super throttles at 80°C — can drop GPU 3x.

### Dimension 8: VO Drift Budget Monitoring (MEDIUM)
New AC: max cumulative VO drift <100m between satellite anchors.
Draft02 uses ESKF covariance but doesn't explicitly track drift budget.

### Dimension 9: Satellite Imagery Specs (LOW)
New AC: ≥0.5 m/pixel, <2 years old. Draft02 uses Google Maps zoom 18-19 which is ~0.3-0.6 m/pixel.
Mostly compatible, needs explicit validation.

### Dimension 10: API for Internal Systems (LOW)
Object localization requests from AI systems need a local IPC mechanism.
FastAPI could be retained for local-only inter-process communication.

## Initial Population

| Dimension | Draft02 State | Required State | Gap Severity |
|-----------|--------------|----------------|-------------|
| Output Architecture | FastAPI + SSE to client | MAVLink GPS_INPUT to flight controller | CRITICAL — full redesign |
| Ground Station | None | Bidirectional MAVLink telemetry | CRITICAL — new component |
| MAVLink Library | Not applicable (no MAVLink) | pymavlink (MAVSDK can't do GPS_INPUT) | CRITICAL — new dependency |
| GPS Update Rate | 3fps → ~3Hz output | ≥5Hz to ArduPilot EKF | HIGH — need IMU interpolation |
| Startup & Failsafe | None | Init from GPS, reboot recovery, IMU fallback | HIGH — new procedures |
| Object Localization | Basic nadir pixel-to-GPS | AI camera angle+zoom trigonometry | MEDIUM — extend existing |
| Thermal Management | Not addressed | Monitor + mitigate throttling | MEDIUM — operational concern |
| VO Drift Budget | ESKF covariance only | Explicit <100m tracking + trigger | MEDIUM — extend ESKF |
| Satellite Imagery Specs | Google Maps zoom 18-19 | ≥0.5 m/pixel, <2 years | LOW — mostly met |
| Internal IPC | REST API | Lightweight local API or shared memory | LOW — simplify from draft02 |
