6#include <pinocchio/multibody/geometry.hpp>
7#include <pinocchio/multibody/model.hpp>
8#include <pinocchio/multibody/frame.hpp>
9#include <pinocchio/algorithm/geometry.hpp>
11#include <proxsuite-nlp/third-party/polymorphic_cxx14.hpp>
17template <
typename _Scalar>
20 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
25 using Model = pinocchio::ModelTpl<Scalar>;
26 using ManifoldPtr = xyz::polymorphic<ManifoldAbstractTpl<Scalar>>;
27 using SE3 = pinocchio::SE3Tpl<Scalar>;
36 const pinocchio::PairIndex frame_pair_id)
54 return allocate_shared_eigen_aligned<Data>(*
this);
63template <
typename Scalar>
65 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
67 using PinData = pinocchio::DataTpl<Scalar>;
76 typename math_types<Scalar>::Matrix6Xs
Jcol_;
77 typename math_types<Scalar>::Matrix6Xs
Jcol2_;
90#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
91#include "aligator/modelling/multibody/frame-collision.txx"
FrameCollisionDataTpl(const FrameCollisionResidualTpl< Scalar > &model)
pinPlacement jointToP1_
Placement of collision point to joint.
math_types< Scalar >::Matrix6Xs Jcol2_
StageFunctionDataTpl< Scalar > Base
math_types< Scalar >::Matrix6Xs Jcol_
Jacobian of the collision point.
pinocchio::DataTpl< Scalar > PinData
PinData pin_data_
Pinocchio data object.
pinocchio::GeometryData geometry_
Pinocchio geometry object.
pinocchio::GeometryData PinGeom
math_types< Scalar >::Vector3s distance_
Distance from nearest point to joint for each collision frame.
pinocchio::SE3 pinPlacement
math_types< Scalar >::Vector3s distance2_
pinocchio::SE3Tpl< Scalar > SE3
pinocchio::PairIndex frame_pair_id_
xyz::polymorphic< ManifoldAbstractTpl< Scalar > > ManifoldPtr
shared_ptr< BaseData > createData() const
Instantiate a Data object.
FrameCollisionResidualTpl(const int ndx, const int nu, const Model &model, const GeometryModel &geom_model, const pinocchio::PairIndex frame_pair_id)
GeometryModel geom_model_
void computeJacobians(const ConstVectorRef &x, BaseData &data) const
ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar)
pinocchio::FrameIndex frame_id1_
typename Base::Data BaseData
pinocchio::ModelTpl< Scalar > Model
pinocchio::FrameIndex frame_id2_
FrameCollisionDataTpl< Scalar > Data
void evaluate(const ConstVectorRef &x, BaseData &data) const
pinocchio::GeometryModel GeometryModel
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
StageFunctionDataTpl(const int ndx, const int nu, const int nr)
const int nu
Control dimension.
StageFunctionDataTpl< Scalar > Data
Represents unary functions of the form , with no control (or next-state) arguments.
StageFunctionTpl< Scalar > Base