mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-06-22 19:51:13 +00:00
update GPS-denied onboard research docs
This commit is contained in:
@@ -0,0 +1,244 @@
|
||||
# Fact Cards
|
||||
|
||||
## Fact #1
|
||||
- **Statement**: ArduPilot MAVProxy GPSInput requires `GPS1_TYPE=14` to accept MAVLink GPS input.
|
||||
- **Source**: Source #1
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: ArduPilot v1 integration
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Flight-controller output
|
||||
- **Fit Impact**: Supports `GPS_INPUT` v1 selection
|
||||
|
||||
## Fact #2
|
||||
- **Statement**: MAVLink `GPS_INPUT` is a raw GPS sensor input message, not the global position estimate of the system.
|
||||
- **Source**: Source #2
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: MAVLink integrators
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Output semantics and covariance
|
||||
- **Fit Impact**: Requires careful accuracy/covariance fields and FC EKF configuration
|
||||
|
||||
## Fact #3
|
||||
- **Statement**: ArduPilot issue #30076 documented EKF3 instability when external navigation and GPS were fused unexpectedly; the issue is version-specific and marked closed, but it proves the risk class is real.
|
||||
- **Source**: Source #3
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: ArduPilot v1/v1.1 release planning
|
||||
- **Confidence**: Medium
|
||||
- **Related Dimension**: Autopilot source fusion
|
||||
- **Fit Impact**: Supports GPS_INPUT-only v1 and SITL gate before ODOMETRY
|
||||
|
||||
## Fact #4
|
||||
- **Statement**: Jetson Orin Nano Super officially provides 67 sparse TOPS, 8 GB LPDDR5, 102 GB/s memory bandwidth, and a 25 W mode.
|
||||
- **Source**: Source #4
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Onboard runtime sizing
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Hardware envelope
|
||||
- **Fit Impact**: Supports feasibility, but memory/thermal profiling remains mandatory
|
||||
|
||||
## Fact #5
|
||||
- **Statement**: NVIDIA reports TensorRT FP16 ViT benchmark rates on Orin Nano 8 GB Super Mode, including DINOv2-base-patch14 around 126 FPS in the published table.
|
||||
- **Source**: Source #5
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: VPR runtime planning
|
||||
- **Confidence**: Medium
|
||||
- **Related Dimension**: VPR model feasibility
|
||||
- **Fit Impact**: Supports conditional DINOv2 VPR, not per-frame full pipeline guarantee
|
||||
|
||||
## Fact #6
|
||||
- **Statement**: A TensorRT issue report measured DINOv2-S on Jetson Orin at roughly 22-23 ms GPU compute with limited INT8 speedup.
|
||||
- **Source**: Source #19
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Jetson VPR deployment
|
||||
- **Confidence**: Medium
|
||||
- **Related Dimension**: Model optimization risk
|
||||
- **Fit Impact**: Requires project benchmark; INT8 speedup must not be assumed
|
||||
|
||||
## Fact #7
|
||||
- **Statement**: NVIDIA cuVSLAM is a GPU-accelerated stereo-visual-inertial SLAM and odometry library; it can use IMU fallback but is designed around stereo camera input.
|
||||
- **Source**: Source #6
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: VO/VIO component selection
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Required camera inputs
|
||||
- **Fit Impact**: Reject as lead v1 VO for a single fixed monocular nav camera
|
||||
|
||||
## Fact #8
|
||||
- **Statement**: ORB-SLAM3 and VINS-Fusion support monocular-inertial modes, but both are GPL-family licensed.
|
||||
- **Source**: Source #7, Source #8
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Product dependency selection
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Licensing and integration
|
||||
- **Fit Impact**: Experimental/reference only unless legal approval is obtained
|
||||
|
||||
## Fact #9
|
||||
- **Statement**: A 2024 fixed-wing UAV study used satellite imagery to reduce visual odometry accumulated error over missions above 1000 m and over 17 km.
|
||||
- **Source**: Source #12
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Architecture feasibility
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Satellite-aided VO
|
||||
- **Fit Impact**: Supports hybrid VO + satellite anchor architecture
|
||||
|
||||
## Fact #10
|
||||
- **Statement**: Recent UAV-to-satellite cross-view localization research targets source-domain appearance differences and similar-scene interference, confirming these are core risks.
|
||||
- **Source**: Source #13
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Cross-view matching design
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: False-match risk
|
||||
- **Fit Impact**: Requires top-K VPR, local geometric verification, covariance gating, and stale-tile controls
|
||||
|
||||
## Fact #11
|
||||
- **Statement**: Airbus Pléiades Neo advertises native 30 cm imagery and 3.5 m CE90 location accuracy.
|
||||
- **Source**: Source #14
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Satellite Service SLA
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Reference imagery resolution
|
||||
- **Fit Impact**: Supports 0.3 m/px ideal cache target
|
||||
|
||||
## Fact #12
|
||||
- **Statement**: Vantor/Maxar states its constellation provides 30 cm-class imagery and native <5 m CE90 accuracy.
|
||||
- **Source**: Source #15
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Satellite Service SLA
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Reference imagery resolution
|
||||
- **Fit Impact**: Supports 0.3 m/px ideal cache target
|
||||
|
||||
## Fact #13
|
||||
- **Statement**: OpenStreetMap zoom-level math gives meters-per-pixel at the equator and requires multiplying by cosine(latitude); zoom alone does not define physical pixel size.
|
||||
- **Source**: Source #16
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Cache engineering
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Tile resolution convention
|
||||
- **Fit Impact**: Supports explicit pixel-size cache contract
|
||||
|
||||
## Fact #14
|
||||
- **Statement**: FastAPI automatically exposes interactive API docs and an OpenAPI schema.
|
||||
- **Source**: Source #17
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Local API design
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: OpenAPI documentation
|
||||
- **Fit Impact**: Supports Python/FastAPI for local health/session/object API
|
||||
|
||||
## Fact #15
|
||||
- **Statement**: FAISS GPU packages should not be assumed on Jetson ARM64; CPU FAISS or source-built GPU FAISS must be validated.
|
||||
- **Source**: Source #11
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: VPR index deployment
|
||||
- **Confidence**: Medium
|
||||
- **Related Dimension**: Index runtime
|
||||
- **Fit Impact**: Select CPU FAISS/HNSW-flat as v1 baseline; GPU FAISS is optimization only
|
||||
|
||||
## Fact #16
|
||||
- **Statement**: COG is a standard GeoTIFF profile useful for geospatial processing, while MBTiles-style SQLite tile packages are better aligned with local offline tile lookup.
|
||||
- **Source**: Source #18 plus offline cache search
|
||||
- **Phase**: Phase 2
|
||||
- **Target Audience**: Cache storage
|
||||
- **Confidence**: Medium
|
||||
- **Related Dimension**: Cache format
|
||||
- **Fit Impact**: Select COG/GeoTIFF for Satellite Service exchange and SQLite/MBTiles-like package for onboard lookup/index sidecars
|
||||
|
||||
## Fact #17
|
||||
- **Statement**: Official Magic Leap SuperPoint pretrained weights are restricted to academic or non-profit noncommercial research use.
|
||||
- **Source**: Source #20
|
||||
- **Phase**: Mode B Assessment
|
||||
- **Target Audience**: Product dependency selection
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Local matcher licensing
|
||||
- **Fit Impact**: Reject official SuperPoint weights as a v1 product dependency unless a commercial license is obtained
|
||||
|
||||
## Fact #18
|
||||
- **Statement**: LightGlue's Apache-2.0 license does not automatically license upstream feature extractors; extractor weights must be reviewed separately.
|
||||
- **Source**: Source #21
|
||||
- **Phase**: Mode B Assessment
|
||||
- **Target Audience**: Product dependency selection
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Local matcher licensing
|
||||
- **Fit Impact**: Select LightGlue only behind a license-cleared extractor interface
|
||||
|
||||
## Fact #19
|
||||
- **Statement**: AnyLoc DINOv2 VLAD examples produce 49,152-dimensional descriptors, so a large multi-scale VPR gallery can become a memory/storage problem if descriptors are stored uncompressed.
|
||||
- **Source**: Source #22
|
||||
- **Phase**: Mode B Assessment
|
||||
- **Target Audience**: VPR/cache developers
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: VPR descriptor footprint
|
||||
- **Fit Impact**: Requires PCA/quantization or smaller descriptors before the approach can satisfy the 8 GB memory and 10 GB cache budgets
|
||||
|
||||
## Fact #20
|
||||
- **Statement**: NVIDIA describes cuVSLAM as stereo-visual-inertial SLAM/odometry and documents IMU-only degraded tracking as suitable only for short intervals around one second.
|
||||
- **Source**: Source #23
|
||||
- **Phase**: Mode B Assessment
|
||||
- **Target Audience**: VO/VIO component selection
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Required camera inputs and fallback duration
|
||||
- **Fit Impact**: Keep cuVSLAM rejected as a v1 lead dependency for the fixed monocular navigation camera, but keep it as a Jetson benchmark/reference if hardware changes
|
||||
|
||||
## Fact #21
|
||||
- **Statement**: COG supports tiled storage, overviews, and multiple compression profiles, but the docs do not define a universal bytes-per-pixel budget for 0.3 m satellite imagery.
|
||||
- **Source**: Source #24
|
||||
- **Phase**: Mode B Assessment
|
||||
- **Target Audience**: Cache engineers
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Satellite cache storage
|
||||
- **Fit Impact**: Treat the 10 GB cache as a measured acceptance gate, not as proven by zoom-level math
|
||||
|
||||
## Fact #22
|
||||
- **Statement**: AerialVL provides public aerial localization trajectories with RGB imagery, GNSS, and satellite reference patches, but it is only a partial match for the fixed-wing/ArduPilot/IMU deployment target.
|
||||
- **Source**: Source #25
|
||||
- **Phase**: Mode B Assessment
|
||||
- **Target Audience**: Validation planning
|
||||
- **Confidence**: Medium
|
||||
- **Related Dimension**: Dataset realism
|
||||
- **Fit Impact**: Use public datasets for early VPR and cross-view benchmarks, but require SITL or real FC IMU traces for final fusion validation
|
||||
|
||||
## Fact #23
|
||||
- **Statement**: UAV-VisLoc provides UAV images, satellite maps, and metadata such as coordinates, altitude, heading, and capture date, but does not replace the need for project-specific IMU/camera timing traces.
|
||||
- **Source**: Source #26
|
||||
- **Phase**: Mode B Assessment
|
||||
- **Target Audience**: Validation planning
|
||||
- **Confidence**: Medium
|
||||
- **Related Dimension**: Dataset realism
|
||||
- **Fit Impact**: Add dataset adapters for retrieval/localization tests while keeping final acceptance tied to project replay and ArduPilot SITL
|
||||
|
||||
## Fact #24
|
||||
- **Statement**: LightGlue supports ALIKED, DISK, SIFT, and other extractors, so the local matcher can name concrete license-cleared candidates instead of an abstract "license-cleared extractor."
|
||||
- **Source**: Source #27
|
||||
- **Phase**: Mode B Round 2
|
||||
- **Target Audience**: Local matcher productization
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Local feature selection
|
||||
- **Fit Impact**: Select ALIKED + LightGlue and OpenCV SIFT/AKAZE as concrete v1 candidates; keep SuperPoint rejected unless licensed
|
||||
|
||||
## Fact #25
|
||||
- **Statement**: DeDoDe is MIT-licensed and has ONNX/TensorRT deployment ports, making it a plausible learned-feature fallback, but its model size and DINOv2-related variants still require Jetson validation.
|
||||
- **Source**: Source #28
|
||||
- **Phase**: Mode B Round 2
|
||||
- **Target Audience**: Local matcher productization
|
||||
- **Confidence**: Medium
|
||||
- **Related Dimension**: Local feature selection
|
||||
- **Fit Impact**: Mark DeDoDe as experimental fallback until runtime and cross-domain accuracy are measured
|
||||
|
||||
## Fact #26
|
||||
- **Statement**: SIFT is available in OpenCV's main features2d module after patent expiration, supporting its use as a commercial-safe classical baseline.
|
||||
- **Source**: Source #29
|
||||
- **Phase**: Mode B Round 2
|
||||
- **Target Audience**: Local matcher productization
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Classical matching baseline
|
||||
- **Fit Impact**: Select OpenCV SIFT/AKAZE as the legal baseline for local geometric verification and regression tests
|
||||
|
||||
## Fact #27
|
||||
- **Statement**: With 3 Hz camera input and <400 ms p95 output latency, a FIFO frame queue can violate latency even when every component is individually fast enough.
|
||||
- **Source**: Derived from AC-4.1 and AC-4.4 timing constraints
|
||||
- **Phase**: Mode B Round 2
|
||||
- **Target Audience**: Real-time pipeline design
|
||||
- **Confidence**: High
|
||||
- **Related Dimension**: Runtime scheduling
|
||||
- **Fit Impact**: Add a bounded latest-frame scheduler and explicit drop/backpressure policy to the architecture
|
||||
Reference in New Issue
Block a user