centroidal_control_collection
|
Go to the documentation of this file.
7 #include <qp_solver_collection/QpSolverCollection.h>
46 double horizon_duration,
48 QpSolverCollection::QpSolverType qp_solver_type = QpSolverCollection::QpSolverType::Any);
60 double control_dt = -1);
64 double procOnce(
const std::vector<RefData> & ref_data_seq,
77 std::shared_ptr<ComZmpModelJerkInput>
model_;
80 std::shared_ptr<InvariantSequentialExtension<3, 1, 1>>
seq_ext_;
83 std::shared_ptr<QpSolverCollection::QpSolver>
qp_solver_;
106 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
115 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
118 Eigen::Vector2d
pos = Eigen::Vector2d::Zero();
121 Eigen::Vector2d
vel = Eigen::Vector2d::Zero();
124 Eigen::Vector2d
acc = Eigen::Vector2d::Zero();
135 double horizon_duration,
137 QpSolverCollection::QpSolverType qp_solver_type = QpSolverCollection::QpSolverType::Any)
138 :
mpc_1d_(std::make_shared<
LinearMpcZmp1d>(com_height, horizon_duration, horizon_dt, qp_solver_type))
151 Eigen::Vector2d
planOnce(
const std::function<RefData(
double)> & ref_data_func,
152 const InitialParam & initial_param,
154 double control_dt = -1);
double planOnce(const std::function< RefData(double)> &ref_data_func, const InitialParam &initial_param, double current_time, double control_dt=-1)
Plan one step.
std::shared_ptr< ComZmpModelJerkInput > model_
State-space model.
int horizon_steps_
Number of steps in horizon.
std::shared_ptr< InvariantSequentialExtension< 3, 1, 1 > > seq_ext_
Sequential extension of state-space model.
QP-based linear MPC for CoM-ZMP model.
LinearMpcZmp(double com_height, double horizon_duration, double horizon_dt, QpSolverCollection::QpSolverType qp_solver_type=QpSolverCollection::QpSolverType::Any)
Constructor.
std::shared_ptr< QpSolverCollection::QpSolver > qp_solver_
QP solver.
std::shared_ptr< LinearMpcZmp1d > mpc_1d_
One-dimensional linear MPC.
double procOnce(const std::vector< RefData > &ref_data_seq, const InitialParam &initial_param, double current_time, double control_dt)
Process one step.
std::vector< LinearMpcZmp1d::RefData > ref_data_seq_x_
Reference data sequence of x.
std::vector< LinearMpcZmp1d::RefData > ref_data_seq_y_
Reference data sequence of y.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW std::array< Eigen::Vector2d, 2 > zmp_limits
Min/max limits of ZMP [m].
std::array< double, 2 > zmp_limits
Min/max limits of ZMP [m].
Eigen::Vector2d planOnce(const std::function< RefData(double)> &ref_data_func, const InitialParam &initial_param, double current_time, double control_dt=-1)
Plan one step.
double horizon_dt_
Discretization timestep in horizon [sec].
QpSolverCollection::QpCoeff qp_coeff_
QP coefficients.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Vector2d pos
CoM position [m].
Eigen::Vector3d InitialParam
Initial parameter.
QP-based linear MPC for one-dimensional CoM-ZMP model.
Eigen::Vector2d acc
CoM acceleration [m/s^2].
LinearMpcZmp1d(double com_height, double horizon_duration, double horizon_dt, QpSolverCollection::QpSolverType qp_solver_type=QpSolverCollection::QpSolverType::Any)
Constructor.
Eigen::Vector2d vel
CoM velocity [m/s].