第六章 工业机器人的运动规划及编程本章涉及工业机器人技术的三个重要内容,即轨迹规划和机器人语言以及机器人离线编程系统。轨迹规划是指根据作业任务要求,确定轨迹参数并实时计算和生成运动轨迹。它是工业机器人控制的依据,所有控制的目的都在于精确实现所规划的运动,机器人具有可编程功能,因此需要用户和机器人之间的接口。为了提高编程效率,出现了机器人编程语言,它以一种通用的方式解决了人一机通讯问题 ;机器人离线编程系统是利用计算机图形学,建立机器人编程环境,从而可以脱离机器人工作现场进行编程的系统。由于不占用机动时间,提高了设备利用率。而且由于离线编程本身就是 CAD/CAM一体化的组成部分,有时可以直接利用 CAD数据库的信息,大大减少了编程时间,提高了编程水平。
§ 6-1 工业机器人的轨迹规划
§ 6-2 机器人的编程
§ 6-1 工业机器人的轨迹规划一、引言我们指定工业机器人执行某项操作作业,往往会附加一些约束条件,如沿指定路径运动及 j要求运动平稳等。这就提出了对机器人运动轨迹进行规划和协调的问题。
由于运动轨迹可在 j关节坐标空间中描述,也可在直角坐标空间中指定,从而形成了关节空间和直角坐标空间机器 j人运动轨迹的规划和生成方法。本节将对这两类规划方法进行介绍,重点是关节空间规划方 j法。 3轨迹规划涉及到下面三个问题,4(10要对机器人的任务进行描述,即对机器人的运动轨迹进行描述。轨迹规划器具有简化 j
任务描述的功能,用户不需要写出进行某指定作业的运动轨迹函数表达式,只要求输入有关路 1径的若干约束及其简单描述。至于规划的细节问题则由系统本身去完成。例如,用户可以只给 1出手爪的目标位姿,让系统由此确定到达目标的路径点、
持续时间、运动速度等参数。 1(2)根据所确定的轨迹参数,如何在计算机内部描述所要求的轨迹。这主要是选择习惯规 2定以及合理的软件数据结构问题。,〈 3〉 对内部描述的轨迹进行实际计算。通常是在运行时间内按一定的速率计算出位置、速量度和加速度,生成运动轨迹。 (噩二、轨迹规划的一般性问题 ;通常,工业机器人的作业可以描述成工具坐标系 {r}相对于工作坐标系 {3}的一系列运 j动。例如,图 64所示的将销插入工件孔中的作业,可以借助工具坐标系的一系列位姿川£ =j1,2,...'")来描述。这种描述方法不仅符合机器人用户考虑问题的思路,而且有利于描述和生 3!A的运动轨迹。!:1~;精精工具坐标系相对于工作坐标系的运动 !来描述作业路径,是一种通用的作业描述方法。它把作业路径的描述与具体的机器人、手爪或工具分离开来,形成了模型化的作业描述方法。从而使这种描述既适用于不同的机器人,也适用于同一机器人上装夹不同规格的工具。有了这种描述方法,我们就可以把如图 6-2所示的机器人从初始状态运动到终止状态的作业,看作是工具坐标系从初始位置 {丁。 }变化到终止位置 {r川的坐标变换。
显然,这种变换与具体机器人无关。一般情况下,这种变换包含了工具坐标系的位置和姿态的变化。
在轨迹规划中,为叙述方便,也常用“点,,这个词来表示机器人的状态,或用它来表示工具坐标系的位姿。例如起始点、终止点就分别表示工具坐标系的起始位姿、终止位姿。当需要更详细地描述运动时,不仅要规定机器人的起始点和终止点,而且要给出介于起始点和终止点之间的中间点,也称路径点。这时,运动轨迹除了位姿约束外,
还存在着各路径点之间的时间分配问题。例如,在规定路径的同时,必须给出两个路径点之间的运动时间。显然,机器人的运动应当平稳,不平稳的运动将加剧机械部件的磨损,并导致机器人的振动和冲击。为此,要求所选择的描述运动轨迹的函数必须连续,而且它的一阶导数 (速度 ),有时甚至二阶导数 (加速度 〉 也应该连续。轨迹规划既可在关节空间中进行,也可在直角坐标空间中进行。在关节空间中进行轨迹规划是指将所有关节变量表示为时间的函数,用这些关节函数及其一阶、二阶导数描述机器人预期的运动 ;在直角坐标空间中进行轨迹规划,是指将手爪位姿、速度和加速度表示为时间的函数 ~而相应的关节位置、速度和加速度由手爪信息导出。下面分别介绍关节空间和直角坐标空间轨迹规划和实时生成的方法。
三、关节空间的轨迹规划上面已指出,机器人作业路径点通常由工具坐标系 {r}相对于工作坐标系 {5}的位姿来表示。因此,在关节空间中进行轨迹规划,首先需要将每个作业路径点向关节空间变换,即用逆运动学方法把路径点转换成关节角度值,或称关节路径点。当所有作业路径点都进行了这种变
1:;771.....酷 ;~组关节路径点。然后,为每个关节相应的关节路径点拟合光滑函数。这些关节 ;11翩翩圈脚霸晦了机器人各关节从起始点开始,依次通过路径点,最后到达某目标点的运动轨瑞,蹦 ~辙 ~关节在相应路径段运行的时间相同,这样就保证了所有关节都将同时到达路径点和鄙标,点,从而也保证了工具坐标系在各路径点具有预期的位姿。需要注意的是,
尽管每个关节在阔一段路径上具有相同的运行时间,但各关节函数之间是相互独立的。关节空间中进行轨迹规划,不需考虑直角坐标空间中两个路径点之间的轨迹形状,仅以关节角度的函数来描述机器人的轨迹,计算简单、省时 a而且由于关节空间与直角坐标空间并不是连续的对应关系,关节空间内不会发生机构的奇异现象,从而避免了在直角坐标空间规划时所出现的关节速度失控问题。
四、直角坐标空间的轨迹规划在关节空间进行轨迹规划,能够保证机器人手爪
(或工具 )通过路径点到达目标点。然而手爪在三维空间两路径点之间的实际运动轨迹,其形状一般都非常复杂,很难给出空间曲线的规范表达式,所以它只适用于 PTP作业的轨迹规划。如果对于那些路径、姿态两者的瞬时变化规律都有严格要求的作业,如连续弧焊作业,就必须在直角坐标空间进行轨迹规划。以这种规划方法,由于手爪的位置和姿态是时间的函数,就可以对轨迹的空间形状提出一定的设计要求。例如,要求轨迹是直线、因以及其它期望的规划曲线。在直角坐标空间轨迹规划系统中,作业是用机器人手爪的直角坐标路径点序列规定的。
而路径点通常又以工具坐标系 {7)相对于工作坐标系 {5}的位置和姿态来表示。
连接各个路径点的平滑函数是直角坐标变量关于时间的函数,这些轨迹可直接由用户根据工具坐标系相对于工作坐标系的位置和姿态变化来进行规划,不必一开始就通过逆运动学去计算关节的角度。但又由于机器人的真实运动发生在关节坐标空间,作为最后一步,还必须把直角坐标空间的规划,分成有限个离散点,按照轨迹的更新速率进行逆运动学计算,回归到关节空间,才能进行控制。显然,在直角坐标空间进行规划需占用更多的时间。直角坐标空间的轨迹规划实现方案有多种,我们只讨论最简单的直线运动形式,并利用关节空间轨迹规划中提出的带有抛物线过渡域的线性函数生成运动轨迹。 1.直角坐标空间的直线运动
)j在直角坐标空间中进行轨迹规划,首要问题是在起始点和终止点之间,如何生成一系列中 j一隐藏显然,空间的直线运动轨迹比较容易描述和生成,因为只要给出直角坐标空间内轨迹起始点和终止点的位姿信息,就可以利用线性插补,简单地计算出由这两点确定的直线段上的一系列点的位姿信息。在规划和生成直角坐标空间的直线轨迹时,使用带抛物线过渡域的线性函数比较合适。在每一路径段的线性域内,描述手爪位置的三个元 ~部沿各自坐标轴作线性规律运动,其合成运动将得到直角坐标空间的直线轨迹自然而,对于路径点的姿态,如果仍把它表示成旋转矩阵反的形式就不能对它的元素进行线性插值。因为任何旋转矩阵都是由三个规范化正交列向量组成,如果在两个旋转矩阵的元素间进行线性插值,所得到的旋转矩阵的列就难以保证满足规范化正交的要求。
为此,我们寻求另外的姿态表示方法,这里介绍一种用“等效转轴 -转角 "来代替旋转矩阵描述姿态的方法。
利用“等效转轴 -转角,'的方法,可描述手爪的姿态。可以证明,对于原点重合的两个坐标系 {3}
和 {‘4},{A)相对于 {3}的姿态能通过适当地选择一个单位向量庄 =[扎,是,,扎 〕 7和一个角度♂
得到表示,即 {儿 }可以看作是开始与 {5}重合,然后绕应按右手规则转♂角而形成 (图 6-11)。 {」
4}相对于 {3}的姿态记为 2且 (庄,♂ )或简写成后儿,应是等效转轴,d是等效转角。由于应为单位向量,1应 |=1.因而用儿、品,、扎中任意两个参数就可说明。于是,等效转轴 -转角表示只需三个参数就可描述一个坐标系的姿态。 4.14在吕,‘』 品 i矿俨咱 4111品,.、」 』,.阮撮,.~·品 fell~『』 L4le4.‘、且,4』 」,~,--品唱 -‘,li.L‘4‘
向量,利用该向量便可描述直角坐标系位置和姿态。考虑任一路径点 P川它在参考坐标系 {3}的位置可用原点向量,3p‘。表示,而路径点的姿态则可表示成“等效转轴 -转角 ',
形式 3托。如果我们把表示路径点的直角坐标系的位置和姿态的 6× 1向量记为 3互正,
则当每一个路径点都表示成上述形式后,下一步的问题就是选择适当的时间样条函数,使这六个分量从一个路径点平滑地运动到另一个路径点。例如当采用带抛物线过渡的线性函数,两路径点间的路径将是直线,而且经过路径点时,手爪运动的线速度和角速度将平稳变化。需要说明的是,等效转角不是唯一的,即 (庄,♂〉 =(芷,♂ +"× 360。 )(纯为整数 )在从一路径点移向另一路径点时,一般,总的转角应取最小值,即使它小于 180。。一旦确定了 3见的六个分量,即可对 3无的每个分量分别应用关节空间介绍的带抛物线过渡的线性轨迹规划方法。不过,必须附加一个约束条件 2每个分量的过渡域持续时间必须相同。这样才能保证由各个分量所构成的复合运动在空间形成一条直线。而所有过渡域时间的相同又将导致每个分量过渡域上的加速度不同。正因为如此,我们需要选择过渡域的持续时间,并计算相应的加速度,以确保各个分量上的加速度不超过容许上限。 2.直角坐标空间轨迹规划需注意的问题虽然在直角坐标空间中描述的路径形状与关节空间中的路径有着连续的对应关系,但是直角坐标空间的路径易涉及到与机器人工作空间和奇异点有关的问题。 (1)规划路径点不可达有这样一种情况,尽管机器人作业的起始点和终止点都位于其工作空间之内,但若在直角坐标空间中任意指定路径,则其路径上可能有些点会超出工作空间。
例如图 6-12所示的二连杆平面机械手,连杆 1比连杆 2长,因此工作空间是个环形区域。
虽然起始点儿和目标点血均在工作空间内,但不能以直线路径」 4且作为规划路径,因为这条路径上有些点不可达。从这个例子可以看出,在关节空间易于实现的路径,用于直角坐标空间规划就出了问题,规划路径上的某些点位于工作空间之外了。 〈 2)在奇异点附近关节速度突变在直角坐标空间进行轨迹规划,要求控制的不是关节变量,而是直角坐标空间的操作位置和速度。这样,如果机器人沿直角坐标预期轨迹朝着机械上的奇异点运动,在接近这个奇异点时,若要保证直角坐标操作速度,则要求相应的关节速度无限大‘这显然是不容许的,因为这会由于速度过大而导致机器人失控,偏离预期路径。遇到这种情况,就必须重新考虑直角坐标空间的轨迹参数,最终使关节速度不超过最大允许值。图 6-13所示的二连杆平面机械手,两连杆长度相等,因此,其工作空间是个圆形区域。现要求手爪从点」
4移动到点且,沿直线 A启匀速运动。图中画出了运动过程中几个中间位姿,路径上的各
t.41il{一,..71~llll-,…… 一,.一一‘ … -年年一干点都是可达的,但值得注意的是,当接近路径中点时,由于手爪姿态变化较大,引起关节 1的速度非常大。解决办法是,减小操作速度,使关节速度在容许的范围之内。这样做虽会使手爪运动速度在奇异点附近不是匀速,但能保证路径仍是直线。正因为直角坐标空间轨迹规划存在上述问题,现有的多数工业机器人轨迹规划器具有关节空间和直角坐标空间轨迹生成的功能。用户通常使用关节空间法,只有在必要时,
才采用直角坐标空间方法。
五、轨迹的实时生成利用前面介绍的插值方法,能求出适合路径要求的轨迹表达式,它们实际上是时间 z的函数。为了能对轨迹实施控制,还必须将它转换成时基控制节点,而且,转换的速率应能满足路径更新速率要求,这就要求计算的速度足够大,即在每一个采样周期内,都能实时计算出轨迹上对应某一时刻的位置、速度和加速度值。机器人控制系统正是利用这些实时生成的数据,通过与传感器得到的信息综合完成对机器人的控制。 1.关节空间轨迹的生成关节空间轨迹的生成是指利用关节空间轨迹规划方法,首先得到有关各个路径段的一组数据,然后,控制系统的轨迹生成器利用这些数据不断生成由♂、占,d表示的轨迹。不同的规划方法,相应的有不同的轨迹生成算法。对于用三次多项式表示的轨迹,由于每一段轨迹表达式单一,轨迹生成器只需从某一时刻开始计时,然后随 t的延续不断按式 (6-3)计算♂,
按式 (6-4)计算白和♂。当到达路径段的终点 (即 t=tf)时,调用下一路径段的三次多项式系数,重新赋 t为 0,继续生成下一段轨迹。 2.直角坐标空间轨迹的生成直角坐标空间轨迹的生成方法与关节空间相似。不同的只是直角坐标空间轨迹的计算,得出的是直角坐标空间中机器人手爪的位置和姿态的值,而不是关节变量的值。求出了机器人手爪的位姿在直角坐标空间的轨迹 (末、立、苏 ),为了实施控制,还必须把它们转换到关节空间。为此,
可以通过运动学逆解得到相应的关节位置,用逆雅可比计算关节速度,用逆雅可比及其导数计算角加速度。在实际中往往采用简便的方法,即根据逆运动学以轨,..迹更新速率首先把苏转换成关节角向量♂,然后再由数值微分以下式计算♂和 ds:
最后,把诡计规划器生成的,0,0,0送往机器人控制系统。直至诡计规划的人物才完成。