pinocchio  3.9.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
JointModelFreeFlyerTpl< _Scalar, _Options > Struct Template Reference

Free-flyer joint in $SE(3)$. More...

#include <pinocchio/multibody/joint/joint-free-flyer.hpp>

Inheritance diagram for JointModelFreeFlyerTpl< _Scalar, _Options >:
Collaboration diagram for JointModelFreeFlyerTpl< _Scalar, _Options >:

Public Types

typedef JointModelBase< JointModelFreeFlyerTplBase
typedef JointFreeFlyerTpl< _Scalar, _Options > JointDerived
Public Types inherited from JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > >
typedef traits< JointModelFreeFlyerTpl< _Scalar, _Options > >::JointDerived JointDerived
Public Types inherited from NumericalBase< JointModelFreeFlyerTpl< _Scalar, _Options > >
typedef traits< JointModelFreeFlyerTpl< _Scalar, _Options > >::Scalar Scalar

Public Member Functions

template<typename TangentVector>
PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const Blank, const typename Eigen::MatrixBase< TangentVector > &vs) const
template<typename ConfigVector>
PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) const
template<typename ConfigVector, typename TangentVector>
PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) const
template<typename Vector3Derived, typename QuaternionDerived>
PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< Vector3Derived > &trans, const typename Eigen::QuaternionBase< QuaternionDerived > &quat) const
template<typename VectorLike, typename Matrix6Like>
void calc_aba (JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
template<typename NewScalar>
JointModelFreeFlyerTpl< NewScalar, Options > cast () const
JointDataDerived createData () const
template<typename ConfigVectorLike>
void forwardKinematics (Transformation_t &M, const Eigen::MatrixBase< ConfigVectorLike > &q_joint) const
const std::vector< bool > hasConfigurationLimit () const
const std::vector< bool > hasConfigurationLimitInTangent () const
JointIndex id () const
int idx_q () const
int idx_v () const
int idx_vExtended () const
 PINOCCHIO_JOINT_TYPEDEF_TEMPLATE (JointDerived)
void setIndexes (JointIndex id, int q, int v)
void setIndexes (JointIndex id, int q, int v, int vExtended)
std::string shortname () const
Public Member Functions inherited from JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > >
void calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs) const
void calc_aba (JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I=false) const
CastType< NewScalar, JointModelFreeFlyerTpl< _Scalar, _Options > >::type cast () const
JointDataDerived createData () const
JointModelDerived & derived ()
void disp (std::ostream &os) const
const std::vector< bool > hasConfigurationLimit () const
const std::vector< bool > hasConfigurationLimitInTangent () const
bool hasSameIndexes (const JointModelBase< OtherDerived > &other) const
JointIndex id () const
JointIndex id_impl () const
int idx_q () const
int idx_q_impl () const
int idx_v () const
int idx_v_impl () const
int idx_vExtended () const
int idx_vExtended_impl () const
bool isEqual (const JointModelBase< OtherDerived > &) const
SizeDepType< NV >::template BlockReturn< D >::ConstType jointBlock (const Eigen::MatrixBase< D > &Mat) const
 Returns a block of dimension nv()xnv() located at position idx_v(),idx_v() in the matrix Mat.
SizeDepType< NV >::template BlockReturn< D >::ConstType jointBlock_impl (const Eigen::MatrixBase< D > &Mat) const
SizeDepType< NV >::template ColsReturn< D >::ConstType jointCols (const Eigen::MatrixBase< D > &A) const
SizeDepType< NV >::template ColsReturn< D >::ConstType jointCols_impl (const Eigen::MatrixBase< D > &A) const
SizeDepType< NQ >::template SegmentReturn< D >::ConstType jointConfigSelector (const Eigen::MatrixBase< D > &a) const
SizeDepType< NQ >::template SegmentReturn< D >::ConstType jointConfigSelector_impl (const Eigen::MatrixBase< D > &a) const
SizeDepType< NVExtended >::template BlockReturn< D >::ConstType jointExtendedModelBlock (const Eigen::MatrixBase< D > &Mat) const
SizeDepType< NVExtended >::template BlockReturn< D >::ConstType jointExtendedModelBlock_impl (const Eigen::MatrixBase< D > &Mat) const
SizeDepType< NVExtended >::template ColsReturn< D >::ConstType jointExtendedModelCols (const Eigen::MatrixBase< D > &A) const
SizeDepType< NVExtended >::template ColsReturn< D >::ConstType jointExtendedModelCols_impl (const Eigen::MatrixBase< D > &A) const
SizeDepType< NVExtended >::template RowsReturn< D >::ConstType jointExtendedModelRows (const Eigen::MatrixBase< D > &A) const
SizeDepType< NVExtended >::template RowsReturn< D >::ConstType jointExtendedModelRows_impl (const Eigen::MatrixBase< D > &A) const
SizeDepType< NQ >::template SegmentReturn< D >::ConstType JointMappedConfigSelector (const Eigen::MatrixBase< D > &a) const
SizeDepType< NQ >::template SegmentReturn< D >::ConstType JointMappedConfigSelector_impl (const Eigen::MatrixBase< D > &a) const
SizeDepType< NV >::template SegmentReturn< D >::ConstType JointMappedVelocitySelector (const Eigen::MatrixBase< D > &a) const
SizeDepType< NV >::template SegmentReturn< D >::ConstType JointMappedVelocitySelector_impl (const Eigen::MatrixBase< D > &a) const
SizeDepType< NV >::template RowsReturn< D >::ConstType jointRows (const Eigen::MatrixBase< D > &A) const
SizeDepType< NV >::template RowsReturn< D >::ConstType jointRows_impl (const Eigen::MatrixBase< D > &A) const
SizeDepType< NV >::template SegmentReturn< D >::ConstType jointVelocitySelector (const Eigen::MatrixBase< D > &a) const
SizeDepType< NV >::template SegmentReturn< D >::ConstType jointVelocitySelector_impl (const Eigen::MatrixBase< D > &a) const
int nq () const
int nq_impl () const
int nv () const
int nv_impl () const
int nvExtended () const
int nvExtended_impl () const
bool operator!= (const JointModelBase< OtherDerived > &other) const
bool operator== (const JointModelBase< OtherDerived > &other) const
 PINOCCHIO_JOINT_TYPEDEF_TEMPLATE (JointDerived)
void setIndexes (JointIndex id, int q, int v)
void setIndexes_impl (JointIndex id, int q, int v, int vExtended)
std::string shortname () const

Static Public Member Functions

static std::string classname ()
Static Public Member Functions inherited from JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > >
static std::string classname ()

Additional Inherited Members

Protected Member Functions inherited from JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > >
 JointModelBase ()
JointModelBaseoperator= (const JointModelBase &clone)
Protected Attributes inherited from JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > >
JointIndex i_id
int i_q
int i_v
int i_vExtended

Detailed Description

template<typename _Scalar, int _Options>
struct pinocchio::JointModelFreeFlyerTpl< _Scalar, _Options >

Free-flyer joint in $SE(3)$.

A free-flyer joint adds seven coordinates to the configuration space. Given a configuration vector q:

  • q[idx_q:idx_q + 3] are the translation coordinates, in meters, representing the position of the child frame in the parent frame.
  • q[idx_q + 3:idx_q + 7] is a unit quaternion representing the rotation from the child frame to the parent frame, with quaternion coordinates ordered as (x, y, z, w).

Likewise, a free-flyer joint adds six coordinates to the tangent space. Let's consider a tangent vector v, say, a velocity vector. Following Featherstone's convention, all our tangent vectors are body rather than spatial vectors:

  • v[idx_v:idx_v + 3] is the linear velocity, in meters / second, corresponding to the linear velocity of the child frame with respect to the parent frame, expressed in the child frame (body linear velocity of the child frame).
  • v[idx_v + 3:idx_v + 6] is the angular velocity, in radians / second, corresponding to the angular velocity from the child frame to the parent frame, expressed in the child frame (body angular velocity of the child frame).

Definition at line 285 of file joint-free-flyer.hpp.

Member Typedef Documentation

◆ Base

template<typename _Scalar, int _Options>
typedef JointModelBase<JointModelFreeFlyerTpl> Base

Definition at line 291 of file joint-free-flyer.hpp.

◆ JointDerived

template<typename _Scalar, int _Options>
typedef JointFreeFlyerTpl<_Scalar, _Options> JointDerived

Definition at line 288 of file joint-free-flyer.hpp.

Member Function Documentation

◆ calc() [1/4]

template<typename _Scalar, int _Options>
template<typename TangentVector>
PINOCCHIO_DONT_INLINE void calc(JointDataDerived &data,
const Blank,
const typename Eigen::MatrixBase< TangentVector > &vs ) const
inline

Definition at line 357 of file joint-free-flyer.hpp.

◆ calc() [2/4]

template<typename _Scalar, int _Options>
template<typename ConfigVector>
PINOCCHIO_DONT_INLINE void calc(JointDataDerived &data,
const typename Eigen::MatrixBase< ConfigVector > &qs ) const
inline

Definition at line 344 of file joint-free-flyer.hpp.

◆ calc() [3/4]

template<typename _Scalar, int _Options>
template<typename ConfigVector, typename TangentVector>
PINOCCHIO_DONT_INLINE void calc(JointDataDerived &data,
const typename Eigen::MatrixBase< ConfigVector > &qs,
const typename Eigen::MatrixBase< TangentVector > &vs ) const
inline

Definition at line 365 of file joint-free-flyer.hpp.

◆ calc() [4/4]

template<typename _Scalar, int _Options>
template<typename Vector3Derived, typename QuaternionDerived>
PINOCCHIO_DONT_INLINE void calc(JointDataDerived &data,
const typename Eigen::MatrixBase< Vector3Derived > &trans,
const typename Eigen::QuaternionBase< QuaternionDerived > &quat ) const
inline

Definition at line 333 of file joint-free-flyer.hpp.

◆ calc_aba()

template<typename _Scalar, int _Options>
template<typename VectorLike, typename Matrix6Like>
void calc_aba(JointDataDerived &data,
const Eigen::MatrixBase< VectorLike > &armature,
const Eigen::MatrixBase< Matrix6Like > &I,
const boolupdate_I ) const
inline

Definition at line 377 of file joint-free-flyer.hpp.

◆ cast()

template<typename _Scalar, int _Options>
template<typename NewScalar>
JointModelFreeFlyerTpl< NewScalar, Options > cast()const
inline
Returns
An expression of *this with the Scalar type casted to NewScalar.

Definition at line 405 of file joint-free-flyer.hpp.

◆ classname()

template<typename _Scalar, int _Options>
std::string classname()
inlinestatic

Definition at line 394 of file joint-free-flyer.hpp.

◆ createData()

template<typename _Scalar, int _Options>
JointDataDerived createData()const
inline

Definition at line 298 of file joint-free-flyer.hpp.

◆ forwardKinematics()

template<typename _Scalar, int _Options>
template<typename ConfigVectorLike>
void forwardKinematics(Transformation_t &M,
const Eigen::MatrixBase< ConfigVectorLike > &q_joint ) const
inline

Definition at line 314 of file joint-free-flyer.hpp.

◆ hasConfigurationLimit()

template<typename _Scalar, int _Options>
const std::vector< bool > hasConfigurationLimit()const
inline

Definition at line 303 of file joint-free-flyer.hpp.

◆ hasConfigurationLimitInTangent()

template<typename _Scalar, int _Options>
const std::vector< bool > hasConfigurationLimitInTangent()const
inline

Definition at line 308 of file joint-free-flyer.hpp.

◆ id()

template<typename _Scalar, int _Options>
JointIndex id()const
inline

Definition at line 183 of file joint-model-base.hpp.

◆ idx_q()

template<typename _Scalar, int _Options>
int idx_q()const
inline

Definition at line 171 of file joint-model-base.hpp.

◆ idx_v()

template<typename _Scalar, int _Options>
int idx_v()const
inline

Definition at line 175 of file joint-model-base.hpp.

◆ idx_vExtended()

template<typename _Scalar, int _Options>
int idx_vExtended()const
inline

Definition at line 179 of file joint-model-base.hpp.

◆ setIndexes() [1/2]

template<typename _Scalar, int _Options>
void setIndexes(JointIndexid,
intq,
intv )
inline

Definition at line 205 of file joint-model-base.hpp.

◆ setIndexes() [2/2]

template<typename _Scalar, int _Options>
void setIndexes(JointIndexid,
intq,
intv,
intvExtended )
inline

Definition at line 210 of file joint-model-base.hpp.

◆ shortname()

template<typename _Scalar, int _Options>
std::string shortname()const
inline

Definition at line 398 of file joint-free-flyer.hpp.


The documentation for this struct was generated from the following files: