lipm_walking_controller
1.6.0
|
Leaky integrator. More...
#include <lipm_walking/utils/LeakyIntegrator.h>
Public Member Functions | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW void | add (const Eigen::Vector3d &value, double dt) |
Add constant input for a fixed duration. More... | |
const Eigen::Vector3d & | eval () const |
Evaluate the output of the integrator. More... | |
double | rate () const |
Get leak rate. More... | |
void | rate (double rate) |
Set the leak rate of the integrator. More... | |
void | saturation (double s) |
Set output saturation. More... | |
void | setZero () |
Reset integral to zero. More... | |
Leaky integrator.
The output satisfies the differential equation:
yd(t) = x(t) - leakRate * y(t)
A leaky integrator is implemented exactly as an exponential moving average, but it is homogeneous to the integral of the input signal (rather than the signal itself). See https://en.wikipedia.org/wiki/Leaky_integrator.
Definition at line 46 of file LeakyIntegrator.h.
|
inline |
Add constant input for a fixed duration.
value | Constant input. |
dt | Fixed duration. |
Definition at line 57 of file LeakyIntegrator.h.
|
inline |
Evaluate the output of the integrator.
Definition at line 69 of file LeakyIntegrator.h.
|
inline |
Get leak rate.
Definition at line 77 of file LeakyIntegrator.h.
|
inline |
Set the leak rate of the integrator.
rate | New leak rate. |
Definition at line 87 of file LeakyIntegrator.h.
|
inline |
Set output saturation.
Disable by providing a negative value.
s | Output will saturate between -s and +s. |
Definition at line 97 of file LeakyIntegrator.h.
|
inline |
Reset integral to zero.
Definition at line 105 of file LeakyIntegrator.h.