Feed-forward Steering Controller - Two-wheelers
Feedforward controller for two wheelers consisting of two cascaded controllers. The Feedforward control to provide demand lean to follow the path and the Feedback controller to follow the demand lean through steering output.
This controller is used in case of simulating two-wheelers to follow a user provided demand path profile.
The controller employs a cascaded Feedforward and feedback algorithm to follow the specified path using steering angle as the control variable. For more details on the algorithm, please look at the Path following control for two-wheelers section.
[FF_STEER_CONTROLLER]
TAG = 'FEEDFORWARD'
LOOK_AHEAD_TIME = 0.1
PATH = 'PREDEFINED'
BLOCK = 'PATH'
LEAN_CONTROL = 'PID_CONTROLLER'
LAT_KP = 0.03
LAT_KI = 0
LAT_KD = 0
[PID_CONTROLLER]
TAG = 'PID'
TYPE = 'FOLLOW_LEAN'
KP = 60
KI = 80
KD = 20
[PATH]
TYPE = 'CONSTANT_RADIUS'
RADIUS = 40000
INITIAL_STRAIGHT = 20000
TURN = 'LEFT'
[FF_STEER_CONTROLLER] | ||
---|---|---|
TAG | Attr - string | REQUIRED <FEEDFORWARD > |
LOOK_AHEAD_TIME | Attr - string | REQUIRED Specifies look ahead time for the controller used to predict the curvature of the path ahead. |
LEAN_CONTROL | Attr - string | REQUIRED Block name for the LEAN_CONTROL block where the parameters for the lean follower controller are defined. |
LAT_KP | Attr - real | OPTIONAL Proportional constant for the PID controller used to eliminate predicted lateral error after look ahead time. If absent, the default value of 0.03 is assumed. |
LAT_KI | Attr - real | OPTIONAL Integral constant for the PID controller used to eliminate predicted lateral error after look ahead time. If absent, the default value of 0 is assumed. |
LAT_KD | Attr - real | OPTIONAL Derivative constant for the PID controller used to eliminate predicted lateral error after look ahead time. If absent, the default value of 0 is assumed. |
- The behavior of the controller following a demand lean depends on the values for KP, KI, and KD.
- If the behavior is not acceptable for a vehicle, the constants need to be tuned.