Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.altnautica.com/llms.txt

Use this file to discover all available pages before exploring further.

Getting Started with Vision Navigation

If this is your first time flying GPS-denied with an ADOS drone, this page walks the shortest path from a fresh drone to a hovering one. You will pick a mode, wire the hardware, install the plugin, and arm. The full reference docs live one click away under each section. Skip ahead if you already know what you want.

1. Pick a mode

The plugin runs one of six estimator modes. The right mode depends on what hardware you have and where you plan to fly.
1

Have a downward camera AND a rangefinder?

Use optical_flow. The default GPS-denied path. Low-altitude hover and waypoint flight, indoors and out.
2

Have a downward camera but NO rangefinder?

Use optical_flow_degraded. Same tracker, scale comes from a baro or GPS fallback. Reduced accuracy; the GCS labels the estimator as degraded.
3

Have a forward camera plus an NPU board?

Use vio_openvins or vio_vins_fusion. Full 6-DOF pose. Works at altitude and in scenes the downward camera cannot track.
4

Have two cameras and CPU headroom?

Use hybrid_of_plus_vio. Both estimators feed the EKF in parallel. Most robust at the cost of compute.
See the full Modes page for the per-mode hardware matrix and pre-arm checks.

2. Wire the hardware

The bare minimum:
  • A companion computer running the ADOS Drone Agent (Pi 4B, Pi 5, Radxa ROCK 5C Lite, or any other supported board).
  • A camera mounted in the direction the chosen mode needs. Optical flow is always downward. VIO accepts either forward (indoor / corridor) or downward (over-ground: agriculture, survey, SAR, pipeline patrol). Hybrid uses both. The wizard surfaces an explicit orientation picker under VIO and hybrid.
  • A rangefinder when the chosen mode requires one (optical_flow and hybrid_of_plus_vio need one; the other modes do not).
  • A flight controller running ArduPilot 4.5 or newer, PX4 1.14 or newer, or iNav 7.0 or newer. The plugin auto-detects which. Betaflight is not supported; it has no position estimator to consume flow or VIO samples.
The Hardware page lists tested camera and rangefinder combinations.

3. Install the plugin

From Mission Control, open the drone’s detail panel, switch to the Plugins tab, and click Install. Pick the vision-nav.adosplug archive. Walk the six-stage dialog; grant the permissions; enable the plugin. Full walkthrough: Install on a drone.

4. Calibrate (VIO modes only)

If you picked a VIO mode the plugin needs camera intrinsics, a camera-IMU extrinsics file, and a static time offset between the two clocks. The GCS sensors card has a Calibrate CTA that opens a seven-step guided wizard:
  1. Print the bundled AprilGrid PDF at the documented scale.
  2. Open the Vision Nav tab and tap Calibrate.
  3. Walk the wizard. Captures 20 to 30 frames at varied poses, a roughly 30-second IMU motion segment, then submits to the agent. Takes 3 to 5 minutes the first time.
  4. The verify step shows the new intrinsics next to any previously loaded ones. Apply persists the result; the live estimator picks it up on the next tick.
OF modes can skip this step. Default intrinsics are good enough for the OF tracker. Operators with an existing Kalibr camchain.yaml can upload it directly without running the wizard; the Calibration page documents the upload path. Full walkthrough: Calibration. Technical reference: Calibration math.

5. Pre-arm and fly

Open the Vision Nav tab on the drone detail panel. The pre-arm card shows a check row per mode-relevant input. Green means the row is ready; yellow means it is initializing; red means it is blocking. When every row is green:
  1. Confirm the flight controller’s source-set parameters match the selected mode. For ArduPilot this is EK3_SRC1_VELXY, EK3_SRC1_POSXY, EK3_SRC1_YAW (the GCS source-set switcher handles the runtime flip). For PX4 it is EKF2_OF_CTRL or EKF2_EV_CTRL depending on mode (PX4 needs a parameter write + EKF restart; runtime switching is not supported).
  2. Arm. The drone takes off into the EKF state the plugin feeds.
If anything goes wrong mid-flight, the Troubleshooting page has decision trees for the four common failure families.

6. What’s next

  • Modes for a deeper read on the six estimators and the pre-arm matrix.
  • How it works for a system-level walkthrough of the camera-to-EKF chain.
  • Fallback methods for what happens when a sensor degrades or a mode fails.
  • Features for the use cases each mode unlocks.
  • Mode comparison for a side-by-side decision table.
  • FAQ for the questions that come up every time.