Skip to content

Commit b5953e0

Browse files
authored
Merge pull request #2409 from stephane-caron/doc/free_flyer_config
doc: Document the JointModelFreeFlyerTpl structure
2 parents 6e64901 + 4116633 commit b5953e0

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

include/pinocchio/multibody/joint/joint-free-flyer.hpp

+24
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,30 @@ namespace pinocchio
253253

254254
}; // struct JointDataFreeFlyerTpl
255255

256+
/// @brief Free-flyer joint in \f$SE(3)\f$.
257+
///
258+
/// A free-flyer joint adds seven coordinates to the configuration space.
259+
/// Given a configuration vector `q`:
260+
///
261+
/// - `q[idx_q:idx_q + 3]` are the translation coordinates, in meters,
262+
/// representing the position of the child frame in the parent frame.
263+
/// - `q[idx_q + 3:idx_q + 7]` is a unit quaternion representing the rotation
264+
/// from the child frame to the parent frame, with quaternion coordinates
265+
/// ordered as (x, y, z, w).
266+
///
267+
/// Likewise, a free-flyer joint adds six coordinates to the tangent space.
268+
/// Let's consider a tangent vector `v`, say, a velocity vector. Following
269+
/// Featherstone's convention, all our tangent vectors are body rather than
270+
/// spatial vectors:
271+
///
272+
/// - `v[idx_v:idx_v + 3]` is the linear velocity, in meters / second,
273+
/// corresponding to the linear velocity of the child frame with respect
274+
/// to the parent frame, expressed in the child frame (body linear velocity
275+
/// of the child frame).
276+
/// - `v[idx_v + 3:idx_v + 6]` is the angular velocity, in radians / second,
277+
/// corresponding to the angular velocity from the child frame to the
278+
/// parent frame, expressed in the child frame (body angular velocity of the
279+
/// child frame).
256280
PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelFreeFlyerTpl);
257281
template<typename _Scalar, int _Options>
258282
struct JointModelFreeFlyerTpl : public JointModelBase<JointModelFreeFlyerTpl<_Scalar, _Options>>

0 commit comments

Comments
 (0)