MAVLINKHUD

Overview

The NAVL parameter group configures the L1 Navigation Controller. This is the core horizontal path-following algorithm used by ArduPlane and ArduRover.

The L1 controller is responsible for steering the vehicle to follow a straight line between waypoints or to maintain a perfect orbit during a loiter. It is known for its ability to handle high-speed flight and varying ground speeds (wind) with high precision.

Key Concepts

1. The L1 Distance

The algorithm "looks ahead" along the path to a point at a specific distance (the L1 distance). It then calculates the lateral acceleration required to steer the vehicle toward that look-ahead point.

  • NAVL1_PERIOD: This is the primary tuning parameter. It defines the "Time" it should take to correct a path error.
    • Higher Period (e.g., 25s): Softer, lazier tracking. Good for stable, slow planes.
    • Lower Period (e.g., 15s): Aggressive, sharp tracking. Required for fast planes or rovers that need to stick to a tight path.

2. Damping (NAVL1_DAMPING)

Adjusts the "settling" behavior of the controller.

  • 0.75 (Default): Standard critical damping.
  • Increase: If the vehicle overshoots the line and then oscillates.

Parameter Breakdown

  • NAVL1_PERIOD: Path following aggression (seconds).
  • NAVL1_XTRACK_I: Integrator gain for correcting persistent crosstrack errors (e.g., in a strong crosswind).
  • NAVL1_LIM_BANK: Max bank angle used for navigation.

Integration Guide

  • Rover Tuning: Rovers typically require a much lower NAVL1_PERIOD (e.g., 5-8s) than planes to handle sharp corners.
  • Plane Tuning: If your plane "S-turns" (weaves) back and forth across the mission line, increase the NAVL1_PERIOD.

Developer Notes

  • Library: libraries/AP_L1_Control.
  • Algorithm: Nonlinear guidance law that produces a centripetal acceleration command.