三维空间位姿描述课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《三维空间位姿描述课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三维空间 描述 课件
- 资源描述:
-
1、机器人学、机器视觉与控制(2)三维空间位姿描述内容:三维空间姿态描述正交旋转矩阵三角度数表示法奇异点及万向节锁双向量表示法 绕任意向量旋转单位四元数平移与旋转组合三维空间位姿描述三维情况实际上是前一节讨论的二维情况的延伸。我们在二维坐标系上增加一个额外的坐标轴,通常用z表示,它同时与x轴和y轴正交。Z轴的方向服从右手规则,并构成右手坐标系。欧拉旋转定理:任何两个独立的正交坐标系都可以通过一系列(不超过3次)相对于坐标轴的旋转联系起来,但其中两次旋转不能绕同一条轴线。需要注意的是,在绕坐标轴连续旋转的情况下要注意旋转的顺序,旋转角度相同而顺序不同可能得到完全不一样的结果。下图是两种不同顺序的旋转
2、,得到的结果完全不同。注意:1.我们可以用右手的三根指头简单便捷地表示空间坐标系,具体方向如右图。2.这些旋转都要遵循右手准则,即按照右图所示旋转才是正方向。在上节课中,我们介绍了姿势和姿势的概念,即一种描述一个坐标系与另一个坐标系的平移和定向的方法。我们使用的符号是,我们使用下标字母B表明我们谈论坐标系的姿态B相对于坐标系A.所以我们读这个符号为B对A,由此扩展到三维空间如下:三维空间向量变换的表示方法三维空间的姿态变换的相关性质如下,这些性质跟二维空间的情形差不多对于多重的相对坐标转换同样可以按照相应的规则表示,下图展示的是一个等效的变换,即红线和蓝线都表示从O到B的变换。正如在二维情况下
3、一样,我们可以用相对于参考坐标系的坐标轴单位向量表示它们所在坐标系的方向。每一个单位向量有3个元素,它们组成了33阶正交矩阵:正交旋转矩阵上式将一个相对于坐标系B的向量旋转为相对于坐标系A的向量。分别绕x,y,z轴旋转角后的标准正交矩阵可表示为:我们对这个公式的来源以及性质做一些说明:我们从上一讲得到的2D坐标变换出发,将2维空间扩展到三维空间之中,相应可以得到一个新的33坐标变换矩阵,它的三个列向量分别表示新的x,y,z坐标变换。要得到最终的三维坐标变换公式,关键是求出B相对于A的变换矩阵。从二维空间坐标变换我们已经知道:变换矩阵是一个属于SO(2)的特殊正交群。现在对于三维空间而言它就是属
4、于SO(3)的特殊正交群,旋转矩阵的相关性质如下:根据上面的性质结合二维坐标中的情况,我们可以得到三维坐标旋转变换矩阵的表达式如下:可以看出:这些旋转矩阵每一列都是单位长度的向量,每一列都与其他一列正交。对于绕z轴的旋转,情况特殊,因为我们可以直接将其看成二维空间绕着垂直于纸面向外(也就是垂直屏幕向外)的旋转得到,所以二维旋转和绕Z轴的三维旋转是等价的,即上面坐标变换中关于z轴的旋转与二维空间旋转变换R是等价的。MATLAB工具箱也提供了一些函数用来计算这些基本旋转矩阵。比如绕X轴旋转90度可以调用rotx()函数,调用后直接得到旋转矩阵:R=rotx(pi/2)R=1.0000 0 0 0
5、0.0000 -1.0000 0 1.0000 0.0000说明:在正交旋转矩阵中,从左到右的列向量代表了旋转后的各个轴相对于当前坐标系的方向。上面的例子中,新的坐标系的x轴仍在以前x轴方向(1,0,0),而新的y轴在以前z轴方向,即(0,0,1),而新的z轴在以前y轴反方向(0,-1,0)。X轴没有变的原因在于该旋转是绕x轴发生的。行向量相反,它们代表了当前坐标系的各个轴在新坐标系中的方向。为了说明旋转的复合,我们接着上面的结果再继续绕着y轴旋转90度:R=rotx(pi/2)*roty(pi/2)R=0.0000 0 1.0000 1.0000 0.0000 -0.0000 -0.0000
6、 1.0000 0.0000用trplot(R)命令作出两次旋转的图形,左边是绕着x轴旋转90度的图形,右边是在此基础上继续绕着y轴旋转90度的图形注意:旋转的次序很重要,即使同样的旋转,如果次序不对得到的结果就完全不一样。我们之前讲欧拉旋转定理时通过三维旋转直观地看到了这种差别。而现在我们通过矩阵变换重新演示上面的例子即如果改成先绕y轴旋转再绕x轴旋转将会得到如下结果:R=roty(pi/2)*rotx(pi/2)R=0.0000 1.0000 0.0000 0 0.0000 -1.0000 -1.0000 0.0000 0.0000对比先绕x再绕y的旋转顺序所得到的结果不一样,从矩阵变换的
7、角度也说明了空间中旋转顺序的不可交换性。说明:正交矩阵有9个元素,但它们不是独立的。每一列都是单位长度,这提供了3个约束。列向量之间相互正交,又提供了另外3个约束。9个元素加上6个约束,实际上只有3个独立的值。因此,回忆一下欧拉旋转定理,它指出任何旋转都可以用不超过3次绕坐标轴的旋转表示。这意味着我们可以将任意地旋转分解为一组绕三个坐标轴转动的角度,我们将在下面讨论。三角度数表示法:旋转定理要求绕3个轴依次旋转,但不能绕同一轴线连续旋转两次。旋转顺序分为两种:欧拉式和卡尔丹式。欧拉式:绕一个特定的轴重复旋转,但不是连续的:XYX XZY YXY YZY ZXZ或ZYZ。卡尔丹式的特点是绕3个不
8、同的轴旋转:XYZ XZY YZX YXZ ZXY或ZYX。这些序列统称为欧拉角,共有12种形式。ZYZ序列的欧拉角表示为:欧拉角是一个三维向量,表示为:如果想计算T=(0.1,0.2,0.3)的等价旋转矩阵,可以在MATLAB中用函数这样实现:R=rotz(0.1)*roty(0.2)*rotz(0.3)R=0.9021 -0.3836 0.1977 0.3875 0.9216 0.0198 -0.1898 0.0587 0.9801或者用eul2r函数写成更简单的形式:R=eul2r(0.1,0.2,0.3)R=0.9021 -0.3836 0.1977 0.3875 0.9216 0.0
展开阅读全文