Jafar
|
We specify a quaternion with a unit, column 4-vector
with [a] the real part and [b c d]' the imaginary parts. This is equivalent to writing the true quaternion in quaternion space
with
NOTE: The products performed in quaternion space are indicated with a double asterisk as in (q1**q2). Matrix products are standard (A*v).
Quaternions are used for encoding rotations and orientations with the following convention:
1. Consider a world or global frame W and a local frame F.
2. q is used to encode the orientation of frame F wrt frame W. It may be written as q_wf.
3. Consider now a vector v = vx.i + vy.j + vz.k in quaternion space.
4. We name v_f and v_w the coordinates of v in frames W and F.
5. Then, if q_fw = (q_wf)' = a - bi - cj - dk is the conjugate of q_wf, we have
6. This is equivalent to the linear, rotation matrix forms
with
Some interesting functions involving quaternions are:
These functions are equipped with Jacobian computation for their use in algorithms requiring linearization, such as EKF.
See the documentation of quatTools.hpp for a full list of functions.
See the Function Jacobians page for information about Jacobian manipulation in RTSLAM.
Generated on Wed Oct 15 2014 00:37:30 for Jafar by doxygen 1.7.6.1 |