陈月梅,蔡坚勇,陈由甲,黄永亮,林 鸿
(福建师范大学光电与信息工程学院,福建 福州 350007)
随着中国经济与科技的迅速发展,城市汽车的保有量大幅上涨,传统的停车场管理已经无法满足人们实际的需求,停车场智能化已成为一种必然趋势[1-2]。目前国内一般的停车场管理系统重点还停留在计费管理方面[3-5],普遍存在管理效率低、劳动强度大、车位利用率低等缺点,停车难取车难是一个严重的问题。针对这种现象,国内一些学者提出了停车场泊车引导系统。文献[6]对停车场进行区域划分,采用摄像头和计算机中心服务器结合图像处理技术对停车场内部状况进行实时监控;文献[7]采用超声波探测器将车位检测和引导系统相结合,运用遗传算法实现对车位的引导;文献[8]利用在每个车位上安装超声波探测器,探测车位的状态,并结合虚拟仪器实现对车位的监控和管理。上述的方案虽能实现对车辆的引导,但是摄像头易受环境(如气候)和照明等因素的影响,车辆的识别需要进行大量的图像处理、特征提取等工作;超声波探测器受多径效应和非视距传播影响较大,同时需要大量的底层硬件设施投资,成本较高,且在每个车位上安装探测器,增加了维护成本。
RFID(射频技术)利用射频方式实现非接触式的双向通信,具有非视距传播、识别速度快、抗干扰能力强、成本较低等优点[9-10],将RFID应用到室内定位系统已经越来越受到人们的关注[11-13]。本文提出一种基于RFID的停车场内部车辆监控与定位方法,通过在停车场内的各个区域布置一定数量的RFID读写器,运用RFID读写器来定位移动的车载标签。在此基础上结合Visual C#和SQL Server 2005数据库设计一个基于RFID的车辆监控及定位仿真系统。
系统原理图如图1所示,主要包括RFID读写器、RFID标签和后台监控中心3部分。标签附着在被定位的移动目标对象上,用于标识目标对象;由RFID读写器组成的分布式感应网络,用于读取移动目标的信息并确定移动目标的位置;后台监控中心是整个系统的核心,控制着读写器的工作状态,并集中处理采集到定位的数据。
图1 系统原理图
停车场布局示意图如图2所示,在停车场的车道墙面上布置一定数量的RFID读写器,对停车场进行细化。相邻RFID读写器之间的范围被定义为一个停车区域。图2中停车场被划分为6个停车区域(A~F)。编号1和7的读写器位于停车场出入口,用于检测车辆的进出情况。
图2 停车场布局示意图
停车场内分布的每个RFID读写器都有自身的编号。车载标签进入读写器的工作范围,读写器将读取车载标签的ID,并按照图3的格式将信息打包后,通过网络发送给后台监控中心。
图3 信息打包格式
RFID编号:标识RFID读写器,编号可根据后台系统进行设置。
标签ID:32位,拥有唯一的编号,用于标识车辆。
时间戳:表明车辆经过该RFID读写器的时间。
当车辆在停车场内正常行驶的时候,每隔一段时间,必然会经过不同的RFID读写器感应范围。因此,如果车辆处于运动状态,后台监控中心每隔一段时间就会收到来自不同RFID读写器感应到此车辆的信息。通过设定一个时间长度,如果超过这个时长还没有收到新的消息,系统将判断车辆已经停止行驶。
此时,后台监控中心将收到的同一辆车辆的消息,按照时间先后进行排序,得到车辆所经过的各个RFID 读写器的编号 x1,…,xi,xj,根据停车场内读写器所在的位置跟踪车辆大致的行驶轨迹;通过车辆区域判定算法判断车辆停车的区域。其算法定义如下:
设停车场内部的区域集合 Z={Z1,Z2,…,Zn-1,Zn},由边界 RFID读写器组成的区域 Zk=
输入:排序后的 RFID 读写器编号 x1,…,xi,xj。
输出:车辆所停靠的区域。
停车场内停车区域的划分由RFID读写器的个数与布点的位置决定。在特殊的情况下,车辆只经过设置在停车场入口的读写器,此时,系统判断车辆停车区域将不止一个,可通过增设RFID读写器来缩小特殊区域的范围。
1.2.1 仿真系统架构和功能组成
基于1.1节的原理,设计一个RFID的车辆监控与定位仿真系统。系统在局域网内的两台计算机上模拟停车场内部状况(以下称前台仿真系统和后台监控中心)。首先前台仿真系统与后台监控中心建立通信连接,由前台仿真系统初始化停车场平面图,并在停车场内部署RFID读写器,控制车载标签移动;后台监控中心通过创建一个监控线程,监控移动目标车辆位置,并对移动目标车辆进行区域定位。
仿真系统总体框架图如图4所示。
图4 仿真系统总体框架图
主要实现的功能有RFID和车辆对象的设置、车辆移动路线的绘制、车辆位置判断、协议解析、数据存储、历史轨迹显示。
(1)RFID和车辆对象的设置:RFID对象即RFID读写器,其主要参数包括感应距离、角度和感应范围;车辆对象的参数有标签的ID号、车辆类型、车牌号、车主姓名等。停车场内部读写器和标签的编号具有唯一性,可在系统进行设置。
(2)车辆移动路线的绘制:根据读写器感知的车辆位置信息,将车辆的行驶轨迹以图形界面的形式显示。
(3)车辆位置判断:判断车辆停止行驶时所在的区域。
(4)协议解析:数据传输采用TCP协议,监控中心接收从前台传来的数据包,并进行必要的数据解析。
(5)数据存储:将车辆的基本信息、标签的ID号、行驶的路线和最终停靠的区域存储到数据库。
(6)历史轨迹显示:从数据库中提取历史车辆记录,并将车辆的信息、行驶的路线显示在界面上。
1.2.2 仿真系统总体流程图
仿真系统总体流程如图5所示。
本系统以Visual Studio 2008为设计平台,数据库采用SQL Server 2005,编程语言选用Visual C#。程序在Windows 7操作系统上采用Socket实现局域网内两台计算机之间的通讯。考虑到接收消息的实时性,采用同步TCP方式进行数据传输[14]。
系统基于面向对象思想进行设计[15],将实际应用中的RFID和车辆视为对象,抽取出其特征和操作作为类的属性和方法。标签要和车辆建立一对一的关联,且标签在车辆上的位置是固定的,不可更改,程序设计时将车辆和标签视为同一个对象。由于读写器和车辆均有共同属性(如大小、位置)和共同的方法(如添加、删除、移动),这里抽象出父类DrawObject,对象作为子类派生自父类。对象的绘制和显示都是基于GDI+[14]进行创建,主要涉及的系统类包括 Graphics、Bitmap 和 GraphicsPath。Graphics类能够完成大部分的绘图、几何图形的填充及坐标系统转换等操作;Bitmap类可以显示和处理多种图像文件,用于停车场和车辆图片的导入;系统中RFID对象由多条相互连接曲线和直线绘制而成,用到GraphicsPath类提供的强大的路径绘制功能。对象总体类图如图6所示,控制类ControlHandle用于移动RFID在停车场的位置并用方向键控制车辆行走,SelectObj类则确定正在操作的对象,调用控制类进行相应处理。
图5 系统总体流程图
图6 对象总体类图
局域网内数据通信采用套接字Socket。系统将前台仿真系统作为通信的客户端,后台监控中心作为服务端,通过设置双方的Socket端口,建立 TCP连接,成功后可实现双方数据的发送与接收。客户端向服务端发送的数据包括请求连接、停车场区域设置、RFID获取的车辆信息包等;服务端处理从客户端传来的数据并发送控制命令。
客户端将停车场内部设置的RFID读写器存储到一个列表,并循环遍历读写器列表,判断车载标签是否在读写器的感应范围。当车载标签进入读写器的感应区域时,其位置坐标(x,y)和标签的ID号、经过的RFID读写器编号、当前时间将被封装成信息包,以网络流的形式发送到服务端。
车辆经过RFID时,消息发送的关键代码如下:
在前台创建车辆对象,设置车辆的标签ID(唯一性)、车牌号、车辆类型、车主姓名等参数,同时将车辆信息传输给后台监控中心;监控中心存储接收到的车辆信息,此后根据车辆的标签ID识别目标车辆。
系统将停车场平面图映射成二维坐标图,监控中心接收由前台发来的包含车辆位置坐标的信息包后,将其坐标存储到数组中并绘制出车辆行驶路线。监控中心以Timer控件作为触发器,在车辆进入停车场时,启动计时;车辆每经过一个RFID读写器,重新计时。若在规定时间内未收到前台发来的信息包,监控中心将根据车辆区域判定算法判断车辆停止行驶时所在的区域。以下给出车辆轨迹绘制的关键代码,车辆区域判定代码在1.1节已提及,不再赘述。
车辆轨迹绘制关键代码:
图7 前台仿真系统界面
图7为前台仿真系统,在停车场内布置了12个RFID读写器,其中位于停车场出口和入口的读写器,用于记录车辆进场、出场时间和状态。图8为后台监控中心显示车辆行驶的轨迹和最终停靠的区域;车辆信息和日志信息显示在窗体的右侧栏。从图8可以看到车辆的牌照、当前的状态、停车的区域、入场时间和标签的ID号等信息。
图8 后台监控中心界面
仿真实验表明将RFID读写器布置在停车场的各个区域,利用RFID的定位技术可实现对车载标签的监控和定位。后续的研究将结合显示屏,统计并显示停车场内各个区域的车位数,同时结合RFID的定位算法,计算出车辆到空余车位的最短路径,实现停车场泊车引导。
[1] 刘文利.国内停车场管理系统的现状与发展趋势[J].中国新技术新产品,2011(1):20.
[2] Teodorovic'D,Lucˇic'P.Intelligent parking systems[J].European Journal of Operational Research,2006,175(3):1666-1681.
[3] Zeydin Pala,Nihat Inanc.Utilizing RFID for smart parking applications[J].Mechanical Engineering,2009,7(1):101-118.
[4] 胡世杰,李林森,毛佳佳.基于射频识别的停车场管理系统设计与实现[J].计算机系统应用,2008,17(12):80-83.
[5] 吴志红,杨跃臣.嵌入式停车场管理系统[J].计算机应用,2010,30(11):3126-3129.
[6] 熊俊,陈监强.基于多摄像头协同模式的智能停车场管理系统[J].机电工程,2010,27(4):76-78,85.
[7] 曹光磊,徐克宝.基于超声探测的停车场车位引导系统的研究[J].仪器仪表学报,2008,29(第4期增刊):735-738.
[8] 李小松.基于虚拟仪器的停车场车位检测引导系统[J].微计算机信息,2010,26(16):95-97.
[9] 康东,石喜勤,李勇鹏.射频识别(RFID)核心技术与典型应用开发案例[M].北京:人民邮电出版社,2008.
[10] Want R.An introduction to RFID technology[J].IEEE Pervasive Computing,2006,5(1):25-33.
[11] 王殿君,兰云峰,任福君,等.基于有源RFID的室内移动机器人定位系统[J].清华大学学报:自然科学版,2010,50(5):673-676.
[12] 汪苑,林锦国.几种常用室内定位技术的探讨[J].中国仪器仪表,2011(2):54-57.
[13] 李军怀,张果谋,于蕾,等.面向室内环境的RFID定位方法分析与仿真[J].计算机工程,2012,38(14):276-279.
[14] 马骏.C#网络应用编程(第2版)[M].北京:人民邮电出版社,2010.
[15] Stephen R Schach.Object-oriented and Classical Software Engineering[M].McGraw-Hill Companies,Incorporated,2011.