Link

trexp

Matrix exponential for so(3) and se(3)

For so(3)

R = TREXP(OMEGA) is the matrix exponential (3×3) of the so(3) element OMEGA that yields a rotation matrix (3×3).

R = TREXP(OMEGA, THETA) as above, but so(3) motion of THETA*OMEGA.

R = TREXP(S, THETA) as above, but rotation of THETA about the unit vector S.

R = TREXP(W) as above, but the so(3) value is expressed as a vector W (1×3) where W = S * THETA. Rotation by ||W|| about the vector W.

For se(3)

T = TREXP(SIGMA) is the matrix exponential (4×4) of the se(3) element SIGMA that yields a homogeneous transformation matrix (4×4).

T = TREXP(SIGMA, THETA) as above, but se(3) motion of SIGMA*THETA, the rotation part of SIGMA (4×4) must be unit norm.

T = TREXP(TW) as above, but the se(3) value is expressed as a twist vector TW (1×6).

T = TREXP(TW, THETA) as above, but se(3) motion of TW*THETA, the rotation part of TW (1×6) must be unit norm.

Notes

  • Efficient closed-form solution of the matrix exponential for arguments that are so(3) or se(3).
  • If THETA is given then the first argument must be a unit vector or a skew-symmetric matrix from a unit vector.
  • Angle vector argument order is different to ANGVEC2R.

References

  • Robotics, Vision & Control: Second Edition, P. Corke, Springer 2016; p42-43.
  • Mechanics, planning and control, Park & Lynch, Cambridge, 2017.

See also

angvec2r, trlog, trexp2, skew, skewa, Twist