APP下载

停车场智能泊车引导系统

2022-07-23山东科技大学韩浩然杨曙光靳世松吴蕴豪

电子世界 2022年1期
关键词:车位停车场遗传算法

山东科技大学 韩浩然 杨曙光 靳世松 吴蕴豪

随着城市的现代化发展,人们的出行方式发生了翻天覆地的变化,汽车开始作为人们日常出行的首选出行方式,汽车虽然为人们带来了许多便利,同时与此同时也带来了很多的问题。公共停车场无法满足大量的停车需求,停车位利用率低下使得出现“停车难”,驾驶员无法顺利的将车辆停放到车位中。由于当前大多数停车系统的不合理管理和规划,造成了许许多多的停车问题,例如:车主无法得知现有停车场内空闲的车位数量,有时还会出现无车位可停的局面;在大型停车场内没有明确的指示标志,容易使车主在寻找车位时迷失方向,造成在场内的无序行驶,影响交通安全;在停放车辆较多时,车主入场后无法快速得知并选择合适的位置将车辆停放,占用主干道资源,造成交通堵塞;管理员无法得知场内车位的使用情况,不能合理的优化车位资源,进而降低了场内停车位的利用率。为了提高停车场车位的利用率,增强对停车场的管理,降低管理成本,方便驾驶员出行,停车场智能泊车服务就显得及其重要,节省了时间还提升了停车场的形象。

基于以上问题,本文提供了一种基于Dijkstra算法与遗传算法的智能泊车引导系统,通过获取车位信息,计算出到达停车位的最优路程,为驾驶员进行停车引导。同样的,驾驶员可以通过手机APP端进行线上预约车位,解决了无车位可停的问题。系统采用STM32单片机为主控MCU获取车位信息和车辆引导,通过上位机对停车场进行实时监控和控制,增强对停车场的管理和运行效率,通过Freertos系统的使用,合理分配任务执行顺序和执行时序,提高算法执行度以期提高车位分配效率。

1 系统设计目标与方案

本系统由车位状态采集、主控系统、车辆引导显示、上位机显示系统、手机APP五部分组成。

车位状态信息由红外传感器和APP预约信息提供。主控芯片使用STM32单片机,对车位数据进行分析、规划停车路径指示和控制车道处引导显示装置。车辆引导显示系统控制各个车道上的指示箭头来引导驾驶员前往最近的停车位置。上位机用于显示从下位机获取的车位状态,并提供预约功能。

2 软硬件的设计与实现

2.1 硬件结构

车位状态检测由车位上的红外测距传感器实现。红外线是一种用肉眼不可见的光波,利用光直线传播的特性,红外装置发射红外线,电磁波传入时产生反射,当反射的光线足够强时,就可以使用接收器进行接收。由于停车场车位数较多,直接检测每一个车位会占用大量的I/O口资源,因此采用74HC165N芯片并行读取车位数据,单片机读取末端互补串行输出的数据来节省硬件资源。图1中表示了读取16个车位状态的电路设计。

图1 74HC165N原理图

车辆引导显示装置是由单片机控制分布在各个道口的8h8点阵模块组成。通过点阵的箭头指示,引导驾驶员前往空余车位。为节省单片机资源,8h8点阵由MAX7219芯片驱动(图2)。MAX7219芯片为一种集成化串行输入的全自动动态扫描显示驱动器,还可以实现15级的亮度调节,同时它具有限制回转电流的段驱动来减少EMI。

图2 引导显示装置原理图

2.2 软件设计

本系统采用STM32F407单片机为主控单元,程序使用Visual Studio Code软件进行编写与烧录。运用FreeRTOS系统优化和处理系统任务分配。

将各个车位以及入口坐标存入内部FLASH中,通过读取红外数据来获取车位状态,当系统检测到入口来车时,将检测场内的剩余车位,通过Dijkstra算法寻找距离车主最近的停车位,并将该车位设置为待停放车位,分布在各车道的指示装置将引导车主前往该车位。一段时间后,系统将检测该车位的使用情况,若驾驶员未将车辆停放至该车位,将重新检测场内车位使用情况,及时更新场内车位状态数据并上传到云端。使得驾驶员可以通过手机APP端随时查看车位状态。

3 算法实现

解决路径规划有着很多种方法,其中Dijkstra算法和遗传算法是实现路径规划问题中较为实用且精确的算法,传统的Dijkstra算法在区域内求取最优解有着其本身的优势但是由于其本身算法的局限性每次只能选择区域内最合适的路径,当路径复杂度以及区域较大时,其本身弊端就会暴露,导致数据运算的不精确以及路径规划的低效性,所以我们引入了遗传算法,以求提高整体路径规划的精确性和合理性。

具体步骤:

第一步:选定汽车进入的入口为中心,在其50m半径内搜索车位使用情况,若无停车位置,则继续扩大搜索范围。直至找到空余车位。

第二步:获取所有空余车位的位置数据,选定汽车进入的入口为中心起点,将各个空余停车点存入数组N,每一个空车位记作节点Ni,其中i∈[0,s-1],其中s为节点个数;将各个节点与其相邻节点的距离存入数组distance[Ni][E],其中E为相邻的节点个数。

第三步:从起点作为起始节点,求取与其相邻节点的最短距离D1min;使得D1min∈distance[N1][E];选取与其相邻节点距离最近的节点作为下一节点继续重复上述运算,于是可得Dmin={D1min,D2min,....,Ddmin};d为算法选择后经过的节点数量。

第四步:之后选取集合Dmin所对应的节点个数d作为初始群体,以1/Ddmin为每个个体的自适应值。选用轮盘赌法选择算子,计算起点到空车位的距离,生成新种群,计算适应值,筛选出最优解,继续存入Dmin集合中,不断更新d的赋值。

第五步:选取合适的迭代次数,取出此时的Dmin集合,将其所有元素进行求和运算。得出最优路径集合。

结语:本文从Dijkstra算法与遗传算法出发,在基于停车场整体系统的搭建上,合理规划路径,解决了一定区域范围内路径最优解的得出,并通过系统的整体使用在一定程度上改善了现在停车场的问题。缓解了现阶段停车管理压力,有效的提高了泊车效率,在一定程度上改善了停车感受。

猜你喜欢

车位停车场遗传算法
基于遗传算法的高精度事故重建与损伤分析
为了车位我选择了环保出行
Maxe 迷宫闯一闯
我自己找到一个
停车场迷宫
基于遗传算法的智能交通灯控制研究
停车场寻车管理系统
一个车位,只停一辆?
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于改进多岛遗传算法的动力总成悬置系统优化设计