20 #ifndef _ACTUATOR_MODEL_HH_ 21 #define _ACTUATOR_MODEL_HH_ 25 #include "pinocchio/spatial/force.hpp" 54 template<
typename Derived>
58 ActuatorDataDerived& derived() {
return *
static_cast<Derived*
>(
this);}
59 const ActuatorDataDerived & derived()
60 const {
return *
static_cast<const Derived *
>(
this);}
63 template<
typename Derived>
66 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
70 typedef typename ActuatorDataDerived::X_t X_t;
71 typedef typename ActuatorDataDerived::dX_t dX_t;
72 typedef typename ActuatorDataDerived::U_t U_t;
73 typedef typename ActuatorDataDerived::S_t S_t;
74 typedef typename ActuatorDataDerived::Observations_t Observations_t;
75 typedef typename ActuatorDataDerived::Parameters_t Parameters_t;
77 ActuatorModelDerived & derived() {
return *
static_cast<Derived *
>(
this);}
78 const ActuatorModelDerived& derived()
const 79 {
return *
static_cast<const Derived*
>(
this); }
81 ActuatorDataDerived createData()
const {
return derived().createData(); }
83 void ode_func(dX_t & dstate,
87 ActuatorDataDerived &data)
const 88 { derived().ode_func(dstate,data,state);}
90 void get_force(ActuatorDataDerived &data,
Force &aForce)
const 92 derived().get_force(data,aForce);
95 const Observations_t & h(ActuatorDataDerived &data, X_t & state)
96 const {
return derived(data,state).h; }
98 const Parameters_t & c(ActuatorDataDerived &data)
const 99 {
return derived(data).c;}
101 const S_t & S()
const {
return derived().S;}
103 const U_t & u()
const {
return derived().u;}
Concreate Class representing a force.