简单了解李群和李代数的相关概念以及典型应用
目录
前言
一、先从直观理解
1. 为什么需要它们
二、基础概念:群、李群、李代数
1. 它是一个群
2. 它是光滑的
三、最常见的李群
1. SO(3):三维旋转群
2. SE(3):三维刚体变换群
四、李代数是什么
五、最常见的李代数
六、指数映射和对数映射
1. 指数映射 exp
2. 对数映射 log
七、为什么不能直接用普通向量
1. 旋转不是线性空间
2. 欧拉角不稳定
3. 旋转矩阵有约束
八、在实际中怎么用
1. 姿态表示
2. 位姿更新
3. 误差计算
4. 轨迹插值
九、在机器人中的典型应用
1. 机械臂正逆运动学
2. 手眼标定
3. SLAM
4. 视觉里程计
5. 点云配准
6. 目标跟踪与姿态估计
十、李群与李代数面试高频题(SLAM / 机器人 / 点云配准)
1、基础概念简答题
2、核心原理进阶题
3、工程落地场景题
前言
李群和李代数,最常出现在机器人、视觉、SLAM、手眼标定、姿态优化里;可以把它们理解成:
- 李群:描述“刚体位姿、旋转”等有限量的空间,属于“真实可用的变换”
- 李代数:描述这些变换在“无穷小变化”下的线性化表示,便于计算和优化
一句话概括:李群负责表示姿态,李代数负责做计算。
一、先从直观理解
1. 为什么需要它们
在机器人里,我们经常处理这些量:
- 旋转
- 平移
- 刚体位姿
- 坐标系变换
- 相机姿态
这些东西不是普通的向量加法能直接处理的。
比如旋转:
- 你不能把两个旋转角直接简单相加,就当作最终旋转
- 旋转矩阵虽然能表示旋转,但直接做优化时不方便
- 欧拉角会有万向节锁问题,不稳定
所以就需要一套更适合几何变换的数学工具。
二、基础概念:群、李群、李代数
李群是“既是群,又是光滑流形”的数学对象。主要有两个核心点:
1. 它是一个群
也就是说它满足:
- 可以做组合
- 有单位元
- 每个元素都有逆
- 组合满足结合律
例如旋转矩阵R:
- 两个旋转矩阵相乘还是旋转矩阵
- 有单位旋转I
- 每个旋转都有逆矩阵
所以旋转矩阵构成一个群。
2. 它是光滑的
这表示你可以在它上面讨论:
- 连续变化
- 微分
- 导数
- 局部线性近似
这对优化非常重要。
三、最常见的李群
1.SO(3):三维旋转群
表示三维空间中的旋转矩阵:
它描述的是“只旋转、不平移”的姿态。在机器人和视觉里,它常用来表示:
- 相机朝向
- 物体朝向
- 机械臂某一坐标系的旋转
2.SE(3):三维刚体变换群
表示“旋转 + 平移”的刚体位姿:
它描述的是完整的位姿变换。在实际中,手眼标定、机器人位姿、相机外参,最常见的就是SE(3)。
四、李代数是什么
李代数可以理解成李群在单位元附近的“切空间”或“局部线性近似”;如果李群是“真实姿态空间”,那么李代数就是“在这个空间附近做小变化的坐标”。
它最大的作用是:
- 把复杂的非线性变换,变成更容易处理的线性形式
- 方便求导、优化、插值、误差建模
五、最常见的李代数
六、指数映射和对数映射
这是李群和李代数之间最关键的桥梁。
1. 指数映射exp
把李代数里的“小量”变成李群里的“真实变换”。
2. 对数映射log
把李群里的真实变换,转回李代数中的参数。
七、为什么不能直接用普通向量
因为位姿不是普通欧式空间里的点。
1. 旋转不是线性空间
你不能把两个旋转矩阵相加后还得到一个合法旋转矩阵。
2. 欧拉角不稳定
欧拉角虽然直观,但:
- 可能有万向节锁
- 不同顺序表示不同旋转
- 不适合优化
3. 旋转矩阵有约束
(1)旋转矩阵必须满足正交和行列式约束,直接优化会破坏约束。
(2)李代数的好处就是:在局部把问题变成 3 维或 6 维的无约束小量,再映射回合法的旋转/位姿。
八、在实际中怎么用
下面是最常见的实际流程。
1. 姿态表示
2. 位姿更新
3. 误差计算
4. 轨迹插值
九、在机器人中的典型应用
1. 机械臂正逆运动学
机械臂每个关节最终会组合成一个末端位姿;位姿的计算结果本质上就在SE(3)上。
2. 手眼标定
手眼标定,里面就是大量的位姿变换:
- 机器人末端位姿
- 标定板位姿
- 相机位姿
这些都用SE(3)表示,求解时经常借助李群/李代数的形式组织。
3. SLAM
SLAM 里相机在连续运动,状态量通常是:
- 相机位姿
- 地图点
- 位姿图
位姿图优化几乎就是李群优化的经典应用。
4. 视觉里程计
从两帧图像估计相机运动,本质就是求一个SE(3)变换。
5. 点云配准
ICP 配准中,点云之间的刚体变换也是SE(3)问题。
6. 目标跟踪与姿态估计
只要涉及:
- 物体旋转
- 物体平移
- 相机外参
- 机器人坐标系变换
就离不开李群和李代数。
十、李群与李代数面试高频题(SLAM / 机器人 / 点云配准)
1、基础概念简答题
(1)一句话区分李群、李代数,二者核心关系是什么?
答:李群是描述旋转 / 刚体变换的光滑流形(SO (3)/SE (3),存真实位姿);李代数是李群单位元处的切空间,是无约束线性小量,用于求导优化;二者依靠指数映射 exp、对数映射 log互相转换。
(2)SO (3)、SE (3) 分别代表什么,对应李代数维度是多少?
答:
(3)hat 帽子运算是什么?so(3)的 hat 作用?
答:hat 是将向量转为反对称矩阵的运算;3 维旋转向量ω经 hat 得到反对称矩阵ω^,用于罗德里格斯旋转公式、李代数求导推导。
(4)为什么旋转不能直接用欧拉角 / 旋转矩阵做优化?
答:
(5)指数映射 exp、对数映射 log 各自作用?
答:
2、核心原理进阶题
(1)位姿更新左扰动、右扰动区别,公式分别是什么?
答:
(2)两个 SE (3) 位姿、T1、T2之间的误差怎么计算?为什么不能直接相减?
(3)罗德里格斯公式的作用,和 SO (3) 指数映射是什么关系?
(4)什么是 BCH 近似?什么时候会用到?
答:BCH 公式描述两个李代数指数映射相乘的展开式;当增量δξ很小时可近似线性拆分,用于 SLAM、ICP 中对位姿误差求雅克比矩阵,是优化求导的核心工具。
3、工程落地场景题
(1)ICP 点云配准为什么必须用到 SE (3) 李群李代数?
答:ICP 求解两帧点云的刚体变换T∈SE(3),需要最小化点距离残差;直接优化 4×4 矩阵存在正交约束,利用 SE (3) 李代数将变换转为 6 维无约束增量,通过 BCH 近似求雅克比迭代更新位姿,避免约束破坏。
(2)视觉 SLAM 位姿图优化完整流程,李代数在哪一步起作用?
答:
- 存储全部相机位姿Ti∈SE(3)(李群);
- 根据观测构建相邻位姿的相对变换残差;
- 通过对数映射把变换误差转为se(3)的 6 维误差向量;
- 采用李代数扰动模型推导残差对位姿增量的雅克比;
- 高斯牛顿 / LM 算法求解 6 维李代数增量δξ;
- 通过指数映射exp(δξ)更新原始位姿,循环迭代直至收敛。 全程雅克比求解、增量更新两步核心依赖李代数理论。
(3)手眼标定场景中 SE (3) 李群的作用
答:手眼标定核心方程AX=XB,式中、、均为 SE (3) 刚体变换矩阵。 直接求解矩阵方程耦合度高、计算复杂;借助李代数可将矩阵变换拆分为线性形式,分离旋转、平移分量,大幅简化方程求解,是手眼标定的主流求解思路。
(4)机械臂运动学如何使用 SO (3)、SE (3)?
答:机械臂每个关节旋转对应 SO (3) 旋转矩阵;单段关节旋转 + 连杆平移组合成 SE (3) 变换矩阵。 末端执行器总位姿由多段 SE (3) 依次相乘得到;做逆运动学优化末端姿态时,用李代数生成微小姿态增量迭代求解,规避欧拉角奇异、矩阵约束问题。
(5)激光雷达里程计 NDT 配准,基于李代数的完整优化流程
答:
- 初始化源点云、目标点云之间的初始位姿T;
- 构建基于正态分布匹配的距离残差;
- 使用 SE (3) 右扰动模型推导残差关于位姿增量的雅克比矩阵;
- 求解 6 维李代数增量;
- 指数映射更新位姿,重复迭代直到变换变化量小于收敛阈值。
