三维情况实际上是之前讨论的二维情况的延伸。我们在二维坐标系上增加一个额外的坐标轴,通常用 zzz 表示,它同时与 xxx 轴和 yyy 轴正交。zzz 轴的方向服从右手规则,并构成右手坐标系。与各坐标轴平行的单位向量记作 xxx、yyy 和 zzz
z~=x~×y~x~=y~×z~y~=z~×x~\tilde{z} = \tilde{x} \times \tilde{y} \quad \tilde{x} = \tilde{y} \times \tilde{z} \quad \tilde{y} = \tilde{z} \times \tilde{x} z~=x~×y~​x~=y~​×z~y~​=z~×x~
坐标系中的一个点 PPP 可用其 xxx,yyy 和 zzz 的坐标值 (x,y,z)(x, y, z)(x,y,z) 或者一个约束向量表示:
p=xx~+yy~+zz~p=\text{x}\tilde{x}+\text{y}\tilde{y}+\text{z}\tilde{z} p=xx~+yy~​+zz~
下图展示了一个相对于参考坐标系 {A}\{A\}{A} 的坐标系 {B}\{B\}{B} 。可以清楚地看到,{B}\{B\}{B} 的原点通过向量 t=(x,y,z)t=(x,y,z)t=(x,y,z)进行平移,然后再通过某种复杂方式进行了旋转。正如二维情况一样,我们如何表示坐标系之间的方向是非常重要的。

我们的做法还是从相对于每个坐标系的任意一点 PPP 出发,然后再确定 AP^APAP 和 BP^BPBP 之间的关系。我们仍然从两方面考虑:旋转和平移。

三维空间姿态描述

任何两个独立的正交坐标系都可以通过一系列(不超过3次)相对于坐标轴的旋转联系起来,但其中连续的两次旋转不能绕同一轴线。

——欧拉旋转定理

之前的图中显示了两个右手坐标系,其方向差异很大,我们如何相对于一个坐标系去表示另一个坐标系呢?可以想象一下,将坐标系 {A}\{A\}{A} 拿在我们手里旋转,直到与坐标系 {B}\{B\}{B} 方向一致。欧拉旋转定理指出,任何旋转都可以看作是由一系列相对不同坐标轴的旋转组合而成的。
  首先考虑绕单个坐标轴的旋转。下图显示了一个右手坐标系,以及它绕不同坐标轴旋转不同角度的情形。

但绕坐标轴连续旋转就没那么简单了,其中存在一些微妙的变化。如下图所示,它演示了一个坐标系按不同的顺序旋转的情形。可以看到,虽然旋转角度相同,但最终得到的坐标系方向完全不同,它取决于旋转的顺序。这是三维世界里一个深奥且让人迷惑的特征,而且它曾困扰了数学家们很长一段时间。我们之前一直在讨论的位姿代数的意义就在于运算符 ⊕\oplus⊕ 是不可交换的,它体现了上述旋转顺序的重要性。下图中,在上面一排中坐标系先绕 xxx 轴旋转 π/2\pi/2π/2,然后绕 yyy 轴旋转 π/2\pi/2π/2。在下面一排旋转顺序正好颠倒了。两种旋转的结果明显不同。

数学家已经提炼出许多表示旋转的方法,我们之后会讨论其中几种:正交旋转矩阵,欧拉和卡尔丹角,旋转轴与角度,以及单位四元数。它们都可以表示为向量或矩阵,即MATLAB的自然数据类型,或者表示为机器人工具箱自定义的类。机器人工具箱中提供了许多函数可以将这些表示法相互转换,我们后面也会有介绍。

机器人学——1.2-三维空间位姿描述相关推荐

  1. 【机器人学与计算机视觉基础】(一)位置与姿态描述 3 三维空间位姿描述

    文章目录 位置与姿态描述 3 三维空间位姿描述 3.1 三维空间姿态描述 3.1.1 正交旋转矩阵 3.1.2 三角度表示法 3.1.3 双向量表示法 3.1.4 绕任意向量旋转 3.1.5 单位四元 ...

  2. 机器人与matlab—Robotics Toolbox—01空间位姿描述

    机器人学与matlab-Robotics Toolbox-01空间位姿描述 1.二维空间位姿描述 2.三维空间位姿描述 2.1 正交旋转矩阵 2.2 三角度表示法(欧拉角.RPY角) 2.3 等效轴角 ...

  3. 《动手学机器人学》第四节(上):位姿描述

    本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途. 目录 <动手学机器人学& ...

  4. 如何使用matlab进行二维和三维空间的位姿描述及坐标系的变换

      本篇文章主要与大家分享一下如何使用matlab进行二维和三维空间的位姿描述及坐标系的变换,文章内容处于更新和补充中,(我同时安装了机器人工具箱9.10版本和10.4版本,因此文章也介绍了两种版本工 ...

  5. 机器人学——1.1-二维空间位姿描述

    二维空间位姿描述 二维世界或平面,是我们在高中学习欧几里得几何时就熟悉的.笛卡儿坐标系,或以 x x x 轴和 y y y 轴为正交轴的坐标系,通常绘制成 x x x 轴水平. y y y 轴竖直,两 ...

  6. matlab运动控制算法教程,机器人学、机器视觉与控制:MATLAB算法基础pdf(示例代码)...

    下载地址:网盘下载 内容简介 本书是关于机器人学和机器视觉的实用参考书, 第一部分"基础知识"(第2章和第3章)介绍机器人及其操作对象的位置和姿态描述,以及机器人路径和运动的表示方 ...

  7. MATLAB机器人工具箱【1】——建模+正逆运动学+雅克比矩阵

    MATLAB机器人工具箱[1]-- 机械臂建模+正逆运动学+雅克比矩阵 1. 二维空间位姿描述 2. 三维空间位姿描述 3. 建立机器人模型 3.1 Link 类 3.2 SerialLink 类 3 ...

  8. 机械臂机器人——(4)Robotics Toolbox机器人仿真

    文章目录 RoboticsToolbox基础用法 (1)二维空间位姿描述 二维空间位姿变换示例 (2)三维空间位姿描述 正交旋转矩阵 三维空间位姿变换示例 2.三角度表示法 (1)欧拉角 示例:欧拉角 ...

  9. MATLAB机器人工具箱基础(一)

    此文档作为自己学习过程中一个记录复习,基本来源于<Robotics, Vision & Control>这本书,可以作为matlab机器人工具箱的说明书来用,有兴趣可移步自行下载相 ...

最新文章

  1. 如何高效便捷的画出炫酷神经网络图
  2. Linux C编程--进程间通信(IPC)5--System V IPC 机制2--信号量
  3. python使用教程pandas-Python 数据处理库 pandas 入门教程基本操作
  4. 数据结构 稀疏矩阵的实现方法
  5. Django安装与使用
  6. 使用混合多云每个人都应避免的3个陷阱(第4部分)
  7. Java StreamTokenizer whitespaceChars()方法及示例
  8. MHA命令系统介绍--masterha_manager
  9. CNTV数据库高级经理田发明:SQL审核与开发规范
  10. 微信公众号jssdk:the permission value is offline verifying
  11. android mac地址不可用,Android手机里的mac地址显示不可用是为什么。我的手机是海信E920....
  12. 软件环境(dev、sit、uat、prod、test)
  13. 荣耀8x手机换电池实战
  14. 线性规划问题可行域中的极点、方向与最优解
  15. 学mtml还是html5,图解核苷酸替代模型的选择 – MrMTgui 篇
  16. Sklearn-GBDT(GradientBoostingDecisonTree)梯度提升树
  17. 机械振动学习笔记1-3章
  18. 单身程序员的福利!快来加入全国最大的硕博交友群,手慢无!
  19. cad中怎么随意移动图形_CAD中需要挪动图形到准确位置?试试这几种方法
  20. 电脑蓝屏后自动重启问题

热门文章

  1. 因为是你 所以没关系:伤感日志
  2. 台式电脑系统崩掉该如何?
  3. 大学计算机实验五实验六实验报告表,北京理工大学计算机实验六
  4. 64位计算机最大寻址,为什么说32位操作系统的寻址空间是4G
  5. 微信小程序 - 搜索历史记录功能(纯前端)
  6. 消费复苏中的企业该走向何处?
  7. creo中公制单位的设定问题(永久设定)
  8. 产品经理如何写产品白皮书
  9. python gpl_详细介绍 GPL 协议
  10. 怎么把视频里的一小段制作成gif图片?教你视频片断做成GIF