Crocoddyl
 
Loading...
Searching...
No Matches
box-fddp.hpp
1
2// BSD 3-Clause License
3//
4// Copyright (C) 2019-2020, University of Edinburgh
5// Copyright note valid unless otherwise stated in individual files.
6// All rights reserved.
8
9#ifndef CROCODDYL_CORE_SOLVERS_BOX_FDDP_HPP_
10#define CROCODDYL_CORE_SOLVERS_BOX_FDDP_HPP_
11
12#include "crocoddyl/core/solvers/box-qp.hpp"
13#include "crocoddyl/core/solvers/fddp.hpp"
14
15namespace crocoddyl {
16
17class SolverBoxFDDP : public SolverFDDP {
18 public:
19 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
20
21 explicit SolverBoxFDDP(std::shared_ptr<ShootingProblem> problem);
22 virtual ~SolverBoxFDDP();
23
24 virtual void allocateData();
25 virtual void computeGains(const std::size_t t);
26 virtual void forwardPass(const double steplength);
27 virtual void resizeData();
28
29 const std::vector<Eigen::MatrixXd>& get_Quu_inv() const;
30
31 protected:
32 BoxQP qp_;
33 std::vector<Eigen::MatrixXd> Quu_inv_;
34 std::vector<Eigen::VectorXd> du_lb_;
35 std::vector<Eigen::VectorXd> du_ub_;
36};
37
38} // namespace crocoddyl
39
40#endif // CROCODDYL_CORE_SOLVERS_BOX_FDDP_HPP_
This class implements a Box QP solver based on a Projected Newton method.
Definition box-qp.hpp:79
Feasibility-driven Differential Dynamic Programming (FDDP) solver.
Definition fddp.hpp:55