Nonmenclature

  • Special Orthogonal Group (SO):
    • det = 1
    • R1=RTR^{-1} = R^T
  • Special Euclidean Group (SE):
    • for SE(3) it’s a 4×44\times 4 matrix, namely the transformation matrix

Introduction: Least Square Method in Robotics

For pose control and estimation, usually we have a linear form f:RkRf: \mathbb R^k \to \mathbb R to evaluate the target value and minimize that value.
The most difficult step is to find a Δx\Delta x, s.t. f(x+Δx)f(x)2<f(x)2||f(x+\Delta x) - f(x) ||^2 < ||f(x)||^2 until the Δx\Delta x is too small.
For example, in the camera coordinate, we have measured pose pp, and the robot has pose SE TT, and the measured pose in world coordinate zz:

z=Tpz = Tp

For measurement noise ww, we have z=Tp+wz = Tp + w, and in consideration of measure error, we have e=zTpe = z - Tp, and clearly we need to minimize the error ee or say minimize the displacement error e2||e||_2, and what we can modify is the transformation matrix TT.
By the method of estimation in statistics, the formula would be like the following:

argminTJ(T)=argminTi=1NziTpi22\arg\min_T J(T) = \arg\min_T\sum_{i=1}^N ||z_i - Tp_i||_2^2

Like the method of maximum likelihood estimation, we should calculate the derivative of the function, and clearly the rotation matrix RR is not closed on the (R,+)(R, +) group space, thus it’s our purpose to find a better method, which we will introduced as Lie Theory.

Definition: Lie Algebra

For simple SO(3), the rotation matrix, it holds the invariant:

R(t)RT(t)=IR(t) R^T(t) = I

By differentiate both sides, it becomes

R˙(t)RT(t)+R(t)R˙T(t)=0\dot R(t) R^T(t) + R(t)\dot R^T(t) = 0

R˙(t)RT(t)=(R˙(t)RT(t))T\dot R(t)R^T(t) = -(\dot R(t)R^T(t))^T

which means that the R˙(t)RT(t)\dot R(t) R^T(t) is a anti-symmetric matrix, which thus could be expressed in the form of ϕ(t)\phi(t)^{\wedge}. And then we right multiply a R(t)R(t) to both sides below, and obtain:

R˙(t)RT(t)=ϕ(t)R˙(t)=ϕ(t)R(t)\dot R(t)R^T(t) = \phi(t)^\wedge \Leftrightarrow \dot R(t) = \phi(t)^\wedge R(t)

Namely for any R(t)SOR(t)\in SO, its derivative is equal to left multiply a anti-symmetric matrix ϕ(t)\phi(t)^\wedge
Then we do Taylor Expansion (1 level) near time t0=0t_0=0 and get

R(t)=R(t0)+R˙(t0)(tt0)R(t) = R(t_0) + \dot R(t_0) (t - t_0)

R(t)=I+ϕ(t0)(t)R(t) = I + \phi(t_0)^\wedge (t)

and we have that R˙(t)=ϕ(t)R(t)\dot R(t) = \phi(t)^\wedge R(t), where near t0t_0 the ϕ(t)\phi(t) is always the same as ϕ(t0)ϕ0\phi(t_0)\approx \phi_0^\wedge, with initial value problem R(0)=IR(0) = I.
This is a typical linear ODE with solution

R(t)=eϕ0tR(t) = e^{\phi_0^\wedge t}

Since ϕ\phi^\wedge reflect the property of R(t)R(t), thus it’s in the R(t)R(t)'s tangent space near tt

Operation Method

Here we introduce the Lie Brackets [,]:R3×R3R3[,]:\mathbb R^3\times \mathbb R^3 \to \mathbb R^3, where Φ:=ϕ\Phi := \phi^\wedge is the matrix form of the rotation vector ϕ\phi, and :SO(3)R3\vee: SO(3)\to \mathbb R^3 is the reverse process of ()(\cdot) ^\wedge

[ϕ1,ϕ2]=(Φ1Φ2Φ2Φ1)[\phi_1, \phi_2] = (\Phi_1\Phi_2 - \Phi_2\Phi_1)^\vee

In SO(3)SO(3), the (Φ1Φ2Φ2Φ1)=ϕ1×ϕ2(\Phi_1\Phi_2 - \Phi_2\Phi_1)^\vee = \phi_1\times \phi_2, thus the lie operator is the same as cross product in SO(3)SO(3) (note here Φ1ϕ2=ϕ1×ϕ2(Φ1Φ2)\Phi_1\phi_2 = \phi_1\times \phi_2\neq (\Phi_1 \Phi_2)^\vee)
Here are some other properties:

  • [x,x]=0[x,x] = 0
  • [x,[y,z]]+[y,[z,x]]+[z,[x,y]]=0[x,[y,z]]+ [y,[z,x]] + [z,[x,y]] = 0
    And the Lie’s definition for so\mathfrak {so} is like so(3):={ϕR3Φ=ϕR3×3}\mathfrak {so}(3) := \{\phi\in \mathbb R^3| \Phi = \phi^\wedge \in \mathbb R^{3\times3}\}

Lie definition for se(3)\mathfrak {se}(3)

Similarly as following:

se(3)={ξ:=[pθ]R6,ξ:=[ϕp00]R4×4}\mathfrak{se}(3) = \{\xi:= \begin{bmatrix}p\\\theta\end{bmatrix}\in \mathbb R^6,\xi^\wedge :=\begin{bmatrix}\phi^\wedge & p \\ 0 & 0 \end{bmatrix}\in \mathbb R^{4\times 4}\}

where :R6R4×4\wedge: \mathbb R^6\to \mathbb R^{4\times 4}