centroidal_control_collection
|
Go to the documentation of this file.
7 #include <qp_solver_collection/QpSolverCollection.h>
66 double horizon_duration,
68 QpSolverCollection::QpSolverType qp_solver_type = QpSolverCollection::QpSolverType::Any,
69 const WeightParam & weight_param = WeightParam());
78 double planOnce(
const std::function<RefData(
double)> & ref_data_func,
79 const InitialParam & initial_param,
81 double control_dt = -1);
85 double procOnce(
const std::vector<RefData> & ref_data_seq,
86 const InitialParam & initial_param,
134 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
137 Eigen::Vector2d
zmp = Eigen::Vector2d::Zero();
146 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
165 double horizon_duration,
167 QpSolverCollection::QpSolverType qp_solver_type = QpSolverCollection::QpSolverType::Any,
183 Eigen::Vector2d
planOnce(
const std::function<RefData(
double)> & ref_data_func,
184 const InitialParam & initial_param,
186 double control_dt = -1);
190 std::shared_ptr<IntrinsicallyStableMpc1d>
mpc_1d_;
double omega_
Time constant for inverted pendulum dynamics.
double zmp_vel
ZMP velocity weight.
QP-based MPC with stability constraint for CoM-ZMP model.
std::shared_ptr< QpSolverCollection::QpSolver > qp_solver_
QP solver.
Eigen::Vector2d planned_zmp
Current ZMP planned in previous step [m].
IntrinsicallyStableMpc(double com_height, double horizon_duration, double horizon_dt, QpSolverCollection::QpSolverType qp_solver_type=QpSolverCollection::QpSolverType::Any, const IntrinsicallyStableMpc1d::WeightParam &weight_param=IntrinsicallyStableMpc1d::WeightParam())
Constructor.
double capture_point
Capture point [m].
int horizon_steps_
Number of steps in horizon.
QpSolverCollection::QpCoeff qp_coeff_
QP coefficients.
QP-based MPC with stability constraint for one-dimensional CoM-ZMP model.
WeightParam weight_param_
Weight parameter.
double planned_zmp
Current ZMP planned in previous step [m].
IntrinsicallyStableMpc1d(double com_height, double horizon_duration, double horizon_dt, QpSolverCollection::QpSolverType qp_solver_type=QpSolverCollection::QpSolverType::Any, const WeightParam &weight_param=WeightParam())
Constructor.
double procOnce(const std::vector< RefData > &ref_data_seq, const InitialParam &initial_param, double current_time, double control_dt)
Process one step.
std::vector< IntrinsicallyStableMpc1d::RefData > ref_data_seq_y_
Reference data sequence of y.
double horizon_dt_
Discretization timestep in horizon [sec].
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Vector2d capture_point
Capture point [m].
std::vector< IntrinsicallyStableMpc1d::RefData > ref_data_seq_x_
Reference data sequence of x.
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.
Eigen::MatrixXd P_
Constant matrix dependent on horizon_dt (defined in equation (7) in the paper)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Eigen::Vector2d zmp
ZMP [m].
std::array< double, 2 > zmp_limits
Min/max limits of ZMP [m].
double lambda_
Constant value dependent on omega and horizon_dt.
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::array< Eigen::Vector2d, 2 > zmp_limits
Min/max limits of ZMP [m].
WeightParam(double _zmp=1.0, double _zmp_vel=1e-3)
Constructor.
std::shared_ptr< IntrinsicallyStableMpc1d > mpc_1d_
One-dimensional linear MPC.