9 #ifndef CROCODDYL_CORE_SOLVERS_FDDP_HPP_ 10 #define CROCODDYL_CORE_SOLVERS_FDDP_HPP_ 12 #include <Eigen/Cholesky> 15 #include "crocoddyl/core/solvers/ddp.hpp" 52 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
59 explicit SolverFDDP(boost::shared_ptr<ShootingProblem> problem);
60 virtual ~SolverFDDP();
62 virtual bool solve(
const std::vector<Eigen::VectorXd>& init_xs = DEFAULT_VECTOR,
63 const std::vector<Eigen::VectorXd>& init_us = DEFAULT_VECTOR,
const std::size_t maxiter = 100,
64 const bool is_feasible =
false,
const double regInit = 1e-9);
102 double th_acceptnegstep_;
107 #endif // CROCODDYL_CORE_SOLVERS_FDDP_HPP_ virtual void forwardPass(const double stepLength)
Run the forward pass or rollout.
void updateExpectedImprovement()
Update internal values for computing the expected improvement.
virtual bool solve(const std::vector< Eigen::VectorXd > &init_xs=DEFAULT_VECTOR, const std::vector< Eigen::VectorXd > &init_us=DEFAULT_VECTOR, const std::size_t maxiter=100, const bool is_feasible=false, const double regInit=1e-9)
Compute the optimal trajectory as lists of and terms.
double dq_
Internal data for computing the expected improvement.
void set_th_acceptnegstep(const double th_acceptnegstep)
Modify the threshold used for accepting step along ascent direction.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW SolverFDDP(boost::shared_ptr< ShootingProblem > problem)
Initialize the FDDP solver.
Feasibility-driven Differential Dynamic Programming (FDDP) solver.
double dg_
Internal data for computing the expected improvement.
double get_th_acceptnegstep() const
Return the threshold used for accepting step along ascent direction.
double dv_
Internal data for computing the expected improvement.
Differential Dynamic Programming (DDP) solver.
virtual const Eigen::Vector2d & expectedImprovement()