MAVLINKHUD

Overview

The LEVEL parameter group (specifically LEVEL_ROLL_LIMIT) configures the maximum bank angle during critical flight phases for ArduPlane.

Key Concepts

1. Ground Clearance

During Auto-Takeoff and the Flare portion of a landing, the plane is very close to the runway. Banking too steeply during these moments can cause a wingtip to strike the ground, resulting in a cartwheel crash.

  • LEVEL_ROLL_LIMIT: Limits the bank angle (degrees) when altitude is very low (< 5 meters).
    • Recommendation: Keep small (e.g., 5-10 degrees).

Developer Notes

  • Library: ArduPlane/mode_landing.cpp.
  • Context: Only relevant for fixed-wing aircraft.

LEVEL_ROLL_LIMIT

deg
Default 5
Range 0 45

Level flight roll limit (LEVEL_ROLL_LIMIT)

Description

This safety parameter defines the maximum allowable roll (bank) angle during critical near-ground flight phases, specifically Auto-Takeoff and Landing (during the flare). By limiting the bank angle, it prevents the wingtips from striking the ground/runway, which could cause a crash.

The Mathematics

During takeoff (below a certain altitude) and landing flare:

$$ |\phi\_{demand}| \le \text{LEVEL\_ROLL\_LIMIT} $$

The Engineer's View

Defined in ArduPlane/Parameters.cpp.

  • Takeoff: Used when altitude is < 5m or during the initial climb.
  • Landing: Used during the FLARE stage of an auto-landing.
  • Zero Logic: If set to 0, it completely disables the heading hold controller during these phases, which effectively means the roll is not actively controlled to level (dangerous).

Tuning & Behavior

  • Default Value: 5 deg
  • Range: 0 - 45
  • Recommended: Keep small (5-10 deg) to ensure wing clearance.
  • Warning: Do not set to 0 unless you understand the implications of disabling heading hold during takeoff/landing.