10 #ifndef CROCODDYL_CORE_INTEGRATED_ACTION_BASE_HPP_
11 #define CROCODDYL_CORE_INTEGRATED_ACTION_BASE_HPP_
13 #include "crocoddyl/core/fwd.hpp"
14 #include "crocoddyl/core/action-base.hpp"
15 #include "crocoddyl/core/diff-action-base.hpp"
16 #include "crocoddyl/core/control-base.hpp"
17 #include "crocoddyl/core/utils/deprecate.hpp"
36 template <
typename _Scalar>
37 class IntegratedActionModelAbstractTpl :
public ActionModelAbstractTpl<_Scalar> {
39 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
41 typedef _Scalar Scalar;
42 typedef MathBaseTpl<Scalar> MathBase;
43 typedef ActionModelAbstractTpl<Scalar> Base;
44 typedef IntegratedActionDataAbstractTpl<Scalar> Data;
45 typedef ActionDataAbstractTpl<Scalar> ActionDataAbstract;
46 typedef DifferentialActionModelAbstractTpl<Scalar> DifferentialActionModelAbstract;
47 typedef ControlParametrizationModelAbstractTpl<Scalar> ControlParametrizationModelAbstract;
48 typedef typename MathBase::VectorXs VectorXs;
49 typedef typename MathBase::MatrixXs MatrixXs;
60 boost::shared_ptr<ControlParametrizationModelAbstract> control,
61 const Scalar time_step = Scalar(1e-3),
const bool with_cost_residual =
true);
73 const Scalar time_step = Scalar(1e-3),
const bool with_cost_residual =
true);
81 virtual boost::shared_ptr<ActionDataAbstract>
createData();
86 const boost::shared_ptr<DifferentialActionModelAbstract>&
get_differential()
const;
91 const boost::shared_ptr<ControlParametrizationModelAbstract>&
get_control()
const;
96 const Scalar
get_dt()
const;
101 void set_dt(
const Scalar dt);
103 DEPRECATED(
"The DifferentialActionModel should be set at construction time",
104 void set_differential(boost::shared_ptr<DifferentialActionModelAbstract> model));
118 boost::shared_ptr<ControlParametrizationModelAbstract>
control_;
125 template <
typename _Scalar>
127 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
129 typedef _Scalar Scalar;
132 typedef typename MathBase::VectorXs VectorXs;
133 typedef typename MathBase::MatrixXs MatrixXs;
135 template <
template <
typename Scalar>
class Model>
137 virtual ~IntegratedActionDataAbstractTpl() {}
156 #include "crocoddyl/core/integ-action-base.hxx"
158 #endif // CROCODDYL_CORE_INTEGRATED_ACTION_BASE_HPP_