6#include <pinocchio/multibody/model.hpp>
7#include <pinocchio/multibody/data.hpp>
8#include <pinocchio/multibody/frame.hpp>
9#include <proxsuite-nlp/third-party/polymorphic_cxx14.hpp>
13template <
typename Scalar>
struct FrameVelocityDataTpl;
15template <
typename _Scalar>
18 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
23 using Model = pinocchio::ModelTpl<Scalar>;
24 using ManifoldPtr = xyz::polymorphic<ManifoldAbstractTpl<Scalar>>;
25 using SE3 = pinocchio::SE3Tpl<Scalar>;
26 using Motion = pinocchio::MotionTpl<Scalar>;
33 const pinocchio::FrameIndex
id,
34 const pinocchio::ReferenceFrame type);
43 return std::make_shared<Data>(*
this);
48 pinocchio::ReferenceFrame
type_;
51template <
typename Scalar>
53 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
55 using Motion = pinocchio::MotionTpl<Scalar>;
65#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
66#include "aligator/modelling/multibody/frame-velocity.txx"
pinocchio::MotionTpl< Scalar > Motion
pinocchio::DataTpl< Scalar > pin_data_
Pinocchio data object.
FrameVelocityDataTpl(const FrameVelocityResidualTpl< Scalar > &model)
shared_ptr< BaseData > createData() const
Instantiate a Data object.
pinocchio::SE3Tpl< Scalar > SE3
void evaluate(const ConstVectorRef &x, BaseData &data) const
const Motion & getReference() const
FrameVelocityResidualTpl(const int ndx, const int nu, const Model &model, const Motion &velocity, const pinocchio::FrameIndex id, const pinocchio::ReferenceFrame type)
void setReference(const Motion &v_new)
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
pinocchio::MotionTpl< Scalar > Motion
pinocchio::ModelTpl< Scalar > Model
xyz::polymorphic< ManifoldAbstractTpl< Scalar > > ManifoldPtr
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
typename Base::Data BaseData
ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar)
pinocchio::ReferenceFrame type_
Base struct for function data.
StageFunctionDataTpl< _Scalar > Data
Represents unary functions of the form , with no control (or next-state) arguments.