|
iCub-main
|
General structure of series (interactive) PID. More...
#include <pids.h>
Inheritance diagram for iCub::ctrl::seriesPID:Public Member Functions | |
| seriesPID (const double _Ts, const yarp::sig::Vector &_Kp, const yarp::sig::Vector &_Ti, const yarp::sig::Vector &_Kd, const yarp::sig::Vector &_N, const yarp::sig::Matrix &_satLim) | |
| Constructor. | |
| virtual const yarp::sig::Vector & | compute (const yarp::sig::Vector &ref, const yarp::sig::Vector &fb) |
| Computes the PID output. | |
| virtual void | reset () |
| Resets the internal state of integral and derivative part. | |
| virtual void | getOptions (yarp::os::Bottle &options) |
| Returns the current options used by the pid. | |
| virtual void | setOptions (const yarp::os::Bottle &options) |
| Update the options used by the pid. | |
| ~seriesPID () | |
| Destructor. | |
Protected Attributes | |
| yarp::sig::Vector | Kp |
| yarp::sig::Vector | Ti |
| yarp::sig::Vector | Kd |
| yarp::sig::Vector | N |
| yarp::sig::Matrix | satLim |
| yarp::sig::Vector | e |
| yarp::sig::Vector | P |
| yarp::sig::Vector | I |
| yarp::sig::Vector | D |
| yarp::sig::Vector | u |
| yarp::sig::Vector | uSat |
| unsigned int | dim |
| double | Ts |
| std::deque< Filter * > | Int |
| std::deque< Filter * > | Der |
Additional Inherited Members | |
Static Public Member Functions inherited from iCub::ctrl::helperPID | |
| static void | addVectorToOption (yarp::os::Bottle &option, const char *key, const yarp::sig::Vector &val) |
| Add the data contained in the specified vector to the specified bottle, using property-like form (i.e. | |
| static bool | getVectorFromOption (const yarp::os::Bottle &options, const char *key, yarp::sig::Vector &val, int &size) |
| Fill the specified vector with the data associated with the specified key in the specified property-like bottle. | |
General structure of series (interactive) PID.
u = sat((P + I) * (1 + D) * (ref-fb))
Components expressed in Laplace transform:
| iCub::ctrl::seriesPID::seriesPID | ( | const double | _Ts, |
| const yarp::sig::Vector & | _Kp, | ||
| const yarp::sig::Vector & | _Ti, | ||
| const yarp::sig::Vector & | _Kd, | ||
| const yarp::sig::Vector & | _N, | ||
| const yarp::sig::Matrix & | _satLim | ||
| ) |
Constructor.
| _Ts | is the block sample time in seconds. |
| _Kp | are the proportional gains. |
| _Ti | are the integral time constants (so that integral part cannot be switched off). |
| _Kd | are the derivative gains. |
| _N | are derivative low-pass filter bandwidth (3 to 20, typ. 10, must be > 0). |
| _satLim | is the saturation thresholds matrix (min_i=satLim(i,0), max_i=satLim(i,1)). |
|
virtual |
|
virtual |
Returns the current options used by the pid.
| options | is a property-like bottle containing the current configuration used by the pid. |
|
virtual |
|
virtual |
Update the options used by the pid.
| options | is a property-like bottle containing the new configuration used by the pid. |