运动规划方法、装置、设备及计算机可读存储介质与流程

文档序号:17854582发布日期:2019-06-11 22:29阅读:144来源:国知局
运动规划方法、装置、设备及计算机可读存储介质与流程

本公开涉及运动规划技术,尤其涉及一种运动规划方法、装置、设备及计算机可读存储介质。



背景技术:

运动规划(motionplanning)就是在给定的位置之间确定找到一条符合约束条件的路径。这个约束可以是无碰撞、路径最短、机械功最小等。

目前常用的运动规划方法是人工势场法以及基于启发式搜索的a*算法。应用人工势场法规划出来的路径一般是比较平滑并且安全。这种方式需要将空间栅格化,每个格子可以认为是机械臂移动的步长,这种方式的一个问题就是如何选取这一步长。若步长太大,也就是空间的分辨率较低,则会产生很多重复无意义的计算,增加路径规划的施加和效率;若步长太小,也就是空间的分辨率较高,则路径规划的过程中极易无法计算机械臂的轨迹。

因此,现有技术中的机械臂运动规划方法实用性不高。



技术实现要素:

本公开提供一种运动规划方法、装置、设备及计算机可读存储介质,以解决现有技术中的机械臂运动规划方法实用性不高的问题。

本公开的第一个方面是提供一种运动规划方法,包括:

根据可移动平台的运动部件的初始运动状态、目标运动状态确定当前路径;

根据预设路径点数对所述当前路径进行分割,得到带有时间信息的运动状态;

判断所述运动状态是否符合合理性规则;

若否,则确定不合理状态对应的避障性增量;

根据所述避障性增量、所述不合理状态确定更新运动状态,并根据所述更新运动状态更新所述当前路径,得到新的当前路径;

根据所述更新运动状态继续执行所述判断所述运动状态是否合理的步骤。

本公开的另一个方面是提供一种运动规划装置,包括:

第一确定模块,用于根据可移动平台的运动部件的初始运动状态、目标运动状态确定当前路径;

分割模块,用于根据预设路径点数对所述当前路径进行分割,得到带有时间信息的运动状态;

判断模块,用于判断所述运动状态是否符合合理性规则;

若否,则第二确定模块确定不合理状态对应的避障性增量;

更新模块,用于根据所述避障性增量、所述不合理状态确定更新运动状态,并根据所述更新运动状态更新所述当前路径,得到新的当前路径;

所述判断模块根据所述更新运动状态继续执行所述判断所述运动状态是否合理的步骤。

本公开的又一个方面是提供一种运动规划设备,包括:

存储器;

处理器;以及

计算机程序;

其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现如上述第一方面所述的运动规划方法。

本公开的又一个方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如上述第一方面所述的运动规划方法。

本公开提供的运动规划方法、装置、设备及计算机可读存储介质的技术效果是:

本公开提供的运动规划方法、装置、设备及计算机可读存储介质,包括:根据可移动平台的运动部件的初始运动状态、目标运动状态确定当前路径;根据预设路径点数对当前路径进行分割,得到带有时间信息的运动状态;判断运动状态是否符合合理性规则;若否,则确定不合理状态对应的避障性增量;根据避障性增量、不合理状态确定更新运动状态,并根据更新运动状态更新当前路径,得到新的当前路径;根据新的更新运动状态继续执行判断运动状态是否合理的步骤。本公开提供的运动规划方法、装置、设备及计算机可读存储介质,先初始化一条当前路径,再对该路径进行合理化判断,若路径中包括不合理的运动状态,则可以计算不合理运动状态对应的避障性增量,从而根据避障性增量对不合理状态进行更新,进而使得规划的运动路径得以更新,再重复的对新的路径进行和理性判断,能够得到一条合理且充分连续的运动路径,能够用于指导运动部件进行移动。

附图说明

图1为本发明一示例性实施例示出的运动规划方法的流程图;

图2为本发明另一示例性实施例示出的运动规划方法的流程图;

图3为本发明又一示例性实施例示出的运动规划方法的流程图;

图4为本发明一示例性实施例示出的运动规划装置的结构图;

图5为本发明另一示例性实施例示出的运动规划装置的结构图;

图6为本发明一示例性实施例示出的运动规划设备的结构图。

具体实施方式

图1为本发明一示例性实施例示出的运动规划方法的流程图。

其中,本实施例提供的方法可以为可移动的机械平台的运动部件规划运动状态。例如,机械臂的各个关节的状态、机器人的腿的运动状态等。对于机械臂来说,状态是指机械臂中各个关节的状态值,如四轴机械臂中,第一、二、四关节是通过调整轴的角度进行运动的,第三关节是通过调整高度运动的,因此,机械臂的状态可以包括(θ1、θ2、h、θ4),其中,θ1、θ2、θ4是指第一、二、四关节的角度值,h是指第三关节相对于地面的高度值。其他类型的机械臂与此类似。

如图1所示,本实施例提供的运动规划方法包括:

步骤101,根据可移动平台的运动部件的初始运动状态、目标运动状态确定当前路径。

可以由具备计算功能的电子设备执行本实施例提供的方法,例如,可以是计算机、平板电脑、智能移动设备(如智能手机)等。该电子设备可移动平台直接或间接的连接,也可以不连接。若二者连接,则电子设备还可以根据规划的运动轨迹控制可移动平台的运动部件移动。

电子设备可以获取可移动平台的运动部件的初始运动状态、目标运动状态。

其中,电子设备可以通过传感器等部件检测运动部件的初始运动状态,还可以由用户输入运动部件的初始运动状态。

具体的,运动部件的目标运动状态也可以是用户手动输入的,还可以是电子设备自动检测的。例如,用户输入运动部件需要抓取的物品,或需要达到的指定位置,则电子设备可以确定出运动部件处于何种状态时,能够抓取到该物品或到达该指定位置,从而确定出目标运动状态。

进一步的,可以根据获取的初始运动状态、目标运动状态确定当前路径。具体可以采用多项式的方式确定当前路径,例如,可以构建三次多项式、四次多项式或五次多项式,该多项式以时间为自变量、运动状态为因变量,可以通过调整多项式内的参数,使得在时刻0时,多项式结果为初始运动状态,在时刻t时,多项式结果为目标运动状态,t可以根据需求进行设置,具体可以是预计的运动部件的运动时长。

实际应用时,在开始为运动部件进行运动规划之前,可以设置一些参数,具体可以由用户根据需求设置,也可以是电子设备根据历史经验确定这些参数。在设置参数时,可以设置路径时长t,从而在运动规划时,规划出运动所需时间满足路径时长t的运动轨迹。

基于步骤101可以得到最初的当前路径,通过多项式构建路径,能够得到一条完整、充分连续的运动轨迹,且该运动轨迹符合预期的运动时长。

步骤102,根据预设路径点数对当前路径进行分割,得到带有时间信息的运动状态。

其中,在设置参数时,还可以设置预设路径点数。预设路径点数设置的越多,在后期处理时数据处理量也越大,但是规划出的路径也越符合预期。因此,可以根据需求设置预设路径点数。

具体的,电子设备可以获取预设的路径点数,并基于预设路径点数对当前路径进行分割,能够得到多个运动状态。当前路径虽然可以理解为是一条运动轨迹,但其包含了多个运动状态,运动部件根据当前路径中的运动状态进行切换,从而形成该运动轨迹。

进一步的,运动部件在不同的时间,会处于当前路径中的不同运动状态。例如,在时刻0,运动部件处于初始运动状态,在时刻t0处于中间运动状态,在时刻t处于目标运动状态。因此,可以根据时间对当前路径进行分割。

实际应用时,可以根据时间对当前路径进行等分,分割点即为带有时间的运动状态。具体可以将0到t进行分割,得到多个时间点,再基于多项式计算这些时间点对应的运动状态,从而得到时间点与运动状态的对应关系。

其中,若采用其他方式确定当前路径,也可以按照其他方式对当前路径进行切割,例如,可以以等分路径的方式,得到多个运动状态,并根据当前路径确定各个运动状态对应的时间点。

步骤103,判断运动状态是否符合合理性规则。

具体的,在规划出当前路径后,还需要验证该路径是否可行,是否符合预期的约束条件。本实施例提供的方法中,由于在步骤102中对当前路径进行了切割,得到多个运动状态,因此,可以判断这些运动状态是不是合理,若均合理,则可以认为当前路径合理。

其中,可以预先设置用于判断运动状态是否合理的合理性规则,从而基于这些规则对各个运动状态进行判断。在实际应用时,可以逐个的对运动状态进行判断,也可以并行的同时对多个运动状态进行判断。

若运动状态同时满足以下条件,则可以认为运动状态符合合理性规则:

运动状态属于运动部件的运动范围、运动部件位于运动状态时与障碍物的距离大于等于安全距离。

合理的运动状态是指,运动部件在这个状态下,各个关节值不超出运动部件的合理运动范围,且在这个状态下,运动部件与所有障碍物的距离都大于或等于安全距离。可以预先设置运动部件的合理运动范围,进而直接判断运动部件处于该运动状态时,是否在合理运动范围内,若在,则确定运动状态符合上述第一个条件。再根据预设的障碍物模型判断运动部件处于该运动状态时,是否与所有障碍物的距离都大于或等于安全距离,若是,则可以确定该运动状态是合理的状态。也可以先确定运动状态是否符合第二个条件,再判断是否符合第一个条件。

若运动部件超出其合理运动范围,则运动部件无法正常移动,若运动部件与障碍物相撞,则会导致运动部件发生损坏,因此,只有符合这两个条件的运动状态,才是运动部件可以经历的状态。

此外,若设置的预设路径点数较少,则还可以判断两个相邻的运动状态之间的状态是否符合上述合理性规则。若两个相邻的运动状态均符合上述规则,则可以在这两个运动状态之间再分割得到多个运动子状态,若多个运动子状态均符合上述规则,那么确定这两个运动邻状态的确为合理的状态。

可以预先设置障碍物模型,模型中包括的障碍物可以是机械臂在合理运动过程中有可能碰撞到的障碍物,例如,在某些姿势下,手抓有可能与机械臂的基座产生碰撞,因此,可以将机械臂的基座也加入障碍物模型中。

若判断运动状态不合理,则执行步骤104。

步骤104,确定不合理状态对应的避障性增量。

其中,当运动部件移动很小的距离时,若运动部件与障碍物之间的距离增大,则可以认为这个方向是避障性增量。可以认为是运动部件与障碍物之间相反的方向。

具体的,还可以预先设置运动部件的模型,并根据障碍物模型、运动部件模型计算运动部件在处于不合理状态时,与障碍物之间的避障性增量。例如,若二者发生碰撞,则可以计算碰撞位置,再基于碰撞位置确定出运动部件与障碍物之间相反的方向。

具体的,可以将方向转换为具体的值,例如,对于二维平面,水平为x轴,垂直为y轴。那么(1,0)就表示水平向右。在实际应用时,可以根据需求计算方向对应的值,例如,可以用(1,0)表示右,也可以用(2,0)表示右。

进一步的,可以根据运动部件的正运动学确定运动部件处于不合理状态时的姿态,还可根据预设的障碍物模型,将障碍物模型转换为平面模型,将两个模型同时向特定直线投影,能够得到运动部件与障碍物之间的距离,同时,还能够确定运动部件与障碍物之间的方向信息,再基于微分逆运动学,能够将该方向信息转换为避障性增量。

步骤105,根据避障性增量、不合理状态确定更新运动状态,并根据更新运动状态更新当前路径,得到新的当前路径。

由于避障性增量是运动部件与障碍物之间相反的方向,因此,可以根据避障性增量对不合理状态进行调整,使得运动部件处于该新的状态时,不会与障碍物发生碰撞。例如,可以将运动部件的运动状态与避障性增量进行相加,从而使运动状态向着避障性增量的方向移动,达到躲避障碍物的目的。

若由于运动部件处于运动状态时,不属于合理的运动范围,而导致该运动状态属于不合理状态时,也可以基于步骤105对该状态进行调整,经过多次调整后,使得该状态属于合理的运动范围,且不会与障碍物相撞。

具体的,可以根据更新的运动状态,更新当前路径,可以直接用更新的运动状态替换不合理运动状态。

进一步的,更新当前路径后,可以基于更新运动状态继续执行步骤103。

实际应用时,由于没有判断更新运动状态本身是否符合合理性规则,因此,有可能更新运动状态也存在不合理的情况,可以根据更新运动状态继续执行步骤103,从而对新的路径进行合理性判断。若根据更新后的运动状态判断各个运动状态都合理,则可以确定更新后的当前路径合理。

本实施例提供的方法用于进行运动规划,该方法由设置有本实施例提供的方法的设备执行,该设备通常以硬件和/或软件的方式来实现。

本实施例提供的运动规划方法,包括:根据可移动平台的运动部件的初始运动状态、目标运动状态确定当前路径;根据预设路径点数对当前路径进行分割,得到带有时间信息的运动状态;判断运动状态是否符合合理性规则;若否,则确定不合理状态对应的避障性增量;根据避障性增量、不合理状态确定更新运动状态,并根据更新运动状态更新当前路径,得到新的当前路径;根据新的更新运动状态继续执行判断运动状态是否合理的步骤。本实施例提供的运动规划方法,先初始化一条当前路径,再对该路径进行合理化判断,若路径中包括不合理的运动状态,则可以计算不合理运动状态对应的避障性增量,从而根据避障性增量对不合理状态进行更新,进而使得规划的运动路径得以更新,再重复的对新的路径进行和理性判断,能够得到一条合理且充分连续的运动路径,能够用于指导运动部件进行移动。

图2为本发明另一示例性实施例示出的运动规划方法的流程图。

如图2所示,本实施例提供的运动规划方法,包括:

步骤201,构建以时间为自变量、运动状态为因变量的五次多项式,五次多项式满足以下条件:

当时间为0时,多项式结果为初始运动状态,当时间为预计运动时间时,多项式结果为目标运动状态。

其中,五次多项式的曲线更加平滑,基于五次多项式确定运动路径,能够得到更加平滑的运动轨迹。并且,根据五次多项式确定的运动路径,能够保证在起点和终点位置的速度和加速度连续,因此,可以采用五次多项式的方式初始化一条当前路径。

具体的,五次多项式可以是:

θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5

t是时间,θ(t)是在时间t时的运动状态,a0、a1、a2、a3、a4、a5是多项式系数。当t=0时,θ(t)等于初始运动状态,表示在时刻0时,运动部件处于初始运动状态。当t=t时,θ(t)等于目标运动状态,表示在时刻t时,运动部件处于目标运动状态,即运动部件移动到终点。t是预计的运动时长。

进一步的,可以通过调整多项式系数,满足当时间为0时,多项式结果为初始运动状态,当时间为预计运动时间时,多项式结果为目标运动状态条件。

步骤202,将五次多项式确定为当前路径。

可以将步骤201中构建的五次多项式确定为当前路径,该路径以初始运动状态为起点,目标运动状态为终点,且基于五次多项式的曲线平滑、充分连续,因此,可以基于五次多项式构建出一条路径。

这条路径没有考虑外部环境以及运动部件的运动规范,仅考虑了路径平滑和连续性,因此,还需要对这条路径进行合理性判断。由于运动路径中包括多个运动状态,若各个运动状态合理,则可以认为这条路径合理。

步骤203,根据预设路径点数对预计运动时长进行切割,确定多个子时间。

其中,由于运动路径中有多个运动状态,例如,每秒钟对应的运动状态都不尽相同,因此,可以根据预设路径点数对预计运动时长进行切割,确定多个子时间,再确定每个子时间对应的运动状态。

具体的,预设时长是指构建五次多项式时,从时刻0到预计运动时间之间的时间长度,例如,从0到t这一段时间。可以将这段时间进行等分,得到预设路径点数个子时间,如0、t1、t2、t3...t。

进一步的,可以预先设置预设路径点数,用于根据预设路径点数在当前路径中选取运动状态。若预设路径点数较多,则选取的运动状态也较多,会导致后续的步骤运算量较大。若预设路径点数较少,则选取的运动状态也较少,会影响对当前路径合理性判断的准确度,因此,可以根据需求设置合理的预设路径点数,从而在二者之间进行平衡。

步骤204,根据五次多项式确定子时间对应的运动状态。

实际应用时,可以将子时间作为自变量,利用五次多项式计算出运动状态。例如,当子时间为t1时,运动状态为:

a0+a1t1+a2t12+a3t13+a4t14+a5t15

通过上式方式,能够得到每个子时间对应的运动状态,从而使这些运动状态具有时间信息。

步骤205,判断运动状态是否符合合理性规则。

合理规则包括以下条件:

运动状态属于运动部件的运动范围、运动部件位于运动状态时与障碍物的距离大于等于安全距离。

合理的运动状态是指,运动部件在这个状态下,各个关节值不超出运动部件的合理运动范围,且在这个状态下,运动部件与所有障碍物的距离都大于或等于安全距离。可以预先设置运动部件的合理运动范围,进而直接判断运动部件处于该运动状态时,是否在合理运动范围内,若在,则确定运动状态符合上述第一个条件。再根据预设的障碍物模型判断运动部件处于该运动状态时,是否与所有障碍物的距离都大于或等于安全距离,若是,则可以确定该运动状态是合理的状态。也可以先确定运动状态是否符合第二个条件,再判断是否符合第一个条件。

若运动部件超出其合理运动范围,则运动部件无法正常移动,若运动部件与障碍物相撞,则会导致运动部件发生损坏,因此,只有符合这两个条件的运动状态,才是运动部件可以经历的状态。

若每个运动状态都符合合理性规则,则执行步骤206,否则,执行步骤207。

步骤206,确定当前路径为最终路径。

若每个运动状态都合理,则可以认为当前路径合理,可以将其作为最终路径,即运动部件沿着这条路径运动时,能够到达终点,而且运动过程合理。

步骤207,根据预设障碍物模型、运动部件模型确定运动部件与障碍物之间相反的方向信息。

其中,可以根据预设障碍物模型、运动部件模型确定二者距离最近的位置,再基于这个位置确定二者之间相反的方向信息。可以计算运动部件沿着某一方向移动后,与障碍物间的距离,若距离增大,则可以认为这一方向是运动部件、障碍物之间相反的方向。在运动部件移动相同距离的情况下,障碍物与运动部件之间的距离增大最多的方向,确定为最终的方向信息。

步骤208,根据方向信息确定不合理状态对应的避障性增量。

可以将方向转换为具体的值,例如,对于二维平面,水平为x轴,垂直为y轴。那么(1,0)就表示水平向右。在实际应用时,可以根据需求计算方向对应的值,例如,可以用(1,0)表示右,也可以用(2,0)表示右。

步骤209,确定不合理状态对应的光滑性增量。

其中,为了使最终规划的运动路径更加光滑,可以确定不合理状态对应的光滑性增量。可以根据不合理状态及其上一个时刻的状态或下一个时刻的状态,确定光滑性增量,再结合光滑性增量对不合理状态进行调整,使得更新后的路径也是平滑的。

确定不合理状态对应的光滑性增量,包括:

获取不合理状态对应的时间信息;

根据时间信息确定不合理状态对应的上一个运动状态;

根据上一个运动状态、不合理状态、预设光滑性权重值,确定光滑性增量。

本实施例提供的方法中,各个运动状态都具有时间属性,因此,可以获取不合理运动状态对应的时间信息,再根据该时间信息,找到上一个时间信息,再确定上一个时间信息对应的上一个运动状态。例如,不合理运动状态对应的时刻是t3,则上一个时间信息是t2,可以获取t2对应的运动状态。

其中,还可以预先设置光滑性权重值,从而根据上一个运动状态、不合理状态、预设光滑性权重值,确定光滑性增量。可以确定一个通用的预设光滑性权重值,也可以根据不同时间信息确定不同的预设光滑性权重值。

具体的,可以采用下式确定光滑性增量:

其中,是不合理状态θi对应的光滑性增量,θi-1是不合理状态θi的上一个运动状态,wm是预设光滑性权重值,该权重值可以是通用的,也可以是时刻i对应的光滑性权重值。

步骤207-208与步骤209之间的时序不进行限制。

步骤210,根据避障性增量、光滑性增量、不合理状态确定更新运动状态。

进一步的,为了使更新后的运动状态趋近于合理,可以根据避障性增量调整不合理运动状态,同时,为了使更新后的运动路径更加平滑,可以结合避障性增量、光滑性增量更新不合理的运动状态。

实际应用时,可以先结合避障性增量、光滑性增量确定总增量,再根据总增量调整不合理状态,从而得到更新运动状态。

其中,可以采用下式确定总增量:

δθt=α(wmδθm+waδθa)

具体的,δθt是总增量;α是学习率,可以根据需求进行设置;wm是避障性权重;wa是光滑性权重;δθm是光滑性增量,δθa是避障性增量。

步骤211,根据更新运动状态更新当前路径,得到新的当前路径。

步骤211与步骤105中更新当前路径的具体原理和实现方式类似,此处不再赘述。

在步骤211之后,可以根据更新运动状态继续执行步骤205。

图3为本发明又一示例性实施例示出的运动规划方法的流程图。

如图3所示,本实施例提供的运动规划方法,包括:

步骤301,获取初始状态中的第三轴状态值,获取目标状态的目标第三状态值。

其中,本实施例提供的方法适用于四轴机械臂,对于四轴机械臂来说,状态值中包括四个轴的状态值(θ1、θ2、h、θ4)。因此,获取的机械臂初始状态时,也能够得到相应的四个状态值分别为第一轴状态值、第二轴状态值、第三轴状态值、第四轴状态值。

具体的,四轴机械臂中,第三轴状态值仅用来调整手抓的高度值,不改变手抓的位置和姿态。而基于第一轴状态值、第二轴状态值以及第四轴状态值就能够调整手抓末端相对于地面的高度。因此,可以在运动规划过程中将第三轴的状态值h剥离出去,仅考虑第一、二、四轴的状态值,从而减少规划过程的计算量。

进一步的,在最终规划的运动路径中,需要为机械臂指定第三关节的状态。并实施例提供的方法中,可以基于初始状态中的第三轴状态值、目标状态的目标第三状态值,确定最终的运动路径中,机械臂第三关节对应的状态。

实际应用时,可以先获取起始状态和目标状态中分别的第三轴状态值,可以直接读取这两个状态中的第三轴状态值。

步骤302,确定第三轴状态值、目标第三状态值中的较大值为规划第三轴状态值。

步骤303,获取障碍物模型中障碍物的高度值。

可以预先设置障碍物模型,其中包括的障碍物可以是机械臂在合理运动过程中有可能碰撞到的障碍物,例如,在某些姿势下,手抓有可能与机械臂的基座产生碰撞,因此,可以将机械臂的基座也加入障碍物模型中。

实际应用时,障碍物模型中包括障碍物的信息,例如高度信息,可以从中获取各个障碍物的高度值。

步骤304,若高度值小于规划第三轴状态值,则在障碍物模型中删除障碍物得到最终障碍物模型。

其中,可以根据规划第三轴状态值,指定机械臂在运动过程中的第三轴运动状态。在运动过程中,若障碍物低于第三轴状态值,那么机械臂的手抓不会与障碍物发生碰撞,因此,可以在障碍物模型中删除高度低于规划第三轴状态值的障碍物,能够进一步的降低路径规划过程中的数据处理量。

具体的,删除障碍物模型中全部的高度值小于规划第三轴状态值的障碍物,从而得到最终障碍物模型。

步骤305,根据初始状态中包括的第一轴状态值、第二轴状态值、第四轴状态值、目标状态包括的目标第一轴状态值、目标第二轴状态值、目标第四轴状态值,确定根据可移动平台的运动部件的当前路径。

本实施例提供的方法中,可以仅根据初始状态和目标状态中的第一轴、第二轴以及第四轴的状态值初始化当前路径。

其中,具体可以是通过五次多项式的方式构建当前路径。五次多项式中,自变量为时间,因变量为第一轴、第二轴以及第四轴的状态值。当时间为0时,多项式结果等于初始状态中包括的第一轴状态值、第二轴状态值、第四轴状态值,当时间为预计运动时长时,多项式结果等于目标状态包括的目标第一轴状态值、目标第二轴状态值、目标第四轴状态值。

步骤306,根据预设路径点数对当前路径进行分割,得到带有时间信息的运动状态。

步骤306与步骤102的具体原理和实现方式类似,此处不再赘述。

本实施例提供的方案中,当前路径包括的运动状态只有第一轴、第二轴以及第四轴的状态值,因此,分割当前路径得到的运动状态也包括这三个状态值。

步骤307,根据最终障碍物模型判断运动状态是否符合合理性规则。

具体的合理性规则与上述实施例相似,不再赘述。

本实施例的方案与上述方案的区别在于,最终障碍物模型中的障碍物较少,而且运动状态只有第一轴、第二轴以及第四轴的状态值,能够降低判断是否合理的数据处理量。

若每个运动状态都符合合理性规则,则执行步骤308,否则,执行步骤309。

步骤308,根据当前路径、规划第三轴状态值确定最终路径。

其中,通过上述步骤规划得到的当前路径中仅包括三轴状态值,具体为第一轴状态值、第二轴状态值、第四轴状态值。可以将规划第三轴状态值添加到每个状态中,使每个状态都为四轴状态值,从而形成最终路径。例如,规划第三轴状态值为5,当前路径的一个状态为(1,2,3),则将规划第三轴状态值加入该状态后,能够得到状态(1,2,5,3)。对当前路径中的每个状态都进行这样的操作。

获取四轴运动状态中的起点状态以及终点状态。将起点状态与初始状态比对,判断二者是否完全一致,若不一致,则将初始状态作为运动路线的第一个状态。将终点状态与目标状态比对,判断二者是否完全一致,若不一致,则将目标状态作为运动路线的最后一个状态。需要说明的是,起点状态与初始状态若不完全一致,或者重点状态与目标状态若不完全一致,只有可能是第三轴不同。

本实施例的方案中,基于第一轴、第二轴、第四轴的运动规划已经绕开了高于规划第三轴状态值的障碍物。在且最终的运动路线中,第三轴的高度为规划第三轴状态值,因此低于该值的障碍物不会对机械臂产生影响,因此,在运动规划中可以不考虑这部分障碍物,基于此,本实施例提供的方案能够减少计算量,进而提高路径规划的速度。

步骤309,确定不合理状态对应的避障性增量。

步骤310,根据避障性增量、不合理状态确定更新运动状态,并根据更新运动状态更新当前路径,得到新的当前路径。

步骤310之后,根据更新运动状态继续执行步骤307。

图4为本发明一示例性实施例示出的运动规划装置的结构图。

如图4所示,本实施例提供的运动规划装置,包括:

第一确定模块41,用于根据可移动平台的运动部件的初始运动状态、目标运动状态确定当前路径;

分割模块42,用于根据预设路径点数对所述当前路径进行分割,得到带有时间信息的运动状态;

判断模块43,用于判断所述运动状态是否符合合理性规则;

若否,则第二确定模块44确定不合理状态对应的避障性增量;

更新模块45,用于根据所述避障性增量、所述不合理状态确定更新运动状态,并根据所述更新运动状态更新所述当前路径,得到新的当前路径;

所述判断模块43根据所述更新运动状态继续执行所述判断所述运动状态是否合理的步骤。

本实施例提供的运动规划装置,包括:第一确定模块,用于根据可移动平台的运动部件的初始运动状态、目标运动状态确定当前路径;分割模块,用于根据预设路径点数对所述当前路径进行分割,得到带有时间信息的运动状态;判断模块,用于判断所述运动状态是否符合合理性规则;若否,则第二确定模块确定不合理状态对应的避障性增量;更新模块,用于根据所述避障性增量、所述不合理状态确定更新运动状态,并根据所述更新运动状态更新所述当前路径,得到新的当前路径;所述判断模块根据所述更新运动状态继续执行所述判断所述运动状态是否合理的步骤。本实施例提供的装置,先初始化一条当前路径,再对该路径进行合理化判断,若路径中包括不合理的运动状态,则可以计算不合理运动状态对应的避障性增量,从而根据避障性增量对不合理状态进行更新,进而使得规划的运动路径得以更新,再重复的对新的路径进行和理性判断,能够得到一条合理且充分连续的运动路径,能够用于指导运动部件进行移动。

本实施例提供的运动规划装置的具体原理和实现方式均与图1所示的实施例类似,此处不再赘述。

图5为本发明另一示例性实施例示出的运动规划装置的结构图。

如图5所示,在上述实施例的基础上,本实施例提供的运动规划装置,还包括:

第三确定模块46,用于若每个所述运动状态都合理,则确定所述当前路径为最终路径。

所述第一确定模块41具体用于:

构建以时间为自变量、所述运动状态为因变量的五次多项式,所述五次多项式满足以下条件:

当所述时间为0时,所述多项式结果为所述初始运动状态,当所述时间为预计运动时间时,所述多项式结果为所述目标运动状态;

将所述五次多项式确定为所述当前路径。

所述分割模块42具体用于:

根据所述预设路径点数对预计运动时长进行切割,确定多个子时间;

根据所述五次多项式确定所述子时间对应的运动状态。

所述合理规则包括以下条件:

所述运动状态属于所述运动部件的运动范围、所述运动部件位于所述运动状态时与障碍物的距离大于等于安全距离。

所述第二确定模块44具体用于:

根据预设障碍物模型、运动部件模型确定所述运动部件与障碍物之间相反的方向信息;

根据所述方向信息确定所述不合理状态对应的避障性增量。

若判断所述运动状态不符合合理性规则,所述第二确定模块还用于确定所述不合理状态对应的光滑性增量;

所述更新模块45具体用于:

根据所述避障性增量、所述光滑性增量、所述不合理状态确定更新运动状态。

所述第二确定模块44具体用于:

获取所述不合理状态对应的时间信息;

根据所述时间信息确定所述不合理状态对应的上一个运动状态;

根据所述上一个运动状态、所述不合理状态、预设光滑性权重值,确定所述光滑性增量。

可选的,所述初始状态包括第一轴状态值、第二轴状态值、第三轴状态值、第四轴状态值;所述目标状态包括目标第一轴状态值、目标第二轴状态值、目标第三轴状态值、目标第四轴状态值;

所述第一确定模块41具体用于:

根据所述初始状态中包括的所述第一轴状态值、第二轴状态值、第四轴状态值、所述目标状态包括的目标第一轴状态值、目标第二轴状态值、目标第四轴状态值,确定所述根据可移动平台的运动部件的当前路径。

可选的,本实施例提供的装置还包括:

预处理模块47,用于:

获取所述初始状态中的所述第三轴状态值,获取所述目标状态的目标第三状态值;

确定所述第三轴状态值、目标第三状态值中的较大值为规划第三轴状态值;

模型处理模块48,用于:

获取障碍物模型中障碍物的高度值;

若所述高度值小于所述规划第三轴状态值,则在所述障碍物模型中删除所述障碍物得到最终障碍物模型;

所述判断模块43具体用于:

根据所述最终障碍物模型判断所述运动状态是否符合合理性规则。

可选的,本实施例提供的装置还包括:

第四确定模块49,用于若每个所述运动状态都合理,则根据所述当前路径、所述规划第三轴状态值确定最终路径。

本实施例提供的装置的具体原理和实现方式均与图2-3所示的实施例类似,此处不再赘述。

图6为本发明一示例性实施例示出的运动规划设备的结构图。

如图6所示,本实施例提供的运动规划设备包括:

存储器61;

处理器62;以及

计算机程序;

其中,所述计算机程序存储在所述存储器61中,并配置为由所述处理器62执行以实现如上所述的任一种运动规划方法。

本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,

所述计算机程序被处理器执行以实现如上所述的任一种运动规划方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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