Enhanced the SKILL.md file to enforce conciseness rules for the state file, specifying acceptable content and file size limits. Updated the autodev state to reflect the transition to the planning phase, including changes to the current step and sub-step details. Revised acceptance criteria to clarify validation requirements and external dependencies, ensuring alignment with the latest research findings. Added a new overlay for Mode B revisions to track changes and decisions made during the assessment process.
25 KiB
Source Registry — Summary & Index
Mode A Phase 2 — engine Step 2 (Source Tiering & Exhaustive Web Investigation). Critical-novelty sensitivity per Step 0.5 in
../00_question_decomposition.md. Time windows applied:
- Lead-candidate / SOTA claims: prefer sources within last 6 months; up to 18 months if older is the official authority.
- Library/SDK API behaviour: must reflect the currently shipped version at search time (
context7mandatory per lead candidate).- Established baselines (KLT, RANSAC, EKF, ORB, SIFT, GTSAM): no time window.
Investigation order saved in
../00_question_decomposition.md→ "Next Step": SQ6 → SQ1 → SQ2 → SQ3+SQ4 per component (C1→C8) ✓ → C10 next → SQ5 interleaved → SQ8 → SQ9 synthesis at engine Step 8. SQ7 (datasets / SITL / replay) deferred to Test Spec (greenfield Step 5) per 2026-05-08 C9 / SQ7 restructure — see../00_question_decomposition.md→ "C9 / SQ7 Restructure" section.This folder replaces the previous monolithic
01_source_registry.md. The full per-source description for any source#Nin the table below lives in the category file linked in its row.
Category Index
| Category | File | Sources | Status |
|---|---|---|---|
| SQ6 — ArduPilot Plane vs iNav external positioning | SQ6_external_positioning.md |
#1–#24 | Saturated for protocol-level architectural decision |
| SQ1 — Existing GPS-denied UAV systems | SQ1_existing_systems.md |
#25–#37 | Saturated |
| SQ2 — Canonical pipeline decomposition | SQ2_canonical_pipeline.md |
#38–#42 | Saturated |
| C1 — VIO candidates | C1_vio.md |
#43–#56 | Closed at documentary level |
| C2 — VPR candidates | C2_vpr.md |
#57–#68 | Mandatory pre-screen complete (5/5) |
| C3 — Matcher candidates | C3_matchers.md |
#69–#81 | Closed at documentary level |
| C4 — Pose estimation candidates | C4_pose_estimation.md |
#82–#87 | Closed at 3/N |
| C5 — State estimator / sensor fusion candidates | C5_state_estimator.md |
#88–#91 | Closed at 2/N (batch 1 closed) |
| C6 — Tile cache + spatial index candidates | C6_tile_cache_spatial_index.md |
#92–#98 | Closed at 2/N (batch 1 closed) — Cand 1 (mirror-suite-pattern) RECOMMENDED PRIMARY; Cand 2 (PostGIS+pgvector) DEFERRED secondary |
| C7 — On-Jetson inference runtime candidates | C7_inference_runtime.md |
#99–#105 | Closed at 3/N (batch 1 closed 2026-05-08) — Cand 1 (TensorRT native) RECOMMENDED PRIMARY; Cand 2 (ONNX Runtime + TRT EP) modern-competitive-lead-cross-architecture-portability; Cand 3 (pure PyTorch FP16) mandatory simple-baseline |
| C8 — MAVLink / MSP2 FC adapter candidates | C8_fc_adapter.md |
#106–#113 | Closed at 3/N (batch 1 closed 2026-05-08) — Cand 1 (pymavlink → MAVLink GPS_INPUT) RECOMMENDED PRIMARY for ArduPilot Plane; Cand 2 (MSP2_SENSOR_GPS via Python MSP V2) RECOMMENDED PRIMARY for iNav (locked SQ6 + AC-4.3 transport); Cand 3 (UBX impersonation via pyubx2 NAV-PVT) DEFERRED secondary for iNav after comparative-improvement verdict |
| C10 — Pre-flight cache provisioning (CROSS-COUPLING MINIMAL scope per 2026-05-08 user choice C; D-C6-3 + D-C7-7 confirmation pipelines only, operator tooling deferred to Plan-phase) | C10_preflight_provisioning.md |
#114–#121 | Closed at 2/N (batch 1 closed 2026-05-08) — D-C6-3 confirmation: direct faiss.write_index/faiss.read_index Python API + python-atomicwrites + content-hash verification gate at takeoff (FAISS MIT, atomicwrites MIT); D-C7-7 confirmation: hybrid Polygraphy CLI primary + trtexec for cache-reuse fast rebuilds + direct IBuilderConfig Python API escape hatch (Polygraphy + TensorRT 10.x Apache-2.0 throughout) |
| Mode B addendum (2026-05-08) — solution_draft01 assessment | MODEB_addendum.md |
#122–#131 (10 sources) | New sources gathered for Mode B findings F1–F20: VINS-Mono GPL-3.0 LICENCE confirmation (#122), MegaLoc + UltraVPR + AirZoo aerial-VPR successor candidates (#123, #124, #125), CVE-2026-1579 MAVLink no-default-auth + CVE-2025-53644 OpenCV crafted-JPEG (#126, #127), ArduPilot MAVLink2 message-signing + iNav signing-gap (#128, #129), ArduPilot MAV_CMD_SET_EKF_SOURCE_SET no-deployed-GCS-implementer re-verification (#130), XoFTR + 2026 SAR-optical 24-matcher benchmark (#131). |
Investigation Status
| Sub-question | Status | Notes |
|---|---|---|
| SQ6 — ArduPilot vs iNav external positioning | Saturated for protocol-level architectural decision (further detail deferred to SQ8 for spoofing-side fields and to design phase for SITL parameter tuning) | Major finding: iNav has no inbound external-positioning MAVLink handler; AC-4.3 wording must be revised. See ../02_fact_cards/SQ6_fc_external_positioning.md "SQ6 Conclusions". |
| SQ1 — Existing GPS-denied UAV systems | Saturated. 13 sources logged across academic / open-source / commercial / defense-program / Ukraine-practitioner. Closest peer system: Twist Robotics OSCAR (deployed in Ukraine). Closest open-source pipeline-match: snktshrma/ngps_flight (NGPS, ArduPilot GSoC 2024 — LightGlue+SuperPoint+UKF+VISION_POSITION_ESTIMATE). Closest deployed commercial: Auterion Artemis (Skynode N + Visual Navigation, Ukraine-tested, 1000-mile range). | See ../02_fact_cards/SQ1_existing_systems.md cluster + working summary. |
| SQ2 — Canonical pipeline decomposition | Saturated. 5 surveys/benchmarks logged (Skoltech aerial VPR, U.Maine cross-view, OrthoLoC 2.5D geodata, AnyVisLoc low-altitude multi-view, NUDT 2026 sciopen survey). All converge on retrieval → matching → pose-estimation hierarchical framework with VIO/IMU as auxiliary. Two new architectural facts added to C1–C10: (a) AdHoP-style perspective-refinement loop between matching and PnP (+63% translation accuracy, method-agnostic), (b) DSM 2.5D dependency for full 6-DoF on aerial-to-satellite (must be resolved with the Suite Sat Service or accepted as a 3-DoF degraded mode). Practitioner runtime evidence: AnyLoc on RTX 3090 = 0.63s/descriptor, SuperGlue re-rank = 17–25s; on Jetson Orin Nano these are non-viable for our 400 ms p95 budget — must restrict to lightweight VPR (e.g., MixVPR / SALAD class) + LightGlue/XFeat-class matchers. See ../02_fact_cards/SQ2_canonical_pipeline.md "SQ2 Conclusions". |
|
| SQ3+SQ4 — Per-component candidates (C1–C10) | In progress — C1 (VIO) CLOSED at documentary level (Sources #43–#56). C2 (VPR) — mandatory pre-screen COMPLETE at documentary level (5 of 5 candidates): MixVPR (Sources #57+#58), SALAD (Sources #59+#60+#61), SelaVPR (Sources #62+#63), NetVLAD (Sources #64+#65+#66), EigenPlaces (Sources #67+#68 — closure 2026-05-08). All five mandatory candidates have per-mode API capability verification ✅, per-numbered-Restriction × per-numbered-AC sub-matrix written, and ../06_component_fit_matrix/C2_vpr.md rows populated. Conditional pre-screen candidates (AnyLoc / BoQ / DINOv2-VLAD) are GATED on a prerequisite INT8 quantization survey before they can be added to per-mode rows (per Fact #26 pre-screen rule). C3 closed at documentary level (Sources #69–#81). C4 closed at 3/N (Sources #82–#87). C5 CLOSED at 2/N — batch 1 closed 2026-05-08 (mandatory simple-baseline = Manual ESKF Solà 2017 [Sources #88–#89]; modern-competitive-lead-factor-graph = GTSAM iSAM2 + ImuFactor + smart factors + Marginals [Sources #90–#91]). C6 CLOSED at 2/N — batch 1 closed 2026-05-08 (Cand 1 RECOMMENDED PRIMARY = mirror-of-suite-satellite-provider pattern: PostgreSQL btree + bytea + FAISS HNSW + filesystem [Sources #92+#96+#97+#98]; Cand 2 DEFERRED secondary = PostGIS GiST + pgvector HNSW + filesystem [Sources #94+#95]; Source #93 = PostgreSQL btree multicolumn-indexes docs cross-cite). C7 CLOSED at 3/N — batch 1 closed 2026-05-08 (Cand 1 RECOMMENDED PRIMARY = TensorRT native [Sources #99+#104+#105]; Cand 2 modern-competitive-lead-cross-architecture-portability = ONNX Runtime + TRT EP [Source #100 + #103]; Cand 3 mandatory simple-baseline = pure PyTorch FP16 [Source #101]; Source #102 = YOLO26 Jetson Orin Nano Super benchmark; Source #103 = LightGlue+TRT+FP8 quantization-sensitivity finding driving D-C7-6 cross-component precision policy). C8 CLOSED at 3/N — batch 1 closed 2026-05-08 (Cand 1 RECOMMENDED PRIMARY for ArduPilot = pymavlink → MAVLink GPS_INPUT msg 232 cooperative-path [Sources #106+#107 + cross-cite SQ6 Source #4 AP_GPS_MAV.cpp ingestion-path]; Cand 2 RECOMMENDED PRIMARY for iNav = MSP2_SENSOR_GPS id 7939 / 0x1F03 via Python MSP V2 implementation [Sources #111+#112+#113 + cross-cite SQ6 Source #12+#13]; Cand 3 DEFERRED secondary for iNav = UBX impersonation via pyubx2 NAV-PVT [Sources #108+#109+#110 + cross-cite SQ6 Fact #10] with comparative-improvement verdict that does NOT clear user's "significant-improvement-only" bar over Cand 2; mid-batch correction via c8_inav_recovery=B preserved locked SQ6 + AC-4.3 + restrictions.md verdicts). C9 DROPPED from research scope per 2026-05-08 SQ7/C9 restructure (datasets/SITL/replay deferred to Test Spec greenfield Step 5). C10 CLOSED at 2/N — batch 1 closed 2026-05-08 under CROSS-COUPLING MINIMAL scope per 2026-05-08 user choice C (operator CLI/desktop tooling, sector classification, freshness pipeline deferred to Plan-phase): D-C6-3 confirmation = direct faiss.write_index/faiss.read_index Python API + python-atomicwrites + content-hash (SHA-256) verification gate at takeoff load + IO_FLAG_MMAP_IFC mmap [Sources #114+#115+#116]; D-C7-7 confirmation = hybrid Polygraphy CLI primary for INT8-calibrating builds + trtexec for cache-reuse fast rebuilds + direct IBuilderConfig Python API escape hatch [Sources #117+#118+#119+#120+#121]; no further C10 batches required at the research layer — operator tooling design enters at Plan-phase. |
See ../02_fact_cards/C1_vio.md + ../02_fact_cards/C2_vpr.md + ../02_fact_cards/C3_matchers.md + ../02_fact_cards/C4_pose_estimation.md + ../02_fact_cards/C5_state_estimator.md + ../02_fact_cards/C6_tile_cache_spatial_index.md + ../02_fact_cards/C7_inference_runtime.md clusters; ../06_component_fit_matrix/C{1..7}_*.md rows. |
| SQ5 — Failure modes / deployment lessons | Not started (interleaved with SQ3/SQ4) | |
| SQ7 — Datasets, SITL, replay environments | Deferred to Test Spec (greenfield Step 5) per 2026-05-08 C9 / SQ7 restructure | Fixture-class / test-infra-class — not researched in this Mode A run. Carryforward payload preserved in ../00_question_decomposition.md → "C9 / SQ7 Restructure" section. |
| SQ8 — Safety considerations (AC-NEW-4 / AC-NEW-7) | Not started | Carries the AP_GPS spoofing-signal probe deferred from SQ6. |
| SQ9 — End-to-end synthesis | Step 8 of engine (deferred) |
Source Summary Table
Compact one-line index across all 121 sources. For full per-source description, follow the File link.
| # | Title | Tier | File |
|---|---|---|---|
| 1 | Non-GPS Navigation — Plane documentation | L1 | SQ6 |
| 2 | GPS / Non-GPS Transitions — Plane documentation | L1 | SQ6 |
| 3 | EKF Source Selection and Switching — Plane documentation | L1 | SQ6 |
| 4 | ArduPilot AP_GPS_MAV.cpp (master) | L1 | SQ6 |
| 5 | ArduPilot PR #28750 — AP_NavEKF3 EK3_OPTION bits (GPS-denied testing) | L2 | SQ6 |
| 6 | ArduPilot Issue #15859 — EKF3 source switching (GPS↔NonGPS) | L4 | SQ6 |
| 7 | ArduPilot Issue #27193 — EK3 Source Switching wrong frame for GUIDED | L4 | SQ6 |
| 8 | ArduPilot Issue #23485 — fuse only External Nav Velocities | L4 | SQ6 |
| 9 | iNavFlight/inav telemetry/mavlink.c (master inbound switch) | L1 | SQ6 |
| 10 | iNav Wiki — MAVLink (frogmane edited 2025-12-11) | L1 | SQ6 |
| 11 | iNav Wiki — GPS and Compass setup | L1 | SQ6 |
| 12 | iNavFlight/inav docs/development/msp/README.md (MSP message reference) | L1 | SQ6 |
| 13 | iNavFlight/inav src/main/io/gps.c + target/common.h (master) | L1 | SQ6 |
| 14 | iNav Issue #10141 — dual GPS support | L4 | SQ6 |
| 15 | iNav docs/GPS_fix_estimation.md (master) | L1 | SQ6 |
| 16 | iNav docs/Settings.md (master) | L1 | SQ6 |
| 17 | iNav Issue #10588 — DeadReckoning weird behaviour during GPS outage | L4 | SQ6 |
| 18 | iNav Release 8.0.0 (highlights, Dec 2024) | L1 | SQ6 |
| 19 | iNav Release 9.0.0 / 9.0.1 + Release Notes wiki | L1 | SQ6 |
| 20 | MAVLink common message set — GPS_RAW_INT (24) | L1 | SQ6 |
| 21 | MAVLink PR #2110 — gps: add status and integrity information | L2 | SQ6 |
| 22 | AirDroper — GNSS Spoofing Filter companion device | L3 | SQ6 |
| 23 | ArduPilot PR #24135 — EKF3 robust to bad IMU and lane-switching | L2 | SQ6 |
| 24 | ArduPilot AP_NavEKF3 — VehicleStatus.cpp + AP_NavEKF3.cpp (master) | L1 | SQ6 |
| 25 | Twist Robotics OSCAR — visual navigation system (Ukraine deployment) | L2 | SQ1 |
| 26 | Ukraine Drones with Vision-Based Navigation Past Heavy Jamming (TWZ) | L2 | SQ1 |
| 27 | Ukraine's Ruta Missile Drone EW-Immune Navigation (Defense Express) | L2 | SQ1 |
| 28 | Kilometer-Scale GNSS-Denied UAV Navigation via Heightmap Gradients | L1 | SQ1 |
| 29 | Hierarchical Image Matching for UAV Absolute Visual Localization | L1 | SQ1 |
| 30 | Raptor — GPS-Denied UAV Navigation & Coordinate Extraction (Vantor) | L2 | SQ1 |
| 31 | Auterion Artemis program — long-range deep-strike completion | L1 | SQ1 |
| 32 | Auterion Skynode N — AI/CV for small autonomous systems | L2 | SQ1 |
| 33 | snktshrma/ngps_flight — NGPS for ArduPilot (GSoC 2024) | L1 | SQ1 |
| 34 | AerialExtreMatch — benchmark for extreme-view image matching/localization | L1 | SQ1 |
| 35 | DARPA Fast Lightweight Autonomy (FLA) program page + T&E review | L1 | SQ1 |
| 36 | DSMAC / TERCOM lineage — DTIC ADA315439 | L1 | SQ1 |
| 37 | Electronic Warfare in Ukraine — Ukraine War Analytics | L3 | SQ1 |
| 38 | VPR for Aerial Imagery: A Survey (Skoltech, Moskalenko et al.) | L1 | SQ2 |
| 39 | Cross-View Geo-Localization: A Survey (U. Maine) | L1 | SQ2 |
| 40 | OrthoLoC: UAV 6-DoF Localization with Orthographic Geodata | L1 | SQ2 |
| 41 | AnyVisLoc — UAV visual localization, low-altitude multi-view | L1 | SQ2 |
| 42 | NUDT 2026 — survey on absolute visual localization for low-altitude UAV | L1 | SQ2 |
| 43 | VINS-Mono — robust monocular visual-inertial state estimator | L1 | C1 |
| 44 | VINS-Fusion — optimization-based multi-sensor state estimator | L1 | C1 |
| 45 | OpenVINS — open-source VI navigation research platform | L1 | C1 |
| 46 | Run VIO on NVIDIA Jetson — KAIST benchmark | L1 | C1 |
| 47 | OKVIS2 — realtime scalable VI-SLAM with loop closure | L1 | C1 |
| 48 | OKVIS2-X — open keyframe VI-SLAM with dense depth | L1 | C1 |
| 49 | Kimera-VIO — VIO with SLAM + 3D mesh (MIT-SPARK, BSD) | L1 | C1 |
| 50 | DROID-SLAM — deep visual SLAM (princeton-vl) | L1 | C1 |
| 51 | DPVO / DPV-SLAM — deep patch visual odometry | L1 | C1 |
| 52 | DPVO-QAT++ — heterogeneous QAT + CUDA kernel fusion for DPVO | L2 | C1 |
| 53 | Pure-VO baseline — KLT optical flow + 5-point/homography RANSAC (OpenCV) | L1 | C1 |
| 54 | OpenVINS — context7 per-mode capability lookup (/rpng/open_vins) |
L1 | C1 |
| 55 | VINS-Mono README + VINS-Fusion context7 per-mode lookup | L1 | C1 |
| 56 | OKVIS2 — official README (smartroboticslab/okvis2, main) |
L1 | C1 |
| 57 | OpenVPRLab — open-source VPR framework (MixVPR / BoQ / NetVLAD / GeM) | L1 | C2 |
| 58 | MixVPR canonical paper (WACV 2023, arXiv:2303.02190) | L1 | C2 |
| 59 | SALAD canonical implementation (serizba/salad, GPL-3.0) |
L1 | C2 |
| 60 | SALAD canonical paper — Optimal Transport Aggregation (CVPR 2024) | L1 | C2 |
| 61 | OpenVPRLab DinoV2 backbone — context7 cross-source for ViT-B/14 | L1 | C2 |
| 62 | SelaVPR canonical implementation (Lu-Feng/SelaVPR, MIT) |
L1 | C2 |
| 63 | SelaVPR canonical paper (ICLR 2024, arXiv:2402.14505) | L1 | C2 |
| 64 | NetVLAD canonical implementation Relja/netvlad v1.03 (MIT) |
L1 | C2 |
| 65 | NetVLAD modern PyTorch reproduction Nanne/pytorch-NetVlad |
L2 | C2 |
| 66 | NetVLAD canonical paper (CVPR 2016 / TPAMI 2018, arXiv:1511.07247) | L1 | C2 |
| 67 | EigenPlaces canonical implementation (gmberton/EigenPlaces, MIT) |
L1 | C2 |
| 68 | EigenPlaces canonical paper (ICCV 2023, arXiv:2308.10832) | L1 | C2 |
| 69 | LightGlue — context7 per-mode capability lookup (/cvg/lightglue) |
L1 | C3 |
| 70 | LightGlue canonical implementation (cvg/LightGlue) |
L1 | C3 |
| 71 | LightGlue canonical paper (ICCV 2023, arXiv:2306.13643) | L1 | C3 |
| 72 | LightGlue HuggingFace Transformers integration | L1 | C3 |
| 73 | LightGlue-ONNX — fabio-sim/LightGlue-ONNX (Jetson TensorRT path) |
L2 | C3 |
| 74 | ALIKED canonical implementation (Shiaoming/ALIKED) |
L1 | C3 |
| 75 | ALIKED canonical paper (TIM 2023, arXiv:2304.03608) | L1 | C3 |
| 76 | DISK canonical implementation (cvlab-epfl/disk, Apache-2.0) |
L1 | C3 |
| 77 | DISK canonical paper — RL-trained local features (NeurIPS 2020) | L1 | C3 |
| 78 | SuperGlue canonical implementation (magicleap/SuperGluePretrainedNetwork) |
L1 | C3 |
| 79 | SuperGlue canonical paper — graph-NN feature matching (CVPR 2020) | L1 | C3 |
| 80 | XFeat canonical implementation (verlab/accelerated_features, Apache-2.0) |
L1 | C3 |
| 81 | XFeat canonical paper — accelerated features (CVPR 2024) | L1 | C3 |
| 82 | OpenCV canonical implementation — opencv/opencv (calib3d module) |
L1 | C4 |
| 83 | OpenCV 4.x calib3d module canonical documentation | L1 | C4 |
| 84 | OpenGV canonical implementation (laurentkneip/opengv) |
L1 | C4 |
| 85 | OpenGV canonical Doxygen documentation portal | L1 | C4 |
| 86 | GTSAM canonical implementation (borglab/gtsam, BSD-3) |
L1 | C4 |
| 87 | GTSAM canonical Python documentation via context7 | L1 | C4 |
| 88 | Solà 2017 — "Quaternion kinematics for the error-state Kalman filter" (arXiv:1711.02508) | L1 | C5 |
| 89 | Reference open-source ESKF implementations (canonical-paper-derived) | L2 | C5 |
| 90 | GTSAM ImuFactor / CombinedImuFactor / PreintegratedImuMeasurements / PreintegratedCombinedMeasurements (context7 indexed) |
L1 | C5 |
| 91 | GTSAM ISAM2 / IncrementalFixedLagSmoother / Marginals with iSAM2 results (context7 indexed) |
L1 | C5 |
| 92 | Parent-suite satellite-provider existing pattern (PostgreSQL + Dapper + filesystem tile storage; verified directly) |
L1 | C6 |
| 93 | PostgreSQL 16 official documentation — Multicolumn Indexes + btree access method | L1 | C6 |
| 94 | PostGIS official documentation — GiST + KNN distance ordering + ST_DWithin | L1 | C6 |
| 95 | pgvector official documentation — HNSW index API (context7 + canonical README) | L1 | C6 |
| 96 | FAISS official documentation — IndexFlatL2 / IndexHNSWFlat / IndexIVFFlat (context7 indexed) | L1 | C6 |
| 97 | Postgres on NVIDIA Jetson Orin Nano — March 2026 Medium article + Coding Steve minimal-config guide | L2 | C6 |
| 98 | Slippy Map Tilenames — OpenStreetMap canonical specification (Web Mercator XYZ) | L1 | C6 |
| 99 | NVIDIA TensorRT 10.x official documentation portal (context7-indexed /nvidia/tensorrt) |
L1 | C7 |
| 100 | Microsoft ONNX Runtime official documentation (context7-indexed /microsoft/onnxruntime) + Jetson AI Lab community wheel index |
L1 | C7 |
| 101 | PyTorch official documentation (context7-indexed /pytorch/pytorch) + Jetson AI Lab PyTorch wheel availability for JetPack 6 |
L1 | C7 |
| 102 | Ultralytics YOLO26 benchmark suite on Jetson Orin Nano Super (April 2026) | L2 | C7 |
| 103 | LightGlue ONNX Runtime + TensorRT acceleration + FP8 ModelOpt quantization findings (Fabio Sim's Journal) | L2 | C7 |
| 104 | JetPack SDK release notes (NVIDIA official) — JetPack 6.0 / 6.1 / 6.2 version matrix | L1 | C7 |
| 105 | TensorRT-on-Jetson canonical install constraints (Ultralytics issue reports + NVIDIA forum) | L2 | C7 |
| 106 | ArduPilot Pymavlink (context7-indexed /ardupilot/pymavlink) — canonical Python MAVLink stack |
L1 | C8 |
| 107 | ArduPilot Plane Non-GPS Position Estimation + MAVProxy GPS Input module dev docs (GPS1_TYPE=14, EK3_SRC1_POSXY=3) |
L1 | C8 |
| 108 | pyubx2 (context7-indexed /semuconsulting/pyubx2) — canonical Python UBX/NMEA/RTCM3 parser |
L1 | C8 |
| 109 | u-blox NEO-M9N Integration Manual (UBX-19014286) + u-blox 8/M8 Receiver Description (UBX-13003221) — UBX-NAV-PVT canonical specification | L1 | C8 |
| 110 | iNav gps_ublox.c source (master) — UBX validation gates gpsMapFixType() requires flags & 0x01 = 1 AND fixType ∈ {2,3} |
L1 | C8 |
| 111 | iNav docs/development/msp/README.md (master) — MSP2_SENSOR_GPS (7939 / 0x1F03) canonical 36-byte payload spec |
L1 | C8 |
| 112 | Python MSP2 implementations: YAMSPy + INAV-Toolkit inav_msp.py (MSP V2 msp_v2_encode with CRC-8 DVB-S2) |
L2 | C8 |
| 113 | iNav src/main/msp/msp_protocol_v2_sensor.h (master) — MSP V2 sensor command-ID range (0x1F00-0x1FFF) |
L1 | C8 |
| 114 | FAISS write_index / read_index Python API + on-disk format + security warning (canonical wiki + context7) |
L1 | C10 |
| 115 | FAISS IndexHNSWFlat per-vector memory + on-disk file size formula (Discussions #3953 + C++ API docs) | L2 | C10 |
| 116 | Python atomic file write pattern (gocept blog + python-atomicwrites docs + Python Issue 8604) | L2 | C10 |
| 117 | Polygraphy polygraphy convert CLI for TensorRT INT8 engine build with calibration cache reuse (NVIDIA TensorRT repo + context7) |
L1 | C10 |
| 118 | Polygraphy Calibrator class API — algo defaults + dynamic-shapes calibration profile + warning behavior (NVIDIA TRT/Polygraphy SDK docs) |
L1 | C10 |
| 119 | trtexec CLI for one-off engine builds — INT8/FP16 flags + calibration cache support (NVIDIA TRT SDK docs) |
L1 | C10 |
| 120 | TensorRT INT8 calibration corpus size guidance (~500-1000 images) — Jetson AGX Orin (vendor engineering guide) | L2 | C10 |
| 121 | Direct TensorRT IBuilderConfig + IInt8EntropyCalibrator2 Python API (NVIDIA TRT Python API docs, cross-cite from C7 #105) |
L1 | C10 |