9 #ifndef CROCODDYL_CORE_DATA_JOINT_HPP_
10 #define CROCODDYL_CORE_DATA_JOINT_HPP_
12 #include "crocoddyl/core/data-collector-base.hpp"
13 #include "crocoddyl/core/data/actuation.hpp"
14 #include "crocoddyl/core/fwd.hpp"
15 #include "crocoddyl/core/state-base.hpp"
19 template <
typename _Scalar>
21 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
23 typedef _Scalar Scalar;
27 typedef typename MathBase::VectorXs VectorXs;
28 typedef typename MathBase::MatrixXs MatrixXs;
39 std::shared_ptr<ActuationModelAbstract> actuation,
41 :
tau(actuation->get_nu()),
43 dtau_dx(actuation->get_nu(), state->get_ndx()),
44 dtau_du(actuation->get_nu(), nu),
45 da_dx(state->get_nv(), state->get_ndx()),
46 da_du(state->get_nv(), nu) {
68 template <
typename Scalar>
70 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
76 std::shared_ptr<JointDataAbstractTpl<Scalar> > joint;
79 template <
typename Scalar>
81 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
95 std::shared_ptr<JointDataAbstractTpl<Scalar> > joint;
102 CROCODDYL_DECLARE_EXTERN_TEMPLATE_STRUCT(
Abstract class for the actuation-mapping model.
Abstract class for the state representation.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW DataCollectorJointActuationTpl(std::shared_ptr< ActuationDataAbstractTpl< Scalar > > actuation, std::shared_ptr< JointDataAbstractTpl< Scalar > > joint)
Initialize the joint-actuation data collector.
VectorXs a
Generalized joint acceleration.
VectorXs tau
Joint efforts.
JointDataAbstractTpl(std::shared_ptr< StateAbstract > state, std::shared_ptr< ActuationModelAbstract > actuation, const std::size_t nu)
Initialize a joint data structure containing generalized accelerations and joint efforts,...