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" 
   19template <
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) {
 
 
 
   68template <
typename Scalar>
 
   70  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
   76  std::shared_ptr<JointDataAbstractTpl<Scalar> > joint;
 
 
   79template <
typename Scalar>
 
   81  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
   95  std::shared_ptr<JointDataAbstractTpl<Scalar> > joint;
 
 
  102CROCODDYL_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,...