基于信息素优化蚁群算法下的停车场系统设计
2022-04-08胡小飞黄新洁王成辰
孙 霞, 胡小飞, 张 昕, 黄新洁, 王成辰
(安徽理工大学 电气与信息工程学院,安徽 淮南232001)
0 引 言
随着国内各大城市汽车保有量的急速增加,传统的停车场管理系统不能解决用户与停车场车位管理系统间的无线通信。国内外专家对车辆停车引导方面的研究很多,目前主流研究重点关注城市内的车辆引导,一般是帮助用户寻找最近的停车场,而当用户进入停车场内部,场内的路径引导相对缺少。在理论研究方面,郭展鸿等[1]通过标识分类路网特征,以用户停车的路径最优作为基本的原则,采用改进Dijkstra算法进行路径搜索。Yacine Atif等[2]提出的SmartPark算法使用一个离散的马尔可夫链模型来最大限度地缩短到所选停车场的行程时间,同时提高在所寻停车场中找到可用位置的机会。Shuxin Ge等[3]提出了一种两阶段的PVEC网络服务迁移算法,将原问题分解为SP间的服务迁移和停车场内的服务PV选择问题。
传统停车场内的有效车位信息不明确,尤其是大型立体停车场中,由于停车位分布复杂和数目繁多,用户不能及时了解空车位的位置信息,用户在停车场内容易迷失方向,反复寻找车位造成停车场内拥堵,故提出针对停车场网路的实际情况,将地下停车场进行区域划分,对传统蚁群算法进行改进,制定出最优的停车路径。
1 系统总体设计
基于信息素优化蚁群算法下的停车场系统主要包括终端检测模块、无线传输网络模块、远程监控模块三大部分。远程监控模块主要包括服务器和客户端组成。该系统的终端检测模块上搭载STM32主控芯片、红外传感模块、GPS定位和NB-IoT通信等。红外测距传感器收集信息,通过NB-IoT通信模块传至基站,进而传至云平台,云平台对采集到的数据进行监控,对检测到有空闲车位信息的节点下达指令以获取这些节点的GPS信息,然后将这些节点的GPS信息传给监控平台端。结合实际情况,对停车场内空闲车位的路径诱导策略进行选取。在选定合适的路径规划策略后,为需要停车的用户设计出最短路线。系统结构如图1所示。
图1 停车场管理系统结构图
2 系统优化路径算法设计
2.1 系统路径规划算法
(2)
(3)
其中,v表示挥发因子,Δτij(t)的含义如下:
(4)
Q表示信息素的总量,Lk为第k只蚂蚁循环的路径周长,随着信息素矩阵迭代更新,逐渐收敛于最短路径。根据上述蚁群算法设计的算法如图2所示。根据算法首先将测试的M个蚂蚁任意放置在场景中的N个节点上,然后根据概率计算选择合适的移动方向,最后在得到合适节点后更新状态,输出最优路径。
图2 终端节点结构图
2.2 系统路径优化算法
信息素在蚁群算法路径寻优过程中起到了非常重要的作用,但是在算法迭代的初期路线所含信息素的很少,这样信息素对蚂蚁寻路的指导意义不大,蚂蚁在很大程度上还是在随机摸索。为此可以在算法初始值给定足够的信息素,优化初始值病态的问题。考虑粒子群算法虽然在迭代后期会产生查巡力不足的问题,易陷入局部最优的劣势,但是从整体上看,它具有很强的查巡力,收敛速度也很快,因而可以先利用粒子群算法为蚁群算法的迭代初期提供信息素指导,这样也不会影响整体的迭代速度,使改进后的蚁群算法快速达到最优方案。优化思想如下:
Step1 现取一个粒子数为N的粒子群,用上文中介绍的粒子群算法求解遍历电量不足节点的最短路径问题。
Step2 随机生成粒子i的位置矢量Xi=(xi1,xi2,…,xiN)和速度矢量Vi=(vi1,vi2,…,viN),初始化粒子的最优位置pbest和群体最优位置gbest。
Step3 合适的适应度值作为路径优劣的评价标准,其评价函数标准为f=Ld。其中,Ld表示粒子群算法迭代一次后的最优距离,最终的结果是让这一适应度的值最小。
大家听了刘少奇的分析,无不眼前一亮:原来路就在脚下,办法就在彼此之间。于是,造船修船、疏通河流、建立白区据点、联络各地商户等等办法都提了出来。一场讨论会圆满结束,效果超出预期。更重要的是,这些办法付诸实践产生了很好的经济效益与社会效益,还锻炼了工人阶级的革命坚定性和斗争灵活性。
Step4 算出当前粒子的适应度值f(xi),将其和粒子最优适应度值f(pbest)比较,若f(xi) Step5 根据式(1)对粒子的v、t信息更新,再重复Step 4的过程。在循环至所设阈值后结束粒子群算法。 Step6 将式(3)的信息素更新公式中加入粒子群算法迭代后得到的如下所示: (5) Step7Lγi为当粒子最优路径经过路径i→j时的粒子最短运动路径,Lη为当总群最优路径经过路径i→j时的总群最短运动路径,k1表示最优路径经过i→j的粒子数,ak和bk分别为粒子和总群最优信息素所占的权重。 Step8 按照所述蚁群算法路径寻优规则。根据上述的算法优化改进的蚁群算法如图3所示。 图3 改进蚁群算法流程图 为了简化其开发过程,将STM32L476RGT6的Baud rate设置为和NB-IoT通信模块的串口通信速率一致的9 600 bps,通信方式选择异步通信模式,并且将此设计的2个ADC管脚都选择10位分辨率。NB-IoT通信主要是采用发送AT指令的方式和STM32进行通信。需要用AT指令完成NB-IoT设备注册入网、传感器数据传输等操作。通信模块是通过USART2串口和STM32通信,通过USART1串口将数据转发到PC机上的串口调试助手上,方便本监控系统的设计与调试。图4为设计的AT指令动作程序的示意图。 图4 AT指令发送程序的软件流程图 首先初始化缓存器,将receData(接收数据缓存器)和len(缓存索引)均置0。通过USART1串口将指令转发到PC机上,便于开发与调试。利用USART2串口向 NB-IoT 通信模块发送AT指令使能USART2串口与接收数据有关的中断,接收从通信模块端发送过来的数据。当收到数据后,程序就会运行至回调函数。receData(接收数据缓存器)从aReceBuf(单字节缓存器)里取单个数据值后len(缓存索引)自增1,以便下次aReceBuf(单字节缓存器)的数据。当成功判断数据接收完毕后,就可将接收中断关闭,然后进入下一步;若未成功判断则返回继续接收数据。加入延时函数保证USART2串口可以接收到全部的数据。PC机上接收来自USART1串口的响应数据,并且在串口调试助手上将数据信息都显示出来。若判断出期望值包含在接收到的响应中,则返回1,若不包含则返回0。 在本系统中,系统内部接口指的是传感器节点和华为开发者平台的接口,是利用NB-IoT技术建立起的通信接口,是连接传感器和华为开发者平台的纽带。开发者通过二进制码流在NB-IoT终端里进行信息的发送和接收,在华为开发者平台中需设计编解码插件将二进制数与JSON格式的数据信息进行相互转换。监控模块就需要通过这一接口和传感器连接。由传感器收集的数据上传至物联网云平台,这样就可以实现监控节点的目的。本系统中使用的物联网云是华为公司开发的OceanConnect平台。图5是OceanConnect平台开发流程图。 图5 OceanConnect平台开发流程图 OceanConnect平台上传使用过程分为以下几个步骤,即终端节点设备接入: (1) 申请账号。获取将终端设备接入Ocean Connect平台的资格。 (2) 创建应用。根据自身项目开发需求选择创建自定义应用。 (3) 设计Profile文件。表示项目的具体性质,创建的每个服务和命令都要进行具体的设置,比如数据类型和步长等,服务表示信息采集断点传送数据,而命令则是OceanConnect平台下发的指令。 (4) 设计编解码插件。OceanConnect平台需要用编解码插件,对上行到OceanConnect平台的数据进行格式转换。 (5) 在OceanConnect平台中添加设备。选择添加真实NB终端,输入设备名称和NB终端的IMEI号。 (6) 设备终端加入网络。设备终端和Ocean Connect平台实现对接后,OceanConnect即可传感器节点终端进行监管。 (7) 应用接入OceanConnect平台。在Ocean Connect平台中提供北向开发对接接口,供其他应用和OceanConnect平台对接。 通过实验测试分析该监测系统,系统是在OceanConnect平台中完成相关数据的获取,具体表现为在OceanConnect平台中显示车位空闲节点的信息,平台端下达指令获取该节点位置。并在OceanConnect平台中显示节点信息。然后利用实验验证改进后的蚁群算法是否在普通蚁群算法的基础上更优。 如图6所示,当OceanConnect平台向终端节点发送GPSON为1的指令时,终端节点向OceanCon nect平台上发送GPS位置信息,同时OceanConnect平台通过IoT Platform完成命令下发,停止向上传输车位相关信息,实现OceanConnect平台与真实物理设备数据传输。 图6 OceanConnect平台下达指令图 本实验是将上述平台监测到的节点信息转化成坐标之后对其使用改进蚁群算法进行路线图设计。分析基本蚁群算法最优路径,用基本蚁群算法得出最短路径是922.016 9 m,根据优化后的蚁群算法仿真得知,约在251次迭代可寻到系统最佳解,如图7所示。 图7 基本蚁群算法全局最优解随代数变化 从基本蚁群算法全局最优解变化图中可以看出从0~46代折线图呈现急剧下降的趋势,说明此时算法在快速寻找最优解,从47~250代折线图下降的较为平缓,说明此时算法迭代速度放缓,251代以后算法结果收敛,说明此时已经找到了全局最佳解。如图8所示,用此种算法得出的最优路线为912.037 3 m,相较于运行基本蚁群算法得出的922.016 9 m,在距离方面缩短了1.08%,如图8所示。该算法能够有效进行最短路径规划,实现停车场智能停车导航。 图8 改进后的蚁群算法图 从图9可以看出0~9代这一算法迭代过程中折线图急剧下降,说明此时算法寻找最优解的速度非常快,而10~95代全局最优解适应度的值下降得比较平稳,说明算法此时已逼近真实最优解,96代之后图像与坐标轴保持平行,说明已经找到了该算法的真实最优解。与基本蚁群算法相比改进后的蚁群算法在收敛时的迭代次数减少了61.8%。根据仿真实验得知,利用改进蚁群算法对停车场进行全局路径规划,使其在实现车位到车位的运动中可以成功寻到最佳路径,实现高效停车。 图9 改进后的蚁群算法全局最优解代数变化图 提出基于信息素优化蚁群算法下的停车场系统。该系统采用粒子群优化算法为蚁群算法提供迭代初期信息素指导后,增强了蚁群算法全局搜索能力。用改进蚁群算法为停车的最短哈密顿回路在距离方面相较基本蚁群算法有明显的缩短。在该系统中,以STM32作为主芯片,传感器节点负责收集数据,利用NB-IoT实现上传,采用手机APP和云平台可以实现对终端节点的远程监控,达到停车位管理系统的智能化。3 系统软件设计
3.1 通信软件设计
3.2 系统云平台软件设计
4 系统测试
4.1 系统平台实验测试
4.2 系统路径优化仿真测试
5 结束语