Template Struct JointModelFreeFlyerTpl
Defined in File joint-free-flyer.hpp
Inheritance Relationships
Base Type
public pinocchio::JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > >(Template Struct JointModelBase)
Struct Documentation
-
template<typename _Scalar, int _Options>
struct JointModelFreeFlyerTpl : public pinocchio::JointModelBase<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).
Public Types
-
typedef JointModelBase<JointModelFreeFlyerTpl> Base
Public Functions
-
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
-
inline JointDataDerived createData() const
-
inline const std::vector<bool> hasConfigurationLimit() const
-
inline const std::vector<bool> hasConfigurationLimitInTangent() const
-
template<typename ConfigVectorLike>
inline void forwardKinematics(Transformation_t &M, const Eigen::MatrixBase<ConfigVectorLike> &q_joint) const
- template<typename Vector3Derived, typename QuaternionDerived> inline PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< Vector3Derived > &trans, const typename Eigen::QuaternionBase< QuaternionDerived > &quat) const
- template<typename ConfigVector> inline PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) const
- template<typename TangentVector> inline PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const Blank, const typename Eigen::MatrixBase< TangentVector > &vs) const
- template<typename ConfigVector, typename TangentVector> inline PINOCCHIO_DONT_INLINE void calc (JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) const
-
template<typename VectorLike, typename Matrix6Like>
inline void calc_aba(JointDataDerived &data, const Eigen::MatrixBase<VectorLike> &armature, const Eigen::MatrixBase<Matrix6Like> &I, const bool update_I) const
-
inline std::string shortname() const
-
template<typename NewScalar>
inline JointModelFreeFlyerTpl<NewScalar, Options> cast() const - Returns:
An expression of *this with the Scalar type casted to NewScalar.
-
inline JointIndex id() const
-
inline int idx_q() const
-
inline int idx_v() const
-
inline int idx_vExtended() const
-
inline void setIndexes(JointIndex id, int q, int v)
-
inline void setIndexes(JointIndex id, int q, int v, int vExtended)
Public Members
- EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointFreeFlyerTpl< _Scalar, _Options > JointDerived
Public Static Functions
-
static inline std::string classname()