1、样条曲线运动编程原理学习目标和技能 学习目标使用联机表单创建和编辑样条组熟悉样条运动掌握SPTP、SLIN、SCIRC和SPL运动编程 学习技能创建带样条组的运动程序用联机表单为样条组编程样条运动方式样条是一种尤其适用于复杂曲线轨迹的运动方式。原则上这种运动也可以通过逼近的SLIN运动和SCIRC运动生成,但用样条更有优势。种类最齐全的样条运动是样条组,它可以将多个运动合并成一个总运动。机器人控制系统把一个样条组作为一个运动语句进行设计和执行。样条组运动示例如图所示。样条组运动示例可以把位于样条组中的运动称为样条段。样条组分为两种类型: CP样条组:带CP运动的样条组(可包含SPL、SLIN、
2、SCIRC样条段) PTP样条组:仅在轴空间内运动的样条(仅包含SPTP样条段)用样条组编程具有以下几个优点:1)轨迹通过位于轨迹上的点来定义,可以很简单的生成所需轨迹。2)与常规运动方式相比,更易于保持设定的速度,只有在少数情况下才 会出现减速的情况。3)轨迹曲线始终保持不变,不受倍率、速度或加速度的影响。4)可以精确的沿圆周和小圆弧运动。常规运动SLIN与SCIRC和样条组编程相比,缺点有哪些?1)轨迹通过不在轨迹上的轨迹逼近点定义。轨迹逼近区域很难预测,生成所需的轨迹很繁琐。2)在很多情况下,会造成很难预计的速度减小,例如在轨迹逼近区域和临近点很近时。3)如果出于时间原因,无法进行轨迹逼
3、近,则轨迹曲线会发生变化。4)轨迹曲线受倍率、速度和加速度的影响而改变。常规运动与样条组编程区别样条运动的速度曲线:机器人控制系统在规划时就已经考虑到机器人的物理极限。机器人在编程设定的速度范围内尽可能快速移动,即在其物理极限的范围内快速移动。与常规运动SLIN、SCIRC相比,这是一个优点,因为这两种常规运动在运动过程中不会在规划时考虑物理极限。物理极限在运动期间才会起作用并在必要时触发停止。 用样条组编程的运动,在运动过程中必须以低于编程设定速度运行,即减速运行的情况有以下几点:1)突出的角2)姿态改变过大3)附加轴进行较大运动4)在奇点附近编程过程中,选择姿态导引“无取向”,可在样条段中
4、避免因姿态改变过大而引起的减速。速度减至0的情况有如下几种:1)连续的点具有相同坐标2)连续的SLIN段(如下左图)或SCIRC段。导致原因:速度方向的间断变化。3)圆不同于直线,它是曲线,当直线与圆相切时,SLIN与SCIRC的过渡段速度也降为0,如下右图。SLIN段与SCIRC段相切,速度减为0连续的SLIN段,速度减为0然而,也有例外的情况:1)如果SLIN段是连续的,并且构成一条直线且姿态均匀变化,则速度不会降低,如下图所示。2)如果两个圆的圆心和半径一样,并且姿态均匀变化,则SCIRC和SCIRC过渡段的速度也不降低。(很难进行示教,需要对点进行计算和编程)另外,为笛卡尔弧长分配姿态
5、变化、附加轴变化时,示教不均匀,通常也会造成意料之外的速度急降。所以,应尽可能均匀分配姿态和附加轴。构成一条直线的SLIN段,速度不会降低更改样条组样条组的更改,可以通过两种方式来进行:更改点的位置:如果移动了一个样条组中的一个点,则轨迹最多会在此点前的两个段中和此点后的两个段中发生变化。例如:P3点被移动,由此改变P1-P2、P2-P3、P3-P4段的轨迹,而P4-P5段不发生改变,因为它属于SCIRC段并由此确定圆周轨迹。更改P3点后,轨迹变化小幅度的点平移通常不会引起轨迹变化,但如果是相邻的两个段,一段非常长而另一端非常短,则小小的变化就会产生非常大的影响。例如:P3点被移动,由于P2-
6、P3段和P3-P4段很短,而P1-P2段和P4-P5段很长,所以小的移动也会使轨迹发生很大变化,如图所示。这种问题的纠正方法如下:1)均匀分配点的间距。2)将直线(除了很短的直线)作为SLIN段编程。移动P3点后的轨迹变化更改段类型:如果将一个SPL段变成一个SLIN段或者是反过来,则前一个段和后一段的轨迹均会发生变化。例如:原有轨迹P2-P3段类型由SPL变为SLIN,则P1-P2、P2-P3、P3-P4段的轨迹发生变化。更改段类型后轨迹变化样条运动的语句选择可以在样条组的段上选择语句。1)CP样条组:SAK运行将作为常规LIN运动被执行。这通过一则必须应答的信息加以提示。2)PTP样条组:
7、SAK运行将作为常规PTP运动被执行。这不会通过信息加以提示。机器人执行样条运动过程中,在选择语句之后,轨迹通常与正常程序运行中的样条完全一样延伸。如果在选择语句前尚未运行样条,并且在这种情况下语句选择于样条组始端,则可能会出现例外,例如:样条运动的起始点是样条组前的最后一个点,即起始点位于样条组之外,则机器人控制系统在正常运行样条时保存该起始点。如果以后要选择语句,则可由此已知该起始点。但如果从未运行过样条组,则起始点未知。如果在SAK运行后按下启动键,则会显示一则必须应答的信息,此信息提示轨迹已改变。如图所示,在P1点选择语句时轨迹改变。在针对一个编程设置的圆心角的SCIRC段语句选择时,
8、机器人将移动到目标点(包括圆心角),前提条件是机器人控制系统可以识别起始点。如果机器人控制系统无法识别起始点,则移向编程设定的目标点,在这种情况下,机器人系统会显示一则信息,提示未考虑圆心角。在SCIRC单个运动上选择语句时,从不考虑圆心角。P1点选择语句时,轨迹改变样条运动的轨迹逼近所有样条组和所有样条单个运动均可相互轨迹逼近。无论是CP或是PTP样条组,还是单个运动,都无关紧要。从运动类型的角度来看,轨迹逼近弧线始终相当于第二个运动。例如在SPTP-SLIN轨迹逼近时,轨迹逼近弧线是CP型。样条运动无法用常规运动(LIN、CIRC、PTP)进行轨迹逼近。机器人在执行样条运动过程中,如果因为
9、时间原因或因预进停止而无法轨迹逼近时,则机器人在轨迹逼近弧线的起始处等待。具体执行运动过程如下:1)如果因为时间原因:只要可以执行下一个语句,则机器人继续移动。2)如果因为预进停止:轨迹逼近弧线的起始处即是当前语句的终点,即预进停止被取消,机器人控制系统可以执行下一个语句,机器人继续移动。在这两种情况下,机器人沿轨迹逼近弧线移动。确切地说可以进行轨迹逼近,只是时间上会有推迟。这一特性与LIN运动、CIRC运动或PTP运动相反,如果常规运动因为上述原因不能轨迹逼近,则会精确移至目标点。在MSTEP和ISTEP程序运行方式中没有轨迹逼近,原因如下:1)在MSTEP和ISTEP程序运行方式下,即使在
10、轨迹逼近时也会精确移至目标点。2)在从样条组轨迹逼近至样条组时,精确暂停的结果是第一个样条组的最后一个段的轨迹和第二个样条组的第一段的轨迹与GO程序运行方式下不同。3)这两个样条组中的所有其他段的轨迹与MSTE、ISTEP和GO模式下的轨迹相同。以样条组替代轨迹逼近的CP运动若以样条组替代传统轨迹逼近的CP运动,则必须对程序进行下列更改:1、用SLIN-SPL-SLIN替代LIN-LIN2、用SLIN-SPL-SCIRC替代LIN-CIRC 在用SLIN-SPL-SCIRC替代LIN-CIRC时,建议使SPL有一段进入原来的圆周内,这样SCIRC开始就晚于原来的CIRC。 机器人在对常规运动进
11、行轨迹逼近时,要对角点进行编程,而在样条组中,则对轨迹逼近的起点和终点处的点进行编程。例如机器人在对图所示的样条进行编程时,要对P1A和P1B点进行确定,确定方法有如下几条:1)驶过轨迹逼近的轨迹,通过触发器储存所希望的位置。2)在程序中用KRL计算这两个点。3)可从轨迹逼近标准中得出轨迹逼近起点,轨迹逼近终点取决于编程设定的速度。P1A-轨迹逼近起点P1B-轨迹逼近终点机器人在运动执行过程中,即便P1A与P1B正好在轨迹逼近的起点和终点处,SPL轨迹也不会精确的与轨迹逼近弧线吻合。为了能得到精确的轨迹逼近弧线,必须在样条上插入附加点,通常插入一个点就足够,如图所示,左图为未插入附加点的轨迹,
12、右图为插入附加点的轨迹,已完全吻合。对于段序列SLIN-SPL-SLIN,通常要求SPL段在两条直线的较小交角之内运行。根据SPL段的起点与目标点,该轨道也可能在此范围之外运行,如下图所示。只有当满足以下条件时,轨迹才在该范围内运行。1)两个SLIN段在其延长线上相交。2)2/3a/b3/2a-从SPL段的起点至SLIN段的交点的距离b-从SLIN段的交点至SPL段的目标点的距离CP样条姿态引导机器人TCP在起始点和目标点处的方向可能不同。在CP样条编程时必须选择如何处理不同的姿态。姿态引导在选择窗口“移动参数”中选择,共有四种方式:1、恒定的方向 TCP的姿态在运动过程中保持不变。2、标准
13、TCP的姿态在运动过程中不断变化。TCP在目标点上具有编程设置的姿态。3、手动PTP TCP的姿态在运动过程中不断变化。这是由手轴角度的线性转换造成的。4、无取向 此选项仅用于CP样条段。用于无需对一个点确定。若选择了此选项,则机器人控制系统忽略对示教或编程过的点的姿态。机器人控制系统会根据周围点的姿态计算出此点的最佳姿态,可以缩短节拍时间。无取向姿态引导具有以下几个属性:1)在“步进运行”和“单个运行”程序方式下,机器人停止时的姿态为机器人控制系统计算出的姿态。2)如果在“无取向”的点上进行语句选择,机器人则采用机器人控制系统计算 出的姿态。SLIN运动方式下的姿态导引方式见下表。SLIN运
14、动姿态引导对于SCIRC运动来说,姿态导引的选择与SLIN相同。此外,还可以为SCIRC运动确定姿态引导是以空间(基准)为参照还是以轨道为参照。SCIRC运动姿态引导参照方式 SCIRC运动方式下的姿态导引见下表所示对样条组进行编程通过样条组可以将多个运动合并成一个总运动,一个样条组允许包含以下指令:提供样条功能的应用程序包中的联机指令注释和空行注:不允许包含其它指令如变量赋值或逻辑指令。 用联机表单为CP样条组编程CP样条组联机表单如下图所示,参数含义见下表。CP样条组选项窗口坐标系如下图所示,参数含义见下表。CP样条组移动参数选项窗口如下图所示,参数含义见下表。移动参数选项窗口参数含义CP
15、样条组段中的编程CP样条段联机表单如下图所示。CP样条段联机表单参数含义如下表所示。 用联机表单为PTP样条组编程PTP样条组联机表单如下图所示,参数含义见下表。PTP样条组选项窗口同CP样条组,如图2所示,参数含义见表2。PTP样条组选项窗口移动参数如下图所示,参数含义见下表。SPTP段联机表单如下图所示,参数含义见下表。用联机表单为样条单个运动编程样条单个运动SLIN的联机表单如下图所示,参数含义见下表。SLIN运动方式移动参数选项窗口如下图所示。SLIN运动移动参数选项窗口各个参数含义说明见下表。样条单个运动SCIRC联机表单如下图所示。样条单个运动SCIRC联机表单各个参数含义见下表。SCIRC移动参数与圆周配置选项窗口参数说明如下两图所示。SCIRC运动的移动参数窗口SCIRC运动的圆周配置窗口SCIRC移动参数与圆周配置各个参数含义说明见下表。 用联机表单为样条单个运动SPTP编程SPTP联机表单如下图所示。SPTP联机表单各个参数含义说明见下表。