Free-flyer joint in \(SE(3)\). More...
#include <pinocchio/multibody/joint/joint-free-flyer.hpp>
Public Types | |
typedef JointModelBase< JointModelFreeFlyerTpl > | Base |
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< Derived > | |
typedef traits< Derived >::Scalar | Scalar |
Public Member Functions | |
template<typename TangentVector > | |
EIGEN_DONT_INLINE void | calc (JointDataDerived &data, const Blank, const typename Eigen::MatrixBase< TangentVector > &vs) const |
template<typename ConfigVector > | |
EIGEN_DONT_INLINE void | calc (JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) const |
template<typename ConfigVector , typename TangentVector > | |
EIGEN_DONT_INLINE void | calc (JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) const |
template<typename Vector3Derived , typename QuaternionDerived > | |
EIGEN_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 |
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE (JointDerived) | |
void | setIndexes (JointIndex id, int q, int v) |
std::string | shortname () const |
Public Member Functions inherited from JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > > | |
void | calc (JointDataDerived &data, const Blank not_used, const Eigen::MatrixBase< TangentVectorType > &vs) const |
void | calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs) const |
void | calc (JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs, const Eigen::MatrixBase< TangentVectorType > &vs) 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 () |
const JointModelDerived & | derived () const |
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 |
bool | isEqual (const JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > > &other) 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 >::Type | jointBlock (Eigen::MatrixBase< D > &Mat) const |
SizeDepType< NV >::template BlockReturn< D >::ConstType | jointBlock_impl (const Eigen::MatrixBase< D > &Mat) const |
SizeDepType< NV >::template BlockReturn< D >::Type | jointBlock_impl (Eigen::MatrixBase< D > &Mat) const |
SizeDepType< NV >::template ColsReturn< D >::ConstType | jointCols (const Eigen::MatrixBase< D > &A) const |
SizeDepType< NV >::template ColsReturn< D >::Type | jointCols (Eigen::MatrixBase< D > &A) const |
SizeDepType< NV >::template ColsReturn< D >::ConstType | jointCols_impl (const Eigen::MatrixBase< D > &A) const |
SizeDepType< NV >::template ColsReturn< D >::Type | jointCols_impl (Eigen::MatrixBase< D > &A) const |
SizeDepType< NQ >::template SegmentReturn< D >::ConstType | jointConfigSelector (const Eigen::MatrixBase< D > &a) const |
SizeDepType< NQ >::template SegmentReturn< D >::Type | jointConfigSelector (Eigen::MatrixBase< D > &a) const |
SizeDepType< NQ >::template SegmentReturn< D >::ConstType | jointConfigSelector_impl (const Eigen::MatrixBase< D > &a) const |
SizeDepType< NQ >::template SegmentReturn< D >::Type | jointConfigSelector_impl (Eigen::MatrixBase< D > &a) const |
SizeDepType< NV >::template RowsReturn< D >::ConstType | jointRows (const Eigen::MatrixBase< D > &A) const |
SizeDepType< NV >::template RowsReturn< D >::Type | jointRows (Eigen::MatrixBase< D > &A) const |
SizeDepType< NV >::template RowsReturn< D >::ConstType | jointRows_impl (const Eigen::MatrixBase< D > &A) const |
SizeDepType< NV >::template RowsReturn< D >::Type | jointRows_impl (Eigen::MatrixBase< D > &A) const |
SizeDepType< NV >::template SegmentReturn< D >::ConstType | jointVelocitySelector (const Eigen::MatrixBase< D > &a) const |
SizeDepType< NV >::template SegmentReturn< D >::Type | jointVelocitySelector (Eigen::MatrixBase< D > &a) const |
SizeDepType< NV >::template SegmentReturn< D >::ConstType | jointVelocitySelector_impl (const Eigen::MatrixBase< D > &a) const |
SizeDepType< NV >::template SegmentReturn< D >::Type | jointVelocitySelector_impl (Eigen::MatrixBase< D > &a) const |
int | nq () const |
int | nq_impl () const |
int | nv () const |
int | nv_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) |
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 () | |
JointModelBase (const JointModelBase &clone) | |
JointModelBase & | operator= (const JointModelBase &clone) |
Protected Attributes inherited from JointModelBase< JointModelFreeFlyerTpl< _Scalar, _Options > > | |
JointIndex | i_id |
int | i_q |
int | i_v |
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 282 of file joint-free-flyer.hpp.
|
inline |
Definition at line 401 of file joint-free-flyer.hpp.