Lie Groups for Beginners

作者:Frank Dellaert
February 7, 2016

1. Motivation: Rigid Motions in the Plane

我們從平面移動機器人的一個小例子開始,平面中的移動機器人蔘數化爲(x,y,θ)(x, y, \theta)。當我們給定一個微小的前進速度vxv_x,我們知道位置的變化
x˙=vx \dot x = v_x
是下面微分方程的解,機器人的初始化位置爲x0x_0
xt=x0+vxt x_t = x_0 + v_x t
與此類似,我們可以得到y方向上的平移,事實上,對於平移(x和y方向),一般情況下我們有
(xt,yt,θt)=(x0+vxt,y0+vyt,θ0) (x_t, y_t, \theta_t) = (x_0 + v_xt, y_0+v_yt, \theta_0)
類似的,對於旋轉我們有
(xt,yt,θt)=(x0,y0,θ0+ωt) (x_t, y_t, \theta_t) = (x_0, y_0, \theta_0 + \omega t)
其中ω\omega是角速度,測量逆時針方向,單位爲rad/s.

然而,如果我們將平移和旋轉結合起來,則不成立了!我們不能寫作
(xt,yt,θt)=(x0+vxt,y0+vyt,θ0+ωt) (x_t, y_t, \theta_t) = (x_0 +v_x t , y_0 + v_yt, \theta_0 + \omega t)
原因是,如果我們根據速度向量(vx,vy,ω)(v_x, v_y,\omega)移動機器人一個微小量,我們有(一階近似)
(xδ,yδ,θδ)=(x0+vxδ,y0+vyδ,θ0+ωδ) (x_\delta, y_\delta, \theta_\delta) = (x_0 + v_x \delta, y_0 + v_y \delta, \theta_0 + \omega \delta)
但是現在機器人有旋轉,對於接下來的增量,速度向量在應用之前被旋轉。事實上,機器人在圓形軌跡上運動。
Robot moving along a circular trajectory.

原因是平移和旋轉不能夠交換:先平移後旋轉跟先旋轉後平移到達不同的位置,正像說的:如果旋轉和平移可以交換,那麼我們可以在離開家之前做完所有的旋轉。

Approximating a circular trajectory with n steps
爲了更近一步,我們必須更加精確的描述機器人如何表現。具體的說,讓我們定義T1,T2T_1, T_2的組合爲
T1T2=(x1,y1,θ1)(x2,y2,θ2)=(x1+cosθ1x2sinθ1y2,y1+sinθ1x2+cosθ1y2,θ1+θ2 T_1 T_2 = (x_1, y_1, \theta_1)(x_2, y_2, \theta_2) = (x_1+\cos \theta_1 x_2-\sin \theta_1 y_2, y_1+\sin \theta_1 x_2 + \cos \theta_1 y_2, \theta_1 + \theta_2)
這有點笨拙,所以我們求助於一個技巧:將2D位姿嵌入3×3矩陣的空間中,因此我們可以定義爲矩陣乘法組合:
T1T2=[R1t101][R2t201]=[R1R2R1t2+t101] T_1 T_2 = \begin{bmatrix} R_1 & t_1 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} R_2 & t_2 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} R_1 R_2 & R_1 t_2 + t_1 \\ 0 & 1 \end{bmatrix}
其中矩陣RR是2D旋轉矩陣,定義爲
R=[cosθsinθsinθcosθ] R = \begin{bmatrix} \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end{bmatrix}

現在,機器人做極小的運動可以寫爲
T(δ)=[cosωδsinωδvxδsinωδcosωδvyδ001][1ωδvxδωδ1vyδ001]=I+δ[0ωvxω0vy000] T(\delta)=\begin{bmatrix} \cos \omega \delta & -\sin \omega \delta & v_x \delta \\ \sin \omega \delta & \cos \omega \delta & v_y \delta \\ 0 & 0 & 1 \end{bmatrix} \approx \begin{bmatrix} 1 & -\omega \delta & v_x \delta \\ \omega \delta & 1 & v_y \delta \\ 0 & 0 & 1 \end{bmatrix}= \mathbf{I} + \delta \begin{bmatrix} 0 & -\omega & v_x \\ \omega & 0 & v_y \\ 0 & 0 & 0 \end{bmatrix}
讓我們定義2D twist 向量 ξ=(v,ω)\xi=(v,\omega),上述矩陣可寫爲
ξ^[0ωvxω0vy000] \hat \xi \triangleq \begin{bmatrix} 0 & - \omega & v_x \\ \omega & 0 & v_y \\ 0 & 0 & 0 \end{bmatrix}

如果我們想要讓t更大,我們可以把t劃分成更小的時間戳,例如劃分成n個,有
T(t)=(I+tnξ^)...ntimes...(I+tnξ^)=(I+tnξ^)n T(t) = (I + \frac{t}{n} \hat \xi)... n \, times ... (I + \frac{t}{n} \hat \xi) = (I + \frac{t}{n} \hat \xi)^n
結果如圖2所示, 當然,如果取n到無窮大,則有
T(t)=limn(I+tnξ^)n T(t) = \lim_{n \rightarrow \infty} (I + \frac{t}{n} \hat \xi)^n
對於實數,該式是指數函數的多項式形式
ex=limn(1+xn)n=k=0xkk! e^x = \lim_{n \rightarrow \infty}(1+\frac{x}{n})^n = \sum^{\infty}_{k=0} \frac{x^k}{k!}
該形式可以用來定義方陣,最終的結果表示機器人沿着圓形軌跡運動,得到ξ^\hat \xi的矩陣指數
T(t)=etξ^limn(I+tnξ^)n=k=0tkk!ξ^k T(t) = e^{t \hat \xi} \triangleq \lim_{n \rightarrow \infty}(I + \frac{t}{n} \hat \xi)^n = \sum^{\infty}_{k=0}\frac{t^k}{k!} \hat \xi^k
我們稱該映射爲從2D twist ξ^\hat \xi到2D剛體變化的指數映射。

以上具備李羣理論的所有要素。我們稱2d剛體變換空間以及空間中的操作爲特殊歐幾里得羣(SE(2)SE(2))。之所以稱爲李羣,是因爲它同時是一個拓撲羣和一個流形,這意味着乘法和求逆運算是平滑的。2D twists的空間以及下面將要定義的特殊二元操作稱爲與SE(2)SE(2)關聯的李代數se(2)\mathfrak{se}(2)

2. Basic Lie Group Concepts

現在,我們定義上面說明的概念,引入一些符號,然後大致瞭解一下。 在此之後,我們將介紹最常用的李羣及其李代數。

2.1 A Manifold and a Group

李羣GG既是羣又是具有光滑羣操作的流形。與之相關聯的是李代數g\mathfrak{g},從廣義上講,它可以在單位的正切空間處確定,並完全定義了羣在單位附近的表現。從g\mathfrak{g}GG有一個映射,稱爲指數映射。
exp:gG \mathrm{exp}: \mathfrak{g} \rightarrow G
它是多對一的映射。可以在原點周圍局部定義相應的逆,因此是一個“對數”
log:Gg \mathrm{log}:G \rightarrow \mathfrak{g}
它將GG中單位周圍的元素映射到g\mathfrak{g}中的元素。

李羣的一個重要族是矩陣李羣,其元素爲n×n可逆矩陣,所有這些矩陣的集合以及矩陣乘法被稱爲維數爲n的一般線性羣GL(n)GL(n),以及 它的封閉子組是矩陣李羣。 我們感興趣的大多數(如果不是全部)李羣將是矩陣李羣。

2.2 Lie Algebra

李代數g\mathfrak{g}被稱爲代數,因爲它具有二元操作李括號[XY][X,Y],其性質與GG羣操作密切相關。例如,與代數相關的矩陣李羣,李括號爲[A,B]ABBA[A, B] \triangleq AB-BA.

李括號對李羣操作的關係如下:對於可交換李羣,g\mathfrak{g}中加性向量X+YX+Y模仿了李羣操作。例如,在g\mathfrak{g}中,如果有Z=X+YZ= X + Y,當通過指數映射到GG中我們有
eZ=eX+Y=eXeY e^Z = e^{X+Y} = e^X e^Y
然而,對於非交換李羣不適用:
Z=log(eXeY)X+Y Z = \log(e^Xe^Y) \neq X + Y
然而,ZZ可利用BCH(Baker-Campbell-Hausdorff)公式計算1:
Z=X+Y+[X,Y]/2+[XY,[X,Y]]/12[Y,[X,[X,Y]]]/24+... Z = X +Y + [X,Y ]/2 + [X −Y, [X,Y ]]/12 − [Y, [X, [X,Y ]]]/24 + . . .

對於交換羣李括號是零,我們可以通過Z=X+YZ = X + Y。對於非交換羣我們可以使用BCH公式去近似。

2.3 Exponential Coordinates

對於n維矩陣李羣,與在李代數g\mathfrak{g}中的向量空間Rn\R^n是同構的,我們可以定義hat 運算2:
^:xRnx^g \hat{}: x \in \R^n \rightarrow \hat x \in \mathfrak{g}
表示將n維向量xRnx \in \R^n映射到g\mathfrak{g}空間元素,在矩陣李羣中,g\mathfrak{g}的元素x^\hat x也是n×nn \times n矩陣,該映射爲
x^=i=1nxiGi(1) \hat x = \sum_{i=1}^n x_i G^i \tag{1}
其中GiG^i是李羣生成器(generators)的n×nn \times n矩陣。映射xx^x→x̂的含義將取決於羣GG,並且通常具有直觀的解釋。

2.4 Actions

羣元素作用到流形MM上是一個重要的概念,例如,2D旋轉作用到2D點上,3D旋轉作用到3D點上等。尤其是在MMGG的左作用定義爲一個平滑的映射Φ\Phi:G×MMG \times M \rightarrow M有:

  1. 單位元素ee沒有影響,也就是Φ(e,p)=p\Phi(e,p) = p
  2. 兩個作用組合成一個作用:Φ(g,Φ(h,p))=Φ(gh,p)\Phi(g, \Phi(h, p))=\Phi(gh, p)

n維矩陣羣GG的作用(action)是乘Rn\R^n上的矩陣向量,
q=Ap q = A p
其中p,qRnp, q \in \R^nAGGL(n)A \in G \sube GL(n)

2.5 The Adjoint Map and Adjoint Representation

假設一個點pp在座標系TT中表示爲pp',也就是p=Tpp' = Tp,其中TT表示全局座標pp到局部座標pp'的變換。爲了作用AA,我們首先需要消去作用的TT,然後應用AA, 然後在結果上在作用TT:
q=TAT1p q' = TAT^{-1}p'
矩陣TAT1TAT^{-1}被認爲是AA的共軛,這是羣論的核心要素。
一般,伴隨映射(adjoint map) Adg\mathbf{Ad}_g通過gg映射羣元素aGa \in G到它的共軛gag1gag^{-1}。該映射在羣GG中獲取,但它在李代數g\mathfrak{g}有等價的表示:
Adgex^=gexp(x^)g1=exp(Adgx^) \mathbf{Ad}_ge^{\hat{x}} = g \, \mathrm{exp}(\hat{x}) \, g^{-1} = \mathrm{exp}(Ad_g \, \hat{x})
其中Adg:ggAd_g: \mathfrak{g} \mapsto \mathfrak{g}表示通過羣元素gg參數化的映射,也稱作伴隨表示。 直觀的解釋是定義在原點(origin),但應用在羣元素gg上的變化exp(x^)\mathrm{exp}(\hat {x})可以寫作x^\hat{x}的伴隨Adgx^Ad_g \, \hat{x}

在矩陣李羣的特殊情況下,伴隨可以寫成
AdTx^Tx^T1 Ad_T \, \hat{x} \triangleq T \hat{x}T^{-1}
因此我們有
Tex^T1=eTx^T1(2) T e^{\hat{x}} T^{-1} = e^{T\hat{x}T^{-1}} \tag{2}
其中TGT \in G, x^g\hat {x} \in \mathfrak{g}是n維李代數的n×nn \times n矩陣。

3. 2D Rotation

我們首先看一個簡單的2D旋轉羣。

3.1 Basics

李羣SO(2)SO(2)2×22 \times 2可逆矩陣的一般線性羣GL(2)GL(2)的子羣,它的李代數是2×22 \times 2 斜對稱(skew-symmetric)矩陣的向量空間。因爲SO(2)SO(2)是一維流形,所以so(2)\mathfrak{so(2)}R\reals同構,我們定義
^:Rso(2)^:ωω^=[ω]+ \hat{}: \reals \mapsto \mathfrak{so(2)} \\ \hat{} : \omega \mapsto \hat{\omega}= [\omega]_+
映射角度ω\omega2×22 \times 2斜對稱矩陣[ω]+[\omega]_+:
[w]+=[0ωω0] [w]_+ = \begin{bmatrix} 0 & - \omega \\ \omega & 0 \end{bmatrix}
指數映射的閉合形式爲:
e[ω]+=[cosωsinωsinωcosω] e^{[\omega]_+} = \begin{bmatrix} \cos \omega & - \sin \omega \\ \sin \omega & \cos \omega \end{bmatrix}

3.2 Diagonalized Form

矩陣[1]+[1]_+可以通過奇異值i,i-i, i和奇異向量[1i]{1 \brack i}[i1]{i \brack 1}對角化。對投影幾何熟悉的讀者認爲是(齊次座標表示的)圓環點,具體有:
[w]+=[0ωω0]=[1ii1][iω00iω][1ii1]1 [w]_+ = \begin{bmatrix} 0 & - \omega \\ \omega & 0 \end{bmatrix}= \begin{bmatrix} 1 & i \\ i & 1 \end{bmatrix} \begin{bmatrix} -i \omega & 0 \\ 0 & i \omega \end{bmatrix} \begin{bmatrix} 1 & i \\ i & 1 \end{bmatrix}^{-1}
因此有
e[w]+=12[1ii1][eiω00eiω][1ii1]=[cosωsinωsinωcosω] e^{[w]_+} = \frac{1}{2} \begin{bmatrix} 1 & i \\ i & 1 \end{bmatrix} \begin{bmatrix} e^{-i \omega} & 0 \\ 0 & e^{i \omega} \end{bmatrix} \begin{bmatrix} 1 & -i \\ -i & 1 \end{bmatrix} = \begin{bmatrix} \cos \omega & - \sin \omega \\ \sin \omega & \cos \omega \end{bmatrix}
其中eiω=cosω+isinωe^{i \omega} = \cos \omega + i \sin \omega

3.3 Adjoint

so(2)\mathfrak{so(2)}的伴隨是恆等式,對於所有的交換羣也一樣:
AdRω^=[cosθsinθsinθcosθ][0ωω0][cosθsinθsinθcosθ]T=w[sinθcosθcosθsinθ][cosθsinθsinθcosθ]=[0ωω0] Ad_R \hat \omega = \begin{bmatrix} \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} 0 & -\omega \\ \omega & 0 \end{bmatrix} \begin{bmatrix} \cos \theta & - \sin \theta \\ \sin \theta & \cos \theta \end{bmatrix}^T \\ = w \begin{bmatrix} -\sin \theta & - \cos \theta \\ \cos \theta & -\sin \theta \end{bmatrix} \begin{bmatrix} \cos \theta & \sin \theta \\ -\sin \theta & \cos \theta \end{bmatrix}= \begin{bmatrix} 0 & - \omega \\ \omega & 0 \end{bmatrix}

AdRω^=ω^ Ad_R \hat \omega = \hat \omega

3.4 Actions

對於SO(2)SO(2)的向量空間是R2\reals^2,羣操作對應於一個旋轉點
q=Rp q = R p
現在我們想知道通過ω\omega參數化一個增量發生了什麼:
q(ω)=Re[ω]+p q(\omega) = R e^{[\omega]_+} p
對於一個小角度ω\omega,我們有
e[ω]+I+[ω]+=I+ω[1]+ e^{[\omega]_+} \approx I + [\omega]_+ = I + \omega[1]_+
其中[1]+[1]_+操作像是平面上作用在點的叉積:
[1]+[xy]=Rπ/2[xy]=[yx](3) [1]_+ \begin{bmatrix} x \\ y \end{bmatrix} =R_{\pi/2} \begin{bmatrix} x \\ y \end{bmatrix} =\begin{bmatrix} -y \\ x \end{bmatrix} \tag{3}
因此該操作的導數爲:
q(ω)ω=Rω(e[ω]+p)=Rω(ω[1]+p)=RHp \frac{\partial q(\omega)}{\partial \omega} = R \frac{\partial}{\omega}(e^{[\omega]_+}p) = R \frac{\partial}{\omega}(\omega [1]_+p) = R H_p
其中HpH_p是依賴pp2×12 \times 1矩陣:
Hp[1]+p=[pypx] H_p \triangleq [1]_+p ={-p_y \brack p_x}

4. 2D Rigid Transformations

4.1 Basics

李羣SE(2)SE(2)3×33 \times 3可逆矩陣的一般線性羣GL(3)GL(3)的子羣,它的形式爲:
T[Rt01] T \triangleq \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix}
其中RSO(2)R \in SO(2)是一個旋轉矩陣, tR2t \in \reals^2是一個平移向量。SE(2)SE(2)R2\reals^2SO(2)SO(2)的半直積(semi-direct product),寫作SE(2)=R2SO(2)SE(2) = \reals^2 \rtimes SO(2),具體的,對於SE(2)SE(2)中的任何元素TT可以寫爲:
T=[1t01][R001] T= \begin{bmatrix} 1 & t \\ 0 & 1 \end{bmatrix} \begin{bmatrix} R & 0 \\ 0 & 1 \end{bmatrix}
它們的組合爲
[R1t101][R2t201]=[R1R2R1t2+t101] \begin{bmatrix} R_1 & t_1 \\ 0 & 1 \end{bmatrix} \begin{bmatrix} R_2 & t_2 \\ 0 & 1 \end{bmatrix}= \begin{bmatrix} R_1 R_2 & R_1t_2 + t_1 \\ 0 & 1 \end{bmatrix}
也可以寫成下面按序匹配的方式:
(R1,t1)(R2,t2)=(R1R2,R1t2+t1) (R_1, t_1)(R_2, t_2) = (R_1R_2, R_1t_2 + t1)
對應的李代數se(2)\mathfrak{se(2)}是由twist 座標 ξR3\xi \in \reals^3參數化的3×33 \times 3 twists ξ^\hat \xi向量空間, 該映射爲:
ξ[vω]ξ^[[w]+v00] \xi \triangleq {v \brack \omega} \mapsto \hat \xi \triangleq \begin{bmatrix} [w]_+ & v \\ 0 & 0 \end{bmatrix}
注意,我們認爲機器人有位姿(x,y,θ)(x, y, \theta),其中一二兩項是平移部分,最後一項是旋轉部分,它們對應的李羣生成器是
Gx=[001000000],Gy=[000001000],Gθ=[010100000] G^x = \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}, G^y = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{bmatrix}, G^{\theta} = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}
應用指數映射到twist ξ\xi得到screw motion:
T=eξ^=(e[ω]+,(Ie[ω]+)vω) T = e^{\hat \xi} = \Big( e^{[\omega]_+}, (I - e^{[\omega]_+})\frac{v^{\perp}}{\omega}\Big)

4.2 The Adjoint Map

伴隨
AdTξ^=Tξ^T1=[Rt01][[ω]+v00][RTRTt01]=[[ω]+[ω]+t+Rv00]=[[ω]+Rvtω00](4) \begin{aligned} Ad_T \hat \xi &= T \hat \xi T^{-1} \\ &=\begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix} \begin{bmatrix} [\omega]_+ & v \\ 0 & 0 \end{bmatrix} \begin{bmatrix} R^T & -R^Tt \\ 0 & 1 \end{bmatrix} \\ &=\begin{bmatrix} [\omega]_+ & -[\omega]_+t + Rv \\ 0 & 0 \end{bmatrix} \\ &=\begin{bmatrix} [\omega]_+ & Rv - t^{\perp} \omega \\ 0 & 0 \end{bmatrix} \tag{4} \end{aligned}
由此我們可以通過平面twist座標表示伴隨映射
[vω]=[Rt01][vω] {v^{'} \brack \omega^{'}} = \begin{bmatrix} R & - t^{\perp} \\ 0 & 1 \end{bmatrix} {v \brack \omega}

4.3 actions

SE(2)SE(2)在2D點上的作用是通過使用齊次座標將點嵌入R3\reals^3中來完成
q^=[q1]=[Rt01][p1]=Tp^ \hat q = {q \brack 1} = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix}{p \brack 1}=T \hat p
SE(3)SE(3)類似(下面),我們可以在局部T座標系中計算速度ξ^p^\hat \xi \hat p:
ξ^p^=[[ω]+v00][p1]=[[ω]+p+v0] \hat \xi \hat p = \begin{bmatrix} [\omega]_+ & v \\ 0 & 0 \end{bmatrix} {p \brack 1}= \begin{bmatrix} [\omega]_+p +v \\ 0 \end{bmatrix}
僅取最上面的兩行,我們可以把它作爲R2\reals^2上的速度,因爲HpH_p是直接作用在指數座標ξ\xi上的2×32 \times 3矩陣:
[ω]+p+v=v+Rπ/2pω=[I2Rπ/2p][vω]=Hpξ [\omega]_+p + v = v + R_{\pi/2}p \omega = \begin{bmatrix} I_2 & R_{\pi/2}p \end{bmatrix} \begin{bmatrix} v \\ \omega \end{bmatrix} =H_p \xi

5. 3D Rotations

5.1 Basics

李羣SO(3)SO(3)3×33 \times 3可逆矩陣的一般線性羣GL(3)GL(3)的子羣,它的李代數se(3)\mathfrak{se(3)}3×33 \times 3斜對稱(skew-symmetric)矩陣ω^\hat \omega的線性空間。因爲SO(3)SO(3)是一個三維流形,so(3)\mathfrak{so(3)}R3\reals^3同構,我們定義映射
^:R3so(3)^:ωω^=[ω]× \hat{}:\reals^3 \to \mathfrak{so(3)} \\ \hat{}: \omega \to \hat \omega = [\omega]_\times
它映射三維向量ω\omega到斜對稱矩陣[ω]×[\omega]_\times:
[ω]×=[0ωzωyωz0ωxωyωx0]=ωxGx+ωyGy+ωzGz [\omega]_\times = \begin{bmatrix} 0 & - \omega_z & \omega_y \\ \omega_z & 0 & -\omega_x \\ -\omega_y & \omega_x & 0 \end{bmatrix}=\omega_x G^x+\omega_yG^y + \omega_zG^z
這裏矩陣GiG^iSO(3)SO(3)的生成器,
Gx=(000001010),Gy=(001000100),Gz=(010100000) G^{x} =\begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{pmatrix}, G^y = \begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{pmatrix}, G^z=\begin{pmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}
分別對應到繞着X, Y, Z的旋轉,so(3)\mathfrak{so(3)}中的李括號[x,y][x, y]對應到R3\reals^3中的叉積x×yx \times y

因此,對於三維向量ω\omega有一個對應的旋轉
R=e[ω]× R = e^{[\omega]_\times}
它定義了已知ω\omega作爲canonical 或者指數座標,SO(3)SO(3)的canonical 參數化。它等價於旋轉的軸角表示,其中單位向量ω/θ\omega/\theta定義旋轉軸,旋轉角θ\theta定義旋轉量的大小。
指數映射的閉合形式可以通過Rodrigues 公式2計算
eω^=I+sinθθω^+1cosθθ2ω^2(5) e^{\hat \omega} = I + \frac{\sin \theta}{\theta} \hat \omega + \frac{1-\cos \theta}{\theta^2} \hat \omega^2 \tag{5}
其中ω^2=ωωTI\hat \omega^2 = \omega \omega^T - I,ωωt\omega \omega^tω\omega的外積,因此,一個效率上更好的變體是
eω^=(cosθ)I+sinθθω^+1cosθθ2ωωT(6) e^{\hat \omega} = (\cos \theta)I + \frac{\sin \theta}{\theta} \hat \omega + \frac{1-\cos \theta}{\theta^2} \omega \omega^T \tag{6}

5.2 Diagonalized Form

因爲3D旋轉RR保持軸ω\omega不變,因此RR可以被對角化爲
R=C(eiθ000eiθ0001)C1 R = C \begin{pmatrix} e^{-i\theta} & 0 & 0 \\ 0 & e^{i\theta} & 0 \\ 0 & 0 & 1 \end{pmatrix}C^{-1}
其中C=(c1c2ω/θ)C=(c_1 \enspace c_2 \enspace \omega/\theta)c1,c2c_1 , c_2是complex 特徵向量,對應繞着ω\omega的2D旋轉。這也意味着,通過(2)有
ω^=C(iθ000iθ0000)C1 \hat \omega = C \begin{pmatrix} -i \theta & 0 & 0 \\ 0 & i \theta & 0 \\ 0 & 0 & 0 \end{pmatrix} C^{-1}
在該情況下,CC有 complex 列, 而且我們還有
ω^=B(0θ0θ00000)BT(7) \hat \omega = B \begin{pmatrix} 0 & - \theta & 0 \\ \theta & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} B^T \tag{7}
其中B=(b1b2ω/θ)B=(b_1 \enspace b_2 \enspace \omega/\theta), b1,b2b_1, b_2是通過源點且與ω\omega正交的一組二維平面的基。很明顯從3.2節,我們有
c1=B(1i0),c2=B(i10) c_1 = B \begin{pmatrix} 1 \\ i \\ 0 \end{pmatrix},c_2=B \begin{pmatrix} i \\ 1 \\ 0 \end{pmatrix}
當我們求冪(7)時,我們得到繞着ω/θ\omega / \theta軸,大小爲θ\theta的2D旋轉:
R=B(cosθsinθ0sinθcosθ0001)BT R = B \begin{pmatrix} \cos \theta & -\sin \theta & 0 \\ \sin \theta & cos \theta & 0 \\ 0 & 0 & 1 \end{pmatrix} B^T
接下來的RR使用前面的Rodrigues公式並擴展以上,我們有
R=(cosθ)(b1b1T+b2b2T)+(sinθ)(b2b1Tb1b2T)+ωωT/θ2 R = (\cos \theta) (b_1b_1^T + b_2b_2^T) + (\sin \theta)(b_2b_1^T -b_1b_2^T ) + \omega \omega^T / \theta^2
因爲BB是旋轉矩陣,我們有BBT=b1b1T+b2b2T+ωωT/θ2=IBB^T = b_1b_1^T + b_2b_2^T + \omega \omega^T/\theta^2 = I,使用(7)很容易得到b2b1Tb1b2T=ω^/θb_2b_1^T-b_1b_2^T = \hat \omega / \theta,因此
R=(cosθ)(IωωT/θ2)+(sinθ)(ω^/θ)+ωωT/θ2 R = (\cos \theta)(I - \omega \omega^T/ \theta^2) + (\sin \theta)(\hat \omega/\theta) + \omega\omega^T/\theta^2
它與(6)等價。

5.3 The Adjoint Map

對於旋轉矩陣RR,我們可以證明(見附錄 性質9)下面的恆等式:
R[ω]×RT=[Rω]×(8) R[\omega]_\times R^T = [R \omega]_\times \tag{8}
因此,給定性質(8)so(3)\mathfrak{so(3)}的伴隨映射可簡化爲:
AdR[ω]×=R[ω]×RT=[Rω]× Ad_R [\omega]_\times = R[\omega]_\times R^T = [R \omega]_\times
而且將軸ω\omega旋轉到RωR \omega,就可以用指數座標表示。
舉個例子,在RR系中的一個點pp應用軸角旋轉ω\omega,我們可以:

  1. 首先將pp變換到世界座標系(可參見2.5節),應用ω\omega(即在世界座標系中應用),然後旋轉回來:
    q=Re[ω]×RT q = R e^{[\omega]_\times}R^T
  2. 即應用變換後的軸角變換AdR[ω]×=[Rω]×Ad_R[\omega]_\times = [R \omega]_\times:
    q=e[Rω]×p q = e^{[R \omega]_\times}p

5.4 Actions

對於SO(3)SO(3),向量空間是R3\reals^3,羣操作應用到一個旋轉點
q=Rp q = R p
我們現在想知道通過參數化增量ω\omega會發生什麼:
q(ω)=Re[ω]×p q(\omega) = Re^{[\omega]_\times}p
因此導數爲:
q(ω)ω=Rω(e[ω]×p)=Rω([ω]×p)=R[p]× \frac{\partial q(\omega)}{\partial \omega} = R \frac{\partial}{\partial \omega}(e^{[\omega]_\times}p) = R \frac{\partial}{\partial \omega}([\omega]_\times p) = R[-p]_\times
爲得到最後一個等式,有:
[ω]×p=ω×p=p×ω=[p]×ω [\omega]_\times p = \omega \times p = -p \times \omega= [-p]_\times \omega

6 3D Rigid Transformations

李羣SE(3)SE(3)4×44 \times 4可逆矩陣的一般線性羣的子羣,其形式爲:
T[Rt01] T \triangleq \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix}
其中RSO(3)R \in SO(3)是旋轉矩陣, tR3t \in \reals^3是平移向量。
也可以寫成下面按序匹配的方式:
(R1,t1)(R2,t2)=(R1R2,R1t2+t1) (R_1, t_1)(R_2, t_2) = (R_1R_2, R_1t_2 + t_1)
它的李代數se(3)\mathfrak{se(3)}是 參數化4×44 \times 4 twist ξ^\hat \xi向量空間,ξ^\hat \xi的twist 座標是ξR6\xi \in \reals^6, 有映射
ξ[ωv]ξ^[[ω]×v00] \xi \triangleq {\omega \brack v} \to \hat \xi \triangleq \begin{bmatrix} [\omega]_\times & v \\ 0 & 0 \end{bmatrix}
注意我們遵循 Frank Park 慣例,前三項表示旋轉,後三項表平移。因此,對於該參數化,SE(3)SE(3)的生成器是
G1=[0000001001000000],G2=[0010000010000000]G3=[0100100000000000]G4=[0001000000000000],G5=[0000000100000000],G6=[0000000000010000] G^1 = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix}, G^2 = \begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ -1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix} G^3= \begin{bmatrix} 0 & -1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix} \\ G^4= \begin{bmatrix} 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix}, G^5 = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0& 1\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}, G^6= \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \end{bmatrix}
應用指數映射到 twist ξ\xi得到一個在SE(3)SE(3)中的screw motion:
T=expξ^ T = \mathrm{exp} \, \hat \xi
指數映射的閉合解2爲:
exp([ωv]^t)=[e[ω]×t(Ie[ω]×t)(ω×v)+ωωTvt01] \mathrm{exp} \Big(\widehat {\omega \brack v} t\Big) = \begin{bmatrix} e^{[\omega]_\times t} & (I - e^{[\omega]_\times t})(\omega \times v) + \omega \omega^T vt \\ 0 & 1 \end{bmatrix}

6.1 The Adjoint Map

伴隨
AdTξ^=TξT1=[Rt01][[ω]×v00][RTRTt01]=[[Rω]×[Rω]×t+Rv00]=[[Rω]×t×Rω+Rv00] \begin{aligned} Ad_T \hat \xi &= T \xi T^{-1} \\ &=\begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix} \begin{bmatrix} [\omega]_\times & v \\ 0 & 0 \end{bmatrix} \begin{bmatrix} R^T & - R^Tt \\ 0 & 1 \end{bmatrix} \\ &=\begin{bmatrix} [R\omega]_\times & -[R \omega]_\times t + Rv \\ 0 & 0 \end{bmatrix} \\ &= \begin{bmatrix} [R\omega]_\times & t \times R \omega + Rv \\ 0 & 0 \end{bmatrix} \end{aligned}
從上面我們可以用twist 座標表示伴隨映射2:
[ωv]=[R0[t]×RR][ωv] {\omega^{\prime} \brack v^{\prime}}= \begin{bmatrix} R & 0 \\ [t]_\times R & R \end{bmatrix}{\omega \brack v}

6.2 Actions

SE(3)SE(3)在3D點上的作用是通過使用齊次座標將點嵌入R4\reals^4中來完成
q^=[q1]=[Rp+t1]=[Rt01][p1]=Tp^ \hat q = {q \brack 1} = { Rp + t \brack 1} = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix}{p \brack 1} = T \hat p
現在我們想知道通過ξ\xi參數化增量pose會發生什麼:
q^(ξ)=Teξ^p^ \hat q(\xi) = T e^{\hat \xi} \hat p
因此導數是
q^(ξ)ξ=Tξ(ξ^p^) \frac{\hat q(\xi)}{\partial \xi} = T \frac{\partial }{\partial \xi}(\hat \xi \hat p)
其中 ξ^p^\hat \xi \hat p對應R4\reals^4中的速度(在局部座標系T):
ξ^p^=[[ω]×v00][p1]=[ω×p+v0] \hat \xi \hat p = \begin{bmatrix} [\omega]_\times & v \\ 0 & 0 \end{bmatrix}{p \brack 1} = {\omega \times p + v\brack 0}
請注意,速度與投影幾何中無窮大的點如何相似:它們對應於指示變化方向和大小的自由矢量。通過取最上面的三行,我們可以把它寫成R3\reals^3中的速度,因爲HpH_p是直接作用在指數座標ξ\xi上的3×63 \times 6矩陣:
ω×p+v=p×ω+v=[[p]×I3][ωv] \omega \times p + v = -p \times \omega + v = \Big[ -[p]_\times \enspace I_3\Big] {\omega \brack v}
得到導數:
q^(ξ)ξ=Tξ(ξ^p^)=T[[p]×I300] \frac{\partial \hat q(\xi)}{\partial \xi} = T \frac{\partial}{\partial \xi}(\hat \xi \hat p)=T \begin{bmatrix} -[p]_\times & I_3 \\ 0 & 0 \end{bmatrix}
逆操作T1pT^{-1}p
q^=[q1]=[RT(pt)1]=[RTRTt01][p1]=T1p^ \hat q = {q \brack 1} = {R^T(p-t) \brack 1} = \begin{bmatrix} R^T & -R^Tt \\ 0 & 1 \end{bmatrix} {p \brack 1} = T^{-1} \hat p

7. 3D Similarity Transformations

3D相似變換羣Sim(3)Sim(3)是如下形式的4×44 \times 4可逆矩陣集合
T[Rt0s1] T \triangleq \begin{bmatrix} R & t \\ 0 & s^{-1} \end{bmatrix}
其中ss是標量,有各種不同的李代數生成器表示,但我們使用
G1=(0000001001000000),G2=(0010000010000000),G3=(0100100000000000),G4=(0001000000000000),G5=(0000000100000000),G6=(0000000000010000),G7=(0000000000000001) G^1 = \begin{pmatrix} 0 & 0 & 0& 0 \\ 0 & 0 & -1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}, G^2 = \begin{pmatrix} 0 & 0 & 1& 0 \\ 0 & 0 & 0 & 0 \\ -1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}, G^3 = \begin{pmatrix} 0 & -1 & 0& 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix} ,\\ G^4 = \begin{pmatrix} 0 & 0 & 0& 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}, G^5 = \begin{pmatrix} 0 & 0 & 0& 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{pmatrix}, G^6 = \begin{pmatrix} 0 & 0 & 0& 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \end{pmatrix}, \\ G^7 = \begin{pmatrix} 0 & 0 & 0& 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -1 \end{pmatrix}

7.1 Actions

SE(3)SE(3)在3D點上的作用是通過使用齊次座標將點嵌入R4\reals^4中來完成
q^=[qs1]=[Rp+ts1]=[Rt0s1][p1]=Tp^ \hat q = {q \brack s^{-1}} = {Rp+t \brack s^{-1}} = \begin{bmatrix} R & t \\ 0 & s^{-1} \end{bmatrix} {p \brack 1} = T \hat p
相對於TTξ\xi的導數D1f(ξ)D_1f(\xi)TH(p)TH(p), 其中
H(p)=Gjkipj=[0zy1000z0x0100yx000000000001] H(p) = G^i_{jk}p^j = \begin{bmatrix} 0 & z & -y & 1 & 0 & 0 & 0 \\ -z & 0 & x & 0 & 1 & 0 & 0 \\ y & -x & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & -1 \end{bmatrix}
換言之
D1f(ξ)=[Rt0s1][[p]×I0001]=[R[p]×Rt00s1] D_1f(\xi) = \begin{bmatrix} R & t \\ 0 & s^{-1} \end{bmatrix} \begin{bmatrix} -[p]_\times & I & 0 \\ 0 & 0& -1 \end{bmatrix} = \begin{bmatrix} -R[p]_\times & R & -t \\ 0 & 0& -s^{-1} \end{bmatrix}
這是對齊次座標的作用的導數。轉變成非齊次座標是
[qa]q/a {q \brack a} \to q/a
它的導數爲
[a1I3qa2] \Big[ a^{-1}I_3 \enspace -qa^{-2}\Big]
對於a=s1a = s^{-1},我們有
D1f(ξ)=[sI3qs2][R[p]×Rt00s1]=[sR[p]×sRst+qs]=[sR[p]×sRsRp] D_1f(\xi) = \Big[ sI_3 \enspace -qs^2 \Big] \begin{bmatrix} -R[p]_\times & R & -t \\ 0 & 0& -s^{-1} \end{bmatrix}= \Big[ -sR[p]_\times \enspace sR \enspace -st + qs \Big] = \Big[ -sR[p]_\times \enspace sR \enspace sRp\Big]

8. 2D Affine Transformations

李羣Aff(2)Aff(2)3×33 \times 3可逆矩陣的一般線性羣的子羣,它映射無窮遠線到本身(無窮遠線),即保持並行性。仿射變換AA可以寫作3
[m11m12t1m21m22t200k] \begin{bmatrix} m_{11} & m_{12} & t_1 \\ m_{21} & m_{22} & t_2 \\ 0 & 0 & k \end{bmatrix}
其中MGL(2),tR2M \in GL(2), t \in \reals^2,k是使得det(A)=1det(A)=1的標量。正如SE(2)SE(2)是半直積一樣,Aff(2)=R2GL(2)Aff(2) = \reals^2 \rtimes GL(2) 也是半直積。特別的,任何仿射變換 AA可以寫爲
A=[0t01][M00k] A = \begin{bmatrix} 0 & t \\ 0 & 1 \end{bmatrix} \begin{bmatrix} M & 0 \\ 0 & k \end{bmatrix}
它們的組合爲
A1A2=[M1t10k1][M2t20k2]=[M1M2M2t2+k2t10k1k2] A_1A_2 = \begin{bmatrix} M_1 & t_1 \\ 0 & k_1 \end{bmatrix} \begin{bmatrix} M_2 & t_2 \\ 0 & k_2 \end{bmatrix}= \begin{bmatrix} M_1M_2 & M_2t_2 + k_2 t_1 \\ 0 & k_1k_2 \end{bmatrix}
由此可以得出,SO(2)SO(2)SE(2)SE(2)羣都是子羣,其中SO(2)SE(2)Aff(2)SO(2) \subset SE(2) \subset Aff(2)。通過仔細選擇生成器,我們在關聯的李代數之間保持了這種層次,特別的,se(2)\mathfrak{se(2)}
G1=[001000000],G2=[000001000],G3=[010100000] G^1 = \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}, G^2 = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{bmatrix}, G^3 = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}
使用下面的三個生成器可以被拓展到李代數aff(2)\mathfrak{aff(2)}
G4=[010100000]G5=[100010000]G6=[000010001] G^4 = \begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0& 0 \end{bmatrix}, G^5= \begin{bmatrix} 1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 0 \end{bmatrix}, G^6= \begin{bmatrix} 0 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \end{bmatrix}
因此,李代數aff(2)\mathfrak{aff(2)}是通過6個參數aR6a \in \reals^6參數化的3×33 \times 3增量仿射變換的向量空間,該映射
aa^[a5a4a3a1a4+a3a5a6a200a6] a \to \hat a \triangleq \begin{bmatrix} a_5 & a_4 - a_3 & a_1 \\ a_4 + a_3 & -a_5-a_6 & a_2 \\ 0 & 0 & a_6 \end{bmatrix}
注意G5,G6G^5, G^6改變了x,yx, y的尺度(縮放),但行列式(determinant)沒有變化:
exG5=exp[x000x0000]=[ex000ex0001],exG6=exp[0000x000x]=[1000ex000ex] e^{xG_5} = \mathrm{exp} \begin{bmatrix} x & 0 & 0 \\ 0 & -x & 0 \\ 0 & 0 & 0 \end{bmatrix}= \begin{bmatrix} e^x & 0 & 0 \\ 0 & e^{-x} & 0 \\ 0 & 0 & 1 \end{bmatrix}, \\ e^{xG_6} = \mathrm{exp} \begin{bmatrix} 0 & 0 & 0 \\ 0 & -x & 0 \\ 0 & 0 & x \end{bmatrix}= \begin{bmatrix} 1& 0 & 0 \\ 0 & e^{-x} & 0 \\ 0 & 0 & e^x \end{bmatrix}
通過選擇使xxyy的縮放比例更直接對應可能更好
G5=[100000001]G6=[000010001] G^5= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & -1 \end{bmatrix}, G^6= \begin{bmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & -1 \end{bmatrix}
因此
exG5=exp[x0000000x]=[ex00010001/ex],exG6=exp[0000x000x]=[1000ex0001/ex] e^{xG_5} = \mathrm{exp} \begin{bmatrix} x & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & -x \end{bmatrix}= \begin{bmatrix} e^x & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1/e^x \end{bmatrix}, \\ e^{xG_6} = \mathrm{exp} \begin{bmatrix} 0 & 0 & 0 \\ 0 & x & 0 \\ 0 & 0 & -x \end{bmatrix}= \begin{bmatrix} 1& 0 & 0 \\ 0 & e^{x} & 0 \\ 0 & 0 & 1/e^x \end{bmatrix}

9. 2D Homographies

當以2D投影空間p3\mathscr{p}^3表示對圖像的操作時,3D旋轉是2D單應性的一種特殊情況。 現在,根據4 3中的論述粗略地處理這些內容。

9.1 Basics

李羣 SL(3)SL(3)是一般線性羣GL(3)GL(3)的子羣,它是行列式爲1的3×33 \times 3的可逆矩陣。單應性生成了2D投影空間的變換, 且Aff(2)SL(3)Aff(2) \subset SL(3)
通過增加兩個生成器可以擴展aff(2)\mathfrak{aff(2)}到李代數sl(3)\mathfrak{sl(3)}
G7=[000000100],G8=[000000010] G^7 = \begin{bmatrix} 0 & 0& 0 \\ 0 & 0 & 0 \\ 1 & 0 & 0 \end{bmatrix}, G^8 = \begin{bmatrix} 0 & 0& 0 \\ 0 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}
,8個參數參數化的增量單應矩陣h^\hat h3×33 \times 3的向量空間,該映射爲
hh^[h5h4h3h1h4+h3h5h6h2h7h8h6] h \to \hat h \triangleq \begin{bmatrix} h_5 & h_4 - h_3 & h_1 \\ h_4 + h_3 & -h_5-h_6 & h_2 \\ h_7 & h_8 & h_6 \end{bmatrix}

9.2 Tensor Notation

  • 二維投影空間A和B之間的單應性可以用張量記號HABH^B_A表示
  • 然後應用單應性是張量連接xB=HABxAx^B = H^B_A x^A,將A中的點映射到B中的點。

Appendix: Proof of Proerty 9

R[ω]×RT=R[ω]×[a1a2a3]=R[ω×a1ω×a2ω×a3]=[a1(ω×a1)a1(ω×a2)a1(ω×a3)a2(ω×a1)a2(ω×a2)a2(ω×a3)a3(ω×a1)a3(ω×a2)a3(ω×a3)]=[ω(a1×a1)ω(a2×a1)ω(a3×a1)ω(a1×a2)ω(a2×a2)ω(a3×a2)ω(a1×a3)ω(a2×a3)ω(a3×a3)]=[0ωa3ωa2ωa30ωa1ωa2ωa10]=[Rω]× \begin{aligned} R[\omega]_\times R^T & = R[\omega]_\times [a_1 \enspace a_2 \enspace a_3] \\ &= R[\omega \times a_1 \enspace \omega \times a_2 \enspace \omega \times a_3] \\ &= \begin{bmatrix} a_1(\omega \times a_1 ) & a_1(\omega \times a_2) & a_1(\omega \times a_3) \\ a_2(\omega \times a_1 ) & a_2(\omega \times a_2) & a_2(\omega \times a_3) \\ a_3(\omega \times a_1 ) & a_3(\omega \times a_2) & a_3(\omega \times a_3) \end{bmatrix} \\ &= \begin{bmatrix} \omega(a_1 \times a_1 ) & \omega(a_2 \times a_1) & \omega (a_3 \times a_1) \\ \omega(a_1 \times a_2 ) & \omega(a_2 \times a_2) & \omega (a_3 \times a_2) \\ \omega(a_1 \times a_3 ) & \omega(a_2 \times a_3) & \omega (a_3 \times a_3) \end{bmatrix} \\ &= \begin{bmatrix} 0 & - \omega a_3 & \omega a_2 \\ \omega a_3 & 0 & -\omega a_1 \\ -\omega a_2 & \omega a_1 & 0 \end{bmatrix} \\ &=[R \omega]_{\times} \end{aligned}
其中 a1,a2,a3a_1, a_2, a_3RR的行向量,上面我們使用了旋轉矩陣的正交性和triple 積規則:
a(b×c)=b(c×a)=c(a×b) a(b \times c) = b(c \times a) = c(a \times b)
類似,在不需要證明:
R(a×b)=Ra×Rb R(a \times b) = Ra \times Rb

Appendix:Alternative Generators for sl(3)\mathfrak{sl(3)}

sl(3)\mathfrak{sl(3)}的生成器:
G1=[001000000],G2=[000001000],G3=[010000000],G4=[000100000],G5=[100010000],G6=[000010001],G7=[000000100],G8=[000000010] G^1 = \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ 0 & 0& 0 \end{bmatrix}, G^2 = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 0& 0 \end{bmatrix} ,G^3 = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 0 \\ 0 & 0& 0 \end{bmatrix}, \\ G^4 = \begin{bmatrix} 0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 0& 0 \end{bmatrix}, G^5 = \begin{bmatrix} 1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0& 0 \end{bmatrix}, G^6 = \begin{bmatrix} 0 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0& 1 \end{bmatrix}, \\ G^7 = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 1 & 0& 0 \end{bmatrix}, G^8 = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 1 & 0 \end{bmatrix}
我們選擇不同線性組合作爲基。


  1. B.C. Hall. Lie Groups, Lie Algebras, and Representations: An Elementary Introduction. Springer, 2000. ↩︎

  2. R.M. Murray, Z. Li, and S. Sastry. A Mathematical Introduction to Robotic Manipulation. CRC Press, 1994. ↩︎ ↩︎ ↩︎ ↩︎

  3. C. Mei, S. Benhimane, E. Malis, and P. Rives. Efficient homography-based tracking and 3-D
    reconstruction for single-viewpoint sensors. IEEE Trans. Robotics, 24(6):1352–1364, Dec.2008. ↩︎ ↩︎

  4. C. Mei, S. Benhimane, E. Malis, and P. Rives. Homography-based tracking for central cata-
    dioptric cameras. In IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS), October 2006. ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章