随着社会进步和科技发展,机器人被广泛应用于手术、军事、水果采摘、快递配送、抢险救灾以及餐饮服务等许多领域,这都涉及路径优化问题。全局路径优化问题是指在静态已知的环境中,机器人根据给定的路径优化算法,按照目标函数(如距离最短、时间最快和能耗最低等),搜索一条从起始点到目标点无碰撞且最优的路径
[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方向)的路径搜索策略来扩大路径搜索视野范围。紧接着,为进一步提高蚁群算法的全局搜索能力,提出了基于扩展邻域和方向以相同路径节点为相遇条件的双向交替搜索的蚁群算法。然后,针对蚁群算法最优解问题,采用改进的启发函数和随机状态转移概率公式,降低路径搜索的盲目性,为搜索到最优路径奠定基础。其次,为进一步解决最优解问题,提出路径交叉策略,可以提高路径的多样性并解决局部最优问题。最后,针对蚁群算法的路径平滑度问题,提出路径节点转移平滑策略,减少路径拐点数目、降低转角度数、提高路径的平滑度且缩短了路径长度,最终得到的路径是最短的。