一种基于权值矩阵的改进蚁群路径规划方法与流程

文档序号:17151583发布日期:2019-03-19 23:29阅读:611来源:国知局
一种基于权值矩阵的改进蚁群路径规划方法与流程

本发明涉及自动导航领域,具体涉及一种基于权值矩阵的改进蚁群路径规划方法。



背景技术:

现代工业生产对自动化生产及物流系统提出了更高的要求,自动导引车简称agv(automatedguidedvehicles),它是智能工厂及智能物流系统当中的关键设备之一,能够实现无人、经济、高效的生产管理,而其中的路径规划是agv智能化的关键技术之一。路径规划是在给定障碍物的环境当中,根据一定的优化准则(如路径最短、时间最短等),在其工作空间中找出一条从起点到重点的无碰撞的最有路径。一个较好的路径规划算法不仅能够提高自动化生产效率,同时还能保证生产设备的利用率,也是自主导航和智能避障的重要保证。

对于自动生产线车间及物流仓储仓库,目前路径规划方式有很多种,比如模拟退火算法、人工势场法、神经网络算法、遗传算法、粒子群算法、dijkstra算法、a*算法、floyd算法等,但是有些在实际应用当中并没有较好的效果。模拟退火算法描述简单、使用灵活运行效率高,但存在收敛速度慢、随机性等缺陷,并且相关参数对于应用过程影响较大;人工势场法规划的路径平滑安全、描述简单,但是存在局部优化的问题,引力场的设计是算法能否成功应用的关键;神经网络算法有着较好的学习能力,但是泛化能力差是其致命的弱点;遗传算法易与其他算法结合,能充分发挥其迭代优势,但是运算效率低;粒子群算法易于实现、鲁棒性好、收敛速度快,但是容易陷入局部最优;dijkstra算法成功率高、鲁棒性好,但是遍历节点过多、效率低是其对于大型复杂路径拓扑网络的致命弱点;a*算法扩展节点少、鲁棒性还、对环境信息反应快,但是实际应用中忽略了运动体自身的体积带来的节点限制;floyd算法简单有效,但是存在时间复杂度高、不适合计算大量数据的缺点。

现有技术的路径规划方法往往都存在单独惯性定位模块长时间运行存在累积误差导致定位精度持续下降,单独二维码定位模块运行过程定位离散,且在路径规划的实际应用中场景复杂、规模较大的问题,而一般的智能优化算法不能达到较好的效果。



技术实现要素:

(一)要解决的技术问题

基于此,本发明提出了一种基于权值矩阵的改进蚁群路径规划方法,通过创新地对传统蚁群算法进行适应性改进,以获得机器人运行的最优路径,使得agv小车其能够在自动化车间和物流仓储仓库中惯性导引机器人的高效无碰运行。

(二)技术方案

为了达到上述目的,本发明提供了一种基于权值矩阵的改进蚁群路径规划方法,所述路径规划方法包括如下步骤:

s1:读取车间栅格地图的数据,设定初始参数,包括蚁群算法中的当前循环次数nc,最大循环次数nmax以及初始信息素矩阵t,初始信息素矩阵t中的元素为τij,τij为站点i和站点j之间路径的信息素浓度,矩阵t的初始信息素浓度τ0能够根据蚂蚁总个数m以及路径权值ωij中的最小值ωmin进行计算,其计算公式(1)如下:

s2:根据车间栅格地图上路径(i,j)之间的距离、斜率以及拥堵程度计算初始权值矩阵w,其中路径点i和路径点j之间路径的权值为ωij,权值表示路径的重要程度,数值越大表示越不重要,带来的负担越大,车间路径的初始权值矩阵为w={(ωij)}m×n,栅格地图的大小为m×n,初始权值矩阵w中站点i和站点j两点之间的路径权值ωij可按如下公式(2)进行计算:

ωij=dij+dmax·λ(2)

dij是站点i和站点j之间的实际距离,dmax是整个车间地图当中相邻两点之间最长路径,λ是拥堵系数,表示该路径的拥堵程度;当λ=1时表示道路过于拥堵,agv应当避免通过,λ=0表示该路段不拥堵,agv能够通行;

对于最优路径规划,就是要找出路径总权值最小的灵活路线,当蚂蚁经过路径(i,j)时应该对其权值进行更新,当蚂蚁从i站点转移到j站点时,倘若权值不进行修改,蚂蚁k将去往i站点然后又回到j站点,当蚂蚁k再次到j点的时候相当于蚂蚁k经过了3次路径(i,j),由此设置路径(i,j)新权值ω′ij可做如下公式(3)的更新:

ω′ij=3×ωij(3)

s3:将m只蚂蚁随机分配到站点集当中,设定信息素浓度因子α和启发信息因子β;

s4:根据初始信息素矩阵t以及临时权值矩阵wk,对当前在站点i的第k个蚂蚁的转移概率进行计算,基于轮赌的方法基于转移概率对下一个访问的站点j进行选择,其中临时权值矩阵wk的上标k代表第k个蚂蚁,wk代表第k个蚂蚁更新时的初始权值矩阵w,换一种说法,每个蚂蚁探索完都需要对初始权值矩阵w进行更新,wk代表第k个蚂蚁探索完进行更新时的权值矩阵w,其计算公式如上述公式(3)所示;

s5:将新访问的站点j加入历史站点序列,并将待访问站点序列进行更新;更新临时权值矩阵中的ωij;

s6:进行遍历操作,重复步骤s4和s5直到待访问站点序列为空;

s7:重置临时权值矩阵;

s8:判断完成访问任务的蚂蚁数是否达到最大,即是否每只蚂蚁均完成路径的搜索;若没有,即k<n,n为总的站点数,则k=k+1跳转至步骤s4;否则更新信息素矩阵t,并且进行下一步;

s9:判断当前循环数是否达到最大循环数,若nc<nmax,则nc=nc+1返回到步骤s3;否则循环结束并且记录优化结果并输出。

进一步的,在路径搜索过程中,信息素矩阵会不断地更新,为了防止局部路径上的信息素波动导致的搜索停滞,每一条路径上的残留信息素浓度会被限制到一个范围之中:[τmin,τmax],τmin和τmax分别为信息素浓度的下限值和上限值,τij为是站点i和站点j之间路径的信息素浓度;如果τij<τmin,令τij=τmin;如果τij>τmax,令τij=τmax。

进一步的,在路径搜索过程当中初始权值矩阵w也应当被更新,路径权值ωij应当被限制到小于或等于ωwmax,以防止蚂蚁通过某条路径几次后导致选择该路径的概率急剧下降;即如果ω′ij>ωwmax,则令ω′ij=ωwmax,其中ωwmax为自行设定的路径权值ωij的最大值。

进一步的,蚂蚁在路径搜索的过程当中会留下一定量的信息素,随着时间的累积会不断地增加,为了避免信息素产生的影响过多而覆盖启发信息带来的影响,因此当所有蚂蚁完成一次路径搜索时,会对所有路径上的信息素进行一次更新,新的信息素作为进一步优化的依据,其更新规则如下:

代表第k个蚂蚁在路径(i,j)上所释放的信息素浓度,即路径(i,j)的信息素增量,t是时间增量,ρ是信息素挥发因子,其大小影响蚁群算法的收敛速度及全局搜索能力,取值范围为(0,1)之间。

(三)有益效果

由上述技术方案可知,本发明提出的一种基于权值矩阵的改进蚁群路径规划方法,其有益效果在于:

1、创新地在路径规划问题中引入权值矩阵以提升算法效率。权值的引入调整了传统蚁群当中对于距离的定义,可根据车间的实际情况进行人性化的路径规划工作,对某些站点或路线进行尽可能的避让;另外权值的引入代替了传统的禁忌表,能使得某些站点能够被再次穿过,符合实际工业场景,提高了路径规划的效率。

2、创新地将初始信息素的值进行了修改,利用蚂蚁总个数、初始路径权值计算得到合适的初始信息素,从而提高了规划效率。

3、创新地对最大最小蚂蚁系统进行改进,对残留信息素及路径权值进行合理的限制,使得系统误差不会无限制的快速增大。

4、改进后的蚁群路径规划算法,能够根据实际应用场景进行人性化的路径规划,且能避免站点被重复访问以获取最短最优路径,提升了实际运行效率。

5、目前高精度柔性连续导引方式大多为激光导引,但激光传感器价格昂贵,单个高性能传感器价格约为三四万;加上实际使用中需铺设反光板,在大场景下使用不方便,且须增加额外成本,总体上使用成本较大。本惯性+二维码导引模块总价不到一万即可实现相应功能。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:

图1为本发明的机器人定位系统架构示意图;

图2为本发明的车间栅格地图;

图3为本发明的改进蚁群路径规划算法流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种基于权值矩阵的改进蚁群路径规划方法,其能够通过如图1所示的机器人定位系统实现,所述机器人的定位系统主要由惯性定位模块和视觉二维码定位模块组成,当然该机器人可以具体是agv小车。惯性定位模块包括三轴mems陀螺仪、mems加速度计和高精度速度编码器,采集三轴角速度和三轴加速度经姿态解算得到机器人三个方向上的姿态角(俯仰角θ、偏航角ψi、摇滚角γ),通过高精度编码器实时获取智能车的前进速度v,结合偏航角ψi和前进速度v使用航位推算可得到惯性定位下机器人的位置;视觉二维码定位模块主要由二维码扫码枪和包含位置信息的qr二维码组成,当扫码枪经过地面上的二维码时,通过二维码自身位置以及扫码枪获得的位置偏差可获得机器人的位置。在机器人未经过地面二维码时,只采用惯性定位模块进行定位;当机器人经过地面上的二维码时,将此时的惯性定位下的坐标和视觉二维码定位下的坐标进行数据融合,得到当前准确的位置信息,修正惯性定位由于长时间运行带来的累计误差。该机器人定位系统如图1所示。

除了上述定位系统外,agv小车中还具有路径规划系统,在实际生产车间的作业过程当中,当无搬运任务时,agv一般停在充电区充电等待;当有搬运任务的时候,agv按照任务队列执行搬运任务,当搬运任务完成后agv又自动返回充电点充电等待。这是一个经典的tsp问题,生产车间中的车辆路径规划问题已经被证明是np完全问题,当问题规模扩大后,在有限时间限制内目前还找不到最优的结果。大量智能优化算法被应用于车辆路径规划问题的求解过程中。如遗传算法、模拟退火算法、粒子群算法、a*算法等。蚁群算法是一种新的生物智能进化算法,由于其良好的正反馈机制及并行计算的能力,被广泛地应用于np完全路径规划问题的求解当中地图模型建立。在进行路径规划之前首先要对工厂车间进行建模,此处使用栅格法将机器人的搜索空间建立成一个栅格地图。基本原理是将机器人的工作环境分割成很多具有二值信息的网格单元,每个单元由机器人的步长决定,即一个步长代表一个网格大小。在进行网格划分的时候,无论是障碍物还是非障碍物栅格不满一个时,将其填满,按一个栅格计算。

如图2所示,车间栅格地图的环境信息由黑白网格表示,黑色网格代表障碍物,表示不可行区域;白色网格代表可通行区域,又称自由区域。栅格法将不可行区域和自由区域用一个二进制矩阵表示,矩阵中1代表障碍物,0代表是自由栅格,由此可将工作环境建立成一个可描述的栅格地图。

假设sp为机器人在二维空间中一个规则的凸多边形运动场地,将场地分解成m*n个栅格,其由自由栅格和障碍物栅格组成,其运动方式主要为四叉树型形式。自由栅格的集合p={p1,p2,…,pm},障碍物栅格的集合b={b1,b2,…,bn}。设a为机器人工作场地的栅格集合,其表达式为a=p∪b.

本发明可以根据车间场地建立一个21*12的栅格地图,如图2所示。图2中栅格的序号集合c={1,2,3,…,252}。假设起始位置为gstart,目标位置为ggoal,机器人从初始位置通过n次迭代搜索找到最优路径,其中初始位置gstart∈a且目标位置ggoal∈a且在路径搜索的时候主要以四叉树型进行搜索。

一般情况下,使用如下的蚁群算法进行上述的路径规划,其蚁群算法具体为:

蚁群算法寻求最优路径是基于蚂蚁寻求最优路径的过程中所表现的共同行为。在蚂蚁寻求路

径的过程当中,会在经过的路上留下一定量的信息素,信息素会随着时间不断地挥发。之后经过的蚂蚁能够根据路径上信息素的浓度大小来选择最优路径。当某一条路径较长的时候,该路径上的信息素较少;当某一条路径较短的时候,该路径上的信息素较多。随着时间的推移,短路径的信息素不断地增加,长路径上的信息素不断挥发减少甚至消失。通过这样不断的正反馈过程,蚁穴到食物源之间的最优路径最终被找出来了。

在蚁群系统模型当中,蚂蚁的总数量为m,总的站点数为n。一开始,对于一个新的食物源,蚂蚁还没有信息素的指导,它们会开展完全随机的路径搜索,即所有路径都有责相同的概

率被搜索到,即有着相同的初始信息素。接着对于第k个蚂蚁,它会根据根据路径上的信息素浓度以及启发信息得到一定概率,并依次概率从第i个站点走到第j个站点,即对路径进行选择,其转移概率计算公式如下式所示:

其中τij(t)是站点i和站点j之间路径的信息素浓度。ηij(t)=1/dij是站点i、j之间路径的启发信息。dij是两个站点之间的距离,其值越小表示关系越密切,反之越疏远。其表达式为dij=|xi-xj|+|yi-yj|。α和β分别是信息素浓度因子和启发信息因子。当α较大的时候,根据之前蚂蚁留下的信息素,蚂蚁更倾向于选择这条路径。当β较大的时候,蚂蚁会由于贪心选择的方法而去选择当前的最短路径。allowedk是当前蚂蚁k还未访问过的站点的集合,当蚂蚁每到达一个站点时,可将该站点从表中删除,避免重复选择。由于某些站点不需要被访问以及已经访问过的站点不需要被访问,可以建立禁忌表,将无需访问的站点存入禁忌表当中。

蚂蚁在路径搜索的过程当中会留下一定量的信息素,随着时间的累积会不断地增加,为了避免信息素产生的影响过多而覆盖启发信息带来的影响,因此当所有蚂蚁完成一次路径搜索时,会对所有路径上的信息素进行一次更新,新的信息素作为进一步优化的依据,其更新规则如下:

δij代表第k个蚂蚁在路径(i,j)上所释放的信息素,即路径(i,j)的信息素增量。ρ是信息素挥发因子,其大小影响蚁群算法的收敛速度及全局搜索能力,取值范围为(0,1)之间。对于信息素更新策略主要有以下三种方法:

这里q是信息素增量常数,在一定程度上影响算法地收敛速度。t是由第k个蚂蚁所经过的路径。lk是第k只蚂蚁在本次循环当中所有路径的总长度。第一个公式是基于蚁周ant-cycle模型的信息素更新方法。这个方法是对全局路径进行信息素更新,使之更加高效。另外两种方法只能对局部路径进行信息素的更新,并且实际效果受限。算法大体过程如下:某一时刻有m只蚂蚁被随机分配到某些站点出发,每只蚂蚁有按照状态转移概率公式形成一条路径,当所有蚂蚁完成了路径搜索之后,首先进行信息素的挥发,然后根据每只蚂蚁搜寻路径的总长度对信息素矩阵进行调整,通过这样的多次迭代就形成了一个最佳路径。

对于上述的蚁群路径规划方法,本发明做出了相应的改进,其改进的路径规划方法如图3所示,其包括如下步骤:

s1:读取车间栅格地图的数据,设定初始参数,包括蚁群算法中的当前循环次数nc,最大循环次数nmax以及初始信息素矩阵t,初始信息素矩阵t中的元素为τij,τij为站点i和站点j之间路径的信息素浓度,矩阵t的初始信息素浓度τ0能够根据蚂蚁总个数m以及路径权值ωij中的最小值ωmin进行计算,其计算公式(1)如下:

s2:根据车间栅格地图上路径(i,j)之间的距离、斜率以及拥堵程度计算初始权值矩阵w,其中路径点i和路径点j之间路径的权值为ωij,权值表示路径的重要程度,数值越大表示越不重要,带来的负担越大,车间路径的初始权值矩阵为w={(ωij)}m×n,栅格地图的大小为m×n,初始权值矩阵w中站点i和站点j两点之间的路径权值ωij可按如下公式(2)进行计算:

ωij=dij+dmax·λ(2)

dij是站点i和站点j之间的实际距离,dmax是整个车间地图当中相邻两点之间最长路径,λ是拥堵系数,表示该路径的拥堵程度;当λ=1时表示道路过于拥堵,agv应当避免通过,λ=0表示该路段不拥堵,agv能够通行;

对于最优路径规划,就是要找出路径总权值最小的灵活路线,当蚂蚁经过路径(i,j)时应该对其权值进行更新,当蚂蚁从i站点转移到j站点时,倘若权值不进行修改,蚂蚁k将去往i站点然后又回到j站点,当蚂蚁k再次到j点的时候相当于蚂蚁k经过了3次路径(i,j),由此设置路径(i,j)新权值ω′ij可做如下公式(3)的更新:

ω′ij=3×ωij(3)

s3:将m只蚂蚁随机分配到站点集当中,设定信息素浓度因子α和启发信息因子β;

s4:根据初始信息素矩阵t以及临时权值矩阵wk,对当前在站点i的第k个蚂蚁的转移概率进行计算,基于轮赌的方法基于转移概率对下一个访问的站点j进行选择,其中临时权值矩阵wk的上标k代表第k个蚂蚁,wk代表第k个蚂蚁更新时的权值矩阵w,换一种说法,每个蚂蚁探索完都需要对权值矩阵进行更新,wk代表第k个蚂蚁探索完进行更新时的权值矩阵w,其计算公式如上述公式(3)所示;

s5:将新访问的站点j加入历史站点序列,并将待访问站点序列进行更新;更新临时权值矩阵中的ωij;

s6:进行遍历操作,重复步骤s4和s5直到待访问站点序列为空;

s7:重置临时权值矩阵;

s8:判断完成访问任务的蚂蚁数是否达到最大,即是否每只蚂蚁均完成路径的搜索;若没有,即k<n,n为总的站点数,则k=k+1跳转至步骤s4;否则更新信息素矩阵t,并且进行下一步;此外,在路径搜索过程中,信息素矩阵会不断地更新,为了防止局部路径上的信息素波动导致的搜索停滞,每一条路径上的残留信息素浓度会被限制到一个范围之中:[τmin,τmax],τmin和τmax分别为信息素浓度的下限值和上限值,τij为是站点i和站点j之间路径的信息素浓度;如果τij<τmin,令τij=τmin;如果τij>τmax,令τij=τmax;

s9:判断当前循环数是否达到最大循环数,若nc<nmax,则nc=nc+1返回到步骤s3;否则循环结束并且记录优化结果并输出。

进一步的,在路径搜索过程当中初始权值矩阵w也应当被更新,路径权值ωij应当被限制到小于或等于ωwmax,以防止蚂蚁通过某条路径几次后导致选择该路径的概率急剧下降;即如果ω′ij>ωwmax,则令ω′ij=ωwmax,其中ωwmax为自行设定的路径权值ωij的最大值。至于信息素的更新规则和转移概率,其可以使用上述蚁群算法中提出的更新规则和转移概率。

常规的蚁群算法运用到一般的生产车间中的路径规划问题通常都会过早收敛,无法得到一个最优路径,本发明对原基于蚁群算法的路径规划算法进行了创新性的调整,以使算法有着更高的效率和效果。

(1)此处创新地在路径规划问题中引入权值矩阵以提升算法效率。

在实际生产车间中通常会遇到这样的问题,车间中的某一部分是客户参观点,人员较多;或是货车下料出货点,长时间有货物堆放;或是有路面不平坦。这些地方所在路径都不利于agv搬运任务的执行,所以在实际路径规划过程当中,某些路径有时候应当尽量地避免,而不是像禁忌表一样直接禁止通行。

本发明创新地将权值引入到该路径规划问题当中,站点i和站点j之间路径的权值为ωij,车间路径的初始权值矩阵为w={(wij)}m×n,初始权值矩阵中两点之间的权值可按如下公式进行计算

ωij=dij+dmax·λ

dij是站点i和站点j之间的实际距离,dmax是整个车间地图当中相邻两点之间最长路径,λ是拥堵系数,表示该路径的拥堵程度。当λ=1时表示道路过于拥堵,agv应当避免通过,λ=0表示该路段不拥堵,agv能够通行。对于最优路径规划,就是要找出路径总权值最小的灵活路线。

在路径搜索的过程中可能有某些路径上的权值很小,由于根据信息素矩阵的定义我们可知,当路径(i,j)之间的权值ωij较小时,其对应的信息素较大,蚂蚁k会以极高的概率选择该路径。倘若经过该路径一次后路径(i,j)的权值不进行修改,即该路径依旧保持着较高的信息素浓度,蚂蚁k可能会在该路径上来回往复陷入无限制的循环当中。所以,当蚂蚁经过路径(i,j)应该对其权值进行更新。当蚂蚁从i站点转移到j站点时,倘若权值不进行修改,蚂蚁k将去往i站点然后又回到j站点,当蚂蚁k再次到j点的时候相当于蚂蚁k经过了3次路径(i,j),由此路径(i,j)新权值ω′ij可做如下更新:

ω′ij=3×ωij

权值的引入调整了传统蚁群当中对于距离的定义,可根据车间的实际情况进行人性化的路径规划工作,对某些站点或路线进行尽可能的避让;另外权值的引入代替了传统的禁忌表,能使得某些站点能够被再次穿过,符合实际工业场景,提高了路径规划的效率。

(2)此处创新地将初始信息素的值进行了修改。

在实际使用蚁群算法的过程中发现,信息素初始值的大小τ0对算法的效果有很大的影响,并且一般是根据经验值来设置,通过试错法求出。信息素初始值取值过小,虽然增大了算法的搜索空间,增强了全局的寻优能力,但是极大程度上加大了时间复杂度,计算时间加长很多;取值较大的话虽然减小了时间复杂度,但是缩小了算法的搜索空间,可能会使得算法过早收敛而不能达到全局最优。对于初始信息素,可按照如下公式根据蚂蚁总个数以及初始路径权值进行计算:

(3)此处创新地对最大最小蚂蚁系统进行改进。

在路径搜索过程中,信息素矩阵会不断地更新,为了防止局部路径上的信息素波动导致的搜索停滞,每一条路径上的残留信息素会被限制到一个范围之中:[τmin,τmax]。如果τij<τmin,令τij=τmin;如果τij>τmax,令τij=τmax。

除此之外,在路径搜索过程当中权值矩阵也应当被更新。路径权值应当被限制到小于或等于ωwmax,以防止蚂蚁通过某条路径几次后导致选择该路径的概率急剧下降。如果ω′ij>ωwmax,令ω′ij=ωwmax。

改进后的蚁群路径规划算法,能够根据实际应用场景进行人性化的路径规划,且能避免站点被重复访问以获取最短最优路径,提升了实际运行效率,且通过结合图1的定位系统来实现上述路径规划方法,能够节省很多的硬件成本。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1