一、常用符号表

  • 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∈SO(3)R\in SO(3)R∈SO(3)),齐次变换表示为: R001\begin{matrix} R&0\\ 0&1\\ \end{matrix}R0​01​
  • T(3)代表平移运动,齐次变换表示为: ET01\begin{matrix} E&T\\ 0&1\\ \end{matrix}E0​T1​
  • SE3代表刚体变换运动(旋转+平移),齐次变换表示为: RT01\begin{matrix} R&T\\ 0&1\\ \end{matrix}R0​T1​
  • ξ^∈se(3)\hat{\xi} \in se(3)ξ^​∈se(3)是SE(3)的李代数表达,物理上表示刚体的广义顺时速度,其中 ξ^\hat{\xi}ξ^​ ω^v01\begin{matrix} \hat{\omega} &v\\ 0&1\\ \end{matrix}ω^0​v1​

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

三、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库转换关系图

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

  1. java se 7u67_Java SE 7u72和Java SE 7u71有什么不同

    展开全部 Java SE 7u72和32313133353236313431303231363533e59b9ee7ad9431333433643134Java SE 7u71没有什么不同,基本上只是 ...

  2. 【新手小白向-自我感觉只有基础的高数和线代知识】-SE(Squeeze and Excitation)模块的原理理解与解释-以别人的文章为主加上自己的理解

    第1章 SE模块原理解释(照抄为加快理解) ++++通道注意力机制SE(Squeeze and Excitation)模块和动态激活函数引入骨干网络xx,增强特征提取模块对某个主要对象中关键特征的提取 ...

  3. 【Java SE:抽象类】抽象类的引出与深入理解

    抽象类的引出与深入理解 目录: 抽象类的引出与深入理解 1. 引出抽象类: 2. 抽象类细节: 2.1 抽象类的介绍: 2.2 抽象类注意事项和细节讨论: 3. 实现一个抽象类: 4. 抽象类作用: ...

  4. 【Java SE】SE“细节”知识大总结

    目录 1.初识JAVA 1.1环境配置时JDK.JRE.JVM之间是什么关系? 1.2Java代码运行过程 1.3一个简单Java程序的解释 1.4什么叫"一次编译,到处运行"? ...

  5. java se是不是java_Java SE和java EE究竟有什么实质上的区别

    1.Java SE: Java SE 是Java平台标准版的简称(Java Platform, Standard Edition) (also known as Java 2 Platform) ,用 ...

  6. Java SE,Java EE

    企业版(Java EE) Java EE是一种利用Java2平台来简化企业解决方案的开发.部署和管理相关的复杂问题的体系结构.J2EE技术的基础就是核心Java平台或Java2平台的标准版,Java ...

  7. 续航越级!真我GT Neo5 SE震撼发布,1999元起售

    4月3日,科技潮牌真我realme越级新品--真我GT Neo5 SE正式发布.作为真我GT Neo5系列的新玩家,真我GT Neo5 SE携手爆款设计「最终幻想」升级回归,搭载第二代骁龙7+旗舰芯, ...

  8. Realme GT Neo5 SE ROOT 解锁BL教程

    Realme GTNeo5 SE 解锁+ROOT教程 前言: 本文解锁BL教程及深度测试APP来自Realme官方社区.流程已进行简化,工具由本人制作并提供,降低上手难度,傻瓜式操作(工具长期免费更新 ...

  9. 【自然语言处理】【知识图谱】知识图谱表示学习(三):SE、SME、LFM、RESCAL、HOLE

    知识图谱表示学习(三) SE.SME.LFM.RESCAL.HOLE [自然语言处理][知识图谱]知识图谱表示学习(一):TransE.TransH.TransR.CTransR.TransD [自然 ...

最新文章

  1. 前端面试题笔记 2021.8.26
  2. We wear culture:Google 艺术与文化项目带你探秘穿在身上的文化
  3. java多线程-阻塞队列BlockingQueue
  4. post发送 ArrayBuffer
  5. 如何从一个对话框弹出单文档视图
  6. 如何计算Java对象所占内存的大小
  7. aMDcpu不支持mysql_Oracle 11.2.0.1在AMD CPU 64位硬件,32位操作系统下的BUG 8670579
  8. 三十、PHP框架Laravel学习笔记——模型的预加载
  9. [Swift]LeetCode198. 打家劫舍 | House Robber
  10. 滚轮事件的防冒泡、阻止默认行为
  11. qtp(QuickTest Professional)的下载安装
  12. PcShare2007 暗桩
  13. 中介效应分析与路径分析
  14. 小米mix2安兔兔html5跑分,vivo X21跑分多少?高通骁龙660 AIE安兔兔跑分实测
  15. Rancher+k3s+阿里云流水线详细配置教程
  16. C语言实现将彩色BMP位图转化为二值图
  17. 2-管理Audio焦点(Managing Audio Playback)
  18. java基础 day14数据安全,银行账户取款例子,synchronized()使用、面试题,死锁,线程安全
  19. sublime text 3143 授权码
  20. 【转载】遥感影响数据集整理

热门文章

  1. 使用代理爬去微信公众号_微信公众号怎么去推广运营?企业微信公众号要如何运营?微信公众号运营技巧,你get了吗?微信怎么去推广运营?...
  2. 如何下载安装VS2017下载 vs2017社区版
  3. 关于qq一键登录的一些问题
  4. ios 打包 验证应用失败原因汇总
  5. 任务栏WPS出现多窗口预览?下载这个注册表就对了
  6. 跟小静读CLR via C#(06)- 构造器
  7. 水面渲染-浮力的一种实现
  8. 计算机专业算理算工,计算机在高考时是算文还是算理啊
  9. ant-design-vue对起始时间的校验
  10. 谈谈我在PyTorch踩过的12坑