一、群

        群是一种集合加上一种运算的代数结构,记集合A,运算·,集合内元素为a,若满足以下四条性质,则称A成群;

         容易验证,旋转矩阵的集合与矩阵乘法运算构成群,称为特殊正交群;变换矩阵的集合与矩阵乘法也构成群,称为特殊欧式群;

二、李群与李代数

李群

        李群是具有连续(光滑)性质的群,既是群也是流形;直观上来看,一个刚体能够连续的在空间中运动,所以SO3和SE3都是李群,但是SO3和SE3只有定义良好的乘法,没有加法,所以难以进行取极限,求导操作。

李代数的引出

         

可以看作,对R(t)求一次导数等于R(t)左乘一个对应的三维向量的反对称矩阵。

这里可以看出\phi反映了一阶导数的性质,位于正切空间上。此时联立上述式子,代入初始条件

这一结果说明了对于任意t,都可以找到一个R和一个\phi的对应关系,这种对应关系被称为指数映射。这里的\phi就称为SO(3)对应的李代数so(3);

(李群高维空间中低维的流型,在这个流形原点附近做一个切平面,这个切平面上的任一一个点都可以用exp给它映射回去)

李代数

        每个李群都有与之对应的李代数,李代数描述了李群单位元附近正切空间的性质。

so(3)

se(3)

se(3)是由一个\rho和一个so(3)组成的六维向量,这里的反对称符号表示为由六维向量到四维方阵的映射,而不是表示的反对称矩阵。

三、指数映射和对数映射

        SO(3)与so(3)的映射关系

        由前面内容可以得知,指数映射反映了李代数到李群的对应关系,但是\phi ^{\wedge }是一个矩阵,对于一个矩阵,如何求指数运算。
        将李代数表述如下:        利用如下性质,对exp函数进行泰勒展开
        得到结果

        我们可以看出, 这个式子就是上一讲中的罗德里格斯公式(旋转向量通过罗德里格斯公式后变为旋转矩阵),这这说明李代数so(3)的物理意义就是旋转向量。将角度\theta限定在2\pi角度内,可以得到李代数so(3)到李群SO(3)的唯一指数映射。同样的,给定旋转矩阵时,亦能通过对数映射求李代数。

        但实际上,可以通过上一节旋转向量的方法,旋转矩阵到向量的转换关系如下:        至此,说明了SO(3)和so(3)的对应关系。

        SE(3)与se(3)的映射关系

        同理SO(3)和so(3)的映射关系,泰勒扎克开化简:

其中:

        总结:

四、求导与扰动模型

        因为我们知道,李群没有加法运算,故导数无从定义。 求解思路:因为李代数是一个线性空间,可以在李代数上加小量,最后再映射到李群上。因为是对数映射关系,现在存在的问题就是在李代数上做加法是否等于在李群上做乘法。

        可惜这里\phi是矩阵,这个等式是不成立的。 正确的等式是BCH公式:
        当A、B其中一个量为小量的时候,可以忽略其高阶项,进而达到化简BCH公式的目的这里:
          写法如下:

        通过上述内容,现在可以定义李代数上的导数,有两种方法:一种方法是对R对应的李代数加上小量,求相对于小量的变化率,称为导数模型;另一种方法是对R左乘或者右乘一个小量,求相对于小量的李代数的变化率,称为扰动模型;(从以往的经验上来说,扰动模型较为简单)

        导数模型:

        因为雅可比矩阵的计算很复杂,所以希望避免雅可比计算。

        扰动模型 [以SO(3)左乘扰动模型为例]:

        对李群左乘或者右乘微小扰动,然后对扰动求导,分为左扰动模型和右扰动模型。这里以左扰动模型为例:

这里第二式变换的原理是一阶泰勒展开,第四式将反对称矩阵与一阶矩阵相乘看作叉积的过程,交换后符号相反。(详见视觉SLAM十四讲笔记 03-李群与李代数 - 哔哩哔哩 (bilibili.com));由结果可以看出,相比于求导模型,这里扰动模型的计算结果不含雅可比矩阵的计算;所以扰动模型更加简洁实用;

        SE(3)的扰动模型:
        使变换矩阵左乘一个扰动,然后对扰动求导;

 这里:

所以有:

最后一步来源于:

计算较为复杂,暂时略去这一步的推导,综上,结果如下:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐