《机器人运动学(精品教程)》由会员分享,可在线阅读,更多相关《机器人运动学(精品教程)(45页珍藏版)》请在金锄头文库上搜索。
1、第第 2 章章 机器人位置运动学机器人位置运动学 2.1 引言引言 本章将研究机器人正逆运动学。当已知所有的关节变量时,可用正运动学来确定机器人末端手的 位姿。如果要使机器人末端手放在特定的点上并且具有特定的姿态,可用逆运动学来计算出每一关节 变量的值。首先利用矩阵建立物体、位置、姿态以及运动的表示方法,然后研究直角坐标型、圆柱坐 标型以及球坐标型等不同构型机器人的正逆运动学,最后利用 Denavit-Hartenberg(D-H)表示法来推导 机器人所有可能构型的正逆运动学方程。 实际上,机器手型的机器人没有末端执行器,多数情况下,机器人上附有一个抓持器。根据实际 应用,用户可为机器人附加不
2、同的末端执行器。显然,末端执行器的大小和长度决定了机器人的末端 位置,即如果末端执行器的长短不同,那么机器人的末端位置也不同。在这一章中,假设机器人的末 端是一个平板面, 如有必要可在其上附加末端执行器, 以后便称该平板面为机器人的 “手” 或 “端面” 。 如有必要,还可以将末端执行器的长度加到机器人的末端来确定末端执行器的位姿。 2.2 机器人机构机器人机构 机器手型的机器人具有多个自由度(DOF) ,并有三维开环链式机构。 在具有单自由度的系统中,当变量设定为特定值时,机器人机构就完全确定了,所有其他变量也 就随之而定。如图 2.1 所示的四杆机构,当曲柄转角设定为 120时,则连杆与摇
3、杆的角度也就确定 了。然而在一个多自由度机构中,必须独立设定所有的输入变量才能知道其余的参数。机器人就是这 样的多自由度机构,必须知道每一关节变量才能知道机器人的手处在什么位置。 图 2.1 具有单自由度闭环的四杆机构 如果机器人要在空间运动,那么机器人就需要具有三维的结构。虽然也可能有二维多自由度的机 器人,但它们并不常见。 机器人是开环机构,它与闭环机构不同(例如四杆机构) ,即使设定所有的关节变量,也不能确 保机器人的手准确地处于给定的位置。这是因为如果关节或连杆有丝毫的偏差,该关节之后的所有关节的位置都会改变且没有反馈。 例如, 在图 2.2 所示的四杆机构中, 如果连杆 AB 偏移,
4、 它将影响2O B杆。而在开环系统中(例如机器人) ,由于没有反馈,之后的所有构件都会发生偏移。于是,在开环 系统中,必须不断测量所有关节和连杆的参数,或者监控系统的末端,以便知道机器的运动位置。通 过比较如下的两个连杆机构的向量方程,可以表示出这种差别,该向量方程表示了不同连杆之间的关 系。 1122O AABOOO B (2.1) 11O AABBCOC (2.2) 可见,如果连杆 AB 偏移,连杆2O B也会相应地移动,式(2.1)的两边随连杆的变化而改变。而另一方面,如果机器人的连杆 AB 偏移,所有的后续连杆也会移动,除非1OC有其他方法测量,否则这种变化是未知的。 为了弥补开环机器
5、人的这一缺陷,机器人手的位置可由类似摄像机的装置来进行不断测量,于是 机器人需借助外部手段(比如辅助手臂或激光束)来构成闭环系统。或者按照常规做法,也可通过增 加机器人连杆和关节强度来减少偏移,采用这种方法将导致机器人重量重、体积大、动作慢,而且它 的额定负载与实际负载相比非常小。 图 2.2 (a)闭环机构;(b)开环机构 2.3 机器人运动学的矩阵表示机器人运动学的矩阵表示 矩阵可用来表示点、向量、坐标系、平移、旋转以及变换,还可以表示坐标系中的物体和其他运 动元件。 2.3.1 空间点的表示空间点的表示 空间点 P(如图 2.3 所示)可以用它的相对于参考坐标系的三个坐标来表示: xyz
6、Pa ib jc k (2.3) 其中,,xyza b c 是参考坐标系中表示该点的坐标。显然,也可以用其他坐标来表示空间点的 位置。 图 2.3 空间点的表示 2.3.2 空间向量的表示空间向量的表示 向量可以由三个起始和终止的坐标来表示。如果一个向量起始于点 A,终止于点 B,那么它可以表示为()()()ABxxyyzzPBA iBAjBA k。特殊情况下,如果一个向量起始于原点(如图 2.4 所示) ,则有: xyzPa ib jc k (2.4) 其中,xyza b c是该向量在参考坐标系中的三个分量。实际上,前一节的点 P 就是用连接到该点的向量来表示的,具体地说,也就是用该向量的三
7、个坐标来表示。 图 2.4 空间向量的表示 向量的三个分量也可以写成矩阵的形式,如式(2.5)所示。在本书中将用这种形式来表示运动分 量: xyza Pb c (2.5) 这种表示法也可以稍做变化:加入一个比例因子 w,如果 x, y, z 各除以 w,则得到,xyza b c。于是,这时向量可以写为: x yPz w ,其中,xyxyabww等等 (2.6) 变量 w 可以为任意数,而且随着它的变化,向量的大小也会发生变化,这与在计算机图形学中缩放 一张图片十分类似。随着 w 值的改变,向量的大小也相应地变化。如果 w 大于 1,向量的所有分量 都变大;如果 w 小于 1,向量的所有分量都变
8、小。这种方法也用于计算机图形学中改变图形与画片的 大小。 如果 w 是 1,各分量的大小保持不变。但是,如果 w=0,,xyza b c则为无穷大。在这种情况下,x,y 和 z(以及,xyza b c)表示一个长度为无穷大的向量,它的方向即为该向量所表示的方向。这就意味着方向向量可以由比例因子 w=0 的向量来表示,这里向量的长度并不重要,而其方向由该向量的三 个分量来表示。 例例 2.1 有一个向量 P=3i+5j+2k,按如下要求将其表示成矩阵形式: (1)比例因子为 2 (2)将它表示为方向的单位向量 解解: 该向量可以表示为比例因子为 2 的矩阵形式,当比例因子为 0 时,则可以表示为
9、方向向量,结果 如下: 61042P 和 3 5 2 0P 然而,为了将方向向量变为单位向量,须将该向量归一化使之长度等于 1。这样,向量的每一个 分量都要除以三个分量平方和的开方: 222356.16,0.487,6.166.16XYZxyPPPPP其中,等等和 0.487 0.811 0.324 0unitP 2.3.3 坐标系在固定参考坐标系原点的表示坐标系在固定参考坐标系原点的表示 一个中心位于参考坐标系原点的坐标系由三个向量表示,通常着三个向量相互垂直,称为单位向量, ,n o a,分别表示法线(normal) 、指向(orientation)和接近(approach)向量(如图 2
10、.5 所示) 。正如 2.3.3 节所述,每一个单位向量都由它们所在参考坐标系着的三个分量表示。这样,坐标系 F 可以 由三个向量以矩阵的形式表示为: xxxyyyzzznoa Fnoa noa (2.7) 图 2.5 坐标系在参考坐标系原点的表示 2.3.4 坐标系在固定参考坐标系中的表示坐标系在固定参考坐标系中的表示 如果一个坐标系不再固定参考坐标系的原点(实际上也可包括在原点的情况) ,那么该坐标系的 原点相对于参考坐标系的位置也必须表示出来。为此,在该坐标系原点与参考坐标系原点之间做一个 向量来表示该坐标系的位置(如图 2.6 所示) 。这个向量由相对于参考坐标系的三个向量来表示。这
11、样,这个坐标系就可以由三个表示方向的单位向量以及第四个位置向量来表示。 0001xxxxyyyyzzzznoap noapFnoap (2.8) 图 2.6 一个坐标系在另一个坐标系中的表示 如式(2.8)所示,前三个向量是 w=0 的方向向量,表示该坐标系的三个单位向量, ,n o a的方向,而第四个 w=1 的向量表示该坐标系原点相对于参考坐标系的位置。与单位向量不同,向量 P 的长度十 分重要,因而使用比例因子为 1。坐标系也可以由一个没有比例因子的 34 矩阵表示,但不常用。 例例 2.2 如图 2.7 所示的 F 坐标系位于参考坐标系中 3,5,7 的位置,它的 n 轴与 x 轴平行
12、,o 轴相对于 y 轴的角度为 45,a 轴相对于 z 轴的角度为 45。该坐标系可以表示为: 1003 00.7070.7075 00.7070.7077 0001F 图 2.7 坐标系在空间的表示举例 2.3.5 刚体的表示刚体的表示 一个物体在空间的表示可以这样实现:通过在它上面固连一个坐标系,再将该固连的坐标系在空 间表示出来。 由于这个坐标系一直固连在该物体上, 所以该物体相对于坐标系的位姿是已知的。 因此, 只要这个坐标系可以在空间表示出来,那么这个物体相对于固定坐标系的位姿也就已知了(如图 2.8 所示) 。如前所述,空间坐标系可以用矩阵表示,其中坐标原点以及相对于参考坐标系的表
13、示该坐标 系姿态的三个向量也可以由该矩阵表示出来。于是有: 0001xxxxyyyy object zzzznoap noapFnoap (2.9) 如第 1 章所述,空间中的一个点只有三个自由度,它只能沿三条参考坐标轴移动。但在空间的一 个钢体有六个自由度, 也就是说, 它不仅可以沿着 X,Y,Z 三轴移动, 而且还可绕这三个轴转动。 因此, 要全面地定义空间以物体, 需要用 6 条独立的信息来描述物体原点在参考坐标系中相对于三个参考坐 标轴的位置,以及物体关于这三个坐标轴的姿态。而式(2.9)给出了 12 条信息,其中 9 条为姿态信 息,三条为位置信息(排除矩阵中最后一行的比例因子,因为
14、它们没有附加信息) 。显然,在该表达 式中必定存在一定的约束条件将上述信息数限制为 6。因此,需要用 6 个约束方程将 12 条信息减少 到 6 条信息。这些约束条件来自于目前尚未利用的已知的坐标系特性,即: 三个向量, ,n o a相互垂直 每个单位向量的长度必须为 1 图 2.8 空间物体的表示 我们可以将其转换为以下六个约束方程: (1)0n o (2)0n a (3)0a o (4)1n (向量的长度必须为 1) (2.10) (5)1o (6)1a 因此,只有前述方程成立时,坐标系的值才能用矩阵表示。否则,坐标系将不正确。式(2.10)中 前三个方程可以换用如下的三个向量的叉积来代替: n oa(2.11) 例例 2.3 对于下列坐标系,求解所缺元素的值,并用矩阵来表示这个坐标系。 ?0?5 0 . 7 0 7?3 ?02 0001F 解解: 显然,表示坐标系原点位置的值 5,3,2 对约束方程无影响。注意在三个方向向量中只有三个值 是给定的,但这也已足够了。根据式(2.10) ,得: 0xxyyzzn on on o 或 ( 0 )0 . 7 0 7 ()()0xyzz