SCARA机器人及其运动控制方法、系统及相关组件与流程

文档序号:18742189发布日期:2019-09-21 01:54阅读:866来源:国知局
SCARA机器人及其运动控制方法、系统及相关组件与流程

本发明涉及机器人控制领域,特别涉及一种SCARA机器人及其运动控制方法、系统及相关组件。



背景技术:

SCARA机器人,由于其高速高精度及柔性控制等特点,广泛应用于装配、包装、码垛、焊接等制造业中。SCARA机器人的关节一般采用伺服电机驱动,通过对四个关节伺服电机的角度控制实现四个自由度,包括三个轴线互相平行、实现平面内定位和定向运动的水平转动自由度,以及一个实现机械手垂直于平面运动的垂直移动自由度。

SCARA机器人直线运动时,一般采用直线插补的方法,在起止两点之间确定若干个中间插补点,通过机器人末端沿中间插补点运动完成从起点到终点的直线运动。因此,机器人末端能够准确经过所有中间插补点是达到直线运动效果的重要条件。现有采用工控机+运动控制卡的方案时,工控机计算得到运动轨迹规划计算结果,并将计算结果发送到对应每个伺服电机的运动控制卡实现伺服电机的运动。

但是,由于工控机与运动控制卡的通信存在延迟,且工控机以串口通信的方式向多个运动控制卡发送信息,从而运动控制卡之间接收到信息的时间存在误差,导致伺服电机之间也出现同步误差,影响控制精度,导致机器人末端无法准确到达目标插补点。

因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种SCARA机器人及其运动控制方法、系统及相关组件,以保证机器人末端能够准确到达目标插补点,提高控制精确度。其具体方案如下:

一种SCARA机器人的运动控制方法,应用于工控机,包括:

计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量;

按信息传送顺序分配对应多个所述关节电机的运动时间,所述运动时间依次降低,相邻两个所述运动时间相差预设时间差;

根据每个所述关节电机对应的角度变化量和运动时间,确定对应的运动速度;

按所述信息传送顺序依次向多个所述关节电机发送控制指令,以使多个所述关节电机按照对应的所述运动速度运动。

优选的,所述预设时间差具体为等于或大于相邻两个所述关节电机接收所述控制指令的通信间隔的时间差值。

优选的,所述计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量之前,还包括:

获取目标运动轨迹;

根据所述目标运动轨迹,确定多个插补点的位置;

根据多个所述插补点的位置,确定所述初始插补点和所述目标插补点。

优选的,所述根据多个所述插补点的位置,确定所述初始插补点和所述目标插补点的过程,具体包括:

确定所述目标运动轨迹的起点为所述初始插补点,确定所述目标运动轨迹上所述初始插补点的下一个所述插补点为所述目标插补点。

优选的,所述按所述信息传送顺序依次向多个所述关节电机发送控制指令之后,还包括:

将当前目标插补点确定为所述初始插补点,并执行所述计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量的步骤;

当所述初始插补点对应所述目标运动轨迹的终点,停止向多个所述关节电机发送所述控制指令。

优选的,多个所述关节电机具体为四个步进电机。

相应的,本发明还公开了一种SCARA机器人的运动控制系统,应用于工控机,包括:

第一计算模块,用于计算从所述初始插补点到所述目标插补点的过程中,多个关节电机各自对应的角度变化量;

第二计算模块,用于按信息传送顺序分配对应多个所述关节电机的运动时间,所述运动时间依次降低,相邻两个所述运动时间相差预设时间差;

第三计算模块,用于根据每个所述关节电机对应的角度变化量和运动时间,确定对应的运动速度;

信息发送模块,用于按所述信息传送顺序依次向多个所述关节电机发送控制指令,以使多个所述关节电机按照对应的所述运动速度运动。

相应的,本发明还公开了一种工控机,应用于SCARA机器人,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述SCARA机器人的运动控制方法的步骤。

相应的,本发明还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述SCARA机器人的运动控制方法的步骤。

相应的,本发明还公开了一种SCARA机器人,包括:

如上文所述的工控机;

与所述工控机连接的多个关节电机。

本发明公开了一种SCARA机器人的运动控制方法,应用于工控机,包括:计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量;按信息传送顺序分配对应多个所述关节电机的运动时间,所述运动时间依次降低,相邻两个所述运动时间相差预设时间差;根据每个所述关节电机对应的角度变化量和运动时间,确定对应的运动速度;按所述信息传送顺序依次向多个所述关节电机发送控制指令,以使多个所述关节电机按照对应的所述运动速度运动。本发明中每个关节电机的运动时间考虑了预设时间差,再去进一步确定运动速度,因此避免了通信延时对关节电机运动效果的影响,降低关节电机之间的同步误差,提高SCARA机器人的控制精度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例中一种SCARA机器人的运动控制方法的步骤流程图;

图2a为本发明实施例中一种运动时间分布的线段示意图;

图2b为本发明实施例中一种运动时间分布的线段示意图;

图2c为现有技术中一种运动时间分布的线段示意图;

图3为本发明实施例中一种具体的SCARA机器人的运动控制方法的步骤流程图;

图4为本发明实施例中一种SCARA机器人的运动控制系统的结构分布图;

图5为本发明实施例中一种SCARA机器人的结构分布图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

由于工控机与运动控制卡的通信存在延迟,且工控机以串口通信的方式向多个运动控制卡发送信息,从而运动控制卡之间接收到信息的时间存在误差,导致伺服电机之间也出现同步误差,影响控制精度,导致机器人末端无法准确到达目标插补点。本申请中每个关节电机的运动时间考虑了预设时间差,再去进一步确定运动速度,因此避免了通信延时对关节电机运动效果的影响,降低关节电机之间的同步误差,提高SCARA机器人的控制精度。

本发明实施例公开了一种SCARA机器人的运动控制方法,应用于工控机,参见图1所示,包括:

S11:计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量;

具体的,多个关节电机为用于驱动SCARA机器人关节的电机,通常为四个,具体类型包括伺服电机和/或步进电机。而实际上,本实施例中关节电机包括运动控制卡以及由运动控制卡控制驱动的实际动作的机械部分,每个运动控制卡驱动对应的动作电机运动。

S12:按信息传送顺序分配对应多个所述关节电机的运动时间,所述运动时间依次降低,相邻两个所述运动时间相差预设时间差;

可以理解的是,信息传送顺序是基于工控机与关节电机的连接关系、通信方式决定的,本实施例中应用在SCARA机器人中的工控机,通过CAN总线采用并行的方式分别与关节电机连接,以串口转CAN的通信方式依次向多个关节电机发送信息,实际上工控机与每个关节电机内部的运动控制卡连接,依次向运动控制卡发送信息。由于串口通信中,关节电机不能同时接受信息,因此直接按照现有技术处理时关节电机不能同步控制,进而运动不精确。需要注意的是,由于线路传输时间差异极小可忽略,因此信息传送顺序的确定不需要考虑具体关节电机与工控机的连接距离。

具体的,信息传送顺序首位对应的运动时间,一般取值在100ms~400ms之间,预设时间差也通常选择毫秒级的数值。

以四个关节电机M1、M2、M3、M4为例,假设其信息传送顺序为M1-M2-M3-M4,对应运动时间分别为t1、t2、t3、t4,设预设时间差为△t,这四个运动时间从t1到t4依次减小,相邻两个运动时间的差值为预设时间差△t。

具体的,预设时间差△t为等于或大于相邻两个所述关节电机接收所述控制指令的通信间隔的时间差值,这里的通信间隔也就是导致关节电机无法同步控制的通信延迟。参见图2a和图2b所示,图2a为预设时间差△t等于通信间隔的情况,图2b为预设时间差△t大于通信间隔的情况,可以看出,在本实施例的情况下,关节电机M1停止运动的时刻,其他关节电机M2-M4也已经结束了运动时间。

假设关节电机M1的运动时间t1=100ms,假设相邻两个关节电机接收控制指令的通信间隔的时间差值为2.5ms,其预设时间差△t可直接确定为2.5ms,则对应的运动时间依次为t1=100ms、t2=97.5ms、t3=95ms、t4=92.5ms;但是考虑到通信间隔的测量误差,其预设时间差△t也可以确定为略大于2.5ms的4ms,此时对应的运动时间依次为t1=100ms、t2=96ms、t3=92ms、t4=88ms。

S13:根据每个所述关节电机对应的角度变化量和运动时间,确定对应的运动速度;

可以理解的是,对每个关节电机而言,其角度变化量为机器人末端自初始插补点到目标插补点这一运动过程中关节电机运动过的角度,该角度变化量等于关节电机的运动时间与运动速度的乘积,很容易得出,上述四个关节电机的角度变化量θ1、θ2、θ3、θ4分别与运动时间t1、t2、t3、t4相除得到对应的运动速度v1、v2、v3、v4。

S14:按所述信息传送顺序依次向多个所述关节电机发送控制指令,以使多个所述关节电机按照对应的所述运动速度运动。

可以理解的是,当按照现有技术控制关节电机时,由于不考虑预设时间差△t,每个关节电机的运动时间的示意图为图2c,在该图中当关节电机M1运动了t1到达指定位置时,其他的关节电机还未到位,也即所有关节电机未同步,导致SCARA机器人末端无法准确到达目标插补点。

而按照本实施例控制关节电机时,当预设时间差△t为等于相邻两个所述关节电机接收所述控制指令的通信间隔的时间差值,则向运动控制卡依次发送控制指令,运动控制卡仅以确定的运动速度就可以驱动运动电机,使所有关节电机在同一时刻到达目标插补点对应的角度状态;但是,考虑到实际应用时很难准确测算到通信间隔,SCARA机器人的任何元件型号的改变都可能导致通信间隔变化,因此为了降低测算成本,可以估算通信间隔后选择一个确定为略大于通信间隔的时间差值作为预设时间差△t来计算,后续控制关节电机运动按照对应的运动速度和运动时间动作,保证在第一个关节电机运动经过角度变化量时其他关节电机也已经运动经过了其对应的角度变化量,从而SCARA机器人末端能准确到达目标插补点。

本发明实施例公开了一种SCARA机器人的运动控制方法,应用于工控机,包括:计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量;按信息传送顺序分配对应多个所述关节电机的运动时间,所述运动时间依次降低,相邻两个所述运动时间相差预设时间差;根据每个所述关节电机对应的角度变化量和运动时间,确定对应的运动速度;按所述信息传送顺序依次向多个所述关节电机发送控制指令,以使多个所述关节电机按照对应的所述运动速度运动。本发明实施例中每个关节电机的运动时间考虑了预设时间差,再去进一步确定运动速度,因此避免了通信延时对关节电机运动效果的影响,降低关节电机之间的同步误差,提高SCARA机器人的控制精度。

本发明实施例公开了一种具体的SCARA机器人的运动控制方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的,参见图3所示:

优选的,所述计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量之前,还包括:

S21:获取目标运动轨迹;

具体的,该目标运动轨迹包括参数信息明确的直线和/或曲线。

S22:根据所述目标运动轨迹,确定多个插补点的位置;

具体的,插补点的个数根据目标运动轨迹的长度和运动精度要求确定,通常精度要求越高,插补点的个数越多,一般选择5至15个插补点即可。

S23:根据多个所述插补点的位置,确定所述初始插补点和所述目标插补点。

具体的,确定所述目标运动轨迹的起点为所述初始插补点,确定所述目标运动轨迹上所述初始插补点的下一个所述插补点为所述目标插补点。

S24:计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量;

S25:按信息传送顺序分配对应多个所述关节电机的运动时间,所述运动时间依次降低,相邻两个所述运动时间相差预设时间差;

S26:根据每个所述关节电机对应的角度变化量和运动时间,确定对应的运动速度;

S27:按所述信息传送顺序依次向多个所述关节电机发送控制指令,以使多个所述关节电机按照对应的所述运动速度运动。

S28:将当前目标插补点确定为所述初始插补点,并执行步骤S24所述计算从初始插补点到目标插补点的过程中,多个关节电机各自对应的角度变化量;

S29:当所述初始插补点对应所述目标运动轨迹的终点,停止向多个所述关节电机发送所述控制指令。

利用本实施例中的运动控制方法,SCARA机器人不会出现通信延迟的情况,能够较为准确地实现目标运动轨迹。

相应的,本发明实施例还公开了一种SCARA机器人的运动控制系统,应用于工控机,参见图4所示,包括:

第一计算模块11,用于计算从所述初始插补点到所述目标插补点的过程中,多个关节电机各自对应的角度变化量;

第二计算模块12,用于按信息传送顺序分配对应多个所述关节电机的运动时间,所述运动时间依次降低,相邻两个所述运动时间相差预设时间差;

第三计算模块13,用于根据每个所述关节电机对应的角度变化量和运动时间,确定对应的运动速度;

信息发送模块14,用于按所述信息传送顺序依次向多个所述关节电机发送控制指令,以使多个所述关节电机按照对应的所述运动速度运动。

本发明实施例中每个关节电机的运动时间考虑了预设时间差,再去进一步确定运动速度,因此避免了通信延时对关节电机运动效果的影响,降低关节电机之间的同步误差,提高SCARA机器人的控制精度。

相应的,本发明实施例还公开了一种工控机,应用于SCARA机器人,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任一项所述SCARA机器人的运动控制方法的步骤。

具体的,本实施例中有关SCARA机器人的运动控制方法的细节描述可以参照上文中的相关内容,此处不再赘述。

其中,本实施例中的工控机具有与上文中SCARA机器人的运动控制方法相同的有益效果,此处不再赘述。

相应的,本发明实施例还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述SCARA机器人的运动控制方法的步骤。

具体的,本实施例中有关SCARA机器人的运动控制方法的细节描述可以参照上文中的相关内容,此处不再赘述。

其中,本实施例中的可读存储介质具有与上文中SCARA机器人的运动控制方法相同的有益效果,此处不再赘述。

相应的,本发明实施例还公开了一种SCARA机器人,参见图5所示,包括:

如上文所述的工控机21;

与所述工控机连接的多个关节电机22。

具体的,本实施例的关节电机22为用于驱动SCARA机器人关节的电机,通常为四个,具体类型包括伺服电机和/或步进电机。而实际上,本实施例中关节电机22包括运动控制卡以及由运动控制卡控制驱动的动作电机,每个运动控制卡驱动对应的动作电机运动。

本实施例中工控机21,通过CAN总线采用并行的方式分别与关节电机连接,以串口转CAN的通信方式依次向多个关节电机22发送信息,实际上工控机21与每个关节电机22内部的运动控制卡连接,依次向运动控制卡发送信息。至于工控机21的其他细节,可以参照上文实施例中描述,此处不再赘述。

本实施例具有与上文实施例中工控机相同的有益效果,此处不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种SCARA机器人及其运动控制方法、系统及相关组件进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1