一种基于改进A*算法与粒子群算法的多目标点路径规划方法

文档序号:37435852发布日期:2024-03-25 19:33阅读:13来源:国知局
一种基于改进A*算法与粒子群算法的多目标点路径规划方法

本发明涉及移动机器人路径规划领域,尤其是一种用于无人仓储系统的基于改进a*与粒子群算法的多目标点路径规划方法。


背景技术:

1、自主移动机器人(automated mobile robot,amr)灵敏性高,且具有强大的计算能力,它可以通过传感器感知周围环境并做出相应的决策,有效的执行路径规划算法,将其应用到物流仓储系统中,进而提高系统的工作效率。

2、移动机器人的路径规划技术是智能机器人的核心技术之一,它是amr完成其他任务的基础。当前,路径规划技术大致可以分为三种:(1)基于图搜索的路径规划算法,如a*算法,dijkstra算法;(2)是基于采样的路径规划算法,如快速搜索随机树算法;(3)基于种群的智能优化算法,如粒子群算法、遗传算法等。

3、多目标点路径规划要求机器人从起始点出发,依次遍历不同的目标点,直到遍历完所有目标点后返回起始点。这个过程中要求路径最短,并且不能碰撞到任何障碍物。多目标点的路径规划在物流行业中应用较多,使用amr将货物快速,高效的分配到各个工位,可以使传统的仓储更加高效、稳定的运行,并且降低人工成本。因此,针对每一台amr规划出耗时最短,路径最优且无碰撞的路线,使其能够有序地完成各项任务,对降低企业的生产和经营成本起着非常大的作用。


技术实现思路

1、本发明需要解决的技术问题是提供一种基于改进a*算法与粒子群算法的多目标点路径规划方法。采用栅格法构建地图模型,并对地图模型中的障碍物做膨胀化处理,对amr作质点处理。针对传统的a*算法规划出的路径转折点多、耗时长、路径不平滑等问题,采用改进的a*算法可以快速计算出两目标之间的最短行走距离,构建距离矩阵d,将其融入到改进的粒子群算法中,对多目标点的遍历顺序进行有效求解,最终生成一条遍历所有目标点,且能够实现有效避障的最优路径。

2、为解决上述技术问题,本发明所采用的技术方案是:一种基于改进a*算法与粒子群算法的多目标点路径规划方法,具体步骤如下:

3、步骤1:针对无人仓储系统利用栅格法构建地图模型;

4、步骤2:在栅格地图中设置m个目标点和1个起始点,假设(m+1)个点中任意两点x和y的路径距离为dxy,利用改进的a*算法计算出两点之间的最短避障路径和距离,重复a*算法多次,计算出全部两点之间的最短避障路径和距离,将全部两点距离生成距离矩阵dxy,其中,x,y∈(m+1);将距离矩阵dxy融入改进的混合粒子群算法中;

5、步骤3:利用改进的混合粒子群算法求解自主移动机器人多目标点的最优遍历顺序;

6、步骤4:将最优遍历顺序与两两目标点之间的避障路径进行结合,产生多目标点路径。

7、本发明技术方案的进一步改进在于:在步骤2中,利用改进的a*算法计算出两点x和y之间的最短避障距离,具体包括以下步骤:

8、步骤2.1:将x和y分别设为起点s和终点t,初始化open列表和close列表,open列表和close列表中存放节点不重复;

9、步骤2.2:连接起点s和终点t,确定当前方向向量,根据方向向量确定需要搜索的5邻域点,将起点s和5邻域点等节点放入open列表中;

10、步骤2.3:将起点s由open列表中移到close列表中,并在open列表中删除;

11、步骤2.4:计算open列表中所有节点的f(n)值,将最小的f(n)值所对应的节点p放入到close列表中,并在open列表中删除;

12、步骤2.5:判断放入close列表中的节点p,是否是终点t,若是则按照close列表追溯生成路径,得到最短避障路径和距离,改进a*算法结束,若否,则以节点p为父节点继续对节点p进行5邻域点搜索判定,判断节点p的5邻域点是否都在open列表中,如果不在,加入到open列表中,如果是障碍点,则忽略,以保证列表中节点不重复;

13、步骤2.6:重复步骤2.4-2.5,直至得到最短避障路径和距离,改进a*算法结束;

14、步骤2.7:针对生成的路径采用折线优化机制减少拐点以及冗余路径,并用三次b样条曲线进行拐点优化,最终生成两点之间的最优路径。

15、本发明技术方案的进一步改进在于:步骤2.2中5邻域点搜索的具体步骤如下:

16、步骤2.21:构建当前方向向量,方向由当前位置指向目标点位置;

17、步骤2.22:根据向量的方向确定需要搜索的栅格,应搜索的栅格为沿着向量方向顺时针逆时针各旋转90°所扫过的栅格;

18、步骤2.23:当前位置最临近的5个所扫过的栅格中心点即为5邻域点;

19、步骤2.24:采用a*算法的f(n)函数对上一步确定搜索的栅格进行障碍物判断和f(n)值评估,如果是障碍物则舍去,选取f(n)值最小的栅格作为下一步应该前往的栅格位置;

20、步骤2.25:当搜索的5个栅格均为障碍物或者为已经搜索过的栅格时,方向向量进行90°的顺时针旋转继续进行搜索,此时搜索时不再针对该方向进行90°逆时针搜索。

21、本发明技术方案的进一步改进在于:步骤2.4中提及的a*算法评价函数f(n)的计算具体如下:

22、步骤2.41:f(n)=g(n)+ω(n)*h(n),ω(n)=1+d/d

23、其中,g(n)表示起点到当前栅格的实际代价,d为当前点到终点的距离,d为起点到终点的距离,离终点较远时,ω(n)值较大,可加快向终点搜索的速度,在靠近终点时,ω(n)值较小,此时算法搜索的路径更加的精确;

24、步骤2.42:

25、其中,dx(n)为当前点与终点的横坐标距离,dy(n)为当前点与终点的纵坐标距离。

26、本发明技术方案的进一步改进在于:步骤2.7中采用折线优化机制减少拐点并用b样条进行处理优化路径的方法具体步骤如下:

27、步骤2.71:第一次优化:从起点到终点分别命名为s、1、2…n节点,从n节点开始,令n节点为当前节点,n-1为当前点子节点,n-2为子节点的子节点,n-(n-1)为向量1,n-(n-2)为向量2,首先判断两个向量夹角是否为0,是则将子节点删除,将子子节点改为当前节点,否则连接子子节点与当前节点,判断障碍物是否在连线上,否则将子节点删除,将子子节点改为当前节点,是则直接将n-1节点命名为当前节点,重复以上操作,直到n=1算法停止;

28、步骤2.72:第二次优化:从起点到终点分别命名为s、1、2…t点,(t<n)将t作为当前节点,t-1节点与t-2节点连线上标记a,b,c…作为目标点,顺序为(t-2,a,b,c,...,t-1),依次判断当前点和目标点a,b,c,...连线是否存在障物,将不存在障碍物的第一个点存储到新的路径中,并作为当前点,继续连接t-2与t-3节点,以此类推,直到当前节点为起点;

29、步骤2.73:第三次优化:从起点到终点分别命名为s、1、2…i点,(i<t)将s作为当前节点,1节点与2节点之间连线上标记a、b、c…作为目标点,连线上的节点顺序为(2,a,b,c,1),依次判断当前点和线段上的目标点a、b、c…是否存在障物,将可连接的第一个点存储到新的路径中,并作为当前点,继续连接2与3节点,以此类推,直到当前节点为i,算法停止。

30、本发明技术方案的进一步改进在于:步骤3中利用改进的粒子群算法求解多目标点遍历顺序,具体步骤如下:

31、步骤3.1:初始化环境地图、自主移动机器人信息、目标点起始点信息;

32、步骤3.2:采用改进的a*算法计算起始点与目标点以及目标点之间的距离矩阵d;

33、步骤3.3:产生随机粒子种群,编码,利用反向学习策略对种群进行优化;

34、步骤3.4:计算适应度值并记录最优粒子及其位置;

35、步骤3.5:更新各粒子的位置和速度,计算适应度值,记录全局、个体最优粒子;

36、步骤3.6:将粒子分别与全局最优粒子、个体最优粒子进行交叉、变异操作,适应度变好则保留,否则不保留;

37、步骤3.7:判断是否达到最大迭代次数,是则输出最优个体的适应度值,粒子群算法结束,否则更新迭代次数,返回步骤3.5。

38、8、本发明技术方案的进一步改进在于:步骤3.3中反向学习初始化种群的具体步骤如下:

39、步骤3.31:均匀随机地生成一个最初种群;

40、步骤3.32:由最初种群生成一个反向种群;

41、步骤3.33:从最初种群中和反向种群取出个体,使用适应度函数计算其适应度,选择适应度更高的个体,放进最终的初始种群中;

42、步骤3.34:将最终的初始种群用于改进的粒子群算法中。

43、本发明技术方案的进一步改进在于:在步骤3.4中计算适应度函数具体步骤包括:

44、其中f0,1是起始点与第一个目标点的避障距离,fn,0是起始点与最后一个目标点的避障距离,fi,j是两两目标点之间的避障距离用改进的a*算法进行求解。

45、本发明技术方案的进一步改进在于:步骤3.6采用随机选择交叉点与全局最优粒子进行交叉操作,具体步骤包括:

46、首先在待更新的一个粒子染色体上随机选取一段基因,然后与全局最优粒子找到相同位置的基因进行交换,生成两个子代基因序列,再根据映射关系调节基因,生成新粒子。

47、由于采用了上述技术方案,本发明取得的技术进步是:通过对a*算法进行改进,引入方向向量判定的5邻域点和评价函数f(n),使在构建路径计算过程中速度准确性均有效提高。通过引入折线优化机制减少拐点并用b样条进行处理优化路径,使构建出的最短避障路径更加准确合理。通过使用改进的粒子群算法对距离矩阵进行计算,对多目标点的遍历顺序进行有效求解,在将最优遍历顺序与目标点之间的避障路径进行结合,生成多目标点最优路径,可有效实现自主移动机器人在无人仓储系统中进行对货物快速高效的进行分配。

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