博客专栏

EEPW首页 > 博客 > 如何学习李群和李代数?

如何学习李群和李代数?

发布人:计算机视觉工坊 时间:2023-07-04 来源:工程师 发布文章
1.Slam问题中待优化的变量是什么

首选不直接对什么是李群什么是李代数进行阐述,目前的资料太过同化了吧!在我们上初中的时候我们知道要想求取函数的最值需要求取导数,而在优化问题中也需要求取导数(梯度下降、高斯牛顿、L-M法)。现在已经学到应用数学的时候了,让我们来看下slam是怎么的优化问题?如何求导?我研究的是三维激光slam,就以三维激光slam为例子?二维激光slam,视觉slam都是如此。假如我们有两个传感器,一个是三维激光一个是IMU。使用IMU可以预测到机器人的运动,我们称其为运动方程,而使用三维激光雷达通过一些算法(ICP或者NDT)也可以得到机器人的运动,称为观测方程。那到底听这两个传感器谁的?那么可以构建不同优化问题,批量估计的最小二乘问题或者增量估计的滤波方法。不管哪种方法最终都逃不脱式1-1的形式,后续会对图片的形式进行讨论,首先我们来明确下待优化的变量X是什么?图片我们都知道在slam问题中首先需要建立世界坐标系,即你建立的地图的坐标原点需要指定,在你不指定的时候,目前是建图和定位的起始帧的坐标为世界坐标系的原点。其次需要明白的是相机也有自己的坐标系,但是他是运动的。当相机下的一个坐标点需要转换到世界坐标系下,你该怎么做,是不是需要乘以一个旋转平移矩阵R。那么当这个点就是相机坐标系的原点时,那么旋转平移矩阵是不是就代表着机器人的运动,因此待优化变量是个矩阵,而且是正交单位阵。此时你已经知道了slam问题即定位问题是个矩阵了,那为什么我说他是正交单位阵那?首先需要你知道的是我们在学习矩阵的时候都是先学习的坐标系然后再学习的向量,因此我们需要先改变一个概念,坐标系并不只有像墙角那样垂直的坐标系,其次向量是真实存在的,但是向量的是唯一的,但是向量的坐标是不一定的,因为坐标系是由线性不相关的向量构成的向量组,也可以称为基底,一般选择正交的单位阵,符合人类的直觉。选择不正交且不是单位阵的矩阵作为坐标系吗?我猜你在定位问题中不会。如公式1-2图片是一个坐标系的基底。图片是在该基底下向量的坐标,其含义是在图片三个向量的加和构成了需要表示的向量。同理在图片基底下的坐标表示为图片。因为都是对同一向量的表示因此二者相等。那么图片可由式1-3得出。图片图片观察图片是基底向量的内积留下的是余弦函数,将图片看成是世界坐标系下的原点,此时R代表了旋转。表示了旋转的方向,因此R称为方向余弦矩阵也称为旋转矩阵。是机器人姿态的变换,是slam中待优化的变量,也是我们实时要知道的值,这样才可以知道机器人是如何旋转的,至此我们就明白了待优化的变量不仅是个矩阵而且是个单位正交阵。而且这个旋转矩阵相乘,仍然是旋转矩阵,这个性质挺有意思吧,整数相加仍然是整数和其类似,数学中把像旋转平移矩阵和乘法,做完运算后还是旋转平移矩阵的称为群(这是群的封闭性,即运算完还是自己。我认为集合和运算在满足封闭性后,很大概率上就是群,当然严格定义共需要满足4个条件,自行查找吧),至此我们可以得出slam中待优化的变量是矩阵,是正交矩阵,还是群。并且这个群的乘法代表着旋转变换,而且旋转变换是连续的,平滑的,旋转多微小的变化都可以,因此又称为李群。OK,这便是待优化的变量。

2.优化过程中出现的问题

那么在优化过程中我们需要求导,根据导数的定义,我们知道我去待优化变量是需要做减法的如式2-1所示,而矩阵做减法没有意义,这该如何是好?图片以下公式是前人想到的啊,我也不知道是怎么想到的,两个字就是牛逼。已知任意旋转矩阵满足式2-2.图片对式2-2求导得图片整理得图片有一个结论,任意一个向量都可以用一个反对称矩阵表示图片同时任意一个反对称矩阵都可以用一个向量表示。这是结论,不允许你问为什么。图片根据结论式2-4可以表示为式2-5图片等式两边右乘R(t),由于R为正交阵得到式2-6图片通过上式的推导可以看出反对称矩阵对应的向量是矩阵的导数,由于旋转矩阵是关于时间变量连续的,故待优化变量也成了时间t的函数。以直代曲的逼近过程是可以将导数看成常数故得2-7.图片解式2-7的微分方程得式2-8图片t=0时刻时,矩阵没有变化因此图片带入2-8可得最终的式2-9c=0;图片通过推导将矩阵变换看成时间的导数,并推导出旋转变换矩阵与指数函数的相关。那矩阵的乘法也就变成了指数的乘法,指数的乘法的运算规则是加法,所以这是不是可以对旋转变换矩阵进行求导了,答;必须滴!那这个图片就成为李代数,每个李群都有与之对应的李代数,李代数描述了李群的局部性质,这里对矩阵以直代曲就是李代数最直观的体现,在t=0时刻的泰勒展开就是李代数和李群最直观的联系如式2-10.后文我还会继续深究,起始此向量是旋转向量对应的向量空间。后面细究。先有个直观感受。图片,并设此时旋转矩阵为图片。按照导数定义,可以把图片t=0附近进行一阶泰勒展开:图片回到刚才,有了指数的加法是否可以得到式2-11或者式2-12图片


答不可以,只有高中学的图片是标量才可以,当是向量的时候不可以,BCH这三人得出了是标量时的公式2-13图片


忽略高次项可得结论式2-14,想知道为什么需要自己推导。图片


2-12差不多少了,只是多了一个雅可比矩阵图片或者图片(二者取其一)雅克比的具体表达如式2-15图片


至此优化问题出现的对矩阵求导无法满足导数定义的问题通过李代数将旋转变换矩阵通过指数函数进行表示,而指数函数有加法,可以满足导数定义。

3.求导

相机坐标系的坐标原点在世界坐标系下的坐标点P,通过算法得到R,现在要对R求导。如式3-1图片通过李代数的替换为式3-2图片根据导数定义对3-2式进行展开图片2行为图片线性近似,3行为泰勒展开舍去高阶项后的近似,4行和5是将反对称符号看作外积(两个向量的外积可以化作反对称矩阵和另外一个向量的乘积),交换之后变号。不过问题在于需要求取图片这可是很麻烦的如式2-14。不过不要被导数定义定死了,导数的定义用一句话来讲是函数的微小变化和自变量微小变化的比值。按照如下想法可以得如下推导过程。这没有了雅可比多简洁啊,这个求法称为扰动模型。

  1. 李代数

这里就不仔细推导了,具体推导过程是将泰勒展开,最终可得这个向量是旋转向量,什么是旋转向量,除了上文推导出的旋转矩阵即方向余弦矩阵,还有旋转向量,方向余弦矩阵用了9个变量表示roll pitch yaw冗余了,使用旋转向量即方向表示旋转的向量的绕轴,大小代表转过的角度。这样不冗余了。而旋转向量和方向余弦矩阵可以通过罗德里格旋转表示。这里需要自行查找资料,其实推导不难。只需记住结论:李代数是旋转向量组成的空间。最后提示一下,本文只提起了旋转矩阵R,但是机器人的运动自由度有六个,我没有提及平移变换,而平移和旋转组成的4*4齐次矩阵依然是和旋转矩阵一个性质,也是一个群,也有对应的李群,方法一样的,可以替换的。

失败是一种选择。如果事情没有失败,那么你就没有足够的创新——埃隆.马斯克


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: AI

相关推荐

技术专区

关闭