跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++AI算法

机器人学基础:李群与李代数的直观理解

综述由AI生成针对机器人位姿表示中旋转矩阵求导困难的问题,引入李群与李代数理论。通过 SO(3) 与 SE(3) 群的数学定义,阐述如何利用切空间(李代数)将非线性流形上的运算转化为线性空间处理。详细推导了指数映射与对数映射关系,包括罗德里格斯公式及雅可比矩阵 J,解决了刚体变换优化的数值稳定性问题,是视觉 SLAM 与状态估计的核心数学基础。

dehua dong发布于 2026/3/25更新于 2026/6/1137 浏览
机器人学基础:李群与李代数的直观理解

引言

在机器人技术的学习中,"旋量"、"四元数"、"李群"、"李代数"等词汇频繁出现。这些并非华而不实的概念,而是为了解决实际工程问题发展出的实用工具。尽管现代库已高度成熟,直接调用函数即可,但深入理解其内部机制对于构建完整的知识体系至关重要。本文将从图解与公式两个维度,梳理李群与李代数的核心逻辑。

一、问题提出

1.1 位姿的表述

机器人可视为一系列关联的刚体。在欧氏空间中,刚体间的关系通常通过笛卡尔坐标系描述,包含旋转和平移两种变换。空间内的点表示为 3×1 列向量,平移和旋转运算在矩阵乘法中表现为左乘。

平移变化可用 3×1 矢量表示,旋转变化理论上需 9 个参数(3×3 矩阵)。显然,3D 空间描述存在冗余。为了简化模型,产生了欧拉角、旋量及四元数等方法。

在欧氏空间中,平移用加法,旋转用乘法,难以统一。为了便于算法处理,通常将点扩展 1 维并补作 1,采用齐次坐标。

平移变换的齐次形式为: $$\begin{bmatrix} P_{new}\ 1 \end{bmatrix}=\begin{bmatrix} I & T_{translation}\ 0 & 1 \end{bmatrix} \begin{bmatrix} P_{old}\ 1 \end{bmatrix}$$

旋转变换的齐次形式为: $$\begin{bmatrix} P_{new}\ 1 \end{bmatrix}=\begin{bmatrix} T_{rotation} & 0\ 0 & 1 \end{bmatrix} \begin{bmatrix} P_{old}\ 1 \end{bmatrix}$$

结合两者,得到位姿矩阵 $T$: $$T=\begin{bmatrix} T_{rotation} & T_{translation}\ 0 & 1 \end{bmatrix}, \quad T \in \mathbb{R}^{4 \times 4}$$

刚体变换方程即为: $$P_{new} = T P_{old}$$

1.2 矩阵求导的问题

在实际应用中,如移动机器人定位或机械臂末端测量,需要优化位姿 $T$ 以最小化误差函数: $$\min_{T} J(T) = \sum_{i=1}^{N} \left | z_i - T p_i \right |_{2}^{2}$$

这需要对变换矩阵 $T$ 求导。然而,旋转矩阵满足 $R R^T = I$ 和 $\det(R) = 1$ 约束。任意两个旋转矩阵相加不再是旋转矩阵,导致矩阵 $T$ 所在的空间对加法不封闭,无法直接求导。李群与李代数正是为了解决这一非线性流形上的优化问题而引入的。

二、李群理论

2.1 群数学定义

群是一种集合加上一种运算的代数结构 $(G, \circ)$。对于流形内的元素 $x, y, z \in G$ 及幺元 $\varepsilon$,需满足封闭性、同一性、可逆性及结合律。

对于旋转而言,旋转变换保持对象形状不变,因此对应一个对称群。

2.2 李群和李代数的数学定义

李群是具有群结构的实流形或复流形。它是一个光滑流形,每个点都存在唯一的切空间,该切空间是线性空间,可进行微积分运算。

李群的切空间称为李代数。例如,旋转矩阵约束于单位球面流形,其切空间即为速度空间。

利用单位圆模型 $S^1$ 说明:

  • 李群 $S^1$ 包含所有单位复数。
  • 李代数 $s^1$ 由虚数构成的直线 $i\mathbb{R}$。
  • 指数映射将李代数加法转化为李群乘法:$X_2 = e^{i\theta} X_1$。

同理,单位四元数 $S^3$ 对应的李代数位于纯虚四元数空间,与 $\mathbb{R}^3$ 同构。

2.3 欧拉公式

指数映射的核心是欧拉公式: $$e^{i\theta} = \cos\theta + i\sin\theta$$

该公式描述了复平面上的圆周运动。当 $n \to \infty$ 时,$(1 + \frac{i}{n})^n$ 在单位圆上转过 1 弧度。这表明指数变换本质上是一个卷曲映射,将线性空间的加法映射到流形上的乘法。

三、李群在机器人中的应用

3.1 SO(3) 特殊正交群

由旋转矩阵 $R$ 构成的李群 $SO(3)$ 定义为: $$SO(3) = { R \in \mathbb{R}^{3 \times 3} | RR^T = I, \det(R) = 1 }$$

其对应的李代数 $\mathfrak{so}(3)$ 具有 3 个自由度,记为 $\phi \in \mathbb{R}^3$,反对称矩阵 $\Phi = \phi^\wedge$。

推导表明: $$\dot{R}(t) = \phi^\wedge(t) R(t)$$

通解为: $$R(t) = e^{\phi^\wedge t}$$

这就是指数映射关系。给定李代数可计算唯一对应的旋转矩阵。反对称矩阵 $\phi^\wedge$ 的性质包括主对角线为 0,非对角线反号等。

利用罗德里格斯公式,可将指数映射展开为闭式解: $$R = (1-\cos\theta)aa^T + \sin\theta a^\wedge + \cos\theta I$$

其中 $\phi = \theta a$。反之,从 $R$ 推导 $\phi$ 需通过对数映射,利用迹求解角度 $\theta$,特征向量求解轴 $a$。

3.2 SE(3) 特殊欧氏群

欧氏矩阵是旋转矩阵和位移向量的齐次补齐,构成 $SE(3)$ 群: $$SE(3) = { T = \begin{bmatrix} R & d\ 0^T & 1 \end{bmatrix} \in \mathbb{R}^{4 \times 4} | R \in SO(3), d \in \mathbb{R}^3 }$$

其李代数 $\mathfrak{se}(3)$ 处于 $\mathbb{R}^6$ 空间,具有 6 个独立变量,记为 $\xi = [\rho, \phi]^T$。

$$\xi^\wedge = \begin{bmatrix} \phi^\wedge & \rho \ 0 & 0 \end{bmatrix}$$

同样存在指数/对数映射关系: $$T(t) = e^{\xi^\wedge t}$$

展开后可得: $$T = \begin{bmatrix} R & J\rho \ 0 & I \end{bmatrix}$$

其中 $J$ 为雅可比矩阵,依赖于 $\theta$ 和 $a$。这使得我们可以将 $SE(3)$ 上的优化问题转化到 $\mathfrak{se}(3)$ 线性空间进行求解。

3.3 李代数的指数映射性质

指数映射具有以下重要性质(设 $\exp(\cdot) := e^{(\cdot)}$):

  1. $\exp((t+s)\phi^\wedge) = \exp(t\phi^\wedge)\exp(s\phi^\wedge)$
  2. $\exp(t\phi^\wedge) = \exp(\phi^\wedge)^t$
  3. $\exp(-\phi^\wedge) = \exp(\phi^\wedge)^{-1}$
  4. $\exp(\Phi\phi^\wedge\Phi^{-1}) = \Phi\exp(\phi^\wedge)\Phi^{-1}$

这些性质保证了在李代数空间进行加减运算后,通过指数映射回李群仍满足群结构,从而解决了求导困难的问题。

总结

针对机器人位姿表示中的非线性约束,李群提供了流形描述,而李代数提供了切空间上的线性近似。通过指数映射和对数映射,我们成功将复杂的矩阵运算转化为向量运算,极大地简化了状态估计与优化过程中的求导需求。这是视觉 SLAM 与底层控制算法不可或缺的数学基石。

目录

  1. 引言
  2. 一、问题提出
  3. 1.1 位姿的表述
  4. 1.2 矩阵求导的问题
  5. 二、李群理论
  6. 2.1 群数学定义
  7. 2.2 李群和李代数的数学定义
  8. 2.3 欧拉公式
  9. 三、李群在机器人中的应用
  10. 3.1 SO(3) 特殊正交群
  11. 3.2 SE(3) 特殊欧氏群
  12. 3.3 李代数的指数映射性质
  13. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Anaconda 与 Python 环境安装配置指南
  • 基于 LangChain 与 OpenAI 构建 AI 客服应用
  • GitHub 启用双因素身份验证(2FA)配置指南
  • LangChain 大模型输出结构化解析指南
  • 基于 C++11 手写 Promise 实现
  • 分布式系统远程调用性能优化方案
  • DeepSeek 深度使用指南:提示词技巧与本地知识库搭建
  • Python 构建 NLP 模型实战:从预处理到部署
  • JVMS (JDK Version Manager) 使用教程
  • Highcharts 矩形树图 Treemap 布局算法及层级交互实现
  • 分布式文件系统 HDFS 存储原理
  • C++ STL 竞赛常用容器详解
  • 基于单片机的智能家居监控系统设计与实现
  • 二分答案核心实战:木材加工与砍树问题详解
  • 阿里 Qwen3.5 技术突破与全场景应用解析
  • JavaScript 窗口、文档及表单对象操作示例
  • C++ 异常详解:抛出、捕获与异常安全
  • Java 基础 (1):Spring Web MVC 核心解析
  • Linux 线程概念详解
  • Vue3 低代码设计器 EpicDesigner 快速上手指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online