SLAM十四讲ch4笔记——李群和李代数

在SLAM问题中我们经常要进行位姿的优化,优化中最重要的过程就是对方程进行求导,而在矩阵层面上去进行求导或者其他的数学处理是什么麻烦的,所以一般我们在李代数上进行这些优化操作,而且李代数上的优化是一种无约束的优化,十分的简洁方便相比使用李代数来说。

什么是李群和李代数


基础知识:

  • 三维旋转矩阵构成了特殊正交群
    S O ( 3 ) = { R ∈ R 3 × 3 ∣ R R T = I , d e t ( R ) = 1 } SO_{(3)}= \{ R \in \mathbb{R}^{3 \times 3} |RR^T=I,det(R)=1 \} SO(3)={ RR3×3RRT=I,det(R)=1}

  • 三维变换矩阵构成了特殊欧式群
    S E ( 3 ) = { T = [ R t 0 T 1 ] ∈ R 4 × 4 ∣ R ∈ S O ( 3 ) , t ∈ R 3 } SE_{(3)}= \{ T= \begin{bmatrix} R&t\\ 0^T&1\\ \end{bmatrix} \in \mathbb{R}^{4\times4}| R\in SO_{(3)},t \in \mathbb{R}^3 \} SE(3)={ T=[R0Tt1]R4×4RSO(3),tR3}

  • 什么是群?

    • 群是一个集合加上一种运算的代数结构
    • 记集合为A,运算为. ,那么当运算满足以下性质时,称(A,.)成群:
      • 封闭性:
        ∀ a 1 , a 2 ∈ A a 1 ⋅ a 2 ∈ A \forall a_1,a_2 \in A\\ a_1\cdot a_2 \in A a1,a2Aa1a2A

      • 结合律:
        ∀ a 1 , a 2 , a 3 ∈ A ( a 1 ⋅ a 2 ) ⋅ a 3 = a 1 ⋅ ( a 2 ⋅ a 3 ) \forall a_1,a_2,a_3 \in A\\ (a_1\cdot a_2)\cdot a_3 = a_1\cdot (a_2\cdot a_3) a1,a2,a3A(a1a2)a3=a1(a2a3)

      • 幺元:
        ∃ a 0 ∈ A , ∀ a ∈ A a 0 ⋅ a = a ⋅ a 0 = a \exists a_0 \in A, \forall a \in A\\ a_0 \cdot a=a \cdot a_0=a a0A,aAa0a=aa0=a

      • 逆:
        ∀ a 0 ∈ A , ∃ a − 1 ∈ A a ⋅ a − 1 = a 0 \forall a_0 \in A,\exists a^{-1} \in A\\ a \cdot a^{-1}=a_0 a0A,a1Aaa1=a0

  • 可以验证:

    • 旋转矩阵集合和矩阵乘法成群
    • 变换矩阵集合和矩阵乘法成群
    • 因此称他们为旋转矩阵群变换矩阵群

李群和李代数的导出

  • 什么是李群(Lie Group)

    • 具有连续(光滑)性质的群。
    • 直观上看,一个刚体能够连续的在空间中运动,故 S O ( 3 ) SO_{(3)} SO(3) S E ( 3 ) SE_{(3)} SE(3)都是李群。
    • 但是, S O ( 3 ) SO_{(3)} SO(3) S E ( 3 ) SE_{(3)} SE(3)只有定义良好的乘法,没有加法,所以难以进行取极限、求导等操作。
  • 什么是李代数?

    • 与李群对应的一种结构,位于向量空间
    • 通常记作小写的 s o ( 3 ) so_{(3)} so(3) s e ( 3 ) se_{(3)} se(3)
    • 事实上是李群单位元处的正切空间。
  • 李代数的引出:
    任意旋转矩阵R满足:
    R R T = I RR^T=I RRT=I
    考虑R随时间的变化,有:
    R ( t ) R ( t ) T = I R(t)R(t)^T=I R(t)R(t)T=I
    两侧对时间求导:
    R ˙ ( t ) R ( t ) T + R ( t ) R ˙ ( t ) T = 0 \dot{R}(t) R(t)^T+R(t)\dot{R}(t)^T=0 R˙(t)R(t)T+R(t)R˙(t)T=0
    整理得:
    R ˙ ( t ) R ( t ) T = − ( R ˙ ( t ) R ( t ) T ) T \dot{R}(t) R(t)^T=- \begin{pmatrix} \dot{R}(t) R(t)^T \end{pmatrix}^T R˙(t)R(t)T=(R˙(t)R(t)T)T
    可以看出上式是一个反对称矩阵,记为(反对称符号):
    R ˙ ( t ) R ( t ) T = ϕ ( t ) Λ \dot{R}(t) R(t)^T = \phi(t)^{\Lambda} R˙(t)R(t)T=ϕ(t)Λ
    两侧右乘R(t)
    R ˙ ( t ) = ϕ ( t ) Λ R ( t ) \dot{R}(t)=\phi(t)^{\Lambda}R(t) R˙(t)=ϕ(t)ΛR(t)
    可以看到,对R求导之后,左侧多出一个 ϕ ( t ) Λ \phi(t)^{\Lambda} ϕ(t)Λ
    下面我们考虑简单的情况(泰勒展开):
    t 0 = 0 , R ( 0 ) = I R ( t ) ≈ R ( t 0 ) + R ˙ ( t 0 ) ( t − t 0 ) = R ( 0 ) + ϕ ( t 0 ) Λ R ( t 0 ) ( t − 0 ) = I + ϕ ( t 0 ) Λ ( t ) t_0=0,R(0)=I\\ R(t)\approx R(t_0)+\dot{R}(t_0)(t-t_0)\\=R(0)+ \phi(t_0)^{\Lambda}R(t_0)(t-0)\\=I+\phi(t_0)^{\Lambda}(t) t0=0,R(0)=IR(t)R(t0)+R˙(t0)(tt0)=R(0)+ϕ(t0)ΛR(t0)(t0)=I+ϕ(t0)Λ<

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值