一、常用符号表
- 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) R∈SO(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
需要注意的是:文章来源:https://www.toymoban.com/news/detail-796451.html
- 尽管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库转换关系图
文章来源地址https://www.toymoban.com/news/detail-796451.html
到了这里,关于机器人学关于SE(3)、se(3)、SO(3)、so(3)的理解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!