发明内容
本发明的主要目的在于提供一种机器人的奇异规避方法、装置、终端以及介质,旨在通过改变机器人在附加轴上的位置,从而在保证机器人末端精度的基础上,在机器人的轨迹规划中实现奇异点规避。
根据本申请实施例的一方面,公开了一种机器人的奇异规避方法,所述机器人的奇异规避方法应用于设有附加轴的机器人,所述方法包括:
获取机器人的加工路径包含的多个目标点,所述加工路径为所述机器人的末端在作业过程中的移动轨迹,所述目标点为所述机器人的末端在作业过程中的停留位置,所述机器人的末端为所述机器人远离所述附加轴的一端;
计算所述机器人在所述附加轴的第一位置处遍历所述目标点时分别对应的腕部轴关节角;
将所述第一位置对应的所述腕部轴关节角与预设奇异阈值范围进行比对得到第一比对结果,所述预设奇异阈值范围为判断所述腕部轴关节角对应的目标点是否为腕部奇异点的判断标准;
若所述第一比对结果为所述腕部轴关节角符合所述预设奇异阈值范围,控制所述机器人在所述附加轴上移动至第二位置,所述第二位置位于附加轴上且区别于所述第一位置,以使所述机器人在所述第二位置规避所述加工路径的腕部奇异点。
在本申请的一些实施例中,基于以上技术方案,控制所述机器人在所述附加轴上移动至第二位置,包括:
获取所述目标点对应的工具坐标系,所述工具坐标系为根据设于所述机器人的末端的工具的尖点作为原点建立的坐标系;
计算所述工具坐标系与所述机器人的基坐标系之间的预设方向夹角,所述预设方向夹角为所述工具坐标系与所述基坐标系分别对应的坐标轴方向所形成的、且能够随着所述机器人在所述附加轴上移动而发生变化的夹角;
根据所述预设方向夹角确定所述机器人在所述附加轴上的第一移动方向;
控制所述机器人沿所述第一移动方向在所述附加轴上移动至第二位置。
在本申请的一些实施例中,基于以上技术方案,控制所述机器人沿所述第一移动方向在所述附加轴上移动至第二位置,包括:
根据所述机器人的作业范围的大小确定第一移动步长,所述作业范围为包含所有所述目标点的空间;
控制所述机器人根据所述第一移动方向在所述附加轴上移动所述第一移动步长至所述第二位置。
在本申请的一些实施例中,基于以上技术方案,在控制所述机器人根据所述第一移动方向在所述附加轴上移动所述第一移动步长至所述第二位置之后,所述方法还包括:
计算所述机器人位于所述第二位置遍历所述目标点时分别对应的轴关节角,所述轴关节角包括腕部轴关节角;
将所述轴关节角与所述轴关节角对应的自由度进行比对,所述自由度为所述轴关节角的预设活动阈值;
若所述轴关节角超过所述自由度,控制所述机器人根据第二移动方向在所述附加轴上移动第二移动步长至第三位置,其中,所述第二移动方向与所述第一移动方向相反,所述第二移动步长小于所述第一移动步长。
在本申请的一些实施例中,基于以上技术方案,在将所述轴关节角与所述轴关节角对应的自由度进行比对之后,所述方法还包括:
若所述轴关节角未超过所述自由度,将所述第二位置分别对应的腕部轴关节角与所述预设奇异阈值范围进行比对得到第二比对结果;
若所述第二比对结果为不符合所述预设奇异阈值范围,确定所述第二位置为工作位置,所述工作位置为所述机器人作业时在所述附加轴上的停留位置。
在本申请的一些实施例中,基于以上技术方案,将所述第二位置分别对应的腕部轴关节角与所述预设奇异阈值范围进行比对得到第二比对结果之后,所述方法还包括:
若所述第二比对结果符合所述预设奇异阈值范围,控制所述机器人根据所述第一移动方向在所述附加轴上移动至第四位置,以使所述机器人在所述第四位置规避所述加工路径的所述腕部奇异点。
在本申请的一些实施例中,基于以上技术方案,在将所述第一位置对应的所述腕部轴关节角与预设奇异阈值范围进行比对得到第一比对结果之前,所述方法还包括:
获取所述机器人到达所述目标点时轴关节分别对应的移动速度;
根据所述轴关节对应的移动速度确定所述目标点分别对应的预设奇异阈值范围。
根据本申请实施例的一方面,公开了一种机器人控制装置,所述机器人控制装置包括:
获取模块,被配置为获取机器人的加工路径包含的多个目标点,所述加工路径为所述机器人的末端在作业过程中的移动轨迹,所述目标点为所述机器人的末端在作业过程中的停留位置,所述机器人的末端为所述机器人远离所述附加轴的一端;
计算模块,被配置为计算所述机器人在附加轴的第一位置处遍历所述目标点时分别对应的腕部轴关节角;
比对模块,被配置为将所述第一位置对应的所述腕部轴关节角与预设奇异阈值范围进行比对得到第一比对结果,所述预设奇异阈值范围为判断所述腕部轴关节角对应的目标点是否为腕部奇异点的判断标准;
移动模块,被配置为若所述第一比对结果为所述腕部轴关节角符合所述预设奇异阈值范围,控制所述机器人在所述附加轴上移动至第二位置,所述第二位置位于附加轴上且区别于所述第一位置,以使所述机器人在所述第二位置规避所述加工路径的腕部奇异点。
根据本申请实施例的一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如以上技术方案中的机器人控制方法。
本申请提供的机器人控制方法,通过遍历机器人加工路径上的所有目标点时,机器人的腕部轴关节角是否处于预设奇异阈值范围,该预设奇异阈值范围用于判断机器人在该目标点是否会出现奇异点,当该腕部轴关节角处于预设奇异阈值范围时,控制机器人在附加轴上进行移动以改变机器人的位置,从而使机器人在移动后的位置进行作业以规避原加工路径上可能遭遇的奇异点,保证加工路径的可行性。
如此,本申请提供的机器人的奇异规避方法,由于附加轴作为机器人运动中的冗余自由度,因此可以在不改变机器人末端位姿的前提下,通过改变机器人在附加轴上的位置来规避加工路径中的奇异点,从而在保证机器人末端精度的基础上,在机器人的轨迹规划中实现奇异点规避。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各个方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
下面结合具体实施方式对本申请提供的机器人控制方法、装置、终端以及介质等技术方案做出详细说明。
图1示出了本申请一个实施例中的机器人控制方法的步骤流程图,如图1所示,该机器人控制方法应用于设有附加轴的机器人,所述附加轴用于为机器人整体提供在平面上进行移动的自由度,主要可以包括如下的步骤S100至步骤S400。
步骤S100,获取机器人的加工路径包含的多个目标点,所述加工路径为所述机器人的末端在作业过程中的移动轨迹,所述目标点为所述机器人的末端在作业过程中的停留位置,所述机器人的末端为所述机器人远离所述附加轴的一端。
步骤S200,计算所述机器人在所述附加轴的第一位置处遍历所述目标点时分别对应的腕部轴关节角。
步骤S300,将所述第一位置对应的所述腕部轴关节角与预设奇异阈值范围进行比对得到第一比对结果,所述预设奇异阈值范围为判断所述腕部轴关节角对应的目标点是否为腕部奇异点的判断标准。
步骤S400,若所述第一比对结果为所述腕部轴关节角符合所述预设奇异阈值范围,控制所述机器人在所述附加轴上移动至第二位置,所述第二位置位于附加轴上且区别于所述第一位置,以使所述机器人在所述第二位置规避所述加工路径的腕部奇异点。
本申请提供的机器人控制方法,通过遍历机器人加工路径上的所有目标点时,机器人的腕部轴关节角是否处于预设奇异阈值范围,该预设奇异阈值范围用于判断机器人在该目标点是否会出现奇异点,当该腕部轴关节角处于预设奇异阈值范围时,控制机器人在附加轴上进行移动以改变机器人的位置,从而使机器人在移动后的位置进行作业以规避原加工路径上可能遭遇的奇异点,保证加工路径的可行性。
如此,本申请提供的机器人的奇异规避方法,由于附加轴作为机器人运动中的冗余自由度,因此可以在不改变机器人末端位姿的前提下,通过改变机器人在附加轴上的位置来规避加工路径中的奇异点,从而在保证机器人末端精度的基础上,在机器人的轨迹规划中实现奇异点规避。
下面分别对机器人控制方法中的各个方法步骤做详细说明。
步骤S100,获取机器人的加工路径包含的多个目标点,所述加工路径为所述机器人的末端在作业过程中的移动轨迹,所述目标点为所述机器人的末端在作业过程中的停留位置,所述机器人的末端为所述机器人远离所述附加轴的一端。
具体地,机器人的末端会在作业过程中不断移动,并不时停留在各个位置以不同的位姿形态进行加工作业,其中形成的移动轨迹就是加工路径,停留位置则是加工路径中的目标点。机器人的末端是远离附加轴、且与待加工工件进行交互作业的一端,在本实施例中以六轴机器人为例,则机器人的末端则是机器人的第六轴的末端。
步骤S200,计算所述机器人在所述附加轴的第一位置处遍历所述目标点时分别对应的腕部轴关节角。
具体地,机器人未经移动、在附加轴上所处的初始位置为第一位置,在控制机器人进行实际作业前,在软件上生成机器人的加工路径,并对该加工路径进行运动逆解计算,从而得到机器人位于加工路径上的各个目标点对应的腕部轴关节角。在本实施例中以六轴机器人为例,则机器人的腕部轴关节角为第五轴关节角。
步骤S300,将所述第一位置对应的所述腕部轴关节角与预设奇异阈值范围进行比对得到第一比对结果,所述预设奇异阈值范围为判断所述腕部轴关节角对应的目标点是否为腕部奇异点的判断标准。
具体地,在通过运动逆解计算得到机器人的各个腕部轴关节角后,将上述腕部轴关节角与作为腕部奇异点的判断标准的预设奇异阈值范围进行比对,若存在目标点对应的腕部轴关节角落入该预设奇异阈值范围的情况,则说明该目标点为腕部奇异点。在本实施例中,以六轴机器人为例,若存在目标点对应的第五轴关节角落入该预设奇异阈值范围的情况,则说明机器人的末端到达该目标点时,第五轴接近0°,即该目标点为腕部奇异点。
步骤S400,若所述第一比对结果为所述腕部轴关节角符合所述预设奇异阈值范围,控制所述机器人在所述附加轴上移动至第二位置,所述第二位置位于附加轴上且区别于所述第一位置,以使所述机器人在所述第二位置规避所述加工路径的腕部奇异点。
具体地,当确定加工路径上存在目标点为腕部奇异点时,控制机器人在附加轴上进行移动,由于机器人所处的位置发生了改变,因此机器人的末端到达原本作为腕部奇异点的上述目标点时,腕部轴关节角也发生了改变,此时该腕部轴关节角不再落入该预设奇异阈值范围,从而规避加工路径上的奇异点。在本实施例中,附加轴为机器人整体提供在平面上进行移动的自由度的导轨。以六轴机器人为例,通过控制机器人在导轨上移动到不同位置,以使机器人的第六轴末端到达原本作为腕部奇异点的上述目标点时,第五轴关节角发生了改变,此时第五轴关节角不再落入预设奇异阈值范围内,即第五轴不再接近0°,此时说明机器人能够成功规避该腕部奇异点。
进一步地,如图2所示,在以上实施例的基础上,在上述步骤S400中的控制所述机器人在所述附加轴上移动至第二位置,包括以下的步骤S401至步骤S404。
步骤S401,获取所述目标点对应的工具坐标系,所述工具坐标系为根据设于所述机器人的末端的工具的尖点作为原点建立的坐标系。
在生产作业过程中,机器人需要通过设于末端的工具对工件进行加工作业,因此在控制机器人进行作业时,以工具的尖点作为原点建立的工具坐标系能够较为准确地反映机器人的位姿形态。
步骤S402,计算所述工具坐标系与所述机器人的基坐标系之间的预设方向夹角,所述预设方向夹角为所述工具坐标系与所述基坐标系分别对应的坐标轴方向所形成的、且能够随着所述机器人在所述附加轴上移动而发生变化的夹角。
具体地,在本实施例中,由于通过控制机器人在附加轴上移动以改变机器人所处的位置,从而改变机器人触碰到各目标点时对应的腕部轴关节角,因此需要提前确定在附加轴上的移动方向,以减少机器人在模拟迭代过程中的运算成本。其中,可以通过计算工具坐标系与基坐标系之间的坐标轴形成的方向夹角确定机器人在附加轴上的移动方向,且该方向夹角为通过机器人在附加轴上移动而改变的角度。
步骤S403,根据所述预设方向夹角确定所述机器人在所述附加轴上的第一移动方向。
具体地,根据该方向夹角的变化方向判断机器人的腕部轴关节角的变化方向,进而判断机器人在附加轴上用于调整腕部轴关节角的移动方向。
步骤S404,控制所述机器人沿所述第一移动方向在所述附加轴上移动至第二位置。
根据由方向夹角确定的移动方向,控制机器人在附加轴上进行移动到达第二位置,以使机器人在附加轴的第二位置进行作业时能够规避在初始位置的加工路径上存在的腕部奇异点。
作为一种可选的实施方式,可以通过计算工具坐标系Z轴与基坐标系Y轴之间的夹角theta来确定机器人在附加轴上的移动方向。
如图3所示,六轴机器人安装在可用于平面移动的附加轴上,该附加轴的移动正方向为机器人的基坐标系y轴的正方向。坐标系B为机器人基坐标系,坐标系W为世界坐标系,方向与坐标系B保持一致,坐标系P为目标点坐标系,即机器人在作业过程中到达目标点对应的工具坐标系。机器人基坐标系B与世界坐标系W的相对关系为其随着机器人在附加轴上进行移动而变化;坐标系P与世界坐标系W的关系为其为固定的常量矩阵。
设定六轴机器人的第五轴关节角J5对应的预设奇异阈值为数值c,则存在J5的奇异阈值范围为:
-c≤J5≤c;
即当六轴机器人遍历加工路径的目标点,存在位于目标点P时,第五轴关节角J5落入上述奇异阈值范围的情况,则说明六轴机器人在该目标点P会发生第五轴角度接近或等于0°,即该目标点P为六轴机器人的腕部奇异点,此时需要控制机器人在附加轴上进行移动,以改变六轴机器人在目标点P对应的第五轴关节角J5。在此基础上,通过计算目标点坐标系Z轴与六轴机器人的基坐标系Y的夹角theta,若theta小于90°,则控制机器人在附加轴上沿着负方向进行移动,以在使theta增大的基础上使第五轴关节角J5不再落入上述奇异阈值范围;可以理解,当theta大于90°时,则控制六轴机器人在附加轴上沿着负方向进行移动,以在使theta减小的基础上使第五轴关节角J5不再落入上述奇异阈值范围。
如此,在本实施例中,通过计算目标点坐标系与机器人的基坐标系之间的方向夹角,从而根据该方向夹角确定用于控制机器人在附加轴上的移动方向以规避腕部奇异点,能够在控制机器人准确规避加工路径上的腕部奇异点的基础上,减少在模拟迭代过程中的运算成本。
进一步地,在以上实施例的基础上,上述步骤S404中的控制所述机器人沿所述第一移动方向在所述附加轴上移动至第二位置,包括以下的步骤S4041和步骤S4042。
步骤S4041,根据所述机器人的作业范围的大小确定第一移动步长,所述作业范围为包含所有所述目标点的空间。
步骤S4042,控制所述机器人根据所述第一移动方向在所述附加轴上移动所述第一移动步长至所述第二位置。
具体地,由于通过控制机器人在附加轴上移动以改变机器人所处的位置,从而改变机器人触碰到各目标点时对应的腕部轴关节角,因此需要确定机器人在附加轴的每次移动的距离,以确保机器人能够准确规避腕部奇异点的基础上,减少模拟迭代过程的运算成本。可以理解,当移动步长过小时,机器人需要在附加轴上进行多次移动才能使第五轴关节角不落入奇异阈值范围,即此时机器人的迭代次数过多,造成运算成本较高且运算时间过长;当移动步长过大时,机器人在附加轴上移动后,可能会因较大的移动幅度移动后的位置无法触碰目标点,从而导致机器人在该位置无法对位于目标点的工件进行加工作业。在本实施例中,根据机器人的作业范围涉及的空间大小,该作业范围包括了机器人在作业过程中需要接触的所有的目标点,从而决定机器人在附加轴上进行移动的移动步长。即作业范围越大,则机器人的移动步长越大;作业范围越小,则机器人的移动步长越小。此外,需要说明的是,根据实际测试,机器人的移动步长通常采用的经验值为机器人的工作半径的1/10。
如此,本实施例根据机器人的作业空间确定机器人在附加轴上的移动步长,通过使机器人根据合适的移动步长在附加轴上移动,从而实现在较少迭代次数的基础上规避作业路径上的腕部奇异点,并确保不会对机器人的实际作业过程造成阻碍或负面影响。
进一步地,在以上实施例的基础上,在上述步骤S4042中的控制所述机器人根据所述第一移动方向在所述附加轴上移动所述第一移动步长至所述第二位置之后,所述机器人控制方法还包括如下的步骤S4043至步骤S4045。
步骤S4043,计算所述机器人位于所述第二位置遍历所述目标点时分别对应的轴关节角,所述轴关节角包括腕部轴关节角。
由于机器人在附加轴进行移动到达第二位置后,由于此时机器人所处的位置发生了改变,因此需要基于机器人位于第二位置的情况下,通过运动逆解计算机器人遍历原加工路径中所有目标点所对应的各轴的运动参数,即各轴的轴关节角,以确定该机器人在上述所有目标点对应的位姿关系。
步骤S4044,将所述轴关节角与所述轴关节角对应的自由度进行比对,所述自由度为所述轴关节角的预设活动阈值。
在基于机器人位于第二位置的情况下,通过运动逆解计算机器人遍历所有目标点对应的轴关节角后,将轴关节角与该轴关节角对应的自由度进行比对,例如,将机器人基于目标点P1对应的第二轴关节角J2与第二轴关节角J2对应的自由度进行比对,又如,将机器人基于目标点P2对应的第四轴关节角J4与第二轴关节角J4对应的自由度进行比对等,该自由度为机器人各轴关节角的预设活动阈值,用于限制机器人各轴的最大活动幅度/最大活动范围。
步骤S4045,若所述轴关节角超过所述自由度,控制所述机器人根据第二移动方向在所述附加轴上移动第二移动步长至第三位置,其中,所述第二移动方向与所述第一移动方向相反,所述第二移动步长小于所述第一移动步长。
当机器人位于第二位置遍历加工路径的目标点,存在至少一个轴关节角超过该轴关节角对应的自由度时,例如,机器人基于目标点P1对应的第二轴关节角J2超出该第二轴关节角J2对应的自由度,说明此时机器人对于目标点P1的作业位姿对应的第二轴的活动幅度超出了最大活动幅度/最大活动范围,则认为该目标点P1对于机器人是不可达的状态,此时需要进一步调整机器人在附加轴上的位置。在本实施例中,控制机器人在附加轴上往与第一次移动方向相反的方向进行移动,以使该目标点P1对于机器人重新变为可达的状态,同时为了避免机器人在第二次移动后,即回调位置后再次遭遇腕部奇异点,因此机器人在第二次移动时对应的移动步长应当小于第一次移动时的移动步长,从而确保当机器人在第二次移动后到达新的位置,加工路径上的所有目标点对于机器人是可达的状态,并且不存在腕部奇异点。
如此,本实施例提供了当机器人在附加轴进行第一次移动后发生目标点不可达的情况时,通过控制机器人以相较于第一次移动更小的移动步长进行回调移动,以使目标点由不可达状态重新变为可达状态,从而确保机器人能够顺利对位于目标点的工件进行作业的具体实施步骤,提高了本申请机器人控制方法的实用性。
进一步地,在以上实施例的基础上,在上述步骤S4044中的将所述轴关节角与所述轴关节角对应的自由度进行比对之后,所述机器人控制方法还包括如下的步骤S4046和步骤S4047。
步骤S4046,若所述轴关节角未超过所述自由度,将所述第二位置分别对应的腕部轴关节角与所述预设奇异阈值范围进行比对得到第二比对结果。
步骤S4047,若所述第二比对结果为不符合所述预设奇异阈值范围,确定所述第二位置为工作位置,所述工作位置为所述机器人作业时在所述附加轴上的停留位置。
具体地,控制机器人在附加轴上移动至第二位置后,若机器人基于该第二位置遍历所有目标点时轴关节角均未超出自由度,即机器人能够在各轴的最大活动幅度/最大活动范围内触碰到所有目标点,则所有目标点对于机器人仍然是可达的状态,则再次对于机器人遍历所有目标点时的腕部轴关节角与奇异阈值范围进行比对,若此时不存在腕部轴关节角落入奇异阈值范围的情况发生,以说明机器人通过移动至附加轴上的第二位置已经能够规避原加工路径上的腕部奇异点,则将该第二位置作为机器人的工作位置,以供机器人后续基于该工作位置对工件进行加工作业。
进一步地,在以上实施例的基础上,在上述步骤S4046中的将所述第二位置分别对应的腕部轴关节角与所述预设奇异阈值范围进行比对得到第二比对结果之后,所述机器人控制方法还包括如下的步骤S4048。
步骤S4048,若所述第二比对结果符合所述预设奇异阈值范围,控制所述机器人根据所述第一移动方向在所述附加轴上移动至第四位置,以使所述机器人在所述第四位置规避所述加工路径的所述腕部奇异点。
具体地,若控制机器人在附加轴上移动至第二位置后,机器人遍历所有目标点时存在腕部轴关节角落入奇异阈值范围的情况,则说明上述机器人在附加轴上的移动至第二位置对腕部轴关节角的调节作用较小,未能使该腕部轴关节角脱离奇异阈值范围,从而确保机器人能够成功规避该腕部奇异点,因此需要控制机器人继续沿相同的移动方向进行移动,直至机器人在附加轴的某一位置上遍历目标点时不存在腕部轴关节角落入奇异阈值范围的情况。
如此,本实施例提供了在控制机器人移动至附加轴上的第二位置后,继续对机器人进行位置调节以规避腕部奇异点的控制过程,提高了本申请机器人控制方法的实用性。
进一步地,在以上实施例的基础上,在上述步骤S300中的将所述第一位置对应的所述腕部轴关节角与预设奇异阈值范围进行比对得到第一比对结果之前,所述机器人控制方法还包括如下的步骤S301和步骤S302。
步骤S301,获取所述机器人到达所述目标点时轴关节分别对应的移动速度。
步骤S302,根据所述轴关节对应的移动速度确定所述目标点分别对应的预设奇异阈值范围。
具体地,由于本申请涉及的腕部奇异点为导致机器人关节超速、甚至运动出错停机的现象发生的目标点,当机器人触碰该目标点时腕部会接近或者等于0°,以六轴机器人为例则是指第五轴接近或者等于0°,为了避免上述情况发生,本申请根据机器人的腕部轴关节角是否落入奇异阈值范围,从而预判机器人的腕部是否会发生接近或者等于0°,而由于机器人在实际作业过程中会沿着作业路径不断触碰/到达各个目标点,因此对于各个目标点机器人各轴对应的运动速度各不相同。对于某些目标点,若机器人的各轴的运动速度较高,则对应该上述目标点设置的奇异阈值范围较大;对于另一些目标点,若机器人的各轴的运动速度较低,则对应该上述目标点设置的奇异阈值范围较小;通过根据机器人在各个目标点形成的各轴运动速度,确定机器人对应该目标点设置的奇异阈值范围,从而确定机器人对于规避腕部奇异点的修正调节程度,能够更为准确地控制机器人规避腕部奇异点,并且修正调节的实施成本更低。
图4示出了本申请一个实施例的应用流程图。如图4所示关于机器人控制方法的实施例,包括如下的步骤S405至步骤S411。
步骤S405,在软件控制***上根据机器人的实际作业环境进行建模,得到与机器人实际作业环境对应的作业模型。
步骤S406,对机器人的作业模型生成机器人的加工路径,该加工路径为机器人的末端在实际作业过程中的移动轨迹,并对该移动轨迹包含的目标点进行可达性判断,即确认机器人能够对上述目标点进行加工作业。
步骤S407,在确定加工路径的目标点符合可达性时,遍历所有目标点进行奇异阈值判断,即根据机器人对于上述目标点是否存在腕部轴关节角落入奇异阈值范围,从而判断上述目标点是否存在腕部奇异点,若不存在腕部奇异点,则结束机器人的调节修正流程,若存在腕部奇异点,则继续执行步骤S408。
步骤S408,计算机器人的基坐标系与目标点坐标系通过方向轴形成的方向夹角,并根据该方向夹角确定机器人在附加轴上进行移动调节时的移动方向。
步骤S409,控制机器人在附加轴上根据该移动方向进行移动,从而到达附加轴上的第二位置。
步骤S410,基于机器人位于第二位置时遍历所有的目标点进行可达性判断。
步骤S411,若机器人位于第二位置时,所有目标点对于机器人为可达的状态,则结束修正调节流程;若存在目标点对于机器人为不可达的状态,则控制机器人从第二位置往初始位置进行回调移动,以使上述目标点对于机器人重新变为可达的状态,并结束修正调节流程。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的机器人控制方法。图5示意性地示出了本申请实施例提供的机器人控制装置的结构框图。如图5所示,机器人控制装置包括:
获取模块,被配置为获取机器人的加工路径包含的多个目标点,所述加工路径为所述机器人的末端在作业过程中的移动轨迹,所述目标点为所述机器人的末端在作业过程中的停留位置,所述机器人的末端为所述机器人远离所述附加轴的一端;
计算模块,被配置为计算所述机器人在附加轴的第一位置处遍历所述目标点时分别对应的腕部轴关节角;
比对模块,被配置为将所述第一位置对应的所述腕部轴关节角与预设奇异阈值范围进行比对得到第一比对结果,所述预设奇异阈值范围为判断所述腕部轴关节角对应的目标点是否为腕部奇异点的判断标准;
移动模块,被配置为若所述第一比对结果为所述腕部轴关节角符合所述预设奇异阈值范围,控制所述机器人在所述附加轴上移动至第二位置,所述第二位置位于附加轴上且区别于所述第一位置,以使所述机器人在所述第二位置规避所述加工路径的腕部奇异点。
在本申请的一个实施例中,基于以上实施例,移动模块包括:
夹角确定单元,被配置为计算所述工具坐标系与所述机器人的基坐标系之间的预设方向夹角,所述预设方向夹角为所述工具坐标系与所述基坐标系分别对应的坐标轴方向所形成的、且能够随着所述机器人在所述附加轴上移动而发生变化的夹角;
方向确定单元,被配置为根据所述预设方向夹角确定所述机器人在所述附加轴上的第一移动方向;
移动控制单元,被配置为控制所述机器人沿所述第一移动方向在所述附加轴上移动至第二位置。
在本申请的一个实施例中,基于以上实施例,移动控制单元包括:
步长确定子单元,被配置为根据所述机器人的作业范围的大小确定第一移动步长,所述作业范围为包含所有所述目标点的空间;
第一移动控制子单元,被配置为控制所述机器人根据所述第一移动方向在所述附加轴上移动所述第一移动步长至所述第二位置。
在本申请的一个实施例中,基于以上实施例,机器人控制装置还包括:
自由度比对模块,被配置为计算所述机器人位于所述第二位置遍历所述目标点时分别对应的轴关节角,所述轴关节角包括腕部轴关节角;以及,将所述轴关节角与所述轴关节角对应的自由度进行比对,所述自由度为所述轴关节角的预设活动阈值;以及,若所述轴关节角超过所述自由度,控制所述机器人根据第二移动方向在所述附加轴上移动第二移动步长至第三位置,其中,所述第二移动方向与所述第一移动方向相反,所述第二移动步长小于所述第一移动步长。
在本申请的一个实施例中,基于以上实施例,自由度比对模块包括:
奇异阈值比对单元,被配置为若所述轴关节角未超过所述自由度,将所述第二位置分别对应的腕部轴关节角与所述预设奇异阈值范围进行比对得到第二比对结果;
第二移动控制子单元,被配置为若所述第二比对结果为不符合所述预设奇异阈值范围,确定所述第二位置为工作位置,所述工作位置为所述机器人作业时在所述附加轴上的停留位置;以及,若所述第二比对结果符合所述预设奇异阈值范围,控制所述机器人根据所述第一移动方向在所述附加轴上移动至第四位置,以使所述机器人在所述第四位置规避所述加工路径的所述腕部奇异点。
在本申请的一个实施例中,基于以上实施例,机器人控制装置还包括:
奇异阈值设置模块,被配置为获取所述机器人到达所述目标点时轴关节分别对应的移动速度;以及,根据所述轴关节对应的移动速度确定所述目标点分别对应的预设奇异阈值范围。
图6示意性地示出了用于实现本申请实施例的电子设备的计算机***结构框图。
需要说明的是,图6示出的电子设备的计算机***600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机***600包括中央处理器601(Central Processing Unit,CPU),其可以根据存储在只读存储器602(Read-Only Memory,ROM)中的程序或者从存储部分608加载到随机访问存储器603(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器603中,还存储有***操作所需的各种程序和数据。中央处理器601、在只读存储器602以及随机访问存储器603通过总线604彼此相连。输入/输出接口605(Input/Output接口,即I/O接口)也连接至总线604。
以下部件连接至输入/输出接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至输入/输出接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请的实施例,各方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理器601执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。