齐次坐标变换讲解

上传人:我** 文档编号:116750465 上传时间:2019-11-17 格式:PPT 页数:34 大小:281KB
返回 下载 相关 举报
齐次坐标变换讲解_第1页
第1页 / 共34页
齐次坐标变换讲解_第2页
第2页 / 共34页
齐次坐标变换讲解_第3页
第3页 / 共34页
齐次坐标变换讲解_第4页
第4页 / 共34页
齐次坐标变换讲解_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《齐次坐标变换讲解》由会员分享,可在线阅读,更多相关《齐次坐标变换讲解(34页珍藏版)》请在金锄头文库上搜索。

1、第二章 齐次坐标变换 Chapter Homogeneous Transformation 2.1 引言 2.2 点向量和平面的描述 2.3 变换 2.4 平移变换 2.5 旋转变换 2.6 坐标系 2.7 相对变换 2.8 物体的描述 2.9 逆变换 2.10 一般性旋转变换 2.11 等价旋转角与旋转轴 2.12 扩展与缩小 2.13 透视变换 2.14 变换方程 2.15 小结 2.1 引言 (Introduction) 机器人操作涉及到各物体之间的关系和各物体与机械手之间的 关系。这一章将给出描述这些关系必须的表达方法。类似这种表示 方法在计算机图形学中已经解决。在计算机图形学和计算机

2、视觉中 ,物体之间的关系是用齐次坐标变换来描述的。在本课程我们将采 用齐次坐标变换来描述机械手各关节坐标之间、各物体之间以及各 物体与机械手之间的关系。 本章首先介绍向量和平面的表示方法,然后引出向量和平面的 坐标变换,这些变换基本上是由平移和旋转组成,因此可以用坐标 系来描述各种物体和机械手的空间位置和姿态。稍后还要介绍逆变 换,逆变换是运动学求解的基础。 a 0 v z y x z y x p c b 0 u E H 图2.1 点向量的描述 2.2 点向量和平面的描述(Notation of point vectors and planes) 2.2.1 点向量(Point vectors

3、) 点向量描述空间的一个点在某个坐标系的空间位 置。同一个点在不同坐标系的描述及位置向量的值也 不同。如图2.1中,点p在E坐标系上表示为 Ev,在H坐 标系上表示为 Hu,且v u。一个点向量可表示为 v = ai + bj + ck 通常用一个(n + 1)维列矩阵表示,即除 x、y、 z 三个方向上的分量外,再加一个比例因子 w ,即 v = x y z w T 其中 a = x/w, b = y/w, c = z/w。 改变比例因子 w,则分量 a、b、c 的数值相应改变,但描述的还是同一个点向量。如 v = 3i + 4j + 5k 可表示为 v = 3 4 5 1 T = 6 8

4、10 2 T = -3 -4 -5 -1T 在向量中增加一个比例因子 w 是为了方便坐标变换中的矩阵运算。 已知两个向量 a = ax i + ay j + az k b = bx i + by j + bz k (2.1) 向量的点积是标量。用“ ”来定义向量点积,即 a b = ax bx + ay by + az bz (2.2 ) 向量的叉积是一个垂直于由叉积的两个向量构成的平面的向量。用 “”表示叉积,即 a b = ( ay bz az by ) i + ( az bx ax bz ) j + ( ax by ay by ) k ( 2.3) 可用行列式表示为 i j k a b

5、= ax ay az (2.4) bx by bz 2.2.2 平面(Planes) 平面可用一个行矩阵表示,即 p = a b c d (2.5) 它表示了平面p的法线方向,且距坐标原点的 距离为d / m,其中 m = (2.6) 如图2.2所示,如果将 xy 平面沿z 轴正 方向平移一个单位距离,构成平面 p,则 p = 0 0 1 -1 即 a = 0, b = 0, c = 1, d = -1, m = = 1 平面p上任一点v为 v = x y 1 1 T,它与平面p的点乘为零,即 p v = 0 平面p上方任一点v,如 v = 0 0 2 1 T,它与平面p的点乘为一个正数,即

6、p v = 1 平面p下方任一点v,如 v = 0 0 0 1 T,它与平面p的点乘为一个负数,即 p v = -1 注意:平面 0 0 0 0 无定义。 a2 + b2 + c2 a2 + b2 + c2 图2.2 平面的描述 0 v p z y x 1 y x H空间的变换是由44矩阵来完成的,它可以表示平移、旋转、扩展和透视 等各种变换。如已知点u(在平面p上),它的变换v(在平面q上)用矩阵积表示为 v = H u (2.7) 其中H为44 变换矩阵,u和v为41的点列向量,相应的平面p到q的变换是 q = p H-1 (2.8) 其中H-1为H的逆阵,p和q为14 的平面行向量。 经

7、变换后的平面向量q与点向量v的点乘为 q v = p H-1 H u p u ( 2.9) 与变换前平面p与点u的点乘相等,证明了变换的等效性。 2.3 变换(Transformation) 2.4 平移变换(Translation transformation) 用向量 h a i + b j + c k 进行平移,其相应的H变换矩阵是 1 0 0 a 0 1 0 b H = Trans ( a b c ) = 0 0 1 c (2.10) 0 0 0 1 因此对向量 u = x y z w T,经H变换为向量v可表示为 x + aw x / w + a y + bw y / w + b v

8、 = z + cw = z / w + c (2.11) w 1 可见,平移实际上是对已知向量 u = x y z w T 与平移向量 h = a b c 1 T 相加。 【例2.1】对点向量 u = 2 3 2 1 T 进行平移,平移向量为 h = 4 -3 7 1 T,则平 移后的向量为 v = 6 0 9 1 T,或 1 0 0 4 2 6 0 1 0 3 3 0 v = H u = 0 0 1 7 2 = 9 0 0 0 1 1 1 点向量的平移过程如图2.3所示。 对平面的平移则用 H1 进行变换,如对平面 p = 1 0 0 -2 进行 H 变换为平面q,则根据变 换原理有 1 0

9、 0 -4 0 1 0 3 q p H1 1 0 0 -2 0 0 1 -7 0 0 0 1 1 0 0 -6 平面 p 1 0 0 -2 是 yz 平面沿 x 正方向移动2个单位形成的平面(图2.3),点u = 2 3 2 1 T 是平面 p上的一个点,它们的点乘 p u = 0。经 H 变换后的平面 q 1 0 0 -6 是 y z 平面沿 x 正方向移动6个单位形成的平面,点v = 6 0 9 1T 是平面 q上一个点,平面 q 与 点 v 的点乘也应是零,即 q v 0,说明变换前后的结果不变,证明 H 变换是正确的。 u 0 z y x 3 P 2 2 图2.3 点向量的平移 v 6

10、 9 q p 2.5 旋转变换(Rotation transformation) 如图2.4所示,绕 x, y, z 轴旋转一个角 的相应变换是 1 0 0 0 0 cos - sin 0 Rot ( x, ) = 0 sin cos 0 (2.12) 0 0 0 1 cos 0 sin 0 0 1 0 0 Rot ( y, ) = - sin 0 cos 0 (2.13) 0 0 0 1 cos - sin 0 0 sin cos 0 0 Rot ( z, ) = 0 0 1 0 (2.14) 0 0 0 1 注意:角旋转的正方向遵 循右手螺旋法则(如图2.4 所示) 图2.4 旋转变换 0

11、 z y x 【例2.2】点 u = 7i + 3j + 2k,它绕z轴旋转90为v, 经式(2.14)变换得到( sin=1,cos=0) 0 -1 0 0 7 -3 1 0 0 0 3 7 v = Rot ( z, 90) = 0 0 1 0 2 2 0 0 0 1 1 1 起始点u和终点v如图2.5所示。如将v点再绕y轴 旋转90得到w。用式(2.13)变换得到 0 0 1 0 -3 2 0 1 0 0 7 7 w = Rot ( y, 90) = -1 0 0 0 2 3 0 0 0 1 1 1 结果如图2.6所示。如果将上述两次旋转结合起来, 写成一个表达式得到 w = Rot (

12、y, 90) v Rot ( y, 90) Rot ( z, 90) u 用两个变换矩阵 Rot ( y, 90) 、 Rot ( z, 90) 和起始 点u代入上式计算的结果与前面分两次计算的结果相同。 2 u z y x v 0 图2.5 Rot ( z, 90) y u v 0 z x w 图2.6 Rot ( y, 90) Rot ( z, 90) 2 7 为此,先将点u绕z轴旋转90,然后再绕y轴旋转90,我们得到 0 0 1 0 0 -1 0 0 7 2 0 1 0 0 1 0 0 0 3 7 w Rot ( y, 90) Rot ( z, 90) u = -1 0 0 0 0 0

13、 1 0 2 3 0 0 0 1 0 0 0 1 1 1 如果按着逆序旋转,首先绕y轴旋转90,然后再绕z轴旋转90,其结果为 0 -1 0 0 0 0 1 0 7 -3 1 0 0 0 0 1 0 0 3 2 w = Rot ( z, 90) Rot ( y, 90) u = 0 1 0 0 -1 0 0 0 2 = -7 0 0 0 1 0 0 0 1 1 1 逆序旋转的结果如图2.7所示。显然,变换的顺序不同,其结果也不同 。这从 矩阵相乘是不可交换的(ABBA)也可以得到证明。 如对经过两次旋转变换得到的点向量w再进行一次平移(平移向量为 h 4 -3 7 1T ), 则可得到如图2.8所示的点向量n。变换过程如下 1 0 0 4 2 6 0 1 0 -3 7 4 n = Trans (4, 3, 7) w = 0 0 1 7 3 = 10 0 0 0 1 1 1 z

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号