机器人学关于SE(3)、se(3)、SO(3)、so(3)的理解
一、常用符号表
- 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}R001
- T(3)代表平移运动,齐次变换表示为: ET01\begin{matrix} E&T\\ 0&1\\ \end{matrix}E0T1
- SE3代表刚体变换运动(旋转+平移),齐次变换表示为: RT01\begin{matrix} R&T\\ 0&1\\ \end{matrix}R0T1
- ξ^∈se(3)\hat{\xi} \in se(3)ξ^∈se(3)是SE(3)的李代数表达,物理上表示刚体的广义顺时速度,其中 ξ^\hat{\xi}ξ^ ω^v01\begin{matrix} \hat{\omega} &v\\ 0&1\\ \end{matrix}ω^0v1
通过 ^\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
需要注意的是:
- 尽管SO3对应于矩阵群,但是SO3在使用cout时是以so3形式输出的,输出的是一个3维向量;
- SE3在使用cout输出时输出的是一个6维向量,其中前3维为对应的so3的值,后3维为实际的平移向量T;
- se3在使用cout输出时输出的也是一个6维向量,但是其前3维为平移值T(注意此时的T与SE3输出的t是不同的,t=JT,其中J是雅可比矩阵),后3维为其对应的so3.
三、Sophus库转换关系图
机器人学关于SE(3)、se(3)、SO(3)、so(3)的理解相关推荐
- java se 7u67_Java SE 7u72和Java SE 7u71有什么不同
展开全部 Java SE 7u72和32313133353236313431303231363533e59b9ee7ad9431333433643134Java SE 7u71没有什么不同,基本上只是 ...
- 【新手小白向-自我感觉只有基础的高数和线代知识】-SE(Squeeze and Excitation)模块的原理理解与解释-以别人的文章为主加上自己的理解
第1章 SE模块原理解释(照抄为加快理解) ++++通道注意力机制SE(Squeeze and Excitation)模块和动态激活函数引入骨干网络xx,增强特征提取模块对某个主要对象中关键特征的提取 ...
- 【Java SE:抽象类】抽象类的引出与深入理解
抽象类的引出与深入理解 目录: 抽象类的引出与深入理解 1. 引出抽象类: 2. 抽象类细节: 2.1 抽象类的介绍: 2.2 抽象类注意事项和细节讨论: 3. 实现一个抽象类: 4. 抽象类作用: ...
- 【Java SE】SE“细节”知识大总结
目录 1.初识JAVA 1.1环境配置时JDK.JRE.JVM之间是什么关系? 1.2Java代码运行过程 1.3一个简单Java程序的解释 1.4什么叫"一次编译,到处运行"? ...
- java se是不是java_Java SE和java EE究竟有什么实质上的区别
1.Java SE: Java SE 是Java平台标准版的简称(Java Platform, Standard Edition) (also known as Java 2 Platform) ,用 ...
- Java SE,Java EE
企业版(Java EE) Java EE是一种利用Java2平台来简化企业解决方案的开发.部署和管理相关的复杂问题的体系结构.J2EE技术的基础就是核心Java平台或Java2平台的标准版,Java ...
- 续航越级!真我GT Neo5 SE震撼发布,1999元起售
4月3日,科技潮牌真我realme越级新品--真我GT Neo5 SE正式发布.作为真我GT Neo5系列的新玩家,真我GT Neo5 SE携手爆款设计「最终幻想」升级回归,搭载第二代骁龙7+旗舰芯, ...
- Realme GT Neo5 SE ROOT 解锁BL教程
Realme GTNeo5 SE 解锁+ROOT教程 前言: 本文解锁BL教程及深度测试APP来自Realme官方社区.流程已进行简化,工具由本人制作并提供,降低上手难度,傻瓜式操作(工具长期免费更新 ...
- 【自然语言处理】【知识图谱】知识图谱表示学习(三):SE、SME、LFM、RESCAL、HOLE
知识图谱表示学习(三) SE.SME.LFM.RESCAL.HOLE [自然语言处理][知识图谱]知识图谱表示学习(一):TransE.TransH.TransR.CTransR.TransD [自然 ...
最新文章
- 前端面试题笔记 2021.8.26
- We wear culture:Google 艺术与文化项目带你探秘穿在身上的文化
- java多线程-阻塞队列BlockingQueue
- post发送 ArrayBuffer
- 如何从一个对话框弹出单文档视图
- 如何计算Java对象所占内存的大小
- aMDcpu不支持mysql_Oracle 11.2.0.1在AMD CPU 64位硬件,32位操作系统下的BUG 8670579
- 三十、PHP框架Laravel学习笔记——模型的预加载
- [Swift]LeetCode198. 打家劫舍 | House Robber
- 滚轮事件的防冒泡、阻止默认行为
- qtp(QuickTest Professional)的下载安装
- PcShare2007 暗桩
- 中介效应分析与路径分析
- 小米mix2安兔兔html5跑分,vivo X21跑分多少?高通骁龙660 AIE安兔兔跑分实测
- Rancher+k3s+阿里云流水线详细配置教程
- C语言实现将彩色BMP位图转化为二值图
- 2-管理Audio焦点(Managing Audio Playback)
- java基础 day14数据安全,银行账户取款例子,synchronized()使用、面试题,死锁,线程安全
- sublime text 3143 授权码
- 【转载】遥感影响数据集整理