为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

机器人导论第二章空间描述及变换

2018-12-11 64页 ppt 1MB 23阅读

用户头像 个人认证

王小宝007

暂无简介

举报
机器人导论第二章空间描述及变换第二章空间描述和变换2.1概述2.2描述:位置、姿态与坐标系2.3映射:从坐标系到坐标系的变换2.4算子:平移、旋转和变换2.5总结和说明2.6变换算法2.7变换方程2.8姿态的其他描述方法2.9自由矢量的变换2.10计算分析*2.1概述 机器人操作:通过某种机构使零件和工具在空间中运动。这自然就需要表达零件、工具以及机构本身的位置和姿态。 如何定义和运用表达操作臂位姿的数学量?我们必须定义坐标系并并给出表达规则。 位姿的描述是表达线速度和角速度、力和力矩的基础。 世界坐标系:讨论任何问题都能够参照这个坐标系,定义的位姿都是参...
机器人导论第二章空间描述及变换
第二章空间描述和变换2.1概述2.2描述:位置、姿态与坐标系2.3映射:从坐标系到坐标系的变换2.4算子:平移、旋转和变换2.5总结和说明2.6变换算法2.7变换方程2.8姿态的其他描述方法2.9自由矢量的变换2.10计算分析*2.1概述 机器人操作:通过某种机构使零件和工具在空间中运动。这自然就需要达零件、工具以及机构本身的位置和姿态。 如何定义和运用表达操作臂位姿的数学量?我们必须定义坐标系并并给出表达规则。 位姿的描述是表达线速度和角速度、力和力矩的基础。 世界坐标系:讨论任何问都能够参照这个坐标系,定义的位姿都是参照世界坐标系或者由世界坐标系定义的笛卡尔坐标系。2.2描述:位置、姿态与坐标系描述:用来确定一个操作系统处理的各种对象的特性。这些对象包括零件、工具和操作臂本身。在本节中,我们将讨论位姿的描述以及包含这两个描述的统一体:坐标系。位置描述 一旦建立了坐标系,我们就能用一个3×1位置矢量对世界坐标系中的任何点进行定位。其它坐标系球坐标系柱坐标系向量向相应轴的投影注意:位置矢量必须附加信息,标明是在哪一个坐标系被定义的这个前置的上标A标明此位置矢量是在坐标系{A}中定义的姿态描述 对于一个刚体来说,我们发现不仅经常需要表示它在空间中的位置,还经常需要描述空间中物体的姿态。 为了描述刚体的姿态,我们将在刚体上固定一个坐标系并且给出此坐标系相对于参考系的表达。 以上表明旋转矩阵的逆矩阵等于它的转置矩阵 (1)方向角 α,β,γ称为向量OA的方向角 (2)方向余弦 cosα,cosβ,cosγ称为向量OA的方向余弦 (3)性质坐标系的描述 完整描述图中的操作手位姿所需的信息为位置和姿态 我们可在物体上任选一点描述其位置,为方便起见,将其作为连体坐标系的原点。 在机器人学中,位置和姿态经常成对出现,于是我们将此组合称作坐标系,四个矢量为一组,表示了位置和姿态信息。旋转矩阵原点位置矢量* 坐标系可用三个标有箭头单位矢量定义的坐标系的主轴来描述; 从原点到另一点的箭头表示了一个矢量,这个矢量表示了箭头处的原点相对于箭尾所在坐标系的位置;例如在图中,箭头方向表示{C}相对于{A}的关系而不是{A}相对于{C}的关系。 一个参考系可以用一个坐标系相对于另一坐标系的关系来描述。坐标系的图形表示2.3映射:从坐标系到坐标系的变换在机器人学的许多问题中,需要用不同的参考坐标系来表达同一个量。在上节中介绍了位置、姿态和坐标系的描述方法;现在为了描述从一个坐标系到另一个坐标系的变换,我们讨论映射的数学方法。关于平移坐标系的映射两个坐标系具有相同的姿态{B}不同于{A}的只是平移,可用矢量表示{B}的原点相对于{A}的位置这个例子说明了如何将一个矢量从一个坐标系映射到另一个坐标系。映射的概念,即描述一个坐标系到另一个坐标系的变换。关于旋转坐标系的映射 我们已知矢量相对于某坐标系{B}的定义,怎样求矢量相对另一个坐标系{A}的定义?且这两个坐标系原点重合。 例2.1图中表示坐标系{B}相对于坐标系{A}绕轴旋转30度。这里轴指向为由纸面向外。 在{A}中写出{B}单位矢量,将它们按列组成旋转矩阵,得到:已知:求出:这里,的作用是将相对于坐标系{A}描述的映射到。注意:从映射的角度看,原矢量P在空间并没有改变,我们只不过求出了这个矢量相对于另一个坐标系的新的描述。 这些旋转变换可以通过右图推导关于一般坐标系的映射 问题:我们已知矢量相对某坐标系{B}的描述,想求出它相对于另一个坐标系{A}的描述。 一般的情形: (1)坐标系{B}和坐标系{A}不具有相同的姿态 (2)坐标系{B}和坐标系{A}原点不重合 (1)在坐标系{B}和坐标系{A}之间有一个矢量偏移 (2){B}相对于{A}有旋转,用描述 问题:给出,试着计算 上式的一般映射矩阵可以写为: 齐次变换矩阵,综合表示了平移变换和旋转变换的复合 上式可以写为: P点在{A}和{B}中的位置矢量分别增广为: 而齐次变换公式和变换矩阵变为: 齐次坐标 所谓齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示.有一个特定的投影附加于n维空间,也可以把它看作一个附加于每个矢量的比例系数. 三维直 角坐标 齐次 坐标显然,齐次坐标表达并不是唯一的,随w值的不同而不同.在计算机图学中,w作为通用比例因子,它可取任意正值,但在机器人的运动分析中,总是取w=1. 机器人的坐标变换主要包括平移和旋转变换,平移是矩阵相加运算,旋转则是矩阵相乘,综合起来可以表示为p’=m1*p+m2(m1旋转矩阵,m2为平移矩阵,p为原向量,p’为变换后的向量).引入齐次坐标的目的主要是合并矩阵运算中的乘法和加法,合并后可以表示为p'=M*p的形式.即它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法. 为什么要引进齐次坐标,它有什么优点? 例2.2图2-8表示了一个坐标系{B},它绕坐标系{A}的轴旋转了30度,沿平移10个单位,再沿平移5个单位。已知,求。图2-8经平移和旋转的坐标系{B} 坐标系{B}的定义为:按照{B}的定义和已知条件进行变换:已知:2.4算子:平移、旋转和变换算子:用于坐标系间点的映射的通用数学表达式,包括点的平移算子、矢量旋转算子和平移加旋转算子。平移算子空间点的平移与此点向另一个坐标系的映射具有相同的数学描述。当一个矢量相对于一个坐标系“向前移动”时,既可以认为是矢量“向前移动”,也可以认为坐标系“向后移动”,二者的数学表达式是相同的,只不过是观察位置不同。如图2-9表示矢量怎样通过矢量进行平移。这里,矢量给出了进行平移的信息。运算结果是得到一个新的矢量用矩阵算子写出平移变换,有:算子Dq可被看成是一个特殊形式的齐次变换:*旋转算子旋转矩阵还可以用旋转变换算子来定义,它将一个矢量用旋转R变换成一个新的矢量。通常,当一个旋转矩阵作为算子时,就无需写出下标或上标,因为它不涉及两个坐标系。因此可写为:矢量经某一旋转R得到的旋转矩阵与一个坐标系相对于参考坐标系经某一旋转R得到的旋转矩阵是相同的。尽管将旋转矩阵看作为一个算子是很简单的,但是我们将用另一个符号定义旋转算子以明确地说明是绕哪个轴旋转的:例2.3图2-10给出一个矢量。计算绕轴旋转30度得到的新矢量。将矢量绕轴旋转30度得到的旋转矩阵与一个坐标系相对于参考坐标系轴旋转30度得到的旋转矩阵是相同的。因此,正确的旋转算子是已知求得为变换算子与矢量和旋转矩阵一样,坐标系还可以用变换算子来定义。在这个定义中,只涉及到一个坐标系,所以符号T没有上下标。算子T将一个矢量平移并旋转得到一个新的矢量:经旋转R和平移Q的齐次变换矩阵与一个坐标系相对于参考坐标系经旋转R和平移Q的齐次变换矩阵是相同的。一个变换通常被认为是由一个广义旋转矩阵和位置矢量分量组成的齐次变换的形式。例2.4图2-11给出一个矢量。将其绕轴旋转30度并沿轴平移10个单位,沿轴平移5个单位,已知,求。进行平移和旋转的算子T为:已知将T看做算子:2.5总结和说明首先介绍了平移的概念,然后介绍了旋转的概念,最后介绍了旋转和平移的一般情况。介绍了一个包括姿态和位置信息的4x4齐次变换矩阵,作为表示坐标系的一般工具。给出了齐次变换矩阵的三个定义:(1)它是坐标系的描述。表示相对于坐标系{A}的坐标系{B}。特别是,的各列是坐标系{B}主轴方向上的单位矢量,确定了{B}的原点。(2)它是变换映射。是映射。(3)它是变换算子。将变换为。由此可见,坐标系和变换都可用位置矢量加上姿态来描述。一般来说坐标系主要是用于描述,而变换常用来表示映射或算子。变换是平移和旋转的组合;但有时在纯旋转(或纯平移)情况下也常用变换这个术语。2.6变换算法本节介绍变换的乘法和变换的逆运算。这两个基本运算组成了一套功能完备的变换算子。 混合变换(乘法变换) 已知,求已知坐标系{C}相对于坐标系{B},并且已知坐标系{B}相对于坐标系{A}。 即,我们知道 答案: 步骤(1)将变换成: 步骤(2)将变换成: 步骤(3)联立步骤(1)、(2),消去中间项,得到 给定已知的{B}和{C}的描述: 可以得到从{C}到{A}的齐次变换矩阵:逆变换 已知坐标系{B}相对于坐标系{A}的描述,即已知 怎样求{A}相对于{B}的描述? 一个可能的方法:直接对矩阵求逆 另一种方法:利用变换的性质求逆,即利用矩阵的特殊结构 步骤1)由计算出 步骤2)由计算出 上式的左边是坐标系{B}的原点在{B}中的描述,所以左边=0 步骤3)综上,计算的方法如下: 上式是求齐次逆变换的一般且非常有用的方法 注意,使用符号一般,若则例2.5图2-13表示坐标系{B}绕坐标系{A}的轴旋转30度,沿轴平移4个单位,沿轴平移3单位,于是得到,求。定义坐标系{B}:计算得到:2.7变换方程图2-14表示坐标系{D}可以用两种不同的方式表达成变换相乘的形式。第一个第二个将两个表达式构造成一个变换方程如有n个未知变换和n个变换方程,这个变换可由变换方程解出。设式(2-50)中的所有变换除了外均已知。这里,有一个变换方程和一个未知变换,很容易解出:在图2-15中,{C}的两个可能的描述为:还可用式(2-52)和式(2-53)解出例2.6假定已知图2-16中变换描述了操作臂指端的坐标系{T},它是相对于操作臂基座的坐标系{B}的,又已知工作台相对于操作臂基座的空间位置(因为已知与工作台相连的坐标系{S}是),并且已知工作台上螺旋的坐标系相对于工作台坐标系的位置,即。计算螺旋相对操作手的位姿。由公式推导(按照和我们的理解)得到相对于操作手坐标系的螺旋坐标系为:2.8姿态的其他描述方法33旋转矩阵是一种特殊的各列相互正交的单位矩阵。旋转矩阵也可被称为标准正交矩阵,“标准”是指其行列式的值为+1.能否用少于九个数字来表示一个姿态。线性代数的结论告诉我们,对于任何正交矩阵R,存在一个反对称矩阵S,满足任何33旋转矩阵可用三个参量确定。显然,旋转矩阵的九个分量线性相关。实际上,对于一个旋转矩阵R很容易写出六个线性无关的分量。如上所述,假定R为三列:这三个矢量是参考坐标系中某坐标系的单位轴。每个矢量都是单位矢量,且相互垂直,所以9个矩阵元素有6个约束:自然要问是否能找到这样一种姿态表示法,用三个参量就能简单进行表述。本节将给出几个姿态表示法。沿着三个垂直的轴的平移运动比较直观,而旋转似乎不太直观。例2.7考虑两个旋转,一个绕轴转30度,而另一个绕轴转30度:旋转矩阵一般不是互逆的,即与不同。因为旋转既可被看作算子又可被看作是对姿态的描述,因此毋庸置疑对于不同的用途就有不同的表示法。旋转矩阵可作为算子,、当乘以矢量时,旋转矩阵就起到旋转运算的作用。但是,用旋转矩阵来确定姿态有些不便。一个计算机终端操作员在输入一个机械手的期望姿态时,需要烦琐地输入一个九个元素的正交矩阵。而一种只需三个数的表示法就显得简便些。12种欧拉角坐标系:X-Y-ZX-Z-YY-X-ZY-Z-XZ-X-YZ-Y-XX-Y-XX-Z-XY-X-YY-Z-YZ-X-ZZ-Y-Z12种固定角坐标系:X-Y-ZX-Z-YY-X-ZY-Z-XZ-X-YZ-Y-XX-Y-XX-Z-XY-X-YY-Z-YZ-X-ZZ-Y-ZX-Y-Z固定角坐标系描述坐标系{B}姿态的一种方法:首先将坐标系{B}和一个参考坐标系{A}重合。先将{B}绕旋转角,再绕旋转角,最后绕转角。每个旋转都是绕着固定参考坐标系{A}的轴。我们规定这种姿态的表示法为X-Y-Z固定角坐标系。“固定”一词是指旋转是在固定(即不运动的)参考坐标系中确定的。有时把它们定义为回转角、俯仰角和偏转角。Atan2(y,x)计算tan-1(y/x)时,可根据x和y的符号可判别求得的角所在的象限。例如,atan2(-2,-2)=-135,而Atan2(2,2)=45,一个反正切函数的解可能被丢失。我们经常在360的范围内计算角度,因此一般应用atan2函数。注意,当两个解都是0时,atan2成为不定的。有时称它为“4象限反正切”,一些编程语言库中对其作了预定义。Z-Y-X欧拉角坐标系{B}的另一种表示法如下:首先将坐标系{B}和一个已知参考坐标系{A}重合。先将{B}绕旋转角,再绕旋转角,最后绕旋转角。在这种表示法中,每次都是绕运动坐标系{B}的各轴旋转而不是绕固定坐标系{A}的各轴旋转。这样三个一组的旋转被称为欧拉角。注意每次旋转所绕的轴的方位取决于上次的旋转。由于三个旋转分别是绕着Z,Y和X,所以称这种表示法为Z-Y-X欧拉角。*Z-Y-Z欧拉角坐标系{B}的另一种表示法为:首先将坐标系{B}和一个已知参考坐标系{A}重合。先将{B}绕旋转角,再绕旋转角,最后绕旋转角。相对于运动坐标系{B}的旋转描述是一个欧拉角描述。因为三个旋转是依次绕Z,Y和Z,所以称为此描述为Z-Y-Z欧拉角。按上一节的推导,可得到等效矩阵从等效矩阵得出Z-Y-Z欧拉角介绍如下:已知其他角坐标系的表示法已经介绍了三种表示姿态的惯用方法:X-Y-Z固定角、Z-Y-X欧拉角和Z-Y-Z欧拉角。每个表示法均需要按一定顺序进行三次绕主轴的旋转。这些表示法是24种表示法中的典型方法,且都被称作角坐标系表示法。其中,12种为固定角坐标系,另12种为欧拉角坐标系。注意到由于二者的对偶性,对于绕主轴连续旋转的旋转矩阵实际上只有12种唯一的参数表示法。等效轴角坐标系表示法符号表示绕一个给定轴旋转30度的方位。这是一个等效轴角坐标系表示法的例子。如果轴的方向是一般方向,任何方位都可通过选择适当的轴和角度来得到。坐标系{B}的表述如下:首先将坐标系{B}和一个已知参考坐标系{A}重合将{B}绕矢量按右手定则旋转角。从一个给定的旋转矩阵求出和,这个逆问题大部分留在习题中,单在此给出一部分结果。如果那么例2.8坐标系{B}最初与坐标系{A}重合。我们使坐标系{B}绕矢量旋转,转角,求坐标系{B}的描述。到此为止,我们讨论过的所有旋转都是绕经过参考系原点的轴进行。如果我们遇到的问题不属于这种情况时,我们可以定义另外一个坐标系,该坐标系的原点在轴上,为此将这类问题简化为“经过原点的轴”的情况来解决,然后再求解这个变换方程。例2.9坐标系{B}最初与坐标系{A}重合。我们使坐标系{B}绕矢量旋转,转角,求坐标系{B}的描述。最后,我们可以用一个变换方程来计算要求的坐标系从而求得绕一个不通过原点的轴旋转会引起位置变化,附加上这个位置变化使得最终的姿态好像旋转轴已通过原点。注意,无论以何种方式定义的坐标系{A’}和{B’},它们的、原点必须选在旋转轴上。旋转轴方向的选择是任意的,而坐标系原点可以选在旋转轴的任意位置上。欧拉参数另外一种姿态表示法是通过四个数值来表示的,称为欧拉参数。根据等效旋转轴K和等效旋转角得到欧拉参数如下:2.9自由矢量的变换在力学中,矢量的相等和等效是有显著的区别的。如果两个矢量具有相同的维数、大小和方向时,这两个矢量就相等。如果两个矢量在某一功能上产生了相同的作用效果,那么这两个矢量对这一特定功能来说就是等效的。我们将定义两种很有用的基本矢量类型。线矢量是指与作用线有关的矢量,其作用效果取决于矢量的大小和方向。通常情况下,力矢量的作用效果取决于力的作用线,所以力矢量可以看做是线矢量。自由矢量是指可能出现在空间任意位置的矢量,但它的性质没有改变,例如假定它的大小和方向保持不变。例如,一纯力矩矢量就是一个自由矢量。如果已知在坐标系{B}中有一个力矩矢量BN,那么在坐标系{A}中计算这个力矩矢量,得同样的,在坐标系{B}中的速度矢量BV,在坐标系{A}中表示为2.10计算分析齐次变换方法对概念分析是很有用的,但是在工业操作臂系统中常用的变换软件并不直接应用这种方法,因为大量时间会耗费在0和1的乘法运算上。通常,我们按照式(2-41)和式(2-45)进行计算,而不是直接进行乘法或对44的矩阵进行求逆运算。当对相同的量进行计算时,变换顺序的不同将会到导致计算量的很大差别。对于矢量的复合旋转一种方法是首先将这三个旋转矩阵相乘,得到ADR,表示为另一种方法是逐个通过矩阵计算进行矢量变换,即习题2.22.42.172.182.272.282.292.302.312.322.332.34****
/
本文档为【机器人导论第二章空间描述及变换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索