Anti-Sway Capstone 1.0
|
Discrete Control Law Implementation Library Header. More...
#include <float.h>
Go to the source code of this file.
Data Structures | |
struct | Biquad |
Biquad. More... | |
struct | Integrator |
Control Block: Integrator. More... | |
struct | Differentiator |
Control Block: Differentiator. More... | |
Macros | |
#define | POS_INF DBL_MAX |
Positive Infinity. | |
#define | NEG_INF (-DBL_MAX) |
Negative Infinity. | |
Typedefs | |
typedef float | Proportional |
Control Block: Proportion. | |
Functions | |
void | IntegratorInit (Proportional gain, double timestep, Integrator *result) |
void | DifferentiatorInit (Proportional gain, double timestep, Differentiator *result) |
double | Cascade (double input, Biquad sys[], int size, double lower_lim, double upper_lim) |
double | Integrate (double input, Integrator *term, double lower_lim, double upper_lim) |
double | Differentiate (double input, Differentiator *term, double lower_lim, double upper_lim) |
double | PID (double input, Proportional *p, Integrator *i, Differentiator *d, double lower_lim, double upper_lim) |
Discrete Control Law Implementation Library Header.
typedef float Proportional |
Control Block: Proportion.
A proportional constant
|
inline |
Executes a dynamic, discrete time system by using its biquad decomposition.
input | The input to the system |
sys | The system, as an array of biquads |
size | The size of sys |
lower_lim | The lower saturation limit of the system |
upper_lim | The upper saturation limit of the system |
|
inline |
Timesteps a Differentiation
input | The input to the differentiator |
term | A pointer to an differentiator term |
lower_lim | The lower saturation limit of the system |
upper_lim | The upper saturation limit of the system |
void DifferentiatorInit | ( | Proportional | gain, |
double | timestep, | ||
Differentiator * | result ) |
Initializes a Differentiator
gain | The gain to assign the differentiator |
timestep | The timestep to approximate the differentiator |
result | A return parameter, which becomes the differentiator with the gain and timestep |
|
inline |
Timesteps an Integration
input | The input to the integrator |
term | A pointer to an integrator term |
lower_lim | The lower saturation limit of the system |
upper_lim | The upper saturation limit of the system |
void IntegratorInit | ( | Proportional | gain, |
double | timestep, | ||
Integrator * | result ) |
Initializes an Integrator
gain | The gain to assign the integrator |
timestep | The timestep to approximate the integrator |
result | A return parameter, which becomes the integrator with the gain and timestep |
|
inline |
Timesteps a PID Controller
input | The input to the PID Controller |
p | A pointer to the proportional term |
i | A pointer to the integrator term |
d | A pointer to the differentiator term |
lower_lim | The lower saturation limit of the system |
upper_lim | The upper saturation limit of the system |