mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-21 19:01:14 +00:00
846670a5c5
Updated various documentation files to clarify the handling of splittable artifacts, allowing for folder equivalents of key markdown files when they exceed size limits. Adjusted references in multiple sections to reflect this new structure, ensuring consistency across the research methodology. Enhanced clarity on the saving actions and artifact organization, particularly for `01_source_registry.md`, `02_fact_cards.md`, and `06_component_fit_matrix.md`. This change aims to improve usability and maintainability of the research documentation.
5.6 KiB
5.6 KiB
Restrictions
Last revised 2026-05-07 (cleanup pass — design-independent, IEEE-830 style; only external dependencies, environmental constraints, integration boundaries). Subsequent revision 2026-05-07 (post-SQ6 research): the FC-facing communication protocol entries below were corrected — iNav firmware (master, post-9.0) has no inbound MAVLink external-positioning handler; the project must use a per-FC adapter (MAVLink
GPS_INPUTfor ArduPilot Plane; MSP2MSP2_SENSOR_GPSfor iNav). Rationale and L1 sources in_docs/00_research/02_fact_cards/SQ6_fc_external_positioning.md/_docs/00_research/01_source_registry/SQ6_external_positioning.mdSources #4, #9, #10, #12, #13.
UAV & Flight
- Fixed-wing UAVs only; navigation camera fixed downward (no gimbal).
- Operational area: eastern/southern Ukraine (east of Dnipro).
- Mission profile: 8-hour flights, ~60 km/h cruise. Sector ≤150 km² + transit corridor ~50 km². Total cached area ≤~400 km², persistent across flights.
- Altitude ≤1 km AGL; terrain assumed flat (rolling steppe / agricultural).
- Weather: predominantly sunny daytime; validation must cover seasonal/visibility classes (summer crops, autumn/winter bare fields, cloud/haze, snow if winter, low-texture repetition).
- Sharp turns are exceptions; consecutive photos may share <5% overlap (AC-3.2).
- No raw-photo storage (AC-8.5); storage bounded by tile cache + per-flight FDR (AC-NEW-3).
Cameras
- Navigation camera (pinned): ADTi 20MP 20L V1, APS-C ~23.6 × 15.7 mm, ~5472 × 3648 px (≈20 MP). Lens chosen so GSD lands in 10–20 cm/px @ 1 km AGL (frame footprint ~470×314 m to ~980×655 m). Intrinsics + camera-to-body calibration must be obtained pre-flight (e.g., checkerboard).
- AI camera: operator-controlled gimbal angle + zoom (consumed by AI detection systems). The GPS-Denied system supports object localization (AC-7.x) using gimbal angle + zoom only — UAV bank/pitch is not published to that path; AI-camera object localization is therefore scoped to level flight (AC-7.1).
- Camera-to-companion interface: USB / MIPI-CSI / GigE (lens-module dependent).
Satellite Imagery
- Source: Azaion Suite Satellite Service (separate Suite component). Onboard system is a consumer; upstream sourcing is the Service's concern.
- Onboard interface is offline-only: companion holds a local cache populated pre-flight from the Service for the operational area (AC-8.3). No in-flight Service calls.
- Mid-flight tile generation (AC-8.4): companion orthorectifies nav-camera frames into basemap-projected tiles, deduplicates, stores locally; uploads on landing.
- Storage policy: tile is the unit of persistence; no raw frames retained (AC-8.5).
- Resolution at cache interface: ≥0.5 m/px, ideally 0.3 m/px (AC-8.1).
- Tile manifest schema: CRS, tile matrix, dimension, lat-adjusted m/px, capture date, source, compression. Slippy/XYZ zoom (if used) is a provider convention, not a resolution proof.
- Cache budget: 10 GB persistent across the ~400 km² area, including manifests, overviews, and any precomputed indices unless the solution carves out a separate descriptor budget.
- Freshness: enforced per AC-8.2 / AC-NEW-6 (6-month active-conflict / 12-month rear). Mid-flight tiles timestamped current and treated as fresh.
- Sentinel-2 / free public imagery: not on runtime path; cache rejects below the 0.5 m/px floor.
Onboard Hardware
- Companion computer (pinned): Jetson Orin Nano Super — 67 TOPS sparse INT8, 8 GB shared LPDDR5, 25 W TDP. JetPack (Ubuntu) with CUDA / TensorRT.
- Cooling sized for 25 W continuous over 8 h at the upper environmental temp (AC-NEW-5).
- Storage budget ≥ tile cache (~10 GB) + per-flight FDR (64 GB, AC-NEW-3).
Sensors & Integration
- High-rate IMU available from FC via MAVLink (both ArduPilot Plane and iNav expose IMU telemetry over MAVLink outbound).
- Communication protocol (pinned): MAVLink for the GCS link (QGroundControl). Companion ↔ FC interface is per-FC: MAVLink for ArduPilot Plane (inbound external positioning + outbound telemetry); MSP2 for iNav (inbound external positioning via
MSP2_SENSOR_GPS); MAVLink outbound from iNav for telemetry to the GCS is preserved. - Supported flight controllers: ArduPilot Plane, iNav. PX4 out of scope.
- Output to FC: WGS84 GPS coordinates as a real-GPS replacement, via each supported FC's documented external-positioning interface — MAVLink
GPS_INPUTfor ArduPilot Plane, MSP2MSP2_SENSOR_GPSfor iNav (companion is the sole GPS source on iNav; iNav has no dual-GPS arbitration). Per-FC parameter wiring (EKF source-set on ArduPilot; GPS provider/UART selection on iNav) and source-label out-of-band channel are design choices; outcome contract is AC-4.3. - Ground station: QGroundControl (Mission Planner out of scope). Telemetry link bandwidth-limited; per-frame data stays on local FDR (AC-NEW-3); GCS sees 1–2 Hz downsampled summary (AC-6.1).
- Representative data: see
input_data/(still images),input_data/flight_derkachi/(cropped nadir video + synchronizedSCALED_IMU2+GLOBAL_POSITION_INT). Production acceptance still requires camera intrinsics, distortion, camera-to-body calibration, and synchronized representative flight data (frames + FC IMU/attitude/airspeed/altitude + emitted MAVLink + ground-truth trajectory).
Failsafe & Safety
- If no estimate produced for >3 s → autopilot falls back to IMU-only dead reckoning (AC-5.2). 3 s rides through one sharp turn at cruise.
- False-position safety budget: AC-NEW-4 (P(>500 m) <0.1 %, P(>1 km) <0.01 % per flight).
- Cold-start TTFF <30 s (AC-NEW-1); spoofing-promotion latency <3 s (AC-NEW-2).