Template Class SolverBoxFDDPTpl

Inheritance Relationships

Base Type

Derived Type

Class Documentation

template<typename _Scalar>
class SolverBoxFDDPTpl : public crocoddyl::SolverFDDPTpl<_Scalar>

Subclassed by crocoddyl::SolverBoxDDP

Public Types

typedef SolverFDDPTpl<Scalar> SolverFDDP
typedef BoxQPTpl<Scalar> BoxQP
typedef BoxQPSolutionTpl<Scalar> BoxQPSolution
typedef ShootingProblemTpl<Scalar> ShootingProblem
typedef ShootingProblem::ActionModelAbstract ActionModelAbstract
typedef ShootingProblem::ActionDataAbstract ActionDataAbstract
typedef MathBaseTpl<Scalar> MathBase
typedef MathBase::VectorXs VectorXs
typedef MathBase::MatrixXs MatrixXs

Public Functions

explicit SolverBoxFDDPTpl(std::shared_ptr<ShootingProblem> problem, const DynamicsSolverType dyn_solver = FeasShoot, const EqualitySolverType term_solver = LuNull)
virtual ~SolverBoxFDDPTpl() = default
virtual void computePolicy(const std::size_t t) override
virtual void forwardPass(const Scalar steplength)
template<typename NewScalar>
SolverBoxFDDPTpl<NewScalar> cast() const

Cast the Box-FDDP solver to a different scalar type.

It is useful for operations requiring different precision or scalar types.

Template Parameters:

NewScalar – The new scalar type to cast to.

Returns:

SolverBoxFDDPTpl<NewScalar> An Box-FDDP solver with the new scalar type.

const std::vector<MatrixXs> &get_Quu_inv() const

Public Members

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Protected Functions

void allocateData()
virtual void resizeRunningData() override

Protected Attributes

BoxQP qp_
std::vector<MatrixXs> Quu_inv_
std::vector<VectorXs> du_lb_
std::vector<VectorXs> du_ub_
VectorXs xnext_

Next state \(\mathbf{x}^{'}\).