【《一种基于OpenMV机器视觉模块的泊车系统设计》4800字】_第1页
【《一种基于OpenMV机器视觉模块的泊车系统设计》4800字】_第2页
【《一种基于OpenMV机器视觉模块的泊车系统设计》4800字】_第3页
【《一种基于OpenMV机器视觉模块的泊车系统设计》4800字】_第4页
【《一种基于OpenMV机器视觉模块的泊车系统设计》4800字】_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE4一种基于OpenMV机器视觉模块的泊车系统设计目录TOC\o"1-3"\h\u15291一种基于OpenMV机器视觉模块的泊车系统设计 1295980引言 1286441泊车系统设计方案 2309661.1设计功能要求 2263711.1.1基本要求 2144011.1.2发挥部分 232741.2方案规划 2100021.2.1核心控制单元的选择 3323851.2.2系统识别的选择 3316302硬件电路的设计 4224762.1OpenMV机器视觉模块 4288162.1.1OpenMV特点 4263002.1.2OpenMV外形图 4102412.1.3OpenMV的电路图 523752.2Arduino控制板 512562.2.1Arduino特点 5183292.2.2Arduino电路图 6253402.3液晶屏1602显示模块 666232.3.1LCD1602特点 6327022.3.2LCD1602外观图 6321243系统程序设计 6187863.1OpenMV程序设计 7237473.2Arduino程序设计 7107723.3OpenMV与Arduino通信 896483.3.1通信软件程序设计 8231373.3.2通信硬件连接设计 838903.4Arduino与LCD的连接设计 9234874系统测试 9189534.1数据测试 1011674.2运行测试 103195总结 130引言21世纪的今天,我国社会逐步提升,人们生活水平不断提高。汽车作为现代工业文明标志之一的同时,也加快了工作和生活方式的节奏。近几年来,我国的交通行业以及汽车的制造业在逐年地提升,人们对汽车泊车的舒适性、便利性的需求也越来越大。无论是在街道上,公路上,还是居民小区的停车场等都是拥挤不堪的场景,现有的泊车空间又总是无法合理利用起来,因而停车问题已经成为困扰大中城市发展的重要因素。那么,如何进行停车系统的智能化管理呢?对于停车系统的管理智能化,作为智能交通系统ITS的主要组成部分,是指利用先进的现代科学与技术对停车场的设计进行自动化、智能化的方式去管理停车场、运营停车场,打破传统的旧型人工或半人工管理方式,提高停车场所在区域的稳定性、安全性、便捷性和停车场管理系统运行的自动化程度。伴随着现代科学与技术在各个领域中相互渗透,相互促进发展,泊车系统的设计方案也呈现多样化的发展趋势。系统的多样性愈加明显,其中系统的主要技术包括计算机技术、通信技术和电子技术。系统的研究方向上,该设计作品的以Arduino单片机为核心控制单元,利用OpenMV的多模板匹配进行车辆识别的检测,再通过LCD进行车位数量以及停车计时计费的显示。本设计希望能对智能化停车场的设计起着一定帮助作用。1泊车系统设计方案1.1设计功能要求该课题为泊车系统的设计与制作,作品的功能要求如下:1.1.1基本要求设计一个具有6个车位的泊车系统,编号为1-6。设计控制系统显示当前剩余车位,剩余车位号。按小时进行计费,每小时收费2元,如果不足1小时,则按1小时计算,汽车驶出时,在屏幕显示收费总计。1.1.2发挥部分(1)设计停车时间超过10小时未超过24小时,按20元/天进行计算。(2)超过24小时,未超过34小时,按2元/小时计算。(3)超过34小时,未超过48小时,按20元/天计算。1.2方案规划按照设计要求,泊车系统由直流电源、自动遥控小车、OpenMV机器视觉模块、Arduino控制板以及1602液晶I2C显示模块等构成。其系统总设计框图如图1.1所示:图1.1系统总设计框图1.2.1核心控制单元的选择方案1:选用德国意法半导体有限公司最新推出的STM32系列控制芯片。STM32系列控制芯片其拥有性能高、功耗低、可裁剪等的特点,还具有意法半导体公司所提供的免费的软件库和来自第三方工具制造商的支持。但考虑该系列芯片使用成本较高,且在数据处理上会造成不必要的浪费资源,所以我没有采用该系列芯片作为系统的控制芯片。方案2:选用STC公司生产的STC89C52控制芯片。该芯片是一种功耗低、性能高的CMOS8位微控制器,还具有8K字节系统的可编程Flash存储器,其内核的使用为经典款MCS-51,不过在经过对芯片的改进之后,使得芯片拥有了传统的旧式51单片机所不具备的功能特点,其能够为许多嵌入式的系统提供便捷、灵活、和高效的问题解决方案。但该芯片无法实现与机器视觉模块的通信,所以我也没有采用这款芯片作为系统的控制芯片。方案3:选用基于Atmega328P的ArduinoUnoR3的微控制器板。该芯片不仅仅是拥有开放型原始代码的simpleI/O平台,而且还拥有开发环境IDE和开发语言python等都十分简单、利于理解、使用便捷的特点。其中软件部分是ArduinoIDE,用于计算机中的程序开发环境。综合考虑下,ArduinoUnoR3芯片完全能够胜任系统的控制任务,所以选择方案3作为本设计的核心控制单元。1.2.2系统识别的选择方案1:选用地感线圈进行车辆检测。其主要优势在于技术成熟,灵敏度高,成本低,抗干扰能力强,但缺点在于安装复杂,需要对地面进行切割,影响停车场路面寿命,并且后期维护不方便。考虑以上优缺点,所以没有使用该方案作为本设计的系统识别装置。方案2:选用红外进行车辆检测。其优点在于抗干扰能力强,价格低廉,制作简单,安装方便,但缺点在于方向性差,测量精度低,易受灰尘、雨雪、雾霾干扰。综上优缺点,所以同样未采取该方案作为本设计的系统识别装置。方案3:选用声学检测技术进行车辆检测。声学检测器利用声学技术设计和制造,其核心为信号处理算法,传感器通过接受声能的增强和减弱,以此判断车辆通过与否。其缺点是声学检测对环境要求较高,易收到外部环境的影响,从而造成误判率较高。综上缺点,不采取该方案作为本设计的系统识别装置。方案4:选用机器视觉模块OpenMV进行车辆检测。OpenMV是一款具有耗能低,成本低特点的小巧型摄像头,可以多领域地涉及到机器视觉所在领域的各个方面。并且OpenMV本身就搭载有ARMCortexM7的处理器,还带有216MHz的主频,2MB的flash,以及512KB的RAM,尤其的符合通信和扩展的基本要求。[2]而在进行开发时,又可以在OpenMVIDE上进行编程调试图像处理的相关算法和Python库。在综合考虑有关技术的优缺点后,决定采用方案4作为本设计的系统识别。2硬件电路的设计2.1OpenMV机器视觉模块2.1.1OpenMV特点本设计对车辆进行检测的模块为OpenMV摄像头。OpenMV机器视觉模块,在固定好摄像头之后,首先对停车场的泊车位进行全方位图像采集,然后将收集到的图像信息数据传送至具有STM32F427的OpenMV系统进行模板匹配[3],在本设计的泊车过程中采用的是多模板匹配。这款摄像头具有如下特点:(1)搭载MicroPython解释器,可通过Python进行嵌入式编程。(2)自带IDE,具有自动提示功能,且可直接查看图像窗口。(3)带有卡槽USD,其拥有100Mbps的读写能力[4],能够进行照片的拍摄和视频的录制,而所收集到的素材可在SD卡中提取出来。2.1.2OpenMV外形图利用OpenMV摄像头去实现动态特征下的远距离、无接触地测量汽车的大致位置。其中OpenMV机器视觉模块外形如图2.1所示。图3OpenMV摄像头外形图2.1.3OpenMV的电路图OpenMV的电路结构图中右边的UART端口从上至下分别为GND接地端、TXD发送端、RXD接收端以及VCC电源端。其摄像头具体电路结构如图4所示。图2.1OpenMV电路结构图2.2Arduino控制板2.2.1Arduino特点设计采用的核心控制单元为ArduinoUnoR3控制板。采用的这款开发板具有一个既方便于使用软件,又方便于使用硬件的开源的电子平台。这款核心单元开发板具有以下特点:(1)编程环境清晰、明了。ArduinoIDE软件适合初学者使用,且足够灵活,易于自学在该环境下的工作原理。(2)代码开源,软件、硬件易于扩展。Arduino软件作为开源工具发布,可以进行编程语言的开展,也可以进行硬件的扩展。(3)价格实惠,成本较低。该开发板与其他的微控制器平台相比,Arduino板相对来说更低功耗、更低成本。2.2.2Arduino电路图Arduino控制板的电路图和外形图如图2.2所示。可以看到ArduinoUnoR3包括从0至13的数字引脚,从A0至A5的6个引脚,以及电源、USB、ICSP等插孔。图2.2Aduino电路图和外形图2.3液晶屏1602显示模块2.3.1LCD1602特点本设计在显示模块的采用是LCD1602液晶显示屏。该款显示屏是能够广泛地应用于需要显示各个字符部分的液晶型显示模块,其构造中主要包括字符型的液晶屏LCD、能够控制驱动主电路的HD44780及其可以进行扩展驱动电路的HD44100,还包括些许少量的电阻、电容的原件和一些结构件等装配在PCB板上而组成。其次,该款LCD1602液晶显示屏能够进行显示的容量可以达到16*2个字符,而芯片的工作电压为4.5~5.5V,工作的电流为2.0mA,2.3.2LCD1602外观图LCD1602的外观图如图2.3所示。其电路图中包含16个引脚,与标准LCD1602的14个引脚相比,它带有背光的接口,接背光源的正负两极。图2.3LCD1602显示模块3系统程序设计3.1OpenMV程序设计该系统是在OpenMVIDE上运行,设置标志位flag初始化为0。首先OpenMV的摄像头模块对泊车系统的停车位P标志进行模板匹配,如果不能进行模板匹配,则查看标志位是否为0,如果此时标志位为0,则将标志位置1,并记录当前时间,继续进行下一个车位的模板匹配;如果能够进行模板匹配,则进行标志位的检测,如果此时标志位为1,记录当前时间,计算时间差、计算停车费用,并将标志位置0,继续进行下一个车位的模板匹配。OpenMV模块的流程图如图3.1所示。图3.1OpenMV程序流程图3.2Arduino程序设计该系统是在Arduino带有的开源型平台上运行,其中json数据主要来自于OpenMV模块。当接收到来自OpenMV模块的json数据后,对标志位进行判断,如果标志位flag为0,则LCD1602液晶显示屏显示停车信息5秒,包括车位号、停车时间、停车费用,再显示剩余车位个数;如果标志位不为0,则LCD1602液晶显示屏直接显示剩余车位个数。其程序流程图如图3.2所示。图3.2Arduino程序流程图3.3OpenMV与Arduino通信3.3.1通信软件程序设计在启动OpenMV后,机器视觉模块首先识别泊车位的停车点,主要是通过多模板匹配获取数据信息,通过标志位的设置再将json数据发送到Arduino开发板,arduino连接LCD1602显示屏,从而得到显示结果。3.3.2通信硬件连接设计实现OpenMV与Arduino之间的通信,OpenMV的P4(TX)端口与Arduino的10号(RX)数字端口对应,OpenMV的P5(RX)端口与Arduino的11号(TX)数字端口对应,OpenMV的GND端口与Arduino的GND端口对应。实现二者通信的具体连接方式,如图3.4所示。图3.4通信硬件连接设计图3.4Arduino与LCD的连接设计实现Arduino与LCD1602之间的连接,Arduino的A4端口与LCD1602的SDA端口对应,Arduino的A5端口与LCD1602的SCL端口对应,Arduino的GND端口与LCD1602的GND端口对应,Arduino的5V电源接LCD1602的VCC端口。实现二者连接的硬件具体连接方式,如图3.5所示。图3.5Arduino连接LCD1602设计图4系统测试4.1数据测试在测试过程中,由于模拟停车场的光源问题,会出现模板匹配不稳定的情况,考虑到模拟条件的有限,特意对停车场的泊车位进行调整。首先,将OpenMv摄像头固定于上方,保证其稳固且视野够高,以便于全方位观察到停车场的各个泊车地点。其次,泊车位标志点的所处区域要明确,通过OpenMV的时事观察界面确定每个泊车位的区域空间,以便车辆的检测。然后是关于图像的二值化处理。利用NCC(归-化积相关算法)实现多模板匹配,其中需要使用SD卡才足以保存运行图片。由于模板匹配适用于摄像头与目标物件之间距离确定且不需要动态移动的情况,而现实生活中停车场也为固定场所,将其摄像头置放于规定区域,所以符合实际情况的要求。其中测试数据如表1所示。表1测试数据原始泊车位(个)当前剩余车位(个)停车时间(h)收费总计(元)6600652.66640.5+42+86411+2520+224.2运行测试模拟驶入一辆小车后,其剩余车位为5,此时初始测试结果如图4.1所示。图4.1初始测试此时,停车场的泊车位分布图如图4.2所示。图4.2泊车位测试此刻,再驶入一辆小车,剩余车位为4,其测试结果如图4.3所示。图4.3小车驶入测试图一段时间后,第一辆小车驶出,可查看到LCD显示屏显示信息,包括:车位数、停车时间、停车费用以及剩余车位。此时,停车时间为1小时,符合设计中的要求,停车费用为4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论