MAVLINKHUD

Acro Mode (Copter)

Executive Summary

Acro (Acrobatic) mode is the purest form of flight control, providing direct "Rate" control over the vehicle's angular velocity. Unlike Stabilize or Loiter, the stick inputs command rotation speed (degrees per second), not an angle or position. It is the primary mode for FPV racing and freestyle flying.

Theory & Concepts

1. Rate Control vs. Angle Control

  • Angle Control (Stabilize): If you push the stick 50% Right, the drone tilts 22 degrees Right and stops. When you let go, it levels itself.
  • Rate Control (Acro): If you push the stick 50% Right, the drone starts rolling Right at 180 deg/s and continues rolling until you center the stick. When you let go, it stays at whatever angle it was at.
  • Analogy: Angle control is like a steering wheel (turn 10 degrees, car turns 10 degrees). Rate control is like a joystick in a fighter jet (push right to roll, center to stop rolling).

2. Body Frame Physics

In Acro mode, rotation is calculated in the Body Frame.

  • The Effect: If you are pitched 90 degrees forward (nose down) and you apply Yaw, the drone spins around its own vertical axis, which looks like a "Roll" relative to the ground.
  • Why? This is essential for 3D maneuvers like "Power Loops" and "Matty Flips," where the pilot needs the drone to rotate relative to its own cockpit, not the Earth's horizon.

Hardware Dependency Matrix

Acro is the most robust flight mode because it requires the absolute minimum sensor set.

Sensor Requirement Code Implementation Notes
Gyroscope CRITICAL The core rate controller relies entirely on gyro feedback to maintain the requested angular velocity.
Accelerometer OPTIONAL Only required if ACRO_TRAINER is enabled (for leveling) or for "AirMode" throttle boosting (which uses vertical acceleration estimates). Pure rate mode works without it.
GPS NONE Completely ignored.
Compass NONE Heading is maintained via gyro integration (drift is possible over long periods).
Barometer OPTIONAL Used for altitude stabilization if throttle is centered, but throttle is largely manual.

Control Architecture (Engineer's View)

Acro operates in the Body Frame. This is a crucial distinction from "Earth Frame" modes like Stabilize or Sport.

  1. Input Shaper:
    • Pilot sticks (normalized -1 to 1) are converted to target Angular Rates (deg/s).
    • Code Path: get_pilot_desired_angle_rates().
    • Expo & Super Rates: The input is shaped by ACRO_RP_EXPO and ACRO_RP_RATE (or ATC_INPUT_TC) to define the feel.
  2. Acro Trainer (Virtual Flybar):
    • If ACRO_TRAINER is enabled, the code calculates a "Leveling Rate" proportional to the current lean angle error.
    • This leveling rate is mixed with the pilot's request.
    • Logic: As you move the stick further, the pilot's rate request overrides the leveling request. At center stick, the leveling request dominates, bringing the vehicle flat.
  3. Rate Controller:
    • The target rates are fed into the PID loop (ATC_RAT_RLL_P/I/D, etc.).
    • The PID controller drives the motors to match the gyro rate to the target rate.

Pilot Interaction

  • Stick Center: The vehicle maintains its current attitude (it stays tilted). If ACRO_TRAINER is on, it slowly levels out.
  • Stick Deflection: The vehicle rotates at a speed proportional to stick deflection. Full stick = ACRO_RP_RATE (e.g., 360 deg/s).
  • Throttle: Manual control. However, if "AirMode" is active (via ATC_THR_MIX_MAN or ACRO_OPTIONS), the mixer will prioritize attitude control over throttle, potentially spooling up motors even at zero throttle to maintain stability during maneuvers.

Failsafe Logic

Acro is often the target of a failsafe, rather than having failsafes of its own.

  • GPS/Compass Loss: No effect. Acro continues to function perfectly.
  • GCS Failsafe: Standard throttle failsafe applies (usually RTL or Land).
  • Crash Detection: If the crash check logic detects a crash (high accel, no rotation), it may disarm the vehicle to prevent damage.

Key Parameters

Parameter Default Description
ACRO_RP_RATE 360 Maximum rotation rate (deg/s) for Roll/Pitch at full stick.
ACRO_Y_RATE 202.5 Maximum rotation rate (deg/s) for Yaw.
ACRO_TRAINER 2 0=Disabled (Pure Rate), 1=Leveling, 2=Leveling & Limited (prevents flipping).
ACRO_BAL_ROLL 1.0 "Virtual Flybar" strength. Higher values make it level faster when sticks are released (if Trainer is active).
ATC_THR_MIX_MAN 0.1 Defines how much authority the attitude controller has over the throttle. Higher values (0.5+) create "AirMode" behavior for hang-time stability.

Tuning & Troubleshooting

Symptom Probable Cause Corrective Action
Bounce-back after Flip D-Term too low or P-Term too high. Increase ATC_RAT_RLL_D / ATC_RAT_PIT_D slightly to dampen the stop.
Sluggish Response Low Rate or high Filtering. Increase ACRO_RP_RATE. Check INS_GYRO_FILTER (ensure it's not too low, e.g., < 40Hz).
Drift when Level Accelerometer trim or Gyro bias. Perform Accel Calibration (AHRS_TRIM_X/Y). In pure Acro, some drift is expected over time.
Wobble on Descent Prop wash. Increase ATC_THR_MIX_MAN (AirMode) to keep PID loops active at low throttle.

Source Code Reference

Practical Guide: Unlocking FPV Potential

The defaults are safe for a DJI clone, but terrible for a 5" racer.

1. Enable True Acro

  • Set ACRO_TRAINER = 0.
  • The default (2) limits your roll angle and auto-levels the drone. This prevents flips and rolls. Disable it immediately for freestyle.

2. Increase the Rates

  • Parameter: ACRO_RP_RATE
  • Default: 360 deg/s.
  • FPV Standard: 667 (approx Betaflight 1.0) or 900.
  • Max: 1080 deg/s.

3. Enable AirMode

  • Parameter: ATC_THR_MIX_MAN
  • Default: 0.1 (10% authority).
  • Tuning: Increase to 0.5 (50%).
  • Why? When you chop the throttle to zero to dive a building, the PID loop needs authority to keep the drone stable. Without this, the drone tumbles.

Training with AR

Learning Acro mode can be disorienting because you have no self-leveling reference. Pilots often lose track of their horizon or altitude.

Using Supported AR Glasses with MAVLink HUD allows you to keep a virtual artificial horizon and altitude tape in your field of view while maintaining line-of-sight with the drone. This "Training Wheels" approach significantly reduces crash risk during the learning phase by giving you an objective reference for "Level".