基于蚁群算法的作业路径规划方法及系统
文献发布时间:2024-04-18 20:02:40
技术领域
本发明涉及路径规划技术领域,具体为基于蚁群算法的作业路径规划方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
路径规划是工程机械实现智能驾驶作业的关键技术之一,通过路径规划使工程机械在带有障碍物的工作环境中,寻找到一条从起点到终点的作业路径,期间使工程机械规避环境中的障碍物,同时满足工程机械的作业需求。现有技术在利用蚁群算法实现路径规划的过程中容易陷入局部最优,并且其全局搜索能力较差,使得路径规划的效果不理想。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供基于蚁群算法的作业路径规划方法及系统,利用改进的蚁群算法对非道路机械施工作业形成的栅格地图进行路径寻优,经多次迭代得到一条从初始栅格到目标栅格的可行路径。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供基于蚁群算法的作业路径规划方法,包括以下步骤:
1构建栅格地图并初始化;
2将起点栅格、障碍栅格和蚂蚁走过的节点加入禁忌表;
3确定下一步可转移节点,即,与当前栅格相邻且未加入禁忌表的节点;
4若可转移节点为零,则觅食停止,路径长设置为0;若不为零,则计算所有可转移节点的转移概率,确定蚂蚁下一步转移的栅格,并将转移后的栅格加入禁忌表;
5保存转移后增加的路径长及转移后的路径;若转移后的节点是终点栅格,该蚂蚁完成本次迭代的路径规划;若不是终点栅格,则重复执行步骤3和4确定下一步可转移节点;
6所有蚂蚁完成路径规划后,确定该蚂蚁能否更新信息素,具体为:
确定不同蚂蚁对应路径之间的亲和度;
确定蚂蚁之间的相似度;
相似蚂蚁数占蚂蚁种群的比例即为蚂蚁拥挤度
根据路径长度及蚂蚁拥挤度,确定平衡度;
当平衡度大于设定的阈值时,蚂蚁不更新信息素;
7当蚂蚁更新信息素,保存本次迭代的最优路径,进入下一次迭代;
8若当前迭代次数达到最大迭代次数,则结束,比较每次迭代得到的路径,以其中的最短路径作为路径规划结果。
本发明的第二个方面提供实现上述方法所需的系统,包括:
地图模块,被配置为:构建栅格地图并初始化,将起点栅格、障碍栅格和蚂蚁走过的节点加入禁忌表,其中,蚂蚁为工程机械;
转移节点更新模块,被配置为:将与当前栅格相邻且未加入禁忌表的节点作为下一步可转移的节点,根据可转移节点的数量确定蚂蚁下一步转移的栅格,并将转移后的栅格加入禁忌表;
路径保存模块,被配置为:保存转移后增加的路径长及转移后的路径,若转移后的节点是终点栅格,则完成本次迭代的路径规划;若不是终点栅格,则重复执行上一步骤确定下一步可转移节点;
路径输出模块,被配置为:所有蚂蚁完成路径规划后,根据蚂蚁能否更新信息素的状态,确定保存本次迭代的最优路径或进入下一次迭代;比较每次迭代得到的路径,以其中的最短路径作为路径规划结果。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于蚁群算法的作业路径规划方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于蚁群算法的作业路径规划方法中的步骤。
与现有技术相比,以上一个或多个技术方案存在以下有益效果:
利用改进的蚁群算法对非道路机械施工作业形成的栅格地图进行路径寻优,经多次迭代得到一条从初始栅格到目标栅格的可行路径,能够避免传统蚁群算法陷入局部最优的问题。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明一个或多个实施例提供的作业路径规划流程示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本实施例使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
正如背景技术中所描述的,现有技术在利用蚁群算法实现路径规划的过程中容易陷入局部最优,并且其全局搜索能力较差,使得路径规划的效果不理想。
因此以下实施例给出基于蚁群算法的作业路径规划方法及系统,利用改进的蚁群算法对非道路机械施工作业形成的栅格地图进行路径寻优,经多次迭代得到一条从初始栅格到目标栅格的可行路径。
实施例一:
如图1所示,作业路径规划方法,包括以下步骤:
1构建栅格地图并初始化;
2将起点栅格、障碍栅格和蚂蚁走过的节点加入禁忌表;
3确定下一步可转移节点,即,与当前栅格相邻且未加入禁忌表的节点;
4若可转移节点为零,则觅食停止,路径长设置为0;若不为零,则计算所有可转移节点的转移概率,确定蚂蚁下一步转移的栅格,并将转移后的栅格加入禁忌表;
5保存转移后增加的路径长及转移后的路径;若转移后的节点是终点栅格,该蚂蚁完成本次迭代的路径规划;若不是终点栅格,则重复执行步骤3和4确定下一步可转移节点;
6所有蚂蚁完成路径规划后,确定该蚂蚁能否更新信息素,具体为:
确定不同蚂蚁对应路径之间的亲和度;
确定蚂蚁之间的相似度;
相似蚂蚁数占蚂蚁种群的比例即为蚂蚁拥挤度
根据路径长度及蚂蚁拥挤度,确定平衡度;
当平衡度大于设定的阈值时,蚂蚁不更新信息素;
7当蚂蚁更新信息素,保存本次迭代的最优路径,进入下一次迭代;
8若当前迭代次数达到最大迭代次数,则结束,比较每次迭代得到的路径,以其中的最短路径作为路径规划结果。
具体的:
根据非道路机械的实际施工作业环境构建栅格地图,将存在障碍物不可通行的栅格设置为障碍栅格,其余栅格则为可通行栅格。
采用改进后的蚁群算法对栅格地图进行路径规划,步骤如下:
(1)参数初始化。包括蚂蚁数量ant=80、信息素重要程度因子α=1、启发函数重要程度因子β=8、信息素τ
(2)构建禁忌表,将起点栅格及障碍栅格加入禁忌表。蚂蚁走过的节点会加入禁忌表,避免蚂蚁走过相同节点。
(3)确定下一步可转移节点,可转移节点即为与当前栅格相邻且未加入禁忌表的节点。
(4)若可转移节点为零,代表该蚂蚁已经无法继续行走,觅食停止,路径长设置为0。若可转移节点不为零,以下式计算从区域i转移到区域j的转移概率。计算所有可转移节点的转移概率,以轮盘赌的方法确定蚂蚁下一步转移的栅格,并将转移后的栅格加入禁忌表。
(5)记录转移后增加的路径长及转移后的路径,若转移后的节点是终点栅格,则该蚂蚁完成本次迭代的路径规划。若转移后的节点不是终点栅格,则重复确定下一步可转移节点进行第(3)步与第(4)步计算过程。
(6)所有蚂蚁完成路径规划后,通过免疫平衡算子确定该蚂蚁能否更新信息素。首先计算不同蚂蚁对应路径之间的亲和度,公式如下:
其中aff(ant
蚂蚁间的相似度定义为:
若蚂蚁亲和度高于相似度阈值,则视为相似蚂蚁,相似度阈值thv1设置为0.8。相似蚂蚁数占蚂蚁种群的比例即位蚂蚁拥挤度,拥挤度计算公式如下:
其中den(antn)代表第n只蚂蚁的拥挤度。
免疫平衡算子综合考虑路径长度及蚂蚁拥挤度,路径越长,平衡度越高,蚂蚁拥挤度越高,平衡度越高。平衡度高于阈值,则该蚂蚁不更新信息素。本实施例所设计路径规划问题的免疫平衡算子公式如下:
其中equ
当平衡度大于免疫平衡算子的阈值时,蚂蚁不更新信息素,本实施例将阈值thv2设置为0.3。
(7)以未被免疫平衡算子抑制的蚂蚁更新信息素。
其中ρ为信息素挥发系数,len为路径长度,Δτ
(7)记录本次迭代最优路径,进入下一次迭代。
(8)若当前迭代次数达到最大迭代次数,计算结束。比较每次迭代所得路径,以其中最短路径作为路径规划结果。
利用上述改进的蚁群算法对非道路机械施工作业形成的栅格地图进行路径寻优,经多次迭代得到一条从初始栅格到目标栅格的可行路径。
实施例二:
实现上述方法的系统,包括:
地图模块,被配置为:构建栅格地图并初始化,将起点栅格、障碍栅格和蚂蚁走过的节点加入禁忌表,其中,蚂蚁为工程机械;
转移节点更新模块,被配置为:将与当前栅格相邻且未加入禁忌表的节点作为下一步可转移的节点,根据可转移节点的数量确定蚂蚁下一步转移的栅格,并将转移后的栅格加入禁忌表;
路径保存模块,被配置为:保存转移后增加的路径长及转移后的路径,若转移后的节点是终点栅格,则完成本次迭代的路径规划;若不是终点栅格,则重复执行上一步骤确定下一步可转移节点;
路径输出模块,被配置为:所有蚂蚁完成路径规划后,根据蚂蚁能否更新信息素的状态,确定保存本次迭代的最优路径或进入下一次迭代;比较每次迭代得到的路径,以其中的最短路径作为路径规划结果。
本实施例中:
利用上述改进的蚁群算法对非道路机械施工作业形成的栅格地图进行路径寻优,经多次迭代得到一条从初始栅格到目标栅格的可行路径。
实施例三:
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的作业路径规划方法中的步骤。
实施例四:
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的作业路径规划方法中的步骤。
以上实施例二至四中涉及的各步骤或模块与实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 基于改进蚁群算法的收获机器人作业路径规划方法
- 基于改进蚁群算法的收获机器人作业路径规划方法