毅力是什么?
毅力就是坚持,有毅力就代表着努力。
没有毅力,一个人将一事无成,
再宏伟的梦想也只能是一个梦而已,
再宏大的理想也只能是想一想罢了。
通过分析,A 星算法和蚁群算法在路径规划中的应用各自存在不足之 处。
本文提出将两种算法融合,进行 AGV 的路径规划,既可以避免算法的缺点, 又确保 AGV 可以找到一条有效且适用的优路径,到达目标点。
因此,在地图划分的基础上,结合 A 星算法和蚁群算法对 AGV 进行路径规划,使规划出的优路径不仅有效避开货架,还提高了 AGV 完成任务的效率。 基于分区路径规划的思想,我们使用栅格地图和聚类方法进行环境建模,将 AGV 工作空间划分出不同大小的分区。
利用 A 星算法高效寻路的优势,快速找到一条全局短路径,并记录该路径经过不同分区边界线的起止点。针对货架触 碰问题,在货架较多的货架区,使用智能蚁群算法,从分区的起始点展开局部的 路径搜索。
不仅缩小了蚁群算法的栅格搜索范围,提高了路径搜索效率,也避免了货架触碰。在无货架的可行区,直接使用连接分区起止点的直线段作为该分区 的路径。 如何选取分区起止点的规则如下:
(1)货架区相邻可行区,则起止点选择可行区内侧的路径栅格;
(2)货架区相邻货架区,则起止点选择顺序靠后的货架区内侧的路径栅格;
(3)可行区相邻可行区,则起止点选择顺序靠后的可行区内侧的路径栅格。
步骤 1:使用栅格法建立栅格地图,设定起始点和目标点。
步骤 2:构造 A 星算法的开启列表和关闭列表,对 A 星算法和蚁群算法的 参数进行初始化。
步骤 3:Canopy 粗聚类货架栅格,直到可以在地图上生成佳聚类的可能K值和聚类中心。
步骤 4:K值和聚类中心被输入到货架栅格的 K-means 聚类算法中,每个K 和相应中心的输出是K个地图网格群。
步骤 5:根据步骤 4,得到每个聚类分区的货架信息,接着将地图分成大小不同的矩形分区。
步骤 6:对栅格地图使用 A 星算法,找出路径穿过每个分区边界的起止点。
步骤 7:若是货架区,找出该区的起止点,作为局部起止点,使用蚁群算法找出局部优路径。
步骤 8:若是可行区,则是步骤 6 中的 A 星算法路径的直线路径作为局部 短路径。
步骤 9:根据步骤 7 和步骤 8 的结果,寻找从起始点到目标点之间的抽象路 径,细化后形成完整路径输出。至此算法结束。
单 AGV 路径规划流程图如图
从流程图可以看出,当栅格地图被分区后,单 AGV 的路径规划是分成货架区和可行区两部分同时进行,对比全局单一路径规划算法,缩短了路径搜索时间。