目录
[1. 为什么需要它们](#1. 为什么需要它们)
[1. 它是一个群](#1. 它是一个群)
[2. 它是光滑的](#2. 它是光滑的)
[1. SO(3):三维旋转群](#1. SO(3):三维旋转群)
[2. SE(3):三维刚体变换群](#2. SE(3):三维刚体变换群)
[1. 指数映射 exp](#1. 指数映射 exp)
[2. 对数映射 log](#2. 对数映射 log)
[1. 旋转不是线性空间](#1. 旋转不是线性空间)
[2. 欧拉角不稳定](#2. 欧拉角不稳定)
[3. 旋转矩阵有约束](#3. 旋转矩阵有约束)
[1. 姿态表示](#1. 姿态表示)
[2. 位姿更新](#2. 位姿更新)
[3. 误差计算](#3. 误差计算)
[4. 轨迹插值](#4. 轨迹插值)
[1. 机械臂正逆运动学](#1. 机械臂正逆运动学)
[2. 手眼标定](#2. 手眼标定)
[3. SLAM](#3. SLAM)
[4. 视觉里程计](#4. 视觉里程计)
[5. 点云配准](#5. 点云配准)
[6. 目标跟踪与姿态估计](#6. 目标跟踪与姿态估计)
前言
李群和李代数,最常出现在机器人、视觉、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. 目标跟踪与姿态估计
只要涉及:
- 物体旋转
- 物体平移
- 相机外参
- 机器人坐标系变换
就离不开李群和李代数。