6#include <pinocchio/multibody/model.hpp>
7#include <pinocchio/multibody/frame.hpp>
8#include <proxsuite-nlp/third-party/polymorphic_cxx14.hpp>
12template <
typename Scalar>
struct FrameTranslationDataTpl;
14template <
typename _Scalar>
16 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
21 using Model = pinocchio::ModelTpl<Scalar>;
22 using ManifoldPtr = xyz::polymorphic<ManifoldAbstractTpl<Scalar>>;
23 using SE3 = pinocchio::SE3Tpl<Scalar>;
29 const Vector3s &frame_trans,
30 const pinocchio::FrameIndex frame_id);
40 return std::make_shared<Data>(*
this);
47template <
typename Scalar>
49 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
51 using PinData = pinocchio::DataTpl<Scalar>;
57 typename math_types<Scalar>::Matrix6Xs
fJf_;
64#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
65#include "aligator/modelling/multibody/frame-translation.txx"
PinData pin_data_
Pinocchio data object.
FrameTranslationDataTpl(const FrameTranslationResidualTpl< Scalar > &model)
pinocchio::DataTpl< Scalar > PinData
math_types< Scalar >::Matrix6Xs fJf_
Jacobian of the error, local frame.
ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar)
void evaluate(const ConstVectorRef &x, BaseData &data) const
shared_ptr< BaseData > createData() const
Instantiate a Data object.
pinocchio::ModelTpl< Scalar > Model
const Vector3s & getReference() const
xyz::polymorphic< ManifoldAbstractTpl< Scalar > > ManifoldPtr
FrameTranslationResidualTpl(const int ndx, const int nu, const Model &model, const Vector3s &frame_trans, const pinocchio::FrameIndex frame_id)
pinocchio::SE3Tpl< Scalar > SE3
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
void setReference(const Eigen::Ref< const Vector3s > &p_new)
typename Base::Data BaseData
Base struct for function data.
StageFunctionDataTpl< _Scalar > Data
Represents unary functions of the form , with no control (or next-state) arguments.