版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1课题研究背景及意义随着人工智能技术的快速发展,图像识别技术成为了研究的热点之一。图像识别技术可以帮助计算机识别和分析图像中的内容,从而实现人机交互、智能控制等多种应用。其中,基于图像识别的智能小车跟随系统是一个具有重要研究意义的应用方向。随着城市发展的不断推动,以及道路拥挤的不断恶化,人们的出行要求也变得更加苛刻。而智能小车,这种全新的、节约资源的、可靠性强的交通方式,正是满足了这一要求,未来必定会得到更多的使用。而智能小车跟随系统则是智能小车实现自主行驶和安全行驶的基础,对于实现智能化交通具有重要的作用。图像识别的智能小车跟随系统可以通过分析前方图像信息,实现对车辆行驶方向、距离、速度等参数的预测和控制,从而使得智能小车能够自主行驶并跟随前方车辆。这不仅可以提高交通效率,还可以减少交通事故的发生率,保障行车安全。此外,基于图像识别的智能小车跟随系统还可以帮助车辆实现更智能化的驾驶体验。传统的驾驶方式需要人工操控方向盘、踏板等,而基于图像识别的智能小车跟随系统可以实现更加自然的驾驶方式,让驾驶者感受到更加轻松、舒适的驾驶体验。因此,基于图像识别的智能小车跟随系统的研究具有重要的意义。它不仅可以推动智能交通技术的发展,还可以改善城市交通状况,提高交通安全性,为人们提供更加智能化、舒适化的出行体验。1.2国内外研究现状1.2.1智能小车的国内外研究现状随着经济的发展,汽车和交通事故的数量不断增加,迫切需要采取措施减少交通事故,保护生命财产安全。[1]车辆检测识别和安全距离保持技术已成为当前智能交通系统研究的主要内容。通过实时监控和识别当前车辆,我们可以有效地防止追尾和其他恶劣的交通事故。这种智能交通系统的前身是智能车道系统。智能交通系统将先进的信息技术、数据通信技术、传感器技术、电子控制技术、计算机技术有效地、全面地应用到整个交通管理系统中,建立规模化、功能全面、实时性、准确、高效的综合运输和管理系统。[2]智能交通系统(ITS)项目于1990年正式提出,主要致力于提高车辆的安全性、智能化,提供友好的人车界面。交通运输面临事故率高、交通拥堵、交通拥堵、碳排放空气污染等诸多问题。我国负责发展管理虚拟技术的人员重新构建了一个智能交通系统,它可以有效地改善交通运输、服务管控、车辆制造等领域的效率,并且可以实现车辆、道路和用户之间的有效连接,从而实现安全、高效的综合交通体系。效率、改善环境和节约能源。[3]通过增加技术含量来提高既有道路的利用率、道路交通的安全度、道路使用的舒适度已成为研究热点。对机动性不断增长的需求带来了交通基础设施的重大变化。[4][5]智能交通系统(ITS)正在成为社会的重要组成部分,可靠高效的车辆通信是ITS良好运行的关键驱动因素。多年来,车辆检测一直是一个重要的研究领域。从交通规划者的支持到实时交通管理,有许多有价值的应用。由于交通量大,空间有限,尤其是在人口稠密的城市地区,检测汽车具有重要意义。为了满足各种ITS应用的需求,需要共同考虑车对车和基础设施通信的配置和优化。[6][7]随着无线接入技术的不断普及,它不仅有助于推动道路安全的发展,而且还可以实现移动车辆的实时信息传输,从而大大降低了由此引起的交通事故的损失。而且,由于其对高速公路的管控作用,利用红外图像及其相关的特性来实现车辆的快速、准确的检测及识别,也变得更加必不可少。近年来,视频监控监控系统在交通管理中得到广泛应用,主要用于交通密度估算和车辆分类。近年来,基于移动车辆通过图像序列建立的区域与车辆之间的对应关系,提出了许多算法来检测、识别和跟踪前方车辆。在过去的十年中,用于改善道路安全的基于视觉的车辆检测技术引起了越来越多的关注。[8]圭多等人介绍了一种跟踪移动车辆的方法,将无人机与视频处理技术相结合。[9]对于前面的车辆距离测量,Wu等人利用前方车辆的影子来识别前方车辆的位置,并使用函数式模糊神经网络来估计实际距离。[10]经过实验证明,该系统在实时环境中表现出色。实际距离是通过使用功能模糊神经网络来估计的。这是一项具有挑战性的任务。Zhang使用HMAX从图像中识别车辆类型。[11]该数据库包括26个类别的2,000多张车辆图像,涉及监控摄像头记录的各种复杂摄影条件。图像作为信息表达和存储的重要方式,具有广泛的应用价值。通过监控和图像识别,将某些停车位用于车辆管理。基于智能和视觉字符识别技术,使用摄像头通过车牌识别车辆。Hsieh等人提出的对称磁盘驱动器[12]用于解决多重性和模糊性问题,确定道路上没有移动功能的每辆车的关注区域。小玲提出了一种基于计算机动态图像处理技术的事故作业车辆定位方法,能够准确定位移动车辆。[13]实验表明,该计算机动态可视化方法可以大大提高分离车辆图像关键帧定位结果的准确性。内托等人引入了一种可以感知和识别巴西车牌的新系统。[14]通过霍夫变换、形态学、阈值检测、Canny边缘检测等多种数字图像处理技术,结合最小二乘、最小均方、极限学习机、神经网络等多层概念理论,可以有效地提取出文本中的字符。目前,对前方车辆的检测和识别主要基于单目视觉、红外传感器、激光雷达等。王等人研究了视觉感知、超声波传感器、雷达技术的数字信号处理技术。[15]艾哈迈德等人使用从AVI收集的实时速度数据来检查具有高碰撞可能性的高速公路位置的识别。[16]Sivaraman和Trivedi[17]详细介绍了车辆检测的进展,并讨论了单目应用。[17]该研究涉及使用时空测量、轨迹和各种特征来表征道路行为。设计了一种基于像素分类的空中监视自动车辆检测系统,该系统在特征提取过程中保留了区域内相邻像素之间的关系。[18]通过颜色变换有效分离车辆颜色和非车辆颜色。Canny边缘检测器的阈值会自动调整以进行边缘检测。结果表明该方法具有灵活性和良好的泛化能力。田等[19]提出了一种使用多个传感器节点的车辆识别方法。Teoh和Bräunl描述了使用单个前视摄像头以及车辆边缘和对称特征来检测车辆和道路信息。[20]通过应用多尺度窗口与聚类算法,我们可以有效地从图像中抽取出具有明显对称性的部分。为此,我们首先要确定该部分的位置,并通过深入的分析来加深它们的对称性。从垂直和水平边缘的增强投影中检测车辆边界。刘和李研究CCD采集灰度图像得到的最优解的参数来识别车道线,以抛物线模型为目标函数拟合车道线,利用遗传算法优化抛物线参数,利用二进制编码,多点交叉,和突变遗传过程。[21]唐等人使用激光、超声波或雷达传感器空间传感器系统,以及通信技术在HISS服务器和车辆之间交换信息,从而提供车辆周围的道路信息。[22]碧清主要通过双目视觉系统和相机标定模型两个核心部件来描述车辆识别和定位的功能。[23]结果表明,其在识别功能上能够准确定位目标位置。习等人研究了基于非线性学习模型的单目红外图像深度估计算法。[24]实验结果表明,该模型估计的深度大部分与红外图像的原始深度信息一致。1.2.2机器视觉的国内外研究现状在80年代,机器视觉技术开始应用于汽车视觉系统。美国在自动驾驶领域取得了巨大进展。随着汽车厂家的积极参与和政府的大力支持,机器视觉技术在车辆(AutonomousLandVehicles)系统中得到了广泛的应用,美国通用、德国奔驰、欧洲Prometheus等公司都在努力推动这一领域的发展。我们现在开始探索机器视觉的潜力。在机器视觉研究方面的重要人物是Marr,他从信息处理的角度认为机器视觉分为计算理论层次、表达与算法层次和硬件实现层次三个层次,并且提出了较完整的机器视觉框架。他的视觉理论框架认为,视觉系统的主要任务是由二维图像或图像序列来感知静止的或者动态变化的场景,对场景中的三维物体进行识别、定位与运动分析。上个世纪末期,面向应用、行为的目的主义学派,提出了主动视觉的概念,结合生物视觉的研究成果强调了视觉系统的主动感知性、任务性和目的性。主动视觉认为机器视觉应主动调整摄像机的方向、孔径、焦距等参数并主动获取信息。主动视觉主要研究以下领域:(1)机器视觉的学习能力。近年来,主动视觉研究日益强调学习能力,它不仅涉及到物体的性质、功能和感知策略,还涉及到先天的知识和后天的学习技能,以及如何利用这些知识来发展出不同的学习策略。(2)主动视觉技术。通过使用主动视觉技术,我们可以更好地识别和控制周围环境中的变化,并通过选择性的注意力来提升我们的工作能力。相比于传感器捕捉的数据,这种技术可以更加准确和快速,从而提升我们的工作效率。随着技术的发展,brown、krotkov、ballard等人的硬件实验,使得主动机器视觉的发现取得重大突破,他们利用联合传感器技术,将原本的信号从时间域和空间域中有效地压缩,从而有效地保留一些重要的数据。经由brown、krotkov、ballard的研究,我们发明出一种可以自行操纵的传感器,它可以准确地辨认周围的环境,并且可以进行实时的追踪,有效地预测物体的行为。因此,这种技术被广泛应用于测试视力。虽然我们的机器视觉技术开始时间比较早,但它的进步却非常显著。徐友春的技术被用来确定道路的边界,他的算法帮助我们快速定位出最优的边界。沈明霞和其他学者也提出了三种用来识别物体的特殊技术:1利用纹理谱的方向性参数进行图像分割,利用小波变换来确定边界,利用形态学的原理进行图像分割。陆建业和其他20人根据汽车道边界的平行线性特点,开发了一种新的道路检测方法。这种方法利用卡尔曼滤波和退火诊断技术,从多条特性线集合中精确地识别和预测道路的状况,从而更好地满足城市的交通需求。程洪等人通过综合运用RGB信息、局部统计信息以及k2均值分类器,开发出一种新的算法,可以有效地实现道路识别。这种算法以RGB信息及其他局部统计信息为输入,采用广义Hebbian算法,通过深层次的模型推理,最终实现精准的道路识别。周欣、黄席樾等人开发的二维重建技术,利用其通过几何特性和分布图的灰色变换,构建一个约束条件,从而可以准确地识别出路段的轮廓,并利用Hough变换实现对路段的准确重构,最终实现对路段的精确定位。周俊和张方明都认可机器视觉技术,他们利用融合的方式来整理和优化边缘检测的数据,并以其中的相似度来确定物体的归属。通过对道路标志的分析,提出了一种基于计算机图像处理的道路标志自动识别方法。而对于障碍的识别,可以使用二维或者三维的影像来进行。1.3本课题研究内容本文设计了一套智能小车跟随系统。本研究的目的在于实现一种能够自主跟随目标物体的智能小车,使其具有自主航行能力,能够识别运动物体并实现自动跟随。为了实现这一目标,本文首先对循迹小车技术进行了深入探究,分析了它们在智能小车跟随系统实现中的应用。我们在系统设计中选择了Arduino单片机来完成自主跟随功能的实现。通过多次实验和改进,我们最终成功地开发出一种基于图像识别的智能小车跟踪系统。本系统旨在构建一个智能小车追踪系统,它包含了多种模块,如摄像头模块、测距模块、蓝牙模块、计算机监控模块、超声波传感器模块,它们的结合可以实现自适应控制器的自我调节和自我监控。软件上单片机程序采用C语言进行编程设计实现下位机功能,移动端程序在Android平台进行设计实现上位机功能。完成具有能采集道路的图像信息、小车运行速度等信息。实现的成果为实物,并通过测试并运行。该系统应完成的主要功能有:1.可完成道路信息的实时采集以及对路径图像信息的处理;2.图像信息和小车运行参数可在上位机显示屏显示;3.可检测小车运行速度;4.通过测距可完成小车的避障功能;5.手机APP可进行远程控制。第2章系统总体方案设计2.1系统电路设计本系统以ATMEGA328P单片机为控制核心,摄像头模块采用ESP32视觉传感器,超声波模块采用HC-SR04超声波传感器,避障模块采用了TCRT5000红外传感器,蓝牙模块采用HC-05芯片,通过电机驱动实现小车的运动最后可以通过上位机APP实现对小车的远程控制。总结构框图如图2.1所示。图2.1结构框图2.2模块选型方案设计2.2.1摄像头模块选型摄像头模块设计方案有两种,分别进行比较如下:方案一:采用JetsonNano为图像处理单元结合YOLOV3行人检测本款小型汽车的设计理念源自YOLOv4--tiny的JetsonNano,它的最大功能就是从摄像头获取信息,然后利用Darknet的框架来执行YOLOv4-Tiny,从而检测到被追赶的物体,同时还能够检测到物体的上下、左右等方向,而且JetsonNano还能够通过I2C和UART串口连接到单片机,单片机则通过PID算法来发送控制信息,从而实现对物体的精准追赶。通过调整参数,实现对小车的精确操纵。方案二:采用OpenMV(STM32为核心处理模块)实现行人检测利用OpenMV摄像头和内置的高级视觉算法,penmv可以准确地检测出物品的颜色,将检测到的数据通过UART(无线数据交换)发送至arduino的下一步处理器,arduino可以根据检测到的数据,调整一个特殊的阈值(即物品的中心点),从而实现对298电机的精准操作,从而实现对小车的有效控制。方案三:采用嵌入式视像头(ESP32双核处理器)实现行人检测首先摄像头结合ESP32神经网络算法识别人体,然后将识别到的人体姿态信息通过光流算法实现人体追踪,并且实时反馈目标物的中心点坐标以及X,Y坐标信息;将ESP32采集到的坐标信息通过IIC总线传输到下位机中(arduino),最终通过下位机的PID算法控制小车移动。第一种方式因为采用JetsonNano作为图像处理单元且成本高昂不太适用我现在的要求;方案二采用OpenMV因最近芯片供货紧张导致STM32芯片价格居高不下并且OpenMV采用传统的算法只适合某一种颜色的识别与跟随不太适用人体跟随;方案三中所涉及到的ESP32属于国产芯片且价格相对较低且性能强大,并且在目标跟随检测算法方面有内部封装好的库函数,方便调用。综上这几种方面,最终选用方案三采用嵌入式视像头(ESP32双核处理器)实现行人检测及跟踪。2.2.2单片机选型方案一:ARM是精简指令集,也就是RISC,所有的指令长度都是相同的。ARM处理器,不能直接访问外存,只能通过寄存器来访问外存。所有的指令都是真对那30几个寄存器进行操作的。方案二:STC89C52RC最小系统模块,有内部EEPRPOM,可以串口下载,断电自动保存资料,但是STC89C52RC没有硬件IIC,需要软件模拟IIC。方案三:ATMEGA328P作为最佳解决方案,其具备8位AVR微处理器、32K字节的可编程Flash、23个I/O口、28个PDIP、32个TQFP、28个QFN/MLF以及具备先进的RISC架构,此外,还新增了一个中断口和一个输入输出口,以满足不同应用场景的需求。方案一直接选用STM32的单片机因为价格偏高,在本论文中因为下位机不涉及太多算法处理只需要与上位机图像处理单元进行IIC通讯,所以排除方案一,最终选取方案三ATMEGA328P最小系统。2.2.3电机驱动选用为了提升系统的性能,我们选择了一种新的控制模块。这种模块的特点是它支持两种类型的控制。首先,它支持两种类型的控制模块,一种叫做L298N,它的特点是它的工作电压为46V,输出电流为4A。它还支持两种类型的控制模块,一种叫做Multiwatt15,它支持两种类型的控制模块。它们都支持两种类型的控制模块,一种叫做l298n,它的特点是它的控制模块支持两种类型的控制模块。采用78MO5内置的稳压芯片,不仅能够保证内部逻辑电路的正常运行,还能够将5V的高效能驱动到其他设备上,从而提高系统的性能。但是,如果需要超高的12V的驱动电压,请确保5V的设备是单独的,而不是与其他设备连接。采用双L9110S型芯的电动机,其最佳的实际工作电压为2.5V-12V,最高的实际工作电流输出为0.8A,这一特性使得它成为当前市场上最佳的智能小车的选择,它不仅具有良好的性价比,而且还具有双向的功率输出,可以同时控制2个直流电机。为了满足本系统小车的电机马达电流要求,我们选择了方案一的L298N电机作为驱动电机,因为它具有更高的减速性能,可以提供更低的电流,比方案二的电流只能达到0.8A左右。第3章硬件系统控制设计3.1系统整体原理图本文采用了ATMEGA328P单片机为控制核心,通过在单片机的外围对其他元器件进行焊接配置使其工作。系统主要分为摄像头模块电路、蓝牙模块电路、超声波模块电路、避障模块电路、单片机控制电路、电机驱动电路。整体电路图如图3.1所示。图3.1系统整体原理图3.2摄像头模块MU视觉传感器3(MUVisionSensor3)具有出众的性能如图3.2所示,它能够通过强大的深度学习算法,准确地辨认出多种不同的视觉对象,包括但不限于:从颜色到形状,从细微的细节到复杂的结构,从而实现对多种场景的准确定位。在行人识别中ESP32内置Yolo-v5部署模型,具备极其优秀的性能,它的尺寸极其紧凑,而且能够实现高效的UART和I2C,并且能够实现对各种算法的本地处理,从而大大提高了检测效率。图3.2ESP32视觉处理器3.2.1Yolo-v5目标检测网络理论分析Yolo-v5的架构与Yolo-v4非常类似,但它们之间仍存在一些差异。从图3.3中,我们可以清楚地发现,它仍然由输入端、Backbone、Neck、Prediction四个组成部分组成。图3.3Yolo-v5网络结构图(1)输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放(2)Backbone:Focus结构,CSP结构(3)Neck:FPN+PAN结构(4)Prediction:GIOU_Loss3.2.2输入端(1)Yolo-v5的输入端通过引入Mosaic技术,大大提升了系统的性能,与Yolo-v4相比,具有更高的性能。(2)Yolo算法可以根据特定的数据集,调整其锚点的大小,从而产生一个可以用于模拟真实环境的预测框。通过与模拟环境的groundtruth的比较,可以获得模型的优化结果,并且可以通过反复的调整来优化模型的性能。Yolo-v5的Coco数据集中,其最初的锚点位置至关重要,这将为后续的操作提供良好的基础。3.2.3Backbone(1)Focus结构与Yolo-v3和Yolo-v4不同,它的重要性体现在对样本的分割上。例如,当样本被分割为4*4*3的样本时,它会形成2*2*12的样本,从而实现对样本的分割。通过使用Yolo-v5s的聚类算法,我们可以将原始的608*608*3的图像转换到Focus聚类算法中。我们首先使用切割技术将其分割成304*304*12的块,然后通过一次32个聚类算法的聚类处理,将其转换到304*304*32的块。如图3.4所示。图3.4切片示意图(2)Yolo-v4网络结构采取了CSPNet的概念,将其融入到其核心网络架构之中。而Yolo-v5网络结构更进一步,提出了两个不同的CSP架构,当中Yolo-v5s网络采用的是Backbone架构,而Neck网络采用的是Neck架构。3.2.4Neck在Yolo-v5的初期,它仅采用了FPN结构,而随着技术的发展,它不仅在Neck和Yolo-v4中采用了相同的结构,而且还在网络的其他部分进行了改进,如图3.5所示,它的结构变得更加灵活多变。在Yolo-v5的Neck架构中,我们引入了CSPnet的CSP2架构,以提升网络特征融合的性能。图3.5Neck网络结构3.2.5输出Yolo-v5中采用其中的GIOU_Loss做Boundingbox的损失函数如下图公式3-1所示。CIOU_Loss=1−CIOU=1−(IOU−Distance_ v=4π2(aretan3.3超声波传感器模块超声传感器测距的原理是依据超声波在空气中传播速度不变的且遇到障碍物会反射回来的性质,来获取障碍物的距离信息。利用超声技术,可以根据其无限的能量,以及当它穿越任何障碍物的情况下,其能量的衰减情况,以及它们之间的相互作用,通过计算源声波发送时刻和回波信号接收时刻的时间间隔,可以准确地估算出目标的位置。HC-SR04超声波遥测模块可以实现从2厘米到400厘米的非接触距离探测,并且测量范围只有3米。完全满足用户的需求。为了确保系统能够正常运行,超声波传感器需要输出超过10us的脉冲触发信号。一旦系统启动,它就能够以40kHz的频率连续传播8个周期,同时还能够接收和捕捉反向的回波。一旦反向的回波被接收,就能够被计算成一个脉冲,其长短取决于反向的距离。因此,要想避免反向的影响,就必须确保反向的信号的传播速度要比反向的阻力快。HC-SR04超声波遥测模块拥有出色的性能,包含一种高效的超声波发射器、一种高灵敏的接收器,还配备了先进的控制系统,使得测量的距离更加准确,最远只需3mm,因此,HC-SR04超声波遥测模块被广泛地应用在各种领域。HC-SR04超声波遥测模块是一种高精度的超声波检测技术,它能够帮助驾驶员快速识别出前方的障碍,有效地帮助驾驶员快速拐弯,躲闪危险。它的结构和功能详见图3.6。图3.6HC-SR04超声波通过改变脉冲电压,以及实现电信号-声信号的交替传输,超声波发射与接收电路的核心作用就显现出来了:它不仅提高了传感器的灵敏度,还大大延长了传感器的传输范围,同时还使得传感器的反馈电压变得更低。发射器和超声回波接收电路如图3.7所示。图3.7发射器和超声回波接收电路当需要进行测量时,单片机需要从端口P24触发TRIG模块,从而产生10μs的高频信号。该模块随即产生八个40kHz的矩阵波,当它们碰撞到任何障碍物或者行走者,模块便能够从波束的反馈处检测出其行走的距离,从而计算出该波束的持续时长。这个单片机定时器能够捕捉到一个特定的宽度,这个宽度和它的长度成正比。因此,我们就能够轻松地估算出障碍物和超声波发射器的距离。这个估算方法就是:当一个特定的宽度被捕捉时,它的长度*声速的/2。HC-SR04超声波模块的出现,使得超声波的传输过程变得更加便捷,同时也显著改善了它的功率、可靠性以及稳定性。为此,我们将I/O端口的P24点与TRIG、ECHO、4与5V以及1与接地相联系,以实现更加有效的超声波传输。根据图3.8,超声波模块和单片机之间的连接是可行的。图3.8超声波模块与单片机接口3.4避障模块这个设计的避障模块采用了TCRT5000红外传感器如图3.9所示。这个传感器的优点有安装简单:它的引脚排列紧凑,容易安装在各种电路板上。响应时间短:在检测到反射光后,它能够快速地转换电信号和输出信号。灵敏度高:它可以检测比普通光电传感器更远、光线更弱的光源。可靠性高:它由于采用了数字式输出,不会受到环境光、温度、湿度等影响,因此使用寿命更长。成本低:相较于其他光电传感器,它的制造成本低,因此价格也相对较低。图3.9TCRT5000红外传感器TCRT5000感应器的红外线发射二极管持续发出红外线,在发出的红外线未被折射或折射而回的红外线强度不足的情况下,红外线接收器直接关闭,这时该组件的输出为高电平;指示器二极管始终是关闭的。当被侦测对象进入侦测区域后,红外线会被强烈地反射回去,红外线接受管会达到饱和状态,这时,组件的输出会处于低电平,表示二极管会发光。DO的输出端可以与10个MCU端口连接,通常与外界断开连接。模拟输出
AO,在发射管的红外信号经反射被接收管接收之后,接收管的电阻会出现改变,通常在电路上以电压的变化形式体现,而在
ADC转换或LM324等电路成形后,得到处理后的输出结果如图3.10所示。图3.10TCRT5000红外传感器电路图3.5蓝牙模块这个设计蓝牙模块采用了HC-05蓝牙模块如图3.11所示。HC-05蓝牙模块可通过与任何主板集成,使其具有蓝牙功能。可以方便地与其他支持蓝牙的设备进行通讯。HC-05蓝牙模块采用蓝牙4.0技术,减少了当设备使用时的能耗。这意味着长时间运行,无需更换电池。这使得HC-05蓝牙模块成为能量有效的解决方案。HC-05蓝牙模块易于编程,可以使用Arduino等开发板、开发软件语言(如C++、Python等)编写代码来进行通信。HC-05蓝牙模块非常小,重量也很轻。适用于本设计。总之,HC-05蓝牙模块是一种简单、蓝牙4.0技术、低成本、低功耗,易于使用和编程的解决方案。图3.11HC-05蓝牙模块HC-05蓝牙模块是一种串口透传类型的模块如图3.12所示。当电源接通且正常运行时,模块会自动进入AT命令透传模式。此时,可以通过串口透传命令,将数据从主控端传输到蓝牙模块,经过模块进行蓝牙传输,然后由连接的蓝牙外设接收到。在使用的时候,可以将HC-05蓝牙模块接到微控制器(比如Arduino)的串口,从而实现数据的传输。通过蓝牙链路将数据传输到与之匹配的蓝牙设备上。如此,就可以实现方便的无线数据传输。图3.12HC-05蓝牙模块电路图3.6单片机控制电路这个设计使用了一种新型的单片机来处理光信号,它的功耗非常低,只有AVR8位。它拥有IIC和SPI这两种通信模式,6个
PWM信号输出信道。此外,该系统还具有16位定时/计数装置(Tirme0),具有单独除波、对比、捕获等功能。在图3.13中还显示了两个切断控制管脚。图3.13单片机最小系统电路3.7电机驱动模块根据图3.14,我们在电源电路中使用了LM2940(转5V)稳压芯片,并且在VIN网络端口安装了LM358比较器,以确保输出电压稳定在5V。此外,我们还在输入端和输出端分别安装了47uF电解电容和1uF无极性电容,以有效抑制50-60Hz的市电杂波,并且能够有效抑制高频信号。图3.14稳压芯片电源电路图根据图3.15的描述,电机的驱动是通过调节电压和频率实现的。由于单个计算器的输入信号很少,无法满足对电机的启动和操作的需求,这时候,我们可以使用L298N的电机驱动芯片,它的工作原理与MOS管组成的H桥相似。在电机驱动前级加入了74LS00与非门,因L298N工作时需要同时控制6个引脚(分别是ENA、ENB、IN1、IN2、IN3、IN4),为了减少控制引脚,引入了一个与非门,其特点是减少单片机与电机驱动控制引脚。工作原理是将单片机两个引脚分别给ENA、ENB,单片机另外两个PWM引脚接入与非门中,使得IN1和IN2(一组)始终处于相反的状态如表3.1所示。图3.15电机驱动模块图表3.1L298N芯片真值表电机旋转方式IN1IN2IN3IN4ENAENBM1正转101反转011停止××0M2正转101反转011停止××0二极管的主要功能就是将电力传输至直流电机,同时也可以将其他外部因素的影响转化为内部的信号。当电力传输至直流电机时,它的两端就会发生变化,一端就会接受来自外部的信号,另一端就会接受来自内部的信号,从而形成一种信号,从而使得整条电路得以稳定地工作。接入二极管便可以泄放掉电机线圈所产生的感生电压,起到保护电路的作用。
第4章系统软件程序设计该系统的软件采用模块化设计,可以方便同种设备之间的拓展和移植,方便流水线生产。本文使用Arduino语言进行编写,其中包括了一个基于C/C++的框架,该框架由一个主程序、一个T0中断服务器、一个外部中断服务器和一个可执行的超声波发射器组成。4.1系统软件主程序流程图图4.1系统软件主程序流程图4.2分段处理程序4.2.1视觉目标跟踪算法首先通过公开数据(行人识别)通过Yolo-5v目标检测网络进行训练,经过2000次的训练得到一个训练好的权重文件,最终将权重文件通过修正不必要的分支减少模型参数,这部分程序已经嵌入到ESP32中。我所需要做的就是对识别到行人进行跟踪。KernelCorrelationFilter(KCF)目标跟踪算法KCF是CSK的改进,在CSK的基础上引入了多通道hog特征KCF的基本思路:(1)通过在It帧附近采样循环矩阵,我们可以训练出一个回归器,它能够捕捉到一个小窗口的反馈信息。(2)在It+1帧中,从上一帧的位置开始,使用回归分析来确定每一个采样窗口的反应,以便进行相关操作。(3)从响应值最高的帧中选取最佳的位置。(4)重复(1),(2),(3)。回归器的训练:(1)获取样本—循环矩阵一维循环矩阵公式4-1:x=p= px=xn,x二维循环矩阵可以分别通过x和y的一位循环实现向量的位移。如图4.2所示:图4.2向量的位移(2)一维脊回归通过求解min得到ω=(3)循环矩阵傅氏对角化通过离散傅里叶矩阵,可以将所有循环矩阵转换为傅里叶变换,从而实现其对称性和可视性X=Fdiag(x)F^H,其中F为:F=将X对角化结果带入一维脊回归公式4-2中:ω=( =Fdiag(x∗x∗通过对目标的模型进行图像处理,用KCF目标跟踪算法进行跟踪计算,根据摄像头模块来做到对目标的智能循迹。4.2.2调制不同发射频率为了获得更加精确的频率信号,328P单片机内置了三个Timer,分别为Timer0、Timer1和Timer2,以便在调制发射程序中,可以根据不同的频率波进行调制。三个Timer都具有独特的功能,他们可以定制调整的频率,以满足用户的要求。Timer0的任务是对诸如delay这样的功能进行管理,当它们的频率发生变化时,这些功能将会对其它定时功能产生影响。时间1的计数/计时器是16比特,时间0和时间2是8比特。另外,定时器2具有较宽的调频范围,可以实现7个等级的预因子(1,8,32);64、128、256),这是一个很大的数字。1)pinMode:PIN11和PIN3受到Timer2的控制(Timer0用于控制5,6,而Timer1则用于控制9,10),因此,我们将它们作为输入,以便在chip的datasheet上进行调整。2)OCR2A/B:Timer的构造和运作机制是本部分的重点。在Timer中,每个时间戳都包含一个计数器和两个比较寄存器。在Timer2中,计数器会从0开始,一直到255位,然后返回0,并重复这一过程。另外,还有两个比较寄存器,分别是OCR2A和OCR2B。采用TCCR2A/B来控制Timer2计数器的模式与预除数的数量,采用CS2位来控制Timer2计数器预分频数的:_BV(CS22)|_BV(CS21)|_BV(CS20)的三部进行“|”运算;每个BV意味着是按位赋注(bitvalue);_BV(CS22)=在CS2里,1<<2(把1左移2位)=00000100;对应查找查代码表得到对应的预除数是64。采用OCRA和OCR来设置计数器初值。因此频率计算公式为:16MHz/64/(249+1)=500Hz(4.6)4.2.3超声波程序开始首先系统进行初始化之后,HC-SR04超声波传感器持续发出声波脉冲信号,并判断是否接收到回波,如果接收到回波可以检测出小车前方出现障碍物,之后根据判断声波脉冲的长度,若逐级递减则证明小车即将到达障碍物处,之后系统发出右转指令使小车躲避障碍物之后继续前进。模块流程图如图4.3所示。图4.3超声波模块流程图4.2.4摄像头模块程序本系统使用ESP32摄像头模块来检测路况和行人踪迹,首先系统进行初始化,单片机发出信号,ESP32进行图像识别,之后单片机根据画面判断出图像的中心点,若无法判断中心点,则继续寻找图像中心点,若寻找到中心点,则驱动电机模块沿着图像的中心点进行寻迹。流程图如图4.4所示。图4.4摄像头模块流程图4.2.5避障模块程序本系统使用TCRT5000红外传感器作为小车的避障模块,当系统开机进行初始化之后,小车前进进行障碍物检测,如若没有障碍物小车就会直走,若是两端都检测到障碍物,小车就会大角度右转弯,若左端检测到障碍物,小车后退小角度右转,若右端检测到障碍物,小车后退小角度左转。流程图如图4.5所示图4.5避障模块流程图4.2.6蓝牙模块程序本系统使用蓝牙模块进行控制,系统开机进行初始化之后,当HC-05蓝牙模块稳定之后,系统首先确定蓝牙模块是否成功连接,如果没有连接成功则重新连接,连接成功之后,系统可以通过该模块对小车发出前进、后退、左转、右转指令,当小车接收到指令后,进行相应的动作。流程图如图4.6所示。图4.6蓝牙模块流程图第5章系统仿真与运行结果5.1仿真方案在前期方案论证过程中,我们采用了prot技术,模拟了超声波和L298电机的驱动,超声波发射器通过控制端口可产生25微秒的周期性,40
KHZ的16位正方波,使讯号得以高效的传送。高电平的脉冲在13微秒内维持,而低电平的脉冲在12微秒内维持,保证了超声辐射在最大程度上维持在最好的探测距离。另外,最优的脉冲个数应在10至20个之间。当距离障碍物较近,而第一个脉冲还没有被发出时,接收端就会受到影响,从而导致距离测量的准确性受到限制甚至出现盲区。5.2Yolo-v5训练自己的数据集Yolo-v5目标检测网络训练过程以Windows10+Yolo-v5训练自己的数据集分为:1.1安装anaconda1.2在anaconda中安装pytorch虚拟环境(pytorch>=1.7.0)1.3安装CUDA和cudnn1.4安装pytorchGPU版5.2.1训练自己的数据集(1)VOC数据集制作Yolo-v5需要一个txt格式的文档,因此必须将其转换为XML格式,以便更好地支持其功能。我们通过在VOCdata中新建一个voc_label.py文件,输入如图5.1所示代码:图5.1voc_label.py文件代码通过接收转换后可以看到VOCData/VOCTrainval/和VOCData/VOCTest下生成了两个新的文件夹images和labels如图5.2所示:图5.2images和labels文件夹(2)修改配置yaml文件V5中取消了“.data”和“.names”文件的配置,而是将它们整合到yaml中,并在data文件夹下创建myvoc.,以便更好地处理数据。在yaml文件,输入如图5.3所示信息:图5.3yaml文件信息(3)修改网络参数方面的yaml如图5.4所示文件网。图5.4yaml文件网网络参数方面文件相当于以前版本的.cfg文件,在models/Yolov5s.yaml下,修改下类别数量。(4)修改train.py中的一些参数。1)通过调整train.py中的训练参数如图5.5所示,或者直接在训练句子中进行重新编排,都会对默认值产生影响。图5.5训练参数2)对学习率、权重系数等参数的修改如图5.6所示:图5.6参数修改(5)训练(6)计算mAP如图5.7所示:在训练完成后可在.runs\test\exp目录下有更多测试的细节信息:图5.7训练结果5.2.2运行结果小车接通电源,打开开关,用手机打开无线WiFi网络如图5.8所示,用小车连接无线网络,再打开手机蓝牙,通过手机连接小车蓝牙模块,通过连接的区域网,可操作小车前后左右运动如图5.9,通过小车的摄像头模块可以看到小车运行中的路面状况如图5.10所示,若在路上设置障碍物,小车可以做到自动避障如图5.11所示。图5.8打开小车开关,使其开始运行图5.9打开手机,进入软件APP操作图5.10摄像头识别路面信息图5.11路上有障碍物时可以完成避障第6章总结论文按照课题研究的需要,对系统进行了总体规划,并在此基础上对系统进行了详细的软硬件设计。该系统采用了ATMEG328P作为最小的系统,来完成对小车的简单移动的控制,在硬件方面,它包含了核心电路ATMEG328P以及周边的几个电路,这些电路主要包含了电源模块电路、电机模块电路和摄像头模块电路;在此基础上,对超音波避障模块的电路进行了详细的分析,并利用
AltiumDesigner绘制了各个部件的电路图。利用C语言编写了其中的一些程序,其中包括摄像头程序,超声波程序,以及主控程序。整体设计采用了软、硬两种方式来完成对手推车的控制,使得手推车可以进行前进,后退,左转等动作;在PC机上对移动机器人进行了动态跟踪,并对移动机器人进行了动态跟踪。本课题已初步实现了系统的软硬件功能,达到了系统的设计指标。与传统的智能小车相比,本设计可以通过上位机进行对小车的远程操控,让小车可以进行前进、后退、左转、右转,实用性和功能性更强,人机互动性更强,更符合对智能小车的定位。未来,汽车行业的汽车自动驾驶系统将继续受益于这项科技的改良,并且还可以通过改进汽车行业的标准来提高汽车的安全性。我们可以做到更高的识别精度和速度,更加精准的跟随和避障,更加智能的决策和控制。参考文献[1]R.B.Chen,N.Li,H.F.Xiao,andW.Hou,“ResearchonsafetyvehicledistancerecognitionbasedonstereovisionandDSP//AppliedMechanicsandMaterials,”TransTechPublications,vol.333-335,pp.805–810,2013.[2]Z.Lv,S.Zhang,andW.Xiu,“DeepLearningforsecurityinDigitalTwinsofCooperativeintelligenttransportationSystems,”IEEETransactionsonIntelligentTransportationSystems,vol.22,pp.1–10,2021.[3]K.N.QureshiandA.H.Abdullah,“Asurveyonintelligenttransportationsystems,”Middle-EastJournalofScientificResearch,vol.15,no.5,pp.629–642,2013.[4]G.DimitrakopoulosandP.Demestichas,“Intelligenttransportationsystems,”IEEEVehicularTechnologyMagazine,vol.5,no.1,pp.77–84,2010.[5]Z.Lv,D.Chen,andQ.Wang,“Diversifiedtechnologiesininternetofvehiclesunderintelligentedgecomputing,”IEEETransactionsonIntelligentTransportationSystems,vol.22,no.4,pp.2048–2059,2021.[6]S.Tuermer,F.Kurz,P.Reinartz,andU.Stilla,“AirbornevehicledetectionindenseurbanareasusingHoGfeaturesanddisparitymaps,”IEEEJournalofSelectedTopicsinAppliedEarthObservationsandRemoteSensing,vol.6,no.6,pp.2327–2337,2013.[7]Z.Lv,R.Lou,andA.K.Singh,“AIempoweredcommunicationsystemsforintelligenttransportationsystems,”IEEETransactionsonIntelligentTransportationSystems,vol.22,no.7,pp.4579–4587,2021.[8]X.Cheng,L.Yang,andX.Shen,“D2Dforintelligenttransportationsystems:afeasibilitystudy,”IEEETransactionsonIntelligentTransportationSystems,vol.16,no.4,pp.1784–1793,2015.[9]G.Guido,V.Gallelli,D.Rogano,andA.Vitale,“Evaluatingtheaccuracyofvehicletrackingdataobtainedfromunmannedaerialvehicles,”InternationalJournalofTransportationScienceandTechnology,vol.5,no.3,pp.136–151,2016.[10]C.F.Wu,C.J.Lin,andC.Y.Lee,“Applyingafunctionalneurofuzzynetworktoreal-timelanedetectionandfront-vehicledistancemeasurement,”IEEETransactionsonSystemsManandCybernetics-PartC-ApplicationsReviews,vol.42,no.4,pp.577–589,2012.[11]B.Zhang,“Classificationandidentificationofvehicletypeandmakebycortex-likeimagedescriptorHMAX,”InternationalJournalofComputationalVisionandRobotics,vol.4,no.3,pp.195–211,2014.[12]J.W.Hsieh,L.C.Chen,andD.Y.Chen,“Symmetricalsurfanditsapplicationstovehicledetectionandvehiclemakeandmodelrecognition,”IEEETransactionsonIntelligentTransportationSystems,vol.15,no.1,pp.6–20,2014.[13]X.Xiaoling,“Basedoncomputervisionescapevehicleidentificationsystemdesignandresearch,”BulletinofScienceandTechnology,vol.11,p.37,2012.[14]E.C.Neto,S.L.Gomes,P.P.RebouçasFilho,andV.H.C.deAlbuquerque,“Brazilianvehicleidentificationusinganewembeddedplaterecognitionsystem,”Measurement,vol.70,pp.36–46,2015.[15]W.Wang,Y.Song,J.Zhang,andH.Deng,“Automaticparkingofvehicles:areviewofliteratures,”InternationalJournalofAutomotiveTechnology,vol.15,no.6,pp.967–978,2014.[16]M.M.AhmedandM.A.Abdel-Aty,“Theviabilityofusingautomaticvehicleidentificationdataforreal-timecrashprediction,”IEEETransactionsonIntelligentTransportationSystems,vol.13,no.2,pp.459–468,2012.[17]S.SivaramanandM.M.Trivedi,“Lookingatvehiclesontheroad:asurveyofvision-basedvehicledetection,tracking,andbehavioranalysis,”IEEETransactionsonIntelligentTransportationSystems,vol.14,no.4,pp.1773–1795,2013.[18]H.Y.Cheng,C.C.Weng,andY.Y.Chen,“VehicledetectioninaerialsurveillanceusingdynamicBayesiannetworks,”IEEETransactionsonImageProcessing,vol.21,no.4,pp.2152–2159,2012.[19]Y.Tian,H.Dong,L.Jia,andS.Y.Li,“Avehiclere-identificationalgorithmbasedonmulti-sensorcorrelation,”JournalofZhejiangUniversitySCIENCEC,vol.15,no.5,pp.372–382,2014.[20]S.S.TeohandT.Bräunl,“Symmetry-basedmonocularvehicledetectionsystem,”MachineVisionandApplications,vol.23,no.5,pp.831–842,2012.[21]G.LiuandX.Li,“Lanelineidentificationbasedongeneticalgorithm,”JournalofHubeiUniversityofTechnology,vol.1,p.14,2013.[22]X.Tang,F.Gao,G.Xuetal.,“Sensorsystemsforvehicleenvironmentperceptioninahighwayintelligentspacesystem,”Sensors,vol.14,no.5,pp.8513–8527,2014.[23]L.Biqing,Z.Shiyong,andQ.Ming,“ResearchonpickingidentificationandpositioningsystembasedonIOT,”InternationalJournalofOnlineEngineering(iJOE),vol.14,no.7,pp.149–160,2018.[24]L.Xi,S.Sun,L.Li,andF.Y.Zou,“DepthestimationfrommonocularinfraredimagesbasedonSVMmodel,”LaserInfrared,vol.42,no.11,pp.1311–1315,2012[25]赵嘉琦,迟楠.室内LED可见光定位若干关键技术的比较研究[J].灯与照明,2015,39(01):34-36.[26]周世龙.单电源供电运算放大器设计方法[J].电子工程师,2005,(05):29-30.[27]郑蓉.基于混合滤波器组ADC系统的多通道技术研究[D].电子科技大学,2017:53-55.[28]张冬冬.IIC总线通讯接口器件的CPLD实现[J].电子技术应用,2002,(08):79-80.[29]赵新.基于PID算法的PWM单片机的帆板控制[J].信息与电脑(理论版),2016,(07):33-34.[30]王旭东,胡晴晴,吴楠.高精度室内可见光定位算法[J].光电子·激光,2015,26(05):862-868.
附录电路图部分源代码智能小车主要程序intleftCounter=0,rightCounter=0;unsignedlongtime=0,old_time=0;//时间标记unsignedlongtime1=0;//时间标记floatlv,rv;//左、右轮速度#defineSTOP0#defineFORWARD1#defineBACKWARD2#defineTURNLEFT3#defineTURNRIGHT4//超声波传感器#includeSoftwareSerialbtSerial(3,4);//Rx,Tx#include#defineTRIGGER_PIN8//Arduinopintiedtotriggerpinonpingsensor.#defineECHO_PIN7//Arduinopintiedtoechopinonpingsensor.#defineMAX_DISTANCE200//最大400-500cm.NewPingsonar(TRIGGER_PIN,ECHO_PIN,MAX_DISTANCE);//NewPingsetupofpinsandmaximumdistance.unsignedintpingSpeed=100;//Howfrequentlyarewegoingtosendoutaping(inmilliseconds).50mswouldbe20timesasecond.unsignedlongpingTimer;//Holdsthenextpingsr=0;//超声波滤波intFilter_Value;//电机驱动intinput1=5;//定义uno的pin5向input1输出intinput2=6;//定义uno的pin6向input2输出intinput3=9;//定义uno的pin9向input3输出intinput4=10;//定义uno的pin10向input4输出intspeedu=97;//速度intspeed=123;//速度inturst=48;Stringcmd="";voidsetup(){//putyoursetupcodehere,torunonce:Serial.begin(9600);btSerial.begin(9600);//bluetoothmodulebaudrateattachInterrupt(0,RightCount_CallBack,FALLING);//attachInterrupt(1,LeftCount_CallBack,FALLING);//要检测引脚上输入的脉冲宽度,需要先设置为输入状态pinMode(input1,OUTPUT);pinMode(input2,OUTPUT);pinMode(input3,OUTPUT);pinMode(input4,OUTPUT);}voidloop(){//测速模块启动SpeedDetection();SR04();Filter_Value=Filter();//获得滤波器输出值delay(50);////Serial.println(Filter_Value);//看看超声波值正不正常//stop();//if(Filter_Value>15)//{if(Filter_Value>15||Filter_Value==0){if(btSerial.available()>0){cmd=btSerial.read();//读取蓝牙模块发送到串口的数据urst=cmd.toInt()-48;motorRun(urst);}}elseif(Filter_Value>1&&Filter_Value<=15){stop();delay(50);urst=48;H();delay(50);stop();delay(20);R();delay(200);stop();delay(20);UP();delay(400);stop();delay(20);L();delay(200);stop();delay(50);urst=48;}//if(Filter_Value>15)//{//if(btSerial.available()>0)//{//charcmd=btSerial.read();//读取蓝牙模块发送到串口的数据//Serial.println(Filter_Value);//motorRun(cmd);////}}/***速度计算*/boolSpeedDetection(){time=millis();//以毫秒为单位,计算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度企业知识产权质押贷款合同-@-2
- 课题申报参考:能源转型下居民亲环境行为的变迁趋势及提升路径研究
- 课题申报参考:面向韧性发展的城市群医疗资源供需适配研究
- 2025年个人无息借款合同样本:无息借款协议:扶持文化艺术项目2篇
- 二零二五版民政局批准离婚协议书范本8篇
- 2025年度绿色能源项目内部股东权益转让合同4篇
- 二零二五年度南京市房产局制定的房屋抵押权登记合同模板4篇
- 2025年度恋爱期间共同理财规划与投资合同4篇
- 2025年度个人信用借款担保合同范本3篇
- 2025版车辆抵押借款合同(含贷款利率调整)4篇
- 护理饮食指导整改措施及方案
- 项目工地春节放假安排及安全措施
- 印染厂安全培训课件
- 红色主题研学课程设计
- 胸外科手术围手术期处理
- 装置自动控制的先进性说明
- 《企业管理课件:团队管理知识点详解PPT》
- 移动商务内容运营(吴洪贵)任务二 软文的写作
- 英语词汇教学中落实英语学科核心素养
- 《插画设计》课程标准
- 高中英语名词性从句讲解
评论
0/150
提交评论