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.