Back to Extensions
AIAltnauticaGPL-3.0-or-laterv0.3.3

ADOS Vision Navigation

GPS-denied navigation. Optical flow (downward camera) and visual-inertial odometry (forward or downward camera). Supports ArduPilot, PX4, and iNav 7.0+ on USB UVC or CSI cameras.

Overview

Lets the drone hold position when GPS is unreliable — indoors, under bridges, in urban canyons. A camera and the IMU feed the flight controller a 30 Hz position estimate over MAVLink, so position-hold, loiter, and missions keep working unchanged.

Six modes: optical flow with a rangefinder (fastest, low altitude on textured ground), without one (barometer height, drifts above 5 m), OpenVINS VIO (short flights), VINS-Fusion VIO (long loops with revisits), Hybrid (both, ~1.5× CPU), or Off.

Every 250 ms it checks itself. If features drop or drift grows it steps down — VIO → optical flow → barometer hover → land — and warns the GCS at each step.

Auto-detects ArduPilot 4.5+, PX4 1.14+, and iNav 7.0+. Global-shutter USB camera preferred for VIO; rolling-shutter or CSI fine for optical flow. VIO needs a one-time ~10 min camera-IMU calibration. Watch feature count and drift on the Vision Nav panel — drops = lost scene, growth = re-init.

What it does

  • Optical flow with or without rangefinder (Lucas-Kanade tracker)
  • Monocular VIO via OpenVINS or VINS-Fusion
  • Hybrid mode: optical flow and VIO running side by side
  • Auto-detect ArduPilot, PX4, or iNav and emit appropriate MAVLink
  • Per-mode pre-arm checks with degradation fallback ladder
  • Live telemetry: feature count, drift, sync offset, mode state

Skills

Flight behaviors this extension adds to the cockpit Skill Bar, each bindable to a hotkey or gamepad button.

Engage
navigationToggleConfirms

Capabilities

The capabilities this extension requests. You approve them at install time; the sandbox denies anything not listed here.

Vehicle · agent

vision.frame.readhardware.uarthardware.i2ctelemetry.extendevent.publishevent.subscribemavlink.readmavlink.writemavlink.component.peripheralmavlink.component.vioestimator.pose.injectprocess.spawn

Ground control · Mission Control

ui.slot.node-detail-tabui.slot.flight-skillui.slot.notification-channeltelemetry.subscribe.navigationcommand.send

Hardware requirements

Camera
USB UVC global-shutter or rolling-shutter, or CSI via V4L2
Flight controller
ArduPilot 4.5+, PX4 1.14+, iNav 7.0+
Companion boards
cm4cm5rk3582rk3588s2rk3576rpi5pi-zero-2w

Resource impact

Forecast footprint on the companion computer. The supervisor enforces the hard limits.

80%
CPU peak
512MB
Memory
30Hz
Output rate
24
Processes
5s
Startup

Telemetry

Live channels this extension publishes to Mission Control.

navigation.rangefinder_typenavigation.estimator_statenavigation.feature_countnavigation.drift_mnavigation.sync_offset_msnavigation.mode

What it adds to Mission Control

Node tabs

  • Vision Nav

Notifications

  • Vision navigation degraded

Install

Open Mission Control, then use the Extensions tab on a compatible node to browse the registry and install this extension. Mission Control installs the signed archive on the node you select; it activates after the signature is confirmed and the requested capabilities are approved.

Supported boards

cm4cm5rk3582rk3588s2rk3576rpi5pi-zero-2w

Third-party software

This extension bundles upstream open-source components. Each component retains its original license and copyright. Source code links below.

Version history

v0.3.3

LatestJul 19, 2026Vendor binary

The published archive now carries the cross-compiled Rust agent binary, so vision navigation installs as a complete extension. Adds an Engage cockpit Skill that arms and disarms vision navigation from the Skill Bar. No change to the estimator behavior.

Agent min
0.99.125
GCS min
0.56.0

v0.2.7

May 19, 2026Vendor binary

Layman-tone four-paragraph description; resource impact card advertises 30 Hz pose output instead of CPU peak; structural drops of MAVLink message names, MSCKF / bundle-adjustment labels, explicit threshold numerics, and calib path so the modal reads in ~30 seconds without losing operator-relevant detail.

Agent min
0.36.13
GCS min
0.12.0

v0.2.6

May 19, 2026Vendor binary

Tighter description copy: the ten-paragraph how-it-works narrative is condensed to five tighter paragraphs that preserve the same coverage (what + how, six modes, fallback ladder thresholds, firmware and hardware preferences, calibration and in-flight telemetry) at roughly half the rendered length. No runtime behavior change.

Agent min
0.13.0
GCS min
0.12.0

v0.2.5

May 19, 2026Vendor binary

description_long rewritten as a ten-paragraph how-it-works narrative covering the pipeline, optical-flow and VIO mechanics, hybrid cross-check, fallback-ladder thresholds, firmware emission, hardware preferences, calibration wizard contents, and the in-flight telemetry to monitor. No runtime behavior change.

Agent min
0.13.0
GCS min
0.12.0

v0.2.4

May 19, 2026Vendor binary

Description copy enriched with mode-by-mode detail, degradation ladder, firmware emission specifics, and calibration wizard walkthrough so the install modal renders a substantive product page rather than a tagline. No runtime behavior change.

Agent min
0.13.0
GCS min
0.12.0

v0.2.3

May 19, 2026Vendor binary

Manifest enrichment: adds long-form description, feature list, hardware requirements, resource impact estimates, required FC parameters, telemetry field list, and a documentation URL for the install-modal pre-install summary. No runtime behavior change.

Agent min
0.13.0
GCS min
0.12.0

v0.2.2

May 18, 2026Vendor binary

Adds VIO modes backed by signed vendor binaries. Optical-flow modes remain pure-Python.

Agent min
0.13.0
GCS min
0.12.0
Get Early Access
ADOS Vision Navigation — Altnautica