Feedback Traction Controller - PID Controller
A Proportional-Integral-Derivative (PID) controller is a feedback controller that computes a vehicle input using the error, the integral of error, and the rate of change of error between a desired vehicle response and the actual vehicle response.
To use a PID control you enter proportional (KP), integral (KI), and derivative (KD) gains, the type of desired response (for example, longitudinal speed or acceleration), and reference the desired response (for example, a table of speed vs time). The Altair Driver then applies the Proportional-Integral-Derivative (PID) control law to calculate the throttle and brake signals.
Algorithm
| Parameters | |
|---|---|
| Demand Signal | U | 
| Feedback or response signal | X | 
| Error | e | 
| Proportional gain | Proportional gain | 
| Derivative gain | Derivative gain | 
| Integral gain | Integral gain | 
| Integral control flag | Integral control flag | 
| Integral band | Integral band | 
| Driver throttle output | O throttle | 
| Driver brake output | O brake | 
| Drive Ratio |  | 
| Gear Ratio |  | 





Types
- VELOCITY CONTROL - Demand signal is a velocity profile with time or distance traveled as independent variable.
- ACCELERATION CONTROL - Demand signal is an acceleration profile with time or distance traveled as independent variable.
- Demand signal can be constant, expression driver, user defined curve, or MotionView Signal (similar to Open Loop controller).
[LONG_PID_CONTROLLER]
TAG = 'PID'
TYPE = 'FOLLOW_VELOCITY'
DEMAND_SIGNAL = 'DEMAND_SPEED'
I_ACTIVE_BAND = 2
KP 	 			= 100
KD 				= 20
KI 				= 10
INITIAL_ERROR 		= -5| [FEEDFORWARD LONGITUDINAL CONTROLLER] | ||
|---|---|---|
| TAG | Attr - string | REQUIRED <PID > | 
| Attr - string | OPTIONAL 
 | |
| DEMAND_SIGNAL | Attr - string | REQUIRED Block name that contains the demand signal. See the Demand Signal Block topic to learn more about all of the available methods. | 
| I_ACTIVE_BAND | Attr - real | OPTIONAL 
 If absent: 
 | 
| KP | Attr - real | OPTIONAL 
 If absent: 
 | 
| KD | Attr - real | OPTIONAL 
 If absent: 
 | 
| KI | Attr - real | OPTIONAL 
 If absent: 
 | 
| INITIAL_ERROR | Attr-real | OPTIONAL 
 If absent: 
 |