Flight modes

The flight mode decides who flies and how: the pilot through the sticks, the autopilot holding what the pilot asks, or the autopilot on its own. CORV GCS shows the current mode in the command bar, coloured by kind, and switches it from the list next to it; the behaviour of each mode is the autopilot’s, described in the ArduPilot documentation linked below for every one.

Colour in the command bar Kind
■ yellow Manual — the pilot flies, the autopilot at most stabilises
■ cyan Assisted — the autopilot holds height, position or attitude while the pilot steers (also every mode not listed otherwise)
■ green Automatic — mission, autotune, brake
■ orange Return / land — RTL, Smart RTL, Auto RTL, land, QRTL, QLAND, a sub’s SURFACE

A mode change is a request: the autopilot refuses a mode it cannot fly — most often one that needs a position when it has none — and the list goes back to the current mode with the error. Which switch position selects which mode on the radio is set in SETUP → VEHICLE SETUP → FLIGHT MODES (mode channel and six slots, read from and written to the vehicle) — ArduPilot: flight mode configuration.

Position and the modes that need it

ArduPilot divides its modes into those that need a valid position — a GPS fix, or another position source feeding the EKF — and those that do not. Without a position, only the second group can be flown. The tables below give the requirement as the ArduPilot documentation states it (Copter flight modes, Plane flight modes, Sub modes); “see page” where that list does not.

This is why the GCS has a relative navigation mode: with no GPS at all the autopilot reports no position, and what can still be shown is a position the GCS estimates. Flying the position modes without GPS needs a position source on the vehicle — optical flow, visual odometry, a DVL or USBL on a sub — non-GPS navigation, EKF sources.

Copter

# Mode Colour Needs position ArduPilot
0 STABILIZE yellow no Stabilize
1 ACRO yellow no Acro
2 ALT_HOLD cyan no Alt Hold
3 AUTO green yes Auto
4 GUIDED cyan yes Guided
5 LOITER cyan yes Loiter
6 RTL orange yes RTL
7 CIRCLE cyan yes Circle
9 LAND orange no Land
11 DRIFT cyan yes Drift
13 SPORT cyan no Sport
14 FLIP cyan see page Flip
15 AUTOTUNE green see page AutoTune
16 POSHOLD cyan yes PosHold
17 BRAKE green see page Brake
18 THROW cyan yes Throw
19 AVOID_ADSB cyan see page ADS-B avoidance
20 GUIDED_NOGPS cyan no — attitude targets Guided
21 SMART_RTL orange yes Smart RTL
22 FLOWHOLD cyan optical flow instead FlowHold
23 FOLLOW cyan yes Follow
24 ZIGZAG cyan yes ZigZag
25 SYSTEMID cyan no System ID
26 AUTOROTATE cyan yes (heli) Autorotation
27 AUTO_RTL orange yes Auto — the mission’s landing sequence
28 TURTLE cyan no Turtle — flips a crashed multirotor back over

The command bar has shortcut buttons for RTL, AUTO and LAND, and TAKEOFF (GUIDED take-off) — see Flight screen.

Plane and QuadPlane

# Mode Colour Needs GPS ArduPilot
0 MANUAL yellow no Manual
1 CIRCLE cyan yes Circle
2 STABILIZE yellow no Stabilize
3 TRAINING yellow no Training
4 ACRO yellow no Acro
5 FBWA cyan no FBWA
6 FBWB cyan no FBWB
7 CRUISE cyan see page Cruise
8 AUTOTUNE green no AutoTune
10 AUTO green yes Auto
11 RTL orange yes RTL
12 LOITER cyan yes Loiter
13 TAKEOFF cyan yes Takeoff
14 AVOID_ADSB cyan see page ADS-B avoidance
15 GUIDED cyan yes Guided
17 QSTABILIZE cyan see page QStabilize
18 QHOVER cyan see page QHover
19 QLOITER cyan see page QLoiter
20 QLAND orange see page QLand
21 QRTL orange see page QRTL
22 QAUTOTUNE cyan see page QAutoTune
23 QACRO cyan see page QAcro
24 THERMAL cyan yes Thermal
25 LOITER_ALT_QLAND cyan see page QuadPlane modes
26 AUTOLAND cyan yes Autoland

Without GPS a plane can still be flown in the manual and stabilised modes; the GCS can then only estimate its position from airspeed and heading — see dead reckoning. Measured in SITL, an ArduPlane that never had a GPS does not start its EKF at all (DCM only), as also discussed on the ArduPilot forum.

Rover and boat

# Mode Colour ArduPilot
0 MANUAL yellow Manual
1 ACRO yellow Acro
3 STEERING cyan Steering
4 HOLD cyan Hold
5 LOITER cyan Loiter (boats)
6 FOLLOW cyan Follow
7 SIMPLE cyan Simple
8 DOCK cyan Dock
9 CIRCLE cyan Circle
10 AUTO green Auto
11 RTL orange RTL
12 SMART_RTL orange Smart RTL
15 GUIDED cyan Guided

The Rover control modes page gives the requirements of each.

Sub (ROV)

# Mode Colour Needs ArduPilot
0 STABILIZE yellow — Sub modes
1 ACRO yellow — Sub modes
2 ALT_HOLD cyan depth sensor Sub modes
3 AUTO green position and depth Sub modes
4 GUIDED cyan position and depth Sub modes
7 CIRCLE cyan position and depth Sub modes
9 SURFACE orange — Sub modes
16 POSHOLD cyan position and depth Sub modes
19 MANUAL yellow — Sub modes
20 MOTOR_DETECT cyan — Sub modes — finds each thruster’s direction
21 SURFTRAK cyan rangefinder Sub modes — holds the distance above the bottom

ALT_HOLD is depth hold. A sub gets a position from a DVL or an underwater positioning system (USBL), not from GPS; without one only MANUAL, STABILIZE, ACRO, ALT_HOLD, SURFACE and (with a downward rangefinder) SURFTRAK are available. A real BlueROV2 with a USBL, replayed in the GCS, flew POSHOLD at 20 m — see a real dive. ArduSub acts when the pilot input from its GCS stops for a few seconds (pilot control failsafe) — in the simulator runs for this guide it disarmed the vehicle; the other sub failsafes are on the failsafes page.

INAV and Betaflight

Over MSP the GCS resolves INAV’s active modes to one name: MANUAL, ACRO, ANGLE, HORIZON, ALTHOLD, POSHOLD, COURSE HOLD, CRUISE, WAYPOINT, RTH, FAILSAFE. They are selected on the radio, as INAV expects; the INAV navigation modes page describes them. Betaflight has no navigation modes.