1.引言:我们为什么要用到特殊欧式群SE(3)描述刚体运动?

我们知道在欧式三维空间中一个物体没有约束有三个旋转自由度和三个平动自由度。为了描述一个可动构件相对另一个固定管构件能够有哪些自由度,本质就是寻找可动构件上附带的动坐标系想固定构件上附带的定坐标系之间的姿态变换。这时候就可以引入特殊欧式群SE(3)SE(3)SE(3)进行统一的描述,利用群理论描述运动学就变得统一和简化,它具有一套规整的计算规则,可以非常方便直观地利用矩阵方式计算两个坐标系之间的相对位置和姿态。

2.特殊欧式群SE(3)的定义

特殊欧式群SE(3)SE(3)SE(3)(S是special的意思,所以是特殊欧式群)是线性矩阵群GL(4,R)={R4×4∣det(R)≠0}GL(4,\R)=\{\R^{4\times4}|det(R)\neq0\}GL(4,R)={R4×4∣det(R)=0}的封闭子群,作为矩阵李群,SE(3)SE(3)SE(3)首先代表一种齐次坐标变换,可以代表某种刚体运动的集合,假设在R3\R^3R3欧式空间中所有的点坐标都是用齐次坐标表示的,刚体运动可以表示为一个动坐标系MMM相对一个定坐标系FFF的相对位置和姿态的变化,而SE(3)SE(3)SE(3)可以表示为

SE(3)={[RP01]∣P∈R3,R∈SO(3)}SE(3)=\left\{ \begin{bmatrix} \mathbf{R} & \mathbf{P}\\ \mathbf{0} & 1 \end{bmatrix}\,|\,\mathbf{P}\in\R^3,\mathbf{R}\in SO(3)\right\}SE(3)={[R0​P1​]∣P∈R3,R∈SO(3)}

式中的P\mathbf{P}P表示动坐标系MMM的原点相对于定坐标系FFF原点的相对位置,而R\mathbf{R}R表示动坐标系MMM相对定坐标系FFF的相对姿态。R\mathbf{R}R称为旋转子群,其数学定义为:

SO(3)={R∈R3×3∣RTR=I,det(R)=1}SO(3)=\left\{\mathbf{R}\in\R^{3\times3}\,|\,\mathbf{R}^T\mathbf{R}=\mathbf{I},det(\mathbf{R})=1\right\}SO(3)={R∈R3×3∣RTR=I,det(R)=1}

3.SE(3)SE(3)SE(3)子群的齐次矩阵表示及其释义

3.1 T(v)\mathbf{T}(\mathbf{v})T(v):沿方向v\mathbf{v}v的平移

T(v)={[Iav01]∣a∈R}\mathbf{T}(\mathbf{v})=\left\{ \begin{bmatrix} \mathbf{I} & a\mathbf{v}\\ \mathbf{0} & 1 \end{bmatrix}|\,a\in\R\right\}T(v)={[I0​av1​]∣a∈R}

表示沿方向v\mathbf{v}v的平移

3.2R(P,ω)\mathbf{R}(\mathbf{P},\mathbf{\omega})R(P,ω):沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)转动

R(P,ω)={[eω^θ(I−eω^θ)P01]∣θ∈[0,2π],P∈R3}\mathbf{R}(\mathbf{P},\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & (\mathbf{I}-e^{\hat{\mathbf{\omega}}\theta})\mathbf{P}\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],\mathbf{P}\in\R^3\right\}R(P,ω)={[eω^θ0​(I−eω^θ)P1​]∣θ∈[0,2π],P∈R3}

表示沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)转动。

3.3 Hρ(P,ω)\mathbf{H}_\rho(\mathbf{P},\mathbf{\omega})Hρ​(P,ω):沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)且节距为ρ\rhoρ的螺旋转动

Hρ(P,ω)={[eω^θ(I−eω^θ)P+ρωθ01]∣θ∈[0,2π],P∈R3}\mathbf{H}_\rho(\mathbf{P},\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & (\mathbf{I}-e^{\hat{\mathbf{\omega}}\theta})\mathbf{P}+\rho\mathbf{\omega}\theta\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],\mathbf{P}\in\R^3\right\}Hρ​(P,ω)={[eω^θ0​(I−eω^θ)P+ρωθ1​]∣θ∈[0,2π],P∈R3}

表示沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)且节距为ρ\rhoρ的螺旋转动。

3.4 T2(ω)\mathbf{T}_2(\mathbf{\omega})T2​(ω):垂直于ω\mathbf{\omega}ω的平面移动

T2(ω)={[Iax+by01]∣a,b∈R}\mathbf{T}_2(\mathbf{\omega})=\left\{ \begin{bmatrix} \mathbf{I} & a\mathbf{x}+b\mathbf{y}\\ \mathbf{0} & 1 \end{bmatrix}|\,a,b\in\R\right\}T2​(ω)={[I0​ax+by1​]∣a,b∈R}

这里x\mathbf{x}x和y\mathbf{y}y应该是垂直于ω\mathbf{\omega}ω的平面的任意两个不平行的矢量。

表示垂直于ω\mathbf{\omega}ω的平面移动

3.5 C(P,ω)\mathbf{C}(\mathbf{P},\mathbf{\omega})C(P,ω):沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)的圆柱运动

C(P,ω)={[eω^θ(I−eω^θ)P+aω01]∣θ∈[0,2π],P∈R3,a∈R}\mathbf{C}(\mathbf{P},\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & (\mathbf{I}-e^{\hat{\mathbf{\omega}}\theta})\mathbf{P}+a\mathbf{\omega}\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],\mathbf{P}\in\R^3,a\in\R\right\}C(P,ω)={[eω^θ0​(I−eω^θ)P+aω1​]∣θ∈[0,2π],P∈R3,a∈R}

表示沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)的圆柱运动。

3.6 T(3)\mathbf{T}(3)T(3):三维移动

T(3)={[IQ01]∣Q∈R3}\mathbf{T}(3)=\left\{ \begin{bmatrix} \mathbf{I} & \mathbf{Q}\\ \mathbf{0} & 1 \end{bmatrix}|\,\mathbf{Q}\in\R^3\right\}T(3)={[I0​Q1​]∣Q∈R3}

表示三维移动。

3.7 G(ω)\mathbf{G}(\mathbf{\omega})G(ω):垂直于ω\mathbf{\omega}ω的平面运动

G(ω)={[eω^θax+by01]∣θ∈[0,2π],a,b∈R}\mathbf{G}(\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & a\mathbf{x}+b\mathbf{y}\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],a,b\in\R\right\}G(ω)={[eω^θ0​ax+by1​]∣θ∈[0,2π],a,b∈R}

这里x\mathbf{x}x和y\mathbf{y}y应该是垂直于ω\mathbf{\omega}ω的平面的任意两个不平行的矢量。

表示垂直于ω\mathbf{\omega}ω的平面运动。

3.8 S(P)\mathbf{S}(\mathbf{P})S(P):绕点P\mathbf{P}P的三维转动

S(P)={[R(I−R)P01]∣R∈SO(3),P∈R3}\mathbf{S}(\mathbf{P})=\left\{ \begin{bmatrix} \mathbf{R} & (\mathbf{I}-\mathbf{R})\mathbf{P}\\ \mathbf{0} & 1 \end{bmatrix}|\,\mathbf{R}\in SO(3), \mathbf{P}\in\R^3\right\}S(P)={[R0​(I−R)P1​]∣R∈SO(3),P∈R3}

表示绕点P\mathbf{P}P的三维转动。

3.9 Yρ(ω)\mathbf{Y}_\rho(\mathbf{\omega})Yρ​(ω):垂直于ω\mathbf{\omega}ω的平面且节距为ρ\rhoρ的螺旋运动

Yρ(ω)={[eω^θax+by+ρωθ01]∣θ∈[0,2π],a,b∈R}\mathbf{Y}_\rho(\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & a\mathbf{x}+b\mathbf{y}+\rho\mathbf{\omega}\theta\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],a,b\in\R\right\}Yρ​(ω)={[eω^θ0​ax+by+ρωθ1​]∣θ∈[0,2π],a,b∈R}

表示垂直于ω\mathbf{\omega}ω的平面且节距为ρ\rhoρ的螺旋运动

3.10 X(ω)\mathbf{X}(\mathbf{\omega})X(ω):三维移动和ω\mathbf{\omega}ω方向转动

X(ω)={[eω^θQ01]∣θ∈[0,2π],Q∈R3}\mathbf{X}(\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta}& \mathbf{Q}\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],\mathbf{Q}\in\R^3\right\}X(ω)={[eω^θ0​Q1​]∣θ∈[0,2π],Q∈R3}

表示三维移动和ω\mathbf{\omega}ω方向转动。

4.其他

在刚体运动的集合中。除了存在具备群结构的运动之外,还存在众多不封闭的非群结构的运动,比如五轴机床的五自由度运动。两转动副组成的运动链的末端运动,万向节运动等等,都不是李群运动,这些运动的特点是不能沿着固定坐标轴运动,因此也称为不封闭的非群运动。数学上这类不具备群结构的运动可以用SE(3)SE(3)SE(3)的规则子流形来描述,这也是机构学界的研究热点和难点。

参考资料

[1]邓宗全.空间折展机构设计[M].第一版.哈尔滨工业大学出版社.2013:32-33

李群理论笔记1:特殊欧式群SE(3)和刚体运动描述相关推荐

  1. 笔记-基于Lie群SE(3)的航天器姿轨一体化建模方法

    航天器姿态和轨道运动一体化建模方法有:传统的姿轨独立建模方法.基于对偶四元数的建模方法.基于Lie群SE(3)的建模方法.这篇笔记主要针对Lie群SE(3)的航天器姿轨一体化建模方法. 什么是Lie群 ...

  2. 初识SLAM到认识李群学习笔记

    本文为学习高翔.张涛等著的<视觉SLAM十四讲>的学习笔记,通过研究视觉SLAM,从三维空间刚体运动引出群论和李代数. 1. 初识SLAM 单目相机以二维的形式记录了三维的世界,缺少场景的 ...

  3. 半闲居士视觉SLAM十四讲笔记(3)三维空间刚体运动 - part 1 旋转矩阵

    本系列文章由 youngpan1101 出品,转载请注明出处. 文章链接: http://blog.csdn.net/youngpan1101/article/details/71086500 作者: ...

  4. Hadoop学习笔记—13.分布式集群中节点的动态添加与下架

    Hadoop学习笔记-13.分布式集群中节点的动态添加与下架 开篇:在本笔记系列的第一篇中,我们介绍了如何搭建伪分布与分布模式的Hadoop集群.现在,我们来了解一下在一个Hadoop分布式集群中,如 ...

  5. ZooKeeper学习笔记(八):ZooKeeper集群写数据原理

    写数据原理 写流程直接请求发送给Leader节点 这里假设集群中有三个zookeeper服务端 ACK (Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种 ...

  6. storm笔记:storm集群

    storm笔记:storm集群 Strom集群结构是有一个主节点(nimbus)和多个工作节点(supervisor)组成的主从结构,主节点通过配置静态指定(还有一种主从结构是在运行时动态选举,比如z ...

  7. Shannon理论——笔记1

    Shannon理论--笔记1 目录 Shannon理论--笔记1 引言 概略 完善保密性 熵 熵的性质 伪密钥和唯一解距离 预备知识 伪密钥 唯一解距离 乘积密码体制 引言 我们知道有这样几个评价密码 ...

  8. 高等数学 · 空间解析几何与向量代数理论笔记小结

    空间解析几何与向量代数理论笔记小结 一.向量代数 1. 向量的定义 2. 向量的模 3. 基本单位向量 4. 向量的方向角与方向余弦 5. 向量的坐标表示 6. 向量的线性运算 7. 向量的数量积 8 ...

  9. Redis 学习笔记八:集群模式

    Redis 学习笔记八:集群模式 作者:Grey 原文地址: 博客园:Redis 学习笔记八:集群模式 CSDN:Redis 学习笔记八:集群模式 前面提到的Redis 学习笔记七:主从复制和哨兵只能 ...

最新文章

  1. 非对称加密算法之RSA介绍及OpenSSL中RSA常用函数使用举例
  2. 没有任何基础的可以学python吗-没有任何基础的人,该如何学习Python?「附具体步骤」...
  3. 【转】Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析
  4. 笔记-项目整体管理-项目管理计划
  5. spring boot使用外置tomcat部署需要排除的依赖
  6. 干货!全面认识Docker和基本指令
  7. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)...
  8. jetty;linux 目录结构
  9. arr数组怎么取值_【JavaScript】Array数组常规使用小结(持续更新......)
  10. Hyper-V Server 存储分层
  11. 发现极为好用的数据库连接工具,基本上包含所有数据库DBeaver
  12. 【HDU 5765】Bonds(进制运算妙用)
  13. K8S 配置域名访问 Ingress【Traefik】
  14. 智能家居Homekit系列一智能插座
  15. 安卓开发之SoundPool播放音效
  16. 【基础练习】【BFS+A*】codevs1225八数码难题题解
  17. 一篇文章解决计算机基础——进制转换难题
  18. c语言输入字母输出数字,输入一字符串 把其中的字母和数字分开输出 用c语言编写...
  19. 教师资格证面试题库中职计算机,2017年高中信息技术教师资格证面试真题及答案(第四批)...
  20. 苏宁图书spider

热门文章

  1. 2021年4月Bmob无法访问Bmob云服务器
  2. 默认ip_各品牌路由器登录网址大全 路由器默认用户名/密码
  3. 【转载】热电偶和热电阻的区别
  4. Dual-View Distilled BERT for Sentence Embedding
  5. 解决cc2015到期后不能再次破解问题,及提供cutterman,Mark Man下载地址
  6. 古典问题(兔生兔问题)就是著名的斐波那契数列
  7. Winter Camp I (下)
  8. 在ROS Kinetic和Gazebo 8中使用智能汽车仿真演示
  9. 光电武器装备故障智能测试系统ETest研究
  10. 谷歌文本转语音(gtts)批量转换