Model Predictive Control problem for walking pattern generation [determine_solution_structure.m, form_rotation_matrices.m, form_foot_pos_matrices.m, form_condensing_matrices.m].
Definition at line 20 of file mpc_mg.h.
|
| MPCforMG () |
| Constructor. More...
|
|
| MPCforMG (const humoto::pepper_mpc::MPCParameters &mpc_parameters) |
| Constructor. More...
|
|
humoto::pepper_mpc::ModelState | getModelState (const humoto::pepper_mpc::Model &model, const std::size_t time_instant_ms) |
| Computes model state at the given time instant. More...
|
|
humoto::pepper_mpc::ModelState | getModelState (const humoto::pepper_mpc::Model &model, const double time_instant) |
| Computes model state at the given time instant. More...
|
|
humoto::pepper_mpc::ModelState | getNextModelState (const humoto::Solution &solution, const humoto::pepper_mpc::Model &model) |
| Get next model state. More...
|
|
humoto::pepper_mpc::ModelState | getNextModelState (const humoto::pepper_mpc::Model &model) const |
| Get next model state. More...
|
|
std::size_t | getPreviewHorizonLength () const |
| Returns length of the preview horizon. More...
|
|
void | guessSolution (Solution &solution_guess, const Solution &old_solution) const |
| Guess solution. More...
|
|
void | initSolutionStructure (humoto::Solution &solution) const |
| Initialize structure of the given solution based on the internally stored solution structure. More...
|
|
void | log (humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="mpcmg") const |
| Log. More...
|
|
void | parseSolution (const humoto::Solution &solution) |
| Process solution. More...
|
|
void | setParameters (const humoto::pepper_mpc::MPCParameters &mpc_parameters) |
| Set parameters. More...
|
|
void | shift (MotionParameters &motion_parameters, const std::ptrdiff_t time_shift_ms=DEFAULT_PREVIEW_HORIZON_SHIFT) |
| Shift preview horizon. More...
|
|
void | shift (std::deque< MotionParameters > &motion_parameters_deque, const std::ptrdiff_t time_shift_ms=DEFAULT_PREVIEW_HORIZON_SHIFT) |
| Update control problem. More...
|
|
template<class t_MotionParameters > |
ControlProblemStatus::Status | update (const t_MotionParameters &motion_parameters, const Model &model) |
| Update control problem. More...
|
|
template<class t_MotionParameters > |
ControlProblemStatus::Status | updateAndShift (t_MotionParameters &motion_parameters, const Model &model, const std::ptrdiff_t time_shift_ms=DEFAULT_PREVIEW_HORIZON_SHIFT) |
| Update control problem & shift preview horizon. 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 | 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 |
|
) |
| |
|
inlinestaticprotectedinherited |
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 |
|
) |
| |
|
inlinestaticprotectedinherited |
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 >
|
inlinestaticprotectedinherited |
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.