12#include <crocoddyl/core/action-base.hpp>
17template <
typename Scalar>
26 void forward(
const ConstVectorRef &,
const ConstVectorRef &,
29 void dForward(
const ConstVectorRef &,
const ConstVectorRef &,
33template <
typename Scalar>
38 :
Base((int)action_model.get_state()->get_ndx(),
39 (int)action_model.get_nu(),
40 (int)action_model.get_state()->get_nx(),
41 (int)action_model.get_state()->get_ndx()) {}
47template <
typename Scalar>
65 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
66 Data &data)
const override;
69 const ConstVectorRef &u,
70 Data &data)
const override;
74 const ConstVectorRef & ,
75 Data & )
const override {}
Headers for the Crocoddyl compatibility module.
Headers for compatibility modules.
Stage costs for control problems.
Specific data struct for explicit dynamics ExplicitDynamicsModelTpl.
ExplicitDynamicsDataTpl(int ndx1, int nu, int nx2, int ndx2)
ExplicitDynamicsModelTpl(const polymorphic< Manifold > &space, const int nu)
Base class for manifolds, to use in cost funcs, solvers...
Data struct for stage models StageModelTpl.
StageDataTpl(const StageModel &stage_model)
StageModelTpl(const PolyCost &cost, const PolyDynamics &dynamics)
A complicated child class to StageDataTpl which pipes Crocoddyl's data to the right places.
DynamicsDataWrapperTpl< Scalar > DynamicsDataWrapper
shared_ptr< CrocActionData > croc_action_data
crocoddyl::ActionModelAbstractTpl< Scalar > CrocActionModel
StageDataTpl< Scalar > Base
crocoddyl::ActionDataAbstractTpl< Scalar > CrocActionData
shared_ptr< DynamicsDataWrapper > dynamics_data
ActionDataWrapperTpl(const ActionModelWrapperTpl< Scalar > &croc_action_model)
void checkData()
Check data integrity.
Wraps a crocoddyl::ActionModelAbstract.
ActionModelWrapperTpl(shared_ptr< CrocActionModel > action_model)
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const override
Evaluate all the functions (cost, dynamics, constraints) at this node.
shared_ptr< CrocActionModel > action_model_
ActionDataWrapperTpl< Scalar > ActionDataWrap
StateWrapperTpl< Scalar > StateWrapper
StageDataTpl< Scalar > Data
DynamicsDataWrapperTpl< Scalar > DynDataWrap
void computeFirstOrderDerivatives(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const override
Compute the first-order derivatives of the StageModelTpl.
ManifoldAbstractTpl< Scalar > Manifold
CostAbstractTpl< Scalar > CostAbstract
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
StageModelTpl< Scalar > Base
bool hasDynModel() const override
void computeSecondOrderDerivatives(const ConstVectorRef &, const ConstVectorRef &, Data &) const override
Does nothing for this class.
crocoddyl::ActionModelAbstractTpl< Scalar > CrocActionModel
shared_ptr< Data > createData() const override
Create a StageData object.
DynamicsDataWrapperTpl(const CrocActionModel &action_model)
crocoddyl::ActionModelAbstractTpl< Scalar > CrocActionModel
ExplicitDynamicsDataTpl< Scalar > Base
ExplicitDynamicsModelTpl< Scalar > Base
NoOpDynamics(const xyz::polymorphic< Manifold > &state, const int nu)
ExplicitDynamicsDataTpl< Scalar > DynData
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
void dForward(const ConstVectorRef &, const ConstVectorRef &, DynData &) const override
Compute the Jacobians of the forward dynamics.
void forward(const ConstVectorRef &, const ConstVectorRef &, DynData &) const override
Evaluate the forward discrete dynamics.
ManifoldAbstractTpl< Scalar > Manifold
Wraps a crocoddyl::StateAbstractTpl to a manifold (aligator::ManifoldAbstractTpl).