掌桥专利:专业的专利平台
掌桥专利
首页

关节奇异区域的确定方法、机器人及存储装置

文献发布时间:2023-06-19 11:47:31


关节奇异区域的确定方法、机器人及存储装置

技术领域

本申请涉及机器人领域,尤其是涉及一种关节奇异区域的确定方法、机器人及存储装置。

背景技术

机器人运动学中,将机器手臂视为由刚体以及可提供平移或旋转的关节所组成,机器人运动学中使用雅可比(Jacobian)矩阵来转换轴角度及机械手臂末端的关系,当机械手臂中的两轴共线时,矩阵内并非完全线性独立,造成Jacobian矩阵的秩会减少,其行列式值为零,使得Jacobian矩阵无反函数,反向运动学无法运算,从而产生奇异点。当机械手臂末端接近奇异点时,微小的位移变化量就会导致某些轴的角度产生剧烈变化,产生近似无限大的角速度。例如,具有腕部奇异点的机器人,在腕部奇异点处,5轴为0度,4、6轴共线,此时速度雅可比矩阵不可逆,末端笛卡尔空间的有限速度将对应无穷大的轴速度,在这样的区域,机器人难以按照用户的指令程序进行示教和加工。

为了在机械手臂末端接近奇异点之前提前进行速度规划,通常有两种方法确定奇异区域边界:一种方法是直接指定关节的角度作为奇异区域边界;另一种方法是根据轴空间速度和笛卡尔空间的速度和的比例确定奇异区域边界。但是,因为现有机器人奇异区域边界的确定与用户的具体应用无关,无法根据用户指令轨迹的路径和速度确定奇异区域边界,所以可能导致区域设置太大,造成效率的浪费;或区域设置的太小,用户必须修通过修改程序才能通过奇异区域。

发明内容

本申请提出了一种机器人奇异区域的确定方法、机器人及存储装置,能够合理确定奇异区域,减少因区域设置过大造成的效率的浪费,同时可以保证确定的奇异区域不会因过小导致加工过程中出现奇异点导致的关节轴超速问题。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种机器人奇异区域的确定方法,应用于具有轴线正交于一点的第一轴、第二轴和第三轴的关节式机器人,第一轴、第二轴和第三轴依次连接,包括:判断机器人在当前轨迹中当前插补点的下一插补点对应的第一轴和第三轴中至少一个轴的速度是否大于预设速度;若大于预设速度,则设置机器人当前位置为奇异区域的进入边界;根据机器人的当前轨迹的终点及后续轨迹的终点对应的第一轴和第三轴的速度,利用分段法确定奇异区域的离开边界。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种机器人,包括:机械臂,以及与机械臂连接的处理器,该机械臂轴线正交于一点的第一轴、第二轴和第三轴,第一轴、第二轴和第三轴依次连接;处理器用于执行指令以实现如上所述的机器人奇异区域的确定方法。

为解决上述技术问题,本申请采用的又一个技术方案是:提供一种存储装置,内部存储有程序文件,该程序文件被执行以实现如上所述的机器人奇异区域的确定方法。

本申请的有益效果是:区别于现有技术的情况,本申请的实施例中,通过判断机器人在当前轨迹中当前插补点的下一插补点对应的第一轴和第三轴中至少一个轴的速度是否大于预设速度;若大于预设速度,则设置机器人当前位置为奇异区域的进入边界;并且根据机器人的当前轨迹的终点及后续轨迹的终点对应的第一轴和第三轴的速度,利用分段法确定奇异区域的离开边界,从而可以根据加工或示教过程中的实际指令控制的机械臂的轨迹过程中第一轴和第三轴中至少一个轴是否超速作为判断条件,并结合分段法可以实时确定合理的奇异区域边界,使得确定的奇异区域不会因过小导致加工过程中出现因奇异点导致的关节轴超速问题,也不会因为确定的过大导致不必要的轨迹精度的损失。

附图说明

图1是本申请机器人奇异区域的确定方法第一实施例的流程示意图;

图2是具有轴线相交于一点的第一轴、第二轴和第三轴的六轴串联机器人的结构示意图;

图3是图1中步骤S14的具体流程示意图;

图4是利用二分法更新边界起点或边界终点的示意图;

图5是本申请机器人奇异区域的确定方法第二实施例的流程示意图;

图6是本申请机器人奇异区域的确定方法第三实施例的流程示意图;

图7是图6中步骤S41的具体流程示意图;

图8是本申请机器人一实施例的结构示意图;

图9是本申请存储装置一实施例的结构示意图。

具体实施方式

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

如图1所示,本申请机器人奇异区域确定方法的第一实施例包括:

S12:判断机器人在当前轨迹中当前插补点的下一插补点对应的第一轴和第三轴中至少一个轴的速度是否大于预设速度。

其中,该机器人是具有轴线正交于一点的第一轴、第二轴和第三轴的关节式机器人。关节式机器人的关节具有对应的转轴,本实施例中,第一轴、第二轴和第三轴依次连接,例如图2中六轴串联机器人,第一轴对应控制手腕旋转的关节,第二轴对应控制手腕上下摆动的关节,第三轴对应控制手腕圆周旋转的关节,三个关节依次连接,且三个关节对应的轴的轴线正交于一点。该预设速度是机器人的关节能够达到的最大转速,例如机器人控制系统能够指定的最大速度,其具体取值取决于机器人使用的电机的最大转速,如每秒150度。

可选地,如图1所示,在步骤S12之前,还可以包括:

S11:计算机器人运动轨迹,得到插补周期,并根据运动轨迹进行速度规划。

其中,机器人的运动轨迹为其法兰中心或TCP(Tool Central Point,工具中心点)点的运动轨迹。在一个应用例中,机器人在加工或示教过程中,接收用户或系统的控制指令,该控制指令指示机器人运动的起点和终点,机器人会在运动的起点和终点之间规划出其末端执行件的运动轨迹(本文简称为机器人的运动轨迹),在轨迹规划过程中,机器人通常采用在已知运动的起点和终点之间进行插补的操作插入中间点,例如在运动的起点和终点之间插入多个插补点,从而得到机器人的运动轨迹,并可以根据运动轨迹进行速度规划,其中,所述运动轨迹可以由多段轨迹组成。

运动轨迹规划好之后,可以根据运动轨迹生成控制指令,由控制指令指定机器人运动的每段轨迹,可称为指令轨迹。当机器人进行插补时,机器人准备在当前轨迹中的当前插补点后插入下一插补点时,可以利用机器人运动学逆解等方法先计算该下一插补点对应的第一轴和第三轴的速度,若计算出的第一轴和第三轴中任一个轴的速度大于该预设速度,或者两个轴的速度均大于该预设速度,则执行如下步骤S13。

S13:设置机器人当前位置为奇异区域的进入边界。

其中,机器人的当前位置为其法兰中心或TCP点在当前插补点时的位置。奇异区域是包含奇异点位置的机器人法兰中心或TCP点的位置区域。

具体地,当机器人在当前插补点的下一个插补点对应的第一轴和第三轴中至少一个轴的速度大于预设速度时,说明机器人即将进入奇异区域,如六轴串联机器人腕部的该第一轴和第三轴即将共线,此时,可以将机器人的当前位置设置为奇异区域的进入边界。

S14:根据机器人的当前轨迹的终点及后续轨迹的终点对应的第一轴和第三轴的速度,利用分段法确定奇异区域的离开边界。

针对奇异区域的离开边界,根据机器人的当前轨迹及后续轨迹的终点对应的第一轴和第三轴的速度,可以利用分段法确定奇异区域的离开边界。其中,该分段法可以是二分法,也可以是三段等分法等类型的方法。

可选地,如图3所示,以二分法进行分段时,步骤S14包括:

S141:依次判断当前轨迹的终点及后续轨迹的终点对应的第一轴和第三轴的速度是否小于或等于预设速度,直至找到终点对应的第一轴和第三轴的速度小于或等于预设速度的轨迹,以该轨迹为边界轨迹,以该边界轨迹的终点为边界终点,以当前轨迹的起点为边界起点。

其中,当前轨迹是机器人的当前指令轨迹,是以机器人当前位置为起点,以机器人接收到的控制指令中指定的当前位置的下一位置点为终点的轨迹。后续轨迹是除当前轨迹外,以机器人接收到的控制指令中指定的任意相邻两个位置点确定的轨迹。边界轨迹是以机器人接收到的控制指令中指定的任意相邻两个位置点确定的轨迹中的其中一段轨迹,且该边界轨迹的终点对应的第一轴和第三轴的速度小于或等于预设速度。

具体地,机器人可以首先计算当前轨迹的终点对应的第一轴和第三轴的速度,若当前轨迹的终点对应的第一轴和第三轴的速度中至少一个大于该预设速度,则继续选择后续下一个轨迹的终点计算其对应的第一轴和第三轴的速度,判断后续下一个轨迹的终点对应的第一轴和第三轴的速度是否大于预设速度,依次类推,直到计算出的某段轨迹的终点对应的第一轴和第三轴的速度均不大于该预设速度时,则确定该段轨迹为边界轨迹。由于奇异区域的离开边界对应的第一轴和第三轴的速度应均小于或等于预设速度,因此,奇异区域的离开边界必定在边界起点和边界终点之间的区域,可以该边界轨迹的终点为边界终点,以当前轨迹的起点为边界起点,确定一段分段轨迹,然后利用分段方法不断缩小分段轨迹范围,最终得到奇异区域的离开边界。

S142:计算边界终点与边界起点的中间点。

该中间点是分段法中将边界起点和边界终点之间的轨迹分为两段的轨迹点,例如中点、黄金分割点或其他任意点等。

具体地,在一个应用例中,如图4所示,当边界起点Ps和边界终点Pe确定后,Ps和Pe之间的轨迹即确定(如图4中的线段PsPe),此时直接计算该轨迹的中点,即计算线段PsPe的中点P1,该中点P1即为边界终点与边界起点的中间点。

在其他应用例中,也可以计算边界起点Ps和边界终点Pe直接连成的线段的中点、黄金分割点或其他任意点等,作为该中间点。

S143:判断该中间点对应的第一轴和第三轴的速度是否至少一个大于预设速度。

若该中间点对应的第一轴和第三轴的速度至少一个大于预设速度,则执行步骤S144,若该中间点对应的第一轴和第三轴的速度均小于或等于预设速度,则执行步骤S145。

S144:以该中间点为边界起点。

S145:以该中间点为边界终点。

具体地,在上述应用例中,如图4所示,在初始状态时,以当前轨迹的起点P

S146:判断步骤S142的执行次数是否达到预设次数。

其中,该预设次数与插补周期和步骤S142、S143和S144/S145S所用时间相关,例如该预设次数应小于或等于插补周期与步骤步骤S142所用时间的比值。

若步骤S142的执行次数达到预设次数,则执行如下步骤S147,否则返回执行步骤S142。

S147:以最后一次执行步骤S145得到的边界终点为奇异区域的离开边界。

具体地,在上述应用例中,每次执行步骤S142、S143和S144/S145后,分段轨迹即被缩小,当重复执行上述步骤S142、S143和S144/S145的次数达到预设次数,例如可以利用计数器计算上述步骤执行的次数,每执行一次步骤S142、S143和S144/S145即算一次,重复一次上述步骤,计数器的计数值加一,当计数值大于预设次数(如20次)时,则表明二分次数够多,分段轨迹的终点已经足够接近奇异区域的离开边界,此时可以直接将最后一次执行S145得到的边界终点为奇异区域的离开边界,即将最后得到的分段边界的终点P

在其他实施例中,也可以采用三段等分法等分段方法缩短分段轨迹,确定奇异区域的离开边界。其中,其他分段方法的具体执行过程也可以采用与二分法类似的过程,即获取中间点,将第一轴和第三轴的速度至少一个大于预设速度的中间点更新为边界终点,而将第一轴和第三轴的速度均小于或等于预设速度的中间点更新为边界起点,多次迭代缩短分段轨迹后,最终以最后一次迭代得到的分段轨迹的边界终点作为奇异区域的离开边界。

可选地,继续参阅图1所示,若步骤S12的判断结果为否,即机器人下一插补点对应的第一轴和第三轴的速度均不大于预设速度,则执行如下步骤S15。

S15:按照原运动轨迹进行速度规划。

S16:控制机器人按照原运动轨迹和规划的速度进行运动。

其中,该原运动轨迹即根据计算得到的原运动轨迹或用户实际加工或示教的原指定轨迹。

具体地,当步骤S12的判断结果是否,即第一轴和第三轴的速度均不大于该预设速度,即机器人还未进入奇异区域边界,此时机器人可以继续按照原运动轨迹进行笛卡尔空间的速度规划,然后机器人可以继续按照规划得到的轨迹和速度进行运动,并获取下一插补点,返回执行步骤S12,继续判断机器人在当前轨迹中当前插补点的下一插补点对应的第一轴和第三轴中至少一个轴的速度是否大于预设速度,以确定机器人的关节奇异区域边界。

本实施例中,根据加工或示教过程中的实际指令控制的机械臂的轨迹过程中第一轴和第三轴中至少一个轴是否超速作为判断条件,并结合分段法,可以在实际加工或示教过程中实时确定合理的奇异区域边界,使得确定的奇异区域不会因过小导致加工过程中出现因奇异点导致的关节轴超速问题,也不会因为确定的过大导致不必要的轨迹精度的损失。

为了减少机器人确定关节奇异区域时的计算量,可以预先设定一个奇异区域的粗略边界,当机器人进入该粗略边界后才利用上述步骤确定该机器人的关节奇异区域。具体如图5所示,本申请机器人奇异区域的确定方法第二实施例是在本申请机器人奇异区域的确定方法第一实施例的基础上,进一步限定步骤S12之前,还可以包括:

S31:判断机器人的第二轴的角度是否在预设范围内。

第一轴和第三轴共线时第二轴的角度θ是处于预设范围内的。由于第一轴和第三轴共线时,机器人处于关节奇异区域内,机器人的第一轴和第三轴的速度会超过预设速度,使得机器人无法进行速度规划,因此,预设范围是预先设定的机器人可能处于关节奇异区域的第二轴的角度范围,通过判断机器人的第二轴的角度是否在预设范围内,可以判断第一轴和第三轴是否共线,进而可以判断器人是否处于关节奇异区域内。其中,预设范围的具体取值可以为θ-10°~θ+10°。

若第二轴的角度在预设范围内,则执行步骤S32。

S32:执行步骤S12,判断机器人在当前轨迹中当前插补点的下一插补点对应的第一轴和第三轴中至少一个轴的速度是否大于预设速度。

具体地,在一个应用例中,机器人加工或示教过程中,机器人可以获取各轴的角度,当获取第二轴的角度后,机器人会判断该第二轴的角度是否在预设范围θ-10°~θ+10°内(包括两个端点)。例如,机器人可以设定该角度θ为0°,机器人会判断该第二轴的角度是否在-10°~10°之间,若该第二轴的角度在-10°~10°之间,则表明机器人即将进入奇异区域,此时可以继续执行步骤S12,以确定具体地奇异区域边界。

可选地,继续参阅图5,若第二轴的角度不在预设范围内,则执行步骤S33。

S33:确定机器人不在该关节奇异区域内。

在上述应用例中,当机器人获取第二轴的角度后,如第二轴角度为20°时,机器人会确定该第二轴的角度不在该预设范围-10°~10°之间,此时,确定机器人不在该关节奇异区域内,机器人不需要执行步骤S12,可以继续按照原先实际的加工或示教的指定轨迹进行速度规划。

本实施例中,通过预先设定一个第二轴的角度预设范围作为关节奇异区域的粗略边界,当机器人的第二轴的角度在该预设范围内时,才执行判断机器人在当前轨迹中的下一插补点对应的第一轴和第三轴中至少一个轴的速度是否大于预设速度的步骤,以及后续的迭代步骤,而在第二轴的角度不在预设范围内时,不执行该判断步骤,从而可以减少机器人的计算量,提高效率。

如图6所示,本申请机器人奇异区域的确定方法第三实施例是在本申请机器人奇异区域的确定方法第一实施例的基础上,进一步限定步骤S13之后,还包括:

S41:构造关节奇异区域的插补轨迹。

S42:控制机器人按照插补轨迹进行运动。

具体地,机器人在确定关节奇异区域后,若继续按照原来的指令轨迹进行速度规划,会导致第一轴和第三轴超速,机器人难以继续进行加工或示教。因此,为了满足机器人在该关节奇异区域的示教和加工需求,可以对机器人进行该关节奇异区域的运行轨迹和速度重新规划,构造该关节奇异区域的插补轨迹,之后机器人按照该插补轨迹进行运动,即可以使得机器人在该关节奇异区域内正常完成加工或示教。其中,插补轨迹的位置与原指令轨迹的位置相同,即位置精度一致,但为了避免第一轴和第三轴超速,插补轨迹需要进行单独的速度规划,此时关节轴的姿态与依据原指令轨迹运动的姿态不同。

可选地,如图7所示,步骤S41具体包括:

S411:根据关节奇异区域的进入边界和离开边界的位置进行位置路径速度规划,以得到机器人法兰坐标系的位置。

具体地,为了保证位置精度,机器人可以根据关节奇异区域的进入边界和离开边界的位置继续按照原指令轨迹进行位置路径速度规划,获取机器人法兰坐标系的位置,此时机器人法兰坐标系的位置与原指令轨迹的位置相同。当机器人夹持工件时,根据工件上表面中心点坐标系与机器人法兰坐标系及其变换关系,可以得到机器人法兰坐标系的位置。

S412:根据关节奇异区域的进入边界和离开边界的机器人位姿计算出对应的第一轴、第二轴和第三轴的轴位置,并构造对应的三条单轴轨迹,进行速度规划。

具体地,由于关节奇异区域的进入边界和离开边界均不是机器人的奇异点,因此仍然可以根据机器人逆解,求解出进入边界和离开边界的位姿对应的第一轴、第二轴和第三轴的轴位置,即第一轴、第二轴和第三轴的角度,然后根据该第一轴、第二轴和第三轴的角度,可以构造每个轴对应的单轴轨迹,进行速度规划,即规划每个轴的角度变化过程,避免各个轴的速度超过预设速度。

S413:在每一个插补周期,根据机器人法兰坐标系的位置和第一轴、第二轴和第三轴的轴位置,计算机器人对应的其他轴的轴位置。

其中,轴位置是指各轴的角度,例如第一轴的轴位置即为第一轴的角度。

具体地,当该机器人是六轴串联机器人时,可以利用如下公式计算机器人对应的其他三轴的轴位置:

(q

其中,q

当然,当机器人是其他类型的机器人(如七轴机器人)时,该机器人也可以根据机器人运动学原理,利用类似上述公式的方法计算其他轴的轴位置,以便形成机器人的该插补轨迹。

本实施例还可以与本申请机器人奇异区域的确定方法第二实施例相结合。

如图8所示,本申请机器人一实施例中,机器人60包括:机械臂601,以及与该机械臂601连接的处理器602,具体地,可以为机械臂的传感器及控制器与所述处理器连接。

其中,该机械臂601具有轴线正交于一点的第一轴、第二轴和第三轴,该第一轴、第二轴和第三轴依次连接。例如,当机器人60是六轴串联机器人时,该机械臂601包括串联的六轴,其中腕部包括轴线正交于一点的第一轴、第二轴和第三轴。

处理器602控制机器人60的操作,处理器602还可以称为CPU(Central ProcessingUnit,中央处理单元)。处理器602可能是一种集成电路芯片,具有信号的处理能力。处理器602还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

处理器602用于执行指令以实现如本申请关节奇异区域的确定方法第一至第三任一实施例或其不冲突的组合所提供的方法。

可选地,如图9所示,该机器人60还可以包括:存储器603,耦接该处理器602,用于存储处理器602执行的指令以及执行指令所需的数据。

此外,该机器人60还可以根据实际需求包括显示装置(图未示)、输入输出装置等设备。

本实施例中,机器人根据加工或示教过程中的实际指令控制的机械臂的轨迹过程中第一轴和第三轴中至少一个轴是否超速作为判断条件,并结合分段法,可以在实际加工或示教过程中实时确定合理的奇异区域边界,使得确定的奇异区域不会因过小导致加工过程中出现因奇异点导致的关节轴超速问题,也不会因为确定的过大导致不必要的轨迹精度的损失。

如图9所示,本申请存储装置一实施例中,存储装置70内部存储有程序文件701,该程序文件701被执行时实现如本申请关节奇异区域的确定方法第一至第三任一实施例或其不冲突的组合所提供的方法。

其中,存储装置70可以是便携式存储介质如U盘、光盘,也可以是机器人、服务器或可集成于机器人中的独立部件,例如控制芯片等。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 关节奇异区域的确定方法、机器人及存储装置
  • 一种奇异点区域减速保护方法、系统和工业机器人
技术分类

06120113057231