一种机器人轨迹插补方法、装置及相关组件
文献发布时间:2023-06-19 11:24:21
技术领域
本申请涉及机器人领域,特别涉及一种机器人轨迹插补方法、装置及相关组件。
背景技术
对机器人的控制中,当需要机器人实现一些特殊功能时,经常需要设置一些特殊的运动轨迹,如动力学参数辨识的激励轨迹等。但是,目前还没有一种对于新增加功能对应的轨迹的插补方案,使得机器人无法实现对应的功能,扩展性较差。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种机器人轨迹插补方法、装置、电子设备及计算机可读存储介质,能够扩展机器人可以运行的轨迹类型,丰富机器人可实现的功能。
为解决上述技术问题,本申请提供了一种机器人轨迹插补方法,包括:
获取插补轨迹对应的插补函数及轨迹总时长,所述插补轨迹与目标功能对应;
根据所述插补函数及所述轨迹总时长得到机器人在当前插补时间的轴位置数据;
将所述轴位置数据发送至所述机器人的执行机构。
优选的,所述机器人轨迹插补方法还包括:
根据所述插补轨迹的指令形式确定插补函数。
优选的,所述插补轨迹的指令形式为CP轨迹或PTP轨迹。
优选的,当所述插补轨迹的指令形式为CP轨迹,所述根据所述插补函数及所述轨迹总时长得到机器人在当前插补时间的轴位置数据的过程包括:
根据所述插补函数及所述轨迹总时长得到所述机器人在当前插补时间的第一笛卡尔位姿数据;
将所述第一笛卡尔位姿数据变换为法兰坐标系相对于机器人坐标系的第二笛卡尔位姿数据;
根据所述第二笛卡尔位姿数据得到所述机器人在当前插补时间的轴位置数据。
优选的,所述根据所述第二笛卡尔位姿数据得到所述机器人在当前插补时间的轴位置数据的过程包括:
获取所述机器人的本体DH参数;
根据所述第二笛卡尔位姿数据和所述本体DH参数做逆运动学计算得到所述机器人在当前插补时间的轴位置数据。
优选的,所述机器人轨迹插补方法还包括:
当所述插补轨迹的起点位置和所述机器人的实际位置不同,构造过渡轨迹,所述过渡轨迹用于控制所述机器人移动至所述插补轨迹的起点位置。
优选的,所述机器人轨迹插补方法还包括:
当接收到暂停指令,通过减小插补时间间隔控制机器人的速度逐步降低至0。
为解决上述技术问题,本申请还提供了一种机器人轨迹插补装置,包括:
获取模块,用于获取插补轨迹对应的插补函数及轨迹总时长;
计算模块,用于根据所述插补函数及所述轨迹总时长得到机器人在当前插补时间的轴位置数据;
插补模块,用于将所述轴位置数据发送至所述机器人的执行机构。
为解决上述技术问题,本申请还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上文任意一项所述的机器人轨迹插补方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的机器人轨迹插补方法的步骤。
本申请提供了一种机器人轨迹插补方法,当需要机器人实现一些特殊功能时,用户可以自定义与目标功能对应插补轨迹的插补函数及轨迹总时长,将当前插补时间和轨迹总时长带入该插补函数,即可求得机器人在当前插补时间对应的轴位置数据,将计算得到的轴位置数据发送至机器人的执行机构,使执行机构驱动机器人各轴按照该轴位置数据动作,从而使机器人按照插补轨迹运行,即可实现目标功能,极大的扩展了机器人可以运行的轨迹类型,丰富了机器人可实现的功能。本申请还提供了一种机器人轨迹插补装置、电子设备及计算机可读存储介质,具有和上述机器人轨迹插补方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种机器人轨迹插补方法的步骤流程图;
图2为本申请所提供的一种机器人位置示意图;
图3为本申请所提供的一种插补间隔时间规划示意图;
图4为本申请所提供的一种机器人轨迹插补装置的结构示意图;
图5为本申请所提供的一种电子设备的结构示意图。
具体实施方式
本申请的核心是提供一种机器人轨迹插补方法、装置、电子设备及计算机可读存储介质,能够扩展机器人可以运行的轨迹类型,丰富机器人可实现的功能。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,图1为本申请所提供的一种机器人轨迹插补方法的步骤流程图,该机器人轨迹插补方法包括:
S101:获取插补轨迹对应的插补函数及轨迹总时长,插补轨迹与目标功能对应;
首先需要说明的是,一条连续的运动轨迹实际上就是轴位置数据q和时间t之间的函数关系,离散化后可以得到一系列时间点和对应的一组轴位置数据,所以只需要用户通过脚本编写一个插补函数,给出轴位置数据q和时间t之间的关系就可以按照用户需求进行插补,其中,轴位置数据具体包括机器人各个轴的轴角度。
具体的,插补轨迹和用户所需要机器人实现的目标功能相对应,插补轨迹的指令形式不同,对应的插补函数也不同。其中,插补轨迹的指令形式包括但不限于CP轨迹和PTP轨迹等,其中,CP轨迹指笛卡尔路径运动(Cartesian Path movements),也可以指连续路径运动(Continuous Path movements),PTP轨迹即轴空间路径运动(Point To Pointmovements)。对于PTP轨迹,要求用户描述轴位置数据q和时间t的关系,对于CP轨迹,需要用户描述笛卡尔位姿数据p和时间t的关系。具体的,轨迹总时长是根据目标功能预先设置好的,根据当前插补时间和轨迹总时长的关系即可判定当前插补是否完成。
具体的,可以预先设置两条插补指令udcp(user define cp)和udptp(userdefine ptp),分别用于用户自定义CP轨迹和用户自定义PTP轨迹,用户可以根据目标功能选择插补轨迹对应的插补函数,其中:
PTP轨迹对应的插补函数接口如下:
joint func_name(double t,double T);
CP轨迹对应的插补函数接口如下:
pose func_name(double t,double T);
其中,t为当前插补时间,T为轨迹总时长,PTP轨迹对应的插补函数返回值的类型为轴位置数据,CP轨迹对应的插补函数的返回值的类型为笛卡尔位姿数据。
插补指令的格式设计如下:
udptp func_name(),T;
udcp func_name(),T,tool,wobj;
其中,插补指令的第一个参数为用户自定义的插补函数名,第二个参数为轨迹总时长,对于udcp插补指令,后面还需要工具坐标系,工件坐标系等必要参数。
S102:根据插补函数及轨迹总时长得到机器人在当前插补时间的轴位置数据;
S103:将轴位置数据发送至机器人的执行机构。
具体的,下面对CP轨迹和PTP轨迹的插补方法分别进行介绍。
当插补轨迹的指令形式为CP轨迹,根据插补函数及轨迹总时长得到机器人在当前插补时间的轴位置数据的过程包括:
根据插补函数及轨迹总时长得到机器人在当前插补时间的第一笛卡尔位姿数据;
将第一笛卡尔位姿数据变换为法兰坐标系相对于机器人坐标系的第二笛卡尔位姿数据;
根据第二笛卡尔位姿数据得到机器人在当前插补时间的轴位置数据。
具体的,当CP轨迹插补开始,首先初始化当前插补时间,即令当前插补时间t=0,然后设置插补周期t
当插补轨迹的指令形式为PTP轨迹,根据插补函数及轨迹总时长得到机器人在当前插补时间的轴位置数据的过程如下:
当PTP轨迹插补开始,首先初始化当前插补时间,即令当前插补时间t=0,然后设置插补周期t
具体的,采用上述方案实现一个简单的正弦轨迹的脚本程序如下:
当然,除了可以实现单一表达式的轨迹,使用本申请所提供的方案也可以实现分段函数等复杂轨迹,例如可采用如下的脚本程序实现一个梯形速度规划的CP轨迹:
可见,本实施例中,当需要机器人实现一些特殊功能时,用户可以自定义与目标功能对应插补轨迹的插补函数及轨迹总时长,将当前插补时间和轨迹总时长带入该插补函数,即可求得机器人在当前插补时间对应的轴位置数据,将计算得到的轴位置数据发送至机器人的执行机构,使执行机构驱动机器人各轴按照该轴位置数据动作,从而使机器人按照插补轨迹运行,即可实现目标功能,极大的扩展了机器人可以运行的轨迹类型,丰富了机器人可实现的功能。
在上述实施例的基础上:
作为一种优选的实施例,机器人轨迹插补方法还包括:
当插补轨迹的起点位置和机器人的实际位置不同,构造过渡轨迹,过渡轨迹用于控制机器人移动至插补轨迹的起点位置。
具体的,参照图2所示,用户自定义的插补轨迹的起点位置和机器人当前所在的位置不一定是同一个位置,所以在执行用户自定义的轨迹指令时,需要先自动将机器人从当前位置运动到用户自定义轨迹插补数据的第一个插补点的位置。这就需要插入一条轨迹,这条轨迹的起点是机器人当前位置,终点是用户自定义轨迹插补数据的第一个插补点,并通过轴插补的形式进行插补。这段轨迹可以称为返回路径起点轨迹,如果不插入这条过渡轨迹,而直接走用户自定义轨迹的插补数据,则机器人将会超速报警,因此,采用本实施例的方案,可以进一步提高机器人的使用安全。
作为一种优选的实施例,机器人轨迹插补方法还包括:
当接收到暂停指令,通过减小插补时间间隔控制机器人的速度逐步降低至0。
具体的,当机器人按用户自定义的插补轨迹运行的过程中,如果因为一些原因用户按下停止键希望运动停止,机器人应该能够立即减速停下来。为避免机器人速度突变为0,引起机器人的震动或报警,甚至可能损坏机器人的情况发生,本申请在接收到暂停指令时,使插补时间间隔逐渐从t
T=max(v
其中,v
请参照图4,图4为本申请所提供的一种机器人轨迹插补装置的结构示意图,该机器人轨迹插补装置包括:
获取模块11,用于获取插补轨迹对应的插补函数及轨迹总时长;
计算模块12,用于根据插补函数及轨迹总时长得到机器人在当前插补时间的轴位置数据;
插补模块13,用于将轴位置数据发送至机器人的执行机构。
可见,本实施例中,当需要机器人实现一些特殊功能时,用户可以自定义与目标功能对应插补轨迹的插补函数及轨迹总时长,将当前插补时间和轨迹总时长带入该插补函数,即可求得机器人在当前插补时间对应的轴位置数据,将计算得到的轴位置数据发送至机器人的执行机构,使执行机构驱动机器人各轴按照该轴位置数据动作,从而使机器人按照插补轨迹运行,即可实现目标功能,极大的扩展了机器人可以运行的轨迹类型,丰富了机器人可实现的功能。
作为一种优选的实施例,机器人轨迹插补装置还包括:
确定模块,用于根据插补轨迹的指令形式确定插补函数。
作为一种优选的实施例,插补轨迹的指令形式为CP轨迹或PTP轨迹。
作为一种优选的实施例,当插补轨迹的指令形式为CP轨迹,根据插补函数及轨迹总时长得到机器人在当前插补时间的轴位置数据的过程包括:
根据插补函数及轨迹总时长得到机器人在当前插补时间的第一笛卡尔位姿数据;
将第一笛卡尔位姿数据变换为法兰坐标系相对于机器人坐标系的第二笛卡尔位姿数据;
根据第二笛卡尔位姿数据得到机器人在当前插补时间的轴位置数据。
作为一种优选的实施例,根据第二笛卡尔位姿数据得到机器人在当前插补时间的轴位置数据的过程包括:
获取机器人的本体DH参数;
根据第二笛卡尔位姿数据和本体DH参数做逆运动学计算得到机器人在当前插补时间的轴位置数据。
作为一种优选的实施例,机器人轨迹插补装置还包括:
规划模块,用于当插补轨迹的起点位置和机器人的实际位置不同,构造过渡轨迹,过渡轨迹用于控制机器人移动至插补轨迹的起点位置。
作为一种优选的实施例,机器人轨迹插补装置还包括:
暂停控制模块,用于当接收到暂停指令,通过减小插补时间间隔控制机器人的速度逐步降低至0。
另一方面,本申请还提供了一种电子设备,参见图5,其示出了本申请实施例一种电子设备的一种组成结构示意图,本实施例的电子设备可以包括:处理器21和存储器22。
可选的,该电子设备还可以包括通信接口23、输入单元24和显示器25和通信总线26。
处理器21、存储器22、通信接口23、输入单元24、显示器25、均通过通信总线26完成相互间的通信。
在本申请实施例中,该处理器21,可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路,数字信号处理器,现成可编程门阵列或者其他可编程逻辑器件等。
该处理器可以调用存储器22中存储的程序。具体的,处理器可以执行以下机器人轨迹插补方法的实施例中电子设备侧所执行的操作。
存储器22中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,该存储器中至少存储有用于实现以下功能的程序:
获取插补轨迹对应的插补函数及轨迹总时长,插补轨迹与目标功能对应;
根据插补函数及轨迹总时长得到机器人在当前插补时间的轴位置数据;
将轴位置数据发送至机器人的执行机构。
可见,本实施例中,当需要机器人实现一些特殊功能时,用户可以自定义与目标功能对应插补轨迹的插补函数及轨迹总时长,将当前插补时间和轨迹总时长带入该插补函数,即可求得机器人在当前插补时间对应的轴位置数据,将计算得到的轴位置数据发送至机器人的执行机构,使执行机构驱动机器人各轴按照该轴位置数据动作,从而使机器人按照插补轨迹运行,即可实现目标功能,极大的扩展了机器人可以运行的轨迹类型,丰富了机器人可实现的功能。
在一种可能的实现方式中,该存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以及至少一个功能(比如逆运动学计算功能等)所需的应用程序等;存储数据区可存储根据计算机的使用过程中所创建的数据。
此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
该通信接口23可以为通信模块的接口,如GSM模块的接口。
本申请还可以包括显示器24和输入单元25等等。
当然,图5所示的物联网设备的结构并不构成对本申请实施例中物联网设备的限定,在实际应用中电子设备可以包括比图5所示的更多或更少的部件,或者组合某些部件。
另一方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任意一个实施例所描述的机器人轨迹插补方法的步骤。
对于本申请所提供的一种计算机可读存储介质的介绍请参照上述实施例,本申请在此不再赘述。
本申请所提供的一种计算机可读存储介质具有和上述机器人轨迹插补方法相同的有益效果。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种机器人轨迹插补方法、装置及相关组件
- 一种运动轨迹生成方法、装置及相关组件