6#include <pinocchio/multibody/model.hpp>
10template <
typename Scalar>
struct CenterOfMassVelocityDataTpl;
12template <
typename _Scalar>
19 using Model = pinocchio::ModelTpl<Scalar>;
20 using SE3 = pinocchio::SE3Tpl<Scalar>;
21 using Data = CenterOfMassVelocityDataTpl<Scalar>;
26 const shared_ptr<Model> &model,
27 const Vector3s &frame_vel)
38 return allocate_shared_eigen_aligned<Data>(*
this);
45template <
typename Scalar>
47 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
48 using Base = StageFunctionDataTpl<Scalar>;
49 using PinData = pinocchio::DataTpl<Scalar>;
54 typename math_types<Scalar>::Matrix3Xs
fJf_;
57 const CenterOfMassVelocityResidualTpl<Scalar> &model);
62#include "aligator/modelling/multibody/center-of-mass-velocity.hxx"
64#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
65#include "./center-of-mass-velocity.txx"
pinocchio::DataTpl< Scalar > PinData
PinData pin_data_
Pinocchio data object.
math_types< Scalar >::Matrix3Xs fJf_
Jacobian of the error.
CenterOfMassVelocityDataTpl(const CenterOfMassVelocityResidualTpl< Scalar > &model)
const Vector3s & getReference() const
shared_ptr< BaseData > createData() const
Instantiate a Data object.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
void evaluate(const ConstVectorRef &x, BaseData &data) const
void setReference(const Eigen::Ref< const Vector3s > &v_new)
CenterOfMassVelocityResidualTpl(const int ndx, const int nu, const shared_ptr< Model > &model, const Vector3s &frame_vel)
typename Base::Data BaseData
shared_ptr< Model > pin_model_
pinocchio::SE3Tpl< Scalar > SE3
ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar)
CenterOfMassVelocityDataTpl< Scalar > Data
pinocchio::ModelTpl< Scalar > Model
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
Base struct for function data.
const int nu
Control dimension.
StageFunctionDataTpl< Scalar > Data
Represents unary functions of the form , with no control (or next-state) arguments.