Go to the documentation of this file.
9 #ifndef SOBEC_MPC_WALK_HPP_
10 #define SOBEC_MPC_WALK_HPP_
12 #include <crocoddyl/core/fwd.hpp>
13 #include <crocoddyl/core/solvers/fddp.hpp>
14 #include <crocoddyl/multibody/fwd.hpp>
16 #include <crocoddyl/multibody/states/multibody.hpp>
21 using namespace crocoddyl;
57 void readParamsFromYamlString(std::string& StringToParse);
59 void readParamsFromYamlFile(
const std::string& Filename);
63 typedef typename MathBaseTpl<double>::VectorXs VectorXd;
64 typedef typename MathBaseTpl<double>::VectorXs Vector3d;
65 typedef std::vector<AMA> ActionList;
70 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
72 explicit MPCWalk(boost::shared_ptr<MPCWalkParams> params,
73 boost::shared_ptr<ShootingProblem> problem);
78 void initialize(
const std::vector<Eigen::VectorXd>& xs,
79 const std::vector<Eigen::VectorXd>& us);
82 void calc(
const Eigen::Ref<const VectorXd>&
x,
const int t);
85 void updateTerminalCost(
const int t);
86 void findTerminalStateResidualModel();
87 void findStateModel();
91 boost::shared_ptr<MPCWalkParams>
params;
94 boost::shared_ptr<ShootingProblem>
storage;
97 boost::shared_ptr<ShootingProblem>
problem;
106 boost::shared_ptr<StateMultibody>
state;
120 #endif // SOBEC_MPC_WALK_HPP_
double solver_th_stop
stop threshold to configure the solver
Definition: mpc.hpp:44
boost::shared_ptr< SolverFDDP > solver
Solver for MPC.
Definition: mpc.hpp:100
double DT
timestep in problem shooting nodes
Definition: mpc.hpp:42
virtual ~MPCWalk()
Definition: mpc.hpp:75
int Tdouble
Duration of double-support phases of the OCP.
Definition: mpc.hpp:36
boost::shared_ptr< ResidualModelState > terminalStateResidual
Keep a direct reference to the terminal residual.
Definition: mpc.hpp:103
boost::shared_ptr< StateMultibody > state
Keep a direct reference to the terminal state.
Definition: mpc.hpp:106
int Tmpc
Duration of the MPC horizon.
Definition: mpc.hpp:32
int Tend
Duration of the end phase of the OCP.
Definition: mpc.hpp:40
double solver_reg_min
solver param reg_min
Definition: mpc.hpp:46
int Tstart
Duration of start phase of the OCP.
Definition: mpc.hpp:34
MPC manager, calling iterative subpart of a larger OCP.
Definition: mpc.hpp:26
boost::shared_ptr< ShootingProblem > storage
The reference shooting problem storing all shooting nodes.
Definition: mpc.hpp:94
int solver_maxiter
Solver max number of iteration.
Definition: mpc.hpp:48
int Tsingle
Duration of single-support phases of the OCP.
Definition: mpc.hpp:38
Definition: activation-quad-ref.hpp:19
Eigen::Vector3d vcomRef
reference COM velocity
Definition: mpc.hpp:28
std::string stateRegCostName
name of the regularization cost that is modified by mpc update.
Definition: mpc.hpp:51
boost::shared_ptr< MPCWalkParams > params
Parameters to tune the algorithm, given at init.
Definition: mpc.hpp:91
double reg
Definition: mpc.hpp:109
virtual ~MPCWalkParams()
Definition: mpc.hpp:54
boost::shared_ptr< ShootingProblem > problem
the MPC problem used for solving.
Definition: mpc.hpp:97
Eigen::VectorXd x0
reference 0 state
Definition: mpc.hpp:30