机器人运动学(精品教程)(1)(6)

2019-03-16 11:09

根据上述方程,得到两组解:

?a?TAN2?ny,nx??ATAN?0.505,0.354??55?或235?

?o?ATAN2?nz,nxC?a?nyS?a?ATAN2?0.788,0.616??52?或128?

?????n?ATAN2???ayC?a?axS?a?,?oyC?a?oxS?a??

?ATAN2?0.259,0.966??15?或195?

px?4.33 py?2.5 pz?8

例2.17 与例2.16中的位姿一样,如果机器人是圆柱坐标-RPY型,求所有关节变量。 解: 在这种情况下,可用:

?0.354?0.6740.6494.33??0.505?0.7220.4752.50R??Tcy1(r,?,l)?RPY(?a,?o,?n) TP????0.7880.1600.5958???0001??这个方程右边有4个角,它们是耦合的,因此必须像前面那样将它们解耦。但是,因为对于圆柱

坐标系z轴旋转?a角并不影响a轴,所以它仍平行于z轴。其结果是,对于RPY绕a轴旋转的?角可简单地加到?a上。这意味着,求出的?a实际上是?a??(参见图2.23)。根据给定的位置数据,可求得例2.16的解。参考式(2.33),得到:

rC??4.33 rS??2.5???30?

?a???55? ??a?25?

S??0.5 ?r?5

pz?8 ?l?8

同例2.16一样 ??o?52? ?n?15?

当然,可以用类似的解法求出第二组解。

图2.23 例2.17的圆柱和RPY坐标

2.7.2.2 欧拉角

除了最后的旋转使然当前的a轴外,欧拉角的其他方面均与RPY相似(参见图2.24)。我们仍需要使所有旋转都是绕当前的轴转动以防止机器人的位置有任何改变。表示欧拉角的转动如下:

? 绕a轴(运动坐标系的z轴)旋转?度; ? 接着绕o轴(运动坐标系的y轴)旋转?度; ? 最后再绕a轴(运动坐标系的x轴)旋转?度。 表示欧拉角姿态变化的矩阵是:

Euler??,?,???Rot?a,??Rot?o,??,Rot?a,???

?C?C?C??S?C??S?C?C??C?S????S?C??0??C?C?S??S?C??S?C?S??C?C?S?S?0C?S?S?S?C?00?0?? (2.43) 0??1?

图2.24 绕当前坐标轴的欧拉旋转

再次强调,该矩阵只是表示了由欧拉角所引起的姿态变化。相对于参考坐标系,这个坐标系的最终位姿是表示位置变化的矩阵和表示欧拉角的矩阵的乘积。

欧拉角的逆运动学求解与RPY非常相似。可以使欧拉方程的两边左乘Rot?1?a,??来消去其中一边的?。让两边的对应元素相等,就可得到以下方程(假设由欧拉角得到的最终所期望的姿态是由n,o,a矩阵表示):

???nx?n?1Rot?a,????y?nz??0或

oxoyoz0axayaz00??C?C??S?0????0???S?C???1??0?C?S?C?S?S?0S?0C?00?0?? (2.44) 0??1??nxC??nyS???nS??nC?y?x?nz?0?oxC??oyS??oxS??oyC?oz0?C?C??S????S?C???0axC??ayS??axS??ayC?az0S?0C?00?0??? 0??1??C?S?C?S?S?00?0?? (2.45) 0??1?记住,式(2.44)中的n,o,a表示了最终的期望值,它们通常是给定或已知的。欧拉角的值是未知变量。

让式(2.45)左右两边对应的元素相等,可得到如下结果: 根据2,3元素,可得:

?axS??ayC??0???ATAN2?ay,ax?或??ATAN2??ay,?ax? (2.46)

由于求得了值,因此式(2.45)左边所有的元素都是已知的。根据2,1元素和2,2元素得:

S???nxS??nyC?

C???oxS??oyC????ATAN2??nxS??nyC?,?oxS??oyC?? (2.47)

最后根据1,3元素和3,3元素,得:

C??az???ATAN2?axC??ayS?,az??nx?nRTH??y?nz??0oxoyoz0axayaz0px??0.579?0.548?0.604?0.5400.813?0.220py????pz??0.611?0.1990.766??1??000S??axC??ayS? (2.48)

例2.18 给定一个直角坐标系—欧拉角型机器人手的最终期望状态,求相应的欧拉角。

5?7?? 3??1?解:根据前面的方程,得到:

??ATAN2?ay,ax??ATAN2??0,220,?0.604??20?或200?

将20?和200?的正弦值和余弦值应用于其他部分,可得:

??ATAN2??nxS??nyC?,?oxS??oyC????0.31,0.952??18?或198? ??ATAN2?axC??ayS?,az??ATAN2??0.643,0.766???40?或40?

2.7.2.3 链式关节

链式关节由3个旋转组成,而不是上面刚提出来的旋转模型,这些旋转取决于关节的设计。就像在2.7.1(d)中所做的那样,我们将在讨论D-H表示法时来推导表示链式关节的矩阵。 2.7.3 位姿的正逆运动学方程

表示机器人最终位姿的矩阵是前面方程的组合,该矩阵取决于所用的坐标。假设机器人的运动是由直角坐标和RPY的组合关节组成,那么该坐标系相对于参考坐标系的最终位姿是表示直角坐标位置变化的矩阵和RPY矩阵的乘积。它可表示为:

RTH?Tcart?Px,Py,Pz??RPY??a,?o,?n? (2.49)

如果机器人是采用球坐标定位、欧拉角定姿的方式所设计的,那么将得到下列方程。其中位置由球坐标决定,而最终姿态既受球坐标角度的影响也受欧拉角的影响。

RTH?Tsph?r,?,???Euler??,?,?? (2.50)

由于有多种不同的组合,所以这种情况下的正逆运动学解不在这里讨论。对于复杂的设计,推荐用D_H表示法来求解,并将在下面对此进行讨论。

2.8 机器人正运动学方程的D-H表示法

在1955年,Denavit和Hartenberg在“ASME Journal of Applied Mechanics”发表了一篇论文,后来利用那个这篇论文来对机器人进行表示和建模,并导出了它们的运动方程,这已成为表示机器人和对机器人运动进行建模的标准方法,所以必须学习这部分内容。Denavit-Hartenberg(D_H)模型表示了对机器人连杆和关节进行建模的一种非常简单的方法,可用于任何机器人构型,而不管机器人的结构顺序和复杂程度如何。它也可用于表示已经讨论过的在任何坐标中的变换,例如直角坐标、圆柱坐标、球坐标、欧拉角坐标及RPY坐标等。另外,它也可以用于表示全旋转的链式机器人、SCARA机器人或任何可能的关节和连杆组合。尽管采用前面的方法对机器人直接建模会更快、更直接,但D-H表示法有其附加的好处,使用它已经开发了许多技术,例如,雅克比矩阵的计算和力分析等。

假设机器人由一系列关节和连杆组成。这些关节可能是滑动(线性)的或旋转(转动)的,它们可以按任意的顺序放置并处于任意的平面。连杆也可以是任意的长度(包括零),它可能被弯曲或扭曲,也可能位于任意平面上。所以任何一组关节和连杆都可以构成一个我们想要建模和表示的机器人。

为此,需要给每个关节指定一个参考坐标系,然后,确定从一个关节到下一个关节(一个坐标系到下一个坐标系)来进行变换的步骤。如果将从基座到第一个关节,再从第一个关节到第二个关节直至到最后一个关节的所有变换结合起来,就得到了机器人的总变换矩阵。在下一节,将根据D-H表示法确定一个一般步骤来为每个关节指定参考坐标系,然后确定如何实现任意两个相邻坐标系之间的变换,最后写出机器人的总变换矩阵。

图2.25 通用关节—连杆组合的D-H表示

假设一个机器人由任意多的连杆和关节以任意形式构成。图2.25表示了三个顺序的关节和两个连杆。虽然这些关节和连杆并不一定与任何实际机器人的关节或连杆相似,但是他们非常常见,且能很容易地表示实际机器人的任何关节。这些关节可能是旋转的、滑动的、或两者都有。尽管在实际情况下,机器人的关节通常只有一个自由度,但图2.25中的关节可以表示一个或两个自由度。

图2.25(a)表示了三个关节,每个关节都是可以转动或平移的。第一个关节指定为关节n,第二个关节为关节n+1,第三个关节为关节n+2。在这些关节的前后可能还有其他关节。连杆也是如此表示,连杆n位于关节n与n+1之间,连杆n+1位于关节n+1与n+2之间。

为了用D-H表示法对机器人建模,所要做的第一件事是为每个关节指定一个本地的参考坐标系。因此,对于每个关节,都必须指定一个z轴和x轴,通常并不需要指定y轴,因为y轴总是垂直于x轴和z轴的。此外,D-H表示法根本就不用y轴。以下是给每个关节指定本地参考坐标系的步骤:

? 所有关节,无一例外的用z轴表示。如果关节是旋转的,z轴位于按右手规则旋转的方向。

如果关节是滑动的,z轴为沿直线运动的方向。在每一种情况下,关节n处的z轴(以及该

关节的本地参考坐标系)的下表为n-1。例如,表示关节数n+1的z轴是zn。这些简单规则可使我们很快地定义出所有关节的z轴。对于旋转关节,绕z轴的旋转(?角)是关节变量。对于滑动关节,沿z轴的连杆长度d是关节变量。

? 如图2.25(a)所示,通常关节不一定平行或相交。因此,通常z轴是斜线,但总有一条距离

最短的公垂线,它正交于任意两条斜线。通常在公垂线方向上定义本地参考坐标系的x轴。

所以如果an表示zn?1与zn之间的公垂线,则xn的方向将沿an。同样,在zn与zn?1之间的公垂线为an?1,xn?1的方向将沿an?1。注意相邻关节之间的公垂线不一定相交或共线,因此,两个

相邻坐标系原点的位置也可能不在同一个位置。根据上面介绍的知识并考虑下面例外的特殊情况,可以为所有的关节定义坐标系。

? 如果两个关节的z轴平行,那么它们之间就有无数条公垂线。这时可挑选与前一关节的公垂

线共线的一条公垂线,这样做就可以简化模型。

? 入股两个相邻关节的z轴是相交的,那么它们之间就没有公垂线(或者说公垂线距离为零)。

这时可将垂直于两条轴线构成的平面的直线定义为x轴。也就是说,其公垂线是垂直于包含了两条z轴的平面的直线,它也相当于选取两条z轴的叉积方向作为x轴。这也会使模型得以简化。

在图2.25(a)中,?角表示绕z轴的旋转角,d表示在z轴上两条相邻的公垂线之间的距离,a表示每一条公垂线的长度(也叫关节偏移量),角?表示两个相邻的z轴之间的角度 (也叫关节扭转)。通常,只有?和d是关节变量。 下一步来完成几个必要的运动,即将一个参考坐标系变换到下一个参考坐标系。假设现在位于本地坐标系xn?zn,那么通过以下四步标准运动即可到达下一个本地坐标系xn?1?zn?1。

(1)绕zn轴旋转?n?1(如图2.25(a)与(b)所示),它使得xn和xn?1互相平行,因为an和an??都

是垂直于zn轴的,因此绕zn轴旋转?n?1使它们平行(并且共面)。

(2)沿zn轴平移dn?1距离,使得xn和xn?1共线(如图2.25(c)所示)。因为xn和xn?1已经平行并

且垂直于zn,沿着zn移动则可使它们互相重叠在一起。

(3)沿xn轴平移an?1的距离,使得xn和xn?1的原点重合(如图2.25(d)和(e)所示)。这是两

个参考坐标系的原点处在同一位置。


机器人运动学(精品教程)(1)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年中国井矿盐发展现状与市场前景分析(目录)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: