一种基于改进蚁群算法的叉车路径规划方法及系统

文档序号:28691609发布日期:2022-01-29 11:34阅读:136来源:国知局
一种基于改进蚁群算法的叉车路径规划方法及系统

1.本发明属于agv路径规划技术领域,涉及一种基于改进蚁群算法的叉车路径规划方法及系统。


背景技术:

2.现代工业生产自动化程度的提高日新月异,自动导航叉车简agv,自动引导车辆作为智能工厂和智能物流系统的关键设备之一,便于实施高效的生产管理,路径规划是agv智能的关键技术之一。路径规划是在一个给定障碍环境中,根据一些优化标准(如最短路径、最短时间,等等),在其工作空间找到一个起点,专注于最无碰撞路径,一个好的路径规划算法不仅可以提高自动化生产的效率,同时也能保证生产设备的利用率,也是自主导航和智能避障的重要保证。针对目前的路径规划问题,国内外专家学者提出了不同的解决方案,如蚁群算法、粒子群优化算法、模拟退火算法和遗传算法,算法各有优缺点,而有的算法迭代速度容易陷入局部最优,有的算法不易陷入局部最优,但其搜索效率相对较低。
3.现有的路径规划算法主要有:dijkstra算法、a*算法、d*路径搜索算法、prm、rrt路径规划算法和人工势场法等。dijkstra算法是较早的路径规划算法,是一种经典的广度优先状态空间搜索算法,即从初始点开始逐层搜索整个自由空间,直到到达目标点为止。dijkstra算法在规划过程中进行了大量无用的计算。a*算法在dijkstra算法中增加了启发式,减少了大量不必要的搜索,a*算法在移动机器人导航中得到了广泛的应用,虽然a*有效地减少了规划过程中不必要的搜索量,但仍未能区分不同范围内机器人导航的路径要求,造成资源的浪费和规划频率的提高困难。d*路径搜索算法是一种启发式路径搜索算法,适用于未知的周边环境或周边环境的动态变化,但是在离线路径规划时,d*路径搜索算法采用相似的方法一步一步的扩张等势线遍历地图节点从目标点,导致一个更大的搜索范围和搜索效率低,尤其是当搜索地图面积较大,这个问题变得更加突出。rrt路径规划算法是一种在规划空间中连续生长随机树的方法,rrt算法通过在随机方向上快速展开随机树,可以快速完成复杂空间中的规划,但在rrt展开过程中,随机树的生长方向更加随机,导致搜索效率低,收敛速度慢;另外,rrt在动态环境中,每次规划的结果可能会不同,无法形成稳定的路径。人工势场法通过在障碍物和目标点上分别加入排斥机器人和吸引机器人,在势差的引导下,机器人可以避开障碍物,到达目标点,但是人工势场法在某些情况下会陷入局部最小陷阱,导致无法完成规划任务,不稳定。
4.现有技术中,公布号为cn111289007a、公布日期为2020年06月16日的中国发明专利申请《基于改进蚁群算法的泊车agv路径规划方法》为泊车agv搜索提供一条从起点到目标点的时间最优路径,确保agv系统在较短时间内准确、快速地完成车辆存取、停放任务;但是该文献涉及的蚁群算法在路径规划中容易陷入局部最优、早期路径有效性差,蚁群算法存在搜索精度、效率以及路径规划不准确的问题。


技术实现要素:

5.本发明目的在于如何采用栅格处理法以及首尾对向搜索策略,提高路径规划的准确度以及传统蚁群算法的搜索精度、效率。
6.本发明是通过以下技术方案解决上述技术问题的:
7.一种基于改进蚁群算法的叉车路径规划方法,包括以下步骤:
8.s1、采用栅格法将叉车的工作环境划分为多个单元栅格,模糊处理障碍物边界信息,从而建立叉车在工作环境中的栅格模型;
9.s2、将障碍物占据整个单元栅格的定义为障碍栅格,将障碍物部分占据单元栅格的进行柔性模糊膨化处理,处理后将其视为障碍栅格;
10.s3、将障碍栅格部落密度函数的极大值定义为障碍栅格部落密度中心,将障碍栅格部落密度中心所对应的障碍栅格部落中的样本从障碍栅格位置集合d中删除,重复上述删除操作直到集合d为空集,得到在地图模型中的k个障碍栅格部落密度中心集合a={a1,a2,a3...ak};
11.s4、根据集合a={a1,a2,a3...ak}设定k个栅格部落p={p1,p2,p3,...,pr,...,pk},定义疏密度函数,更新部落密度中心;
12.s5、初始化两组蚁群e、f,设整个蚁群蚂蚁的数量为m对蚂蚁,ρ0为初始信息素挥发系数,信息素浓度h和最大迭代次数y
max
,设定的迭代次数将迭代次数置为0,对两组蚁群进行配对,计算每只蚂蚁选择下一节点的概率;
13.s6、根据启发函数,采用首尾对向搜索策略,达到搜索结束条件时,计算同对中两只蚂蚁的路径长度l
e0
和l
f0
,l=l
e0
+l
f0
,为本次可行的首尾对象搜索路径最优解;当所有的m对蚂蚁全部搜索完毕,更新全局路径的信息素;判断当前迭代次数y是否达到最大迭代次数,是则结束算法并输出最优路径,否则迭代次数y=y+1并返回步骤s5。
14.本发明的技术方案利用栅格法模糊处理障碍物边界信息,定义视野范围栅格,障碍栅格;定义栅格部落密度中心,部落密度函数,栅格样本部落密度集,定义疏密度函数来量化描述地图复杂度;采用的新颖的栅格处理方法和算法策略提高了路径规划准确度;采用首尾对向搜索策略,考虑初始点、当前节点、下一节点、目标点和终点的关系来改进设计启发函数,考虑初始点和终点的位置改进信息素挥发系数,与传统蚁群算法相比显著减小了机器人的移动时间,提高了搜索精度和搜索效率。
15.作为本发明技术方案的进一步改进,步骤s3中所述的障碍栅格部落密度函数的公式如下:
[0016][0017]
式中,r为部落密度圆的半径为集合d平均样本距离,若障碍栅格xi与xj间的欧式距离小于部落密度圆半径,则判定样本点xj存在于该样本圆内,记为1,否则记为0。
[0018]
作为本发明技术方案的进一步改进,所述的集合d平均样本距离的公式为:
[0019][0020]
其中,d(xi,xj)为每两个栅格样本xi,xj之间的欧式距离,其中i,j=1,2,3,4,...,
n。
[0021]
作为本发明技术方案的进一步改进,步骤s4中所述的疏密度函数的公式为:
[0022][0023]
其中,mr为栅格部落pr中栅格总数,nr为栅格部落pr中样本点数;疏密度函数越小,说明节点在其所属栅格部落的紧密度越小,即障碍栅格密集度小,越稀疏,即该部落连续为0的栅格越多,拐点越少,叉车更易通过。
[0024]
作为本发明技术方案的进一步改进,步骤s5中所述的计算每只蚂蚁选择下一节点的概率的公式为:
[0025][0026]
式中,η
ij
(t)为启发函数,反映了从节点i运动到节点j的可能性;allow为蚂蚁n未访问的节点,α为信息素浓度因子,α值越高,则信息素浓度作用性越强;β为启发函数权值因子,β值越高,则启发函数作用性越强,蚂蚁n运动到距离短的节点可能性越高,栅格部落疏密度r反映了路径上经过节点复杂度,r值越小,部落越稀疏,蚂蚁n从i节点运动到j节点概率越大。
[0027]
作为本发明技术方案的进一步改进,步骤s6中所述的启发函数的公式为:
[0028][0029]
其中,d
ij
是当前节点i到下一节点j的距离,d
jt
是下一节点j到目标节点t的距离,d
si
为初始点s到当前节点i的距离,d
sg
为初始点s到终点g的距离,当d
jt
越小,节点j被选择的概率越大,蚂蚁路径偏差减少。
[0030]
作为本发明技术方案的进一步改进,步骤s6中所述的更新全局路径的信息素的公式如下:
[0031]
τ
ij
(t+1)=(1-ρ(y))τ
ij
(t)+δτ
ij
[0032][0033]
其中,δτ
ij
为本次迭代完成后,路径(i,j)上信息素的增量,h为蚂蚁释放的信息素浓度,ln表示蚂蚁n在本次迭代所走的路径长度。
[0034]
一种基于改进蚁群算法的叉车路径规划系统,包括:栅格模型建立模块,柔性模糊膨化处理模块,障碍栅格部落密度中心集合获取模块,部落密度中心更新模块,蚂蚁算法更新规划模块;
[0035]
所述的栅格模型建立模块用于采用栅格法将叉车的工作环境划分为多个单元栅格,模糊处理障碍物边界信息,从而建立叉车在工作环境中的栅格模型;
[0036]
所述的柔性模糊膨化处理模块用于将障碍物占据整个单元栅格的定义为障碍栅格,将障碍物部分占据单元栅格的进行柔性模糊膨化处理,处理后将其视为障碍栅格;
[0037]
所述的障碍栅格部落密度中心集合获取模块用于将障碍栅格部落密度函数的极
大值定义为障碍栅格部落密度中心,将障碍栅格部落密度中心所对应的障碍栅格部落中的样本从障碍栅格位置集合d中删除,重复上述删除操作直到集合d为空集,得到在地图模型中的k个障碍栅格部落密度中心集合a={a1,a2,a3...ak};
[0038]
所述的部落密度中心更新模块用于根据集合a={a1,a2,a3...ak}设定k个栅格部落p={p1,p2,p3,...,pr,...,pk},定义疏密度函数,更新部落密度中心;
[0039]
所述的蚂蚁算法更新规划模块用于初始化两组蚁群e、f,设整个蚁群蚂蚁的数量为m对蚂蚁,ρ0为初始信息素挥发系数,信息素浓度h和最大迭代次数y
max
,设定的迭代次数将迭代次数置为0,对两组蚁群进行配对,计算每只蚂蚁选择下一节点的概率;根据启发函数,采用首尾对向搜索策略,达到搜索结束条件时,计算同对中两只蚂蚁的路径长度l
e0
和l
f0
,l=l
e0
+l
f0
,为本次可行的首尾对象搜索路径最优解;当所有的m对蚂蚁全部搜索完毕,更新全局路径的信息素;判断当前迭代次数y是否达到最大迭代次数,是则结束算法并输出最优路径,否则迭代次数y=y+1并返回。
[0040]
作为本发明技术方案的进一步改进,所述的障碍栅格部落密度函数的公式如下:
[0041][0042]
式中,r为部落密度圆的半径为集合d平均样本距离,若障碍栅格xi与xj间的欧式距离小于部落密度圆半径,则判定样本点xj存在于该样本圆内,记为1,否则记为0;
[0043]
所述的集合d平均样本距离的公式为:
[0044][0045]
其中,d(xi,xj)为每两个栅格样本xi,xj之间的欧式距离,其中i,j=1,2,3,4,...,n。
[0046]
作为本发明技术方案的进一步改进,所述的疏密度函数的公式为:
[0047][0048]
其中,mr为栅格部落pr中栅格总数,nr为栅格部落pr中样本点数;疏密度函数越小,说明节点在其所属栅格部落的紧密度越小,即障碍栅格密集度小,越稀疏,即该部落连续为0的栅格越多,拐点越少,叉车更易通过。
[0049]
本发明的优点在于:
[0050]
本发明的技术方案利用栅格法模糊处理障碍物边界信息,定义视野范围栅格,障碍栅格;定义栅格部落密度中心,部落密度函数,栅格样本部落密度集,定义疏密度函数来量化描述地图复杂度;方案采用的新颖的栅格处理方法和算法策略提高了路径规划准确度;采用首尾对向搜索策略,考虑初始点、当前节点、下一节点、目标点和终点的关系来改进设计启发函数,考虑初始点和终点的位置改进信息素挥发系数,与传统蚁群算法相比显著减小了机器人的移动时间,提高了搜索精度和搜索效率。
附图说明
[0051]
图1是本发明实施例的基于改进蚁群算法的叉车路径规划方法的流程图;
[0052]
图2是本发明实施例的基于改进蚁群算法的叉车路径规划方法的工作现场环境障碍物分布图;
[0053]
图3是本发明实施例的基于改进蚁群算法的叉车路径规划方法的障碍物分布膨化处理后的示意图。
具体实施方式
[0054]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0055]
下面结合说明书附图以及具体的实施例对本发明的技术方案作进一步描述:
[0056]
实施例一
[0057]
如图1所示,一种基于改进蚁群算法的叉车路径规划方法,包括以下步骤:
[0058]
(1)考虑叉车的工作的状态和环境因素,采用栅格法对地图环境进行建模。利用栅格法模糊处理障碍物边界信息,从而建立叉车在工厂车间等工作环境中的地图模型。
[0059]
(2)对栅格内的障碍物进行分析,定义视野范围栅格,障碍栅格。对障碍物占据单元栅格的视为障碍栅格,对部分占据单元栅格的进行柔性模糊膨化处理,即在划分栅格单元内存在障碍物,把整个栅格单元视为障碍栅格。
[0060]
所述步骤(2)具体包括:
[0061]
考虑叉车的工作的状态和环境因素,结合效仿蚁群等生物神经网络的信息处理方法,从而建立叉车运行环境模型;将叉车工作环境进行栅格化划分处理,利用栅格法模糊处理障碍物边界信息,轨迹的基本单元即单个栅格。对栅格内的障碍物进行分析,对部分占据单元栅格的进行柔性模糊膨化处理,即在划分栅格单元内存在障碍物,把整个栅格单元视为障碍栅格。如图2为工作现场环境障碍物分布,膨化处理后如图3所示。
[0062]
(3)将栅格模型中n个障碍栅格命名为x1,x2,x3,x4,...,xn,设定平均样本距离公式,定义障碍栅格部落中心,定义部落密度函数,栅格样本部落密度集。
[0063]
将栅格模型中n个障碍栅格的位置命名为xi=(x
i1
,x
i2
),x
i1
与x
i2
为障碍栅格横坐标与纵坐标,则障碍栅格位置集合d={x1,x2,x3,x4,...,xn},每两个栅格样本xi,xj之间的欧式距离为d(xi,xj),其中i或j=1,2,3

n;
[0064]
(3a)集合d的平均样本距离为:
[0065]
(3b)寻找障碍栅格部落中心,定义障碍栅格部落密度函数:
[0066][0067]
式中,r为部落密度圆的半径若障碍栅格xi与xj间的欧式距离小于障碍栅格密度圆半径,则判定样本点xj在圆内,记为1,否则记为0。
[0068]
(3c)定义栅格样本部落密度集:
[0069]
依据(3b)、(3c),我们寻找部落密度集中栅格,并将部落密度极大值定义为部落密度中心a1,将a1点所对应的部落中的样本从障碍栅格位置集合d中删除;重复上述步骤,直到集合d为空集。则我们得到在栅格地图中的k个部落密度中心a={a1,a2,a3...ak}。
[0070]
(4)以k个部落密度中心a={a1,a2,a3...ak},设定k个栅格部落{p1,p2,p3,...,pr,...,pk},定义疏密度函数,更新部落密度中心。
[0071]
所述步骤(4)具体包括:
[0072]
以k个部落密度中心a={a1,a2,a3...ak},设定k个栅格部落{p1,p2,p3,...,pr,...,pk},其中r=1,2,3,...,k。样本点xi属于栅格部落pr中距离部落密度中心ar最近的点。
[0073]
(4a)其余各个样本点到k个部落密度中心的欧氏距离为:
[0074][0075]
其中,(a
r1
,a
r2
)为部落密度中心ar坐标。
[0076]
(4b)设nr为栅格部落pr中样本点数,更新第r个栅格部落的部落密度中心ar为:
[0077][0078]
(4c)设δ为障碍栅格xi与部落密度中心ar误差平方和:
[0079]
(4d)设定mr为栅格部落pr中栅格总数,又已知nr为栅格部落pr中样本点数,定义疏密度函数:
[0080]
重复计算式(4a)、(4b)、(4c),直到式(4c)保持不变,确定最终k个栅格部落,栅格部落疏密度r反映了栅格模型部落化处理后叉车行驶地图中的障碍紧密稀疏程度。(4d)中的疏密度函数越小,说明节点在其所属栅格部落的紧密度越小,即障碍栅格密集度小,越稀疏,即该部落连续为0的栅格越多,拐点少,叉车更易通过。
[0081]
(5)初始化两组蚁群e、f,设整个蚁群蚂蚁的数量为m对蚂蚁,α为信息素浓度因子,β为启发函数权值因子。ρ0为初始信息素挥发系数,信息素浓度h和最大迭代次数y
max
,设定的迭代次数将迭代次数置为0,对两组蚁群进行配对。每只蚂蚁按照式(5b)计算下一节点的选择概率。
[0082]
所述步骤(5)具体包括:
[0083]
在栅格模糊处理地图环境中,考虑反映栅格模型部落化处理后叉车行驶地图中的障碍紧密稀疏程度,优化蚂蚁路径搜寻方向,提高蚂蚁的方向搜索精度;考虑栅格部落疏密度r,使蚂蚁在栅格部落较稀疏区域搜寻路径,减少拐点,简化路径行进方式。具体步骤如下:
[0084]
(5a)设e,f两组蚁群,e、f每组蚁群分别选择一只例如e0,f0组合,两两进行首尾对向搜索,以一对蚂蚁为单位进行路径双向搜索,模拟在蚁群自然环境中,蚂蚁向食源搜索,和从食源向巢穴搜索,即蚂蚁e0向f0搜索,同组f0向e0搜索。若e0,f0经过节点交集非空,则成功得到一条首尾对向路径,停止搜索。l=l
e0
+l
f0
为可行的首尾对象搜索路径。
[0085]
(5b)设整个蚁群蚂蚁的数量为m对,在t时刻,节点i与节点j连接路径上的信息素
浓度设为τ
ij(
t)。初始状态下,各个部落栅格路径上初始信息素浓度为τ
ij
(t)=τ0。蚂蚁n在t时刻从节点i运动到节点j概率为:
[0086][0087]
式中,η
ij
(t)为启发函数,反映了从节点i运动到节点j的可能性,allow为蚂蚁n未访问的节点,α为信息素浓度因子,α值越高,则信息素浓度作用性越强,β为启发函数权值因子,β值越高,则启发函数作用性越强,蚂蚁n运动到距离短的节点可能性越高。栅格部落疏密度r反映了路径上经过节点复杂度,由(5b)的公式可得,r值越小,部落越稀疏,蚂蚁n从i节点运动到j节点概率越大。
[0088]
(6)设计启发函数,采用首尾对向搜索策略,达到搜索结束条件时,计算同对中两只蚂蚁的路径长度l
e0
和l
f0
,l=l
e0
+l
f0
为本次可行的首尾对象搜索路径最优解。当所有的m对蚂蚁全部搜索完毕,由式(6c)更新全局路径的信息素。判断当前迭代次数y是否达到最大迭代次数,是则结束算法并输出最优路径;否则迭代次数y=y+1并返回步骤(5)。
[0089]
所述步骤(6)具体包括:
[0090]
定义每只蚂蚁目标节点为同对蚂蚁中另一只蚂蚁的当前节点,如蚂蚁e0的目标节点为蚂蚁f0的当前节点t
f0
点。考虑初始点、当前节点、下一节点、目标点和终点的关系。
[0091]
(6a)设计启发函数为:
[0092][0093]
其中,d
ij
是当前节点i到下一节点j的距离,d
jt
是下一节点j到目标节点t的距离,d
si
为初始点s到当前节点i的距离,d
sg
为初始点s到终点g的距离。当d
jt
越小,节点j被选择的概率越大,蚂蚁路径偏差减少。
[0094]
(6b)定义自适应信息素挥发因子:
[0095][0096]
经过迭代后服从正态分布,设定μ=0时取到峰值,使得信息素挥发系数逐渐减小。ρ0为初始信息素挥发系数,y为目前迭代次数,为设定迭代次数。在初始阶段ρ0取较大值,信息素正反馈强度高,当迭代次数达到ρ(y)逐渐减小,负反馈减弱,路径上信息素增加,信息素浓度作用性强。
[0097]
(6c)蚁群每完成一次迭代后,对各节点之间的路径信息素浓度进行更新,由(6b)中定义自适应信息素的更新函数为:
[0098]
τ
ij
(t+1)=(1-ρ(y))τ
ij
(t)+δτ
ij
[0099][0100]
其中,δτ
ij
为本次迭代完成后,路径(i,j)上信息素的增量,h为蚂蚁释放的信息素
浓度,ln表示蚂蚁n在本次迭代所走的路径长度。
[0101]
表1传统蚁群算法与本发明的性能比较示意图
[0102]
性能传统蚁群算法改进首尾对向蚁群算法最优路径长度/m32.2228.37迭代次数8928
[0103]
本发明设计的一种基于改进蚁群算法的叉车路径规划方法(iapp)考虑叉车的工作的状态和环境因素,结合效仿蚁群等生物神经网络的信息处理方法,利用栅格法模糊处理障碍物边界信息,从而建立叉车在工厂车间等工作环境中的地图模型;利用改进蚁群算法快速寻找最佳规划路径,有利于使栅格法规划下的路径长度得到缩小、有利于路径规划的整体效率提升,定义视野范围栅格,障碍栅格。本发明采用的新颖的栅格处理方法和算法策略提高了路径规划准确度,定义栅格部落中心,定义部落密度函数,初始化两组蚁群e、f,设计启发函数,采用首尾对向搜索策略,当所有的m对蚂蚁全部搜索完毕,由式(6c)更新全局路径的信息素。判断当前迭代次数y是否达到最大迭代次数,是则结束算法并输出最优路径;否则迭代次数y=y+1并返回步骤(5),本发明对最优路径的选择具有一定优越性,本发明显示了ippa在路径规划方案选择上的优势,是一种新型叉车路径选择规划方法。优点在于:第一,利用改进蚁群算法快速寻找最佳规划路径,有利于使栅格法规划下的路径长度得到缩小、有利于路径规划的整体效率提升,第二采用的新颖的栅格处理方法和算法策略提高了路径规划准确度,定义栅格部落中心,定义部落密度函数,采用首尾对向搜索策略,对最优路径的选择具有一定优越性。
[0104]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1