slam当中的李群与李代数总结

最近看了Multiple View Geometry的课程,结合slam14讲,以自己的理解写了以下关于李群和李代数的总结.

我觉得这部分的难点一部分在于数学公式的推导,一部分在于他们的内部逻辑关系,即推导的意义.

关于一些概念的部分可以参照14讲,本文将不再阐述.

 

我们知道,在slam当中,较为关键的步骤是计算T,即变换矩阵,那么在T=\begin{pmatrix} R& t \\ 0^T & 1 \end{pmatrix}当中,各个量之间会有约束,且其对于加法不封闭,会影响到求导,所以,如果能够找到一种在加法上封闭,且可以用几个相互独立的变量来代表T那就好了.

 

为了寻求这样的表达方式,有人利用了一种比较巧妙的数学变换,如下:

我们知道任意旋转矩阵满足:RR^T=I

两边对t求导并做变换可以得到\dot{R}R^T=\hat{a},其中a表示三维向量,\hat{a}表示由a生成的反对称矩阵,之所以可以这么表达是因为,\dot{R}R^T是一个反对称矩阵.在这里我们就可以看到,利用a的三个分量,就可以与R产生关联.如果将R(t)作泰勒展开,我们可以看到a反应了R的导数性质,称它在SO(3)附近的正切空间上(这个我有些不理解,位于正切空间又有什么意义呢?),我的理解是a在一定程度上可以表征R的变化.具体来说,R可以表示如下:

                                                                                                    R=exp(\hat{a}t)

我们可以利用这个表达式来将a与R对应起来,其中a就是R这个SO(3)群对应的李代数so(3),其中它就满足

1.各个分量相互独立 2.对于加法封闭. 达到了我们的目的.

假如将a表示为模长和方向的形式,可以推导出:

                                                                            exp(\theta \hat{a})=cos\theta I+(1-cos\theta)a\hat{a}+sin\theta\hat{a}

此即为罗德里格斯公式,因此我们可以看到so(3)其实是旋转向量组成的空间,这也是SO(3)的指数映射.

 

下面让我们转到特殊欧式群SE(3),令

                                                                                              g(t)=\begin{pmatrix} R(t) & T(t) \\ 0 & 1 \end{pmatrix}

可以计算得到                                                   

                                                                                        \dot{g}g^{-1}=\begin{pmatrix} \dot{R}R^T & \dot{T}-\dot{R}R^TT \\ 0 & 0 \end{pmatrix}

通过分析,可以令一个三维向量

                                                                                                 v(t)=\dot{T}-\hat{a}T

此时

                                                                                                 \dot{g}g^{-1}=\begin{pmatrix}\hat{a}& v\\ 0 & 0 \end{pmatrix}

上式也被记为\hat{\xi},我们可以得到

                                                                                                         \dot{g}=\hat{\xi}g

因此利用\xi也可以表征g,在泰勒展式中:

                                                                                             g(t+dt)=g(t)+\hat{\xi}g(t)dt

说明\hat{\xi}在g(t)的正切空间上.

我们就得到了与SE(3)对应的李代数\xi,具体来讲:

                                                                               se(3)=\begin{Bmatrix} \hat{\xi}=\begin{bmatrix} \hat{a}&v \\ 0^T& 0 \end{bmatrix}\mid \hat{a} \in so(3),v \in R^3 \end{Bmatrix}

类似地,我们可以得到

                                                                                              g(t)=exp(\hat{\xi}t)

便得到了SE(3)与se(3)的相互转换关系.

类似于SO(3)的指数映射,我们也可以得到SE(3)的指数映射.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值