资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 齐次坐标变换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.2 点向量和平面的描述(Notation of point vectors and planes),2.2.1 点向量(Point vectors) 点向量描述空间的一个点在某个坐标系的空间位置。同一个点在不同坐标系的描述及位置向量的值也不同。如图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 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 = 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的点乘为一个正数,即 p v = 1 平面p下方任一点v,如 v = 0 0 0 1 T,它与平面p的点乘为一个负数,即 p v = -1 注意:平面 0 0 0 0 无定义。,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 的平面行向量。 经变换后的平面向量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 = 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 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 是 yz 平面沿 x 正方向移动6个单位形成的平面,点v = 6 0 9 1T 是平面 q上一个点,平面 q 与点 v 的点乘也应是零,即 q v 0,说明变换前后的结果不变,证明 H 变换是正确的。,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.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 ( y, 90) v Rot ( y, 90) Rot ( z, 90) u 用两个变换矩阵 Rot ( y, 90) 、 Rot ( z, 90) 和起始 点u代入上式计算的结果与前面分两次计算的结果相同。,为此,先将点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 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,2.6 坐标系 (Coordinate frames),齐次变换矩阵H由四个列向量组成,它的前三个列向量称为方向向量,由式 (2.12)到式(2.14)的旋转变换(分别绕 x、y、z 轴旋转角)确定,第四个列向 量称为平移向量,它的平移分量(沿 x、y、z 轴的平移量)由式(2.10)第四列的前 三个元素确定。如 0 0 1 4 1 0 0 -3 HTrans ( 4, -3, 7 ) Rot ( y, 90) Rot ( z, 90) = 0 1 0 7 (2.15) 0 0 0 1 坐标系的原点,即零向量 0 0 0 1 T 的 H 变换是 4 -3 7 1 T,相当于将原点按平移 向量的各个分量
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号