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>
69struct DataCollectorJointTpl :
virtual DataCollectorAbstractTpl<Scalar> {
70 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
73 : DataCollectorAbstractTpl<Scalar>(), joint(joint) {}
74 virtual ~DataCollectorJointTpl() {}
76 std::shared_ptr<JointDataAbstractTpl<Scalar> > joint;
79template <
typename Scalar>
81 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
92 : DataCollectorActuationTpl<Scalar>(actuation), joint(joint) {}
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.
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,...