Linear Quadratic Gaussian designer for constant penalizations and constant target Its internals are very close to Kalman estimator
#include <ctrlbase.h>
Public Member Functions | |
void | set_system (shared_ptr< StateSpace< fsqmat > > S0) |
set system parameters from given matrices | |
void | set_control_parameters (const mat &Qy0, const mat &Qu0, const vec &y_req0, int horizon0) |
set penalization matrices and control horizon | |
void | initialize () |
set system parameters from Kalman filter | |
void | validate () |
virtual void | update_state () |
function for future use which is called at each time td; Should call initialize()! | |
void | ricatti_step () |
redesign one step of the | |
void | redesign () |
Redesign control strategy. | |
vec | apply (const vec &state, const vec &ukm) |
virtual vec | apply (const vec &cond) |
apply control strategy to obtain control input | |
Protected Attributes | |
shared_ptr< StateSpace< fsqmat > > | S |
StateSpace model from which we read data. | |
vec | y_req |
required value of the output y at time t (assumed constant) | |
vec | u_req |
required value of the output y at time t (assumed constant) | |
int | horizon |
Control horizon, set to maxint for infinite horizons. | |
mat | Qy |
penalization matrix Qy | |
mat | Qu |
penalization matrix Qu | |
int | td |
time of the design step - from horizon->0 | |
mat | L |
controller parameters | |
temporary storage for ricatti - use initialize | |
int | dimx |
int | dimy |
convenience parameters | |
int | dimu |
convenience parameters | |
mat | pr |
parameters | |
mat | qux |
penalization | |
mat | qyx |
penalization | |
mat | s |
internal quadratic form | |
mat | qy |
penalization | |
mat | hqy |
pre_qr part | |
mat | pre_qr |
pre qr matrix | |
mat | post_qr |
post qr matrix |
void bdm::LQG::initialize | ( | ) |