6#include <pinocchio/multibody/model.hpp>
10template <
typename Scalar>
struct CentroidalMomentumDataTpl;
17template <
typename _Scalar>
24 using Model = pinocchio::ModelTpl<Scalar>;
25 using SE3 = pinocchio::SE3Tpl<Scalar>;
32 const Vector6s &h_ref)
43 return std::make_shared<Data>(
this);
47template <
typename Scalar>
49 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
51 using PinData = pinocchio::DataTpl<Scalar>;
52 using Matrix6Xs =
typename math_types<Scalar>::Matrix6Xs;
66#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
67#include "aligator/modelling/multibody/centroidal-momentum.txx"
CentroidalMomentumDataTpl(const CentroidalMomentumResidualTpl< Scalar > *model)
PinData pin_data_
Pinocchio data object.
typename math_types< Scalar >::Matrix6Xs Matrix6Xs
pinocchio::DataTpl< Scalar > PinData
This residual returns the derivative of centroidal momentum for a kinodynamics model.
const Vector6s & getReference() const
pinocchio::SE3Tpl< Scalar > SE3
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
void setReference(const Eigen::Ref< const Vector6s > &h_new)
pinocchio::ModelTpl< Scalar > Model
CentroidalMomentumResidualTpl(const int ndx, const int nu, const Model &model, const Vector6s &h_ref)
void evaluate(const ConstVectorRef &x, BaseData &data) const
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
typename Base::Data BaseData
shared_ptr< BaseData > createData() const
Instantiate a Data object.
Base struct for function data.
Represents unary functions of the form , with no control (or next-state) arguments.
StageFunctionDataTpl< Scalar > Data