机器人学关于SE(3)、se(3)、SO(3)、so(3)的理解

该博客详细介绍了刚体运动中的李群和李代数概念,如SE(3)、SO(3)、T(3)及其关系。SE(3)表示旋转和平移的组合,而SO(3)和T(3)分别代表旋转和纯平移。李代数作为李群的切空间,通过log和exp映射与李群相互转换。此外,文章提到了Sophus库,这是一个用于处理三维旋转和平移的库,支持SO(3)、SE(3)以及相应的李代数操作。Sophus库的输出格式和转换关系也进行了说明。
摘要由CSDN通过智能技术生成

一、常用符号表

  • SE(3):特殊欧式群
  • se(3):特殊欧式群的李代数
  • SO(3): 三维特殊正交群
  • so(3): 三维特殊正交群的李代数
  • T(3):三维移动群
  • R: 旋转矩阵

二、关系

李代数:李群单位元处的切空间;

  • SO(3) 和T(3) 都是SE(3)的李子群
  • SO3——>log——>so3, 3×1 vector
  • SE3——>log——>se3, 6×1 vector
  • so3——>exp——>SO3, 3×3 matrix
  • se3——>exp——>SE3, 4×4 matrix

在刚体运动中:

  • SO(3)代表旋转运动( R ∈ S O ( 3 ) R\in SO(3) RSO(3)),齐次变换表示为: R 0 0 1 \begin{matrix} R&0\\ 0&1\\ \end{matrix} R001
  • T(3)代表平移运动,齐次变换表示为: E T 0 1 \begin{matrix} E&T\\ 0&1\\ \end{matrix} E0T1
  • SE3代表刚体变换运动(旋转+平移),齐次变换表示为: R T 0 1 \begin{matrix} R&T\\ 0&1\\ \end{matrix} R0T1
  • ξ ^ ∈ s e ( 3 ) \hat{\xi} \in se(3) ξ^se(3)是SE(3)的李代数表达,物理上表示刚体的广义顺时速度,其中 ξ ^ \hat{\xi} ξ^ ω ^ v 0 1 \begin{matrix} \hat{\omega} &v\\ 0&1\\ \end{matrix} ω^0v1

通过 ^ \hat{} ^ 算子可以将4*4矩阵映射为六维向量 ξ \xi ξ,即: ω v \begin{matrix} \omega\\ v\\ \end{matrix} ωv
亦即 运动旋量,其中 ω \omega ω为旋转角速度(瞬时转动), v v v为平移速度(瞬时移动)。

三、Sophus库

李群和李代数的库是Sophus,支持SO(3),so(3),SE(3)和se(3)的定义和运算,继承于Eigen,所以可以使用Eigen定义的类和函数。

三维旋转群SO3:Sophus::SO3
刚体变换群SE3:Sophus::SE3
李代数so(3):Sophus::Vector3d so3
李代数se(3):Sophus::Vector6d se3

需要注意的是:

  1. 尽管SO3对应于矩阵群,但是SO3在使用cout时是以so3形式输出的,输出的是一个3维向量;
  2. SE3在使用cout输出时输出的是一个6维向量,其中前3维为对应的so3的值,后3维为实际的平移向量T;
  3. se3在使用cout输出时输出的也是一个6维向量,但是其前3维为平移值T(注意此时的T与SE3输出的t是不同的,t=JT,其中J是雅可比矩阵),后3维为其对应的so3.

三、Sophus库转换关系图

在这里插入图片描述

  • 49
    点赞
  • 184
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值