lds::gaussian::SwitchedController #
Gaussian-observation SwitchedController Type.
#include <lds_gaussian_sctrl.h>
Inherits from lds::SwitchedController< System >, lds::Controller< System >
Public Functions #
Name | |
---|---|
virtual void | set_y_ref(const Vector & y_ref) override sets reference output |
Additional inherited members #
Public Functions inherited from lds::SwitchedController< System >
Name | |
---|---|
SwitchedController() =default Constructs a new SwitchedController. |
|
SwitchedController(const std::vector< System > & systems, data_t u_lb, data_t u_ub, size_t control_type =0) Constructs a new SwitchedController. |
|
SwitchedController(std::vector< System > && systems, data_t u_lb, data_t u_ub, size_t control_type =0) Constructs a new SwitchedController (moves systems). |
|
void | Switch(size_t idx, bool do_force_switch =false) Switch to a different sub-system/controller. |
void | set_Kc(const UniformMatrixList<> & Kc) sets state feedback gains |
void | set_Kc(UniformMatrixList<> && Kc) sets state feedback gains (moving) |
void | set_Kc_inty(const UniformMatrixList<> & Kc_inty) sets integral feedback gains |
void | set_Kc_inty(UniformMatrixList<> && Kc_inty) sets integral feedback gains (moving) |
void | set_Kc_u(const UniformMatrixList<> & Kc_u) sets input feedback gains |
void | set_Kc_u(UniformMatrixList<> && Kc_u) sets input feedback gains (moving) |
void | set_g_design(const UniformVectorList & g) sets input gain used during controller design |
void | set_g_design(UniformVectorList && g) sets input gain used during controller design (moving) |
Protected Attributes inherited from lds::SwitchedController< System >
Name | |
---|---|
std::vector< System > | systems_ underlying sub-systems which are switched between |
size_t | n_sys_ number of systems |
size_t | idx_ current system/controller index. |
UniformMatrixList | Kc_list_ |
UniformMatrixList | Kc_inty_list_ |
UniformMatrixList | Kc_u_list_ |
UniformVectorList | g_design_list_ |
Public Functions inherited from lds::Controller< System >
Name | |
---|---|
Controller() =default Constructs a new Controller. |
|
Controller(const System & sys, data_t u_lb, data_t u_ub, size_t control_type =0) Constructs a new Controller. |
|
Controller(System && sys, data_t u_lb, data_t u_ub, size_t control_type =0) Constructs a new Controller by moving the system object. |
|
const Vector & | Control(const Vector & z, bool do_control =true, bool do_lock_control =false, data_t sigma_soft_start =0, data_t sigma_u_noise =0, bool do_reset_at_control_onset =true) updates control signal (single-step) |
const Vector & | ControlOutputReference(const Vector & z, bool do_control =true, bool do_estimation =true, bool do_lock_control =false, data_t sigma_soft_start =0, data_t sigma_u_noise =0, bool do_reset_at_control_onset =true) updates control signal, given previously-set (single-step) |
const System & | sys() const |
const Matrix & | Kc() const Get state feedback controller gain. |
const Matrix & | Kc_inty() const Get integral controller gain. |
const Matrix & | Kc_u() const Get input feedback controller gain. |
const Vector & | g_design() const Get input gain used in controller design. |
const Vector & | u_ref() const Get reference input. |
const Vector & | x_ref() const Get reference state. |
const Vector & | y_ref() const Get reference output. |
size_t | control_type() const Get controller type. |
data_t | tau_awu() const Get time constant of anti-integral-windup. |
data_t | u_lb() const Get control lower bound. |
data_t | u_ub() const Get control upper bound. |
void | set_sys(const System & sys) Set system. |
void | set_g_design(const Vector & g_design) Set input gain used in controller design (g_design) |
void | set_u_ref(const Vector & u_ref) Set reference input (u_ref) |
void | set_x_ref(const Vector & x_ref) Set reference state (x_ref) |
void | set_Kc(const Matrix & Kc) Set state controller gain. |
void | set_Kc_inty(const Matrix & Kc_inty) Set integral controller gain. |
void | set_Kc_u(const Matrix & Kc_u) Set input controller gain. |
void | set_tau_awu(data_t tau) Set time constant of anti-integral-windup. |
void | set_control_type(size_t control_type) Sets the control type. |
void | set_u_lb(data_t u_lb) sets control lower bound |
void | set_u_ub(data_t u_ub) Sets control upper bound. |
void | Reset() reset system and control variables. |
void | Print() prints variables to stdout |
Protected Attributes inherited from lds::Controller< System >
Name | |
---|---|
System | sys_ underlying LDS |
Vector | u_ control signal |
Vector | u_return_ control signal that is returned to user |
Vector | g_design_ input gain of the system used for controller design |
Vector | u_ref_ reference input |
Vector | u_ref_prev_ reference input at previous time step |
Vector | x_ref_ reference state |
Vector | y_ref_ reference output |
Vector | cx_ref_ |
Matrix | Kc_ state controller gain |
Matrix | Kc_u_ input controller gain (optional when control updates ) |
Matrix | Kc_inty_ integral controller gain |
Vector | du_ref_ |
Vector | dv_ref_ |
Vector | v_ref_ |
Vector | dv_ |
Vector | v_ Control after g inversion (e.g., control in physical units) |
Vector | int_e_ integrated error |
Vector | int_e_awu_adjust_ anti-windup adjustment to intE |
Vector | u_sat_ control signal after saturation (for antiWindup) |
bool | do_control_prev_ |
bool | do_lock_control_prev_ |
bool | u_saturated_ whether control signal has reached saturation limits |
data_t | u_lb_ lower bound on control |
data_t | u_ub_ upper bound on control |
data_t | tau_awu_ antiwindup time constant |
data_t | k_awu_ |
data_t | t_since_control_onset_ time since control epoch onset |
size_t | control_type_ controller type |
Public Function Details #
set_y_ref #
inline virtual void set_y_ref(
const Vector & y_ref
) override
Reimplements: lds::Controller::set_y_ref
Updated on 19 May 2022 at 17:16:04 Eastern Daylight Time