dRonin  adbada4
dRonin firmware
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lqg.h File Reference

LQG Control algorithm. More...

#include <pios.h>
#include <misc_math.h>

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_statertkf_t
 
typedef struct lqr_statelqr_t
 
typedef struct lqg_statelqg_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)
 

Detailed Description

LQG Control algorithm.

Author
dRonin, http://dronin.org, Copyright (C) 2018
See Also
The GNU Public License (GPL) Version 3

Definition in file lqg.h.