Abstract base class for Model Predictive Control problems.
Definition at line 97 of file control_problem.h.
|
template<int t_num_vars, int t_num_controls, typename t_AMatrix , typename t_BMatrix , etools::MatrixSparsityType::Type t_bmatrix_sparsity_type> |
static void | condense (etools::GenericBlockMatrix< t_num_vars, t_num_vars > &S, etools::BlockMatrix< t_num_vars, t_num_controls, t_bmatrix_sparsity_type > &U, const std::vector< t_AMatrix > &A, const std::vector< t_BMatrix > &B) |
| Create the condensed matrices (S,U) of a Model Predictive Control problem such that X = S*x0 + U*u. More...
|
|
template<typename t_AMatrix , typename t_BMatrix > |
static void | condense (Eigen::MatrixXd &S, Eigen::MatrixXd &U, const std::vector< t_AMatrix > &A, const std::vector< t_BMatrix > &B) |
| Create the condensed matrices (S,U) of a Model Predictive Control problem such that X = S*x0 + U*u. More...
|
|
template<int t_num_vars, int t_num_outputs, typename t_DMatrix , typename t_EMatrix > |
static void | condenseOutput (etools::GenericBlockMatrix< t_num_outputs, t_num_vars > &Ox, std::vector< etools::LeftLowerTriangularBlockMatrix< t_num_outputs, etools::MatrixBlockSizeType::DYNAMIC > > &Ou, const std::vector< t_DMatrix > &D, const std::vector< t_EMatrix > &E, const etools::GenericBlockMatrix< t_num_vars, t_num_vars > &Ux, const std::vector< etools::LeftLowerTriangularBlockMatrix< t_num_vars, etools::MatrixBlockSizeType::DYNAMIC > > &Uu) |
| Condense output of the system. More...
|
|
template<typename t_DMatrix , typename t_EMatrix > |
static void | condenseOutput (Eigen::MatrixXd &Ox, Eigen::MatrixXd &Ou, const t_DMatrix &D, const t_EMatrix &E, const Eigen::MatrixXd &Ux, const Eigen::MatrixXd &Uu) |
| Condense output of the system. More...
|
|
template<int t_num_vars, int t_num_controls, int t_num_outputs, typename t_DMatrix , typename t_EMatrix > |
static void | condenseOutput (etools::GenericBlockMatrix< t_num_outputs, t_num_vars > &Ox, etools::LeftLowerTriangularBlockMatrix< t_num_outputs, t_num_controls > &Ou, const std::vector< t_DMatrix > &D, const std::vector< t_EMatrix > &E, const etools::GenericBlockMatrix< t_num_vars, t_num_vars > &Ux, const etools::LeftLowerTriangularBlockMatrix< t_num_vars, t_num_controls > &Uu) |
| Condense output of the system. More...
|
|
static void | condenseTimeInvariant (Eigen::MatrixXd &S, Eigen::MatrixXd &U, const std::size_t preview_horizon_len, const Eigen::MatrixXd &A, const Eigen::MatrixXd &B) |
| Create the condensed matrices (S,U) of a Time Invariant (constant A,B) Model Predictive Control problem such that X = S*x0 + U*u. More...
|
|
template<int t_num_vars, int t_num_controls, typename t_AMatrix , typename t_BMatrix , etools::MatrixSparsityType::Type t_bmatrix_sparsity_type>
static void humoto::MPC::condense |
( |
etools::GenericBlockMatrix< t_num_vars, t_num_vars > & |
S, |
|
|
etools::BlockMatrix< t_num_vars, t_num_controls, t_bmatrix_sparsity_type > & |
U, |
|
|
const std::vector< t_AMatrix > & |
A, |
|
|
const std::vector< t_BMatrix > & |
B |
|
) |
| |
|
inlinestaticprotected |
Create the condensed matrices (S,U) of a Model Predictive Control problem such that X = S*x0 + U*u.
- Template Parameters
-
t_num_vars | number of variables |
t_num_controls | number of controls |
t_AMatrix | A matrix, should be an Eigen matrix or a scalar |
t_BMatrix | B matrix, should be an Eigen matrix |
- Parameters
-
[out] | S | |
[out] | U | |
[in] | A | |
[in] | B | |
Definition at line 321 of file control_problem.h.
template<typename t_DMatrix , typename t_EMatrix >
static void humoto::MPC::condenseOutput |
( |
Eigen::MatrixXd & |
Ox, |
|
|
Eigen::MatrixXd & |
Ou, |
|
|
const t_DMatrix & |
D, |
|
|
const t_EMatrix & |
E, |
|
|
const Eigen::MatrixXd & |
Ux, |
|
|
const Eigen::MatrixXd & |
Uu |
|
) |
| |
|
inlinestaticprotected |
Condense output of the system.
output = Ox*x0 + Ou*(u0,...,uN)
- Template Parameters
-
t_num_vars | number of state variables |
t_num_controls | number of control variables |
t_num_outputs | number of output variables |
t_DMatrix | D matrix, should be an Eigen matrix or a scalar |
t_EMatrix | E matrix, should be an Eigen matrix or a scalar |
- Parameters
-
[out] | Ox | matrix Ox |
[out] | Ou | matrix Ou |
[in] | D | D matrix |
[in] | E | E matrix |
[in] | Ux | matrix Ux |
[in] | Uu | matrix Uu |
Definition at line 209 of file control_problem.h.
template<int t_num_vars, int t_num_controls, int t_num_outputs, typename t_DMatrix , typename t_EMatrix >
Condense output of the system.
output = Ox*x0 + Ou*(u0,...,uN)
- Template Parameters
-
t_num_vars | number of state variables |
t_num_controls | number of control variables |
t_num_outputs | number of output variables |
t_DMatrix | D matrix, should be an Eigen matrix or a scalar |
t_EMatrix | E matrix, should be an Eigen matrix or a scalar |
- Parameters
-
[out] | Ox | matrix Ox |
[out] | Ou | matrix Ou |
[in] | D | vector of D matrices |
[in] | E | vector of E matrices |
[in] | Ux | matrix Ux |
[in] | Uu | matrix Uu |
Definition at line 268 of file control_problem.h.