Content
    Matrix Exponential of Rigid-Body Motions

Exponential Coordinate Representation of Rigid-Body Motions

Every displacement of a rigid body can be expressed as a displacement along a fixed screw axis SS (Chasles-Mozzi theorem).

Exponential coordinates of a homogeneous transformation TT:

SθR6S\theta \in \mathbb{R}^6

With:

  • SS: Screw axis
  • θ\theta: distance to travel along screw axis to take a frame form II to TT

Matrix Exponential of Rigid-Body Motions

With S=(ω,v)=(Sω,Sv)S = (\omega, v) = (S_{\omega}, S_v) as screw axis:

  • if Sω=1\left\| S_{\omega} \right\| = 1 (ω=1\left\| \omega \right\| = 1) then for any distance θR\theta \in \mathbb{R} moved along SS:
e[S]θ=[e[ω]θ(Iθ+(1cosθ)[ω]+(θsinθ)[ω]2)v01]e^{[S]\theta} = \begin{bmatrix} e^{[\omega]\theta} & (I\theta + (1 - \cos \theta) [\omega] + (\theta - \sin \theta) [\omega]^2) v \\ 0 & 1 \end{bmatrix}
  • if Sω=0S_\omega = 0 (ω=0\omega = 0) and Sv=1\left\| S_v \right\| = 1 (v=1\left\| v \right\| = 1) then:
e[S]θ=[Ivθ01]e^{[S]\theta} = \begin{bmatrix} I & v\theta \\ 0 & 1 \end{bmatrix}

Every SE(3)SE(3) transformation can be expressed as an exponential function of a twist (se(3)se(3)).

Exp: [S]θse(3)TSE(3)[S]\theta \in se(3) \rightarrow T \in SE(3)

Matrix exponential is like integration

Matrix Logarithm of Rigid-Body Motions

Given: T=(R,p)SE(3)T = (R, p) \in SE(3)

Find:

  • θ[0,π]\theta \in [0, \pi]
  • S=(ω,v)R6S = (\omega, v) \in \mathbb{R}^6
    • at least one of ω\left\| \omega \right\| or v\left\| v \right\| is unity

Such that:

e[S]θ=Te^{[S]\theta} = T
  • SθR6S\theta \in \mathbb{R}^6: vector comprising exponential coordinates of TT
  • [S]θse(3)[S]\theta \in se(3): matrix representing logarithm of TT

Algorithm:

  1. if R=IR=I then ω=0\omega=0, v=p/pv = p / \left\| p \right\| and θ=p\theta = \left\| p \right\|
  2. otherwise:
    • calculate ω=ω^\omega = \hat{\omega} and θ\theta for RR (see matrix log on SO(3))
    • then: vv is calculated as v=G1(θ)pv = G^{-1}(\theta)p
    • with: G1(θ)=1θI12[ω]+(1θ12cotθ2)[ω]2G^{-1}(\theta) = \frac{1}{\theta}I - \frac{1}{2}[\omega] + \left( \frac{1}{\theta} - \frac{1}{2} \cot \frac{\theta}{2} \right) [\omega]^2

Log: TSE(3)[S]θse(3)T \in SE(3) \rightarrow [S]\theta \in se(3)

Matrix log is like differentiation

Displacement of a Frame

Fixed Frame (Space Frame)

Tsb=e[Sb]θTsbT_{sb'} = e^{[S_b]\theta}T_{sb} is the configuration achieved if SS is expressed in the fixed frame {s}\{s\}.

Body Frame

Tsb=Tsbe[Sb]θT_{sb''} = T_{sb}e^{[S_b]\theta} is the configuration achieved if SS is expressed in the body frame {b}\{b\}.

Literature

Notes taken from:

Modern Robotics: Mechanics, Planning, and Control by Kevin M. Lynch and Frank C. Park, Cambridge University Press, 2017



  • Category

  • Mathematics

  • Tags

  • Robotics

  • Created

  • 2. January 2021


  • Modified

  • 3. June 2023