Feed-forward Steering Controller - Cars & Trucks

The Feedforward steer controller is used to follow a demand path profile. The controller block for feedforward steer controller is given below:

[FEEDFORWARD_STEERING]
TAG = 'FEEDFORWARD'
LOOK_AHEAD_TIME = 0.5
PATH = 'DDF' 
FILE = 'spiral.ddf' 
INTEGRATION_STEP_SIZE = 0.01
AGGRESSIVE = ‘TRUE’
[FEEDFORWARD LONGITUDINAL CONTROLLER]
TAG Attr- string REQUIRED

<FEEDFORWARD>

LOOK_AHEAD_TIME Attr - real REQUIRED
  • Step size for the integration involved in the prediction.
  • Smaller step size better prediction but more computation.
  • Recommended value look ahead time/50.
CONTROL_MODEL Attr - real OPTIONAL
  • 0- Kinematic bicycle model.
  • 1- Dynamic bicycle model.
  • If nothing is specified, dynamic model is used.
AGGRESSIVE Attr - Bool OPTIONAL
  • If TRUE, driver ignores the abort signal in case controller does not converge to a feasible steering wheel angle.
  • Should be used when the vehicle runs at typically >60% of the vehicle limits.
Note:
  • Smaller look ahead times leads to more accurate path following, but in the case of sudden path changes it may cause abrupt steering input that lead to simulation failures.
  • Larger look ahead times lead to more error between the desired and actual paths, however sudden path changes cause less abrupt steering inputs and generally lead to less simulation failures.
  • Predict forward distance = look ahead time * velocity.
  • Prediction algorithm involves internal integrator and hence, requires step size for the integration. Lower step size states are predicted more accurately, however simulation becomes computationally heavy. This step size is different from the h_max of Altair MotionSolve.
  • Recommended value for decent accuracy and speed, look ahead time/50.