centroidal_control_collection
|
QP-based linear MPC for one-dimensional CoM-ZMP model. More...
#include <LinearMpcZmp.h>
Classes | |
struct | RefData |
Reference data. More... | |
Public Types | |
using | InitialParam = Eigen::Vector3d |
Initial parameter. More... | |
Public Member Functions | |
LinearMpcZmp1d (double com_height, double horizon_duration, double horizon_dt, QpSolverCollection::QpSolverType qp_solver_type=QpSolverCollection::QpSolverType::Any) | |
Constructor. More... | |
double | planOnce (const std::function< RefData(double)> &ref_data_func, const InitialParam &initial_param, double current_time, double control_dt=-1) |
Plan one step. More... | |
Protected Member Functions | |
double | procOnce (const std::vector< RefData > &ref_data_seq, const InitialParam &initial_param, double current_time, double control_dt) |
Process one step. More... | |
Protected Attributes | |
double | horizon_dt_ = 0 |
Discretization timestep in horizon [sec]. More... | |
int | horizon_steps_ = -1 |
Number of steps in horizon. More... | |
std::shared_ptr< ComZmpModelJerkInput > | model_ |
State-space model. More... | |
std::shared_ptr< InvariantSequentialExtension< 3, 1, 1 > > | seq_ext_ |
Sequential extension of state-space model. More... | |
std::shared_ptr< QpSolverCollection::QpSolver > | qp_solver_ |
QP solver. More... | |
QpSolverCollection::QpCoeff | qp_coeff_ |
QP coefficients. More... | |
Friends | |
class | LinearMpcZmp |
QP-based linear MPC for one-dimensional CoM-ZMP model.
See the following for a detailed formulation.
Definition at line 20 of file LinearMpcZmp.h.
using CCC::LinearMpcZmp1d::InitialParam = Eigen::Vector3d |
Initial parameter.
First element is CoM position, second element is CoM velocity, and third element is CoM acceleration.
Definition at line 36 of file LinearMpcZmp.h.
CCC::LinearMpcZmp1d::LinearMpcZmp1d | ( | double | com_height, |
double | horizon_duration, | ||
double | horizon_dt, | ||
QpSolverCollection::QpSolverType | qp_solver_type = QpSolverCollection::QpSolverType::Any |
||
) |
Constructor.
com_height | height of robot CoM [m] |
horizon_duration | horizon duration [sec] |
horizon_dt | discretization timestep in horizon [sec] |
qp_solver_type | QP solver type |
double CCC::LinearMpcZmp1d::planOnce | ( | const std::function< RefData(double)> & | ref_data_func, |
const InitialParam & | initial_param, | ||
double | current_time, | ||
double | control_dt = -1 |
||
) |
Plan one step.
ref_data_func | function of reference data |
initial_param | initial parameter (CoM position, velocity, and acceleration) |
current_time | current time (i.e., start time of horizon) [sec] |
control_dt | control timestep used to calculate ZMP (if omitted, horizon_dt is used) |
|
protected |
Process one step.
|
friend |
Definition at line 22 of file LinearMpcZmp.h.
|
protected |
Discretization timestep in horizon [sec].
Definition at line 71 of file LinearMpcZmp.h.
|
protected |
Number of steps in horizon.
Definition at line 74 of file LinearMpcZmp.h.
|
protected |
State-space model.
Definition at line 77 of file LinearMpcZmp.h.
|
protected |
QP coefficients.
Definition at line 86 of file LinearMpcZmp.h.
|
protected |
QP solver.
Definition at line 83 of file LinearMpcZmp.h.
|
protected |
Sequential extension of state-space model.
Definition at line 80 of file LinearMpcZmp.h.