简单了解李群和李代数的相关概念以及典型应用

目录

前言

一、先从直观理解

[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. 目标跟踪与姿态估计

只要涉及:

  • 物体旋转
  • 物体平移
  • 相机外参
  • 机器人坐标系变换

就离不开李群和李代数。

相关推荐
searchforAI1 小时前
Obsidian加上AI之后,我的知识管理和内容创作流被重写了
人工智能
微软技术栈1 小时前
技术速递|以 Token 经济学驱动的架构:混合模型、AI Runway、AKS Kata MicroVM 与 MCP
人工智能
Web极客码1 小时前
如何通过 Python + LLM 用最少的 Token 完成精准推荐任务
开发语言·人工智能·python·ai
雮尘1 小时前
LangGraph 与 LangSmith 入门教程(JS/TS 版)
前端·人工智能·langchain
全栈开发圈1 小时前
作者有话说|关于目标检测
人工智能·目标检测·计算机视觉
KaMeidebaby2 小时前
卡梅德生物技术快报|纳米抗体表达:分子生物学实操指南:噬菌体筛选与纳米抗体表达全流程技术拆解
大数据·人工智能·架构·spark·新浪微博
w_t_y_y2 小时前
Agent设计模式(三)渐进发现
人工智能
weixin_446260852 小时前
UniIntervene:面向高效真实世界强化学习的智能干预模型
人工智能
veminhe2 小时前
人工智能学习备忘
人工智能