• 基于移动导航机器人的停车管理系统的设计与开发


    本次主要是个人一些想法,并未进行实践验证,故只是分享,希望各位批评

    1.研究目标及内容

    本系统设计一个基于移动机器人的停车管理系统,通过传感器检测空余车位,用户可以通过手机进行查询商场停车场是否有车位,同时可以预约停车场机器人时间段,其中移动机器人是引导车主在一个地下三层的停车场内快速找到空闲车位,能够在北广场这样的地方有效的节省时间,同时加入了APP和WEB界面,可以让车主出来迅速找到自己的车位置,有效节省时间,

           本系统主要包含了如下几个内容:

    (1)车位空闲检测,通过二极管或者地磁式传感器进行车位检测,判断该停车位是否有车辆,同时将数据通过ESP8266传输到服务器端,服务器端存储该数据;

    (2)入口处和出口处的车牌检测,通过简单的图像处理工作将进入北广场的车牌信息以及车主人脸读取出来,将车牌数据和人脸信息以及进出时间通过wifi模块传输到服务器端;

    (3)小车。小车采用的是车载PC机,加上kinect深度摄像头,雷达,红外以及避障等诸多模块,同时使用的系统是ROS 2.0系统,通过建模学习,可以将地下停车场3D模型建立出来,实现移动小车的自主前行,可以将空余车位迅速找到,同时,记录当前车辆和车位匹配信息,发送到服务器端,同时将系统建立导航地图实时传输至服务器端实现系统的整体架构。

    (4)服务器端,主要就是用来进行相关车牌信息、车主人脸信息以及导航信息等接收并存储,同时服务器端还需要具有能够接收web或APP端的请求并将数据发送过去;

    (5)APP端/WEB端。其中APP端和WEB端都是做了两套系统,一套是用户系统,一套是管理员系统。其功能主要是1)预约停车位,每次预约都会收费,若不使用车位,不退预约费用;2)实现停车时长收费机制,在(2)中入口处和出口处的车牌检测,两次数据进出时间计算得出时长,进行收费;3)通过小车实现停车场的3D建模、定位小车当前位置,自动行驶引导车辆迅速停车,节省时间;4)车主可以通过APP迅速找到自己车辆所在位置,节省时间

    其系统框图如下:

     

    2.车位空闲检测

    2.1 车位检测概述

    如今,我国车辆数量已经达到一个很大的规模,如何使车辆停放更有效率,更有秩序,这对停车场提出了更高要求。由于停车场场地有限,而且需要使车辆停放有一定秩序,故停车场需要划定若干个车位,并需要实时掌握停车场车位剩余情况。停车场根据车位剩余情况可以告知来停车辆是否可以进入,这一定程度上可以提高停车的效率。因此这就必须检测每个车位是否有车停放。

           而且目前商场或者火车站停车并没有实现停车智能化设计,大多数停车场只是实现了车位数量统计、显示以及分配,并没有实现停车位的完全智能化停车,往往在地下停车库,大多车主需要花费较多时间去找寻找一个车位,尤其在火车站,往往会延误车主的火车班次。但是这些系统具有一个普遍性就是需要进行车位检测。

    2.2车位检测技术汇总

    车位检测技术可以分为两大类:侵入式检测和非侵入式检测。

    1)侵入式检测

    侵入式检测的设备需要安装到地表下面。这些传感器的应用都非常成熟,不过正是因为它们在应用的时候需要挖开地表,不仅影响路面的使用寿命,而且在维修和更改应用的时候需要重新挖开地面,使它们逐渐被非侵入式取代。例如地磁式传感器检测。

    2)非侵入式检测

    非侵入式检测正是为了寻求解决侵入式检测传感器的这一缺点而提出来的。一般来说,它们在安装的时候对交通的影响较小,并且能够提供更高精度的数据。

    例如超声波车位检测。超声波车位检测使用超声波测距的工作原理,能可靠检测车辆是否在停车位上,但由于它采用主动式声波探测,因此在探测过程中易受环境因素的影响,同时由于超声特性容易出现误检测现象,不适合在室外环境使用。还有视频车位检测,视频车位检测器适用于城市室内外停车场车位检测,并可提供交通数据信息和事故检测信息,它的不足在于夜晚进行车辆检测的精度比白天要低很多,同时,在信息的准确性上有很大误差。

    以上的车位检测方案均有缺陷,不利于车位检测系统的维护管理。

    2.3传感器选型

    传感器的选型,要考虑到准确性、快速性、稳定性、抗干扰能力强、耗能低等方面的要求。考虑到上述传感器的缺点,因此选择一款合适的车位检测传感器显得尤其重要。

    这里选择AMR磁阻传感器。磁阻传感器体积小,对弱磁场反应灵敏,不易变形损坏,安装简单,受环境影响小。AMR磁阻传感器原理:物质在磁场中电阻发生变化的现象称为磁电阻效应,对于强磁性金属,当外加磁场平行于磁体内部磁化方向时,电阻几乎不随外加磁场而变;当外加磁场偏离金属的内磁化方向时,金属的电阻减小,这就是各向异性磁电阻效应,如图1所示。

     

    图1 磁场与电流间的夹角

    磁阻效应与磁化强度和电流方向的夹角有关。磁场与电流相互平行时阻值变化最敏感,而夹角为45°左右时,阻值的变化接近线性。

    AMR磁阻式传感器由4个镍铁合金薄膜电阻构成的惠斯通电桥组成,电桥4个臂阻值随外加磁场与内部磁化方向的夹角而变化。

    2.4系统设计结构图

    由AMR磁阻式传感器检测车位节点信号,并通过STM8L芯片进行ADC转换,数据处理后由Wifi无线传感组网,发送数据信号给嵌入式设备,并分析处理信号,来检测车位的占用情况,并把检测结果传输到服务器。系统结构图如图2所示。

     

    图2:车位检测系统结构图

    3.车牌识别及计时

    3.1 车牌识别方案概述

    停车场入口处安装摄像头用以记录车辆的车牌,同一车辆出入各检测一次,出去时刻减去进入时刻即为此用户使用停车场的时间(发送数据时需包含当前时间,以便记录车辆停留时间)。

    系统通过采用Cortex-A9核心控制板进行采集图片数据并进行数据图像处理,其中对于Cortex-A9核心处理板使用ARM_Linux系统,实现对图像视频流或者图片流数据处理,同时通过该主控制芯片连入公网,将车牌信息以及车主人脸信息传输之服务器端,同时将车次进入停车点的其实时间和终止时间记录。

    图3.1为车牌检测检测的流程图。

     

    图3.1总体流程图

    3.2 车牌识别

    车牌识别主要通过将采集到的数据进行拍照定位、字符分割及识别等技术得到,具体流程图如图3.2。

     

    图3.2 车牌识别的具体流程

    (1)牌照定位

           首先对采集到的图像进行大范围搜索,找到符合的区域座位后选取,然后对其进行进一步判断,最终选定最佳的区域分隔出来,具体流程如图3.3。

     

    图3.3 牌照定位算法

    (2)字符分割

           对检测得到的车牌进行切割,从而达到将每一位字符分隔开并为下一步做铺垫。具体流程如图3.4。

     

    图3.4 字符分割算法

    (3)字符识别

    对上一步所切割好的车牌小区域利用神经网络对切割的字符进行识别达到最终的车牌识别。

    3.3 Wifi传输

    使用WIFI频道,摄像头符合IEEE 802.11B/G标准协议。WIFI是由AP(Access Point)和无线网卡组成的无线网络。AP一般称为网络桥接器或接入点,它是当作传统的有线局域网络与无线局域网络之间的桥梁,因此任何一台装有无线网卡的PC均可透过AP去分享有线局域网络甚至广域网络的资源,其工作原理相当于一个内置无线发射器的HUB或者是路由,而无线网卡则是负责接收由AP所发射信号的CLIENT端设备。有了AP,就像一般有线网络的交换机或路由器一般,无线工作站可以快速且轻易地与网络相连。

    简言之,当交换机的一端接入了无线AP或无线路由器,在无线AP/无线路由器信号覆盖范围内,安装一个或多个无线摄像头,就组成了一个简单的无线视频监控系统,云台控制信号同样通过无线来传输。如果无线AP或路由接入了互联网,对无线摄像进行动态域名解析和端口映射之后,便可实现远程音视频监控了。

    3.4 硬件选型

    3.4.1地磁线圈注意事项

    (1)避开破损的路面、混凝土路面避开接缝。

    (2)周围50厘米范围内不能有大量的金属,如井盖、雨水沟盖板等。

    (3)周围1米范围内不能有超过220V的供电线路。

    (4)当环形线圈是被放臵于钢筋混凝土的钢筋之上时,线圈必须在钢筋之上至少5厘米,并应增加1-2匝线圈匝数。

    (5)两个线圈的间距必须大于单个线圈的宽度,两线圈的匝数必须相差1-2匝(至少每米双绞20次)。

    (6)线圈的引线按顺时针方向双绞(每米大于20次),放入引线槽中,在安全岛或路边手井出线时留1.5米长的线头。

    3.4.2摄像头

    摄像头选用ETSEE ET-CS200LX车牌识别枪式彩色摄像头;像素200万;镜头参数2.8mm-12mm电动镜头;最低照度:彩色:0.05Lux@F1.2;光圈:自动光圈;码流类型:双流码;帧率:PAL:1-25帧/秒;NTSC:1-30帧/秒;接口协议:标准ONVIF2.4和GB28181协议。视频压缩:H.265;视频帧率:主视频流:1920*1080;1280*720,次视频流:704*576;640*480;640*352;320*240。

    3.4.3单片机

    单片机选用stm32。该单片机的优点有

    (1)极高的性能: 主流的Cortex内核。

    (2)丰富合理的外设,合理的功耗,合理的价格。

    (3)强大的软件支持:丰富的软件包。

    (4)全面丰富的技术文档。

    (5)芯片型号种类多,覆盖面广。

    4.移动导航机器人

    4.1 移动导航机器人概述

    针对现实生活中室内环境的复杂性与多样性,并且某些危险地带的内部环境可能会对人的生命安全造成威胁的特点,我们进行了部分创新型探索:我们开发的产品是基于kinect三维建模的移动机器人系统,其包含激光雷达模块,双目广角摄像头模块,红外避障模块,IMU模块,超声波传感模块等,并且,该平台还具有装覆履带、气体传感器等装置的能力,可以全方位检测环境的真实情况。通过WIFI模块传输数据来实现整个系统的远程交互。本次涉及系统主要用于对于停车场车位导航,实现车库的快速停车。

    针对大视角情况下移动机器人 3 维视觉同步定位与地图构建性能下降的问题;我们采用GPU 并行技术,利用 CUDA、 OpenAcc 等编程语言实现本文提出的AORB 算法,并且构建了分布式的基于 Kinect 相机的移动机器人大视角 3 维 V-SLAM 系统,提出了一种快速的仿射不变特征检测与匹配算法,满足了大视角变化情况下的特征检测与匹配的速度和精度要求;结合蓝牙跟随技术等,最终对移动机器人 3 维视觉同步定位与地图构建性能进行了可观的提升。大大提高了生产工作效率,在工作效率和工作量都需要大幅度提升的现代社会为生产生活带来极大的便捷。

    4.2移动机器人研究内容

    4.2.1基于Kinect的深度数据处理功能:

    由于当前所选用的视觉传感器在三维SLAM建模过程中存在的问题,所以我们选用Kinect作为视觉传感器进行建模。Kinect 是一种简单、廉价、方便的主动传感器,能够快速获取环境的彩色信息与深度信息,且不受光谱的影响3 维 V-SLAM 方法。该平台通过从 Kinect 获取的 RGB 图像中提取 SIFT特征点,结合深度数据与迭代最近点算法(ICP)。估计出手持摄像机的位姿,同时建立环境的 3 维模型。为了减少算法的运行时间, SIFT 算法采用 GPU 编程实现。该方法获得了较好的物体重建效果,但没有给出摄像机的运动轨迹信息。在移动机器人进行 3维 V-SLAM 时,往往由于复杂环境中光照、地形等外部环境条件的影响,机器人位姿的变化会使图像相邻帧 RGB 图像中目标的观测视角发生较大的改变,在这种情况下上述 V-SLAM 方法的性能会降低。

     

    图4.1 Kinect实物图

    以低成本Kinect传感器模拟出二维激光雷达功能,大致步骤为:首先采集Kinect原始深度数据,然后通过滤波与类似平滑处理的方法优化Kinect深度数据,主要是修复部分丢失的深度数据,最后经几何模型转换后获得环境信息。

     

    图4.2 深度数据几何模型简图

     

    图4.3 深度图像数据噪声处理

    运行流程如图:

    图4.4 运行流程图

    4.2.2使用DSO_SLAM进行三维建模:

    首先我们试图解决这样的问题:一个机器人在未知的环境中运动,如何通过对环境的观测确定自身的运动轨迹,同时构建出环境的地图。因此我们选择并优化了DSO_SLAM算法。

    DSO(Direct Sparse Odometry),是慕尼黑工业大学计算机视觉实验室的雅各布.恩格尔(Jakob Engel)博士,于2016年发布的一个视觉里程计方法,在SLAM领域,DSO属于稀疏直接法,据论文称能达到传统特征点法的五倍速度(需要降低图像分辨率),并保持同等或更高精度.DSO算法框架与数据表示如下图:

     

    图4.5 DSO算法框架与数据表示

    如上图上半部分所示,在FullSystem里,DSO致力于维护一个滑动窗口内部的关键帧序列。每个帧的数据存储于FrameHessian结构体中,FrameHessian即是一个带着状态变量与Hessian信息的帧。然后,每个帧亦携带一些地图点的信息

    后端优化部分单独具有独立的Frame, Point, Residual结构。由于DSO的优化目标是最小化能量(energy,和误差类似),所以有关后端的类均以EF开头,且与FullSystem中存储的实例一一对应,互相持有对方的指针。优化部分由EnergyFunctional类统一管理。它从FullSystem中获取所有帧和点的数据,进行优化后,再将优化结果返回。它也包含整个滑动窗口内的所有帧和点信息,负责处理实际的非线性优化矩阵运算。

    每当新的图像到来时,DSO将处理此图像的信息,流程如下:

     

    图4.6 DSO中VO图像处理流程

     

    图4.7 程序运行实验图

    4.2.3蓝牙定位跟随实现:

    蓝牙定位基于RSSI(ReceivedSignalStrengthIndication,信号场强指示)定位原理。根据定位端的不同,蓝牙定位方式分为网络侧定位和终端侧定位。

    网络侧定位系统由终端(手机等带低功耗蓝牙的终端)、蓝牙beacon节点,蓝牙网关,无线局域网及后端数据服务器构成。其具体定位过程如图:

     

    图4.8 定位过程图

    4.2.4基于双目摄像头的三维建模技术:

    此次智能机器人的设计,我们采用三维矢量图形来替代三维位图。通过对空间点的三维建模延伸到对空间直线和曲线的三维建模,最后用以实现全像素的三维空间建模。

    由双目立体视觉进行三位重建的第一步是立体匹配,通过寻找两幅图像中的对应点获取视差。OpenCV 中的features2d库中包含了很多常用的算法,其中特征点定位的算法有FAST, SIFT, SURF ,MSER, HARRIS等,特征点描述算法有SURF, SIFT等,还有若干种特征点匹配算法。经过实验,我们此次选择了一种速度、特征点数量和精度都比较好的组合方案:FAST角点检测算法+SURF特征描述子+FLANN(Fast Library for Approximate Nearest Neighbors) 匹配算法进行双目三维建模。

    图4.9 双目摄像头建模原理

    4.2.5激光雷达避障

    用激光器作为发射光源,采用光电探测技术手段的主动遥感设备。激光雷达是激光技术与现代光电探测技术结合的先进探测方式。由发射系统、接收系统、信息处理等部分组成。发射系统是各种形式的激光器,如二氧化碳激光器、掺钕钇铝石榴石激光器、半导体激光器及波长可调谐的固体激光器以及光学扩束单元等组成;接收系统采用望远镜和各种形式的光电探测器,如光电倍增管、半导体光电二极管、雪崩光电二极管、红外和可见光多元探测器件等组合。

     

    图4.10 激光雷达实物图

    激光雷达采用脉冲或连续波2种工作方式,探测方法按照探测的原理不同可以分为米散射、瑞利散射、拉曼散射、布里渊散射、荧光、多普勒等激光雷达。激光本身具有非常精确的测距能力,其测距精度可达几个厘米,而LIDAR系统的精确度除了激光本身因素,还取决于激光、GPS及惯性测量单元(IMU)三者同步等内在因素。随着商用GPS及IMU的发展,通过LIDAR从移动平台上获得高精度的数据已经成为可能并被广泛应用。
        通过激光雷达获取到三维点去数据后。进行点云分离,然后进行聚类,一般都是通过计算相邻两个激光点间的距离来决定是否属于同一类。聚类完之后进行障碍物识别。识别也障碍物之后,进行前后两频对比,可以识别是静态障碍物还是动态障碍物。动态障碍物也可以计算出运动速度等。结合无人驾驶汽车当前的位置信息,计算出避障所需的最小安全距离,达到避障功能。

    4.3移动机器人研究目标

     

    图4.11系统应用框图

    其小车系统整体框图如图4.11所示,小车对整个地下车库进行系统建模,实现3D模型的建立,构建一个地下车库模型,整个控制主板如下:

    小车通过深度摄像头采集相关数据,通过DS0_SLAM建模,并完成对其地图更新,同时发送信号实时更新建立好的导航地图,更新车位信息,同时小车加入了各种避障手段,实现有效避障,将更新建立好的导航地图实时传输至服务器。

    4.4大致效果以及主要技术指标和水平

    4.4.1主要技术指标:

    加速度传感器:MPU9205 9轴陀螺仪,精确度能够达到0.0.1°。

    摄像头分辨率:1080*720,视角可达178°广角。

    九轴电机:输出轴径6mm,脉冲3072CPR/圈,顿定功率17W,

    额定扭矩0.16NM。

    运动性能参数:最大速度0.8m/s,最大加速度1.5m/s^2,

    最大角速度:230deg/s^2,最大角加速度660deg/s^2

    4.4.2大致小车建模图

     

    图15 ORB_SLAM2建立环境三维模型

     

    图16 DSO_SLAM进行三维建模

    5.服务器端

    5.1基于B/S架构下的WEB开发技术

    在整个WEB开发技术中一共有两种开发模式,一种是C/S架构(Client/Server,客户端/服务器),一种是B/S架构(Browser/Server,浏览器/服务器)。C/S架构主要应用在于局域网,对网速要求比较高,而且客户端界面缺乏通用性,随着用户数量的增多,会出现通信拥堵、服务器响应速度慢等情况,系统的维护也比较麻烦。B/S架构是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。对本次设计来说,B/S架构更适合这个系统。

    B/S架构只有极少数事务逻辑在前端实现,大部分主要事务逻辑在服务器端实现。前端大部分是做一些数据渲染、请求等比较少的逻辑处理。B/S架构有三层,分别为表现层、业务逻辑层和数据存储层。其中表现层用于界面引导,接受用户输入,并向应用服务器发送服务请求,显示处理结果;业务逻辑层执行业务逻辑向数据库发送请求;数据存储层执行数据逻辑,运行SQL或存储过程。具体架构图如图1所示。

     

    图5.1 B/S架构

    B/S架构有许多优点:客户端无需安装,有WEB浏览器即可;它可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强;无需安装客户端,只需要对服务器进行定期的维护升级。但由于B/S架构的主要功能都依赖服务器对事务逻辑的处理效能,服务器数据负荷通常都很严重,一旦服务器崩溃,对于整个系统和用户群体来说都是灾难性的打击。B/S架构的设计中服务器占据重要的地位,下面讨论服务架构。

    5.2服务器架构

    本次设计服务器的主要功能是存储车牌信息和车主人人脸信息、存储车位空闲信息数据、存储车辆出入时间信息以及响应web或APP端的请求并进行数据处理。本次设计只针对北广场停车位信息的管理调度,所以服务器架构采用前端服务器+应用程序服务器+数据库服务器+分布式缓存服务器的基础架构。其中数据服务器可采用主从配置,以满足读写分离的需求,改善数据库的负载压力。具体架构如图2所示。

     

    图5.2 服务器架构

    Web服务器包含各种超文本信息,可以接受Web浏览器的请求,协调、收集、组合包含静态和动态的Web页面,并将它们发送到客户端的浏览器。Web前端服务器对服务器的要求不高,单核CPU再搭配2G的内存就能满足基本的需求。在本次设计中,Web服务器应能满足用户对停车位的查询,并能够实现移动机器人的预约。

    应用服务器承担计算和功能实现,需要处理速度够快,考虑到它运行时会占用大量内存,所以对它的配置要求会比较高,此外由于架构中只有一台应用服务器,若想要服务器足够可靠,RAID是绝对不能忽视的选项。在本次设计中,应用服务器会调用数据库中存储的车牌数据和车辆进出时间数据,计算用户消费金额;同时还会根据车位空闲信息数据合理调度车位资源,满足用户预约需求。

    数据库使用SQLServer,这要求数据库服务器需要足够快的CPU,足够大的内存,足够稳定可靠的硬件。数据服务器对服务器配置要求最高。数据服务器主要实现车牌信息和车主人人脸信息、车位空闲信息数据、车辆出入时间信息数据的存储,并能响应用户服务器的调度请求。数据服务器还将记录移动小车的占用情况,对移动小车发回的性能数据进行分析处理。

    分布式缓存服务器对一些需要经常访问的数据提前进行缓存以改善网站性能。网站的缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存本地缓存的访问速度会快一些,但是受应用服务器内存限制,缓存数据量很有限,而且会出现内存争用的情况,远程分布式缓存可以使用集群的方式,部署大内存的服务器作为专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服务。

    5.3.数据库的设计

      数据库设计分为数据库关系模型设计和数据库逻辑结构设计。

    I.数据库关系模型设计

    数据项和数据结构如下:

    ⑴车位信息

    车位信息包含有序号ID、车位号、车牌号、车位区域、状态码5个信息。车位信息E-R图如图3所示。

     

                                   图5.3 车位信息E-R图

    ⑵移动机器人信息

    移动机器人信息包含有序号ID、机器人位置、状态码3个信息。移动机器人信息,同时包含导航机器人实时传输过来的导航图,E-R图如图4所示。

     

    图5.4 移动机器人信息E-R图

    ⑶停车信息

    停车信息包括序号ID、车位号、车牌号、泊车时间、驶离时间、停车费用6个信息。停车信息E-R图如图5所示。

     

    图5.5 停车信息E-R图

    ⑷管理员信息

    管理员信息包括序号ID、用户名、密码3个信息。管理员信息E-R图如图6所示。

     

    图5.6 管理员信息E-R图

    ⑸预约信息

    预约信息包括序号ID、预约用户的用户名、预约时间、预约车位4个信息。预约信息E-R图如图7所示。

     

    图5.7 预约信息E-R图

    ⑹收费标准信息

    收费标准包括序号ID、各时段费用、预约费用3个信息。预约信息E-R图如图8所示。

     

    图5.8 预约信息E-R图

    6.系统相关通信协议

    6.1 整体协议用途

    首先将停车场划分区域,每个区域设置一个区位管理器,除了自身进行数据传输,还在链路中起中继传输站的作用,将每个区域内的停车位信息传送到目的站点。

     

    图6.1系统协议架构

           通信流程:车位信息收集的启动、每个停车位探测器节点对于车位情况的探测和信息上传、区位管理器对本区车位信息的汇总和上传。

    (1)   车位信息收集的启动

    上位机可以通过无线数据收发器对每个区位管理器发送“车位信息收集”命令。假设命令是一个字节,可以用高四位表示不同区位,低四位表示信息收集命令。比如,如果上位机想要获知IP地址为“400”的区位管理器所收集的车位信息,应该发出“0

    x4A”的命令。只要确定了某一分区,负责此区的区位管理器就发送命令给各个车位从而启动车位探测命令,与上位机的命令类似但采用不同命令符表示收集命令。

    (2)   车位探测器探测车位上传信息

    每个车位探测器将信息传给区域所属的区位管理器,都属于单方向传出数据。可以采用0x00表示空闲,0x01表示有车。信息传输时考虑到部分车位探测器距离区位管理器较远,不能直接传输,可以采用多跳传输方式,经过其他节点跳传中继。

    (3)   区位管理器将车位信息简单整理打包上传

    区位管理器将收集到的区域内车位占有情况整理打包,汇总发送到上位机,可以采用wifi模块或者无线数据收发器经RS232上传到上位机。

    6.2 Modbus协议应用

           通讯协议可以采用Modbus协议,一种请求/应答型协议,能够提供协议帧对应功能码所规定的的服务。

    Modbus协议处理流程图

     

     

    地址码是通讯传送的第一个字节,表明由用户设定地址码的从机将接收由主机发送来的信息;每个从机都应该改由唯一的地址码而且从机回送信息时,相应的地址码能表明该信息来源(本系统即能够判断出该地址码所对应的车位点)。功能码是通讯传送的第二字节,当主机请求发送时,通过功能码告诉从机执行何种命令;作为从机响应,从机发送的功能码与主机发的系一样,表明从机已经对主机的命令执行操作响应。数据区包含需要从机执行的动作或由从机采集的返送信息。差错校验即从机或主机用校验码判别信息是否出错,错误校验码能够保证主机或从机对传送过程中出错的信息不起作用。

    当服务器对客户机响应时,它使用功能码来指示正常响应,或者某种差错响应。对于一个正常响应来说,服务器只对原功能码进行响应,副武器的异常响应帧将会带回一个异常码以提示差错的类型;同时,Modbus还需要提供一个超时管理,以限时等待可能的不出现应答状况。

    Modbus协议的物理层有两种通讯方式,一对一和广播。本系统中采用广播形式,主设备对N个从设备,从设备无响应,用0地址表示广播地址。Modbus不同功能码定义不同的作用,从设备将测量值定义到变量中,主设备通过读取不同地址的变量来采集数据;如其中功能码3定义为读取一个或多个保持寄存器中取得当前的二进制值,主要用于主机采集从机数据、功能16定义为写多个寄存器,主机从一个规定的地址开始写寄存器。

    除Modbus协议之外,在车位信息和导航路线的传输中还可以采用UDP和TCP协议。

    6.3 UDP(User Datagram Protocol 用户数据报协议)

    UDP是一个面向数据报的传输层协议,而且传送报文之前不需要先建立连接,只提供数据的不可靠传递,在IP数据包头部只加入了复用和数据校验字段。

           UDP的两个字段:数据字段和首部字段。其中首部由4部分组成,分别是:源端口、目的端口、长度、校验和,源端口和校验和是可选的。

           UDP协议是不可靠协议,没有拥塞控制,支持一对一、一对多、多对一和多对多的交互通信,但由于它允许一定数量的丢包、出错和复制粘贴,所以不适合在需要很高可靠性的情况下使用。

    6.4 TCP(TRAsmission Control Protocol 传输控制协议)

           TCP是面向连接的、可靠的传输层通信协议,使用此协议进行传输数据前需要先建立连接,传输结束释放连接。TCP连接是点对点连接,每一条连接有且只有两个端点。

           TCP创建连接需要通过一个三次握手的过程,三次握手的过程如下:

    1.客户端向服务器端主动发送一个SYN,客户端把这段连接的序号设定为随机数A。

    2.服务器接收到后为合法的SYN会送一个SYN/ACK.ACK确认码为A+1,同时SYN/ACK包本身也有一个随机产生的序号B。

    3.最后客户端再次发送一个ACK,服务器端接收到ACK时就完成了三次握手,进入连接创建状态.这时包序号被设定为收到的确认号A+1,响应号为B+1。

    图2-1 TCP建立连接三次握手

    三次握手成功建立完连接之后就可以进行数据传输。在数据传输状态,TCP采用了很多重要的机制保证可靠性和健壮性。包括:使用序号对报文进行排序并监测重复的数据;使用校验和来监测数据包错误,保证无错传输;使用确认和计时器来防止丢包和延时;拥塞控制、丢包重传等。

    7. 智能停车场软件管理系统

    7.1停车管理软件系统概述

    针对无锡站停车场出现车流量较大的情况,设计了用户和管理员端的软件管理系统。手机APP与车牌识别系统相结合,进出自动识别车牌,手机APP客户端可通过输入车牌自助缴费,出场自动识别车牌,无线停车场缴费等待,完全实现出入无人化管理。手机APP端能够实现查询空余停车位,智能停车,缴费等功能。驾车者在出行前或在出行中,即可获知目的地周边停车场情况,预订自己中意的车位,并告知停车场计划停车时间。若无车位,则改变出行方式。

    驾车者离开可快速找车,提前输入车牌缴费,诚少现金交易,极大提高车辆出场时间,使车场的运行效率更快更高。

    同时管理员系统端集聚了人性化的操作界面、稳定高效的数据库管理、清晰的图像显示、良好而灵活的自动控制和精准的数据处理功能,高效、稳定、全面的满足客户的需求。

    该系统主要分为两大模块:用户系统和管理员系统;用户系统主要包括:定位引导模块、剩余停车位查询模块、车位预定模块、付费模块等。管理员模块主要包括:车辆出入监控模块、出入记录查询模块、进出照片墙模块、停车场报表以及车牌识别实际效果展示图。

    7.2手机APP系统的框架及功能设计

    首先对用户模块也就是系统的手机APP部分进行了设计,用户模块的目的在于满足司机的需求,着眼于停车场的地理分布,帮助司机迅速、全面的获得目的停车场信息,以便制订规划。系统主要实现以下功能:

    1.定位引导功能。系统可以根据车辆或者手机GPS数据确定车辆位置,实时显示在地图上,便于用户判断方位,确定路线,当确定停车场后进行路线规划和导航。

       考虑到地下停车场规模大,结构复杂,且车位利用率高。WIFI室内定位技术具有定位精度高、成本低、信号范围大等优势。GPS通过周边AP信号的MAC地址去查询不同AP的坐标,WIFI室内定位通过接受信号并参考数据库终端的AP坐标来进行计算,根据信号的强度计算出所在的位置,当智能手机等设备开启WIFI后,可以自动扫描附近的热点,同时上传它们的位置信息。

    对停车场进行AP节点和WIFI信号的全方位布设,通过将采集和传输的实时数据进行分析处理,建立相应数据库,再利用智能机器人用于诱导用户的停车取车和车辆定位。

    2.查询功能。为了能够满足不同用户的不同要求,系统提供按按停车位空闲程度和按收费标准查询进行组合查询。查询结果会在电子地图上显示,并显示停车场的名称、地址、空闲车位数、收费标准、用户评价等信息。

     

    图7.1:APP大致效果图

     

    图7.2 系统管理流程

    3.停车位预定功能。根据查询结果,用户可以提前预订停车位,并向服务器发送预订请求,如果完成预订会收到预订信息,并可以查看和取消预订。具体停车流程如下:

    4.付费功能。该系统支持多种支付方式,主要有扫码支付、输入卡号支付、输入车牌号支付等支付方式。

    扫码支付:用户在准备出场时需扫描停车卡,上二维码即可获取订单信息,线上支付后方可通行;输入卡号支付:用户在准备出场时需输入停车卡上编号即可获取订单信息,线上支付后方可通行;输入车牌号支付:用户在准备出场时需输入车牌号码即可获取订单信息,线上支付后方可通行;用户可通过银联、支付宝、微信缴费这三种模式进行线上缴费,支付方式如下图所示。

     

    图7.3 支付方式选择图

    车牌支付流程:

     

    图7.4:车牌支付流程

    5.车位锁功能

    手机APP在提供车位锁功能的车场中为用户提供智能开关车位锁功能,只需要打开手机APP,它将会帮您匹到你想控制的车位锁,用户只需点击手机,便可轻轻松松开关车位锁。

    6.先出场后缴费

    该系统用户离场时无需现金支付,平台会根据用户的停车时间段进行计费,自动从用户的电子钱包扣除并给用户短信通知和售价APP消息推送,用户可随时操作。

    7.3管理员端的软件管理系统的设计

    管理员端的管理系统主要包括车辆出入监控模块、出入记录查询模块、进出照片墙模块、停车场报表以及车牌识别实际效果展示图。

    该系统是停车场设备的配套设施,管理系统中控制、操作、和处理数据的核心部分,软件安装在收费岗亭的电脑上,提供给客户进行数据处理使用。具体流程图如下:

    图7.5:系统功能模块

    1. 出入监控模块:实时监控出入口道口情况,进出图像对比功能,出场临时车辆确认收费放行,进出实时信息查看。

    2.停车场报表模块:系统具备多种报表,含月租卡缴费报表、储值卡充值报表、临时卡收费报表、储值卡收费报表、停车场收费统计报表以及在场车辆报表。

    3. 出入记录查询模块:可按多种条件查询车辆出入数据每条数据均有图片可查,数据包含卡号、车牌号、进出时间等信息。

     

    图7.6 系统大致效果图

    4.进出照片墙模块:系统带照片墙功能,形象直观显示进出车辆、临时车辆照片信息,如下图所示。

     

    图7.7 系统大致效果图

    7.4.未完全识别车牌的特殊处理模块 

    (1)影响车牌识别率的原因

    车牌识别率不小于90%,个别厂家广告资料达到98%或9%。识别率没有达到100%,应从以下方面查找原因:①车辆检测器;②对于车底盘过高的车 辆或者车辆从地感旁边绕行,会因没有触发车辆检测器,不会启动车牌识别系统。③环境气候;④在雨、雪、大雾等气候条件下,会降低车牌识别率。⑤车牌遮挡、严重污点⑥停电原因或者系统故障

    (2)未识别车牌的处理

     ①车辆进场,自动存储车牌:系统自动抓拍车辆照片,自动识别出该车的车牌号码,记录出区时间、车牌号码、车辆照片,然后存入数据库。

    ②对于没有入场车牌的车辆:出场时,人工键盘输入车牌。人工输入的车牌,首先和数据库内的固定车牌自动比对查询,如果查询为固定车辆,在交费有效期内,人工开闸放行;如果查询为固定车辆,交费过期,按照临时车辆交费,然后放行。

    如果查询不是固定车辆,系统会自动在“在场临时车辆”信息中模糊查询,没有找到合适的车牌,按照最低收费标准收费,人工注释原因,开闸放行。

    (3)、软件管理系统作业流程图

     

    图7.8:软件管理系统作业流程图

    8.结论

    本系统设计一个基于移动机器人的停车管理系统,通过传感器检测空余车位,用户可以通过手机进行查询商场停车场是否有车位,同时可以预约停车场机器人时间段,其中移动机器人是引导车主在一个地下三层的停车场内快速找到空闲车位,能够在北广场这样的地方有效的节省时间,同时加入了APP和WEB界面,可以让车主出来迅速找到自己的车位置,有效节省时间,

  • 相关阅读:
    Android入门:Button
    Android入门:部署时的常见错误
    to be
    Android入门:单元测试
    忘记 MySQL 的 root 帐号密码该怎么办
    Eclipse开发build path中jar包部署到应用中
    报告两个bug
    本站导引
    一个用Word做报表设计的报表系统windwardreports
    智能互联网
  • 原文地址:https://www.cnblogs.com/zhuhongzhous/p/10307707.html
Copyright © 2020-2023  润新知