群的定义
设有一个集合,集合中的元素为,元素之间存在乘法运算,称是一个群如果其满足以下条件:
- 封闭性
- 结合律
- 存在幺元
- 存在逆元
SLAM中常用的群
只考虑实数域。所有的正交矩阵构成了一个群,称为正交群,记为,在这些正交矩阵中,行列式为正1的矩阵本身也构成一个群,称为特殊正交群,记为,也就是说是的一个子群(准确的说是正规子群)。
在SLAM以及很多机器人技术中,最常用到的就是,也就是所有三维旋转矩阵构成的群,可以用来表示机器人或者飞行器的姿态。
当需要描述一个刚体变换(旋转加平移)时,光靠一个旋转矩阵是不够的,当我们使用齐次坐标表示空间中的点时,对该点的刚体变换可用下面的矩阵表示
其中是旋转矩阵,是平移矢量。容易验证,矩阵也是满足构成群的四个条件的,其中逆元为
幺元就是单位阵,因此所有刚体变换矩阵也构成一个群,称为特殊欧式群,记为。当然也存在,看做是任意维度下的刚体变换。如果不要求里面的必须是一个旋转矩阵,甚至不要求是正交矩阵,只要可逆就行,那么我们就得到了更一般的仿射群,在这就不深入讨论了。
为了方便之后介绍不变卡尔曼滤波,这里对做一个扩展,我们发现型如
的矩阵,大小为,,也满足群定义,逆元为
幺元也是单位阵,我们将这种矩阵构成的群记为。
切空间与李代数
和这类群,还有一个特点是平滑连续,即他们是一个平滑的流形,这类群称为李群。在流形上微分可以得到流形上某一点的切空间(类比于对曲线微分得到切线)。其中在幺元处的切空间最重要(与后面的指数映射有关)。下面分别来求一下,,以及在幺元处的切空间。
的切空间
具体写出的定义为
现在假设是一个随时间变化的量,则两边对时间求导,并令,有
由于要求幺元处的切空间,令上式中的,得
即是一个斜对称矩阵,有如下形式
这就是幺元处的切空间所具有的形式。以上斜对称矩阵实际只有3个维度,我们定义一个映射
则矢量就是我们常说的轴角。矢量的方向代表旋转的轴,矢量的模长代表要旋转的角度。
与的切空间
有了的切空间后,与的切空间就很好求了。幺元处的切空间实际上是幺元在流形上发生微小摄动产生的增量,比如对而言,幺元在流形上的微小摄动产生,那么平移量本身属于向量空间,微小的摄动仍然是一个三维矢量。因此切空间的形式就是
其中。
而的切空间自然就是
上面的表达是很冗余的,我们也可以像那样定义一个映射
我们可以发现,所有这些群的切空间都是向量空间,即满足矢量的线性运算(对加法和数乘封闭),实际上,它们还对另外一种运算封闭,被称为李括号,定义为,其中是群的切空间的矩阵形式。并可以验证有如下关系成立
如果将李括号也视为一种乘法(和矩阵一样不满足交换律),那么切空间就同时对加法运算和乘法运算封闭,因此构成了一个环(Ring)!所以,这样的切空间也被称为李代数。的李代数分别用表示。
指数映射
先对指数函数做泰勒展开,有
将其中的替换为某个矩阵,可得到
可证明上式对任意实矩阵都是收敛的。
上式构成了指数映射的基础。当矩阵属于某个李群的李代数时,比如,指数映射将其映射到对应的李群上,即。还记得李代数是李群在幺元处的切空间,也就是说,通过指数映射,整个李群完全可以通过幺元处的切空间得到!(实际上,指数映射一般只能将李代数映射到李群的一部分上,但对于而言,能够映射到全部,即任何一个属于这些群的元素,一定能在对应李代数中找到一个对应元素)。下面分别给出指数映射的解析形式。
到
为了能够利用李代数的矢量表示(即轴角),我们一般定义其指数映射为
设,其中是一个标量,代表旋转的角度,是单位矢量,表示旋转的轴。则利用指数函数的泰勒展开式,有
注意到
有
于是我们对展开式分离奇偶项,可得
又注意到
最终可得
这就是众所周知的罗德里格斯变换。
到
设。同样定义
推导方式与处理时完全一样,首先计算泰勒级数,可以得到
矩阵中左上角元素就是的指数映射,而另外一项,同样利用三角函数极数的对照关系,可以得到
其中
到
简单计算即可发现,的指数映射就是的简单扩展,这里直接给出结果。设,则
其中
一些指数映射的其他性质
当两个矩阵满足交换律时,即时,有
指数映射的行列式与矩阵的迹还有如下一个美妙关系
群伴随
这里省去很多关于伴随的导出过程,直接给出其定义。
的伴随
设,则在处的伴随记为,定义为
下面给出的具体形式。由上式可得
所以有
关于的证明可见叉乘速查手册。
与的伴随
推导方式与类似,设,即
又设,有
因此有
简单计算可以发现的伴随也是的扩展,设,有