centroidal_control_collection
|
Differential dynamic programming (DDP) for centroidal model with single rigid-body dynamics (SRBD) approximation. More...
#include <DdpSingleRigidBody.h>
Classes | |
class | DdpProblem |
DDP problem of centroidal model with single rigid-body dynamics (SRBD) approximation. More... | |
struct | InitialParam |
Initial parameter. More... | |
struct | MotionParam |
Motion parameter. More... | |
struct | RefData |
Reference data. More... | |
struct | WeightParam |
Weight parameter. More... | |
Public Member Functions | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | DdpSingleRigidBody (double mass, double horizon_dt, int horizon_steps, const WeightParam &weight_param=WeightParam()) |
Constructor. More... | |
Eigen::VectorXd | planOnce (const std::function< MotionParam(double)> &motion_param_func, const std::function< RefData(double)> &ref_data_func, const InitialParam &initial_param, double current_time) |
Plan one step. More... | |
Public Attributes | |
std::shared_ptr< DdpProblem > | ddp_problem_ |
DDP problem. More... | |
std::shared_ptr< nmpc_ddp::DDPSolver< 12, Eigen::Dynamic > > | ddp_solver_ |
DDP solver. More... | |
std::array< double, 2 > | force_scale_limits_ = {0.0, 1e6} |
Force scale limits (i.e., limits of \(\lambda_i\) in the order of lower, upper) More... | |
Differential dynamic programming (DDP) for centroidal model with single rigid-body dynamics (SRBD) approximation.
Base link orientation is expressed in ZYX Euler angles.
Definition at line 21 of file DdpSingleRigidBody.h.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW CCC::DdpSingleRigidBody::DdpSingleRigidBody | ( | double | mass, |
double | horizon_dt, | ||
int | horizon_steps, | ||
const WeightParam & | weight_param = WeightParam() |
||
) |
Constructor.
mass | robot mass [kg] |
horizon_dt | discretization timestep in horizon [sec] |
horizon_steps | number of steps in horizon |
weight_param | objective weight parameter |
Eigen::VectorXd CCC::DdpSingleRigidBody::planOnce | ( | const std::function< MotionParam(double)> & | motion_param_func, |
const std::function< RefData(double)> & | ref_data_func, | ||
const InitialParam & | initial_param, | ||
double | current_time | ||
) |
Plan one step.
motion_param_func | function of motion parameter |
ref_data_func | function of reference data |
initial_param | initial parameter |
current_time | current time (i.e., start time of horizon) [sec] |
std::shared_ptr<DdpProblem> CCC::DdpSingleRigidBody::ddp_problem_ |
DDP problem.
Definition at line 398 of file DdpSingleRigidBody.h.
std::shared_ptr<nmpc_ddp::DDPSolver<12, Eigen::Dynamic> > CCC::DdpSingleRigidBody::ddp_solver_ |
DDP solver.
Definition at line 401 of file DdpSingleRigidBody.h.
std::array<double, 2> CCC::DdpSingleRigidBody::force_scale_limits_ = {0.0, 1e6} |
Force scale limits (i.e., limits of \(\lambda_i\) in the order of lower, upper)
Definition at line 404 of file DdpSingleRigidBody.h.