李群
在SLAM中,我们经常会遇到李群李代数的概念。我只知道对于3维空间的旋转矩阵 \bf R 其是个特殊的正交群\rm SO(3)。可以理解成个特殊的3\times3矩阵满足:
{\rm SO(3)} :=\lbrace {\bf R} \in\Bbb R^{3\times3} : {\bf RR}^{\rm T}=1 , \det({\bf R}) = 1\rbrace
对于3D空间位姿常用{\rm SE(3)} 表示:
{\rm SE(3)} = \lbrace\begin{bmatrix}{\bf R}& {\bf t}\\ {\bf 0^T}& 1\end{bmatrix} | {\bf R} \in{\rm SO(3)},{\bf t}\in \Bbb R^3 \rbrace
李代数
对于其李代数,我们经常看到文献中说的是:其定义与李群的正切空间上,用于描述李群中元素的局部性质。一般用一个向量 {\vec \gamma} 进行表示.
这里我们就要思考了,描述的是李群的局部性质。那么自然想到导数了。(“李代数这货”其实就是跟导数有关).首先给出一下几个矩阵。
G_{r_x}: = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & -1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0\end{bmatrix}, G_{r_y}: = \begin{bmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ -1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0\end{bmatrix},G_{r_z}: = \begin{bmatrix} 0 & -1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0\end{bmatrix}
G_{t_x}: = \begin{bmatrix} 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0\end{bmatrix}, G_{t_y}: = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0\end{bmatrix},G_{t_z}: = \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0\end{bmatrix}
G_{s}: = \begin{bmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0\end{bmatrix}
那么常见的李代数就可以定义为:
{\frak {so}(3)} : = \lbrace \omega_1G_{r_x} + \omega_2G_{r_x} + \omega_3G_{r_x} | (\omega_1, \omega_2,\omega_3)\in {\Bbb R}^3\rbrace
{\frak {se}(3)} : = \lbrace A+\nu_1G_{r_x} + \nu_2G_{r_x} + \nu_3G_{r_x} | A\in {\frak {so}(3)} , (\nu_1, \nu_2,\nu_3)\in {\Bbb R}^3\rbrace
{\frak {sim}(3)} : = \lbrace B+ \lambda G_s | B\in{\frak {se}(3)}, \lambda\in{\Bbb R} \rbrace
一般我们用这里系数来表示李代数如:
用 {\vec \gamma} = [\omega_1,\omega_2,\omega_3]^{\rm T} 表示{\frak {so}(3)}
用 {\vec \gamma} = [\omega_1,\omega_2,\omega_3,\nu_1,\nu_2,\nu_3]^{\rm T} 表示{\frak {se}(3)}
用 {\vec \gamma} = [\omega_1,\omega_2,\omega_3,\nu_1,\nu_2,\nu_3,\lambda]^{\rm T} 表示{\frak {sim}(3)}
至此,已经知道李代数表示的意义。对于李代数和李群的关系,通过矩阵的指数运算和矩阵的对数运算相互转化。
伴随(Adjoint)
这里单独把伴随放到李群李代数这里,是因为其有一个十分好的性质。首先给出伴随的定义:
伴随就是一个可以“移动”李群不同正切空间元素的函数。(看不懂啥意思吧。:)?)具体看公式就明白了。
对于一个李群{\bf T} \in {\rm SE(3)}和一个李代数\xi \in{\frak se}(3)
那么有:
{\bf T}\cdot e^{\hat\xi} = e^{\widehat{Adj_{\bf T} \cdot \xi}} \cdot {\bf T}
Adj_{\bf T} = \begin{bmatrix} \bf R & \bf t_\times R \\ {\bf 0}_{3\times3} & \bf R \end{bmatrix} \in {\Bbb R^{6\times6}}
作者:功夫panfa