template<typename TangentVector> PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const Blank , const typename Eigen::MatrixBase< TangentVector > &vs) consttemplate<typename ConfigVector> PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) consttemplate<typename ConfigVector, typename TangentVector> PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) consttemplate<typename Vector3Derived, typename QuaternionDerived> PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< Vector3Derived > &trans, const typename Eigen::QuaternionBase< QuaternionDerived > &quat) consttemplate<typename VectorLike, typename Matrix6Like> void calc_aba (JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) consttemplate<typename NewScalar> JointModelFreeFlyerTpl < NewScalar, Options > cast () constJointDataDerived createData () consttemplate<typename ConfigVectorLike> void forwardKinematics (Transformation_t &M, const Eigen::MatrixBase< ConfigVectorLike > &q_joint) constconst std::vector< bool > hasConfigurationLimit () constconst std::vector< bool > hasConfigurationLimitInTangent () constJointIndex id () constint idx_q () constint idx_v () constint 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 () constvoid calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs) constvoid calc_aba (JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I=false) constCastType < NewScalar, JointModelFreeFlyerTpl < _Scalar, _Options > >::type cast () constJointDataDerived createData () constJointModelDerived & derived ()void disp (std::ostream &os) constconst std::vector< bool > hasConfigurationLimit () constconst std::vector< bool > hasConfigurationLimitInTangent () constbool hasSameIndexes (const JointModelBase < OtherDerived > &other) constJointIndex id () constJointIndex id_impl () constint idx_q () constint idx_q_impl () constint idx_v () constint idx_v_impl () constint idx_vExtended () constint idx_vExtended_impl () constbool isEqual (const JointModelBase < OtherDerived > &) constSizeDepType < 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) constSizeDepType < NV >::template ColsReturn< D >::ConstType jointCols (const Eigen::MatrixBase< D > &A) constSizeDepType < NV >::template ColsReturn< D >::ConstType jointCols_impl (const Eigen::MatrixBase< D > &A) constSizeDepType < NQ >::template SegmentReturn< D >::ConstType jointConfigSelector (const Eigen::MatrixBase< D > &a) constSizeDepType < NQ >::template SegmentReturn< D >::ConstType jointConfigSelector_impl (const Eigen::MatrixBase< D > &a) constSizeDepType < NVExtended >::template BlockReturn< D >::ConstType jointExtendedModelBlock (const Eigen::MatrixBase< D > &Mat) constSizeDepType < NVExtended >::template BlockReturn< D >::ConstType jointExtendedModelBlock_impl (const Eigen::MatrixBase< D > &Mat) constSizeDepType < NVExtended >::template ColsReturn< D >::ConstType jointExtendedModelCols (const Eigen::MatrixBase< D > &A) constSizeDepType < NVExtended >::template ColsReturn< D >::ConstType jointExtendedModelCols_impl (const Eigen::MatrixBase< D > &A) constSizeDepType < NVExtended >::template RowsReturn< D >::ConstType jointExtendedModelRows (const Eigen::MatrixBase< D > &A) constSizeDepType < NVExtended >::template RowsReturn< D >::ConstType jointExtendedModelRows_impl (const Eigen::MatrixBase< D > &A) constSizeDepType < NQ >::template SegmentReturn< D >::ConstType JointMappedConfigSelector (const Eigen::MatrixBase< D > &a) constSizeDepType < NQ >::template SegmentReturn< D >::ConstType JointMappedConfigSelector_impl (const Eigen::MatrixBase< D > &a) constSizeDepType < NV >::template SegmentReturn< D >::ConstType JointMappedVelocitySelector (const Eigen::MatrixBase< D > &a) constSizeDepType < NV >::template SegmentReturn< D >::ConstType JointMappedVelocitySelector_impl (const Eigen::MatrixBase< D > &a) constSizeDepType < NV >::template RowsReturn< D >::ConstType jointRows (const Eigen::MatrixBase< D > &A) constSizeDepType < NV >::template RowsReturn< D >::ConstType jointRows_impl (const Eigen::MatrixBase< D > &A) constSizeDepType < NV >::template SegmentReturn< D >::ConstType jointVelocitySelector (const Eigen::MatrixBase< D > &a) constSizeDepType < NV >::template SegmentReturn< D >::ConstType jointVelocitySelector_impl (const Eigen::MatrixBase< D > &a) constint nq () constint nq_impl () constint nv () constint nv_impl () constint nvExtended () constint nvExtended_impl () constbool operator!= (const JointModelBase < OtherDerived > &other) constbool 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
template<typename _Scalar, int _Options> struct pinocchio::JointModelFreeFlyerTpl< _Scalar, _Options >
Free-flyer joint in .
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 .