MAVLINKHUD

Overview

The STEER2SRV parameter group (often appearing as STEER2SRV_ or STR_) configures the Lateral Steering Controller for ArduRover and for ground steering in ArduPlane.

This library is responsible for maintaining the requested heading or following a navigation line by driving the steering servo or motor differential.

Key Concepts

1. Steering-to-Servo (STEER2SRV_...)

The core PID controller for ground steering.

  • STEER2SRV_P/I/D: Standard PID gains.
  • STEER2SRV_FF: Feedforward gain. Critical for Ackermann (car-like) steering.
  • STEER2SRV_TCONST: Time constant (seconds) for the response.

2. Speed Derating (STEER2SRV_DRTFCT)

At high speeds, a car becomes very sensitive to steering inputs.

  • Derating: The autopilot automatically reduces the maximum steering angle as speed increases to prevent roll-overs.
  • STEER2SRV_DRTSPD: The speed at which derating starts.

Parameter Breakdown

  • STEER2SRV_P: Proportional gain (steering stiffness).
  • STEER2SRV_DRTMIN: Minimum steering angle floor at high speed.

Integration Guide

  • Tuning: Use AUTOTUNE in ArduRover to set these gains.
  • Manual Setup: Ensure STEER2SRV_FF is set correctly so that the wheels turn to the correct angle to achieve the commanded turn rate at cruise speed.

Developer Notes

  • Library: libraries/APM_Control/AP_SteerController.cpp.

STEER2SRV_D

Default 0.005
Range 0 0.1

Steering D Gain (STEER2SRV_D)

Description

STEER2SRV_D stops the Rover from "Wagging its tail."

As the Rover reaches its target heading, it has momentum. D predicts that the error is closing and applies counter-steering to stop the turn smoothly.

STEER2SRV_DRTFCT

deg/m/s
Default 10
Range 0 50.0

Ground Steering Derating Factor (STEER2SRV_DRTFCT)

Description

STEER2SRV_DRTFCT is a safety parameter for fixed-wing aircraft with a steerable nose or tail wheel.

At very low speeds (taxiing), you need full steering authority to navigate around obstacles. However, at high speeds (takeoff roll), a tiny steering movement can cause the plane to veer wildly or even roll over. This parameter automatically "numbs" the steering wheel as the plane speeds up.

Tuning & Behavior

  • Default: 10 deg/m/s.
  • Requirement: Only takes effect when the speed exceeds STEER2SRV_DRTSPD.
  • Effect: For every additional meter per second of speed above the threshold, the maximum steering angle is reduced by this many degrees.
  • Recommendation: Increase this value if your plane is "twitchy" or difficult to keep straight on the runway during takeoff.

STEER2SRV_DRTMIN

cdeg
Default 4500
Range 0 4500

Minimum angle of wheel (STEER2SRV_DRTMIN)

Description

This parameter defines the minimum steering angle (in centi-degrees) that the vehicle will maintain even at maximum speed. While the steering controller generally reduces (derates) the steering angle as speed increases to prevent rollovers, this lower limit ensures the vehicle retains some ability to turn rather than being locked to straight-ahead at full throttle.

The Mathematics

$$ \theta\_{\text{limit}} = \max(\theta\_{\text{derated}}, \text{STEER2SRV\_DRTMIN}) $$

The Engineer's View

Defined in libraries/APM_Control/AP_SteerController.cpp.

  • Safety: Prevents "Loss of Steering" at high speed.

Tuning & Behavior

  • Default Value: 4500 cdeg (45 degrees). This is quite high and often means no derating floor is applied.
  • Adjustment: Decrease to e.g., 500 cdeg (5 degrees) if you want to enforce a very strict limit at high speed.

STEER2SRV_DRTSPD

m/s
Default 0
Range 0 50

Ground Steering Derating Start Speed (STEER2SRV_DRTSPD)

Description

STEER2SRV_DRTSPD defines the speed at which the autopilot begins to apply the "Speed-Based Numbing" for ground steering.

Below this speed, you have 100% steering authority. Above this speed, the authority is reduced based on STEER2SRV_DRTFCT.

Tuning & Behavior

  • Default: 0 (Derating starts immediately from 0 speed).
  • Recommendation: Set to your typical "Slow Taxi" speed (e.g. 2.0 or 3.0 m/s). This ensures you have full control for parking but automatic protection as soon as you start your takeoff run.

STEER2SRV_FF

Default 0
Range 0 5.0

Steering Feed-Forward (STEER2SRV_FF)

Description

STEER2SRV_FF is the "Guess" gain.

It tells the autopilot: "I know that to turn this fast, I need exactly this much steering angle." This provides the bulk of the steering command directly from the physics of the vehicle, leaving the P and I terms to only fix small errors.

Tuning & Behavior

  • Default Value: 0.
  • Recommendation: Tune this first. Adjust until the Rover follows a circular path at the correct radius for the given speed.

STEER2SRV_I

Default 0.2
Range 0 1.0

Steering I Gain (STEER2SRV_I)

Description

STEER2SRV_I handles "Drift" on Rovers.

If your Rover's wheels are slightly misaligned, or if you are driving on a slope, the Rover will naturally pull to one side. The I-term builds up steering pressure to cancel out this bias and keep the Rover driving straight.

STEER2SRV_P

Default 1.8
Range 0.1 5.0

Steering P Gain (STEER2SRV_P)

Description

STEER2SRV_P controls how aggressively a Rover turns to fix a heading error.

When the Rover is not pointed exactly at its target waypoint, the P-gain determines how much "Steering Angle" is applied immediately.

  • Too High: The Rover will "Snake" or weave back and forth down the path.
  • Too Low: The Rover will take a very long time to turn and may miss its waypoint.

STEER2SRV_TCONST

s
Default 0.75
Range 0.1 2.0

Steering Time Constant (STEER2SRV_TCONST)

Description

STEER2SRV_TCONST defines the "Responsiveness" of the Rover.

  • Small Value (0.2s): Very snappy, aggressive steering. Best for high-performance RC cars.
  • Large Value (1.5s): Smooth, lazy steering. Best for large, slow tractors or boats.