dRonin
adbada4
dRonin firmware
|
LQG Control algorithm. More...
Go to the source code of this file.
Macros | |
#define | LQG_SOLVER_FAILED -1 |
#define | LQG_SOLVER_RUNNING 0 |
#define | LQG_SOLVER_DONE 1 |
Typedefs | |
typedef struct rtkf_state * | rtkf_t |
typedef struct lqr_state * | lqr_t |
typedef struct lqg_state * | lqg_t |
Functions | |
rtkf_t | rtkf_create (float beta, float tau, float Ts, float R, float q1, float q2, float q3, float biaslim) |
void | rtkf_stabilize_covariance (rtkf_t rtkf, int iterations) |
int | rtkf_solver_status (rtkf_t rtkf) |
lqr_t | lqr_create (float beta, float tau, float Ts, float q1, float q2, float r) |
void | lqr_stabilize_covariance (lqr_t lqr, int iterations) |
int | lqr_solver_status (lqr_t lqr) |
void | lqr_update (lqr_t lqr, float q1, float q2, float r) |
void | lqr_get_gains (lqr_t lqr, float K[2]) |
lqg_t | lqg_create (rtkf_t rtkf, lqr_t lqr) |
int | lqg_solver_status (lqg_t lqg) |
lqr_t | lqg_get_lqr (lqg_t lqg) |
rtkf_t | lqg_get_rtkf (lqg_t lqg) |
void | lqg_run_covariance (lqg_t lqg, int iter) |
float | lqg_controller (lqg_t lqg, float signal, float setpoint) |
void | lqg_set_x0 (lqg_t lqg, float x0) |
void | lqg_get_rtkf_state (lqg_t lqg, float *rate, float *torque, float *bias) |