视觉SLAM_06_指数与对数映射

说明:转发请注明作者和出处;以下文章内容为精简版,详细版以pdf格式的幻灯片形式呈现,请见链接:视觉SLAM_06_指数与对数映射.pdf

0.目录

1.SO(3)上的指数映射

  任意矩阵的指数映射可以写成一个泰勒展开,但是只有在收敛的情况下才会有结果,其结果仍是一个矩阵:
e A = ∑ n = 0 ∞ 1 n ! A n (1) e^{\boldsymbol A} = \sum_{n=0}^{\infty} \frac{1}{n!} \boldsymbol{A} ^ n \tag{1} eA=n=0n!1An(1)  同样地,对 s o ( 3 ) \mathfrak{so}(3) so(3)中的任意元素 ϕ \boldsymbol \phi ϕ,也可以按此方式定义其指数映射:
e ϕ   ^ = ∑ n = 0 ∞ 1 n ! ( ϕ   ^ ) n (2) e^{\boldsymbol \phi \hat{\,} ^{}} = \sum_{n=0}^{\infty} \frac{1}{n!} (\boldsymbol \phi \hat{\,} ^{} ) ^ n \tag{2} eϕ^=n=0n!1(ϕ^)n(2)但此定义无法直接计算,下面推导一种计算指数映射的简便方法。

  由于 ϕ \boldsymbol \phi ϕ是三维向量,定义它的模长和方向分别为 θ \theta θ a \boldsymbol a a,于是有 ϕ = θ a \boldsymbol \phi = \theta \boldsymbol a ϕ=θa,其中, ∥ a ∥ = 1 \| \boldsymbol a \| = 1 a=1
对于 a   ^ \boldsymbol a \hat{\,} ^ {} a^有以下两条性质:
a   ^ a   ^ = [ − a 2 2 − a 3 2 a 1 a 2 a 1 a 3 a 1 a 2 − a 1 2 − a 3 2 a 2 a 3 a 1 a 3 a 2 a 3 − a 1 2 − a 2 2 ] (3) \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} = \begin{bmatrix} -a^2_2 - a^2_3 & a_1 a_2 & a_1 a_3 \\ a_1 a_2 & -a^2_1 - a^2_3 & a_2 a_3 \\ a_1 a_3 & a_2 a_3 & -a^2_1 - a^2_2 \end{bmatrix} \tag{3} a^a^=a22a32a1a2a1a3a1a2a12a32a2a3a1a3a2a3a12a22(3) a   ^ a   ^ a   ^ = a   ^ ( a a T − I ) = − a   ^ (4) \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} = \boldsymbol a \hat{\,} ^ {} (\boldsymbol a \boldsymbol a ^T - \boldsymbol I) = - \boldsymbol a \hat{\,} ^ {} \tag{4} a^a^a^=a^(aaTI)=a^(4)这两个式子提供了处理 a   ^ \boldsymbol a \hat{\,} ^{} a^高阶项的方法。指数映射可以写成:
e ϕ   ^ = e θ a   ^ = ∑ n = 0 ∞ 1 n ! ( θ a   ^ ) n = I + θ a   ^ + 1 2 ! θ 2 a   ^ a   ^ + 1 3 ! θ 3 a   ^ a   ^ a   ^ + 1 4 ! ( a   ^ ) 4 + . . . = a a T − a   ^ a   ^ + θ a   ^ + 1 2 ! θ a   ^ a   ^ − 1 3 ! θ 3 a   ^ − 1 4 ! θ 4 ( a   ^ ) 2 + . . . = a a T + ( θ − 1 3 ! θ 3 + 1 5 ! θ 5 − . . . ) a   ^ − ( 1 − 1 2 ! θ 2 + 1 4 ! − . . . ) a   ^ a   ^ = a   ^ a   ^ + I + sin ⁡ θ a   ^ − cos ⁡ θ a   ^ a   ^ = ( 1 − cos ⁡ θ ) a   ^ a   ^ + I + sin ⁡ θ a   ^ = cos ⁡ θ I + ( 1 − cos ⁡ θ ) a a T + sin ⁡ θ a   ^ \begin{aligned} e^{\boldsymbol \phi \hat{\,} ^{}} &= e^{\theta \boldsymbol a \hat{\,} ^{}} = \sum_{n=0}^{\infty} \frac{1}{n!} (\theta \boldsymbol a \hat{\,} ^{}) ^ n \\ &= \boldsymbol I + \theta \boldsymbol a \hat{\,} ^ {} + \frac{1}{2!} \theta^2 \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} + \frac{1}{3!} \theta^3 \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} + \frac{1}{4!} (\boldsymbol a \hat{\,} ^ {})^4 + ... \\ &= \boldsymbol a \boldsymbol a ^T - \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} + \theta \boldsymbol a \hat{\,} ^ {} + \frac{1}{2!} \theta \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} - \frac{1}{3!} \theta^3 \boldsymbol a \hat{\,} ^ {} - \frac{1}{4!} \theta^4 (\boldsymbol a \hat{\,} ^ {})^2 + ... \\ &= \boldsymbol a \boldsymbol a ^T + (\theta - \frac{1}{3!} \theta^3 + \frac{1}{5!} \theta^5 - ...) \boldsymbol a \hat{\,} ^ {} - (1 - \frac{1}{2!} \theta^2 + \frac{1}{4!} - ...) \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} \\ &= \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} + \boldsymbol I + \sin \theta \boldsymbol a \hat{\,} ^ {} - \cos \theta \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} \\ &= (1 - \cos \theta) \boldsymbol a \hat{\,} ^ {} \boldsymbol a \hat{\,} ^ {} + \boldsymbol I + \sin \theta \boldsymbol a \hat{\,} ^ {} \\ &= \cos \theta \boldsymbol I + (1 - \cos \theta) \boldsymbol a \boldsymbol a ^T + \sin \theta \boldsymbol a \hat{\,} ^ {} \end{aligned} eϕ^=eθa^=n=0n!1(θa^)n=I+θa^+2!1θ2a^a^+3!1θ3a^a^a^+4!1(a^)4+...=aaTa^a^+θa^+2!1θa^a^3!1θ3a^4!1θ4(a^)2+...=aaT+(θ3!1θ3+5!1θ5...)a^(12!1θ2+4!1...)a^a^=a^a^+I+sinθa^cosθa^a^=(1cosθ)a^a^+I+sinθa^=cosθI+(1cosθ)aaT+sinθa^ 即: e θ a   ^ = cos ⁡ θ I + ( 1 − cos ⁡ θ ) a a T + sin ⁡ θ a   ^ (5) \begin{aligned} e^{\theta \boldsymbol a \hat{\,} ^{}} = \cos \theta \boldsymbol I + (1 - \cos \theta) \boldsymbol a \boldsymbol a ^T + \sin \theta \boldsymbol a \hat{\,} ^ {} \end{aligned} \tag{5} eθa^=cosθI+(1cosθ)aaT+sinθa^(5) s o ( 3 ) \mathfrak{so}(3) so(3)实际上就是由所谓的旋转向量组成的空间,通过指数映射,可以把 s o ( 3 ) \mathfrak{so}(3) so(3)中任意一个向量对应到了一个位于SO(3)中的旋转矩阵。反之,也能把SO(3)中的元素对应到 s o ( 3 ) \mathfrak{so}(3) so(3)中:
ϕ = ln ⁡ ( R ) ∨ = ( ∑ n = 0 ∞ ( − 1 ) n n + 1 ( R − I ) n + 1 ) ∨ (6) \boldsymbol \phi = \ln (\boldsymbol R)^{\vee} = \left(\sum_{n=0}^{\infty} \frac{(-1)^n}{n+1} (\boldsymbol R - \boldsymbol I)^{n + 1} \right)^{\vee} \tag{6} ϕ=ln(R)=(n=0n+1(1)n(RI)n+1)(6)

2.SE(3)上的指数映射

   s e ( 3 ) \mathfrak{se}(3) se(3)上的指数映射形式如下:
e ξ   ^ = [ ∑ n = 0 ∞ 1 n ! ( ϕ   ^ ) n ∑ n = 0 ∞ 1 ( n + 1 ) ! ( ϕ   ^ ) n ρ 0 T 1 ] = Δ [ R J ρ 0 T 1 ] = T (7) \begin{aligned} e^{\boldsymbol \xi \hat{\,} ^ {}} &= \begin{bmatrix} \sum_{n=0}^{\infty} \frac{1}{n!} \left( \boldsymbol \phi \hat{\,}^{} \right)^n & \sum_{n=0}^{\infty} \frac{1}{(n+1)!}(\boldsymbol \phi \hat{\,}^{})^n \boldsymbol \rho \\ \boldsymbol 0^T & 1 \end{bmatrix} \\ &\overset{\Delta}{=} \begin{bmatrix} \boldsymbol R & \boldsymbol {J\rho} \\ \boldsymbol 0^T & 1 \end{bmatrix} = \boldsymbol T \end{aligned} \tag{7} eξ^=[n=0n!1(ϕ^)n0Tn=0(n+1)!1(ϕ^)nρ1]=Δ[R0TJρ1]=T(7)
ϕ = θ a \boldsymbol \phi = \theta \boldsymbol a ϕ=θa,其中 a \boldsymbol a a为单位向量,则:
J = ∑ n = 0 ∞ 1 ( n + 1 ) ! ( ϕ   ^ ) n = sin ⁡ θ θ I + ( 1 − sin ⁡ θ θ ) a a T + 1 − cos ⁡ θ θ a   ^ (8) \boldsymbol J = \sum_{n=0}^{\infty} \frac{1}{(n+1)!} (\boldsymbol \phi \hat{\,} ^{})^n = \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 \hat{\,}^{} \tag{8} J=n=0(n+1)!1(ϕ^)n=θsinθI+(1θsinθ)aaT+θ1cosθa^(8)

  李群李代数的对应关系如图1-1所示:
在这里插入图片描述

图1-1 SO(3),SE(3), so(3), se(3)对应关系(摘自参考文献)

3.参考文献

  • 高翔等. 视觉SLAM十四讲:从理论到实践第二版. 北京:电子工业出版社,2019.8.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一字艺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值