DYH
🎶🎶🎶 Just enjoy 💃💃💃               🎶🎶🎶 Just enjoy 💃💃💃               🎶🎶🎶 Just enjoy 💃💃💃               

李群与李代数

目录

与视觉slam有关的群

三维旋转矩阵构成了特殊正交群(special orthogonal group)

SO(3)={RR3×3RRT=I,det(R)=1}S O(3)=\left\{R \in \mathbb{R}^{3 \times 3} \mid R R^{T}=I, \operatorname{det}(R)=1\right\}

三维变换矩阵构成了特殊欧氏群(special euclidean group)

SE(3)={T=[Rt0T1]R4×4RSO(3),tR3}SE(3)=\left\{T=\left[\begin{array}{cc}R & t \\0^{T} & 1\end{array}\right] \in \mathbb{R}^{4 \times 4} \mid R \in SO(3), t \in \mathbb{R}^{3}\right\}

(group)是一种集合加上一种运算的代数结构

记集合为A,运算为·,那么当运算满足以下性质时,称(A,·)成群

 1. 封闭性: a1,a2A,a1a2A .  2. 结合律: a1,a2,a3A,(a1a2)a3=a1(a2a3) .  3. 幺元: a0A, s.t. aA,a0a=aa0=a .  4. 逆: aA,a1A, s.t. aa1=a0 .  \begin{array}{ll}\text { 1. 封闭性: } \quad \forall a_{1}, a_{2} \in A, \quad a_{1} \cdot a_{2} \in A \text { . }\end{array} \\ \text { 2. 结合律: } \quad \forall a_{1}, a_{2}, a_{3} \in A, \quad\left(a_{1} \cdot a_{2}\right) \cdot a_{3}=a_{1} \cdot\left(a_{2} \cdot a_{3}\right) \text { . } \\ \begin{array}{llll}\text { 3. 幺元: } & \exists a_{0} \in A, & \text { s.t. } \quad \forall a \in A, & a_{0} \cdot a=a \cdot a_{0}=a \text { . }\end{array} \\ \begin{array}{llll}\text { 4. 逆: } & \forall a \in A, & \exists a^{-1} \in A, & \text { s.t. } & a \cdot a^{-1}=a_{0} \text { . }\end{array}

如果满足交换律,就是交换群,矩阵很少有交换群

李群李代数在wiki上的定义

李群是指具有光滑(连续)性质的群,SO(3)和SE(3)表示的空间的旋转和变换,它一定是连续的,所以是李群。

对于任意旋转矩阵 RR

RRT=I\boldsymbol{R} \boldsymbol{R}^{T}=\boldsymbol{I}

它是对时间的函数

R(t)R(t)T=I\boldsymbol{R}(t) \boldsymbol{R}(t)^{T}=\boldsymbol{I}

等式两边对时间求导

(矩阵对标量求导就是每个entry求导后转置)

R˙(t)R(t)T+R(t)R˙(t)T=0\dot{\boldsymbol{R}}(t) \boldsymbol{R}(t)^{T}+\boldsymbol{R}(t) \dot{\boldsymbol{R}}(t)^{T}=0

R˙(t)R(t)T=(R˙(t)R(t)T)T\dot{\boldsymbol{R}}(t) \boldsymbol{R}(t)^{T}=-\left(\dot{\boldsymbol{R}}(t) \boldsymbol{R}(t)^{T}\right)^{T}

引入向量与反对称矩阵的转换标志

a=A=[0a3a2a30a1a2a10],A=a\boldsymbol{a}^{\wedge}=\boldsymbol{A}=\left[\begin{array}{ccc}0 & -a_{3} & a_{2} \\a_{3} & 0 & -a_{1} \\-a_{2} & a_{1} & 0\end{array}\right], \quad \boldsymbol{A}^{\vee}=\boldsymbol{a}

由于 R˙(t)R(t)T\dot{\boldsymbol{R}}(t) \boldsymbol{R}(t)^{T} 是一个反对称矩阵,所以有

R˙(t)R(t)T=ϕ(t)\dot{\boldsymbol{R}}(t) \boldsymbol{R}(t)^{T}=\phi(t)^{\wedge}

R˙(t)=ϕ(t)R(t)\dot{\boldsymbol{R}}(t)=\phi(t)^{\wedge} \boldsymbol{R}(t)

可以看出对 RR 求导就是左乘一个 ϕ(t)\phi(t)^{\wedge}

在原点处 t0=0t_0 = 0 ,假设 R(0)=IR(0) = I,在原点处泰勒展开

R(t)R(t0)+R˙(t0)(tt0)&=I+ϕ(t0)(t)\begin{aligned}\boldsymbol{R}(t) & \approx \boldsymbol{R}\left(t_{0}\right)+\dot{\boldsymbol{R}}\left(t_{0}\right)\left(t-t_{0}\right) \&=\boldsymbol{I}+\boldsymbol{\phi}\left(t_{0}\right)^{\wedge}(t)\end{aligned}

可以看出 ϕ\phi 反应了 RR 导数的性质,故称它为 SO(3)SO(3) 原点附近的正切空间(tangent space),设 ϕ(t0)=ϕ0\phi(t_0) = \phi_0

R˙(t)=ϕ(t0)R(t)=ϕ0R(t)\dot{\boldsymbol{R}}(t)=\phi\left(t_{0}\right)^{\wedge} \boldsymbol{R}(t)=\boldsymbol{\phi}_{0}^{\wedge} \boldsymbol{R}(t)

将它看成一阶线性齐次微分方程,解得

R(t)=exp(ϕ0t)\boldsymbol{R}(t)=\exp \left(\boldsymbol{\phi}_{0}^{\wedge} t\right)

此处并不是传统意义上的 eϕ0te^{\phi_0^{\wedge} t}

该式说明对于任意 tt 都可以找到 RRϕ\phi 的对应关系,这称为指数映射(exponential map)

ϕ\phi 就是 SO(3)SO(3) 对应的李代数 so(3)so(3)

每个李群都有对应的李代数,李代数描述了李群的局部性质,准确地说,是单位元附近的正切空间

李代数由一个集合 V\mathbb{V} ,一个数域 F\mathbb{F} ,和一个二元运算 [,][,] 组成。如果它们满足以下几条性质,称 (V,F,[,])(\mathbb{V}, \mathbb{F},[,]) 为一个李代数 g\mathfrak{g}

 1. 封闭性 X,YV,[X,Y]V . \begin{array}{ll}\text { 1. 封闭性 } \quad \forall \boldsymbol{X}, \boldsymbol{Y} \in \mathbb{V},[\boldsymbol{X}, \boldsymbol{Y}] \in \mathbb{V} \text { . }\end{array}

 2. 叉线性 X,Y,ZV,a,bF, 有: \text { 2. 叉线性 } \quad \forall \boldsymbol{X}, \boldsymbol{Y}, \boldsymbol{Z} \in \mathbb{V}, a, b \in \mathbb{F}, \text { 有: }

[aX+bY,Z]=a[X,Z]+b[Y,Z],[Z,aX+bY]=a[Z,X]+b[Z,Y][a \boldsymbol{X}+b \boldsymbol{Y}, \boldsymbol{Z}]=a[\boldsymbol{X}, \boldsymbol{Z}]+b[\boldsymbol{Y}, \boldsymbol{Z}], \quad[\boldsymbol{Z}, a \boldsymbol{X}+b \boldsymbol{Y}]=a[\boldsymbol{Z}, \boldsymbol{X}]+b[\boldsymbol{Z}, \boldsymbol{Y}]

 3. 自反性 XV,[X,X]=0 . \text { 3. 自反性 } \quad \forall \boldsymbol{X} \in \mathbb{V},[\boldsymbol{X}, \boldsymbol{X}]=\mathbf{0} \text { . }

 4. 雅可比等价 X,Y,ZV,[X,[Y,Z]]+[Z,[Y,X]]+[Y,[Z,X]]=0\text { 4. 雅可比等价 } \quad \forall X, Y, Z \in \mathbb{V},[X,[Y, Z]]+[Z,[Y, X]]+[Y,[Z, X]]=0

二元运算被称为李括号(lie bracket),表达了两个元素的差异

李代数的例子,集合是三维向量,数域是实数,二元运算是叉积

g=(R3,R,×)\mathfrak{g} = (\mathbb{R}^3, \mathbb{R}, ×)

so(3)={ϕR3,Φ=ϕR3×3}\mathfrak{s} \mathfrak{o}(3)=\left\{\boldsymbol{\phi} \in \mathbb{R}^{3}, \boldsymbol{\Phi}=\boldsymbol{\phi}^{\wedge} \in \mathbb{R}^{3 \times 3}\right\}

Φ=ϕ=[0ϕ3ϕ2ϕ30ϕ1ϕ2ϕ10]R3×3\Phi=\phi^{\wedge}=\left[\begin{array}{ccc}0 & -\phi_{3} & \phi_{2} \\\phi_{3} & 0 & -\phi_{1} \\-\phi_{2} & \phi_{1} & 0\end{array}\right] \in \mathbb{R}^{3 \times 3}

[ϕ1,ϕ2]=(Φ1Φ2Φ2Φ1)\left[\phi_{1}, \phi_{2}\right]=\left(\Phi_{1} \Phi_{2}-\Phi_{2} \Phi_{1}\right)^{\vee}

它们是一个由三维向量组成的集合,每个向量对应一个反对称矩阵,可以用于表达旋转矩阵的导数

se(3)={ξ=[ρϕ]R6,ρR3,ϕso(3),ξ=[ϕρ0T0]R4×4}\mathfrak{s e}(3)=\left\{\boldsymbol{\xi}=\left[\begin{array}{c}\rho \\\phi\end{array}\right] \in \mathbb{R}^{6}, \boldsymbol{\rho} \in \mathbb{R}^{3}, \boldsymbol{\phi} \in \mathfrak{s} \mathfrak{o}(3), \boldsymbol{\xi}^{\wedge}=\left[\begin{array}{cc}\phi^{\wedge} & \rho \\0^{T} & 0\end{array}\right] \in \mathbb{R}^{4 \times 4}\right\}

前三维为平移,后三维为旋转,就是so(3)中的元素,此处 ^ 不再表示反对称

可以简单地理解成se(3)就是由一个平移加上一个so(3)元素构成的向量,虽然此处并不是直接平移

ξ=[ϕρ0T0]R4×4\boldsymbol{\xi}^{\wedge}=\left[\begin{array}{cc}\phi^{\wedge} & \rho \\0^{T} & 0\end{array}\right] \in \mathbb{R}^{4 \times 4}

[ξ1,ξ2]=(ξ1ξ2ξ2ξ1)\left[\xi_{1}, \xi_{2}\right]=\left(\xi_{1}^{\wedge} \xi_{2}^{\wedge}-\xi_{2}^{\wedge} \xi_{1}^{\wedge}\right)^{\vee}

指数映射

R=exp(ϕ)R=\exp \left(\phi^{\wedge}\right)

有泰勒展式得

exp(ϕ)=n=01n!(ϕ)n\exp \left(\phi^{\wedge}\right)=\sum_{n=0}^{\infty} \frac{1}{n !}\left(\phi^{\wedge}\right)^{n}

由于幂次太多不好计算,考虑将 ϕ\phi 分解成 θa\theta a ,因为 ϕ\phi 是三维向量,可以分解成方向和模长,此处 a=1||a|| =1,这样又如下两条性质

aa=aaTI\boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}=\boldsymbol{a} \boldsymbol{a}^{T}-\boldsymbol{I}

aaa=a\boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}=-\boldsymbol{a}^{\wedge}

这样就可以对泰勒展式进行化简

exp(ϕ)=exp(θa)=n=01n!(θa)n=I+θa+12!θ2aa+13!θ3aaa+14!θ4(a)4+=aaTaa+θa+12!θ2aa13!θ3a14!θ4(a)2+=aaT+(θ13!θ3+15!θ5)a(112!θ2+14!θ4)aa=aa+I+sinθacosθaa=(1cosθ)aa+I+sinθa=cosθI+(1cosθ)aaT+sinθa \begin{aligned}\exp \left(\phi^{\wedge}\right) &=\exp \left(\theta \boldsymbol{a}^{\wedge}\right)=\sum_{n=0}^{\infty} \frac{1}{n !}\left(\theta \boldsymbol{a}^{\wedge}\right)^{n} \\&=\boldsymbol{I}+\theta \boldsymbol{a}^{\wedge}+\frac{1}{2 !} \theta^{2} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\frac{1}{3 !} \theta^{3} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\frac{1}{4 !} \theta^{4}\left(\boldsymbol{a}^{\wedge}\right)^{4}+\ldots \\&=\boldsymbol{a} \boldsymbol{a}^{T}-\boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\theta \boldsymbol{a}^{\wedge}+\frac{1}{2 !} \theta^{2} \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}-\frac{1}{3 !} \theta^{3} \boldsymbol{a}^{\wedge}-\frac{1}{4 !} \theta^{4}\left(\boldsymbol{a}^{\wedge}\right)^{2}+\ldots \\&=\boldsymbol{a} \boldsymbol{a}^{T}+\left(\theta-\frac{1}{3 !} \theta^{3}+\frac{1}{5 !} \theta^{5}-\ldots\right) \boldsymbol{a}^{\wedge}-\left(1-\frac{1}{2 !} \theta^{2}+\frac{1}{4 !} \theta^{4}-\ldots\right) \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge} \\&=\boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\boldsymbol{I}+\sin \theta \boldsymbol{a}^{\wedge}-\cos \theta \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge} \\&=(1-\cos \theta) \boldsymbol{a}^{\wedge} \boldsymbol{a}^{\wedge}+\boldsymbol{I}+\sin \theta \boldsymbol{a}^{\wedge} \\&=\cos \theta \boldsymbol{I}+(1-\cos \theta) \boldsymbol{a} \boldsymbol{a}^{T}+\sin \theta \boldsymbol{a}^{\wedge}\end{aligned}

最终结果

exp(θa)=cosθI+(1cosθ)aaT+sinθa\exp \left(\theta \boldsymbol{a}^{\wedge}\right)=\cos \theta \boldsymbol{I}+(1-\cos \theta) \boldsymbol{a} \boldsymbol{a}^{T}+\sin \theta \boldsymbol{a}^{\wedge}

这与罗德里格斯公式一致,说明so(3)实际上就是由所谓的旋转向量组成的空间。这样so(3)中任意一个向量对应到了SO(3)中的旋转矩阵

反过来可以定义对数映射,表示SO(3)到so(3)

ϕ=ln(R)=(n=0(1)nn+1(RI)n+1)\phi=\ln (R)^{\vee}=\left(\sum_{n=0}^{\infty} \frac{(-1)^{n}}{n+1}(R-I)^{n+1}\right)^{\vee}

但实际不应该这样求,更简单的方法是

θ=arccos(tr(R)12)\theta=\arccos \left(\frac{\operatorname{tr}(\boldsymbol{R})-1}{2}\right)

Rn=n\boldsymbol{R} \boldsymbol{n}=\boldsymbol{n}

指数映射是满射,不是单射,这意味着可能存在多个so(3)对应同一个SO(3)。但是,把旋转角固定在[-π,+π]之间,就是一一对应的

旋转矩阵的导数可以由旋转向量指定。总结一下就是 RR 对时间求导后的 R˙(t)R(t)T\dot{\boldsymbol{R}}(t) \boldsymbol{R}(t)^{T} 是个反对称矩阵,那就有个 ϕ\phi 它是个三维向量,变成旋转向量,指数映射刚好可以从罗德里格斯公式求出

求解过程与so(3)相似

exp(ξ)=[n=01n!(ϕ)nn=01(n+1)!(ϕ)nρ0T1][RJρ0T1]=T\begin{aligned}\exp \left(\boldsymbol{\xi}^{\wedge}\right) &=\left[\begin{array}{ccc}\sum_{n=0}^{\infty} \frac{1}{n !}\left(\phi^{\wedge}\right)^{n} & \sum_{n=0}^{\infty} \frac{1}{(n+1) !}\left(\phi^{\wedge}\right)^{n} \rho \\& 0^{T} & 1\end{array}\right] \\& \triangleq\left[\begin{array}{cc}R & J \rho \\0^{T} & 1\end{array}\right]=T\end{aligned}

n=01(n+1)!(ϕ)n=I+12!θa+13!θ2(a)2+14!θ3(a)3+15!θ4(a)4=1θ(12!θ214!θ4+)(a)+1θ(13!θ315θ5+)(a)2+I=1θ(1cosθ)(a)+θsinθθ(aaTI)+I=sinθθI+(1sinθθ)aaT+1cosθθa= def J\begin{aligned}\sum_{n=0}^{\infty} \frac{1}{(n+1) !}\left(\phi^{\wedge}\right)^{n} &=I+\frac{1}{2 !} \theta \boldsymbol{a}^{\wedge}+\frac{1}{3 !} \theta^{2}\left(\boldsymbol{a}^{\wedge}\right)^{2}+\frac{1}{4 !} \theta^{3}\left(\boldsymbol{a}^{\wedge}\right)^{3}+\frac{1}{5 !} \theta^{4}\left(\boldsymbol{a}^{\wedge}\right)^{4} \ldots \\&=\frac{1}{\theta}\left(\frac{1}{2 !} \theta^{2}-\frac{1}{4 !} \theta^{4}+\cdots\right)\left(\boldsymbol{a}^{\wedge}\right)+\frac{1}{\theta}\left(\frac{1}{3 !} \theta^{3}-\frac{1}{5} \theta^{5}+\cdots\right)\left(\boldsymbol{a}^{\wedge}\right)^{2}+\boldsymbol{I} \\&=\frac{1}{\theta}(1-\cos \theta)\left(\boldsymbol{a}^{\wedge}\right)+\frac{\theta-\sin \theta}{\theta}\left(\boldsymbol{a} \boldsymbol{a}^{\mathrm{T}}-\boldsymbol{I}\right)+\boldsymbol{I} \\&=\frac{\sin \theta}{\theta} \boldsymbol{I}+\left(1-\frac{\sin \theta}{\theta}\right) \boldsymbol{a} \boldsymbol{a}^{\mathrm{T}}+\frac{1-\cos \theta}{\theta} \boldsymbol{a}^{\wedge} \stackrel{\text { def }}{=} \boldsymbol{J}\end{aligned}

J=sinθθI+(1sinθθ)aaT+1cosθθa\boldsymbol{J}=\frac{\sin \theta}{\theta} \boldsymbol{I}+\left(1-\frac{\sin \theta}{\theta}\right) \boldsymbol{a} \boldsymbol{a}^{T}+\frac{1-\cos \theta}{\theta} \boldsymbol{a}^{\wedge}

由以下两条可以求出 ϕ\phi

θ=arccos(tr(R)12)\theta=\arccos \left(\frac{\operatorname{tr}(\boldsymbol{R})-1}{2}\right)

Rn=n\boldsymbol{R} \boldsymbol{n}=\boldsymbol{n}

ϕ\phi 可以求出 JJρ\rho 可以通过解线性方程求得

t=Jρt=J \rho

/images/lie1.png
转换关系 (image)

由于李群上无加法,所以很难对李群求导,有两个思路。利用李代数上加法定义李群元素的导数?利用指数映射和对数映射完成转换

要解决的基本问题:李代数上的加法是否等价于李群上的乘法?即下式是否成立?

exp(ϕ1)exp(ϕ2)=exp((ϕ1+ϕ2))?\exp \left(\phi_{1}^{\wedge}\right) \exp \left(\phi_{2}^{\wedge}\right)=\exp \left(\left(\phi_{1}+\phi_{2}\right)^{\wedge}\right) ?

ln(exp(A)exp(B))=A+B?\ln{(\exp{(A)} \exp{(B)})} = A + B ?

答案是不成立,计算公式是BCH公式

ln(exp(A)exp(B))=A+B+12[A,B]+112[A,[A,B]]112[B,[A,B]]+\ln (\exp (\boldsymbol{A}) \exp (\boldsymbol{B}))=\boldsymbol{A}+\boldsymbol{B}+\frac{1}{2}[\boldsymbol{A}, \boldsymbol{B}]+\frac{1}{12}[\boldsymbol{A},[\boldsymbol{A}, \boldsymbol{B}]]-\frac{1}{12}[\boldsymbol{B},[\boldsymbol{A}, \boldsymbol{B}]]+\cdots

当其中一个为小量时,bch拥有线性近似表示(分为左乘模型和右乘模型)

ln(exp(ϕ1)exp(ϕ2)){Jl(ϕ2)1ϕ1+ϕ2 if ϕ1 is small Jr(ϕ1)1ϕ2+ϕ1 if ϕ2 is small \ln \left(\exp \left(\phi_{1}^{\wedge}\right) \exp \left(\phi_{2}^{\wedge}\right)\right)^{\vee} \approx\left\{\begin{array}{ll}J_{l}\left(\phi_{2}\right)^{-1} \phi_{1}+\phi_{2} & \text { if } \phi_{1} \text { is small } \\J_{r}\left(\phi_{1}\right)^{-1} \phi_{2}+\phi_{1} & \text { if } \phi_{2} \text { is small }\end{array}\right.

Jl=J=sinθθI+(1sinθθ)aaT+1cosθθa\boldsymbol{J}_{l}=\boldsymbol{J}=\frac{\sin \theta}{\theta} \boldsymbol{I}+\left(1-\frac{\sin \theta}{\theta}\right) \boldsymbol{a} \boldsymbol{a}^{T}+\frac{1-\cos \theta}{\theta} \boldsymbol{a}^{\wedge}

Jl1=θ2cotθ2I+(1θ2cotθ2)aaTθ2a\boldsymbol{J}_{l}^{-1}=\frac{\theta}{2} \cot \frac{\theta}{2} \boldsymbol{I}+\left(1-\frac{\theta}{2} \cot \frac{\theta}{2}\right) \boldsymbol{a} \boldsymbol{a}^{T}-\frac{\theta}{2} \boldsymbol{a}^{\wedge}

Jr(ϕ)=Jl(ϕ)J_{r}(\phi)=J_{l}(-\phi)

这样就解决了李群乘法和李代数加法的问题

exp(Δϕ)exp(ϕ)=exp((ϕ+Jl1(ϕ)Δϕ))\exp \left(\Delta \phi^{\wedge}\right) \exp \left(\phi^{\wedge}\right)=\exp \left(\left(\phi+J_{l}^{-1}(\phi) \Delta \phi\right)^{\wedge}\right)

exp((ϕ+Δϕ))=exp((JlΔϕ))exp(ϕ)=exp(ϕ)exp((JrΔϕ))\exp \left((\phi+\Delta \phi)^{\wedge}\right)=\exp \left(\left(J_{l} \Delta \phi\right)^{\wedge}\right) \exp \left(\phi^{\wedge}\right)=\exp \left(\phi^{\wedge}\right) \exp \left(\left(J_{r} \Delta \phi\right)^{\wedge}\right)

exp(Δξ)exp(ξ)exp((Jl1Δξ+ξ))exp(ξ)exp(Δξ)exp((Jr1Δξ+ξ))\begin{array}{l}\exp \left(\Delta \xi^{\wedge}\right) \exp \left(\xi^{\wedge}\right) \approx \exp \left(\left(\mathcal{J}_{l}^{-1} \Delta \xi+\xi\right)^{\wedge}\right) \\\exp \left(\xi^{\wedge}\right) \exp \left(\Delta \xi^{\wedge}\right) \approx \exp \left(\left(\mathcal{J}_{r}^{-1} \Delta \xi+\xi\right)^{\wedge}\right)\end{array}

假设机器人的位姿为 TT ,它观测到一个世界坐标系位于 pp 的点,产生一个观测数据 zz ,假设噪声是 ww

z=Tp+wz = Tp + w

误差

e=zTpe = z - Tp

假设一共有 NN 个这样的路标点和观测,就有 NN 个式子。那么对机器人进行位姿估计相当于寻找一个最优的 TT ,使得误差最小化

minTJ(T)=i=1NziTpi22\min _{\boldsymbol{T}} J(\boldsymbol{T})=\sum_{i=1}^{N}\left\|\boldsymbol{z}_{i}-\boldsymbol{T} \boldsymbol{p}_{i}\right\|_{2}^{2}

求解类似问题都要用到导数,由于SO(3)SO(3) SE(3)SE(3)上没有很好地定义加法,所以求导很麻烦

它们的李代数上定义了良好的加法,所以用李代数求导

这样就有两种思路:

RR 对应的李代数加上小量,求相对于小量的变化率(导数模型)

RR 左乘或右乘一个小量,求相对于小量的李代数的变化率(扰动模型)

考虑 SO(3)SO(3) 上的情况,假设对一个空间点 pp 进行旋转,得到 RpRp 现在要计算旋转之后的点的坐标相对于旋转的导数,非正式地记为

(Rp)R\frac{\partial(\boldsymbol{R} \boldsymbol{p})}{\partial \boldsymbol{R}}

由于它在李群上不好计算,所以转成李代数

RR 对应的李代数为 ϕ\phi

(exp(ϕ)p)ϕ=limδϕ0exp((ϕ+δϕ))pexp(ϕ)pδϕ=limδϕ0exp((Jlδϕ))exp(ϕ)pexp(ϕ)pδϕlimδϕ0(I+(Jlδϕ))exp(ϕ)pexp(ϕ)pδϕ=limδϕ0(Jlδϕ)exp(ϕ)pδϕ=limδϕ0(exp(ϕ)p)Jlδϕδϕ=(Rp)Jl \begin{aligned}\frac{\partial\left(\exp \left(\phi^{\wedge}\right) p\right)}{\partial \phi} &=\lim _{\delta \phi \rightarrow 0} \frac{\exp \left((\phi+\delta \phi)^{\wedge}\right) p-\exp \left(\phi^{\wedge}\right) p}{\delta \phi} \\&=\lim _{\delta \phi \rightarrow 0} \frac{\exp \left(\left(J_{l} \delta \phi\right)^{\wedge}\right) \exp \left(\phi^{\wedge}\right) p-\exp \left(\phi^{\wedge}\right) p}{\delta \phi} \\& \approx \lim _{\delta \phi \rightarrow 0} \frac{\left(I+\left(J_{l} \delta \phi\right)^{\wedge}\right) \exp \left(\phi^{\wedge}\right) p-\exp \left(\phi^{\wedge}\right) p}{\delta \phi} \\&=\lim _{\delta \phi \rightarrow 0} \frac{\left(J_{l} \delta \phi\right)^{\wedge} \exp \left(\phi^{\wedge}\right) p}{\delta \phi} \\&=\lim _{\delta \phi \rightarrow 0} \frac{-\left(\exp \left(\phi^{\wedge}\right) p\right)^{\wedge} J_{l} \delta \phi}{\delta \phi}=-(R p)^{\wedge} J_{l}\end{aligned}

这样就推导出旋转后的点相对于李代数的导数

(Rp)ϕ=(Rp)Jl\frac{\partial(\boldsymbol{R} \boldsymbol{p})}{\partial \boldsymbol{\phi}} = -(\boldsymbol{R} p)^{\wedge} \boldsymbol{J}_{l}

RR 左乘一个扰动 ΔR\Delta R ,设左扰动对应的李代数为 φ\varphi,对 φ\varphi 求导

(Rp)φ=limφ0exp(φ)exp(ϕ)pexp(ϕ)pφlimφ0(1+φ)exp(ϕ)pexp(ϕ)pφ=limφ0φRpφ=limφ0(Rp)φφ=(Rp)\begin{aligned}\frac{\partial(R p)}{\partial \varphi} &=\lim _{\varphi \rightarrow 0} \frac{\exp \left(\varphi^{\wedge}\right) \exp \left(\phi^{\wedge}\right) p-\exp \left(\phi^{\wedge}\right) p}{\varphi} \\& \approx \lim _{\varphi \rightarrow 0} \frac{\left(1+\varphi^{\wedge}\right) \exp \left(\phi^{\wedge}\right) p-\exp \left(\phi^{\wedge}\right) p}{\varphi} \\&=\lim _{\varphi \rightarrow 0} \frac{\varphi^{\wedge} R p}{\varphi}=\lim _{\varphi \rightarrow 0} \frac{-(R p)^{\wedge} \varphi}{\varphi}=-(R p)^{\wedge}\end{aligned}

(Tp)δξ=limδξ0exp(δξ)exp(ξ)pexp(ξ)pδξlimδξ0(I+δξ)exp(ξ)pexp(ξ)pδξ=limδξ0δξexp(ξ)pδξ=limδξ0[δϕδρ0T0][Rp+t1]δξ=limδξ0[δϕ(Rp+t)+δρ0]δξ=[I(Rp+t)0T0T](Tp)\frac{\partial(T p)}{\partial \delta \xi}=\lim _{\delta \xi \rightarrow 0} \frac{\exp \left(\delta \xi^{\wedge}\right) \exp \left(\xi^{\wedge}\right) p-\exp \left(\xi^{\wedge}\right) p}{\delta \xi} \\ \approx \lim _{\delta \xi \rightarrow 0} \frac{\left(I+\delta \xi^{\wedge}\right) \exp \left(\xi^{\wedge}\right) p-\exp \left(\xi^{\wedge}\right) p}{\delta \xi} \\ =\lim _{\delta \xi \rightarrow 0} \frac{\delta \boldsymbol{\xi}^{\wedge} \exp \left(\boldsymbol{\xi}^{\wedge}\right) \boldsymbol{p}}{\delta \boldsymbol{\xi}} \\ =\lim _{\delta \xi \rightarrow 0} \frac{\left[\begin{array}{cc}\delta \phi^{\wedge} & \delta \rho \\0^{T} & 0\end{array}\right]\left[\begin{array}{c}R p+t \\1\end{array}\right]}{\delta \xi} \\=\lim _{\delta \xi \rightarrow 0} \frac{\left[\begin{array}{c}\delta \phi^{\wedge}(\boldsymbol{R} p+\boldsymbol{t})+\delta \boldsymbol{\rho} \\0\end{array}\right]}{\delta \boldsymbol{\xi}}=\left[\begin{array}{cc}\boldsymbol{I} & -(\boldsymbol{R} \boldsymbol{p}+\boldsymbol{t})^{\wedge} \\\mathbf{0}^{T} & \mathbf{0}^{T}\end{array}\right] \triangleq(\boldsymbol{T} \boldsymbol{p})^{\odot}

Powered By Valine
v1.4.14