AeroCoder Logo

Concepts

Flight Modes

Manual, assisted, and auto modes — what the pilot controls vs what the autopilot controls in each.

Flight modes define how the autopilot responds to user input and controls vehicle movement. They are grouped into manual (direct stick-to-actuator), assisted (pilot input with autopilot stabilization), and auto (fully autonomous) categories.

Modes can be implemented as PX4 internal modes running on the flight controller, or as PX4 external (ROS 2) modes running on a companion computer. From the perspective of a ground station, both are indistinguishable.

text

Multicopter flight modes
────────────────────────────────────────────────────────────────────────────
Mode              Category   Pilot controls         Autopilot controls
────────────────  ─────────  ─────────────────────  ──────────────────────
Manual/Acro       Manual     Roll/pitch/yaw rates   Nothing (direct PWM)
Stabilized        Assisted   Roll/pitch angle,      Level when sticks
                             yaw rate, throttle     centered
Altitude          Assisted   Roll/pitch, yaw rate   Altitude hold
Position          Assisted   Velocity (horiz),      Position + altitude
                             yaw rate, climb rate   hold
Hold              Auto       —                      GPS hold (loiter)
Mission           Auto       —                      Follows waypoints
Return (RTL)      Auto       —                      Returns to home
Land              Auto       —                      Lands at current pos
Takeoff           Auto       —                      Climbs to altitude
Orbit             Auto       (optional adjust)      Circles a point
Follow Me         Auto       —                      Follows GCS position
Offboard          Auto       —                      External setpoints

Fixed-wing modes

Manual: direct surface control, no stabilization. Stabilized: stick controls roll/pitch angle, autopilot holds. Altitude: autopilot holds altitude via TECS. Position: autopilot holds altitude + course via NPFG/TECS. Mission / Return / Land / Takeoff / Hold: same autonomous behavior adapted for fixed-wing flight profiles.

Each mode declares requirements — conditions that must be met to enter or remain in the mode. These are defined as flags in the FailsafeFlags uORB topic.

text

Mode requirements (FailsafeFlags)
────────────────────────────────────────────────────────────────────────────
Flag name                            Meaning (text)
───────────────────────────────────  ───────────────────────────────────────
mode_req_angular_velocity            Requires angular velocity estimate
mode_req_attitude                    Requires attitude estimate
mode_req_local_alt                   Requires local altitude estimate
mode_req_local_position              Requires local position estimate
mode_req_local_position_relaxed      Requires local position (relaxed)
mode_req_global_position             Requires global position (GPS fix)
mode_req_mission                     Requires a valid uploaded mission
mode_req_offboard_signal             Requires active offboard signal
mode_req_home_position               Requires known home position
mode_req_wind_and_flight_time        Reject if wind/time limits exceeded
  _compliance
mode_req_prevent_arming              Cannot arm while in this mode
mode_req_manual_control              Requires active RC/manual input
mode_req_other                       Other requirements (external modes)

What happens when a requirement is not met

If the mode requirement is not satisfied: arming is blocked while that mode is selected, the mode cannot be selected while armed, and if the requirement is lost while armed and in that mode the relevant failsafe triggers (e.g. RC loss triggers the failsafe configured for manual control loss).

External modes (ROS 2) should be considered when: you need easier development without embedded constraints, you want portability across PX4 versions (the external API is stable), or you need access to high-level Linux/ROS libraries. Internal modes are required when: there is no companion computer, low-latency/high-rate control is needed, or the mode is safety-critical (like Return).

← Previous

Controller Diagrams

Next →

Flight Tasks

Source: docs.px4.io ↗

On This Page

Fixed-wing modesWhat happens when a requirement is not met

© 2024 AeroCoder. All rights reserved

TwitterYouTubeInstagram