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.
Features
What you can actually do with each Vision Navigation mode. One short scenario per feature, with the hardware requirements and the expected behaviour. Use this page as a buying guide before procurement.GPS-denied hover
Mode:optical_flow
Hardware: downward camera + rangefinder.
What you get: the drone holds position in LOITER (ArduPilot) or
POSITION (PX4) with the GPS receiver effectively disabled. Drift
under a 60-second hover is typically below half a metre; well-tuned
setups stay in 20 cm.
Why it works: the EKF takes the OF velocity sample and the
rangefinder altitude and integrates them. Errors are bounded by the
scene’s texture quality (more features means tighter tracking) and
the rangefinder’s measurement accuracy.
Where it shines: indoor flight, under solid canopy, in canyons,
or anywhere a GPS receiver loses lock. The drone behaves like it
has GPS as long as the camera sees ground.
Rangefinder-free GPS-denied hover
Mode:optical_flow_degraded
Hardware: downward camera. No rangefinder needed.
What you get: the same hover behaviour as above but with looser
drift bounds (typically under a metre). The GCS marks the mode as
degraded and the estimator state shows as degraded whenever the
plugin is on the lower rungs of the scale ladder.
Why it works: the plugin pulls altitude from the FC’s barometer,
or from GPS altitude when the operator is outdoors with a 3D fix,
or from a static 1.5 m fallback. The quality multiplier means the
EKF auto-de-weights degraded scale sources.
Where it shines: scenarios where mounting a rangefinder is
impractical (very small frames, weight constraints, RF interference
with the LIDAR-Lite I2C bus). The mode is intentionally less
accurate; it is the GPS-denied path of last resort.
Indoor waypoint flight
Mode:optical_flow or vio_openvins.
Hardware: downward camera + rangefinder, or forward camera + NPU
board.
What you get: the drone flies a pre-planned waypoint mission
indoors. AUTO mode (ArduPilot) or AUTO MISSION (PX4) work as they
would outdoors with GPS. Waypoint accuracy is bounded by the EKF’s
position accuracy.
Why it works: the EKF integrates the OF or VIO velocity into a
local position. The flight controller’s waypoint navigator
consumes local position the same way it consumes a GPS position; it
does not care where the position came from.
Where it shines: warehouse autonomy, indoor inspection runs,
indoor SAR, anywhere a pre-planned route is needed under a roof.
Altitude flight (above rangefinder range)
Mode:vio_openvins or vio_vins_fusion.
Hardware: forward camera + NPU board.
What you get: the drone holds position at altitudes the
rangefinder cannot see (above 10 m on most consumer LIDAR; above
40 m on long-range LIDAR). The estimator does not need a ground
return because it sees enough static structure ahead.
Why it works: VIO computes a full 6-DOF pose from the camera and
IMU. The pose is metric (the IMU’s accelerometer provides scale),
which is why no rangefinder is needed.
Where it shines: structure inspection (pipelines, antennas,
bridges), urban GPS-denied flight (between tall buildings where GPS
is unreliable), high-altitude waypoint missions in low-GPS
environments.
Corridor and tunnel flight
Mode:vio_openvins or vio_vins_fusion.
Hardware: forward camera + NPU board.
What you get: the drone flies long, repetitive corridors (subway
tunnels, mine shafts, industrial pipe galleries) where the downward
camera has nothing useful to track and GPS is absent.
Why it works: VIO tracks structure ahead. As long as the
corridor has any texture (lighting fixtures, pipe joints, wall
markings), the estimator stays converged.
Where it shines: GPS-denied infrastructure inspection. Subway
tunnels with proper lighting are well within VIO’s envelope; mine
shafts need a head-mounted light. The estimator handles both.
Hybrid coverage (downward + forward)
Mode:hybrid_of_plus_vio.
Hardware: downward camera + forward camera + NPU board.
What you get: the EKF fuses OF samples from the downward camera
AND VIO samples from the forward camera. If one camera goes blind
(featureless ground, fast yaw, low light at the floor) the other
keeps the position estimate alive.
Why it works: the EKF takes both inputs and weights them by
their reported quality. When OF degrades, the EKF leans on VIO;
when VIO degrades, the EKF leans on OF. The plugin emits both
streams on separate MAVLink components.
Where it shines: mission profiles that mix indoor low-altitude
hover (OF strong) with corridor flight (VIO strong). The added cost
is a second camera and the CPU headroom for both estimators.
Over-ground flight (downward VIO)
Mode:vio_openvins or vio_vins_fusion with the camera
orientation set to downward.
Hardware: downward camera + NPU board. No rangefinder required;
VIO recovers metric scale from the IMU.
What you get: full 6-DOF pose over ground without a rangefinder,
at altitudes well past the rangefinder’s range, with a textured
surface continuously in view.
Why it works: ground texture is dense and reliable. Looking
straight down at a field, a road, or a pipeline gives the estimator
rich features at every frame. The IMU resolves the scale ambiguity
that monocular VIO would otherwise hit. Downward VIO is the natural
fit for the over-ground suites (agriculture spray, survey grid, SAR
search patterns, pipeline patrol) where the drone spends most of its
flight time looking at terrain.
Where it shines: agriculture (low-altitude spray missions over
crop rows), survey (grid flights over fields, roofs, construction
sites), SAR (large-area search above ground), pipeline patrol (linear
flight along buried or above-ground pipelines).
Heading-relative position over long flights
Mode:vio_openvins or vio_vins_fusion.
Hardware: forward camera + NPU board.
What you get: the drone maintains a position estimate referenced
to its starting orientation rather than to magnetic north. Useful
when the compass is unreliable (steel structures, large motors
nearby, polar regions) and the operator needs heading-relative
waypoints.
Why it works: VIO produces a full 6-DOF pose including yaw. When
the EKF source set is configured for EK3_SRC1_YAW = ExternalNav,
the EKF takes the VIO yaw instead of the compass.
Where it shines: missions where compass health is unreliable.
This includes most indoor flight, flight near power infrastructure,
and flight inside metal structures.
Auto-landing on uneven terrain
Mode:optical_flow (with rangefinder) or vio_openvins.
Hardware: as per the chosen mode.
What you get: the drone lands gently on terrain that GPS-only
flight would slam into. The rangefinder (OF mode) or the VIO
altitude (VIO mode) provides metre-precise altitude all the way
through touchdown.
Why it works: the EKF altitude is honest about the actual height
above the surface, not the height above an arbitrary GPS reference.
Landing controllers consume the EKF’s altitude directly.
Where it shines: rough field landings, deck landings on moving
platforms (where GPS altitude is noisy relative to the deck),
inspection missions that end on a structure-mounted pad.
Where to go next
- Mode comparison for the side-by-side decision table.
- Hardware for tested camera and rangefinder picks.
- Getting started for the install + first-flight walkthrough.