验证轨迹规划的方法、电子设备及存储介质与流程

    专利2022-07-08  72


    本申请属于机器人技术领域,具体涉及验证轨迹规划的方法、电子设备及存储介质。



    背景技术:

    在进行机器人轨迹规划时,通常先编写仿真代码对轨迹规划算法进行仿真,生成插补点,即机器人的运动位置,然后可以使用这些插补点绘制速度,加速度等曲线来查看是否满足设计要求。

    现有技术中通常搭建模拟机器人的目标平台,在目标平台对算法进行验证,并且算法的验证过程需要反复进行,因而在目标平台实现算法是十分耗时的,会大大降低开发效率。



    技术实现要素:

    本申请提供验证轨迹规划的方法、电子设备及存储介质,以解决验证轨迹算法效率低的问题。

    为解决上述技术问题,本申请采用的一个技术方案是:一种验证轨迹规划的方法,包括:对轨迹规划进行仿真,生成插补数据,所述插补数据包括多个插补点;生成执行轨迹运动的运动指令,所述运动指令的参数包括所述插补数据的存储路径;判断机器人的当前位置与所述插补数据的起点位置是否相同;若所述机器人的当前位置与所述插补数据的起点位置相异,插入对齐轨迹,所述对齐轨迹的起点为所述机器人的当前位置,所述对齐轨迹的终点为所述插补数据的起点位置,根据所述对齐轨迹使所述机器人从所述当前位置运动至所述插补数据的起点位置;若所述机器人的当前位置与所述插补数据的起点位置相同,或者所述机器人从所述当前位置运动至所述插补数据的起点位置,执行所述运动指令,根据所述插补数据使所述机器人进行轨迹运动。

    根据本申请一实施方式,还包括,将所述插补数据存储于插补文件,所述运动指令的参数包括所述插补数据的存储路径为所述运动指令包括所述插补文件的存储路径,所述执行所述运动指令包括:根据所述插补文件的存储路径读取插补数据,将所述插补数据下发至所述机器人的驱动部件,控制所述驱动部件根据所述插补数据进行轨迹运动。

    根据本申请一实施方式,还包括,接收暂停指令;根据所述暂停指令进行速度规划,使所述机器人的插补速度变化为零。

    根据本申请一实施方式,所述暂停指令包括控制所述机器人的插补速度变化为零所需的停止时间,所述停止时间大于等于第一时间,所述第一时间的计算方法如下:tmin=max(vi/aimax);其中vi为所述机器人各个轴在减速瞬间的瞬间速度,aimax为各个轴允许的最大加速度,n为所述机器人的轴数。

    根据本申请一实施方式,还包括,接收恢复运动指令;根据所述恢复运动指令,使所述机器人的插补速度变化为设定值。

    根据本申请一实施方式,还包括,接收加快指令;根据所述加快指令减小插补时间间隔。

    根据本申请一实施方式,还包括,接收减缓指令;根据所述减缓指令增大插补时间间隔。

    为解决上述技术问题,本申请采用的又一个技术方案是:一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述任一方法。

    为解决上述技术问题,本申请采用的又一个技术方案是:一种计算机可读存储介质,其上存储有程序数据,所述程序数据被处理器执行时实现上述任一所述的方法。

    本申请的有益效果是通过对轨迹规划进行仿真,形成插补数据,并将插补数据直接应用于实际的机器人平台,可直接快速验证轨迹规划算法的有效性,无需开发目标平台,并事先在目标平台上验证该算法,从而大大提高轨迹规划算法研发和验证的效率,节省时间成本。

    附图说明

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

    图1是本申请的验证轨迹规划的方法一实施例的流程示意图;

    图2是本申请的验证轨迹规划的方法又一实施例中暂停机器人运动的流程示意图;

    图3是本申请的验证轨迹规划的方法又一实施例中恢复机器人运动的流程示意图;

    图4是本申请的验证轨迹规划的方法又一实施例中加快机器人运动速度的流程示意图;

    图5是本申请的验证轨迹规划的方法又一实施例中减缓机器人运动速度的流程示意图;

    图6是本申请的电子设备一实施例的框架示意图;

    图7是本申请的验证轨迹规划的方法的一实施例的框架示意图;

    图8是本申请的计算机可读存储介质一实施例的框架示意图。

    具体实施方式

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

    请参阅图1,图1是本申请的验证轨迹规划的方法一实施例的流程示意图。

    本申请一实施例提供了一种验证轨迹规划的方法,包括:

    s11:对轨迹规划进行仿真,生成插补数据,插补数据包括多个插补点。进行机器人轨迹规划时,通常可以先编写仿真代码对轨迹规划进行仿真,生成插补数据,插补数据包括多个插补点。其中,每个插补点包括机器人每个轴的插补位置。

    具体地,插补数据包括k个插补点:其中,第k个插补点为:

    每个分量分别为机器人每个轴的插补位置,n为机器人轴数。

    在一实施例中,设两个插补点之间的插补周期为t,即机器人由当前插补点运动至下一个插补点之间所需时间为t。那么设机器人由插补数据中的起始位置开始运动的时间为零,机器人当前运动时间t对应的的当前插补点计算方法如下:

    利用当前运动时间t除以运动周期t,取整数部分为第一数值k,取小数部分为第二数值δt=t/t-k。

    计算第二数值δt和运动周期t的比值,获得第一加权值δt/t;

    计算1与第一加权值δt/t的差值,获得第二加权值1-δt/t;

    利用第二加权值1-δt/t乘以排序为第一数值的插补点利用第一加权值δt/t乘以第一数值加一的插补点并求和,获得当前插补点通过线性插值计算到的当前运动时间t对应的当前插补点,即t时刻对应的插补点的具体公式如下:

    其中,当前运动时间t为插补周期的整数倍时,δt=0,此时

    通过当前运动时间的插补点的计算方法,可以计算出当前运动时间的插补点,或者根据插补点推算出运动时间,从而可以控制机器人自由运动至所需插补点,并可后续用于与实际运动效果比对。

    s12:生成执行轨迹运动的运动指令,运动指令的参数包括插补数据的存储路径。

    设计并生成一个执行轨迹运动的运动指令moveplay,运动指令的参数包括插补数据的存储路径。具体地,将插补数据按照一定的格式存储于插补文件,运动指令的参数包括插补数据的存储路径为运动指令包括插补文件的存储路径,执行到该运动指令包括:根据插补文件的存储路径读取插补数据,将插补数据下发至机器人的驱动部件,控制驱动部件根据插补数据进行轨迹运动,从而就可在实际的机器人平台上再现这组插补数据,以验证插补数据的实际效果,并验证轨迹规划的有效性。具体地,插补数据的实际运动效果包括运动平稳数据、驱动部件运行数据等,分析运动平稳数据是否表现异常,驱动部件运动数据是否异常或报警等。若插补数据的实际运动效果符合预设效果,即可判断轨迹规划有效。

    本申请通过形成轨迹规划,并将插补数据直接应用于实际的机器人平台,可直接快速验证轨迹规划算法的有效性,无需开发目标平台,并事先在目标平台上验证该算法,从而大大提高轨迹规划算法研发和验证的效率,节省时间成本。

    s13:判断机器人的当前位置与插补数据的起点位置是否相同。

    由于插补数据中的起点位置与机器人所在的当前位置不一定是同一个位置。在执行轨迹运动的运动指令时,需要先判断机器人的当前位置与插补数据的起点位置是否相同。

    s14:若机器人的当前位置与插补数据的起点位置相异,插入对齐轨迹。

    对齐轨迹的起点为机器人的当前位置,对齐轨迹的终点为插补数据的起点位置,根据对齐轨迹使机器人从当前位置运动至插补数据的起点位置。

    由于机器人的当前位置与插补数据的起点位置相异,所以在控制机器人执行运动指令,并根据插补数据进行运动时,需要先控制机器人从当前位置运动到插补数据中的起点位置。若不插入这条对齐轨迹,而直接控制机器人根据插补数据进行运动,会导致机器人出现超速报警等故障。

    若机器人从当前位置运动至插补数据的起点位置,则执行运动指令,根据插补数据使机器人进行轨迹运动。

    s15:若机器人的当前位置与插补数据的起点位置相同,执行运动指令,根据插补数据使机器人进行轨迹运动。

    若机器人的当前位置与插补数据的起点位置相同,则可直接执行运动指令,根据插补数据使机器人进行轨迹运动。

    本申请通过形成轨迹规划,并将插补数据直接应用于实际的机器人平台,可直接快速验证轨迹规划算法的有效性,无需开发目标平台,并事先在目标平台上验证该算法,从而大大提高轨迹规划算法研发和验证的效率,节省时间成本。

    在一些实施例中,为了实现对机器人的智能化控制,以进一步提高轨迹规划算法的验证效率,请参阅图2,图2是本申请的验证轨迹规划的方法又一实施例中暂停机器人运动的流程示意图。验证轨迹规划的方法还包括:

    s161:接收暂停指令。

    在控制机器人根据插补数据进行运动的过程中接收暂停指令。暂停指令可以包括控制机器人的插补速度变化为零所需的停止时间,从而使得机器人在该停止时间逐渐暂停。当然,暂停指令也可以不包括停止时间,极限情况下,机器人的插补速度可瞬时为零。具体地,系统程序获取到预设或用户操作后的暂停指令,将暂停指令下发至机器人的驱动部件,对机器人进行暂停控制。

    s162:根据暂停指令进行速度规划,使机器人的插补速度变化为零。

    由于随着插补数据的执行,机器人的运动位置不断发生变化。根据暂停指令进行速度规划,使机器人的插补速度变化为零,从而机器人可停止。可以理解的是,接收到暂停指令后,可以对插补流程的插补时间间隔t做一个末速度为0的速度规划,这样插补时间间隔就会逐渐从t变为0,即输入的插补点一直保持不变,机器人保持暂停状态,也可理解为无缝插补。

    需要说明的是,插补时间间隔可以理解为插补周期,此处的插补周期为采样周期,采样周期是可以变化的。而向算法输入的通信周期是确定的,相当于按照通信周期定时向算法输入插补数据,但是输入的插补数据的插补时间间隔为0,即始终向算法输入同一个插补点,机器人可保持停止状态。

    为了避免机器人的运动速度突变为0而导致机器人的震动、报警甚至损坏,需要控制机器人平稳地停止,暂停指令包括控制机器人的插补速度变化为零所需的停止时间,停止时间大于等于第一时间,从而需要计算第一时间,第一时间的计算方法如下:

    分别计算机器人的各个驱动部件在减速瞬间的瞬时速度vi与各驱动部件允许最大加速度aimax的比值,i=1~n,n为机器人驱动部件数量,即轴数;

    选取比值中的最大值作为最短减速时间tmin,tmin=max(vi/aimax),i=1~n。

    机器人减速到0所需第一时间大于等于最短减速时间tmin。

    通过对插补时间间隔的执行速度做一个末速度为0的速度规划,从而插补时间间隔的执行停止,机器人表现为平稳地停在轨迹路径上。

    通过分别计算机器人的各个轴减速为0所需的最短时间,并以最短时间中的最大值作为第一时间,从而可以在保证机器人运行稳定的情况下最快停止机器人。

    请参阅图3,图3是本申请的验证轨迹规划的方法又一实施例中恢复机器人运动的流程示意图。在其他实施例中,验证轨迹规划的方法还包括:

    s163:接收恢复运动指令。

    在控制机器人暂停的过程中接收恢复运动指令。具体地,恢复运动指令可以预设或者由用户按动界面按钮或点击按键等发出,系统获取到预设或用户操作后的恢复运动指令后,将恢复运动指令下发至机器人的驱动部件,对机器人进行恢复运动控制。

    s164:根据恢复运动指令,使机器人的插补速度变化为设定值。

    根据恢复运动指令启动机器人,使机器人的插补速度变化为设定值,设定值可以是机器人暂停前的插补速度,也可以是其他插补速度。设定值可以包含在恢复运动指令中。

    需要说明的是,恢复机器人的运动也许保持机器人平稳启动,所以恢复指令包括控制机器人的插补速度变化为设定值vs所需的启动时间,启动时间大于等于第二时间,从而需要计算第二时间,第二时间的计算方法如下:

    分别计算机器人的各个驱动部件的设定值vs与各驱动部件允许最大加速度aimax的比值,i=1~n,n为机器人驱动部件数量,即轴数;

    选取比值中的最大值作为最短加速时间tmin,tmin=max(vs/aimax),i=1~n。

    机器人从0加速到设定值vs所需第二时间大于等于最短加速时间tmin。

    通过分别计算机器人的各个轴加速到设定值vs所需的最短启动时间,并以最短时间中的最大值作为第二时间,从而可以在保证机器人运行稳定的情况下最快启动机器人。

    请参阅图4,图4是本申请的验证轨迹规划的方法又一实施例中加快机器人运动速度的流程示意图。在其他实施例中,验证轨迹规划的方法还包括:

    s165:接收加快指令。

    接收加快机器人运动速度的加快指令。具体地,加快指令可由用户在操作界面点击预设加快倍数,拖动进度条调节加快倍数或者输入加快倍数数值等发出,系统程序获取到用户操作后,将加快指令下发至机器人的驱动部件,对机器人进行加快运动控制。

    s166:根据加快指令减小插补时间间隔。

    根据加快指令减小插补时间间隔,以加快机器人的运动速度。以一实例具体说明,若插补数据中的插补点是通过0.002s的采样周期采集的,那么在实际播放时,减小插补时间间隔,将播放时的插补时间间隔设置为0.001s,那么实际机器人的运动速度就加快了一倍。当然,实际机器人的运动速度还可以加快其他倍数。

    通过接收加快指令,可以加快机器人的运动速度,从而可加快验证轨迹规划的速度。

    请参阅图5,图5是本申请的验证轨迹规划的方法又一实施例中减缓机器人运动速度的流程示意图。在其他实施例中,验证轨迹规划的方法还包括:

    s167:接收减缓指令。

    接收减缓机器人运动速度的减缓指令。具体地,减缓指令可由用户在操作界面点击预设减缓倍数,拖动进度条调节减缓倍数或者输入减缓倍数数值等发出,系统程序获取到用户操作后,将减缓指令下发至机器人的驱动部件,对机器人进行减缓运动控制。

    s166:根据减缓指令增大插补时间间隔。

    根据减缓指令增加插补时间间隔,以减缓机器人的运动速度。以一实例具体说明,若插补数据中的插补点是通过0.001s的采样周期采集的,那么在实际播放时,增加插补时间间隔,将播放时的插补时间间隔设置为0.002s,那么实际机器人的运动速度就减缓了一倍。当然,实际机器人的运动速度还可以减缓其他倍数。

    通过获取减缓指令,可以减慢机器人的运动速度,从而可对某段轨迹慢放查看,以精确验证其有效性。

    请参阅图6,图6是本申请的电子设备一实施例的框架示意图。

    本申请又一实施例提供了一种电子设备20,包括相互耦接的存储器21和处理器22,处理器22用于执行存储器21中存储的程序指令,以实现上述任一实施例的验证轨迹规划的方法。在一个具体的实施场景中,电子设备20可以包括但不限于:微型计算机、服务器,此外,电子设备20还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。本电子设备20通过对轨迹规划进行仿真,生成插补数据,并将插补数据直接应用于实际的机器人平台,可直接快速验证轨迹规划算法的有效性,无需开发目标平台,并事先在目标平台上验证该算法,从而大大提高轨迹规划算法研发和验证的效率,节省时间成本。

    具体而言,处理器22用于控制其自身以及存储器21以实现上述任一验证轨迹规划的方法实施例的步骤。处理器22还可以称为cpu(centralprocessingunit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器22可以由集成电路芯片共同实现。

    请参阅图7,图7是本申请的验证轨迹规划的方法的一实施例的框架示意图。

    本申请又一实施例提供了一种验证轨迹规划的装置30,包括生成模块31、判断模块32和执行模块33。其中,生成模块31对轨迹规划进行仿真,生成插补数据,插补数据包括若干多个连续的插补点,相邻两个插补点之间为一个插补周期;生形成执行插补轨迹运动数据的运动指令,运动指令的参数包括插补数据的存储路径。判断模块32判断机器人的当前位置与插补数据的起点位置是否相同。若机器人的当前位置与插补数据的起点位置相异,执行模块33插入对齐轨迹,对齐轨迹的起点为机器人的当前位置,对齐轨迹的终点为插补数据的起点位置,执行模块33根据对齐轨迹使机器人从当前位置运动至插补数据的起点位置;若机器人的当前位置与插补数据的起点位置相同,或者机器人从当前位置运动至插补数据的起点位置,执行模块33执行运动指令,根据插补数据使机器人进行轨迹运动。本装置30通过对轨迹规划进行仿真,形成插补数据,并将插补数据直接应用于实际的机器人平台,可直接快速验证轨迹规划算法的有效性,无需开发目标平台,并事先在目标平台上验证该算法,从而大大提高轨迹规划算法研发和验证的效率,节省时间成本。

    请参阅图8,图8是本申请的计算机可读存储介质一实施例的框架示意图。

    本申请又一实施例提供了一种计算机可读存储介质40,其上存储有程序数据41,程序数据41被处理器执行时实现上述任一实施例的验证轨迹规划的方法。

    在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

    作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

    另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

    集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质40中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质40中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质40包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

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


    技术特征:

    1.一种验证轨迹规划的方法,其特征在于,包括:

    对轨迹规划进行仿真,生成插补数据,所述插补数据包括多个插补点;

    生成执行轨迹运动的运动指令,所述运动指令的参数包括所述插补数据的存储路径;

    判断机器人的当前位置与所述插补数据的起点位置是否相同;

    若所述机器人的当前位置与所述插补数据的起点位置相异,插入对齐轨迹,所述对齐轨迹的起点为所述机器人的当前位置,所述对齐轨迹的终点为所述插补数据的起点位置,根据所述对齐轨迹使所述机器人从所述当前位置运动至所述插补数据的起点位置;

    若所述机器人的当前位置与所述插补数据的起点位置相同,或者所述机器人从所述当前位置运动至所述插补数据的起点位置,执行所述运动指令,根据所述插补数据使所述机器人进行轨迹运动。

    2.根据权利要求1所述的方法,其特征在于,还包括,将所述插补数据存储于插补文件,所述运动指令的参数包括所述插补数据的存储路径为所述运动指令包括所述插补文件的存储路径,所述执行所述运动指令包括:

    根据所述插补文件的存储路径读取插补数据,将所述插补数据下发至所述机器人的驱动部件,使所述驱动部件根据所述插补数据进行轨迹运动控制。

    3.根据权利要求1所述的方法,其特征在于,还包括,

    接收暂停指令;

    根据所述暂停指令进行速度规划,使所述机器人的插补速度变化为零。

    4.根据权利要求3所述的方法,其特征在于,所述暂停指令包括控制所述机器人的插补速度变化为零所需的停止时间,所述停止时间大于等于第一时间,所述第一时间的计算方法如下:

    tmin=max(vi/aimax);

    其中vi为所述机器人各个轴在减速瞬间的瞬间速度,aimax为各个轴允许的最大加速度,n为所述机器人的轴数。

    5.根据权利要求2所述的方法,其特征在于,还包括,

    接收恢复运动指令;

    根据所述恢复运动指令,使所述机器人的插补速度变化为设定值。

    6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括,

    接收加快指令;

    根据所述加快指令减小插补时间间隔。

    7.根据权利要求1-5中任一项所述的方法,其特征在于,还包括,

    接收减缓指令;

    根据所述减缓指令增大插补时间间隔。

    8.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至7中任一项所述的方法。

    9.一种计算机可读存储介质,其上存储有程序数据,其特征在于,所述程序数据被处理器执行时实现权利要求1至7中任一项所述的方法。

    技术总结
    本申请公开验证轨迹规划的方法、电子设备及存储介质,其中,验证轨迹规划的方法包括:对轨迹规划进行仿真,生成插补数据,插补数据包括多个插补点;生成执行轨迹运动的运动指令,运动指令的参数包括插补数据的存储路径;判断机器人的当前位置与插补数据的起点位置是否相同;若机器人的当前位置与插补数据的起点位置相异,插入对齐轨迹,机器人从当前位置运动至插补数据的起点位置,执行运动指令,根据插补数据使机器人进行轨迹运动。通过形成插补数据,并将插补数据直接应用于实际的机器人平台,可直接快速验证轨迹规划算法的有效性,无需开发目标平台,并事先在目标平台上验证该算法,从而大大提高轨迹规划算法研发和验证的效率,节省时间成本。

    技术研发人员:叶根
    受保护的技术使用者:北京配天技术有限公司
    技术研发日:2020.11.09
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-24565.html

    最新回复(0)