《机器人与数字人:基于MATLAB的建模与控制》——2.2节李群和李代数

简介:

本节书摘来自华章社区《机器人与数字人:基于MATLAB的建模与控制》一书中的第2章,第2.2节李群和李代数,作者[美]顾友谅(Edward Y.L.Gu),更多章节内容可以访问云栖社区“华章社区”公众号查看

2.2李群和李代数
在数学中[4,5],与集合论不同,群论在研究集合或者一组元素时,通常连同其某种运算一起研究。
定义1一个群是由一个集合G连同其布尔运算“”来定义的,并满足如下条件。

1闭合律:对于任意a, b∈G,ab=c∈G。
2结合律:对于所有a,b,c∈G,(ab)c=a(bc)。
3单位律:存在单位元ι∈G,对于所有g∈G,使得等式ιg=gι=g成立。
4交换律:对于每个g∈G,存在一个元素h∈G,使得gh=hg=ι。

所有实整数与加法相关联形成加法群,但与乘法因为违反了交换律条件而不成立。所有实数(复数)与加法或乘法分别组成加法群或者乘法群,它们也能成为域,称为实数域(复数域)。
20
如果集合连同某一运算满足所有条件(除了交换律之外),即使单位律条件仍能保持,那么,集合也只能形成半群。相比之下,三维实向量的集合在瘙綆3空间下的叉积既不是群也不是半群,因为它不满足结合律、单位律和交换律条件。
根据元素的个数和元素变换属性,群可以分为有限群和无限群、离散群和连续群。李群是典型的无限连续群。例如,所有n×n阶非奇异实数矩阵与乘法运算形成线性李群GL(n)。所有n×n阶正交实数矩阵与乘法运算形成正交李群O(n),进一步把正交李群O(n)的正交矩阵的行列式变为+1,它将变成特殊正交群。每一个旋转矩阵属于特殊正交群——SO(3)群。
然而,许多有用的集合在某种二元运算中违背任意一个或者更多群定义的条件时,即使它们非常有用,也不是群。为了对它们进行进一步研究和应用,就需要解除限制。李代数是最典型和重要的方法之一,可以挽救被群的定义排除的有用集合。
定义2李代数在实数域瘙綆或者复数域瘙綇上的向量空间,存在双线性映射(X,Y)→[X,Y]定义为×→,而且

1对所有X, Y∈,有[X,Y ]=-[Y,X]。
2对所有X,Y,Z∈,有[X,[Y,Z]]+[Y,[Z,X]]+[Z,[X,Y]]=0。

上述定义中的第二个方程称为雅可比恒等式。现在,所有的三维实向量连同叉积运算构成李代数,即使它们不是李群。对于a×b=[a,b]=c,可以改写为S(a)b=c,其中S(a)是向量a∈瘙綆3的3×3斜对称矩阵。也就是说,[a,·]=S(a)·=a×是一种运算。这种李代数常用小写字母定义为so(3)。例如,如果给定两个向量为

a=3
2
-1,b=-1
0
2
为求c=[a, b]=a×b,先为向量a构造一个斜对称矩阵

S(a)=a×=012

-10-3

-230∈so(3)
(23)
那么,很显然可以得到
21
c=[a,b]=a×b=S(a)b=4
-5
2
与使用常规微积分和物理学行列式的方法一样,可得到如下的结果:
c=a×b=ijk
32-1
-102=4i-5j+2k
李代数的典型例子还包括矩阵交换和向量场导数。所有n×n阶实方阵连同交换算子[A,B]=AB-BA构成了李代数。也可以证明:由光滑函数上任意点x∈瘙綆n所限制的n维实向量域,在如下李算式下也能组成李代数。
[f,g]=gxf-fxg(24)
下面来看一个有趣的特性:两个向量a和b,以及它们的斜对称矩阵S(a)=a×和S(b)=b×分别作为向量a和b的叉积。那么,[S(a), S(b)]=S(a)S(b)-S(b)S(a)交换算子代表了什么意义?首先,通过对两边取转置,得到的斜对称矩阵交换算子[S(a), S(b)]仍然是斜对称矩阵,并且满足闭合律条件。令v∈瘙綆3为任意向量,那么
S(a),S(b)v=S(a)S(b)v-S(b)S(a)v=a×(b×v)-b×(a×v)
这也是两个向量三重积的差值。根据式(21)可以得到
[S(a),S(b)]v=(aTv)b-(aTb)v-(bTv)a+(bTa)v

=(aTv)b-(bTv)a=(a×b)×v
由于v是任意向量,上面的方程表明
[S(a),S(b)]=(a×b)×=S(a×b)(25)
这也就是叉积运算a×b。
现在继续之前的数值实例,即S(a)由式(23)来确定,而
S(b)=b×=0-20
201
0-10

22
因此,
[S(a),S(b)]=S(a)S(b)-S(b)S(a)

=2-21
050
643-206
-254
103=0-25
20-4
540
这完全符合S(c)=c×=S(a×b)。

在数学史上,李群和李代数的最重要理论发现之一是如下的指数映射:
EXP:so(3)→SO(3)(26)
这种映射意味着,对于每个3×3斜对称矩阵S∈so(3),其指数函数exp(S)=R∈SO(3)始终是旋转矩阵。换句话说,指数映射可以将任何有限维度的李代数转化为李群。这种映射非常有用,作为机器人运动学的理论基础,可以用来表达坐标系旋转和姿态[4, 6, 8] 。

相关文章
|
3月前
|
算法 机器人 Python
机器人逆运动学进阶:李代数、矩阵指数与旋转流形计算
本文深入讲解机器人逆运动学中旋转计算的核心数学工具,包括矩阵指数与对数、SO(3)李群与李代数、流形和切空间等概念,帮助理解三维旋转误差计算原理,并提供基于矩阵指数的精确旋转更新方法及代码实现。
242 1
机器人逆运动学进阶:李代数、矩阵指数与旋转流形计算
|
3月前
|
机器学习/深度学习 存储 算法
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
【水下机器人建模】基于QLearning自适应强化学习PID控制器在AUV中的应用研究(Matlab代码实现)
329 0
|
3月前
|
机器学习/深度学习 Python
【EI复现】基于断线解环思想的配电网辐射状拓扑约束建模方法(Matlab代码实现)
【EI复现】基于断线解环思想的配电网辐射状拓扑约束建模方法(Matlab代码实现)
131 1
|
3月前
|
机器学习/深度学习 数据采集 传感器
考虑时空相关性的风电功率预测误差建模与分析(Matlab代码实现)
考虑时空相关性的风电功率预测误差建模与分析(Matlab代码实现)
|
4月前
|
数据采集 算法 自动驾驶
【RIS通信】分布式多重构智能表面RIS辅助无线系统的统计表征和建模研究(Matlab代码实现)
【RIS通信】分布式多重构智能表面RIS辅助无线系统的统计表征和建模研究(Matlab代码实现)
116 0
|
2月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
278 0
|
2月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
133 0
|
2月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
118 0
|
2月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
135 0
|
2月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
179 8

热门文章

最新文章