Controller using ARX model for estimation and LQG designer for control. More...
Controller using ARX model for estimation and LQG designer for control.
#include <arx_ctrl.h>
Public Member Functions | |
LQG_ARX () | |
void | initialize () |
setup internal structures | |
void | adapt () |
adaptation is to store arx estimates in stsp | |
void | from_settings (const Settings &set) |
LQG is defined by quadratic loss function. | |
virtual void | adapt (const vec &data) |
function processing new observations and adapting control strategy accordingly | |
virtual vec | ctrlaction (const vec &data) |
returns designed control action | |
void | from_setting (const Setting &set) |
This method arrange instance properties according the data stored in the Setting structure. | |
const RV & | _urv () |
access function | |
const RV & | _yrv () |
access function | |
const RV & | _drv () |
access function | |
virtual void | log_add (logger &L, const string &name="") |
register this controller with given datasource under name "name" | |
virtual void | logit (logger &L) |
write requested values into the logger | |
virtual string | to_string () |
This method returns a basic info about the current instance. | |
virtual void | to_setting (Setting &set) const |
This method save all the instance properties into the Setting structure. | |
virtual void | validate () |
This method TODO. | |
Protected Attributes | |
shared_prt< ARX > | ar |
Internal ARX estimator. | |
LQG | lq |
Internal LQG designer. | |
sharer_ptr< StateSpace > | stsp |
Intermediate StateSpace model. | |
RV | yrv |
identifier of the system output; | |
RV | urv |
identifier of the system input; | |
RV | drv |
description of data needed for ctrlaction , required for automatic connection to DS | |
ivec | LIDs |
vector of logger IDs |
bdm::LQG_ARX::LQG_ARX | ( | ) | [inline] |
Default constructor
void bdm::LQG_ARX::from_settings | ( | const Settings & | set | ) | [inline] |
LQG is defined by quadratic loss function.
expected input
{ class="LQG"; arx = {class="ARX", ...} // internal arx model, see Qy = ("matrix", ...); Qu = ("matrix", ...); yreq = []; // requested output ureq = []; // requested input value }
References bdm::RV::_dsize(), ar, bdm::UI::get(), bdm::Controller::urv, and bdm::Controller::yrv.