CN113848919A - 一种基于蚁群算法的室内agv路径规划方法 - Google Patents
一种基于蚁群算法的室内agv路径规划方法 Download PDFInfo
- Publication number
- CN113848919A CN113848919A CN202111149575.6A CN202111149575A CN113848919A CN 113848919 A CN113848919 A CN 113848919A CN 202111149575 A CN202111149575 A CN 202111149575A CN 113848919 A CN113848919 A CN 113848919A
- Authority
- CN
- China
- Prior art keywords
- ants
- path
- algorithm
- agv
- pheromone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 55
- 241000257303 Hymenoptera Species 0.000 claims abstract description 86
- 239000003016 pheromone Substances 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 20
- 230000007704 transition Effects 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 45
- 230000003044 adaptive effect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 8
- MYVIATVLJGTBFV-UHFFFAOYSA-M thiamine(1+) chloride Chemical compound [Cl-].CC1=C(CCO)SC=[N+]1CC1=CN=C(C)N=C1N MYVIATVLJGTBFV-UHFFFAOYSA-M 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 claims description 5
- 238000009499 grossing Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 4
- 230000004888 barrier function Effects 0.000 claims description 4
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 2
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 13
- 238000004088 simulation Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000007547 defect Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000005299 abrasion Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 241000287127 Passeridae Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 235000001968 nicotinic acid Nutrition 0.000 description 1
- 238000000059 patterning Methods 0.000 description 1
- 230000009024 positive feedback mechanism Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Feedback Control In General (AREA)
Abstract
本发明提供了一种基于蚁群算法的室内AGV路径规划方法。本发明通过引用距离函数和方向函数作为启发因子改进启发函数,增加算法的启发性,引导蚂蚁向着较优的方向和位置节点搜索,有效减少在AGV移动过程中可能出现的尖锐转弯,提升路径质量。而且,本发明还通过改进状态转移概率和自适应参数调整策略,在不断迭代的过程中,算法的控制参数不断调整和变化。再有,本发明基于差异化‑分级信息素更新改进信息素更新方法。将改进后的蚁群算法应用到AGV室内路径规划中,可以使AGV快速地搜索得到实际环境中一条起始节点到目标节点的无碰撞的较优路径,从而提升运输效率,减少人工运输成本。
Description
技术领域
本发明涉及机器人技术应用领域,具体地说是一种基于蚁群算法的室内AGV路径规划方法。
背景技术
路径规划是移动机器人导航发展的关键技术之一,在很多领域都有着非常重要的应用,比如自动驾驶、AGV物流仓储、地面移动机器人导航等等。其中,AGV的路径规划技术实际上是指基于某个或者多个参数(如最小能耗、最短路径、最短运行时间等)指标,在AGV自由移动空间内找到一条从起始节点到目标地点的安全路径。其本质是在各种约束条件下获得最优或可行解的问题。路径规划结果的优劣会直观地影响AGV任务的实时性和结果的质量。
路径规划最早始于20世纪60年代,路径规划的基础是环境模型的建立,它直接影响算法的选择。环境建模主要包括网格(栅格)模型、几何模型、拓扑模型。其中栅格模型被广泛利用。但是对于大规模环境来说,过多的栅格会造成内存变多,计算量大。路径规划算法的早期研究主要是针对全局静态的规划,比如可视图法、A*算法。但是随着人工智能的不断发展,基于仿生学的智能算法的优越性逐渐体现出来,比如蚁群算法、粒子群算法、麻雀算法。对于复杂和大规模的地图,早期的路径规划算法往往不能得到较好的求解效果。随着人工智能的发展,越来越多的人集中于智能仿生算法在路径规划上的研究。
蚁群算法具有易与其他规划算法结合、鲁棒性强、正反馈、具有启发式性等特点。蚁群算法是一种寻找优化路径的概率算法,它是模仿蚂蚁寻找食物的过程,蚂蚁在寻找食物的过程中会释放一种可称之为信息素的物质,路径较短的蚂蚁会释放更多的信息素,随着时间的推进,较短的路径会积累越来越多的信息素,那么选择该路径的蚂蚁也越来越多,最终在正反馈的机制下寻找出最优路径。它从产生之日起就成为一个热门话题,研究者广泛运用改进的蚁群优化算法解决各种复杂的组合优化问题,作为群智能算法的一种,最早是被用于解决TSP问题的,同样的,也被成功证明能够解决路径规划问题。但是作为一种概率优化的智能算法,和其他的智能算法一样,其具有一些明显的缺点,比如:收敛速度慢、容易出现死锁现象和搜索效率低,尤其在大规模复杂地图中算法搜索效率较差等问题。
发明内容
本发明的目的就是提供一种基于蚁群算法的室内AGV路径规划方法,以解决传统蚁群算法致使全局搜索效率低、收敛速度慢、规划的路径转弯过多且不够平滑等的缺点。
本发明是这样实现的:一种基于蚁群算法的室内AGV路径规划方法,包括如下步骤:
a、构建栅格地图,为AGV设定好起始节点和目标节点。
b、初始化蚁群算法各项参数;蚁群算法各项参数包括:蚂蚁数量m,最大迭代次数NC,信息素重要程度因子α,信息素初始浓度τij(0),启发函数重要因子最大值β_max和最小值β_min,信息素挥发因子ρ,自适应状态转移概率选择参数q0,信息素强度Q,精英蚂蚁(包括一级蚂蚁和二级蚂蚁)个数ε。
c、将蚂蚁放在起始节点上。
d、计算改进的启发函数,并按照改进的自适应伪随机概率选择下一节点,改进的自适应伪随机概率转移规则如下面公式所示:
其中,τij(t)为栅格节点(i,j)间的信息素浓度,ηij(t)为启发函数,allowed为AGV下一待选节点的集合;α是信息素重要程度因子,β为启发函数重要程度影响因子;
β的计算公式如下:
β=β_max-(β_max-β_min)×(N/NC)
其中,N是当前迭代次数,NC是最大迭代次数,β_max是启发函数重要因子最大值,β_min是启发函数重要因子最小值;
改进的启发函数ηij(t)的计算公式如下:
其中,(xe,ye)表示目标节点的坐标,(xj,yj)表示下一节点的坐标;Cij为方向因子,ψ为上一节点与当前节点之间的直线和当前节点与下一节点之间的直线组成的夹角;a和b分别为调整方向和距离的影响程度参数,且a+b=1;
q0的计算公式如下:
q0初始值为0.9,自适应状态转移概率选择参数q0调整确定性和随机选择下一移动节点的比例。
e、判断当前蚂蚁是否到达目标节点,如果是则执行步骤f,否则执行步骤d。
f、判断是否达到最大蚂蚁数;如果是,则执行步骤g;否则蚂蚁数加1,执行步骤c。
g、记录本次迭代过程中一级蚂蚁找到的最优路径长度、二级蚂蚁找到的较优路径长度,以及普通蚂蚁找到的最差路径长度,同时计算出整个蚁群中所有存活蚂蚁找到的路径均值,基于改进差异化-分级蚂蚁更新策略对信息素进行动态调整。
所述一级蚂蚁指当前迭代过程中找到最优路径长度的蚂蚁,所述二级蚂蚁指当前迭代过程中找到较优路径长度的蚂蚁,除一级蚂蚁和二级蚂蚁之外的其他蚂蚁均为普通蚂蚁;所述存活蚂蚁指能从起始节点到达目标节点的蚂蚁。
基于改进差异化-分级蚂蚁更新策略对信息素进行动态调整,具体公式如下:
τij(t+1)=(1-ρ)τij(t)+ρΔτij+Δτij′-Δτij″
其中,Lk为第k只蚂蚁找到的路径长度,Lb为本次迭代的最优路径长度,Lw为本次迭代的最差路径长度,La为本次迭代的平均路径长度;Lgb为全局最优路径长度,Lgw为全局最差路径长度。
h、判断是否达到了最大迭代次数,如果是则执行步骤i;如果否,则使迭代次数加1,然后执行步骤c。
i、在最优路径的基础上,利用三次均匀B样条曲线进行路径平滑,输出最终路径。
步骤i中,利用三次均匀B样条曲线进行路径平滑,具体计算公式如下:
Pt为给定n+1个控制点Pt(i=0,1,2,……,n)的坐标,Fl,n为B样条基函数;
Fl,n的表达式如下:
t为自变量。
当n=3时,三次B样条曲线的基函数如下所示:
步骤a中构建栅格地图,具体包括:利用AGV车载Kinect摄像头获取小车周围的障碍物位置信息,生成环境深度图;利用图像处理技术对得到的环境深度图进行二值化,之后进行斑点分析,分离出占用栅格地图的前景和背景;对障碍物进行膨胀化,再预留一安全距离,所述安全距离为机器人的半径,将AGV看作运行空间中的一个质点。
栅格序号与坐标可用如下公式进行转换:
其中,ceil为取整函数,mod为取余函数,d′为栅格边长,pos为栅格序号,MM为地图规模,S为每行或每列的栅格个数。
本发明尤其针对大规模地图和复杂地图,传统的蚁群算法由于本身的缺点导致蚂蚁容易出现死锁和停滞现象,难以找到最优路径,而本发明提出一种基于改进差异化—分级蚁群算法的AGV全局路径规划方法,通过将改进的蚁群算法应用到AGV室内路径规划中,可以使AGV快速地搜索得到实际环境中一条起始节点到目标节点的无碰撞的较优路径,从而提升运输效率,减少人工运输成本。
本发明与现有技术相比,有益效果在于:
(1)通过引用距离函数和方向函数作为启发因子改进启发函数,增加算法的启发性,引导蚂蚁向着较优的方向和位置节点搜索,有效减少在AGV移动过程中可能出现的尖锐转弯,提升路径质量。
(2)通过改进状态转移概率和自适应参数调整策略,在不断迭代的过程中,算法的控制参数不断调整和变化,算法前期启发函数重要程度因子较大以增加算法的收敛速度,后期随着启发函数重要程度因子不断减小,增加算法探索其他较优路径的可能性,从而达到降低陷入局部最优解的概率,减小算法参数选取对算法效率的干扰的目的。
(3)基于差异化-分级信息素更新改进信息素更新方法,使得算法在不同规模的地图中都具有较快的收敛速度的同时也保持着较优解,提高了算法的正反馈性,有效避免算法在大规模地图中算法停滞或者由于某条路径上的信息素过大而陷入局部最优解。最后,在得到最优路径的基础上采用三次均匀B样条对路径进行平滑,路径长度进一步缩短,减少因转弯的不连续性造成对车身硬件的磨损。
(4)传统的智能算法在实际实用中较少,本发明将改进的算法运用到AGV中,可以在实际环境中较快地得到一条较优路径,验证了其在实际应用中的有效性。
附图说明
图1为本发明方法流程图。
图2为本发明AGV车载Kinenct摄像头获取深度数据原理示意图。
图3为本发明在实际环境中得到的机器人和障碍物的占用栅格图。
图4为本发明在实际环境中经图像处理技术得到的二维地图。
图5为本发明仿真所需的栅格图。
图6为本发明方向因子转角示意图。
图7为传统蚁群算法在20*20复杂环境下的路径规划图。
图8为本发明实验一在20*20复杂环境下的路径规划图。
图9为本发明实验二在20*20复杂环境下的路径规划图。
图10为本发明实验三在20*20复杂环境下的路径规划图。
图11为本发明改进后算法(在实验三基础上进行平滑处理后)在20*20复杂环境下的路径规划图。
图12为本发明改进后算法在20*20复杂环境下的迭代收敛对比图。
图13为传统蚁群算法在50*50复杂环境下的路径规划图。
图14为本发明在50*50复杂环境下的路径规划图。
图15为本发明在50*50复杂环境下的迭代收敛图。
图16-图19均为本发明在70*70实际环境下的路径规划实例图。
图20为本发明图19所对应的迭代收敛图。
具体实施方式
结合附图和几个具体实施例,进一步详细说明本发明的可行性和优越性,此处描述仅解释本发明,并不用于限定本发明。本发明的主要步骤如图1所示:
步骤1:构建仿真栅格图和实际环境二维地图,设定起始节点和目标节点。
实际环境构建地图方法具体如下:Kinect传感器中的红外摄像头分辨率为640*480,能观测到物体的范围为0.5m到5m,如果物体不在范围内,则测到的数据无效。Kinect的视角(field-of-view,FOV)范围为57°。为了方便说明,本发明只使用一排深度图像来进行二维构图,如图2所示:
其中,每个像素的值代表从相机到物体的距离,并映射到对应世界坐标相应的点(x,y),假如要表示出图2中的点P,中心行的第400个像素作为世界坐标,从Kinect传感器接收到的这个像素的值是d,这是点P与摄像机平面的距离,因此px=d,py=Lsin(α)=dtan(α)。角度α可以根据所求的点到行的中心(像素)的距离来计算,并且Kinect传感器的水平视场如下:α=(400-320)×57/640=7.12°,其中320指的是传感器的中心像素。因此,AGV的局部坐标系下,可得py=d tan(7.12°)。
当知道机器人的位置(x,y,θ),就可以用里程计数据映射点P到世界坐标系中的位置,θ为AGV的转向角。因为启动机器人后,里程计数据初始化为0,所创建地图的起始节点就是基于机器人的初始位置。
当机器人围绕一个二维空间运动时,所有的点都可以映射到世界坐标系。这些点可以用来生成覆盖整个区域的占用栅格地图。利用AGV车载Kinect摄像头获取小车周围的障碍物位置信息,能够生成环境的深度图。这些信息,连同机器人底盘的位置和方向,可以用于自主地图构建。为了生成2D地图,本发明将使用从Kinect深度图像接收的平面数据。如图3所示,所有的点都可以映射到世界坐标系下,这些点可以用来通过数据处理生成覆盖整个区域的占用栅格地图,利用摄像机得到的深度信息实现小车与周围环境的定位,如图3所示:
得到包含实际环境的深度信息后,需将其处理为AGV路径规划所需的二维地图。具体步骤为利用图像处理技术对得到的占用栅格地图进行二值化,之后进行斑点分析,分离出占用栅格地图的前景和背景,黑色区域为障碍物,白色区域为自由通行区域,灰色区域为摄像头未探索区域。对于不规则障碍物进行膨胀化,再预留一定的安全距离,其中安全距离设为机器人的半径,进而可将机器人简化为一个质点来处理,提升小车运动的安全性。利用图像处理技术处理后用于AGV路径规划的二维地图如图4所示。
图5为本文在Matlab仿真环境下进行路径规划仿真所需的栅格图。具体是:
采用栅格法进行环境建模。白色栅格代表AGV可行走栅格,黑色栅格代表障碍物栅格,建立二维坐标系。同时对机器人的运行环境进行如下处理:
(1)对障碍物进行膨胀化处理,将AGV看作运行空间中的一个质点。
(2)AGV在移动过程中匀速行驶,不存在加减速情况。
(3)地图一旦建立完成不再随着AGV移动而发生变化,即本发明适用于全局路径规划。
各节点在坐标系中都有相对应的序号,取其中心点坐标为该节点的坐标。栅格序号与坐标可用公式进行转换:
其中,ceil为取整函数,mod为取余函数,d′为栅格边长,pos为栅格序号,MM为地图规模,S为每行或每列的栅格个数。
步骤二:初始化算法参数:包括蚂蚁数量m取100,最大迭代次数NC取100,信息素重要程度因子α取1,启发函数重要因子最大值β_max、最小值β_min分别取0.85和0.25,信息素挥发因子ρ取0.3,伪概率初始值q0取0.9,信息素初始浓度τij(0)取8,信息素强度Q取1,精英蚂蚁(包括一级蚁和二级蚁)个数ε取5,调整方向的影响程度参数a为0.25,调整距离的影响程度参数b为0.75。
步骤三:将所有蚂蚁放在起始节点上,将起始节点添加到禁忌表中。
步骤四:计算改进的启发函数,并按照改进的自适应伪随机概率选择下一位置节点(简称下一节点),将当前节点加入禁忌表中,更新禁忌表。
启发函数的作用在于使得蚁群算法能引导蚂蚁找到高质量的移动节点。传统的蚁群算法仅仅将当前节点到下一节点的倒数作为唯一启发因子,而相邻位置节点的差异很小,使得目标节点的启发性信息很弱。尤其在栅格较大的大规模环境地图中,传统的启发函数的引导作用很差,这也是导致算法的收敛速度慢,搜索效率差的主要原因之一。本发明基于当前节点到目标节点的距离设计新的启发距离因子作为启发距离函数,以增加其相邻节点之间的启发性。同时,考虑到避免路径产生尖锐转弯,减少转弯次数,提高路径质量。本文以AGV的当前位置节点的上一位置节点与当前位置节点的直线和当前节点与下一待选节点的直线组成的夹角作为方向启发因子,并在分别对距离启发因子和方向启发因子施加不同的权重系数以调整其的影响程度。所述步骤四中改进的启发函数为:
其中,a和b分别为调整方向和距离的影响程度参数,且a+b=1。dje为距离因子,(xe,ye)表示目标节点的坐标,(xj,yj)表示下一选择节点的坐标。Cij为方向因子(i为当前节点,j表示下一节点),公式为:
方向因子示意如图6所示:
其中ψ为当前位置节点的上一位置节点与当前位置节点的直线和当前节点与下一待选节点的直线组成的夹角。由方向因子函数可知,当ψ角较大时,方向因子的值较小,因此,该节点被选择的概率更高。当ψ为180°时,三个位置节点为直线,即下一位置节点与当前节点之间没有拐角,此时方向因子的值极大,蚂蚁更趋向于选择这个节点。
采用改进的伪随机状态转移概率策略选择AGV移动的下一位置节点,改进的状态概率转移规则如下面公式所示:
其中,τij(t)为栅格节点(i,j)间的信息素浓度,ηij(t)为启发函数,allowed为AGV下一待选移动节点的集合;α为信息素浓度重要程度影响因子;β为启发函数重要程度影响因子。
本文采用一种新的基于自适应贪婪策略参数调整方法。在不断迭代的过程中,算法的控制参数不断调整和变化,算法前期启发函数重要程度因子较大以增加算法的收敛速度,后期随着启发函数重要程度因子不断减小,增加算法探索其他较优路径的可能性,从而提高算法的全局探索能力,减小算法参数选取对算法效率的干扰。启发式信息重要程度因子将以非线性变化的形式变化,如下公式所示:
β=β_max-(β_max-β_min)×(N/NC)
其中,β_max和β_min分别是启发函数重要程度因子最大值和最小值,根据参数配置可得到的一个合适的范围,NC是最大迭代次数,N是当前迭代次数。
此外,为了提升搜索速度,避免搜索过程中的局部最优问题,添加自适应状态转移选择参数q0调整确定性和随机选择下一移动节点的比例。具体公式如下:
其中,N是当前迭代次数,NC是最大迭代次数,q0起始值为0.9,在算法前期,由于q0的值较大,蚂蚁趋向于选择启发函数和信息素浓度乘积的最大值的路径节点作为下一移动位置节点,这是一种确定性的选择模式。因此,有利于加快算法的收敛速度。相反的,随着迭代次数的增加,q0不断减小,路径选择更加趋向于传统的轮盘赌随机选择模式。增加了路径选择的多样性,进一步增加了算法的全局搜索能力,避免算法陷入局部最优解。
步骤五:判断当前蚂蚁是否到达目标节点,若是则转至下一步骤,否则跳转回到步骤四。
步骤六:蚂蚁个数加1,即:m=m+1,判断是否达到最大蚂蚁数,若是转到下一步骤,否则转到步骤三。
步骤七:记录本次迭代过程中一级蚁找到的最优路径长度和二级蚂蚁找到的较优路径长度,以及普通蚂蚁找到的最差路径长度,同时计算出整个蚁群中所有“存活”蚂蚁(找到从起始节点到目标节点路径的蚂蚁)的路径均值,基于差异化-分级蚂蚁更新策略对信息素进行动态调整。
信息素更新策略就是蚁群算法不断实现正反馈的一个过程,蚁群正是通过这种方式来引导后代的蚂蚁不断收敛得到一条最优的路径。因此,信息素的更新方式对搜索得到的路径质量和解的收敛速度都会产生巨大的影响。在传统的蚁群算法中,每次迭代之后每只蚂蚁根据自己构建路径的长度进行一次信息素更新,当路径长度相差较小时,信息素的差异变得非常小,这是导致算法在复杂和大规模环境下容易陷入局部最优解的主要原因之一。
基于以上分析,为了在加快收敛速度的同时提高解的质量,本发明提出一种基于差异化-分级蚂蚁信息素更新策略。在每次迭代过程中,每只蚂蚁找到的路径质量各不相同,具有一定的差异性,如果每只蚂蚁都对自己找到的路径进行信息素更新,那么尤其在大规模地图中,一些较差路径可能会对后代蚂蚁的搜索产生一定的干扰,不利于最优路径的探索,减弱算法的正反馈性。另一方面,如果只更新最优路径上的信息素,有可能丧失一些较优路径(可能是最优路径)的探索,算法容易陷入局部最优解。因此,基于精英蚂蚁的思想,生物种群中有严格的等级制度,高等级的个体具有更高的优先级,能引导更低级的个体,将蚂蚁进行分级,增大较优蚂蚁搜索得到的信息素,将找到当代最优路径长度的蚂蚁作为一级蚁,找到较优路径的蚂蚁作为二级蚁,其他蚂蚁为普通蚂蚁。根据不同蚂蚁搜索得到的路径长度的差异性,调整其不同路径的信息素增量。增加较优路径的引导,降低较差路径的干扰,从而增加算法的正反馈性,加快算法的收敛速度。在所有蚂蚁都完成一次完整的(起始节点到目标节点)路径构建后,找出本次迭代的最优路径长度Lb和最差路径长度Lw,同时计算出本次迭代所有蚂蚁的平均值路径长度La。采用蚂蚁种群的三种信息特征,充分利用蚂蚁的路径质量信息,调动路径质量的差异性对蚂蚁找到的路径进行信息素更新,信息素更新方式按照如下公式进行:
式中,Lk为第k只蚂蚁找到的路径长度,Q为信息素强度,ρ为信息素挥发因子。
此外,为了使蚂蚁搜索的路径总沿着较优路径的方向进行,基于最优最差蚂蚁思想,对全局最优路径进行鼓励,增加其路径上的信息素量;相反的,对全局最差路径进行惩罚,减少其路径上的信息素量。则最终得到的全局信息素更新规则,如下面公式所示:
τij(t+1)=(1-ρ)τij(t)+ρΔτij+Δτij′-Δτij″
其中,Lgb为全局最优路径长度,Lgw为全局最差路径长度。
基于差异化-分级蚂蚁信息素更新策略动态的更新各路径上的信息素量,对不同质量路径进行差异化信息更新,增加蚁群中较优蚂蚁对后代蚂蚁的引导作用,降低了较差蚂蚁对路径搜索的干扰,使得算法充分利用蚁群种群的特征信息,有效的加快了收敛速度的同时,也保持着很好的全局搜索能力。
步骤八:迭代次数加1,即N=N+1,判断是否达到了最大迭代次数,若是则转到下一步骤,否则转到步骤三。
步骤九:在得到最优路径的基础上,利用三次均匀B样条曲线进行路径平滑,输出最终路径。
在得到最优解的基础上,利用三次均匀B样条对最优路径进行平滑处理,进一步提高路径的平滑性,减少AGV在实际移动过程中因为转弯的不连续性造成对车身硬件的磨损。其表达式为:
Pt为给定n+1控制点Pt(i=0,1,2,……,n)坐标,这些控制点用于定义样条曲线的走向、界限范围,Fl,n为B样条基函数,表示第l个k阶B样条基础,t是自变量。其表达式为:
当n=3时,则三次B样条曲线的基函数被表示为:
为验证上述改进方法的有效性和优越性,本发明先利用改进的蚁群算法在MATLAB中进行仿真,然后借助实验平台验证本发明改进的蚁群算法在真实环境中的效果。为减少实验的偶然性,每种算法和改进方案均实验20次。
首先在较为复杂的20*20规模的栅格地图环境中采取梯度对比实验,验证本发明改进算法每一步改进的优点。梯度对比实验具体过程:在传统蚁群算法的基础上依次添加本文算法的改进方案,以此来验证每一步改进方案的有效性。实验一:在传统蚁群算法的基础上添加本文改进的自适应伪概率状态转移和参数动态调整策略;实验二:在实验一的基础上添加本文的改进启发函数;实验三:在实验二的基础上,添加本文提出的基于差异化-分级蚁群信息素更新策略。改进蚁群算法:在实验三得出最优路径的基础上利用三次B样条进行平滑。传统蚁群算法参数为:m为50,NC为100,α为3,β为7,ρ为0.3,Q为1。实验一算法参数为:m为50,NC为100,α为3,β为7,ρ为0.1,Q为1。实验二、实验三和改进蚁群算法的参数一致:m为100,NC为100,α为1,β_max和β_min分别为0.85、0.25,ρ为0.1,Q为1,一级蚁个数为1,二级蚁个数为4,a为0.25,b为0.75。实验结果如图7~图12所示,具体评价性能指标对比由表1给出。
表1 20*20复杂环境地图中路径规划梯度实验评价指标对比表
由表1可以清晰地看出,传统的蚁群算法搜索得到的最优路径长度为32.3848,最差值为44.2843,拐角次数均值为13,迭代次数均值为20,仿真20次得到最优路径解的次数只有一次。传统算法虽然能得到一条从起始节点到目标节点的路径,但是无论是从路径质量还是收敛速度都有明显的缺点,这也是传统蚁群算法在复杂地图中常有的缺点。主要是因为传统蚁群算法因为参数的变化对路径质量有着较大的影响,其次,因为信息素带来的正反馈性导致算法在一些复杂环境中容易陷入局部最优解,从而影响算法的全局搜索能力,丧失最优解的求解。针对以上问题,本发明实施例采用不同的改进方法提升算法的效率。从表1数据中可以看出,在改进后的实验一中,不管是最优值、最差值,还是其他的性能指标,都有一定程度的改善,但是加上自适应伪概率状态转移和参数动态调整后收敛速度变慢,说明该改进具有一定的有效性。在实验一的基础上加上启发函数的改进之后,路径的拐角明显有着显著的改进,说明实验二中改进的有效性。在实验二的基础上加入基于差异化-分级蚂蚁信息素改进策略之后,最优路径长度较传统减少了11.6%,拐角次数减少了55.6%,得到的路径长度更优,拐角更小,收敛速度更快,稳定性更好,总体算法搜索效率更高。
由于在实际应用中,地图环境规模一般较为复杂且规模比较大,为了进一步验证本文改进算法在大规模复杂地图中的可行性和优势,本文在50*50规模环境中设计较为复杂的陷阱障碍物,通过与传统算法从不同的性能指标做对比分析本文改进算法的优越性。参数设置如下:m为100,NC为100,α为1,β_max和β_min分别为0.85、0.25,ρ为0.1,Q为1,一级蚁个数为1,二级蚁个数为7,a为0.2,b为0.8。得到仿真结果如图13到图15所示,性能评价表如表2所示:
表2 50*50复杂环境地图传统法和本发明算法评价指标对比表
从仿真结果中可以看出,传统的蚁群算法在大规模地图中得到路径长度为80.8122,转弯次数为32次,得到最优路径仅仅一次而且无法收敛。这是因为传统蚁群算法在大规模复杂地图中启发信息很弱,此时信息素对蚂蚁引导作用发挥不了明显效果,从而导致蚂蚁在搜索路径的过程中盲目搜索,导致路径交叉,拐点较多且路径较长。正是因为传统蚁群算法的缺点在大规模复杂环境中暴露明显,所以导致算法的实用性受到了挑战。本发明改进的算法能在大规模复杂地图中得到一条最优路径的同时,仍然保持着较快的收敛速度,在20次仿真中均可以得到最优路径,且由于自适应参数调整的引入使得算法受参数的波动较小,充分说明本发明的稳定性和优越性。而且在经过三次均匀B样条处理之后的路径长度更短,平滑性更优,得到的路径更加适合AGV的真实移动,使得本发明的算法优势更加明显。
在仿真结果效果明显的基础上,将本发明运用到真实环境中进行实验,地图构建如上述步骤一具体介绍。算法参数为:m为100,NC为100,α为1,β_max和β_min分别为0.85、0.25,ρ为0.1,Q为1,一级蚁个数为1,二级蚁个数为7,a为0.2,b为0.8。得到的任意起始节点到目标节点的路径规划实验结果如图16~图20所示,
从实验结果可知,在根据AGV车载摄像头得到的实际环境地图中,本发明改进的算法能较快地找到一条从任意起始节点到任意目标节点的最优长度路径,且路径收敛速度较快,转角较少,拐角处曲率连续符合AGV运动学的约束,更适合AGV的实际移动。规划的路径点与实际环境一一对应,将生成的路径点逐一地发送给AGV小车,利用控制器控制小车跟踪这些路径点,从而可以实现AGV的路径跟踪,实现AGV从起始节点到目标节点的移动。综上实验结果充分肯定了本发明的实际应用能力,体现了本发明的优势。
Claims (6)
1.一种基于蚁群算法的室内AGV路径规划方法,其特征是,包括如下步骤:
a、构建栅格地图,为AGV设定好起始节点和目标节点;
b、初始化蚁群算法各项参数;蚁群算法各项参数包括:蚂蚁数量m,最大迭代次数NC,信息素重要程度因子α,信息素初始浓度τij(0),启发函数重要因子最大值β_max和最小值β_min,信息素挥发因子ρ,自适应状态转移概率选择参数q0,信息素强度Q,精英蚂蚁个数ε;
c、将蚂蚁放在起始节点上;
d、按照改进的自适应伪随机概率选择下一节点,改进的自适应伪随机概率转移规则如下面公式所示:
其中,τij(t)为栅格节点(i,j)间的信息素浓度,ηij(t)为启发函数,allowed为AGV下一待选节点的集合;β为启发函数重要程度影响因子;
β的计算公式如下:
β=β_max-(β_max-β_min)×(N/NC)
其中,N是当前迭代次数;
启发函数ηij(t)的计算公式如下:
其中,(xe,ye)表示目标节点的坐标,(xj,yj)表示下一节点的坐标;Cij为方向因子,ψ为上一节点与当前节点之间的直线和当前节点与下一节点之间的直线组成的夹角;a和b分别为调整方向和距离的影响程度参数,且a+b=1;
q0的计算公式如下:
e、判断当前蚂蚁是否到达目标节点,如果是则执行步骤f,否则执行步骤d;
f、判断是否达到最大蚂蚁数;如果是,则执行步骤g;否则蚂蚁数加1,执行步骤c;
g、记录本次迭代过程中一级蚂蚁找到的最优路径长度、二级蚂蚁找到的较优路径长度,以及普通蚂蚁找到的最差路径长度,同时计算出整个蚁群中所有存活蚂蚁找到的路径均值,基于改进差异化-分级蚂蚁更新策略对信息素进行动态调整;
所述一级蚂蚁指当前迭代过程中找到最优路径长度的蚂蚁,所述二级蚂蚁指当前迭代过程中找到较优路径长度的蚂蚁,除一级蚂蚁和二级蚂蚁之外的其他蚂蚁均为普通蚂蚁;所述存活蚂蚁指能从起始节点到达目标节点的蚂蚁;
基于改进差异化-分级蚂蚁更新策略对信息素进行动态调整,具体公式如下:
τij(t+1)=(1-ρ)τij(t)+ρΔτij+Δτij′-Δτij″
其中,Lk为第k只蚂蚁找到的路径长度,Lb为本次迭代的最优路径长度,Lw为本次迭代的最差路径长度,La为本次迭代的平均值路径长度;Lgb为全局最优路径长度,Lgw为全局最差路径长度;
h、判断是否达到了最大迭代次数,如果是则执行步骤i;如果否,则使迭代次数加1,然后执行步骤c;
i、在最优路径的基础上,利用三次均匀B样条曲线进行路径平滑,输出最终路径。
4.根据权利要求1所述的基于蚁群算法的室内AGV路径规划方法,其特征是,步骤b中,信息素重要程度因子α为1,信息素挥发因子ρ为0.1,信息素强度Q为1。
5.根据权利要求1所述的基于蚁群算法的室内AGV路径规划方法,其特征是,步骤a中构建栅格地图,具体包括:利用AGV车载Kinect摄像头获取小车周围的障碍物位置信息,生成环境深度图;利用图像处理技术对得到的环境深度图进行二值化,之后进行斑点分析,分离出占用栅格地图的前景和背景;对障碍物进行膨胀化,再预留一安全距离,所述安全距离为机器人的半径,将AGV看作运行空间中的一个质点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111149575.6A CN113848919A (zh) | 2021-09-29 | 2021-09-29 | 一种基于蚁群算法的室内agv路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111149575.6A CN113848919A (zh) | 2021-09-29 | 2021-09-29 | 一种基于蚁群算法的室内agv路径规划方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113848919A true CN113848919A (zh) | 2021-12-28 |
Family
ID=78976979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111149575.6A Pending CN113848919A (zh) | 2021-09-29 | 2021-09-29 | 一种基于蚁群算法的室内agv路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113848919A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415686A (zh) * | 2022-01-21 | 2022-04-29 | 中国农业银行股份有限公司 | 路径确定方法及设备 |
CN114499639A (zh) * | 2022-01-19 | 2022-05-13 | 重庆邮电大学 | 一种低轨卫星网络中多QoS约束的蚁群优化路由方法 |
CN114625150A (zh) * | 2022-05-17 | 2022-06-14 | 南京汇与信息科技有限公司 | 基于危险指数和距离函数的快速蚁群无人艇动态避障方法 |
CN114967680A (zh) * | 2022-05-06 | 2022-08-30 | 安徽理工大学 | 基于蚁群算法和卷积神经网络的移动机器人路径规划方法 |
CN115137351A (zh) * | 2022-07-22 | 2022-10-04 | 安徽大学 | 一种基于肌电信号的上肢肘关节角度估计方法及系统 |
CN115562273A (zh) * | 2022-10-11 | 2023-01-03 | 河北工业大学 | 基于混合改进蚁群算法的移动机器人路径规划方法及系统 |
CN117485595A (zh) * | 2023-11-21 | 2024-02-02 | 北京易动宇航科技有限公司 | 一种用于电推进系统的能量管理方法 |
-
2021
- 2021-09-29 CN CN202111149575.6A patent/CN113848919A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114499639A (zh) * | 2022-01-19 | 2022-05-13 | 重庆邮电大学 | 一种低轨卫星网络中多QoS约束的蚁群优化路由方法 |
CN114499639B (zh) * | 2022-01-19 | 2024-02-09 | 马爱 | 一种低轨卫星网络中多QoS约束的蚁群优化路由方法 |
CN114415686A (zh) * | 2022-01-21 | 2022-04-29 | 中国农业银行股份有限公司 | 路径确定方法及设备 |
CN114415686B (zh) * | 2022-01-21 | 2024-04-19 | 中国农业银行股份有限公司 | 路径确定方法及设备 |
CN114967680A (zh) * | 2022-05-06 | 2022-08-30 | 安徽理工大学 | 基于蚁群算法和卷积神经网络的移动机器人路径规划方法 |
CN114967680B (zh) * | 2022-05-06 | 2024-04-12 | 安徽理工大学 | 基于蚁群算法和卷积神经网络的移动机器人路径规划方法 |
CN114625150A (zh) * | 2022-05-17 | 2022-06-14 | 南京汇与信息科技有限公司 | 基于危险指数和距离函数的快速蚁群无人艇动态避障方法 |
CN114625150B (zh) * | 2022-05-17 | 2022-08-19 | 南京汇与信息科技有限公司 | 基于危险系数和距离函数的快速蚁群无人艇动态避障方法 |
CN115137351A (zh) * | 2022-07-22 | 2022-10-04 | 安徽大学 | 一种基于肌电信号的上肢肘关节角度估计方法及系统 |
CN115562273A (zh) * | 2022-10-11 | 2023-01-03 | 河北工业大学 | 基于混合改进蚁群算法的移动机器人路径规划方法及系统 |
CN117485595A (zh) * | 2023-11-21 | 2024-02-02 | 北京易动宇航科技有限公司 | 一种用于电推进系统的能量管理方法 |
CN117485595B (zh) * | 2023-11-21 | 2024-04-05 | 北京易动宇航科技有限公司 | 一种用于电推进系统的能量管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113848919A (zh) | 一种基于蚁群算法的室内agv路径规划方法 | |
CN110488859B (zh) | 一种基于改进Q-learning算法的无人机航路规划方法 | |
Shorakaei et al. | Optimal cooperative path planning of unmanned aerial vehicles by a parallel genetic algorithm | |
CN109782779B (zh) | 基于种群超启发式算法的洋流环境下auv路径规划方法 | |
CN110544296B (zh) | 一种敌方威胁不确定环境下无人机三维全局航迹智能规划方法 | |
CN112230678B (zh) | 基于粒子群算法的三维无人机路径规划方法及规划系统 | |
CN110926477A (zh) | 一种无人机航路规划及避障方法 | |
CN111930121B (zh) | 一种室内移动机器人的混合路径规划方法 | |
CN111307153B (zh) | 基于六边形栅格地图的多auv任务分配与路径规划方法 | |
CN108919818B (zh) | 基于混沌种群变异pio的航天器姿态轨道协同规划方法 | |
CN110375761A (zh) | 基于增强蚁群优化算法的无人驾驶车辆路径规划方法 | |
CN112148008A (zh) | 一种基于深度强化学习的实时无人机路径预测方法 | |
CN112733251B (zh) | 一种多无人飞行器协同航迹规划方法 | |
CN112000126B (zh) | 一种基于鲸鱼算法的多无人机协同搜索多动态目标方法 | |
CN116804879A (zh) | 一种改进蜣螂算法融合dwa算法的机器人路径规划框架方法 | |
CN113311828A (zh) | 一种无人车局部路径规划方法、装置、设备及存储介质 | |
WO2023197092A1 (zh) | 一种基于改进rrt算法的无人机路径规划方法 | |
Bai et al. | Design and Simulation of a Collision-free Path Planning Algorithm for Mobile Robots Based on Improved Ant Colony Optimization. | |
Zhang et al. | Intelligent vector field histogram based collision avoidance method for auv | |
Lei et al. | Kb-tree: Learnable and continuous monte-carlo tree search for autonomous driving planning | |
CN116243727A (zh) | 一种渐进式深度强化学习的无人载具对抗与避障方法 | |
CN116048126A (zh) | 一种基于abc快速收敛的无人机实时路径规划方法 | |
CN115202356A (zh) | 一种三维水下欠驱动auv回收路径规划方法 | |
Guo et al. | Online path planning for UAV navigation based on quantum particle swarm optimization | |
Cui | Multi-target points path planning for fixed-wing unmanned aerial vehicle performing reconnaissance missions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |