一种基于快速堆栈的多层可转位的智能车库系统
2022-02-20匡姝静蒋冬梅
匡姝静 孙 磊 蒋冬梅 张 军 段 誉
盐城工学院 盐城 224000
0 引言
随着当前信息化的和智能化的发展,为解决停车难的问腿,智能立体车库得到应用与普及,针对现有的立体车库车位随机分配,车辆检测时间长、车辆存取控制过程时间长、等待空位时间长等问题,设计了一种基于快速堆栈的多层可转位的智能立体车库系统。基于快速堆栈算法,设计主要从车辆检测和车辆分配着手,存取入口分开,减少了动力单元往返两头滚动所带来的不必要的浪费,利用一个缓冲车位,有效地将动力单元在执行的任务进行优先处理,利用先进先出的原则,优先检测靠近出口的位置的空车位,优先进入的车优先出,后进的车位后出,在很大程度上减少了能源的浪费。其次,采用红外和超声设备对车位信息的进行检测,采用直视化的方法为用户增加安全感。最后,系统通过在出口地方设置旋转区,避免倒车存在的隐患的发生。
我国汽车的保有量的持续增加导致部分区域停车位一位难求、停车慢等问题[1-3]。随着自动化和智能化的发展,立体车库变得多样化,如俯仰双层式、桥式无避让式等[4,6],但其结构均存在一定的缺点,停取车时间长,占地面积大,成本较高,智能化水平较低,依旧采用半人工的方式,无法满足智能化的需求[7,8]。
堆栈算法是一个动态的存储过程,根据一般停车规律,商场、医院、景区等停车场,先进入的人通常会先离开,因此依据先入先出的原则设计的存取过程,可以有效地提高存取车效率。通过红外设备和压力传感器等设备[9-13]可以有效地探测车位信息,将设备发送给上位机,同时客户可通过云端查看车辆的状态。系统的硬件选取有效融入堆栈算法的实现[14-16]。上位机通过堆栈算法,将获取到的车位信息进行优先级的判定,每次获取一个新的车辆输入,将优先级最高的车位信息发送给控制单元。根据倒车出库存在死角,设置旋转区将车头对准出口的设计,提高安全系数。最后基于机器学习的过程,实现较好的路径规划[17-20],提高车库的存车效率,更加快捷高效的解决停车难的问题。
1 系统功能设计
多层可转位的智能立体停车库包括硬件系统和软件系统,集升降、平移、旋转于一体,基于核心控制器模块、车辆识别模块、收费系统、车辆运行数据采集模块、PLC控制模块,共同构成了智能立体车库控制系统,如图1所示。在数据处理时基于堆栈算法进行,通过IDT-DSER的PLC通讯智能网关将数据直接传输到数据库,上位机将接收到数据按照堆栈算法在数据库将数据进行处理,按照优先级排序,优先级高则排在前面,每次触发响应的时将优先级最高的数据位的信息发送给控制单元,PLC接收到控制信息后进行控制。
图1 智能立体车库控制系统结构图
用户可通过移动终端进行查看附近智能立体车库的使用情况,用一键停车即可快速便捷的停车。系统首先通过车牌识别模块将车辆入场时间、车牌号等信息发送给控制单元,控制单元与上位机建立通信连接,将信息准确地传到上位机,根据车库运行数据采信息,自动配置车位信息发送给执行机构。本设计中的拖车盘可依据取车方向自动调整车头,通过PLC控制及相关传感器和红外设备可自动旋转至正确方向。取车则可通过一键取车自动实现,将车牌信息发送云端进行费用处理,可在移动终端一键缴费。
2 快速堆栈算法
2.1 堆栈算法引入
传统的立体车库由于存取的车辆较多,车辆离进出入口的距离较远,导致存取车的时间较长。其次载车板及控制单元在交替存取的过程会导致路径重复,一辆车要走2个路程,需要消耗更多的能源,为了更好地实现立体车库的功能,有效缩短存取车的时间,研究一种有效的调度算法,快速堆栈算法。
2.2 快速堆栈定义
堆栈算法是一种先进先出的顺序表,在数据库中将数据节点按照优先级的高低进行排序,优先级越高的数据最先被执行,堆栈算法有PUSH和POP和存储3种操作,在程序同时进行时采用寄存器缓冲,其结构框图如图2所示。
图2 堆栈架构图
快速堆栈方法的最大关键在于中断时间、任务切换和任务响应时间的实时性。缓冲位置可以有效地在存入和取出的过程节省很多时间,而不需要在存入数据后,系统再等下一个数据地址计算过程。
2.3 堆栈算法应用
利用堆栈的算法优化了传统的结构的不足之处。在整个算法的工作过程中,首先是将通过红外设备采集到的停车位图像进行数据预处理,再根据机器学习得到的拟合模型对车位进行预测。将距离出口处的车位信息进行计算,得到具体的车位发送给控制单元。基本流程图如图3所示。
图3 基本流程图
堆栈算法的目标之一是查找耗时短且能耗最低的停车位,基本思想为按照先入先出的原则,能耗低耗时短,距离出口近的停车位优先级高,通过数据层来实现优先级排列。在堆栈算法查找过程中,将每一个停车位都看成是一个数据点,在数据库中将得到的空闲车位按优先级排序。
2.3.1 停车位优先级分配原则
停车位优先级的管理方法主要考虑用时少与能源消耗低2点。按设定方法确定优先级。与出入口同层的情况,靠近出口的优先级高于进口的优先级。多层立体车库,以入口建立模型,该车库每层有m列车位,每列有n个车位,共有s层,由下到上,由出口侧到入口侧的原则给出每个车位的优先级别,即第m-1层优先级大于m层,第n+1个优先级大于第n个,第s-1层优先级大于s层。从时间和空间两个角度确定了车位的优先级,确保了存取车用时少且费用低。原理如图4所示。
图4 优先级原理
2.3.2 堆栈算法
基于堆栈算法的存取车过程是一个动态的过程,将车位视为一个数据节点,每次从队头开始检测,其次读取数据看车位是否空闲,若车位有车,则不分配该车位,继续寻找车位中的下一个节点。若车位空闲,进行存取车操作。堆栈算法在智能车库的应用中支持2种操作,即车辆入库和车辆出库,车辆入库会向队列追加一个新的元素,而车辆出库会删除一个元素。车辆出库后如果距离出口近的优先级高的车位,下一次来车时依旧是优先检索。所以需要一个索引来指出智能车库检索起点,方便快捷高效地检索到车位,有效地节省时间。
2.4 堆栈实验
智能立体车库采用走廊结构,包含两排停车位,4层立体,中间为横移和旋转通道。立体车库的平面图如图5所示。
图5 立体车库平面图
传统的车库采用随机停放,不仅会影响车辆存取的频率,而且会影响存取车过程的能源消耗及车库设备的使用寿命。搜索全局最优解,一般采用SAGA、GA、PSO等,本文提出的快速堆栈法可有效提高立体车库的效率。
2.4.1 模型构建
设智能立体车库有m排,每一层有n个车位,共有s层,车库车位坐标(Xn,Yn,Zn),Xn=1,2,3…m,Yn=1,2,3…n,Zn=1,2,3…s。基于智能立体车库模型,建立存取车辆路径的数学模型,参数设定如表1所示。
表1 参数设定
智能立体车库在存取车过程中,最主要的是在保证安全的情况下尽量提高存车的效率。将待存取车辆在X方向移动路径的时间记为tX,在Y方向移动路径的时间记为tY,在Z方向移动路径的时间记为tZ,在运行过程中,横移车在X方向的运行时间为
升降机在Z方向上的运行时间为
梳齿搬运器在Y方向的运行时间为
车库当初存取车辆最短移动距离为
采用快速堆栈方法建立目标函数
2.4.2 计算分析
智能车库中的车辆存取可视为三维合成运动:动力单元在X、Y方向的水平运动,升降装置在Z方向的升降运动。存取车辆时间为
当升降装置初始状态位于出入口层,则存取时间为
考察立体车库存取车的效率重要指标,即平均时间,记为。假设一段时间内系统存取n次车,则
2.4.3 优化结果对比
堆栈算法,结合全局搜索载车板的位置和出口处的存车情况进行快速识别车位,结合重心最低原则,其主要原理是出入口分别在两侧,存车的时候尽可能把车存放在靠近出口的地方,因为存取车正常是先停的先走,所以结合先入先出的原则,在很大程度上节省了存取车时间以及存车能源消耗。
车辆的存取的时候,车库的空闲率为
当k≥n时,平均排队队长记为L1
车辆排队等候的时间为
通过实验验证可知,一个4层10列1行的智能立体车库,该车库配置1个入口、1个出口、1台升降装置和2个空单元,规模为36个车位。该车库停车位宽度l=2.40、长度d=5.40、高度hi=2.50;横移车移动速度vX=35 m/min,梳齿搬运器速度vY=70 m/min,升降装置纵向速度vZ=30 m/min。存取车平均时间是评价智能立体车库的性能指标的一个重要的因素,对比传统停车库和基于快速堆栈算法的停车数据,如表2所示。
表2 传统算法与堆栈算法对比
通过计算可知:传统停车与基于快速堆栈算法相比,连续存车、交叉存取、连续取车平均时间分别减少40.58%、39.25%、36.86%,有效缩短存取车的时间,提高智能立体车库的存取车效率。
3 结语
传统智能车库的研究多以存取车机械结构为基础,车位采用随机分配原则,本文更加注重效率及能源消耗的结合,创新点在于提出快速堆栈的方法。本文所研究的智能立体车库主要考虑车库的分配,使用快速堆栈的算法,根据立体车库的特点进行优化。最后通过实验验证了快速堆栈算法的可行性。基于快速堆栈的可转位智能立体能够有效提高存取车的效率,很大程度上降低能源消耗,大大地缩短顾客的等待时间。