MAVLINKHUD

Overview

The ACRO parameter group governs the behavior of the Acro flight mode (also known as Rate Mode). In this mode, the pilot directly controls the angular velocity (rotation rate) of the vehicle. When the sticks are centered, the vehicle holds its current attitude (angle), not level.

  • For Copters: This is the primary mode for FPV racing, freestyle, and precise cinematic movements. It feels "locked in" and requires constant pilot input to hover.
  • For Planes: This mode acts like a "Fly-By-Wire Rate" mode. The control surfaces move to produce a commanded rotation rate. If you let go of the stick, the plane stops rotating and holds that bank/pitch angle (stabilized), counteracting turbulence.

Key Concepts

1. Rate Command (ACRO_RP_RATE / ACRO_ROLL_RATE)

This defines the responsiveness of the vehicle.

  • Definition: The maximum rotation rate (in degrees per second) achieved at full stick deflection.
  • Impact: Higher values make the vehicle snap and roll faster (snappier). Lower values make it smoother and more docile (cinematic).
  • Copter: ACRO_RP_RATE controls both Roll and Pitch rates. ACRO_Y_RATE controls Yaw.
  • Plane: ACRO_ROLL_RATE and ACRO_PITCH_RATE are often independent.

2. Expo (ACRO_EXPO)

Exponential (Expo) softens the stick response around the center without reducing the maximum rate at the endpoints.

  • Positive Expo: Makes fine adjustments near the center stick easier while still allowing fast flips at full stick.
  • Linear (0): Direct mapping of stick position to rate command.

3. Acro Trainer (ACRO_TRAINER)

A safety feature for learning Acro.

  • Function: It prevents the pilot from flipping the vehicle completely over. If the vehicle reaches a certain bank angle limit (e.g., 45 degrees), the autopilot overrides the rate command to stop further rotation.
  • Levels:
    • 0: Disabled (Full freedom).
    • 1: Leveling (Automatically returns to level when sticks are released).
    • 2: Limited (Stops at angle limits, holds attitude when released).

4. Heading Lock (ACRO_LOCKING)

Determines whether the autopilot aggressively fights to hold a specific heading/attitude when the sticks are centered.

  • Locked: The integrator builds up to correct any uncommanded drift (wind, CG shift).
  • Unlocked/Drift: The vehicle acts more like a raw mechanical machine, allowing slight drift which can feel more "natural" for airplanes in smooth turns.

Parameter Breakdown

Copter Specific

  • ACRO_RP_RATE: Maximum Roll/Pitch rate (e.g., 360 $deg/s$).
  • ACRO_Y_RATE: Maximum Yaw rate.
  • ACRO_RP_EXPO: Exponential curve for Roll/Pitch.
  • ACRO_THR_MID: Throttle stick position that corresponds to "Hover Throttle" (only used for Expo calculation on throttle).

Plane Specific

  • ACRO_ROLL_RATE: Maximum Roll rate (deg/s).
  • ACRO_PITCH_RATE: Maximum Pitch rate (deg/s).
  • ACRO_LOCKING: Enable/Disable strict attitude locking (1=Locked, 0=Rate Only).

Integration Guide

Tuning for FPV Racing (Copter)

  1. Set Rates: Start with ACRO_RP_RATE at 360 $deg/s$. Pros often use 600-900 $deg/s$.
  2. Add Expo: Increase ACRO_RP_EXPO (e.g., 0.1 to 0.3) to regain precision for small movements.
  3. Disable Trainer: Ensure ACRO_TRAINER is 0 for full flips and rolls.

Tuning for Smooth Flight (Plane)

  1. Check Mechanical Limits: Ensure ACRO_ROLL_RATE is achievable by your airframe. Commanding 360 $deg/s$ on a slow trainer will just saturate the servos (integral windup).
  2. Locking: Use ACRO_LOCKING = 1 for a "fly on rails" feel. Use 0 if you want the nose to drop naturally in turns.

Developer Notes

  • Code Locations:
    • Copter: ArduCopter/mode_acro.cpp - Implements the ModeAcro class.
    • Plane: ArduPlane/mode_acro.cpp - Implements the fixed-wing rate controller logic.
  • Logic: The pilot input is converted to a target_rate vector. This is fed into the PID controller (ATC_RAT_RLL, etc.) which compares target_rate vs gyro_rate to drive the motors/servos.

ACRO_BAL_PITCH

Default 1.0

Acro Balance Pitch (ACRO_BAL_PITCH)

Description

Determines the speed of pitch leveling in ACRO mode (when trainer mode is active).

Tuning & Behavior

  • Default Value: 1.0

ACRO_BAL_ROLL

Default 1.0

Acro Balance Roll (ACRO_BAL_ROLL)

Description

Determines the speed of roll leveling in ACRO mode (when trainer mode is active).

Tuning & Behavior

  • Default Value: 1.0

ACRO_EXPO

Default 0.3
Range 0 1.0

Acro Mode Exponential (ACRO_EXPO)

Description

ACRO_EXPO makes the drone feel less "twitchy" when the control sticks are near the center.

In ACRO mode, the drone rotates based on stick position. Without Expo (0), the response is linear—small movements result in immediate rotation. This can make steady flight difficult. Setting an Expo value (like 0.3) flattens the curve near the center, providing fine control for precision flying, while still allowing for full-speed flips and rolls when the stick is pushed to the edge.

Tuning & Behavior

  • 0: Linear response (Very sensitive).
  • 0.3 (Default): Standard aerobatic feel.
  • 0.5+: Very "soft" center stick, very aggressive at the edges.
  • Recommendation: Start at 0.3 and increase if you find yourself accidentally over-correcting during smooth flight.

ACRO_LOCKING

Default 0
Range 0 1

Acro Mode Attitude Locking (ACRO_LOCKING)

Description

ACRO_LOCKING (also known as "Stick Locking") helps the drone stay exactly where you point it.

ACRO_OPTIONS

Default 0

Acro mode options (ACRO_OPTIONS)

Description

Bitmask for configuring specific Acro mode behaviors like Air-mode.

Tuning & Behavior

  • Default Value: 0
  • Bitmask:
    • 0: Air-mode (Enables mixer at all times)
    • 1: Rate Loop Only (Disables angle stabilization completely)

ACRO_PITCH_RATE

deg/s
Default 180
Range 10 500

ACRO mode pitch rate (ACRO_PITCH_RATE)

Description

Maximum angular velocity for pitch in Plane ACRO mode.

Tuning & Behavior

  • Default Value: 180 $deg/s$
  • Range: 10 to 500 $deg/s$

ACRO_ROLL_RATE

deg/s
Default 180
Range 10 500

ACRO mode roll rate (ACRO_ROLL_RATE)

Description

Maximum angular velocity for roll in Plane ACRO mode.

Tuning & Behavior

  • Default Value: 180 $deg/s$
  • Range: 10 to 500 $deg/s$

ACRO_RP_EXPO

Default 0.3
Range -0.5 1.0

ACRO roll and pitch expo (ACRO_RP_EXPO)

Description

Exponential curve applied to roll and pitch inputs in ACRO mode, providing fine control near the center while maintaining high rates at the stick extremes.

Tuning & Behavior

  • Default Value: 0.3
  • Range: -0.5 to 1.0
  • Higher values make the center of the stick less sensitive.

ACRO_RP_P

Default 4.5
Range 1.0 10.0

Acro Mode Roll/Pitch Gain (ACRO_RP_P)

Description

ACRO_RP_P defines how fast the drone flips and rolls when in Acro mode.

A higher value increases the rotation rate for a given stick deflection. This is the primary parameter for adjusting the "Feel" of an FPV racing or freestyle drone.

Tuning & Behavior

  • Default: 4.5.
  • Usage: For smooth cinematic flight in Acro, use a lower value (2.0 to 3.0). For aggressive freestyle, use a higher value (6.0+).
  • Note: This is functionally similar to "Rates" in Betaflight.

ACRO_RP_RATE

deg/s
Default 360
Range 1 360

ACRO roll and pitch rate (ACRO_RP_RATE)

Description

Maximum angular velocity achievable in roll and pitch when in ACRO mode.

Tuning & Behavior

  • Default Value: 360 $deg/s$
  • Range: 1 to 360 $deg/s$

ACRO_RP_RATE_TC

s
Default 0.1
Range 0 1

ACRO roll and pitch rate time constant (ACRO_RP_RATE_TC)

Description

Smoothing factor for roll and pitch rate commands in ACRO mode.

Tuning & Behavior

  • Default Value: 0.1 s
  • Range: 0 to 1 s
  • Values: 0.5:Very Soft, 0.2:Soft, 0.15:Medium, 0.1:Crisp, 0.05:Very Crisp

ACRO_THR_MID

Default 0
Range 0 1

Acro Thr Mid (ACRO_THR_MID)

Description

Defines the mid-throttle position specific to ACRO mode.

Tuning & Behavior

  • Default Value: 0
  • Range: 0 1

ACRO_TRAINER

Default 2
Range 0 2

ACRO trainer (ACRO_TRAINER)

Description

Assistance mode for ACRO flight, allowing for automatic leveling or angle limiting.

Tuning & Behavior

  • Default Value: 2 (Limited)
  • Values: 0:Disabled, 1:Leveling, 2:Limited

ACRO_TURN_RATE

deg/s
Default 0
Range 10 500

ACRO mode turn rate (ACRO_TURN_RATE)

Description

Maximum rate of heading change in ACRO mode.

Tuning & Behavior

  • Default Value: 0 (Plane), 180 (Rover)
  • Range: 10 to 500 $deg/s$

ACRO_YAW_P

Default 4.5
Range 1.0 10.0

Acro Mode Yaw Gain (ACRO_YAW_P)

Description

ACRO_YAW_P defines the "Sensitivity" of the yaw stick while flying in Acro mode.

In Acro mode, your sticks do not control the drone's angle; they control its rate of rotation. This parameter sets the multiplier for that command. A higher value means the drone will spin faster for the same amount of stick movement.

Tuning & Behavior

  • Default: 4.5.
  • Effect of Increasing: The drone feels "faster" and more responsive on the yaw axis.
  • Recommendation: If you find the drone rotates too fast to control precisely during stunts, decrease this value to 3.0 or 2.0.

ACRO_YAW_RATE

deg/s
Default 0
Range 0 500

ACRO mode yaw rate (ACRO_YAW_RATE)

Description

Maximum angular velocity for yaw in Plane ACRO mode.

Tuning & Behavior

  • Default Value: 0 (Rudder directly controlled by stick)
  • Range: 0 to 500 $deg/s$
  • Requires YAW_RATE_ENABLE = 1 to take effect.

ACRO_Y_EXPO

Default 0
Range -0.5 1.0

ACRO yaw expo (ACRO_Y_EXPO)

Description

Exponential curve applied to yaw inputs in ACRO mode.

Tuning & Behavior

  • Default Value: 0
  • Range: -0.5 to 1.0

ACRO_Y_RATE

deg/s
Default 200
Range 1 360

ACRO yaw rate (ACRO_Y_RATE)

Description

Maximum angular velocity achievable in yaw when in ACRO mode.

Tuning & Behavior

  • Default Value: 200 $deg/s$
  • Range: 1 to 360 $deg/s$

ACRO_Y_RATE_TC

s
Default 0.1
Range 0 1

ACRO yaw rate time constant (ACRO_Y_RATE_TC)

Description

Smoothing factor for yaw rate commands in ACRO mode.

Tuning & Behavior

  • Default Value: 0.1 s
  • Range: 0 to 1 s
  • Values: 0.5:Very Soft, 0.2:Soft, 0.15:Medium, 0.1:Crisp, 0.05:Very Crisp