|
Nebula
|
#include <pidfeedbackloop.h>
A PID feedback loop (proportional integral derivative feedback loop)
Public Member Functions | |
| PIDFeedbackLoop () | |
| constructor | |
| void | SetState (double value) |
| set value of loop | |
| void | SetGoal (double wantedValue) |
| set the goal | |
| void | SetConstants (double pConst, double iConst, double dConst, double acceleration=0.0) |
| set the propotional, integral and derivative constants, and maximum acceleration (how fast the value kann change, will be disabled if set to 0.0 (default)) | |
| const double & | GetState () const |
| get current value | |
| const double & | GetGoal () const |
| get the goal | |
| double | GetLastError () const |
| get last computed error | |
| double | GetLastDelta () const |
| last delta of error | |
| void | Update (Timing::Time time) |
| update current value | |
| void | ResetError () |
| reset running error | |
| void | SetIsAngularValue (bool val) |
| set IsAngularValue | |
Private Attributes | |
| double | value |
| double | goal |
| double | pConst |
| double | iConst |
| double | dConst |
| double | maxAcceleration |
| double | lastError |
| double | lastDelta |
| double | runningError |
| bool | validError |
| bool | isAngularValue |
| Timing::Time | lastTime |
| Timing::Time | lastDeltaTime |
| Timing::Time | maxAllowableDeltaTime |
|
inline |
constructor
|
inline |
get the goal
|
inline |
last delta of error
|
inline |
get last computed error
|
inline |
get current value
|
inline |
reset running error
|
inline |
set the propotional, integral and derivative constants, and maximum acceleration (how fast the value kann change, will be disabled if set to 0.0 (default))
|
inline |
set the goal
|
inline |
set IsAngularValue
|
inline |
set value of loop
|
inline |
update current value
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |