欢迎访问陕西师范大学学报(自然科学版)官方网站!
仿生算法与应用专题

基于扩展邻域和方向双向蚁群算法的平滑路径规划

  • 齐款款 ,
  • 李二超 , * ,
  • 毛玉燕
展开
  • 兰州理工大学 电气工程与信息工程学院,甘肃 兰州 730050
* 李二超,男,教授,博士生导师,主要研究方向为多目标优化、人工智能等。E-mail:

Copy editor: 宋轶文

收稿日期: 2024-07-15

  网络出版日期: 2025-02-27

基金资助

甘肃省教育厅优秀研究生“创新之星”项目(2021CXZX-507)

国家自然科学基金(62063019)

国家自然科学基金(61763026)

甘肃省自然科学基金(20JR10RA152)

Smooth path planning of bidirectional ant colony algorithm based on extended neighborhood and direction

  • QI Kuankuan ,
  • LI Erchao , * ,
  • MAO Yuyan
Expand
  • College of Electrical Engineering and Information Engineering, Lanzhou University of Technology, Lanzhou 730050, Gansu,China

Received date: 2024-07-15

  Online published: 2025-02-27

摘要

在移动机器人路径规划时,采用传统的或经典的蚁群算法往往出现移动方向较少、视野范围较少,非最优路径和路径不平滑等问题。针对上述蚁群算法的固有缺陷,提出了并行双向24邻域16方向的蚁群算法。首先,24邻域16方向路径搜索方式能够扩大路径搜索视野范围,将24邻域16方向路径搜索方式与双向交替搜索策略相结合,能够更好地到达终点,增强了全局搜索能力;其次,启发函数包含起点、当前点、待选节点和终点信息以及自适应因子,同时引入改进转移概率公式,增强路径搜索的引导性;然后,引入路径交叉策略,避免陷入局部最优;最后,采用路径节点转移策略平滑路径,得到的路径拐点少且路径最短。在不同复杂度的栅格地图中,将所提的改进蚁群算法分别与传统蚁群算法和其他改进的蚁群算法进行仿真对比实验,仿真结果证明了所提算法是可行的和有效的。

本文引用格式

齐款款 , 李二超 , 毛玉燕 . 基于扩展邻域和方向双向蚁群算法的平滑路径规划[J]. 陕西师范大学学报(自然科学版), 2025 , 53(1) : 92 -102 . DOI: 10.15983/j.cnki.jsnu.2025009

Abstract

When mobile robots perform path planning, the traditional or classical ant colony algorithm often encounters problems such as fewer movement directions, smaller fields of view, non-optimal paths, and unsmooth paths. Aiming at the inherent shortcomings of the ant colony algorithm mentioned above, a parallel bidirectional 24 neighborhoods 16 directions ant colony algorithm is proposed. First, the 24 neighborhoods 16 directions path search method can expand the field of view of path search. Second, combining the 24 neighborhoods 16 directions path search method with the bidirectional alternating search strategy can better reach the endpoint and enhance the global search ability. Subsequently, the heuristic function includes starting point, current point, candidate node, and endpoint, as well as adaptive factors. At the same time, an improved transition probability formula is introduced to enhance the guidance of path search. Then, the crossing strategy is introduced to avoid getting stuck in local optima. Finally, the path node transfer strategy is adopted to smooth the path, resulting in fewer inflection points and the shortest path. On grid maps with different complexity, the improved ant colony algorithm proposed in this paper was compared with the traditional ant colony algorithm and other improved ant colony algorithms through simulation experiments. The simulation results proved that the algorithm proposed in this paper is feasible and effective.

随着社会进步和科技发展,机器人被广泛应用于手术、军事、水果采摘、快递配送、抢险救灾以及餐饮服务等许多领域,这都涉及路径优化问题。全局路径优化问题是指在静态已知的环境中,机器人根据给定的路径优化算法,按照目标函数(如距离最短、时间最快和能耗最低等),搜索一条从起始点到目标点无碰撞且最优的路径[1]。目前,存在很多与求解全局路径优化问题有关的算法,如A*算法[2]、遗传算法[3]、粒子群算法[4]和蚁群算法等。在二维静态栅格环境地图中,本文重点采用本文所提的蚁群算法来研究全局路径优化问题。
每种算法都有优缺点,蚁群算法也不例外。蚁群算法有较多的优势,如较强的鲁棒性、优良的并行搜索能力和容易与其他算法融合的能力等[5-6],因此,本文选择蚁群算法规划全局路径。针对传统蚁群算法存在容易陷入局部最优解、收敛速度慢和拐点多等问题,不同学者从不同方面进行针对性改进。张苏英等[7]从路径搜索方向进行改进,添加反向路径搜索,即双向路径搜索的蚁群算法,但不是双向交替搜索,即没有使用相遇策略,而是起始点处的蚂蚁正向路径搜索结束后,目标点处的蚂蚁才开始反向路径搜索。陈英俏[8]采用基于障碍物有效顶点的并行双向蚁群算法,即首先对障碍物环境进行预处理,筛选出障碍物的有效顶点。以环境中的有效顶点为路径搜索点,以双向搜索中出现各自的信息素为相遇条件,能够快速找到一条最优路径。张玮等[9]采用烟花算法和蚁群算法相结合的方法来改进蚁群算法,将改进的烟花算法得到的最短路径转换为蚁群算法的初始信息素,蚁群算法初始信息素被差异化处理,使蚂蚁更倾向于浓度高的栅格转移,从而提高算法的收敛速度。Luo等[10]从状态转移概率方面进行改进,引入伪随机概率转移策略,即设定阈值,在该阈值范围内,蚂蚁将以大概率选择较优的栅格,提高了算法的全局搜索能力和收敛速度。王红君等[11]从拐点方面进行改进,从规划完成后的路径节点中紧接着起点的第二个节点开始,依次连接起点,直到连线与障碍物发生碰撞,前一节点为必要节点,删除中间冗余点,直到将终点加入路径中,该方法能够减少路径上的拐点数目。徐玉琼等[12]从步长方面进行改进,通过筛选可以到达的跳点,实现变步长路径搜索,不再局限于传统算法步长为1的路径搜索方式,得到的路径拐点少且最短。敖邦乾等[13]对得到的路径进行平滑处理,即采用冗余点删除策略去除路径中间冗余节点和三阶贝塞尔曲线对路径拐点进行平滑处理,最终得到的路径平滑且最短。孙凌宇等[14]采用一种跳点搜索算法与蚁群算法结合的算法求解传统蚁群算法路径规划问题,该算法能够以多邻域、多搜索方向的路径搜索方式得到最短路径。刘师良等[15]将改进的人工势场法引入蚁群算法的启发函数和状态转移函数中,具有较好的全局搜索能力和对U型障碍物的避障能力。唐宏伟等[16]采用多邻域蚁群算法实现多步长路径搜索,将步长和夹角信息引入启发函数中,加快算法的收敛速度。徐万福等[17]将人工势场法的势场分布函数引入蚁群算法的初始信息素中,实现初始信息素的不均匀分配,降低了初期路径搜索的盲目性。周晓晖等[18]采用A*算法实现蚁群算法初始信息素的不平等分布,降低了初期路径搜索的盲目性。王健雄等[19]采用路径二次规划策略平滑最优路径,即将原本的大地图分为若干小地图,再调用改进的蚁群算法进行路径搜索,能够优化路径。牛秦玉等[20]采用贪心算法平滑路径,删除了冗余点,减少了转角个数,缩短了路径长度,得到的路径更短更平滑。文献[21-22]采用贝塞尔曲线平滑由各自改进蚁群算法得到的最优路径,最终路径更短且平滑。文献[23-24]采用B样条曲线平滑由各自改进蚁群算法得到的最优路径,最终路径更短且平滑。
基于以上讨论,本文主要研究传统蚁群算法的全局搜索能力问题、路径的平滑度问题和路径最优解问题,即移动方向和视野范围受限、路径搜索的盲目性较大、规划的路径非最短、路径转弯次数多、转角大和路径不平滑问题。针对上述存在的问题,本文所做的贡献如下:首先,针对蚁群算法的全局搜索能力问题,提出了扩展邻域和方向(24邻域16方向)的路径搜索策略来扩大路径搜索视野范围。紧接着,为进一步提高蚁群算法的全局搜索能力,提出了基于扩展邻域和方向以相同路径节点为相遇条件的双向交替搜索的蚁群算法。然后,针对蚁群算法最优解问题,采用改进的启发函数和随机状态转移概率公式,降低路径搜索的盲目性,为搜索到最优路径奠定基础。其次,为进一步解决最优解问题,提出路径交叉策略,可以提高路径的多样性并解决局部最优问题。最后,针对蚁群算法的路径平滑度问题,提出路径节点转移平滑策略,减少路径拐点数目、降低转角度数、提高路径的平滑度且缩短了路径长度,最终得到的路径是最短的。

1 问题描述

以栅格地图为移动机器人的运行环境,栅格序号编码顺序为从左向右、从下到上。对障碍物进行膨化处理,只要不规则障碍物触及栅格,就将其膨化为一个栅格,再将该障碍物栅格进一步膨化,此时机器人可视为质点。
传统蚁群算法的状态转移概率公式和信息素更新公式如公式(1)~(4)所示。
  p i j m   = [ τ i j ( t ) ] α · [ η i j ( t ) ] β s a l l o w e d m [ τ i s ( t ) ] α · [ η i s ( t ) ] β , j a l l o w e d m , 0 ,   ,
$\tau_{i j}(t+1)=(1-\rho) \tau_{i j}(t)+\Delta \tau_{i j}^{\text {valid }}(t),$
$\Delta \tau_{i j}^{\mathrm{valid}}(t)=\sum_{m=1}^{n} \Delta \tau_{i j}^{m}(t)$
$\Delta \tau_{i j}^{\prime \prime}(t)=\left\{\begin{array}{l}\frac{Q}{L^{\text {valid }}}, \text { ant }_{m} \in \text { vaild } \operatorname{path}(i, j), \\0, \quad \text { 其他。 }\end{array}\right.$
式中:j∈allowedm为可选的邻居集合;τij表示当前节点和邻居节点之间的信息素浓度;ηij表示当前节点和邻居节点之间的启发式函数信息,即当前点与下一节点之间的欧氏距离的倒数;α为信息素因子;β是启发式因子;ρ表示挥发系数;Q表示信息素强度;Δ τ i j v a l i d(t)意味着从起点到达终点的蚂蚁所产生的信息素浓度;Lvalid表示蚂蚁从起点到达终点所行走的路径长度。

2 改进的蚁群算法

2.1 改进路径搜索方式

2.1.1 蚂蚁搜索方向

通常,传统的或经典的蚁群算法有两种可选的路径搜索邻域和方向,即4邻域4方向或8邻域8方向。图1a表示4邻域4方向,蚂蚁只能沿水平方向或竖直方向移动,转角度数只有90°可以选择,转角较大,得到的路径不平滑,也不是最优路径。图1b表示8邻域8方向,蚂蚁在4邻域4方向的基础上,可以沿45°倾斜角方向移动,有两种转角度数可供选择。与4邻域4方向相比,8邻域8方向的转角较小,得到的路径相对平滑,路径也相对较短。图1c表示本文的16个移动方向,即24邻域16方向,蚂蚁在8邻域8方向的基础上,可以以22.5°倾斜角方向移动,有三种转角度数可供选择。与4邻域4方向和8邻域8方向相比,24邻域16方向的转角最小,得到的路径相对最平滑,路径也相对最短。增加邻域和方向有助于找到更优的路径。
图1 路径搜索方向

Fig.1 Path search direction

2.1.2 蚂蚁搜索视野

图2a表示4邻域4方向的传统蚁群算法的蚂蚁只能看到前后左右的一步视野。图2b表示比4邻域4方向视野更大的8邻域8方向的传统蚁群算法,蚂蚁只能看到前、后、左、右、左前方、左后方、右前方和右后方的一步视野。图2c表示比4邻域4方向和8邻域8方向更有优势的24邻域16方向的蚁群算法,蚂蚁能看到周围的两步视野。较大的视野能够更好地发现目标点。
图2 蚂蚁视野

注:网络版为彩图。

Fig.2 Ants field of vision

2.1.3 蚂蚁移动方式

图3表示本文的蚂蚁两步视野示意图,第一步的视野和传统蚁群算法相同,有8个栅格,第二步视野有16个栅格,这两步视野结合在一起就是本文的24邻域16方向的路径搜索方式。此时的蚂蚁能够了解两步视野范围之内的障碍物的分布情况以及当前点到可选节点之间的可达性。如果蚂蚁想要从当前点达到第二步的栅格,需要判断两点之间的连接线段是否穿过障碍物,若连接线触及障碍物,则无法到达第二步的该栅格,若没有,则可以顺利达到该栅格。图4表示第二步视野的可达性分析的示意图,如果AB两个栅格满足某一个或两者都是障碍物,那么蚂蚁就不能顺利到达第二步的栅格,图4b~d表示当前点与第二步栅格点的连线穿过障碍物。
图3 蚂蚁两步视野的示意图

注:网络版为彩图。

Fig.3 The schematic diagram of the two-step view of ants

图4 第二步的移动规则

注:网络版为彩图。

Fig.4 The movement rules for the second step

2.1.4 本文的蚂蚁视野优势

为提高算法的全局搜索能力,提出24邻域16方向的路径搜索方式。对本文蚂蚁扩大视野的路径搜索具有的优势进行分析,如图5所示。规定右下角栅格为起点,左上角栅格为终点,蚂蚁从起点移动到终点。4邻域4方向的路径搜索方式需要3步才到达终点,蚂蚁行走的距离为3,如图5a所示;8邻域8方向的路径搜索方式需要2步才到达终点, 蚂蚁行走的距离为2.41,如图5b所示;本文的路径搜索方式需要一步就能到达终点, 蚂蚁行走的距离为2.24,如图5c所示。通过上述的分析可知道,本文的24邻域16方向的路径搜索方式到达终点所需的搜索步数最少并且路径最优。
图5 不同路径搜索方式的路径规划

Fig.5 Path planning of different path search methods

2.2 改进启发式函数

为降低路径搜索的盲目性,引入常数h和与迭代次数(iter)n有关的变量来增强在路径规划前期启发式函数的引导作用。随着算法不断迭代,启发式函数的路径引导性不断减弱。另外,启发式函数还包括起始点、当前节点、可选节点和终点的信息。改进后的启发式函数如式(5)~(7)所示。
当蚂蚁正向搜索路径时,
$\eta_{i j}^{+}=\frac{h}{1-h} \times \frac{d_{S j}}{\left(d_{i j}+d_{j E}\right)^{2}} \times \lambda ;$
当蚂蚁反向搜索路径时,
$\eta_{i j}^{-}=\frac{h}{1-h} \times \frac{d_{j E}}{\left(d_{i j}+d_{S j}\right)^{2}} \times \lambda,$
$\lambda=\left\{\begin{array}{l}\frac{n_{\max }-n}{n_{\max }}, n \neq n_{\max } \\\frac{1}{n_{\max }}, n=n_{\max \circ}\end{array}\right.$
式中:dSj表示起始点与可选节点之间的欧氏距离;dij为当前路径节点与可选节点之间的欧氏距离;djE表示可选节点与目标点之间的欧式距离;λ表示一个随迭代数变化的因子。

2.3 改进状态转移概率公式

为进一步降低路径搜索的盲目性,在传统的状态转移概率公式基础上,添加确定性和任一性的概率,形成三层伪随机状态转移概率J。并在三层伪随机状态转移概率公式中添加转角θ信息,使蚂蚁更喜欢选择转角较小的移动方向。改进后的状态转移概率公式如式(8)~(10)所示。
$J=\left\{\begin{array}{l}\max \left\{\omega \times \tau_{i j}^{\alpha} \times \eta_{i j}^{\beta}\right\}, 0<q \leqslant q_{0}, \\p_{i j}^{k}, q_{0}<q \leqslant q_{1}, \\\operatorname{rand}_{j}, q_{1}<q \leqslant 1,\end{array}\right.$
$p_{i j}^{k}=\left\{\begin{array}{l}\frac{\omega \times \tau_{i j}^{\alpha} \times \eta_{i j}^{\beta}}{\sum \omega \times \tau_{i j}^{\alpha} \times \eta_{i j}^{\beta}}, j \in \text { allowed }_{k}, \\0, \text { 否则, }\end{array}\right.$
$\omega=\left\{\begin{array}{l}1, \theta=0, \\0.9, \theta \in\left(0,90^{\circ}\right), \\0.8, \theta=90^{\circ}, \\0.7, \theta \in\left(90^{\circ}, 180^{\circ}\right)\end{array}\right.$
式中:randj表示在可选节点集合中,任选一个节点作为下一节点;q表示在(0,1]中产生的随机数;q0q1分别表示(0,1)之间的常数。

2.4 双向交替搜索策略

为进一步提高算法的全局搜索能力,提出基于24邻域和16方向的双向交替搜索的蚁群算法。相比于单向的路径搜索方式,该算法能够增加路径的多样性。设置蚂蚁种群的总数目,将这些蚂蚁平均分为两组,分别放置在起始点和目标点处。首先,派出起始点处的一只蚂蚁在24邻域16方向内以一定的概率向目标点进行一步路径搜索,判断与反向的蚂蚁是否相遇。如果相遇,则结束,否则,派出目标点处的一只蚂蚁在24邻域16方向内以一定的概率向目标点(正向路径搜索的起始点)进行一步路径搜索,判断与正向的蚂蚁是否相遇。如果相遇,则结束,否则,继续上述正向的路径搜索。直到正向蚂蚁和反向的蚂蚁搜索到同一个栅格时,即该栅格为相遇点,结束算法。值得注意的是,相遇点可能为起始点或目标点,视为特殊的相遇点,即正向或反向的蚂蚁单独完成了路径规划任务。从相遇点分别向起始点和目标点回溯形成一条完整的路径,并记录该路径的相关信息(如长度、转折点数目和转角总度数等)。基于24邻域和16方向的双向交替搜索的蚁群算法仿真图如图6所示。
图6 双向路径搜索仿真

Fig.6 Simulation of bidirectional path search

双向搜索过程:正向蚂蚁F放在起点S(0.5,0.5),将其加入正向路径表rF={S},反向蚂蚁R放在终点E(9.5,9.5),将其加入反向路径表rR={E},同时将起点和终点加入禁忌表。禁忌表中存储着障碍物和已经选择过的节点信息,该表的作用是防止蚂蚁重复选择已经走过的路。正向蚂蚁F根据观察到的24邻域的环境信息情况,基于改进的启发式信息、改进的状态转移概率公式和蚂蚁的移动规则将栅格13(2.5,1.5)作为下一步的路径关键点,把该栅格添加到正向的路径表rF={S,13}中,同时将该栅格加入禁忌表中,经过判断正向路径表和反向路径表中无共同的栅格信息,即没有相遇,则蚂蚁进行反向的路径搜索。反向路径搜索方式与正向的路径搜索方式类似,蚂蚁移动到栅格88(7.5,8.5),把该栅格添加到反向的路径表rR={E,88}中,同时将该栅格加入禁忌表中,经过判断正向路径表和反向路径表中无共同的栅格信息,则蚂蚁进行正向的路径搜索。按照上述正向和反向交替搜索的方式进行搜索路径,直到两个方向的路径表中存在同一个栅格的信息结束算法。我们给出相遇前一步的路径搜索情况,即正向路径表为rF={S,13,35,45,55},反向路径表为rR={E,88,86,75},此时反向路径搜索的蚂蚁在视野内搜索到正向路径表中唯一可选的路径节点55(视为相遇),直接连接这两个栅格,形成一条完整的路径。如果反向路径搜索的蚂蚁在视野内搜索到正向路径表中多个可选的节点,选择两点连接后使整条路径最短的栅格,最终rF+rR=rL={S,13,35,45,55}+{E,88,86,75,55}={S,13,35,45,55,75,86,88,E}。

2.5 路径交叉策略

为进一步求解最优解问题,提出路径交叉策略,可以进一步增加路径的多样性。所谓的路径交叉策略的定义如下:规划得到的两条完整路径有重合线段或重合点部分,经过对可交叉操作的线段部分进行互换,保留更短的线段部分,可以得到新的路径,即产生了新的解,能够得到更优的解。使用交叉策略的条件为:起始点和目标点都不是交叉点;因两条路径重合产生的多个交叉点,随机选择公共部分的二者其一;两条完整的路径存在一个或多个交叉点时,逐一进行交叉操作,从每一部分的交叉变换中选择更短的路径。每完成一次迭代的交叉操作后,记录最优路径。多个交叉点的交叉操作过程如图7所示。
图7 多个交叉点的交叉操作过程示意图

Fig.7 Schematic diagram of cross operation process for multiple intersection points

路径交叉操作过程:在图7a中,虚线和实线都是同一代规划出的完整的路径,这两条路径之间存在3个满足交叉操作的交叉点。首先,判断起始点与交叉点1之间的线段通过互换判断是否存在更短的路径,若存在,则记录该路径的相关信息,否则,判断下一个交叉点的交叉互换是否存在更短的路径。通过比较路径长度,实线线段部分更短,保留该实线线段部分;其次,交叉点1与交叉点2之间的线段重合,不进行交叉操作,从中任选其一即可;然后,判断交叉点2与交叉点3之间是否存在更短的线段,通过比较这两部分的路径长度,虚线线段部分更短;最后,交叉点3与目标点之间的线段重合,不进行交叉操作,从中任选其一即可。最终的路径交叉结果如图7b所示。

2.6 路径节点转移平滑策略

通常,采用传统的或经典的蚁群算法规划出的路径存在较多的转角且转弯度数较大,移动机器人无法很好地运行。即使安全到达目标点,也将消耗大量的能量。为进一步提高路径平滑度,在由上述改进的蚁群算法规划出的路径基础上,提出路径节点转移平滑策略。该策略能够进一步使路径转折点更少,路径平滑度更高。
路径节点是指路径所经过的栅格中心点,即图8中用符号“*”表示的栅格中心点,本文主要转移拐弯处的路径节点。所谓的路径节点转移平滑策略可以描述为:转弯处的路径节点基于一定的转移规则,根据该节点所在栅格的4个顶点到起始点或目标点的距离最近原则,转移到使转移后路径最短的顶点处。传统蚁群算法只能把栅格中心点作为路径节点,导致转角角度较大,路径平滑度有待提高。通过该策略优化路径可以减少拐点个数,有效减少路径长度。
图8 路径节点转移平滑策略仿真示意图

Fig.8 Simulation diagram of path node transition smoothing strategy

路径节点转移平滑策略实现步骤可以描述如下:
1)采用上述改进的蚁群算法规划出一条最优路径(平滑前路径),该平滑策略针对该路径进行平滑操作。
2)该策略从起始点开始到目标点结束,需要转移的路径节点主要针对路径拐点处的路径节点(不包括起始点和目标点),根据实际情况的需要,转移到顶点的点还可以转移到栅格中心点。
3)当平滑前最优路径上有竖直线段时,比如线段CD,分别计算点D所在栅格的4个角顶点 (upper left、upper right、lower left、lower right, 分别缩写为UL、UR、LL、LR) 和起始点S的距离,点D移动到距离最短的角顶点处。分别计算点C所在栅格的4个角顶点 (UL、UR、LL、LR)和目标点E的距离,点C移动到距离最短的角顶点处。因点C和目标点是同一个点,需要转移的路径节点不包括目标点,故点C位置不变。
4)当平滑前最优路径上有水平线段时,例如线段AB,分别计算点A所在栅格的4个角顶点 (UL、UR、LL、LR) 和起始点S的距离,点A移动到距离最短的角顶点。分别计算点B所在栅格的4个角顶点(UL、UR、LL、LR)和目标点E的距离,点B移动到距离最短的角顶点。
5)当平滑前最优路径上有特殊方向的线段(即斜向)时,例如图8中的点M,该路径节点两端的线段不属于上述线段方向类型,因点M位于线段SM上端,可按照步骤3)的转移方法进行转移。
6)执行完步骤3)~5),从起始点开始依次连接上述步骤筛选出的转移路径节点,连接到终点结束。平滑后的路径转弯次数更少且路径长度更短。
图9为上述整体改进的蚁群算法流程图。
图9 改进蚁群算法流程图

Fig.9 Flow chart of improved ant colony algorithm

其中:K0表示正向路径搜索的蚂蚁;K1表示反向路径搜索的蚂蚁;t表示算法运行时间;Tmax表示设置的最大的算法运行时间。

3 仿真实验与分析

为说明本文所提的蚁群算法是可行的和有效的,我们采用MATLAB 2016a进行仿真实验。本文仿真实验不再采用以前的比较方法[25],即设置相同数量的蚂蚁和相同的最大迭代次数,而是每种算法设置相同的运行时间,比较哪种算法在所用的迭代次数少的情况下找到最短路径。本文所提的比较方法能够减少相应的工作量,即不再比较每种算法的运行时间。本文引入的比较方法刚好与传统比较方法相反。本文设置的最大算法运行时间是根据前人大量研究数据和实际仿真过程中形成的经验法,即从蚂蚁数量、迭代数、算法的复杂程度、环境的尺度和复杂程度以及计算机性能方面考虑,算法收敛时间会在某个区间,在这个区间选择一个较为合适的值作为算法的结束条件。最终,算法会在设定的时间内找到最优解。本文将进行两方面仿真实验:一方面,设置3种不同尺度和复杂度的栅格地图环境,将本文算法与4邻域4方向和8邻域8方向的传统蚁群算法进行仿真对比与分析,证明本文所提的24邻域16方向的蚁群算法的可行性和有效性;另一方面,在尺度为50×50的复杂环境的栅格地图中,将本文所提蚁群算法与传统蚁群算法和文献[24,26-27]改进的蚁群算法进行仿真对比与分析,证明本文所提的蚁群算法具有一定的优势。
目前,并没有优化参数的统一的标准,本文采用控制变量的方法逐一优化每个参数,即在其他参数不变的情况下,以设置一系列梯度的方式只改变一种参数,从一系列梯度中选取最优参数,固定这一参数,继续采用上述步骤,直到所有的参数都达到最优组合。本文仿真参数的最优组合为:蚂蚁数量设置为60,最大迭代次数为200,α=1,β=8,Q=50,q0=0.2,q1=0.7,以下结果都是算法运行30次得到的。

3.1 3种不同环境下的仿真

为验证本文24邻域16方向蚁群算法的可行性和有效性, 在3种不同栅格地图环境中,将本文算法、传统蚁群算法的4邻域4方向和8邻域8方向进行仿真对比,采用相同时间内,比较最优解以及快速性(迭代次数),仿真结果如图10所示和表1所示。
图10 不同环境下3种算法最优路径图

注:网络版为彩图。

Fig.10 Optimal path of three algorithms in different environments

表1 3种环境下的仿真结果

Tab.1 Simulation results in three environments

算 法 15×15(运行时间10 s) 30×30(运行时间30 s) 50×50(运行时间40 s)
最短路径 拐点均值 迭代均值 二次规划最短路径 最短路径 拐点均值 迭代均值 二次规划最短路径 最短路径 拐点均值 迭代均值 二次规划最短路径
传统算法4邻域 28.00 7.0 47.7 58.00 17.1 31.6 114.00 76.7 93.7
传统算法8邻域 23.90 14.7 84.3 48.53 23.0 142.8 88.12 53.9 135.5
本文算法24邻域 20.44 6.9 7.1 20.16 44.04 15.8 48.9 42.92 70.21 16.3 36.4 69.73
图10a图10b以及表1可以看出,与传统8邻域8方向相比,传统4邻域4方向少了4个邻域和4个方向,在相同的时间内,收敛到最优解的迭代次数较少,即能够快速收敛到最优解,但最优解不如传统8邻域,尤其是在大型地图中,传统8邻域的效果(拐点少且路径长度短)更明显的优于传统4邻域。图10c中,本文算法在相同的时间内,找到的最短路径、拐点数以及找到最优解的最小迭代次数都优于传统算法,尤其是在50×50大型地图中,传统算法拐点多,路径非最短等缺点更加明显。从以上验证了本文算法的可行性和有效性。

3.2 50×50复杂地图环境下的仿真

为验证本文算法的优越性,与文献[24,26-27]改进的蚁群算法和传统算法(8邻域)进行仿真对比,5种算法最优路径图如图11所示,仿真数据如表2所示。
图11 4种算法最优路径

注:网络版为彩图。

Fig.11 Optimal path of the four algorithms

表2 4种算法的仿真结果

Tab.2 Simulation results of four algorithms

算 法 平滑前 二次路径优化 平滑前拐点 迭代次数均值 运行时间均值/s 二次路径优化后拐点 转角总度数/(°)
最小 最大 均值 标差 最少 最多 均值 标差
传统算法 91.296 5 109.593 1 98.069 7 4.31 34 61 45.7 6.25 139.8 40 2 790
文献[24]算法 72.811 2 72.811 2 72.811 2 0 72.228 8 9 14 10.9 1.79 33.4 40 630
文献[26]算法 72.811 2 80.811 2 75.845 5 2.05 72.333 8 12 31 20.1 4.41 109.2 40 540
文献[27]算法 72.811 2 75.740 1 73.951 8 0.93 10 28 19 4.96 16.5 40 630
本文算法 70.851 6 71.793 7 71.320 8 0.24 70.154 8 10 21 16 2.97 42.4 40 6.0 77
图11中以及表2结果可知,在路径长度、转弯数目、转弯总度数和相同时间内找到最短路径的速度等指标方面,本文所提的蚁群算法和文献[24,26-27]改进的蚁群算法都优于传统蚁群算法。与文献[26]改进的蚁群算法相比,文献[27]改进的蚁群算法的启发式函数引导性更好,规划的路径较好(平滑前),转折点较少,收敛速度快,但文献[26]算法采用贝塞尔曲线进行二次路径优化,平滑后的路径长度72.333 8优于文献[27]算法最短路径长度72.811 2。与文献[26]算法相比,最新对比文献[24]采用B样条曲线优化后,路径长度更短,且每次都能找到最优解。与文献[24]算法比,本文算法虽然在收敛速度和稳定性(用30次路径规划长度的标准差来衡量)略逊于对比算法,但在路径长度、拐角数和路径转角总角度方面具有较大优势。本文算法在启发式函数中添加了起始点、当前节点、下一节点和终点等信息,路径搜索的引导性更强。加之三层伪随机状态转移概率公式,蚂蚁再根据双向24邻域搜索,引入路径交叉策略避免算法陷入局部最优,得到平滑前的路径长度70.851 6优于对比算法平滑前以及平滑后的路径长度。在路径长度与转弯点的均值和标准差方面,本文算法具有优势,表明算法每次运行都能很好地找到最短路径且稳定在最优解附近。优化24邻域搜索得到路径后,转折点数量在对比算法中最少,优化后的拐点均值为6.0,路径转角总度数最小,相应地,路径平滑性最好,最终的路径长度为70.154 8。由以上论述,验证了本文算法的优越性。

4 结论

在二维静态栅格环境地图中,传统蚁群算法进行移动机器人路径规划时,只能以4邻域4方向或8邻域8方向方式移动、很难找到最优路径和路径不平滑(拐点多和转角大)等问题,提出基于24邻域16方向的双向交替搜索的蚁群算法。24邻域16方向扩大搜索视野范围,能够更好地发现目标。双向交替搜索的路径搜索方式,能提高全局搜索能力且增加路径的多样性。改进的启发式函数和概率公式,增强路径搜索的引导性;引入路径交叉策略,避免陷入局部最优解;采用路径节点转移策略平滑路径,得到的路径拐点少且路径最短。基于以上改进,在不同尺度和复杂度栅格地图中,进行了仿真对比实验。结果表明,本文所提的蚁群算法是可行的和有效的。
本文重点研究了改进的蚁群算法求解全局(静态)路径规划问题。在现实生活环境中,机器人在前进过程中面临的不只是静态的障碍物,还存在各种各样的动态障碍物。在具有动态障碍物的环境中,依靠全局路径规划算法无法很好地避开未知的动态障碍物。因此,我们未来的工作重点是采用本文改进的蚁群算法结合局部路径规划算法(如动态窗口法和人工势场法)来研究机器人动态路径规划问题。
[1]
马丽莎, 周文晖, 龚小谨, 等. 基于运动约束的泛化Field D*路径规划[J]. 浙江大学学报(工学版), 2012, 46(8):1546-1552.

MA L S, ZHOU W H, GONG X J, et al. Motion constrained generalized field D* path planning[J]. Journal of Zhejiang University (Engineering Science), 2012, 46(8):1546-1552.

[2]
赵晓, 王铮, 黄程侃, 等. 基于改进A*算法的移动机器人路径规划[J]. 机器人, 2018, 40(6):903-910.

DOI

ZHAO X, WANG Z, HUANG C K, et al. Mobile robot path planning based on an improved A* algorithm[J]. Robot, 2018, 40(6):903-910.

DOI

[3]
WANG M C. Real-time path optimization of mobile robots based on improved genetic algorithm[J]. Proceedings of the Institution of Mechanical Engineers, Part Ⅰ: Journal of Systems and Control Engineering, 2021, 235(5):646-651.

[4]
MAC T T, COPOT C, TRAN D T, et al. A hierarchical global path planning approach for mobile robots based on multi-objective particle swarm optimization[J]. Applied Soft Computing, 2017, 59: 68-76.

[5]
游晓明, 刘升, 吕金秋. 一种动态搜索策略的蚁群算法及其在机器人路径规划中的应用[J]. 控制与决策, 2017, 32(3):552-556.

YOU X M, LIU S, LYU J Q. Ant colony algorithm based on dynamic search strategy and its application on path planning of robot[J]. Control and Decision, 2017, 32(3):552-556.

[6]
邓高峰, 张雪萍, 刘彦萍. 一种障碍环境下机器人路径规划的蚁群粒子群算法[J]. 控制理论与应用, 2009, 26(8):879-883.

DENG G F, ZHANG X P, LIU Y P. Ant colony optimization and particle swarm optimization for robot-path planning in obstacle environment[J]. Control Theory & Applications, 2009, 26(8):879-883.

[7]
张苏英, 郭宝樑, 陈灵芝, 等. 双向蚁群算法的智能消防疏散图路径规划[J]. 计算机工程与应用, 2021, 57(14):259-266.

DOI

ZHANG S Y, GUO B L, CHEN L Z, et al. Path planning of intelligent fire evacuation map based on bidirectional ant colony algorithm[J]. Computer Engineering and Applications, 2021, 57(14):259-266.

DOI

[8]
陈英俏. 改进蚁群算法及其在移动机器人路径规划中的研究[D]. 沈阳: 东北大学, 2010.

CHEN Y Q. Improved ant colony algorithm and research on the problem of path planning for mobile robot[D]. Shenyang: Northeastern University, 2010.

[9]
张玮, 马焱, 赵捍东, 等. 基于改进烟花-蚁群混合算法的智能移动体避障路径规划[J]. 控制与决策, 2019, 34(2):335-343.

ZHANG W, MA Y, ZHAO H D, et al. Obstacle avoidance path planning of intelligent mobile based on improved fireworks-ant colony hybrid algorithm[J]. Control and Decision, 2019, 34(2):335-343.

[10]
LUO Q, WANG H B, ZHENG Y, et al. Research on path planning of mobile robot based on improved ant colony algorithm[J]. Neural Computing and Applications, 2020, 32(6):1555-1566.

[11]
王红君, 徐军, 赵辉, 等. 基于平滑蚁群算法的机器人路径规划[J]. 燕山大学学报, 2017, 41(3):278-282.

WANG H J, XU J, ZHAO H, et al. Mobile robot path planning based on smoothing ant colony algorithm[J]. Journal of Yanshan University, 2017, 41(3):278-282.

[12]
徐玉琼, 娄柯, 李志锟. 基于变步长蚁群算法的移动机器人路径规划[J]. 智能系统学报, 2021, 16(2):330-337.

XU Y Q, LOU K, LI Z K. Mobile robot path planning based on variable-step ant colony algorithm[J]. CAAI Transactions on Intelligent Systems, 2021, 16 (2):330-337.

[13]
敖邦乾, 杨莎, 叶振环. 改进蚁群算法水面无人艇平滑路径规划[J]. 控制理论与应用, 2021, 38(7):1006-1014.

AO B Q, YANG S, YE Z H. Improved ant colony algorithm for unmanned surface vehicle smooth path planning[J]. Control Theory & Applications, 2021, 38(7):1006-1014.

[14]
孙凌宇, 王威, 秦红亮, 等. 跳点优化蚁群算法的移动机器人路径规划[J]. 电子测量技术, 2023, 46(9):48-53.

SUN L Y, WANG W, QIN H L, et al. Mobile robot path planning based on jump point optimization ant colony algorithm[J]. Electronic Measurement Technology, 2023, 46(9):48-53.

[15]
刘师良, 杜改丽, 黄武峰. 势场改进蚁群算法优化机器人路径规划[J]. 机械设计与制造, 2022(11):301-304.

LIU S L, DU G L, HUANG W F. Robot path planning algorithm improved by potential field and ant colony[J]. Machinery Design & Manufacture, 2022(11):301-304.

[16]
唐宏伟, 罗佳强. 基于多邻域蚁群算法的机器人路径规划[J]. 邵阳学院学报(自然科学版), 2024, 21(3):1-10.

TANG H W, LUO J Q. Robot path planning based on multi-neighborhood ant colony algorithm[J]. Journal of Shaoyang University(Natural Science Edition), 2024, 21(3):1-10.

[17]
徐万福, 孙渊. 基于多步长蚁群算法的移动机器人路径规划[J]. 组合机床与自动化加工技术, 2023(6):18-21,26.

XU W F, SUN Y. Research of robot path planning based on multi-step ant colony algorithm[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2023(6):18-21,26.

[18]
周晓晖, 李研强, 王勇, 等. 基于双启发式信息蚁群算法的机器人路径规划[EB/OL].[2024-07-17]. https://link.cnki.net/doi/10.16182/j.issn1004731x.joss.24-0010.

[19]
王健雄, 包菊芳. 融合多策略改进的蚁群算法机器人路径规划研究[EB/OL].[2024-07-17]. https://link.cnki.net/urlid/50.1155.N.20240508.1207.004.

[20]
牛秦玉, 董鑫炜, 傅垚. 基于蚁群算法启发式策略改进的AGV路径规划[EB/OL].[2024-07-17]. https://link.cnki.net/doi/10.13196/j.cims.2023.0486.

[21]
李二超, 齐款款. 贝塞尔曲线融合双向蚁群算法的移动机器人路径规划[J]. 陕西师范大学学报(自然科学版), 2022, 50(3):79-88.

DOI

LI E C, QI K K. Path planning of mobile robot based on Bessel curve and bidirectional ant colony algorithm[J]. Journal of Shaanxi Normal University (Natural Science Edition), 2022, 50(3):79-88.

[22]
孙凌宇, 王威, 刘文瀚, 等. 多因素优化蚁群算法机器人路径规划[J]. 计算机仿真, 2024, 41(3):470-476.

SUN L Y, WANG W, LIU W H, et al. Colony path planning based on robot ant algorithm with multi-factor optimization[J]. Computer Simulation, 2024, 41(3):470-476.

[23]
李二超, 齐款款. B样条曲线融合蚁群算法的机器人路径规划[J]. 计算机应用, 2021, 41(12):3558-3564.

DOI

LI E C, QI K K. Robot path planning based on B-spline curve and ant colony algorithm[J]. Journal of Computer Applications, 2021, 41(12):3558-3564.

DOI

[24]
薛翔, 朱其新, 朱永红. 基于改进蚁群算法的机器人路径规划[J/OL]. 西安工程大学学报, 1-8[2024-07-17]. http://kns.cnki.net/kcms/detail/61.1471.N.20240624.1042.002.html.

XUE X, ZHU Q X, ZHU Y H. Robot path planning based on improved ant colony optimization[J]. Journal of Xi'an Polytechnic University, 1-8[2024-07-17]. http://kns.cnki.net/kcms/detail/61.1471.N.20240624.1042.002.html.

[25]
王晓燕, 杨乐, 张宇, 等. 基于改进势场蚁群算法的机器人路径规划[J]. 控制与决策, 2018, 33(10):1775-1781.

WANG X Y, YANG L, ZHANG Y, et al. Robot path planning based on improved ant colony algorithm with potential field heuristic[J]. Control and Decision, 2018, 33(10):1775-1781.

[26]
徐梁, 高宏力, 宋兴国. 贝塞尔曲线融合ACO的移动机器人路径规划[J]. 机械设计与制造, 2020(1):263-266.

XU L, GAO H L, SONG X G. Path planning of mobile robot based on fusion of bezier curve and ACO[J]. Machinery Design & Manufacture, 2020(1):263-266.

[27]
赵静, 汤云峰, 蒋国平, 等. 基于改进蚁群算法的移动机器人路径规划[J]. 南京邮电大学学报(自然科学版), 2019, 39(6):73-78.

ZHAO J, TANG Y F, JIANG G P, et al. Mobile robot path planning based on improved ant colony algorithm[J]. Journal of Nanjing University of Posts and Telecommunications (Natural Science Edition), 2019, 39(6):73-78.

文章导航

/