好文档 - 专业文书写作范文服务资料分享网站

机器人学第二章(数学基础)

天下 分享 时间: 加入收藏 我要投稿 点赞

第二章 数学基础

2.1 引言

机器人操作手的研究涉及物体之间以及物体与操作手之间的关系。在这一章中,我们将研究描述这些关系所需的表示方法。在同样必须描述物体之间关系的计算机制图学领域中,已经解决了类似的表示方法问题。在该领域以及计算机视觉方面使用了齐次变换。这些变换以前Denavit用来描述连杆机构。而现在我们用这些变换来描述操作手。

我们将首先建立向量和平面的符号,再在这些符号基础上引入变换。这些变换主要由移动和转动所组成。接着将表明,这些变换也可以作为表示包括操作手在内的物体的坐标架。然后将引入逆变换。后一节叙述绕任一向量旋转的一般旋转变换。再介绍一种算法,以用来找出用任何已知变换表示的等效旋转轴和等效旋转角。伸张和缩放变换的一小节,连同透视变换一节也包含在本章中。这一章用一节关于变换方程的内容来作为结尾。

2.2 符号

在描述物体间关系时,我们将利用点向量、平面和坐标架。点向量用小写黑体印刷符号表示,平面用手写体印刷符号表示,坐标架则用大写黑体印刷符号表示。例如:

向量 v, xl, x

平面 ?,????

坐标架 I, A, CONV

我们将把点向量、平面和坐标架作为具有关联数值的变量使用。例如,一个点向量就具有三个笛卡尔坐标分量。

如果希望相对于坐标架E来描述空间一个称为p的点我们将用一个称为v的向量,并将这一向量写成

EV

前置的上标表示所定义的坐标架。

我们也可以利用向量w相对于例如H这样的不同坐标架,来描述相同的点p为

HW

v和w是两个很可能具有不同分量的向量,虽然两个向量描述相同的点p,但v?w。也可

能存在这种情况,用一个向量a来描述在任一坐标架上面3英寸地方的一个点

F1a

F2a

在这一情况中,向量是完全相同的,但是描述了不同的点,通常文中定义的坐标架是明显的,这时上标就不用。在许多情况中,向量的名称将与被描述的物体的名称相同,例如,销的末端可以用相对于坐标架BASE的向量tip来描述

BASEtip

如果文中相对于BASE描述向量是明显的,则我们可以简单地写为

tip

如果还希望相对于另一坐标架HAND来描述这一点,则我们必须用另一向量来描述这一关系,例如

HANDtv

tv和tip两者描述相同的物件,但有着不同的值。为了涉及到坐标架、向量或平面的

HANDtv有分量HANDtvx,HANDtvy,每一分量,我们添加下标来表示特定分量。例如,矢量

HANDHANDtvz。

2.3 向量

在n维空间中物体的齐次坐标表达式是一个(n+1)维空间实体,这样一个特定的透视

投影即重新建立了该n维空间。这也可以被视为对每个向量加上一个外加坐标(比例因子)。这样,如果包括比例因子的每个分量乘以一常数,向量含义不变。

一个点向量

v?ai?bj?ck (2-1)

式中i,j和k分别是沿x,y 和z 坐标轴的单位向量。在齐次坐标中用一列矩阵来表示点向量

?x??y?v??? (2-2)

?z????w?式中

a?xwb?yw (2-3) c?zw于是能够把向量3i?4j?5k写成?3451?T,或者?68102?,或者再写成为

T??30?a?40?50?10?等等。上标T指明行向量转置为列向量。在原点处的向量(零向量)

000?是非限定向量。形式为

TT被写成?000n?T,式中n是任意非零比例因子,?0Tbc0?的向量表示无限大向量,并被用来表示方向:加上其它任一有限向量,都不

会改变它的大小。

我们也将使用向量的点乘和叉乘,给出二个向量

a?axi?ayj?azk (2-4)

b?bxi?byj?bzk我们规定向量点乘用“?”表示为

a?b?axbx?ayby?azbz (2-5)

二向量的点乘是一个标量。用“?”标明的叉乘,是垂直于两相乘向量所形成平面的另一向量,用下式表示

a?b?(aybz?azby)i?(azbx?axbz)j?(axby?aybx)k (2-6)

这一定义作为行列式展开更易于记忆

?ia?b???ax?bx?jaybyk??az? (2-7) bz??2.4 平面

一个平面可以用一个行矩阵来表示

?????????????????????????????????????

??a,b,c,d? (2-8)??

V这样,如果点v位于?平面中,矩阵乘积

?0 (2-9)

或展开为

xa?yb?zc??d?0 (2-10)

如果我们定义一常数 将方程2-10除以?m得

m??a2?b2?c2 (2-11)

xaybzcd???? (2-12) ?m?m?mm方程2-12左边是(x/?)i?(y/?)j?(z/?)k和(a/m)i?(b/m)j?(c/m)k两向量的点乘,表示点(x/?)i?(y/?)j?(z/?)k沿向量(a/m)i?(b/m)j?(c/m)k的指向的距离。向量(x/?)i?(y/?)j?(z/?)k可被理解为是在法线方向上离原点距离为?dm的平面的一条外指法线。于是平行于x,y平面,沿z一个单位的平面可表示为

P?[0,0,1,?1] (2-13) 或 P?[0,0,2,?2] (2-14) 或 P?[0,0,?100,100] (2-15)

点v??10,20,1,1?将落在这一平面中

?10??20???0 (2-16) ?0,0,?100,100???1????1?或

??5???10???0 (2-17) ?0,0,1,?1????0.5?????0.5?点v?0,?0,2,1?位于平面上面

?0??0???2 (2-18) ?0,0,2,?2???2????1?v实际是正数,表明点在平面之外,而在外指法线方向上。点v??0,0,0,1?位于平

面之下

?0??0????1 (2-19) ?0,0,1,?1???0????1?平面0,?0,0,0?是非限定的。

2.5 变换

空间变换H是一个4?4矩阵,能够用来表示移动,转动。伸展和透视变换。给出一点u,它的变换v矩阵乘积表示为

v?Hu (2-20) 从?到???的相应平面变换为

这是因为我们要求条件

=H-1 (2-21)

v?H-1H为单位矩阵I,故得

u (2-22)

在所有变换中不变。为了证实这一点,我们将公式2.20和2.21代入公式2.22的左边。由于

H-1Hu=u (2-23)

2.6 移动变换

相应于用向量ai?bj?ck表示的移动变换H是

?100a??010b?? (2-24) H?Trans(a,b,c)???001c????0001?T给出向量u?(x,y,z,?),则得变换后的向量v为

?100a??x??010b??y???? (2-25) v???001c??z?????0001?????

?x?a???x??a??y?b???y??b????? (2-26) v???z?c???z??c?????????1?移动也可以解释为两个向量(x?)i?(y?)j?(z?)k与ai?bj?ck之和。

如同点和平面一样,变换矩阵的每个元素,可乘以一非零常数而变换不变。现考虑将矢量2i?3j?2k移动,或是与4i?3j?7k相加

?6??1?0??0?????9??0????1??04??2??3?10?3???? (2-27)

017??2????001??1?00如果把变换矩阵元素乘以?5,而将向量元素乘以2,我们得到

?-60???500?20??4??0??0?5015??6???????? (2-28) ?-90??00?5?35??4???????-10000?5?????2?这和上述向量?6,0,9,1?一致。点?2,3,2,1?落在平面?1,0,0,?2?中

?2??3???0 (2-29) ?1,0,0,?2???2????1?TT正如我们已得到的一样,变换点是?6,换是

0,9,1?。现在我们来计算变换后的平面。逆变

00?4?103?? 01?7??001?00?4?103?? (2-30) 01?7??001?T?1?0??0??0而变换后的平面是

?1?0?100?6???100?2???0??0变换后的点再次落在变换后的平面中

?6??0???0 (2-31) ?100?6???9????1?

机器人学第二章(数学基础)

第二章数学基础2.1引言机器人操作手的研究涉及物体之间以及物体与操作手之间的关系。在这一章中,我们将研究描述这些关系所需的表示方法。在同样必须描述物体之间关系的计算机制图学领域中,已经解决了类似的表示方法问题。在该领域以及计算机视觉方面使用了齐次变换。这些变换以前Denavit用来描述连杆机构。而现在我们用这些变换来描述操
推荐度:
点击下载文档文档为doc格式
2dzjx883us7916095eiv3gyk618jsm0080o
领取福利

微信扫码领取福利

微信扫码分享