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

文档序号:16205555发布日期:2018-12-08 07:03阅读:143来源:国知局
运动规划方法、装置、设备及计算机可读存储介质与流程

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

背景技术

目前,在工业生产过程中,经常使用机械代替人工来进行生产作业,以提高生产效率,并降低生成成本。若机械在生产过程中需要移动,则需要对其进行运动规划,从而使机械能够到达目的地进行作业。

运动规划(motionplanning)是指在给定的位置a与位置b之间为机器人找到一条符合约束条件的路径。这个约束可以是无碰撞、路径最短、机械功最小等。目前常用的运动规划方法是人工势场法的路径规划方法。

应用人工势场法规划出来的路径一般是比较平滑并且安全,但是人工势场法存在着一些问题,例如会造成规划路径的过程中陷入局部极值点,进而不能得到正确的运动路线。



技术实现要素:

本发明提供一种运动规划方法、装置、设备及计算机可读存储介质,以解决现有技术中的人工势场法存在有可能陷入局部极值点,导致路线规划失败的问题。

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

获取可移动平台的运动部件的初始状态,并将所述初始状态加入路径列表中;

根据所述路径列表确定所述运动部件的当前状态,并根据所述当前状态确定满足第一预设规则的合理邻状态;

根据预设目标状态、预设障碍物模型在所述当前状态、所述合理邻状态中确定出第一状态;

若所述第一状态是所述合理邻状态,则将所述第一状态加入所述路径列表,并继续执行所述根据所述路径列表确定所述运动部件的当前状态的步骤;

若所述第一状态是所述当前状态,则判断所述第一状态与所述预设目标状态是否满足预设的第一匹配条件;

若匹配,则根据所述预设目标状态、真实目标状态规划运动路线;

若不匹配,则在预设的路标状态中确定临时目标状态,并基于所述临时目标状态,执行所述根据预设目标状态、预设障碍物模型在所述当前状态、所述合理邻状态中确定出第一状态的步骤;

其中,所述当前状态是最后添加进所述路径列表中的状态。

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

获取模块,用于获取可移动平台的运动部件的初始状态,并将所述初始状态加入路径列表中;

确定模块,用于根据所述路径列表确定所述运动部件的当前状态,并根据所述当前状态确定满足第一预设规则的合理邻状态;

第一状态确定模块,根据预设目标状态、预设障碍物模型在所述当前状态、所述合理邻状态中确定出第一状态;

加入模块,用于若所述第一状态是所述合理邻状态,则将所述第一状态加入所述路径列表,所述确定模块继续执行所述根据所述路径列表确定所述运动部件的当前状态的步骤;

判断模块,用于若所述第一状态是所述当前状态,则判断所述第一状态与所述预设目标状态是否满足预设的第一匹配条件;

规划模块,用于若匹配,则根据所述预设目标状态、真实目标状态规划运动路线;

临时目标状态确定模块,用于若不匹配,则在预设的路标状态中确定临时目标状态,并且所述第一状态确定模块基于所述临时目标状态,执行所述根据预设目标状态、预设障碍物模型在所述当前状态、所述合理邻状态中确定出第一状态的步骤;

其中,所述当前状态是最后添加进所述路径列表中的状态。

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

存储器;

处理器;以及

计算机程序;

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

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

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

本实施例提供的运动规划方法、装置、设备及计算机可读存储介质,包括获取可移动平台的运动部件的初始状态,并将初始状态加入路径列表中;根据路径列表确定运动部件的当前状态,并根据当前状态确定满足第一预设规则的合理邻状态;根据预设目标状态、预设障碍物模型在当前状态、合理邻状态中确定出第一状态;若第一状态是合理邻状态,则将第一状态加入路径列表,并继续执行根据路径列表确定运动部件的当前状态的步骤;若第一状态是当前状态,则判断第一状态与预设目标状态是否满足预设的第一匹配条件;若匹配,则根据预设目标状态、真实目标状态规划运动路线;若不匹配,则在预设的路标状态中确定临时目标状态,并基于临时目标状态,执行根据预设目标状态、预设障碍物模型在当前状态、合理邻状态中确定出第一状态的步骤;其中,当前状态是最后添加进路径列表中的状态。本实施例提供的运动规划方法、装置、设备及计算机可读存储介质,能够在路径列表出确定出当前状态,再基于当前状态得到运动部件的下一个运动状态,即第一状态,并将其加入路径列表,从而能够基于路径列表中的多个状态为运动部件进行路径规划。同时,在规划过程中若进入局部极值点,还能够设置临时目标点,从而协助本实施例的方法逃离局部极值点,再继续寻找下一个第一状态。因此,本实施例提供的运动规划方法、装置、设备及计算机可读存储介质能够找到运动部件从初始状态到达真实目标状态的合理的运动路线。

附图说明

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

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

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

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

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

具体实施方式

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

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

步骤101,获取可移动平台的运动部件的初始状态,并将初始状态加入路径列表中。

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

具体的,可以预先设置路径列表,用于存储为运动部件规划的运动状态,将各个运动状态连接起来,就是运动部件的运动路线。

进一步的,在规划运动路线开始时,可以先获取运动部件的初始状态,并将初始状态加入路径列表中。由于在开始规划运动路线时,还无法确定运动部件的每一步的运动状态,唯一能确定的就是运动部件需要从初始状态开始运动,因此,初始状态是运动部件一定会经历的状态。

可以通过传感器或其他检测方式获取运动部件的初始状态,并将其加入路径列表中。

步骤102,根据路径列表确定运动部件的当前状态,并根据当前状态确定满足第一预设规则的合理邻状态。

其中,当前状态是最后添加进路径列表中的状态。

实际应用时,在本实施例的方法刚开始执行时,路径列表中仅包括初始状态,则该初始状态即为路径列表中最后添加的状态,因此,将初始状态确定为当前状态。在方法执行到第二轮或者多轮时,路径列表中可能包括多个状态,此时,则将最后添加进路径列表的状态确定为当前状态。

其中,可以先根据当前状态确定邻状态,再在邻状态中确定符合第一预设规则的合理邻状态。

在一种实施方式中,可以首先根据运动部件动作时的步长,确定当前状态的各个邻状态。如当前状态为“0,0,0,0”,每个运动部件的步长均为3,那么状态“0,3,0,0”、“3,3,0,0”均为当前状态的邻状态,也就是任意关节挪动一步,即为当前状态的邻状态。

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

运动部件在处于合理邻状态时,符合其运动范围,同时也不会与障碍物发生碰撞,因此,每个合理邻状态都是运动部件下一步有可能运动的状态。

步骤103,根据预设目标状态、预设障碍物模型在当前状态、合理邻状态中确定出第一状态。

其中,可以设置用于存放预设目标状态的占位符,该占位符中存放的可以是真是目标状态,也可以是临时目标状态。在方法执行开始时,占位符内存储的是真实目标状态,在方法执行过程中,可能会将临时路标状态放入该占位符。可以认为预设目标状态就是当前的目标状态,即运动部件当前需要到达的状态。

具体的,可以预先根据可移动平台周围的障碍物设置障碍物模型,从而根据预设障碍物模型在当前状态、合理邻状态中确定出第一状态,第一状态是指在当前状态、合理邻状态中,确定出的到达预设目标状态所付出代价最小的状态。例如,可以是当前状态、合理邻状态中到达目标状态距离最小的状态。

进一步的,由于运动部件在移动过程中,还需要绕开其附近的障碍物,因此,可以根据障碍物模型确定当前状态、每个合理邻状态到达预设目标状态所需付出的代价。例如,可以认为运动部件与障碍物直接会产生斥力,预设目标状态与运动部件之间会产生引力,那么可以确定运动部件在某一状态下与各个障碍物之间的斥力,还可以确定运动部件在该状态下与预设目标状态之间的引力,再根据确定的斥力以及引力大小确定出最合理的第一状态,可以用引力减去斥力得到运动部件在该状态下的合力,将合力大的状态确定为第一状态。

步骤104,若第一状态是合理邻状态,则将第一状态加入路径列表。并继续执行步骤102。

若第一状态是当前状态的一个合理邻状态,则表示运动部件处于第一状态时,到达预设目标状态所需付出的代价最小,而且小于当前状态,那么可以认为第一状态是运动部件最合适的下一个状态,因此,可以将其加入路径列表,并继续根据路径列表确定当前状态。

其中,由于当前状态是路径列表中最后加入的状态,因此,在执行步骤102时,该第一状态将会被确定为当前状态。基于步骤103-104,能够确定出运动部件到达预设目标状态所需经过的第一状态,且经过第一状态到达预设目标状态所付出的代价最小,因此,本实施例提供的方法能够规划出到达预设目标状态的最短运动路线。

步骤105,若第一状态是当前状态,则判断第一状态与预设目标状态是否满足预设的第一匹配条件。

若第一状态是当前状态,则表明运动部件处于当前状态时距离预设目标状态的差距最小,即在当前状态与预设目标状态直接没有其他合适的状态了。此时,可以判断第一状态与预设目标状态是否满足预设的第一匹配条件。

进一步的,可以通过比对当前状态与预设目标状态的方式,确定二者是否匹配。若当前状态与预设目标状态之间满足第一匹配条件,则可以认为二者足够近,即已经到达预设目标状态。若二者不满足第一匹配条件,则可以认为还没有到达预设目标状态。

预设目标状态可以通过其他方法确定得到,也可以由用户主动输入,在此不对其进行限制。

实际应用时,可以通过计算当前状态与预设目标状态之间的差值确定是否满足第一匹配条件。例如,当本实施例提供的方法应用在四轴机械臂时,可以计算当前状态与预设目标状态之间各个状态值的差值绝对值,若各个状态的差值绝对值均小于其对应的阈值,则可以认为当前状态与目标状态满足第一匹配条件。若在应用过程中,对精度要求较高,则可以设置较小的阈值,若对精度要求不是特别高,则可以适当的将阈值调大。

其中,若当前状态与预设目标状态满足第一匹配规则,则可以认为运动部件在当前状态时,就已经到达预设目标状态了。此时,可以执行步骤106,根据预设目标状态、真实目标状态进一步的规划运动路线。

具体的,若当前状态与预设目标状态不满足第一匹配规则,则认为方法进入了局部极值点。也就是说,运动部件在当前状态时到达预设目标状态所付出的代价最下,但是当前状态又不是预设目标状态,那么基于付出代价值大小的算法就无法帮助运动部件找到合适的下一个运动状态。此时,可以执行步骤107,为运动部件设置临时目标状态。

步骤106,根据预设目标状态、真实目标状态规划运动路线。

进一步的,由于预设目标状态有可能是真实目标状态,也有可能是临时目标状态,因此,还需要根据预设目标状态、真实目标状态对运动部件进行路线规划。

实际应用时,可以判断预设目标状态与真实目标状态之间是否匹配,例如,可以根据第一匹配规则确定二者是否匹配。

若匹配,也就是预设目标状态与真实目标状态匹配,而当前状态与预设目标状态匹配,则可以认为已经为运动部件规划到真实目标状态,则可以将该真实目标状态加入路径列表中,并根据路径列表中的已有的状态规划路线。可以根据各个状态加入路径列表的顺序规划运动路线,例如按照先后顺序加入路径列表中的各个状态为初始状态θs,然后分别是状态θ1、θ2、θ3,最后加入的状态是真实目标状态θg,那么最终规划的运动路线则是θs→θ1→θ2→θ3→θg。其中,由于后加入的状态都是基于在其之前加入列表的状态确定得到的,因此,由此得到运动路线是付出代价最小的。

若不匹配,则认为预设目标状态只是为了绕开局部极值点而设置的临时目标状态,因此,还需要根据真实目标状态继续规划路径。例如,可以根据真实目标状态在当前状态及其合理邻状态中重新确定第一状态,由于目标状态改变,那么运动部件从当前状态以及各个合理邻状态到达目标状态所付出的代价也会改变,此时,可以重新确定出第一状态。

步骤107,在预设的路标状态中确定临时目标状态,并基于临时目标状态执行步骤103。

其中,可以根据运动部件的运动模型以及障碍物模型确定出预设的路标状态,该路标状态是指运动部件在初始状态与真实目标状态之间一定运动范围内的所有合理状态,运动部件处于路标状态时不会触碰到障碍物,而且符合其运动范围。路标状态还可以包括与初始状态临近的合理状态,还可以包括与真实目标状态临近的状态。

在为运动部件进行路线规划时,不需要途径所有的路标状态,这些路标状态只是为了协助路径规划方法逃离局部极值点。

具体的,若进入局部极值点,则可以在预设的路标状态中确定临时目标状态,并基于该临时目标状态在当前状态、合理邻状态中重新确定出第一状态。另外,临时状态应与当前的预设目标状态不同,以免进入死循环。还可以在获取一个临时目标状态后,就将其从预设的路标状态中移除,以免获取重复的临时目标状态。

进一步的,由于目标状态的改变,那么在当前状态及其合理邻状态中确定的第一状态也会发生改变。即使第一状态未发生改变,即第一状态还是当前状态,那么再根据该第一状态执行步骤105时,还会进入步骤107,继续获取临时目标状态,并重复上述步骤。此时,可以认为之前获取的临时目标状态未能成功协助本方法逃离局部极值点,需要寻找其他合适的临时目标状态从而逃离局部极值点,直到第一状态,也就是当前状态与预设目标状态匹配为止,因此,本实施例提供的方法能够解决现有技术的路径规划方案中进入局部极值点而导致路径规划失败的问题。

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

本实施例提供的运动规划方法,包括获取可移动平台的运动部件的初始状态,并将初始状态加入路径列表中;根据路径列表确定运动部件的当前状态,并根据当前状态确定满足第一预设规则的合理邻状态;根据预设目标状态、预设障碍物模型在当前状态、合理邻状态中确定出第一状态;若第一状态是合理邻状态,则将第一状态加入路径列表,并继续执行根据路径列表确定运动部件的当前状态的步骤;若第一状态是当前状态,则判断第一状态与预设目标状态是否满足预设的第一匹配条件;若匹配,则根据预设目标状态、真实目标状态规划运动路线;若不匹配,则在预设的路标状态中确定临时目标状态,并基于临时目标状态,执行根据预设目标状态、预设障碍物模型在当前状态、合理邻状态中确定出第一状态的步骤;其中,当前状态是最后添加进路径列表中的状态。本实施例提供的方法,能够在路径列表出确定出当前状态,再基于当前状态得到运动部件的下一个运动状态,即第一状态,并将其加入路径列表,从而能够基于路径列表中的多个状态为运动部件进行路径规划。同时,在规划过程中若进入局部极值点,还能够设置临时目标点,从而协助本实施例的方法逃离局部极值点,再继续寻找下一个第一状态。因此,本实施例提供的方法能够找到运动部件从初始状态到达真实目标状态的合理的运动路线。

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

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

步骤201,获取可移动平台的运动部件的初始状态,并将初始状态加入路径列表中。

步骤202,根据路径列表确定运动部件的当前状态。

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

步骤203,根据第一预设步长确定当前状态的邻状态。

其中,可以预先设置运动部件移动时的第一预设步长,若运动部件包括多个关节或可移动部位,则可以针对每个关节或可移动部位都设置第一预设步长,例如,关节1的第一预设步长是1,关节2的第一预设步长是1等。邻状态是指运动部件在当前状态的基础上,任意一个或几个关节动作一个步长所到达的运动状态。

具体的,可以根据运动部件动作时的第一预设步长,确定当前状态的各个邻状态。如当前状态为“0,0,0,0”,若每个运动部件的第一预设步长均为3,那么状态“0,3,0,0”、“3,3,0,0”均为当前状态的邻状态,即任意关节挪动一步,即为当前状态的邻状态

步骤204,在邻状态中确定出满足以下条件的合理邻状态:

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

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

步骤205,基于预设目标状态、预设障碍物模型,根据运动状态能量值算法分别确定当前状态、合理邻状态对应的能量值。

具体的,能量值是用于衡量运动部件从某一状态到达预设目标状态时,运动部件所拥有的能量。

进一步的,可以获取运动部件处于一状态时,与各个障碍物之间的距离disi,其中,i是障碍物标识,例如i可以是1、2,等,代表第一个障碍物、第二个障碍物等。还可以获取运动状态本身与预设目标状态的距离disj。再基于disi、disj确定该状态的能量值。

实际应用时,运动状态能量值算法,包括:

根据障碍物模型确定运动部件处于所述运动状态时,与障碍物的第一距离disi,并根据第一距离确定运动状态的斥力能量er。

可以通过以下方式得到斥力能量er:

其中,eri表示第i个障碍物对该状态的斥力能量,n表示障碍物总数量。mdis、effrange为算法参数,可以根据需求进行调整。

具体的,若运动部件处于一运动状态时,距离某一障碍物的距离较大,如大于等于effrange时,则认为该障碍物不会对运动部件产生影响,相应的,该障碍物的斥力能量则为0,否则,可以根据上述公式确定得到该障碍物的斥力能量。

进一步的,还可以确定运动状态与预设目标状态的第二距离disj,并根据第二距离disj确定运动状态的引力能量ea。

实际应用时,可以根据运动状态θ、预设目标状态θg确定第二距离disj。例如,disj=θ-θg。

其中,还可以通过第二距离disj确定运动状态的引力能量ea,例如,ea=disj2

最后,再根据斥力能量、引力能力量确定运动状态对应的能量值。

实际应用时,可以采用以下公式确定运动状态的能量值:

et=wrer+waea

其中,et是该状态的能量值,er是运动状态的斥力能量,wr是斥力能量的权重,ea是运动状态的引力能量,wa是引力能量的权重。通过综合考虑障碍物以及预设目标状态对运动部件处于该运动状态的影响,从而确定该状态所对应的能量值。

步骤206,在当前状态、合理邻状态中确定出能量值最小的状态为第一状态。

具体的,从上述公式可以看出,当运动状态与障碍物的距离越大时,斥力能量值越小,当运动状态与预设目标状态距离越小时,引力能量越小。因此,运动部件处于某一运动状态时,该运动状态与障碍物距离越远,且与该运动状态与预设目标状态距离较近时,该状态对应的能量值越小。因此,在当前状态、合理邻状态中确定出能量值最小的状态为第一状态。

在步骤206之后,还可以判断确定的第一状态是当前状态还是该当前状态的合理邻状态。

步骤207,若第一状态是当前状态,则判断第一状态与预设目标状态的距离是否小于等于预设值。

若第一状态是合理邻状态,则执行步骤216。

其中,若第一状态与预设目标状态小于等于预设值,则认为当前状态与预设目标状态一致,即运动部件处于当前状态时,就到达了预设目标状态。

若步骤207的判断结果为是,则判断第一状态与预设目标状态满足预设的匹配条件,否则,判断二者不满足匹配条件。

若满足匹配条件,则执行步骤208,若不满足匹配条件,则执行步骤215。

步骤208,将预设目标状态加入路径列表。

其中,若第一状态是当前状态,且第一状态与预设目标状态之间的距离较小,也就是当前状态与预设目标状态之间的距离较小,那么可以认为此时到达了预设目标状态,将预设目标状态加入路径列表,从而在路径规划时能够使运动部件经过该状态。

步骤209,判断预设目标状态是否与真实目标状态满足预设的第二匹配规则。

该第二匹配规则可以是判断预设目标状态与真实目标状态是否足够近的规则,例如判断二者距离是否小于预设阈值,该预设阈值还可以设置为0,从而在预设目标状态与真实目标状态相同时,才判断二者满足第二匹配规则。

若预设目标状态与真实目标状态满足预设的第二匹配规则,则执行步骤210,否则,执行步骤211。

步骤210,根据路径列表中的状态规划运动路线。

若预设目标状态与真实目标状态相同或足够近,则表明已经规划到最终的状态,此时,可以根据路径列表中的状态规划运动路线。

若预设目标状态与真实目标状态足够近,则可以将真实目标状态加入路径列表。

具体的,通过上述实施例可知,每个状态都是基于上一个状态确定的,因此,各个状态之间具有关联关系,可以根据最后加入路径列表的真实目标状态或是预设目标状态回溯其上一个状态,直到回溯到初始状态为止。

步骤211,将真实目标状态确定为预设目标状态,并执行步骤202。

若当前的预设目标状态与真实目标状态相距较远,则可以认为该预设目标状态是为了逃避局部极值点而设置的临时目标状态。而规划路线的终点应该是真实目标状态,因此,需要根据真实目标状态继续规划路线。

由于在步骤208时将当前的预设目标状态加入了路径列表,因此,路径列表中包括的状态发生了变化,此时,需要重新根据路径列表确定当前状态。由于最后加入路径列表的状态是当前预设目标状态,因此,将会把该预设目标状态确定为当前状态。且在后续确定第一状态时,根据新确定的预设目标状态,也就是真实目标状态确定第一状态。

并执行根据预设目标状态、预设障碍物模型在所述当前状态、所述合理邻状态中确定出第一状态的步骤。

另外,本实施例提供的方法还包括确定路标状态的方法:

步骤212,从真实目标状态以第二预设步长向初始状态遍历得到第一运动状态,并根据障碍物模型在第一运动状态中确定第一路标状态。

其中,可以从真实目标状态朝着初始状态开始遍历,获取各个第一运动状态。当运动状态中包括多个关节数据时,可以根据每个关节的第二预设步长确定每个关节的状态值,从而得到第一运动状态。也可以根据其中某一个关节确定第一运动状态。

具体的,以一维数据为例,若真实目标状态为10,初始状态为0,第二预设步长为2,则8、6、4、2均为第一运动状态。以二维数据为例,若真实目标状态为(3,3),初始状态为(1,1),第二预设步长为1,则第一运动状态可以包括(3,2)、(2,1)、(2,2)、(2,3)、(1,2)。即任一关节朝向初始状态移动n个第二预设步长,且不超过初始状态,就能够得到该第一运动状态。

进一步的,可以根据障碍物模型在第一运动状态中确定出合理的第一路标状态。

步骤213,从真实目标状态以第二预设步长向初始状态的反向遍历得到第二运动状态,并根据障碍物模型在第二运动状态中确定第二路标状态。

进一步的,可以从真实目标状态朝着反向初始状态的方向开始遍历,获取各个第二运动状态。当运动状态中包括多个关节数据时,可以根据每个关节的第二预设步长确定每个关节的状态值,从而得到第二运动状态。也可以根据其中某一个关节确定第二运动状态。

如上述的一维数据的例子中,第二运动状态可以是12、14等。如上述的二维数据的例子中,第二运动状态可以包括(4,3)、(4,4)(3,4),即任一关节朝着反向初始状态的方向移动n个第二预设步长,就能够得到该第二运动状态。

进一步的,可以根据障碍物模型在第二运动状态中确定出合理的第二路标状态。

步骤214,从初始状态以第二预设步长向真实目标状态的反向遍历得到第三运动状态,并根据障碍物模型在第三运动状态中确定第三路标状态。

步骤214与步骤213的执行原理类似,不再赘述。

其中,步骤212、213、214的时序不做限制。

在确定了路标状态后,可以执行步骤215。

步骤215,在预设的路标状态中确定临时目标状态。

并基于临时目标状态,执行根据预设目标状态、预设障碍物模型在当前状态、合理邻状态中确定出第一状态的步骤。也就是将临时目标状态作为预设目标状态,执行步骤205。

在一种实时方式中,可以按照第一路标状态、第二路标状态、第三路标状态对路标状态的顺序从路标状态中获取临时目标状态。

可以对路标状态进行排序,可以将真实目标状态向初始路标状态遍历得到的第一路标状态放在最靠前的位置,其次是从真实目标状态以第二预设步长向初始状态的反向遍历的第二路标状态,最后是从初始状态以第二预设步长向真实目标状态的反向遍历的第三路标状态。

再按照排序从中获取临时目标状态,在获取了临时目标状态后,将路标状态中对应的临时目标状态删除,以免获取相同的临时目标状态。

基于上述排序获取的第一个临时目标状态在真实目标状态与初始状态之间,且靠近真实目标状态,从而在规划路径时,能够使路径终点靠近真实目标状态,越往后获取的临时目标状态越靠近初始状态,直到第一路标状态被获取完毕为止,然后从第二路标状态中获取,最后从第三路标状态中获取。基于本实施例提供的方法,在路径规划时能够优先将靠近真实目标状态的路标状态作为临时目标状态,从而使在逃避具体极值点时,能够使规划的路线终点距离真实目标状态较近。

在另一种实施方式中,可以根据当前状态、预设目标状态在第一路标状态、第二路标状态、第三路标状态中确定出临时目标状态。

其中,由于预设目标状态不一定是真实目标状态,因此,还可以获取距离预设目标状态、以及当前状态较近的路标状态为临时目标状态。具体可以计算每个路标状态与当前状态的距离以及与预设目标状态的距离,并将两个距离之和最小的路标状态确定为临时目标状态。在获取了临时目标状态后,将路标状态中对应的临时目标状态删除,以免获取相同的临时目标状态。基于本实施例提供的方法,能够避免距离真实目标状态的临时路标被最先耗费掉,导致在真实目标状态附近出现局部极值点时,获取的临时目标状态可能距离真实目标状态较远的问题。同时,距离预设目标状态、以及当前状态较近的路标状态作为临时目标状态,还能够使得在当前状态的基础上,运动部件通过较短的运动路线就能够逃避局部极值点。

步骤216,若第一状态是合理邻状态,则将第一状态加入路径列表。并继续执行步骤202。

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

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

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

获取模块31,用于获取可移动平台的运动部件的初始状态,并将所述初始状态加入路径列表中;

确定模块32,用于根据所述路径列表确定所述运动部件的当前状态,并根据所述当前状态确定满足第一预设规则的合理邻状态;

第一状态确定模块33,根据预设目标状态、预设障碍物模型在所述当前状态、所述合理邻状态中确定出第一状态;

加入模块34,用于若所述第一状态是所述合理邻状态,则将所述第一状态加入所述路径列表,所述确定模块继续执行所述根据所述路径列表确定所述运动部件的当前状态的步骤;

判断模块35,用于若所述第一状态是所述当前状态,则判断所述第一状态与所述预设目标状态是否满足预设的第一匹配条件;

规划模块36,用于若匹配,则根据所述预设目标状态、真实目标状态规划运动路线;

临时目标状态确定模块37,用于若不匹配,则在预设的路标状态中确定临时目标状态,并且所述第一状态确定模块基于所述临时目标状态,执行所述根据预设目标状态、预设障碍物模型在所述当前状态、所述合理邻状态中确定出第一状态的步骤;

其中,所述当前状态是最后添加进所述路径列表中的状态。

具体的,获取模块31、确定模块32、第一状态确定模块33依次连接,加入模块34、判断模块35分别与第一状态确定模块33连接,规划模块36、临时目标状态确定模块37分别与判断模块35连接。加入模块34还与确定模块32连接。

本实施例提供的运动规划装置,能够在路径列表出确定出当前状态,再基于当前状态得到运动部件的下一个运动状态,即第一状态,并将其加入路径列表,从而能够基于路径列表中的多个状态为运动部件进行路径规划。同时,在规划过程中若进入局部极值点,还能够设置临时目标点,从而协助本实施例的方法逃离局部极值点,再继续寻找下一个第一状态。因此,本实施例提供的装置能够找到运动部件从初始状态到达真实目标状态的合理的运动路线。

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

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

如图4所示,在上述实施例的基础上,本实施例提供的运动规划装置,

所述确定模块32包括:

邻状态确定单元321,用于根据第一预设步长确定所述当前状态的邻状态;

合理邻状态确定单元322,用于在所述邻状态中确定出满足以下条件的合理邻状态:

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

邻状态确定单元321与合理邻状态确定单元322连接。

可选的,所述第一状态确定模块33,包括:

能量值确定单元331,用于基于所述预设目标状态、所述预设障碍物模型,根据运动状态能量值算法分别确定所述当前状态、所述合理邻状态对应的能量值;

第一状态确定单元332,用于在所述当前状态、所述合理邻状态中确定出所述能量值最小的状态为所述第一状态。

能量值确定单元331与第一状态确定单元332连接。

可选的,所述运动状态能量值算法,包括:

根据所述障碍物模型确定所述运动部件处于所述运动状态时,与障碍物的第一距离,并根据所述第一距离确定所述运动状态的斥力能量;

根据所述运动状态与所述预设目标状态的第二距离,并根据所述第二距离确定所述运动状态的引力能量;

根据所述斥力能量、所述引力能力量确定所述运动状态对应的能量值。

可选的,所述判断模块35具体用于:

判断所述第一状态与所述预设目标状态的距离是否小于等于预设值,若是,则判断所述第一状态与所述预设目标状态满足预设的匹配条件。

可选的,所述规划模块36,包括:

加入单元361,用于将所述预设目标状态加入所述路径列表;

判断单元362,用于判断所述预设目标状态是否与所述真实目标状态满足预设的第二匹配规则;

若是,则规划单元363根据所述路径列表中的状态规划运动路线;

否则,则第一确定单元364将所述真实目标状态确定为所述预设目标状态,并且所述第一状态确定模块33执行根据预设目标状态、预设障碍物模型在所述当前状态、所述合理邻状态中确定出第一状态的步骤。

其中,加入单元361、判断单元362依次连接,则规划单元363、第一确定单元364分别与判断单元362连接。

可选的,所述装置还包括路标状态确定模块38,用于:

从所述真实目标状态以第二预设步长向所述初始状态遍历得到第一运动状态,并根据所述障碍物模型在所述第一运动状态中确定第一路标状态;

从所述真实目标状态以所述第二预设步长向所述初始状态的反向遍历得到第二运动状态,并根据所述障碍物模型在所述第二运动状态中确定第二路标状态;

从所述初始状态以所述第二预设步长向所述真实目标状态的反向遍历得到第三运动状态,并根据所述障碍物模型在所述第三运动状态中确定第三路标状态。

路标状态确定模块38与临时目标状态确定模块37连接。

可选的,所述临时目标状态确定模块37,包括:

获取单元371,用于按照第一路标状态、第二路标状态、第三路标状态对所述路标状态的顺序从所述路标状态中获取所述临时目标状态,并在所述路标状态中删除所述临时目标状态。

可选的,所述临时目标状态确定模块37,包括:

第二确定单元372,用于根据所述当前状态、所述预设目标状态在所述第一路标状态、第二路标状态、第三路标状态中确定出临时目标状态。

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

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

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

存储器51;

处理器52;以及

计算机程序;

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

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

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

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

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

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