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

一种AGV路径规划方法、存储介质和终端

文献发布时间:2023-06-19 10:44:55


一种AGV路径规划方法、存储介质和终端

技术领域

本发明涉及路径规划领域,尤其是涉及一种AGV路径规划方法、存储介质和终端。

背景技术

路径规划方法有多种,各种方法层出不穷,各种路径规划算法运用于AGV小车路径规划中。针对已知的环境的路径规划,现有的技术有人工势场法、Dijkstra算法和BFS(Breadth First Search)算法的路径规划。人工势场法是通过引力场和斥力场的合力来引导AGV小车到达终点。Dijkstra算法通过盲目地扩散,对周边进行不断搜索,直到搜索到目标点结束。最佳优先搜索(BFS)算法通过向目标点移动,当行进方向出现障碍物,则对路径进行更改。

传统算法中,人工势场法在障碍物之间路径会产生振荡,路径的稳定性较差,在复杂U型场景之下,可能存在局部极小值,导致搜索停滞甚至无法到达目标点。Dijkstra算法通过扩散依次向外拓展,计算量大,对硬件配置要求高,寻路时间长。最佳优先搜索(BFS)算法并非盲目搜索,选择离目标点最近的点,不断导向目标点,相比Dijkstra算法寻路间短,但是会出现冗余路径。

A*算法是Dijkstra算法和BFS算法的结合,可以解决部分Dijkstra算法和BFS算法的缺点,A*算法通过不停寻找路径中代价值最小的节点,不断向目标点移动,但当路径复杂时,计算量会增大。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种AGV路径规划方法、存储介质和终端。

本发明的目的可以通过以下技术方案来实现:

一种AGV路径规划方法,该方法包括以下步骤:

S1:获取地图,将地图中障碍物的顶角顶点设为跳点;

S2:利用改进A*算法进行路径寻找,路径寻找的过程中,若拓展点包括跳点,则将该拓展点向跳点的斜方向移动一个单位;

S3:将寻找到的路径进行拟合,得到拟合路线;

S4:利用拟合路线进行AGV路径规划。

S2通过OPEN链表和CLOESD链表实现,S2包括:

S21:创建OPEN链表和CLOSED链表,将起始点放入OPEN链表,将跳点放入CLOSED链表;

S22:计算OPEN链表中节点的总代价,将总代价最小的节点作为父节点,寻找总代价最小的节点的拓展点;

S23:将总代价最小的节点放入CLOSED链表中,判断拓展点是否包含CLOSED链表中的节点,若是,将该拓展点向CLOSED链表中的节点的斜方向移动一个单位,执行S24,若否,执行S24;

S24:将拓展点放入OPEN链表,执行S22,直到满足终止条件。

所述总代价f(n)的表达式为:

f(n)=g(n)+h(n)

其中,g(n)是从起始点到节点n的路径代价,h(n)是节点n到目标点的估算代价。

所述g(n)的表达式为:

其中,g(n-1)为初始点到节点n的父节点的代价值,x

所述h(n)的表达式为:

其中,x

所述总代价的计算基于欧氏距离。

S3中,将寻找到的路径进行拟合时,检验任意相邻三个节点中首尾两个节点之间是否有障碍物,如果没有,则去除中间节点。

S3中,采用贝塞尔曲线进行拟合。

一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的AGV路径规划方法。

一种终端,包括:处理器及存储器;其中,

所述存储器用于存储计算机程序;

所述处理器用于加载执行所述计算机程序,以使所述终端执行所述的AGV路径规划方法。

与现有技术相比,本发明具有以下优点:

(1)采取障碍物的顶角作为路径规划的跳点,跳点可以为路线拟合提供空间,能够避免AGV小车和障碍物发生碰撞,同时减少了A*算法中不必要的OPEN链表和CLOSED链表的大量计算,提高算法运行速度,能够快速有效地找到目标点,从而实现路径规划。

(2)将寻找到的路径进行拟合时,检验任意相邻三个节点中首尾两个节点之间是否有障碍物,如果没有,则去除中间节点,有利于减少运行路径长度。

(3)采用贝塞尔曲线进行拟合,对路径进行平滑处理,能够减少静止转向所需要的时间,使小车运行更加稳定。

附图说明

图1为本发明的流程图;

图2为本发明的路径规划示意图;

图3为本发明的跳点识别示意图;

图4为本发明的拟合路线示意图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例

本实施例提供一种AGV路径规划方法,如图1所示,该方法包括以下步骤:

S1:获取地图,将地图中障碍物的顶角顶点设为跳点;

S2:利用改进A*算法进行路径寻找,路径寻找的过程中,若拓展点包括跳点,则将该拓展点向跳点的斜方向移动一个单位;

S3:将寻找到的路径进行拟合,得到拟合路线;

S4:利用拟合路线进行AGV路径规划。

具体而言:

S1中,首先处理地图,找出障碍物周围的符合条件的跳点。

S2通过OPEN链表和CLOESD链表实现,S2包括:

S21:创建OPEN链表和CLOSED链表,初始化起始点和目标点,将起始点放入OPEN链表,将跳点放入CLOSED链表;起始点的路径代价g(n)为0。

S22:计算OPEN链表中节点的总代价,将总代价最小的节点作为父节点,寻找总代价最小的节点的拓展点;

S23:将总代价最小的节点放入CLOSED链表中,判断拓展点是否包含CLOSED链表中的节点,若是,将该拓展点向CLOSED链表中的节点的斜方向移动一个单位,执行S24,若否,执行S24;

S24:将拓展点放入OPEN链表,执行S22,直到满足终止条件,终止条件可以为:总代价最小的节点为目标点。到达目标点后,回溯找到所有父节点,最终将所有父节点连接起来,就是最短路径。

所述总代价f(n)的表达式为:

f(n)=g(n)+h(n)

其中,g(n)是从起始点到节点n的路径代价,h(n)是节点n到目标点的估算代价。

所述g(n)的表达式为:

其中,g(n-1)为初始点到节点n的父节点的代价值,x

所述h(n)的表达式为:

其中,x

所述总代价的计算基于欧氏距离。

S3中,将寻找到的路径进行拟合时,检验任意相邻三个节点中首尾两个节点之间是否有障碍物,如果没有,则去除中间节点,进行多轮检验,直到不存在冗余节点,最后将剩余的节点采用贝塞尔曲线进行拟合。

图2中,从起始点先进行上下左右四个方向寻找拓展点,当到达跳点时,停止寻找,再在斜的方向上移动一格子,之后继续在水平和竖直一共八个方向上寻找拓展点。

图3中,b2为模拟的障碍物,a1、a2、b1所在的方格为可以自由移动的方格点。考虑AGV小车的体积以及安全距离,将a1设置为跳点,留有一定的安全距离。

图4中,通过贝塞尔曲线对节点进行处理,使得路径更加平滑,使得在实际运行中小车运行更加稳定,同时减少静止转向所需要的时间。

本实施例的AGV路径规划方法具有以下优先:考虑到实际情况中AGV小车的体积,采取障碍物的顶角作为路径规划的跳点。能够避免AGV小车和障碍物发生碰撞,又可以为贝塞尔路径曲线优化提供空间,避免路径包含障碍物。

本实施例提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现上述的AGV路径规划方法。

本实施例还提供一种终端,包括:处理器及存储器;其中,

所述存储器用于存储计算机程序;

所述处理器用于加载执行所述计算机程序,以使所述终端执行上述的AGV路径规划方法。

相关技术
  • 一种AGV路径规划方法、存储介质和终端
  • 一种AGV小车路径规划方法、装置、设备及存储介质
技术分类

06120112659315