|
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 |
