机器人数学基础问题 --四维齐次空间

1.矩阵运算------四维齐次空间

——3D 坐标(x,y,z)利用4D 向量完成伸缩&旋转&平移变换

4D 向量是由3D 坐标(x,y,z)和齐次坐标w 组成,写作(x,y,z,w)。

在3D 世界中为什么需要3D 的齐次坐标呢?简单地说明一下,在一维空间中的一条线段上取一点x ,然后我们想转移x 的位置,那我们应该是x'=x+k,但我们能使用一维的矩阵来表示这变换吗?不能,因为此时一维的矩阵只能让x 点伸缩(因为是通过乘矩阵来实现,x •k 就是伸缩变化) 。但如果变成了一维的齐次空间

[k 1]就很容易地做到(因为平移就是有相对位置变化→使原来位置坐标不变用1来稳住,再加一个平移量k 就可以实现任何位置的平移) 。同样地,在二维空间中,某一图形如果不使用二维的齐次坐标,则只能旋转和伸缩,确不能平移。 因此,我们在3D 坐标中使用齐次坐标,是为了物体在矩阵变换中,除了伸缩旋转(这两种变化都是有固定点才可以实现,而3D 坐标中默认原点为固定点,所以不必在外加“原位置”的参考点) ,还能够平移,如下运算:

既然了解了使用齐次坐标的意义,我们下一步就要了解一下齐次坐标w 是什么意义。设w=1,此时相当于我们把3D 的坐标平移搬去了上(这句话说的很好,就相当于在抽象的,即在w=1的“平面”定义3D 的坐标。暂时存放一下,仅作为变换的工具和度量标准,因此后续使用时还是截取前3个元素),4D 空间的点投影到w=1平面上,齐次坐标映射的3D 坐标是(x/w,y/w,z/w),也就是(x,y,z )。(x,y,z )在齐次空间中有无数多个点(4D 空间中取一个特征为w 的元素,其中w 取值可以是任意数,因此称为无数)与之对应。所有点的形式是(kx,ky,kz,k ),其轨迹是通过齐次空间原点的“直线”(其实每个点相当于3D 的坐标世界)。

当w=0时,有很大的意义,可解释为无穷远的“点”,其意义是描述方向。这也是平移变换的开关,当w=0时,

此时不能平移变换了。这个现象是非常有用的,因为有些向量代表“位置”,应当平移,而有些向量代表“方向”,如表面的法向量,不应该平移。从几何意义上说,能将第一类数据当作" 点" ,第二类数据当作" 向量" 。可以通过设置w 的值来控制向量的意义。

3D 坐标(x,y,z)利用完成伸缩&旋转&平移变换

这里的伸缩旋转先不说,只说平移,因为平移就是有相对位置变化→使原来位置坐标不变用1来稳住,再加一个平移量k 就可以实现任何位置的平移。4D 向量仅作为变换的工具和度量标准,因此后续使用时还是截取前3个元素。

2. 矩阵左乘行变换,右乘列变换. 记住左行右列就行!

1.矩阵运算------四维齐次空间

——3D 坐标(x,y,z)利用4D 向量完成伸缩&旋转&平移变换

4D 向量是由3D 坐标(x,y,z)和齐次坐标w 组成,写作(x,y,z,w)。

在3D 世界中为什么需要3D 的齐次坐标呢?简单地说明一下,在一维空间中的一条线段上取一点x ,然后我们想转移x 的位置,那我们应该是x'=x+k,但我们能使用一维的矩阵来表示这变换吗?不能,因为此时一维的矩阵只能让x 点伸缩(因为是通过乘矩阵来实现,x •k 就是伸缩变化) 。但如果变成了一维的齐次空间

[k 1]就很容易地做到(因为平移就是有相对位置变化→使原来位置坐标不变用1来稳住,再加一个平移量k 就可以实现任何位置的平移) 。同样地,在二维空间中,某一图形如果不使用二维的齐次坐标,则只能旋转和伸缩,确不能平移。 因此,我们在3D 坐标中使用齐次坐标,是为了物体在矩阵变换中,除了伸缩旋转(这两种变化都是有固定点才可以实现,而3D 坐标中默认原点为固定点,所以不必在外加“原位置”的参考点) ,还能够平移,如下运算:

既然了解了使用齐次坐标的意义,我们下一步就要了解一下齐次坐标w 是什么意义。设w=1,此时相当于我们把3D 的坐标平移搬去了上(这句话说的很好,就相当于在抽象的,即在w=1的“平面”定义3D 的坐标。暂时存放一下,仅作为变换的工具和度量标准,因此后续使用时还是截取前3个元素),4D 空间的点投影到w=1平面上,齐次坐标映射的3D 坐标是(x/w,y/w,z/w),也就是(x,y,z )。(x,y,z )在齐次空间中有无数多个点(4D 空间中取一个特征为w 的元素,其中w 取值可以是任意数,因此称为无数)与之对应。所有点的形式是(kx,ky,kz,k ),其轨迹是通过齐次空间原点的“直线”(其实每个点相当于3D 的坐标世界)。

当w=0时,有很大的意义,可解释为无穷远的“点”,其意义是描述方向。这也是平移变换的开关,当w=0时,

此时不能平移变换了。这个现象是非常有用的,因为有些向量代表“位置”,应当平移,而有些向量代表“方向”,如表面的法向量,不应该平移。从几何意义上说,能将第一类数据当作" 点" ,第二类数据当作" 向量" 。可以通过设置w 的值来控制向量的意义。

3D 坐标(x,y,z)利用完成伸缩&旋转&平移变换

这里的伸缩旋转先不说,只说平移,因为平移就是有相对位置变化→使原来位置坐标不变用1来稳住,再加一个平移量k 就可以实现任何位置的平移。4D 向量仅作为变换的工具和度量标准,因此后续使用时还是截取前3个元素。

2. 矩阵左乘行变换,右乘列变换. 记住左行右列就行!


相关文章

  • 机器人技术与PLC试题大全
  • 一.填空题(共20题) 1.机器人系统大致由. 和 . . 六大系统等部分组成. 2.机器人的重复定位精度是指. 3.齐次坐标[0 0 1 0]T表示的内容是 . 4.如果机器人相邻两关节轴线相交,则联接这两个关节的连杆长度为 5.常用的建 ...查看


  • 线性代数试题库(1)答案
  • 线性代数试题库(1)答案 一.选择题:(3×7=21分) 1.n 阶行列式D 的元素a ij 的余子式M ij 与a ij 的代数余子式A ij 的关系是( C ) A . A ij =Mij B . A ij =(-1) n M ij C ...查看


  • 线性代数试题库(1)答案 1
  • 线性代数试题库(1)答案 一.选择题:(3×7=21分) 1.n 阶行列式D 的元素a ij 的余子式M ij 与a ij 的代数余子式A ij 的关系是( C ) A . A ij =Mij B . A ij =(-1) n M ij C ...查看


  • [机器人技术]实验报告
  • 工业机器人Matlab 仿真 实验报告 指导老师: 姓名: 班级: 学号: 2013年10月28日 实验内容(一) (1) 利用三次多项式规划出关节角运动轨迹,并在Matlab 环境下绘制出轨迹曲 线. 题目:假设有一旋转关节的单自由度操作 ...查看


  • 多杆空间柔性机器人递推拉格朗日动力学建模和仿真
  • 多杆空间柔性机器人递推拉格朗日动力学建模和仿真∗ 章定国1 , 芮筱亭2 (南京理工大学 1. 理学院,2. 动力工程学院,江苏 南京210094) 摘要:该文研究了多杆空间柔性机器人的动力学问题,运用拉格朗日方法,结合齐次变换矩阵,推导得 ...查看


  • 搬运机器人设计计算说明书(谭)
  • 搬运机器人用于替代人工,将重复性.重体力和严苛环境中的转运环节所需的人员释放出来.不同种类.规格的机器人用途不一,应用侧重不一,按照我公司的开发方向,机器人需要达到以下目的:使用尽量简单直接的结构设计.功能单一.操作方便.成本低廉.易于维护 ...查看


  • 探索与发现论文
  • 徐州工程学院 15旅管3徐晶晶 [1**********] 探索与发现之时空穿越 众所周知,迄今为止人类在空间与时间上获得的自由度是很不相同的.我们可以沿空间各方向自由地运动,却无法随意地驾驭时间.时间就像一条漫漫长河,世间万物仿佛是河里的 ...查看


  • 基于平行机构的简便机器人运动学逆解算法
  • 第18卷第2期 2005年6月纺织高校基础科学学报.18,No.2 VolJun.,2005 BASICSCIENCESJOURNALOFTEXTILEUNIVERSITIES 文章编号:100628341(2005)0220178204 ...查看


  • 工业机器人工作原理及其基本构成
  • 工业机器人工作原理及其基本构成 工业机器人工作原理 现在广泛应用的焊接机器人都属于第一代工业机器人,它的基本工作原理是示教再现.示教也称导引,即由用户导引机器人,一步步按实际任务操作一遍,机器人在导引过程中自动记忆示教的每个动作的位置.姿态 ...查看


热门内容