0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈关于PSO算法路径规划的研究

电子工程师 来源:电子技术应用 作者:禹素萍 郁晓慧 许 2021-04-05 08:36 次阅读

0 引言

路径规划是车载导航系统的基本功能,由于其有较强的应用价值,国内外学者对此进行了深入的研究[1-3]。现今较流行的算法有Dijstra算法(简称D算法)和A*算法,但D算法搜索速度较慢,A*算法搜索速度快但成功率不高,且这些算法只能在静态地图上进行路径规划,没有考虑实时变化的交通状况。

近年来,智能算法因其强大的搜索能力而被广泛应用于路径规划中。杨易[4]把遗传算法与A*算法相结合,提高路径规划算法的效率;王健[5]把蚁群算法应用到导航的路径规划中,但其没有考虑随时间的动态变化因素;于海璁等人[6]提出了一种适用于多模式路径规划的遗传算法,可用于个性化的路径导航。本文将PSO算法应用到车载导航的路径规划中,引入变异算子解决PSO算法的局部最优问题,不仅拥有较快的收敛速度,还能增强全局搜索能力。

1 粒子群算法的描述

粒子群算法由Eberhart博士和Kennedy博士在1995年提出[7],它通过粒子间的协作和信息共享来寻找最优解。算法在搜索时,根据粒子自身历史的最佳位置pbest和种群内所有粒子历史的最佳位置gbest的基础上进行位置变化,其速度和位置公式如下:

pIYBAGBZSPSAPLMHAAAv7agc1k8306.png

其中,t表示迭代次数,r1、r2是(0,1)之间的随机数,c1、c2为学习因子,w为惯性权重,其表达式为:

o4YBAGBZSQ-AcTGfAAARVN4_lS0358.png

其中wmax、wmin为权重的最大和最小值,tmax为最大迭代次数。

2 粒子群算法在路径规划中的应用

本章节的主要内容是解决粒子的编码和适应度函数的构造,编码方式涉及粒子位置和速度的更新操作,适应度函数用来评价粒子的适应值。最后还解决了PSO算法自身陷入局部最优的问题。

2.1 粒子编码

编码即粒子位置的表达方式,是设计粒子群优化和应用操作的关键问题,根据路径规划的实际情况,本文采用直观、方便的实数编码[8]。粒子状态表达方式如式(4)所示,编码方式如式(5)所示。

pIYBAGBZSVSAOnzHAAA9k2c9g5g121.png

其中,f(x)表示适应值,m表示粒子个数。

2.2 适应度函数

2.2.1 适应度函数的设计

将粒子群算法用于路径规划时,适应度函数的设计使得该算法不仅能够在静态网络下获得最优路径,通过增加惩罚项M[9]也能适用于实时变化的交通状况,其适应度函数定义为:

pIYBAGBZSWGALIhrAAIopv7vHTc204.png

(1)当0

(2)当0.5≤n<0.75时,微拥挤状态;

(3)当0.75≤n≤1时,严重拥堵状态。

针对不同的拥堵状态采用不同的适应度函数。

适应度函数主要取决于是否有交通拥堵等状况,车载导航仪[10]将接收到的交通信息转换成路段的相关特性数据,同时给出交通拥堵系数n,并根据n的大小选择相应的适应度函数。采用该适应度函数的优点是占用的存储空间少,并根据实时的交通状况找出最佳路径。

2.2.2 适应度函数对路径规划的影响

pIYBAGBZSYWAW5yVAAC3ywTwevg062.png

如图1所示,粒子群的起点为S,终点为D。粒子群从S点开始搜索,若不定义适应度函数,则粒子随机选择移动方向,而根据适应度函数(式(6)),大部分粒子选择更靠近终点的右方,小部分粒子选择左方,如图1(a)所示。当粒子到达下一路口时,重新计算自身适应值,并共享当前全局最优解,各个粒子根据式(1)、(2)更新自身的速度与方向。因此,在单位时间段内,沿着上方行走的粒子数量高于其他方向的粒子数,同时这些粒子记录自身的局部最优解,也能得到全局最优解。后续粒子选择路径时会受这些最优解的影响,沿着粒子较多的方向前进,也有小部分粒子会选择其他方向来寻求更短的路径,如图1(b)所示。当某个粒子到达终点时,其他粒子将会收到该粒子共享的信息,所有粒子将会朝该方向前进,如图1(c)所示。

2.3 解决陷入“局部最优”的问题

为了避免PSO陷入“局部最优”,本文在PSO算法中引入变异算子,其思想是:当算法达到特定的迭代次数h之后,除去之前拥有全局最优解的粒子外,计算其他粒子与当前全局最优值gbest的距离,若距离小于阈值,则取这些粒子的百分比重新初始化,使这部分粒子重新寻找最优值,使种群获得更高的粒子多样性,扩大搜索范围,避免粒子群算法陷入局部最优,同时能够增强全局搜索能力。带变异算子的粒子群算法如下:

If(th)

取满足dp-gbest

Else

按式(1)、(2)更新粒子速度和位置;

End

其中,t为当前迭代次数,tmax为最大迭代次数,h为特定的迭代次数,dp-gbest表示粒子的当前点到全局最优解gbest的距离,DistValue为设定的距离值。

3 算法验证与分析

为了验证上述算法的可行性,本文根据上海市松江区部分实际地图抽象得到的路网数据结构进行实验,如图2所示。

o4YBAGBZSb6AX6MkAAGsY2B7XBE856.png

其中路段数为134,路口数为92,粒子数为95,最大迭代次数为200,wmax=0.9,wmin=0.4,c1=c2=2。最优路径标准采用最短路径,PSO算法的路径规划结果如图3所示,D算法路径规划的结果如图4所示。

o4YBAGBZSc6AcWqBAAD_sEDDSA8741.png

由图3和图4可知,D算法规划出的最优路径与粒子群算法的最优路径是一样的,但两个算法的搜索时间不同,D算法搜索时间为46 ms,粒子群算法搜索时间为55 ms。

上述结果是在实际地图上进行的小规模节点数的实验,图5和图6是对大规模节点数进行仿真的结果比较。

pIYBAGBZSeOAK1HWAAEzMKGh6kM272.png

由图5可知,PSO算法和D算法在节点数相当的情况下,算法求得的路径长度是相同或相似的,但由图6可知,由于D算法与PSO算法的原理和收敛方式不同,在节点数目较少时,PSO算法需要更多的时间,但是随着节点数目的增加,PSO算法的收敛速度较D算法明显要快,在大规模路网中,PSO算法具有较大优势。

pIYBAGBZSfyAP2HgAADPCVaNSuc986.png

最后当在路段中设置严重交通拥堵,即0.75≤n≤1时,其路径规划的结果如图7所示。

由图7可知,当在道路上设置拥堵路段时,算法重新规划出了一条避开拥堵路段的最优路径,相比于只能够运用在静态路网的D算法,该算法更具有实际意义。

4 结论

本文将粒子群算法用于路径规划中,从粒子的编码规则到适应度函数的设计,再到解决局部最优问题等,充分体现了本文的创新性技术,为路径规划算法提供了新的研究思路。实验结果表明,该算法切实可行,其搜索效率高,时间开销随路网规模的扩大增幅较小,适用于大规模路网,同时在实时变化的交通路况中更具有实际意义。

参考文献

[1] 岳双.动态路径规划算法在车辆导航领域中的应用[J].数字技术与应用,2012(3):95-96.

[2] 殷超.基于改进Dijkstra算法的最短路径搜索仿真[J].山东理工大学学报(自然科学版),2011,24(6):33-36.

[3] 张仁平,周庆忠,熊伟,等.A*算法改进算法及其应用[J].计算机系统应用,2009(9):98-100,107.

[4] 杨易.智能车辆组合定位与路径导航技术研究[D].长沙:湖南大学,2007.

[5] 王健.基于蚁群算法的车辆导航自适应路径规划算法研究[D].青岛:青岛科技大学,2011.

[6] 于海璁,陆锋.一种基于遗传算法的多模式多标准路径规划方法[J].测绘学报,2014,43(1):89-96.

[7] 唐小勇,于飞,潘洪悦.改进粒子群算法的潜器导航规划[J].智能系统学报,2010,5(5):443-448.

[8] 史辉.车载导航路径规划算法研究[D].郑州:解放军信息工程大学,2010.

[9] 李淑红,张巧荣.二进制粒子群算法在路径规划中的应用[J].计算机工程与设计,2009,30(21):4953-4955.

[10] 孙海鹏,翟传润,战兴群,等.基于实时交通信息的动态路径规划技术[J].微计算机信息,2007,23(8-3):177-178.

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 车载导航
    +关注

    关注

    3

    文章

    76

    浏览量

    18448
  • PSO
    PSO
    +关注

    关注

    0

    文章

    49

    浏览量

    12773
收藏 人收藏

    评论

    相关推荐

    全局路径规划RRT算法原理

    通往目的地的安全和无碰撞的路径路径规划问题可以分为两个方面: (一)全局路径规划:全局路径
    的头像 发表于 11-24 15:57 445次阅读

    CBS多机器人路径规划实例讲解

    规划,得到节点1所示的路径结果,由于路径产生冲突,需要生成新的分支(节点2和节点3),节点2添加冲突为:1号在1时刻(从0时刻开始)不进入位置3,节点3添加冲突为:2号在1时刻不进入位置3。 在约束的作用下进行低层次的搜索,节点
    的头像 发表于 11-17 16:44 288次阅读
    CBS多机器人<b class='flag-5'>路径</b><b class='flag-5'>规划</b>实例讲解

    机器人路径基于采样的规划

    路径规划算法主要可分成两种,一种是基于搜索结果的规划,另一类便是本文中将要提及的基于采样的规划。 一般而言,基于搜索的规划(如Astar)通
    的头像 发表于 11-16 15:45 213次阅读
    机器人<b class='flag-5'>路径</b>基于采样的<b class='flag-5'>规划</b>

    机器人技术中常用的路径规划算法的开源库

    如何规划机器人的运动方式是机器人开发领域的一大课题,本文分享GitHub的一个机器人技术中常用的路径规划算法的开源库,并用动图直观演示运行过程。其中大部分代码由Python实现。
    的头像 发表于 10-21 09:36 456次阅读
    机器人技术中常用的<b class='flag-5'>路径</b><b class='flag-5'>规划算法</b>的开源库

    机器人基于搜索和基于采样的路径规划算法

    基于搜索的路径规划算法已经较为成熟且得到了广泛应用,常常被用于游戏中人物和移动机器人的路径规划
    发表于 10-13 14:23 198次阅读
    机器人基于搜索和基于采样的<b class='flag-5'>路径</b><b class='flag-5'>规划算法</b>

    基于贪婪算法的配电网网格负荷预测与规划

    u3000针对配电网网格化分层负荷预测横向收集数据繁杂、可操作性低等问题,设计无后效性的贪婪算法。该算法采用自顶而下的人机合作方式进行贪婪选择,使用土地综合分类法重新划分用地类型,确定最佳分配因子
    发表于 09-22 08:15

    车辆导航系统中最优路径算法研究

    的一个重要应用本文以阜新市城市地图为基础,利用c#编程,通过道路的宽度,长度,以及各个时段的车流量等实际情况为道路设置权重,采用改进的 Di jkstra算法进行最优路径的选择计算,达到了最优路径搜寻
    发表于 09-21 06:25

    路径规划算法实现原理

    本文会用matlab实现Dijkstra算法,并且会分享一些函数用法的链接,也是本人学习得来,供大家参考,批评指正。
    的头像 发表于 09-06 15:36 460次阅读

    粒子群优化算法PSO优化模糊控制论域

    粒子群算法是一种智能优化算法关于智能,个人理解,不过是在枚举法的基础上加上了一定的寻优机制。
    的头像 发表于 07-19 15:33 688次阅读
    粒子群优化<b class='flag-5'>算法</b><b class='flag-5'>PSO</b>优化模糊控制论域

    粒子群优化算法的应用 粒子群优化算法研究方法

      摘要:粒子群优化算法是一种基于群智能的随机优化算法,具有简单易实现、设置参数少、全局优化能力强等优点.着重对粒子群优化算法中的基本算法、改进算法
    发表于 07-19 15:01 0次下载

    无人驾驶汽车的路径规划与跟随控制算法案例

      无人驾驶汽车是集多种技术于一体的复杂系统,其中路径规划与跟随控制是 无人驾驶技术的重要组成部分。路径规划是汽车实现自动驾驶的基础,跟随控制 是无人驾驶技术的关键。  
    发表于 07-19 11:22 1次下载

    使用激光雷达和运动捕捉进行自主路径规划

    电子发烧友网站提供《使用激光雷达和运动捕捉进行自主路径规划.zip》资料免费下载
    发表于 06-27 09:37 0次下载
    使用激光雷达和运动捕捉进行自主<b class='flag-5'>路径</b><b class='flag-5'>规划</b>

    基于边界点优化和多步路径规划的机器人自主探索策略

    机器人对未知环境的自主探索是机器人智能化的关键技术。为了提高搜索效率,作者提出了一种基于边界点优化和多步路径规划的搜索策略。他们主要对边界点优化、边界点选择、路径规划三个方面对
    的头像 发表于 06-19 10:19 993次阅读
    基于边界点优化和多步<b class='flag-5'>路径</b><b class='flag-5'>规划</b>的机器人自主探索策略

    自动驾驶轨迹规划路径规划总结

    接下来的几篇文章将主要围绕着全局路径规划的常见算法展开。全局路径规划与局部路径
    发表于 06-07 14:23 0次下载
    自动驾驶轨迹<b class='flag-5'>规划</b>之<b class='flag-5'>路径</b><b class='flag-5'>规划</b>总结

    自动驾驶之路径规划

    路径规划是自动驾驶技术中最重要的部分,之前的文章有一些这方面的介绍,但是并不全面和系统: 初探路径规划:主要从  带约束的多项式拟合;贝赛尔曲线;三次样条差值;等角度介绍
    发表于 06-01 15:12 0次下载
    自动驾驶之<b class='flag-5'>路径</b><b class='flag-5'>规划</b>