掌桥专利:专业的专利平台
掌桥专利
首页

基于几何A星的叉车路径规划方法、系统、设备及介质

文献发布时间:2023-06-19 19:30:30


基于几何A星的叉车路径规划方法、系统、设备及介质

技术领域

本发明涉及AVG路径规划技术领域,尤其是涉及一种基于几何A星的叉车路径规划方法、系统、设备及介质。

背景技术

为了实现货物的高效运输,通常采用自动叉车代替人工搬运操作。在现有技术中,自动叉车通常使用传统A星算法、PSO算法和ACO算法等进行路径规划,但通过上述方法规划所得的路径并非最优,并且规划所得的路径拐点多、总拐弯角度大易侧翻、不平滑不利于自动叉车实际跟踪。

发明内容

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于几何A星的叉车路径规划方法、系统、设备及介质,能够使得规划所得的路径达到最优,能够减少路径拐点,降低侧翻风险。

第一方面,本发明实施例提供了一种基于几何A星的叉车路径规划方法,所述基于几何A星的叉车路径规划方法包括:

获取叉车行驶路径的起始节点和目标节点;

根据所述起始节点和所述目标节点,采用几何A星方法对所述叉车行驶路径进行全局路径规划,获得全局路径;

对所述全局路径进行路径剪枝,获得简化路径;

计算所述简化路径中的转角,并根据所述转角过滤所述简化路径,获得过滤路径;

采用B样条插值方法对所述过滤路径进行路径平滑,获得最终规划路径。

与现有技术相比,本发明第一方面具有以下有益效果:

本方法通过获取叉车行驶路径的起始节点和目标节点,根据起始节点和目标节点,采用几何A星方法对叉车行驶路径进行全局路径规划,获得全局路径,能够确保路径长度达到最优;对全局路径进行路径剪枝,获得简化路径,计算简化路径中的转角,并根据转角过滤简化路径,获得过滤路径,删除简化路径中造成交叉路径和锯齿路径的冗余节点,能够减少路径拐点,从而减少拐弯次数和拐弯总角度,使得路径得到初步平滑;采用B样条插值方法对过滤路径进行路径平滑,获得最终规划路径,能够使获得的最终规划路径柔和全程无生硬拐点,便于叉车实际行驶过程中进行跟踪。

根据本发明的一些实施例,所述获取叉车行驶路径的起始节点和目标节点,包括:

对叉车工作环境地图进行栅格化,从栅格化后的叉车工作环境地图中确定所述叉车行驶路径的起始节点和目标节点。

根据本发明的一些实施例,所述根据所述起始节点和所述目标节点,采用几何A星方法对所述叉车行驶路径进行全局路径规划,获得全局路径,包括:

步骤S111、创建第一列表和第二列表;

步骤S112、将与所述起始节点相邻的多个节点放入所述第一列表中,若所述多个节点中有障碍物栅格,则从所述第一列表中删除所述障碍物栅格对应的节点,获得多个剩余节点;

步骤S113、采用所述几何A星方法中的代价函数计算所述起始节点至每个所述剩余节点的代价函数值,获得多个第一代价函数值;

步骤S114、将所述多个第一代价函数值中的最小代价函数值作为当前节点,并将所述起始节点存入所述第二列表中;

步骤S115、将与所述当前节点相邻且不在所述闭合列表中的节点存入所述第一列表中,若与所述当前节点相邻的节点已存入所述第一列表中且所述相邻的节点至所述起始节点的移动代价比所述当前节点至所述起始节点的移动代价小,则将所述相邻的节点作为新存入所述第一列表中节点的父节点;若与所述当前节点相邻的节点没有存入所述第一列表中或所述相邻的节点至所述起始节点的移动代价比所述当前节点至所述起始节点的移动代价大,则将所述当前节点作为新存入所述第一列表中节点的父节点;

步骤S116、计算所述父节点至每个存入所述第一列表中且与所述父节点相邻的节点的代价函数值,获得多个第二代价函数值;将所述多个第二代价函数值中的最小代价函数值作为当前节点,并将所述父节点存入所述第二列表中;

步骤S117、根据所述步骤S115至所述步骤S116进行循环,直到所述目标节点存入所述第二列表中,获得全局路径。

根据本发明的一些实施例,所述对所述全局路径进行路径剪枝,获得简化路径,包括:

采用函数P(x,y)删除所述第二列表中所有节点的第一冗余节点,获得简化后的非交叉路径;其中,所述函数P(x,y)表示为:

其中,

采用函数W(x,y)删除所述第二列表中所有节点的第二冗余节点,获得简化后的非锯齿路径;其中,所述函数W(x,y)表示为:

其中,

将所述简化后的非交叉路径和所述简化后的非锯齿路径进行合并,获得简化路径。

根据本发明的一些实施例,所述计算所述简化路径中的转角,并根据所述转角过滤所述简化路径,获得过滤路径,包括:

计算所述简化路径中的当前节点n、前一节点n-1和下一节点n+1形成的转角

根据本发明的一些实施例,通过如下公式计算所述转角

其中,

根据本发明的一些实施例,所述采用B样条插值方法对所述过滤路径进行路径平滑,获得最终规划路径,包括:

根据所述B样条插值方法中的B样条曲线公式,获得三次B样条曲线;其中,所述B样条曲线公式为:

其中,n表示控制点

基于所述三次B样条曲线的基础公式,获得三次B样条曲线:

采用所述三次B样条曲线对所述过滤路径进行路径平滑,获得最终规划路径。

第二方面,本发明实施例还提供了一种基于几何A星的叉车路径规划系统,所述基于几何A星的叉车路径规划系统包括:

节点获取单元,用于获取叉车行驶路径的起始节点和目标节点;

路径规划单元,用于根据所述起始节点和所述目标节点,采用几何A星方法对所述叉车行驶路径进行全局路径规划,获得全局路径;

路径剪枝单元,用于对所述全局路径进行路径剪枝,获得简化路径;

路径过滤单元,用于计算所述简化路径中的转角,并根据所述转角过滤所述简化路径,获得过滤路径;

路径平滑单元,用于采用B样条插值方法对所述过滤路径进行路径平滑,获得最终规划路径。

第三方面,本发明实施例还提供了一种基于几何A星的叉车路径规划设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如上所述的一种基于几何A星的叉车路径规划方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上所述的一种基于几何A星的叉车路径规划方法。

可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本发明一实施例的一种基于几何A星的叉车路径规划方法的流程图;

图2是本发明一实施例的一种基于几何A星的叉车路径规划系统的结构图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,如果有描述到第一、第二等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

本发明的描述中,需要说明的是,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。

为了实现货物的高效运输,通常采用自动叉车代替人工搬运操作。在现有技术中,自动叉车通常使用传统A星算法、PSO算法和ACO算法等进行路径规划,但通过上述方法规划所得的路径并非最优,并且规划所得的路径拐点多、总拐弯角度大易侧翻、不平滑不利于自动叉车实际跟踪。

为解决上述问题,本发明通过获取叉车行驶路径的起始节点和目标节点,根据起始节点和目标节点,采用几何A星方法对叉车行驶路径进行全局路径规划,获得全局路径,能够确保路径长度达到最优;对全局路径进行路径剪枝,获得简化路径,计算简化路径中的转角,并根据转角过滤简化路径,获得过滤路径,删除简化路径中造成交叉路径和锯齿路径的冗余节点,能够减少路径拐点,从而减少拐弯次数和拐弯总角度,使得路径得到初步平滑;采用B样条插值方法对过滤路径进行路径平滑,获得最终规划路径,能够使获得的最终规划路径柔和全程无生硬拐点,便于叉车实际行驶过程中进行跟踪。

参照图1,本发明实施例提供了一种基于几何A星的叉车路径规划方法,本基于几何A星的叉车路径规划方法包括:

步骤S100、获取叉车行驶路径的起始节点和目标节点。

具体的,对叉车工作环境地图进行栅格化,从栅格化后的叉车工作环境地图中确定叉车行驶路径的起始节点和目标节点。

在本实施例中,将自动叉车工作环境地图栅格化便于定位自动叉车、障碍物和目标位置。

步骤S200、根据起始节点和目标节点,采用几何A星方法对叉车行驶路径进行全局路径规划,获得全局路径。

具体的,步骤S111、创建第一列表和第二列表;

步骤S112、将与起始节点相邻的多个节点放入第一列表中,若多个节点中有障碍物栅格,则从第一列表中删除障碍物栅格对应的节点,获得多个剩余节点;

步骤S113、采用几何A星方法中的代价函数计算起始节点至每个剩余节点的代价函数值,获得多个第一代价函数值;

步骤S114、将多个第一代价函数值中的最小代价函数值作为当前节点,并将起始节点存入第二列表中;

步骤S115、将与当前节点相邻且不在闭合列表中的节点存入第一列表中,若与当前节点相邻的节点已存入第一列表中且相邻的节点至起始节点的移动代价比当前节点至起始节点的移动代价小,则将相邻的节点作为新存入第一列表中节点的父节点;若与当前节点相邻的节点没有存入第一列表中或相邻的节点至起始节点的移动代价比当前节点至起始节点的移动代价大,则将当前节点作为新存入第一列表中节点的父节点;

步骤S116、计算父节点至每个存入第一列表中且与父节点相邻的节点的代价函数值,获得多个第二代价函数值;将多个第二代价函数值中的最小代价函数值作为当前节点,并将父节点存入第二列表中;

步骤S117、根据步骤S115至步骤S116进行循环,直到目标节点存入第二列表中,获得全局路径。

为更好的说明,本实施例进行如下举例:

步骤二一、创建一个open list(即第一列表)和一个close list(即第二列表),open list和close list初始状态均为空;

步骤二二、使用起始节点初始化open list;

步骤二三、将起始节点相邻的八个节点放入open list,若八个节点中有节点为障碍物栅格,则将其从open list中移除;

步骤二四、计算起始节点至八个相邻节点中每个相邻节点的代价函数f(n),选取f(n)值最小的节点设为当前节点n,而起始节点放置在close list中,其中:

f(n)的计算公式为f(n)=g(n)+h(n),其中g(n)表示从起始节点到八个相邻节点中每个相邻节点的移动代价,两个相邻节点间的距离用欧氏距离表示;h(n)表示八个相邻节点中每个相邻节点到目标点的估计代价,使用欧式距离进行计算;

步骤二五、将与当前节点n相邻且不在close list中的节点放到open list中。然后使用当前节点n作为新添加节点的父节点,但如果与当前节点n相邻的节点在open list中已经存在,判断从起始点到与当前节点n相邻的节点的g(n)是否较小;如果较小,则将该节点作为新添加节点的父节点,并重新计算父节点至与父节点相邻的节点之间的f(n)值;

步骤二六、循环步骤二五,直到目标点被添加到关闭列表中。然后从目标点开始搜索,沿着父节点移动,逐渐找到起点,形成从起点到目标点的全局路径。

在本实施例中,采用几何A星方法对叉车路径规划进行全局路径规划,获得全局路径,能够确保路径长度达到最优。

步骤S300、对全局路径进行路径剪枝,获得简化路径。

具体的,采用函数P(x,y)删除第二列表中所有节点的第一冗余节点,获得简化后的非交叉路径;其中,函数P(x,y)表示为:

其中,

采用函数W(x,y)删除第二列表中所有节点的第二冗余节点,获得简化后的非锯齿路径;其中,函数W(x,y)表示为:

其中,

将简化后的非交叉路径和简化后的非锯齿路径进行合并,获得简化路径。

为更好的说明,本实施例进行如下举例:

步骤三一、全局路径规划完成,将目标节点放入close list;

步骤三二、通过函数P(x,y)对close list中所有节点进行判断,通过删除冗余节点简化交叉路径;

步骤三三、当前节点n和下一个节点n+1,坐标表示分别为

其中,∅意味着节点n被删除。

步骤三四、通过函数W(x,y)对close list中所有节点进行判断,通过删除冗余节点简化锯齿路径;

步骤三五、当前节点n和下一个节点n+1,坐标表示分别为

,/>

则简化锯齿路径的几何函数W(x,y)可表示为:

其中,∅意味着节点n被删除。

步骤三六、交叉路径和锯齿路径经过简化后,close list中的剩余节点构成简化路径。

在本实施例中,对全局路径进行路径剪枝,获得简化路径,计算简化路径中的转角,并根据转角过滤简化路径,获得过滤路径,删除简化路径中造成交叉路径和锯齿路径的冗余节点,能够减少路径拐点,从而减少拐弯次数和拐弯总角度,使得路径得到初步平滑。

步骤S400、计算简化路径中的转角,并根据转角过滤简化路径,获得过滤路径。

具体的,获取简化路径中的所有节点,计算简化路径中的当前节点n、前一节点n-1和下一节点n+1形成的转角

其中,

步骤S500、采用B样条插值方法对过滤路径进行路径平滑,获得最终规划路径。

具体的,根据B样条插值方法中的B样条曲线公式,获得三次B样条曲线;其中,B样条曲线公式为:

其中,n表示控制点

基于三次B样条曲线的基础公式,获得三次B样条曲线:

其中,上述三次B样条曲线四行公式中从上至下每一行分别对应i=0、i=1、i=2和i=3。

采用三次B样条曲线对过滤路径进行路径平滑,获得最终规划路径。

在本实施例中,采用B样条插值方法对过滤路径进行路径平滑,获得最终规划路径,能够使获得的最终规划路径柔和全程无生硬拐点,便于叉车实际行驶过程中进行跟踪。

本发明解决了传统路径规划算法不利于自动叉车进行实际跟踪,拐点生硬容易造成自动叉车侧翻,总拐弯角度大导致速度慢效率低下的问题,提高了自动叉车的工作效率和安全系数,降低了自动叉车维护成本和人力成本。

参照图2,本发明实施例还提供了一种基于几何A星的叉车路径规划系统,本基于几何A星的叉车路径规划系统包括节点获取单元100、路径规划单元200、路径剪枝单元300、路径过滤单元400和路径平滑单元500,其中:

节点获取单元100,用于获取叉车行驶路径的起始节点和目标节点;

路径规划单元200,用于根据起始节点和目标节点,采用几何A星方法对叉车行驶路径进行全局路径规划,获得全局路径;

路径剪枝单元300,用于对全局路径进行路径剪枝,获得简化路径;

路径过滤单元400,用于计算简化路径中的转角,并根据转角过滤简化路径,获得过滤路径;

路径平滑单元500,用于采用B样条插值方法对过滤路径进行路径平滑,获得最终规划路径。

需要说明的是,由于本实施例中的一种基于几何A星的叉车路径规划系统与上述的一种基于几何A星的叉车路径规划方法基于相同的发明构思,因此,方法实施例中的相应内容同样适用于本系统实施例,此处不再详述。

本发明实施例还提供了一种基于几何A星的叉车路径规划设备,包括:至少一个控制处理器和用于与至少一个控制处理器通信连接的存储器。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

实现上述实施例的一种基于几何A星的叉车路径规划方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的一种基于几何A星的叉车路径规划方法,例如,执行以上描述的图1中的方法步骤S100至步骤S500。

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

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,可使得上述一个或多个控制处理器执行上述方法实施例中的一种基于几何A星的叉车路径规划方法,例如,执行以上描述的图1中的方法步骤S100至步骤S500的功能。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。

技术分类

06120115929687