6#include <pinocchio/multibody/model.hpp>
7#include <pinocchio/multibody/frame.hpp>
30template <
typename _Scalar>
33 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
38 using Model = pinocchio::ModelTpl<Scalar>;
39 using PolyManifold = xyz::polymorphic<ManifoldAbstractTpl<Scalar>>;
40 using SE3 = pinocchio::SE3Tpl<Scalar>;
46 const pinocchio::FrameIndex frame_id1,
47 const pinocchio::FrameIndex frame_id2,
48 const SE3 &f1Mf2_ref = SE3::Identity())
69 return std::make_shared<Data>(*
this);
78template <
typename Scalar>
80 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
82 using PinData = pinocchio::DataTpl<Scalar>;
83 using SE3 = pinocchio::SE3Tpl<Scalar>;
99#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
pinocchio::DataTpl< Scalar > PinData
math_types< Scalar >::Matrix6Xs wJf1_
Jacobian of frame 1 expressed in WORLD.
StageFunctionDataTpl< Scalar > Base
pinocchio::SE3Tpl< Scalar > SE3
SE3 RMf2_
Equality error between the frames.
math_types< Scalar >::Matrix6s RJlog6f2_
Jacobian of the error (log6)
FrameEqualityDataTpl(const FrameEqualityResidualTpl< Scalar > &model)
math_types< Scalar >::Matrix6Xs wJf2_
Jacobian of frame 2 expressed in WORLD.
PinData pin_data_
Pinocchio data object.
Residual enforcing equality between two Pinocchio frames.
void setFrame1Id(const std::size_t id)
pinocchio::ModelTpl< Scalar > Model
FrameEqualityDataTpl< Scalar > Data
pinocchio::FrameIndex pin_frame_id1_
ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar)
void setReference(const SE3 &f1Mf2_ref)
xyz::polymorphic< ManifoldAbstractTpl< Scalar > > PolyManifold
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
FrameEqualityResidualTpl(const int ndx, const int nu, const Model &model, const pinocchio::FrameIndex frame_id1, const pinocchio::FrameIndex frame_id2, const SE3 &f1Mf2_ref=SE3::Identity())
const SE3 & getReference() const
void setFrame2Id(const std::size_t id)
pinocchio::FrameIndex getFrame2Id() const
shared_ptr< BaseData > createData() const
Instantiate a Data object.
pinocchio::FrameIndex pin_frame_id2_
void evaluate(const ConstVectorRef &x, BaseData &data) const
StageFunctionDataTpl< Scalar > BaseData
pinocchio::FrameIndex getFrame1Id() const
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
pinocchio::SE3Tpl< Scalar > SE3
Base struct for function data.
StageFunctionDataTpl(const int ndx, const int nu, const int nr)
const int nu
Control dimension.
Represents unary functions of the form , with no control (or next-state) arguments.
StageFunctionTpl< Scalar > Base
Typedefs for math (Eigen vectors, matrices) depending on scalar type.