跳到主要内容机器人技术中的李群与李代数基础 | 极客日志编程语言AI算法
机器人技术中的李群与李代数基础
机器人技术中李群与李代数的概念及应用。针对刚体位姿表述中矩阵求导困难的问题,引入李群(SO(3)、SE(3))作为数学工具。阐述群定义、流形与切空间关系,解释李群与李代数通过指数映射和对数映射的转换。推导特殊正交群和特殊欧氏群的数学性质及罗德里格斯公式,为视觉 SLAM 等领域提供理论基础。
机器人0 浏览 前言
在机器人技术的学习过程中,我们经常会听到'旋量'、'四元数'、'李群'、'李代数'等一些词汇。这些词汇是为了解决实际工程问题而发展出来的。学会使用它们需要一定的耐心和数学功底。尽管当今这些工具的库已经很成熟,但直接调用而不了解内部机制不利于形成知识体系。本文将从图解和公式两方面理解李群、李代数的知识。
一、问题提出
1.1 位姿的表述
所谓的机器人,可以理解为一堆连杆,或者叫一堆刚体(柔性机械臂一般简化为连续的欠驱动的多刚体机械臂)。机器人技术,便是对刚体的研究技术,这些技术都是成熟的。对于刚体间的关系,其普遍描述于欧氏空间中。欧氏空间,或者叫平直空间,全称是欧几里德空间(Euclidean Space),顾名思义就是欧几里得建立的以角和空间线的关系为法则的空间。其对于空间内固定的点集主要表现出两个特性:其一是平移特性,所有点向相同方向移动相同的距离;其二是旋转特性,所有点关于同一个旋转轴旋转相同角度。
在大量的文献资料上,不难发现机器人等效为一系列关联的坐标系。由于其描述在欧氏空间,坐标系采用的是笛卡尔坐标系,坐标系之间的关系分为旋转和平移两种,如图 1 所示。工程上一般将机器人描述的欧氏空间定义为 x-y-z 的 3 维欧氏空间,空间内的点表示为 3×1 的列向量,每一行分别对应 x、y、z 轴上的值。平移和旋转运算在矩阵乘法中为左乘运算。在运算上,空间内的平移可以用一个 3×1 的平移矢量表示,其平移运算后空间点仍旧还是空间点;空间内的旋转可以用 1 个 9×9 的旋转矩阵表示,其旋转运算后仍旧还是空间点。

从数学公式上看:
1)平移变化可以表示为

,

,
2)旋转变化可以表示为

,

,
其中,平移变化可以用 3 个参数表示,而旋转参数需要用 9 个参数表示。显然,对于 3 维度的空间描述过于冗余了。
因此,根据旋转矩阵的 9 个参数,其中大部分耦合。为了简化旋转模型,减少未知变量,产生了欧拉角描述法、旋量描述法、四元数描述法等描述法。
微信扫一扫,关注极客日志
微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
相关免费在线工具
- 加密/解密文本
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
- RSA密钥对生成器
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
- Mermaid 预览与可视化编辑
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown 转 HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
这样,刚体间的位姿关系就可以用平移变化和旋转变化共同表示。
在欧氏空间中,针对一个 3D 点的变换,这二者不好合并。一个表达形式是矩阵加法,一个表达形式是矩阵乘法,其按照 3D 形式表达为:
的形式。因为矩阵本身就表征了向量的一种变换,便于算法的后续处理。旋转变化比较好处理,而平移矩阵如何转变成矩阵乘法依靠 3D 变换则比较困难。一般将待变换的点扩展 1 维并将多余维度补作 1。
因此,平移旋转的合同齐次形式为(齐次坐标左乘旋转矩阵再左乘平移矩阵):
1.2 矩阵求导的问题
在实际机器人技术中,需要对其涉及的一些刚体位姿进行测量,而这种测量主要是依赖特定特征空间点进行的,比如移动机器人依赖路标点对机器人本体位姿进行测量,机械臂依赖环境特征点对末端位姿进行测量等等。假想,对于一系列与刚体固定的空间点
求导本质上是一个高阶多项式的线性和的拆分。然而,由于乘法矩阵存在
两个约束,两个旋转矩阵相加后便不是旋转矩阵,进而任意两个位姿矩阵相加后并不是一个位姿矩阵。因此,矩阵
所处的空间对于加法运算不封闭,进入无法进行求导运算,李群李代数刚好能很好地解决这个问题。
刚体的三维旋转矩阵所组成集合等价于一个球体,球体上每一个点都对应了一个旋转变换。
图 2. 每个旋转矩阵 R 都等效于其集合空间空间{M}(单位球)上的一个点
二、李群
2.1 群数学定义
为集合中的单位元,与集合中其它元素结合时不会改变其它元素,比如旋转矩阵中的单位阵
这个对称群的变换和逆变换数学对象的性质不变,对于旋转而言是显而易见的,因为旋转对对象的形状等参数不产生任何变化。因此旋转变换应该对应了一个群。
2.2 李群和李代数的数学定义
李群是一个光滑(可微)流形,而其元素满足群的公理。光滑流形是一个局部近似于线性空间的拓扑空间,其光滑性意味着空间内每个点都存在一个唯一的切空间,而这个空间是可以做微积分的线性空间,或是叫做向量空间,如图 3 所示。
图 3. 流形{M}与其向量空间 Tx{M}在元素 X 处相切
可以看到,对于机器人状态空间,则假如流形是机器人的位置空间,那么其切空间便是机器人的速度空间。对于旋转矩阵而言,约束于一个具有单位模长(模长为 1)半径的球面流形,其球面上每个点都可以进行微分运算,如图 4 所示。
对于李群,流形上的每一个点都是类似的,其切空间也是相似的。李群的切空间,也称作李群的李代数。
下面利用常见的单位球模型简要说明李群和李代数的关系(1940 年 Hans 证明了只有
上,该群的集合包含了所有单位复数。单位复数的乘积是单位复数,并且
可以发现,对于乘法运算,李群和李代数之间可以用指数关系描述。通过对数变换,李群的乘法等效于李代数的加法;通过指数变换,李代数的加法等于李群的乘法。
(注意:这类变换和拉氏变换表征时域和频域关系类似。我们知道,拉氏变换联系了信号的时域和频域,时域中的信号乘积等于频域中的卷积,时域中的卷积等于频域中的乘积。)
b)如图 6 所示,假设具有李群结构的 3 维单位球单位球
的性质。该李群所对应的李代数位于与球面相切的纯虚四元数空间
(用θ和虚轴 i、j、k 表示)进行乘运算后得到另一个李群元素
2.3 欧拉公式
上述李群和李代数之间的映射主要用到了指数映射,而指数映射中核心运算为欧拉公式:
描述是复平面的单位圆周运动,如图 7 所示。其自变量是
这是利用泰勒级数公式展开得到,不是十分形象,可以利用更一般的式子进行形象表述 e 的指数旋转过程。
总的来说,通过欧拉公式可以看到,指数变换可以理解为是一个卷曲的映射。
三、李群在机器人中的应用
3.1 SO(3) 特殊正交群
1)反对称矩阵的主对角线元素均为 0,而非主对角线上的上三角和下三角元素反号;
2)若 A 为反对称矩阵,则 A 的逆,λA 均为反对称矩阵;
3)若 A,B 均为反对称矩阵,则 A±B 亦为反对称矩阵;
4)若 A 为反对称矩阵,B 为对称矩阵,则 AB-BA 为对称矩阵;
6)反对称矩阵的特征值是 0 或者是纯虚数,并且对应于纯虚数的特征向量的实部和虚部形成的实向量等长且相互正交。
但是,在继续计算中发现,对于矩阵的指数运算,我们没有合适的运算工具,只能通过泰勒展开:
注意到这里的 n 需要趋于无穷,显然这运算量巨大,不是一种好的逼近方法,需要将其再进一步转换回旋转标识。
这也被称作罗德里格斯公式(Rodriguez formula),表征了由旋转向量
,这是标量,最快的求解方式是对罗德里格斯公式两边取迹:
特征值为 1 所对应的特征向量,对该矩阵进行求解再进行归一化可以得到旋转轴单位向量
可以发现,旋转矩阵的李群和李代数之间的变换运算主要是依赖罗德里格斯公式进行的,而罗德里格斯公式的核心并不是李代数,而是李代数的拆解形式
,也就是旋量的形式,其李群李代数的直观表现如图 10 所示,三维向量 p 旋转至新的向量 p'时,这个旋转变换所对应的旋转矩阵 R 可以等效为绕轴 a 旋转θ角度的定轴旋转,也就是旋量,旋量在其切空间的表示就是李代数。
3.2 SE(3) 特殊欧氏群
欧氏矩阵是旋转矩阵和位移向量的齐次补齐,欧氏矩阵所构成的
考虑到欧氏变换矩阵与其逆矩阵的乘积为单位向量,即不对物体产生作用:
中的平移部分放上面,旋转部分放下面,有的则反过来旋转部分放上面,平移部分放下面。本文采用的是前者。
和特殊正交群一样,特殊欧氏群的李群和李代数之间也是指数/对数映射关系,根据等式:
至此,在机器人应用中的李群李代数的变换关系为如图 11 所示(来自《视觉 SLAM 十四讲》)。
图 11 机器人技术中常用的特殊正交群和特殊欧氏群的李群李代数映射关系
3.3 李代数的指数映射性质
存在,则其指数映射存在以下几个性质(后续为了书写方便,
总结
本文介绍了机器人技术中李群与李代数的基本概念及应用。针对刚体位姿表述中矩阵求导困难的问题,引入李群(如 SO(3)、SE(3))作为数学工具。文章阐述了群的定义、流形与切空间的关系,解释了李群与李代数通过指数映射和对数映射的转换。重点推导了特殊正交群 SO(3) 和特殊欧氏群 SE(3) 的数学性质及罗德里格斯公式,为视觉 SLAM 等领域的状态估计提供了理论基础。