在上一篇帖子上对李群和李代数进行了简单的介绍,也对李代数的意义以及李群和李代数的关系,做了简单的介绍,但是只是文字和公式太过抽象,经过查阅资料,并进行总结了这篇文章。
下面是上一篇文章的部分内容
1.应用意义
在视觉slam中,我们需要不断计算相机的位姿和构建地图,相机的位姿表现在其变换矩阵T,由于干扰的存在,我们无法准确获得所需要的信息,所以我们转而求其最小误差。
假设我们有N个三维点p和对应的观测值z,我们的目标就是寻找一个最佳位姿T,使得整体误差最小化,如下式:
m
i
n
T
J
(
T
)
=
∑
i
=
1
N
∣
∣
z
i
−
T
p
i
∣
∣
2
2
\underset{T}{min}J(T)=\sum_{i = 1} ^N||z_i-Tp_i||^2_2
TminJ(T)=i=1∑N∣∣zi−Tpi∣∣22
要求解上面的方程,就是要求目标函数J对T的导数,但是由于T所在的变换矩阵群(SO(3))对加法不封闭,无法直接求取,所以我们需要引入一个新的量,通过对该量的计算间接获得对T的求导,这个引入的量就是李代数
2.数学意义
每个李群都有与之对应的李代数。李代数描述了李群的局部性质(局部导数),准确的说是单位元附近的正切空间。
1.李群和李代数的关系
李代数描述了李群的局部性质,每个李群都有相对应的李代数。李代数对应李群的切空间,它描述了李群局部的导数。李群是具有群结构的流形,李代数是李群上单位元处保留李括号的切空间。
如下图所示,这个图可以比较形象的描述李群和李代数之间的关系。
把图中的球面看成李群的流形M,那么把图中的平面看成点 ε \varepsilon ε附近李代数的正切空间 T ε M T_\varepsilon M TεM。
这里可以把球面看成相机运行的轨迹,连续且光滑,也就是李群,是光滑流形。所谓流形,简单点理解就是高维空间的超曲面,而光滑流形是带有微分结构的拓扑流形。而切空间,简单理解就是流形上某点处的相切面,当然高维流形其切面也是高维切面。下图就是用了比较容易理解的球面和切平面分别代指流形和切空间。
李群上每个量都是非线性的,而到了对应李代数上就变成了线性了。
李代数(vt、 τ 1 、 \tau_1、 τ1、 τ 2 \tau_2 τ2)通过指数映射到李群(exp(vt)、 e x p ( τ 1 ) 、 exp(\tau_1)、 exp(τ1)、 e x p ( τ 2 exp(\tau_2 exp(τ2))。
反之李群( χ 3 \chi_3 χ3)通过对数映射到李代数( l o g ( χ 3 ) log(\chi_3) log(χ3))。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7EG79hRK-1691211454460)(D:\software\qq\1361173418\FileRecv\MobileFile\0D699F9B50082CA71ED1C9AFEA2E50D1.png)]
至于相关对数和指数的计算在上一篇文章中介绍过,这里就不进行说明了。
本文主要参考《机器人SLAM导航核心技术与实战》
进行说明了。
本文主要参考《机器人SLAM导航核心技术与实战》