智能车毕业设计_第1页
智能车毕业设计_第2页
智能车毕业设计_第3页
智能车毕业设计_第4页
智能车毕业设计_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

中国矿业大学本科生毕业设计姓名:学号:学院:信息与电气工程学院专业:电气工程与自动化设计题目:基于摄像头的自主循迹小车系统设计专题:指导教师:职称:2009年6月徐州中国矿业大学毕业设计任务书学院专业年级学生姓名任务下达日期:2009年2月16日毕业设计日期:2009年2月16日至2009年6月20日毕业设计题目:基于摄像头的自主循迹小车系统设计毕业设计专题题目:毕业设计主要内容和要求:1、学习智能车的相关知识,开发出MC9S12DG128B的最小系统板;2、熟悉智能车的工作原理及开发调试过程;3、对智能车的各项参数进行测定并分析;4、对智能车硬件结构进行设计;5、对智能车软件控制局部进行设计;6、翻译近5年内出版的英文文献1篇。院长签字:指导教师签字:中国矿业大学毕业设计指导教师评阅书指导教师评语〔①根底理论及根本技能的掌握;②独立解决实际问题的能力;③研究内容的理论依据和技术方法;④取得的主要成果及创新点;⑤工作态度及工作量;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意辩论等〕:成绩:指导教师签字:年月日中国矿业大学毕业设计评阅教师评阅书评阅教师评语〔①选题的意义;②根底理论及根本技能的掌握;③综合运用所学知识解决实际问题的能力;③工作量的大小;④取得的主要成果及创新点;⑤写作的标准程度;⑥总体评价及建议成绩;⑦存在问题;⑧是否同意辩论等〕:成绩:评阅教师签字:年月日中国矿业大学毕业设计辩论及综合成绩答辩情况提出问题回答问题辩论委员会评语及建议成绩:辩论委员会主任签字:年月日学院领导小组综合评定成绩:学院领导小组负责人:年月日摘要“飞思卡尔杯”全国大学生智能汽车邀请赛属教育部主办的全国五大竞赛之一,其专业知识涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等诸多学科。根据大赛的技术要求,设计制作了智能车控制系统。在整个智能车控制系统中,如何准确地识别道路及实时地对智能车的速度和方向进行控制是整个控制系统的关键。本文首先对智能车的硬件进行设计,到达了低重心、大前瞻、高稳定性的目标。其次对系统的软件局部进行设计,利用动态阈值法分割处理采集到的图像,得到赛道信息,从而得到智能车的偏航角和偏航距离。综合偏航角和偏航距离两个控制量对舵机进行控制,实现了入弯走内道,S弯直线冲过的目标,大大提高了智能车的弯道运行速度。用光电编码盘检测智能车的运行速度,再根据赛道信息给定智能车的运行速度,运用增量式PID算法调节驱动电机转速,实现了电机的快速响应。整个系统涉及车模机械结构调整、传感器电路设计及信号处理、控制算法和策略优化等多个方面。经过大量测试,最终确定了现有的系统结构和各项控制参数。关键字:智能车;图像传感器;阈值分割;路径识别;AbstractFreescaleCupNationalUndergraduateSmartCarCompetitionissponsoredbytheNationalMinistryofEducation,oneofthefivecontests,theirprofessionalknowledgerelatedtocontrol,patternrecognition,sensortechnology,automotiveelectronics,electrical,computer,machineryandmanyotherdisciplines.Accordingtothetechnicalrequirementsofthecontest,wedesigntheintelligentvehiclecontrolsystem.Intheentirecontrolsystemofthesmartcar,howtoaccuratelyidentifytheroadandreal-timecontrolthespeedanddirectionoftheSmartCaristhekeytothewholecontrolsystem.Thispaperfirstintroducesthehardwareofthesmartcar,toachievealowcenterofgravity,forward-looking,andhigh-stabilitytarget.Thesecondpartofthesystemissoftwaredesign,theuseofdynamicthresholdsegmentationalgorithmtoprocessimages,gettrackinformation,yawandtheyawangle.Thesteeringgeariscontrolledbytheyawandtheyawangle,whenthroughtheturn,thesmartcargoesinsidetheroad,andwhenthroughSbend,thesmartcarcrossedasagoalline,greatlyimprovingspeedofthesmartcar.Fromthedetectionwithencoderdiskwegetthespeedofthesmartcar,andthenfromthetrackinformation,wesettheexpectedspeedofthesmartcar,theuseofincrementalPIDalgorithmforadjustingdrivemotorspeedtoachievetherapidresponsetothemotor.Theentiresystemisinvolvedinmechanicalmodelsofstructuraladjustment,thesensorcircuitdesignandsignalprocessing,controlalgorithmsandstrategiesforoptimizingmanyaspects,suchas.Afterextensivetesting,andultimatelydeterminethestructureofthesystemandvariouscontrolparameters.Keywords:smartcar;imagesensor;thresholdsegmentation;roadidentification目录TOC\h\z\u\t"标题1,2,标题2,3,标题,1"1绪论11.1引言11.2智能车邀请赛概况11.2.1国外概况21.2.2国内概况21.2.3本届比赛主要规那么31.3本文设计方案概述41.3.1控制系统51.3.2电源系统51.3.3整车布局61.3.4智能车相关性能设计思想61.4本文主要内容72硬件设计92.1摄像头的选型及安装方案设计92.1.1摄像头的选型92.1.2传感器的供电电路122.1.3视频处理模块122.1.4传感器安装方案设计132.2模型车机械设计142.2.1车体布局142.2.2传感器支架的设计安装142.2.3主板安装152.2.4车模参数调整152.3电路设计162.3.1电源模块162.3.2时钟模块172.3.3最小系统板模块182.3.4串口模块182.3.5测速模块192.3.6电机驱动模块202.3.7抗干扰处理202.4本章小结213软件设计223.1视频信号采集223.1.1摄像头的工作原理223.1.2采样分析233.1.3采样时序243.1.4中断分析253.2路径识别与自动阈值263.3软件抗干扰处理283.4偏航算法293.4.1摄像头测量距离标定293.4.2舵机的控制方法303.4.3偏航距离的计算313.4.4偏航角的计算323.4.5舵机的控制333.5电机的速度控制353.5.1电机的开环响应特性353.5.2速度PID算法363.6本章小结374智能车的开发及调试384.1开发工具机调试过程384.1.1编译环境384.1.2下载调试394.1.3无线调试模块394.2单片机的资源分配404.3代码设计简介414.4车模机械结构参数414.4.1车模参数424.4.2电路板参数424.5本章小结425总结与展望44致谢45参考文献46翻译局部48中文译文48英文原文481绪论1.1引言智能车即轮式移动机器人,是一种集环境感知、决策规划、自动行驶等功能于一体的综合智能系统,智能车集中地运用了自动控制、模式识别、传感器技术、汽车电子、电气、计算机、机械等多个学科的知识[1]。随着控制技术、计算机技术和信息技术的开展,智能车在工业生产和日常生活中已经扮演了非常重要的角色。近年来,智能车在野外、道路、现代物流及柔性制造系统中都有广泛运用,已成为人工智能领域研究和开展的热点。目前,智能车领域的研究已经能够在具有一定标记的道路上为司机提供辅助驾驶系统甚至实现无人驾驶,这些智能车的设计通常依靠特定道路标记完成识别,通过推理判断模仿人工驾驶进行操作[2]。本文所述智能车就是一种自动导引小车,能够在给定的区域内沿着轨迹自动进行行进。1953年,美国BarrettElectric公司制造了世界上第1台采用埋线电磁感应方式跟踪路径的自动导向车,也被称作“无人驾驶牵引车”(automatedguidedvehicle,简称AGV)。这些自动导向车主要用于自动化仓贮系统和柔性装配系统的物料运输[3]。20世纪60年代和70年代初,AGV仍采用这种导向方式。但是,20世纪70年代中期,具有载货功能的AGV在欧洲得到了应用并被引入到美国。这些自动导向车主要用于自动化仓储系统和柔性专配系统的物料运输。在20世纪70年代和80年代初,“智能车”的应用领域扩大而且工作条件也变得多样化,因此,新的导向方式和技术得到了更广泛的研究与开发[4]。自动导向无轨行走车辆常用蓄电池作为动力源,它是机电一体化的典型[5]。AGV技术在汽车工业上有着广泛的用途,欧洲和美、日等国的汽车生产工业在80年代就开始大量使用AGV技术,现已成为比拟成熟的技术。智能车有着极为广泛的应用前景[6]。结合传感器技术和自动驾驶技术可以实现汽车的自适巡航并把车开得开得又快又稳、平安可靠;汽车夜间行驶时,如果装上红外摄像头,就能实现夜晚汽车的平安辅助驾驶;他也可以工作在仓库、码头、工厂或危险、有毒、有害的工作环境里,此外他还能担当起无人值守的巡逻监视、物料的运输、消防灭火等任务。在普通家庭轿车消费中,智能车的研发也是有价值的,比方雾天能见度差,人工驾驶经常发生碰撞,如果用上这种设备,激光雷达会自动探测前方的障碍物,电脑会控制车辆自动停下来撞车就不会发生了。1.2智能车邀请赛概况“飞思卡尔”杯全国大学生智能车大赛是由摩托罗拉旗下飞思卡尔公司赞助并由高等学校自动化专业教学指导委员会负责主办的全国性的赛事,旨在加强大学生的创新意识、团队合作精神和培养学生的创新能力。此项赛事专业知识涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科,对学生的知识融合和动手能力的培养,以及对高等学校控制及汽车电子学科学术水平的提高,具有良好的推动作用[7]。1.2.1国外概况韩国大学生智能模型车竞赛是韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办的以HCS12单片机为核心的大学生课外科技竞赛。组委会将提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自主识别路线的智能车,在专门设计的跑道上自动识别道路行驶,跑完整个赛程用时最短,而且技术报告评分较高的参赛队就是获胜者。制作智能车,需要参赛队伍学习和应用嵌入式软件开发工具软件Codewarrior和在线开发手段,自行设计和制作可以自动识别路径的方案、电机的驱动电路、模型车的车速传感电路、模型车转向伺服电机的驱动以及微控制器MC685912DP256控制软件的编程等等。随着赛事的逐年开展,将不仅有助于大学生自主创新能力的提高,对于高校相关学科领域学术水平的提升也有一定帮助,最终将有助于汽车企业的自主创新,得到企业的认可。这项赛事在韩国的成功可以证明这一点。2000年智能车比赛首先由韩国汉阳大学承办开展起来,每年全韩国大约有100余支大学生队伍报名并准予参赛,至今已举办5届,得到了众多高校和大学生的欢送,也逐渐得到了企业界的极大关注。韩国现代公司自2004年开始免费捐赠了一辆轿车作为赛事的特等奖项。德国宝马公司也提供了不菲的资助,邀请3名获奖学生到德国宝马公司研究所访问,2005年SUNMOON大学的参赛者获得了这一殊荣[8]。近年来,飞思卡尔半导体公司参与举办的智能车大赛有了进一步的开展。2008年12月13日飞思卡尔半导体在马来西亚UITM工程学院举办了首届飞思卡尔智能车大赛。共有26组,涉及约52工科学生来自10个地方大学参加智能汽车竞赛。该国竞赛由马来西亚科协举办[9]。1.2.2国内概况受教育部高等教育司委托,高等学校自动化专业教学指导委员会负责主办全国大学生智能车竞赛。该项比赛已列入教育部主办的全国五大竞赛之一。首届“飞思卡尔”杯全国大学生智能车邀请赛于2006年在清华大学成功举办。此项赛事,在韩国已举办过多届,其专业知识涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等诸多学科,对学生的知识融合和动手能力的培养,对高等学校控制及汽车电子学科学术水平的提高,具有良好的推动作用。在第一、二届的比赛中参赛选手必须使用大赛组委会统一提供的竞赛车模,以Freescale公司生产的16位微控制器MC9S12DG128作为核心控制单元。第三届那么要求参赛队伍除了X系列的微处理器不用以外,其他8位和16位微控制器可由参赛对自己选择〔8位的单片机最多可选两块〕,这无疑给大家一个更位大的选择余地,此届比赛那么准许使用官方推荐的MC9S12XS128双核芯片及以往的8位极16位单核微控核心。2007年,中国大学生制作的智能车的速度已经打破了韩国智能车比赛连续七届的冠军速度[10]。该项赛事现已在我国是成功举办三次,规模已经有刚开始的112支队伍增加到了600支队伍,竞争已经相当剧烈。随着飞思卡尔智能汽车大赛的影响力加大,全国各类学校踊跃参加此项赛事,场面也越来越壮观,技术上也越来越成熟,各支队伍在技术上的创新也越来越多,对全国高校学子的各项能力开展起到很大的作用。1.2.3本届比赛主要规那么[11]1、参赛队伍〔1〕每个学校最多可以报四支队伍参加分赛区比赛,如果有两支〔不含〕以上队伍的学校必须包含有光电和摄像头两个组别的参赛队伍。〔2〕分赛区总共遴选出光电组与摄像头组相同数量队伍参加全国总决赛,分赛区参加全国总决赛的数量按照分赛区参赛队伍数量以相同比例确定。〔3〕每个学校最多可以有两支队伍参加全国总决赛,而且两支队伍必须属于不同的赛题组。〔4〕光电组与摄像头组都设相同数量的奖项。分赛区设立预赛阶段一等奖、二等奖、三等奖给予获奖证书。决赛区将设立特等奖、一等奖、二等奖、三等奖,给予获奖证书。特等奖和一等奖获奖队伍同时获得奖金,二等奖获奖队伍同时获得奖品。2、参赛微控单元须采用飞思卡尔半导体公司的8位、16位处理器(单核)作为唯一的微控制器。3、机械调整时间〔1〕预赛比赛分为两轮,两组同时在两个赛道上进行比赛,每支参赛队伍可以在第二轮比赛之前有20分钟的现场调整时间,在此期间,参赛队伍只允许对赛车的硬件〔不包括微控制器芯片〕进行调整。〔2〕晋级决赛的赛车在决赛前有20分钟的调整时间,此期间,参赛队伍只允许对赛车的硬件〔不包括微控制器芯片〕进行调整。4、考前须知〔1〕在每轮比赛中,选手首先将赛车放置在起跑区域内赛道上,赛车静止两秒钟后自动启动。〔2〕一次只跑一圈。〔3〕每辆赛车在赛道上跑一圈,以计时起始线为计时点,跑完一圈后赛车需要自动在起始线之后三米的赛道内,如果没有停止在规定的范围内,比赛成绩时间增加1秒。〔4〕预赛有两次时机,决赛只有一次时机。〔5〕不允许车模设计方案抄袭,同一学校参赛队伍的车模设计的硬软件需要相互之间有明显的不同。技术评判组将对全部晋级的赛车进行现场技术检查,如有违反器材限制规定的当即取消决赛资格,由后备首名晋级代替。5、场地变化。本次比赛为增加比赛的挑战性,对赛道的宽窄进行了调整,增加了相应长度的窄道。车模在驶入窄道区和驶出窄道区时,赛道上均有标志。该标志距离窄道区25厘米。赛车可以根据上述标志判断是否进入或驶离窄道区。在进入和驶离窄道区有两种标志:〔1〕黑色正三角形,位于赛道中心。边长25厘米。〔2〕赛道突起,颜色白色,厚度0.5厘米,宽度3厘米。标志如图1.1所示。图1.1进入和驶出窄道区的两种标志1.3本文设计方案概述在智能车大赛中,根据赛车使用传感器的不同分为两个组别:摄像头组和光电组。本课题选取CMOS摄像头作为路径检测传感器,最终要实现赛车的自动循迹功能。本文主要对智能车的控制系统和机械机构进行设计,实现了低重心、大前瞻、运行可靠的目标。最终,智能车运行时直道不震荡、过弯走内道、S弯直线冲过,运行效果良好。下面将对智能车的整个系统进行概述。1.3.1控制系统智能车系统各模块连接如图1.2所示:CMOS传感器拍摄赛道图像并以PAL制式信号输出到LM1881视频别离芯片提取出行场中断信号,同时把信号给DG128的AD模块,对视频信号进行二值化,二值化后的数据和同步信号同时输入到S12控制核心,进行进一步处理以获得图像信息;通过对射式光电转速传感器检测车速,并采用S12的输入捕捉功能进行脉冲技术计算速度和路程;舵机转向采用赛道斜率和偏航距离两个变量综合控制,实现了直道不震荡、过弯走内道、S弯直线冲过的优异性能;电机转速控制采用PID控制,通过PWM控制驱动电路调整电机的功率;而车速的目标值由限速值和对不同路径的速度控制策略综合控制。图1.2智能车系统模块连接图1.3.2电源系统由于在赛车运行过程中阻力的变化频繁,加速制动剧烈,再加上升压DC-DC吸入电流高频变化,电池负载变化剧烈,输出电压也剧烈变化,且幅度很大,所以在电池端多加了滤波电容。如图1.3所示。图1.3智能车的电源系统1.3.3整车布局鉴于赛车和赛道的特点,采用低重心紧凑型设计,并架高舵机以提高响应速度。本着轻质量、低重心的原那么,经过将近三个月的时间,比拟多套方案,采用了低位主板的布局以降低重心,同时设计了强度高质量轻的CMOS安装架,最终设计的车辆如图1.4所示。图1.4整车布局1.3.4智能车相关性能设计思想智能车作为一个竞技作品,在设计过程中除了考虑赛场上的动力性、操纵稳定性、响应速度等关键指标外,还应充分考虑开发、调试和赛前准备过程可能遇到的种种问题。在赛车的设计、制造和配套设施上,我们都秉持赛场如战场的准那么,在可靠性、后勤保障和换代步骤上都参考军备的设计思想,并在如下几个方面作了细致工作:1、保障赛车的可靠性:杜绝功败垂成的悲剧;2、提高赛车的维护性:预留备件、拆装方便、传感器重复定位性好;3、提高赛车和电池的续航能力:提高调试效率;4、建立合理的调试和出赛的辅助装备配套机制:运输、维修工具、备件等;5、建立赛车调试随车文档:硬件使用和调整说明、软硬件调试记录、设备负责人;6、加强设备管理,维护试验环境;7、建立人才培养机制:是绝大局部研究成果得到继承,减小研究进度的锯齿效应。1.4本文主要内容本文的背景是“飞思卡尔”杯全国大学生智能汽车竞赛,大赛要求实现智能车对道路的自动识别及寻迹。大赛的赛道是一个白底和黑色中心线的道路。在整个智能车控制系统中,如何准确地识别道路及实时地对智能车的速度进行控制是整个控制系统的关键。路径常用的传感器检测器件主要有光电传感器和CCD/CMOS图象传感器。与光电传感器相比,图像传感器前瞻性更好,能检测到赛道的整体信息。随着使用传感器种类的增加,各种传感器不断的出现在赛场上,光电组的前瞻性有了较大提高,不过在检测赛道整体信息方面摄像头还是占优势。总体而言,CCD与CMOS图像传感器比其来,CMOS传感器在功耗方面比CCD节省的多,故采用CMOS摄像头作为路径识别传感器。本文主要研究智能车竞赛所用的MC9S12DG128B单片机的资源配置和开发方法,设计电路图和相应的系统软件,构建完整的智能小车摄像头导航式控制系统。目的是为了让智能车以最快的速度,沿导航线走完全部赛道。研究内容主要有以下几个方面:首先,介绍了研究背景、比赛规那么和设计构思。阐述了控制系统的资源配置、资源需求与分配和核心处理器的存放器,MC9S12DG128B单片机存放器资源。相比于其它类型的单片机,16位的MC9S12DG128B的功能更加强大,功能引脚较多,能够很好地满足智能车控制系统的需要。其次,设计了智能车控制系统的硬件电路,包括各个模块的电路设计方案以及相关电路。采用的方案以MC9S12单片机为核心,包括总体控制系统的设计,各部件需要的供电电源设计,传感器电路设计,速度检测电路的设计等。然后,阐述了赛车机械结构调整和车体的安装。车体设计的核心思想是低重心,轻质量,提升赛车的过弯速度和加速性能。赛车机械结构调整主要是调节车的重心、前轮、后轮、舵机,使智能车在高速行走时,更加稳定。最后,进行了软件和算法的设计。根据传感器采集的道路信息,经处理分析之后,控制舵机转角和速度。并通过增量式PID算法调节驱动电机转速,最后实现智能车快速的完成赛道。2硬件设计纵观大赛中的各支队伍,硬件设计是一步很重要的工作[12-18]。第一届智能车大赛中,车速最高也只有1.8m/s左右,开展到现在车速提高到了3m/s左右,对于智能车的各方面设计都有很高的要求。而硬件设计的好坏,直接影响到了智能车的极限车速,故要想在智能车大赛上一决上下,硬件设计上要下很大功夫。2.1摄像头的选型及安装方案设计摄像头的常见种类分为两种:CMOS和CCD,两种摄像头各有优劣,选择适合自己硬件电路的传感器很重要。另外,由于对摄像头的安装会影响到车体的重心,所以对安装支架设计时要考虑这个问题。2.1.1摄像头的选型市场上常见的摄像头有CCD和CMOS两类,不管CCD或CMOS,根本上两者都是利用矽感光二极体〔photodiode〕进行光与电的转换。这种转换的原理与各位手上具备“太阳电能”电子计算机的“太阳能电池”效应相近,光线越强、电力越强;反之,光线越弱、电力也越弱的道理,将光影像转换为电子数字信号。比拟CCD和CMOS的结构,ADC的位置和数量是最大的不同。简单的说,CCD每曝光一次,在快门关闭后进行像素转移处理,将每一行中每一个像素〔pixel〕的电荷信号依序传入“缓冲器”中,由底端的线路引导输出至CCD旁的放大器进行放大,再串联ADC输出;相对地,CMOS的设计中每个像素旁就直接连着ADC〔放大兼类比数字信号转换器〕,讯号直接放大并转换成数字信号。关于摄像头的选择我们从以下几个方面分析:1、重量和体积图2.1CMOS摄像头图2.2CCD摄像头图2.1是CMOS摄像头,图2.2是CCD摄像头。很明显,CMOS体积可以做到非常小,而CCD,因为存在复杂的驱动电路,PCB面积至少需要4cm*4cm的空间。重量上,因为体积和远见数量的区别,CMOS摄像头也优于CCD,大约有30%-50%的重量差异。这个重量的差异,随摄像头安装的位置的不同而对整个赛车的稳定性有不同的影响。摄像头安装的位置越高,摄像头重量对赛车重心的影响越高。好在目前的趋势看来,摄像头的安装高度越来越低,以至于这种重量的区别对赛车重心的影响也随之减小。另外CMOS摄像头有一种数字式的摄像头,它在重量和体积上和CCD摄像头不相上下,因为其引出了三十多根信号线,实际安装的重量和体积较CCD摄像头还要臃肿,这是个特例。2、噪声在图像噪声方面,CCD明显好于CMOS摄像头。这一点是这两种技术本身先天决定的,CMOS的工艺无法保证几万个感光点的一致性,而CCD因为所有感光点均通过一个电荷-电压转换器,一致性可以得到很好的保障。图像的噪声,在智能车比赛中,影响不是特别大。因为拍摄图像只有全白全黑两种,来自传感器的电平轻微跳动,还不至于影响到赛道的识别。同时在一个设计不良的采集电路中,来自A/D模块的误差,也足以掩盖来自传感器的误差噪声,这一点却没有引起很多人的重视。因此,我认为图像传感器的噪声缺乏以影响智能车比赛中对黑线的识别,因此可以在摄像头选型时,作为优先级较低的一个参考标准。而在其他需要高分辨率图像采集和识别的应用中,两种传感器的图像质量差异,还是需要引起一定的重视的。3、解析度针对智能车使用单片机对图像型号进行采集的应用,解析度的上下直接关系到采集的难度。我们知道,标准的视频信号每秒有50或60场图像,这是固定不变的。越高的分辨率,包含了越多的行数。即在20ms的时间内,有更多的行数,以至于每行图像所占用的时间越少。一个30万像素的摄像头,每一场输出312.5行图像,行周期为64us。我们希望采集的分辨率越高,就需要在64us的时间内采样更多的点数。这就需要更快的A/D转换器,例如片外高速视频A/D。既然单片机的速度远远跟不上视频信号的速度,那么选用越低分辨率的摄像头,图像采集的效果反而越好,因为每行图像有更多的时间留给MCU进行采集。目前能买到的摄像头中,30万像素的是最正确选择,而130万像素就不适合了。4、感光度感光度的差异,在智能车应用中非常重要。所谓感光度,就是对光线的敏感程度。感光度越高,其在较低光照条件下能获得越明亮的图像,也直接决定了感光器件拍摄图像的曝光时间长度。CCD的感光度大约是CMOS的3-10倍,这时在同样的光照条件下,要拍摄同样亮度的图像,CMOS的曝光时间将会是CCD的3-10倍。随着车速的不断提高,这一点越来越影响到智能车竞赛中摄像头小车的性能。我们知道,拍照时手不能抖这个道理,抖了画面就糊了。这个简单的常识在智能车中同样适用。在高速下,曝光时间越短,所拍摄的画面越清晰,曝光时间越长,拖影越严重,画面越模糊。根据这个原理,同样光照条件下,CCD在高速运动下拍摄的画面效果应该要比CMOS高一个等级。这对于目前每秒前进4米的模型车而言,是至关重要的。5、电能和功耗影响CCD在嵌入式中应用的一个重要原因,就是供电和功耗。首先,CCD需要12V供电,对智能车竞赛而言,这就意味着需要额外给CCD设置一个升压电路。这意味着本钱和体积的增加。还好,越来越多的队伍在智能车电机驱动局部开始采用MOS管驱动的方式,而MOS管栅极电压很多都需要12V,因此两路电源合二为一,提高了电源的利用率。不能否认,CCD确实是耗电大户,工作时散发的热量足以烫手。对于电池供电的系统来说,每一点电能的节约都至关重要。从节能角度来说,CCD真的有点不适合,随着技术的开展,目前CCD单板机需要的电流已经从开始的150mA降到了现在的50mA,但是别忘记,CCD的供电是12V,这么看来,功耗依然很大。而CMOS用5V供电和微功耗,在功耗方面与CCD比起来那么有很大优势[19]。综合上述几个方面,可以看出解析度、感光度,电能和功耗是我们要着重考虑的几个方面。选型时,考虑电机高速运行时,功耗较大,故节省电能成为我们要考虑的一个重要问题。虽然CMOS曝光时间较大,但是在只有黑白两种颜色的赛道上,因曝光缺乏造成的影响应该可以降低很多,另外我们采用的动态阈值法,一定程度上也降低了曝光缺乏的影响。我们采购到的CMOS型号为JBK-302,1Vp-pPAL信号输出,工作电压6-12V,功率为200mW。PAL信号的帧速为25帧/s,即有50场/s的图像。其辅助系统包括一个额定电流2A输出电压12V的低波纹DC-DC供电电路和一个基于LM1881的同步信号别离电路。图2.3安装条件下车载摄像头获得赛道图像对于DG128单片机,如果不超频的话,此时A/D模块最快转换速度为8μs,而摄像头在PAL制式下每个扫描行约为52μs,故每行采集的点数最多为8个[20];当单片机超频到32MHz总线频率下的行有效采样率可达66,根据图2.3可以估算其图像中间行的赛道心分辨率约为13.5mm,此时的前瞻距离为60cm,完全满足我们要求的分辨率及前瞻距离。2.1.2传感器的供电电路由于采购的CMOS摄像头需要6-12V供电,故为了摄像头的稳定供电,我们采取9V供电电路。首先采用专用的DC-DC升压芯片B0512升压至12V,之后为让电压比拟平稳,经LM7809降压至9V,另外为了降低DC-DC升压造成的杂波,电路中加了多个滤波电容。如图2.4所示。图2.4传感器的供电电路2.1.3视频处理模块图2.5行场同步信号别离电路在本次比赛中,采用的是用摄像头实时的采集道路信息,经过单片机的内部处理,来控制智能车的转向和电机的加减速。由于比赛道路信息比拟简单,只有黑白两种颜色,因此选用了一款市场上比拟常见的CMOS摄像头JBK-302。为了采集图像信息,CPU需要根据行、场同步信号启动A/D转换器,具体过程就是在等待到行同步信号后启动AD转换器,同时通过定时器设定AD采集的时间,然后等待下一次行中断并启动。由于视频信号的变化很快,所以需要另外设计同步别离电路。在本方案中,使用了LM1881视频同步别离芯片,它是针对电视信号的视频同步别离芯片,它可以直接对电视信号进行同步别离,准确地获得所需的视频图像信号。使用者可根据需要对该同步信号进行时序逻辑控来获取场同步和行同步信号[21]。本文设计的系统,是将此同步信号连接到单片机的中断输入口,即PH口。关于视频采集的MC9S12单片机端口配置如下:1、AD参考电压引脚VRH接5V电压,VRL接地;2、AD输入端口PAD0,用于输入视频模拟信号;3、PH中断口,引脚PH5场中断,PH4行中断因为采集的图像无论奇场、偶场均算作一场,故我们只需采集场中断信号就可以了,这样降低了图像采集的复杂度,赢得了处理时间。对于行、场同步信号的别离电路如图2.5所示。2.1.4传感器安装方案设计对于CMOS的安装位置主要有安装高度和俯视角度两个关键参数。增加安装高度同时增大俯视角度可以在保证前瞻距离的前提下减小图像的畸变,使远端赛道图像变宽,便于单片机识别,保证识别稳定且有足够的前瞻。所以有很多代表队都把摄像头的位置安装的很高。但是,将CMOS安装高度增大的同时,容易使整车的重心提高,降低了侧翻极限,使赛车在高速过弯的时候容易发生摇晃、颠簸甚至倾覆的危险。图2.6CMOS安装效果图综合考虑各方面的因素,最终安装高度确定为25cm,俯视角度约为30度。为了降低CMOS高位安装对整车中心高度的影响,我们专门设计了质量轻强度高的铝合金安装架,而且采用了木制的主桅,使高位安装的零件质量控制在60g以下。最终效果如图2.6。2.2模型车机械设计由于赛车和电机、舵机等都是不能做改动的,模型车机械设计较少,我们主要进行了传感器支架的设计安装、底盘钻孔、舵机安装设计和电机散热片设计。2.2.1车体布局为了提高赛车高速工况下的操纵稳定性,在整车布局上主要在做了三方面工作:低位主板安装、降低摄像头安装高度和CMOS安装的轻量化设计、控制整车质心尽量靠近中性转向点。经过上述设计的赛车质心根本在中心转向点附近,所以赛车在侧向加速度很大的极限工况下会先发生侧滑而不会发生侧翻。2.2.2传感器支架的设计安装为了降低整车重心,需严格控制CMOS及其安装架的重量。首先是设计了轻巧的铝合金CMOS夹持组件,并采用了木质桅杆作为安装CMOS的主桅,这样可以获得最大的刚度质量比。在底座设计上不仅选用了铝合金来减轻重量,而且还设置了减重孔,最大限度的压缩零件重量。在CMOS安装参数的可调整性设计上,采用了平行双桅和可加紧的滑套结构。这样不仅是CMOS能上下滑动调整高度,而且能够保证在滑动过程中不发生左右横摆。而且这个定位关系是从底座安装孔获得并以较高定位精度向上传递的,从而获得良好的重复定位精度。使得能够方便的将CCD架拆下和装上,不必顾虑摄像头的位置会发生改变。使CCD便于拆卸和维修,具有赛场快速保障能力。图2.7主板安装效果图2.2.3主板安装如图2.7所示,主板安装紧贴赛车底盘,放在电池和舵机之间的空间里,用螺钉固定。同时主板上留出减振器座的安装孔,保存原车的减振器设计。这样做的目的就是控制车体的重心,防止高速过弯时发生侧翻现象。在进行设计时,参考的是第二届智能车大赛清华的大学的设计思路,即模块设计思想和低重心思想。电路板的形状是经过严格测量得到的数据,安装时非常方便。考虑到电路板比拟轻和电路布局,故只用一个螺丝孔固定。经试验,最后安装效果良好,不会与舵机传动杆及前轮接触。本电路板,由于经过方面的设计考虑,一次性出板完成。2.2.4车模参数调整1、前轮定位选择为保证赛车直线行驶稳定、转向轻便灵活并尽可能的减少轮胎磨损,需要对赛车的前轮定位参数进行调整。赛车的前轮定位参数主要包括:主销后倾角、主销内倾角和前轮前束。这三个参数反映了前轮、主销和前轴三者之间在车架上的位置关系。主销后倾是指主销在汽车的纵向平面内有一个向后的倾角。它使车辆转弯时产生的离心力所形成的力矩方向与车轮偏转方向相反,从而纠正车轮偏转。因此,主销后倾角越大,车速越高,车轮偏转后自动回正的能力就越强。可以通过增减赛车车架上的黄色垫片对其进行调整。由于比赛选用的舵机性能偏软,过大的主销后倾角易使转向沉重,因此经过调试将垫片按前1后3安装,将后倾角度设为3°比拟适宜。主销内倾角是指主销装在前轴略向内倾斜的角度,它也能使前轮自动回正。角度越大前轮自动回正的作用就越强烈,但转向时也越费力,轮胎磨损增大;反之,角度越小前轮自动回正的作用就越弱。主销内倾的回正作用与车速无关,对于赛车的行驶影响不大,为减少车轮磨损降低行驶阻力,未作调整;车轮滚动时,在车重影响下,车轮会自然内倾,为减少轮胎磨损,将车轮安装时略微外倾,同时设置一定的前束值以约束车轮向外运动的趋势。这就是前轮外倾和前轮前束。因赛车的质量不大,这两个参数也对小车运动性能影响很小,可以不作调整。但在小车直线行驶过程中,发现小车经常会跑偏,经过反复检查,问题出在前轮外倾角和前轮前束值的匹配上。经过反复调整与舵机相连的转向横拉杆左右臂的长度,将前轮前束值保持在0°左右,问题得到了很好的解决。2、差速器的调整赛车在转弯时内外两侧车轮会移动不同的曲线距离,外侧车轮移过的距离大于内侧车轮。差速器的作用就是保证赛车在转弯时内外驱动轮能以不同的转速作纯滚动运动,防止发生车轮拖滑。差速器的性能对于赛车过弯时的表现有着非常重要的影响,因此,对于差速器的调整是赛车机械调整的重要环节。差速器的作用主要表现在以下两个方面:一是差速,二是限滑。差速作用能使内外车轮可以相对转动,并使两轮转动速度的平均值等于整驱动轴的转动速度;限滑作用那么可以在两轮相对转动时产生阻力,限制两轮速度差,防止其中一个轮子发生过度打滑和空转。差速器主要分两种:齿轮差速器和滚珠差速器。齿轮差速器利用齿轮之间的相互啮合来实现差速,优点是阻力很小,差速效果好。缺点是体积较大,结构复杂。而滚珠差速器那么是利用齿轮上滚珠的滚动使滚珠两边的摩擦片获得相反的速度,从而实现差速。滚珠差速器的优点是结构简单,体积小,适合于车模使用。本次比赛车模采用的差速器就是滚珠差速器。滚珠差速器的差速效果与两边压盘的夹紧力有关,如果压紧力过大,那么滚珠之间的摩擦力就会随着增大,相对滑动困难,影响差速效果。相反的,如果夹紧力过小,加速时齿轮与两边压盘之间会发生打滑现象,影响动力传递。因此,为保证良好的差速效果,在对差速器进行调整的关键是要调节好压盘和滚珠之间的压紧力。具体的调整方法是:调节后轴螺母,使压盘和滚珠之间松紧适中,捏住减速齿轮使其固定同时转动一侧车轮,检查车轮的转动是否迟滞艰涩;此外,还要观察该侧车轮向前转动的角度是否与另一侧车轮向后转动的角度根本相同;然后将赛车满载放置于赛道上,同样捏住大齿轮然后拉动赛车转弯,观察后轮相对地面滑动的情况;调节后轴螺母,使得后轮与地面根本不发生拖滑为宜。这样赛车在入弯时既能灵活转向,又能防止车轮侧滑。需要指出的是,采用这种结构的差速器,压盘和滚珠之间的磨损比拟严重,时间一长两者之间会产生旷量。所以经常对差速器进行润滑和清理是十分重要的。润滑差速器需要用专门的滚珠差速器油。2.3电路设计该智能车系统包括以下几个模块:电源模块、时钟模块、最小系统板模块、串口模块、测速模块、电机驱动模块。智能车的电路板主要分为上下两层,下面一层为单片机最小系统板,上面一层主要包括电源模块、测速模块、电池电压检测模块,电机驱动模块及串口通信模块。上层电路板和下层电路板通过插针连接,安装拆卸方便,使赛车能够快速组装。2.3.1电源模块电源模块为系统其它各个模块提供所需要的电源,主要为单片机、摄像头、MC33886、测速模块,电池电压检测模块供电。供电电压有9V、7.2V、5V三种电压值。设计中,除了要考虑到电压范围和电流容量等根本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简易程度等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的根底,故在所设计的电路板中参加了电池电压检测电路。当电池低电量时及时报警。为了减小环流的出现,根本的5V供电电路设计成了两个电源回路,而非直接并联两个LM2940。5V供电电路如图2.8所示:图2.85V电压供电电路2.3.2时钟模块图2.9外部时钟电路图2.10锁相环电路比赛过程中,由于需要单片机处理的数据量大,速度快,所以在单片机外部使用了16M的外部晶振,同时通过使用单片机内部的锁向环的功能,使得最终单片机的总线频率到达了32M,接近单片机总线的极限频率。采样速度完全满足比赛的要求。外部时钟接线电路如图2.9所示,锁相环电路如图2.10所示。2.3.3最小系统板模块图2.11MC9S12DG128最小系统板PCB图本文开发设计了MC9S12DG128的最小系统板。前三届比赛中,都一直沿用清华大学提供的最小系统板,虽然其使用方便,电路稳定,但是体积较大,从降低重心方面考虑,摒弃了该系统板,开发了较为精简的最小系统板。如图2.11所示。2.3.4串口模块图2.12串口电平转换电路智能车的行走路线是根据跑道上的黑线确定的,根据摄像头采集到的路况信息控制舵机及后轮电机。而为了获取路况信息,就要求单片机能够和PC机通信,而比拟方便有效的方式就是串行通讯。同时在进行系统调试的时候:比方PID参数测定,采用传感器记忆数据时也要用到串口。所以,串口电路必不可少,连接电路如图2.12所示。2.3.5测速模块图2.13测速模块根本原理即为:在很短的时间内,通过反射式光电传感器来测量固定在拖轮轴上的码盘黑白间隔数,输送到单片机的脉冲累加器外部引脚,经过换算计算出智能车的实际速度,为速度PID控制环节提供可靠的数据。由于考虑的车体运动时,后轮会出现漂移的情况,为提高测速精度,将测速模块固定在拖轮上。这样即使车体出现漂移,拖轮也能很精确的测量出此时的速度。用高速比拟器LM393将光电传感器的电压变化转换成单片机能识别的上下电平,输入到单片机PT0脚,这样便可捕捉到编码盘的黑白变化,进而得到车模运行速度,反响给PID控制环节。测速模块如图2.13所示。图2.14电机驱动电路2.3.6电机驱动模块驱动单元是控制系统的重要组成局部,前几届比赛的队伍中电机驱动方式有很多种,大致分为三类:MOS管驱动、电解调速器、MC33886、其它电机驱动芯片。本次设计采用的驱动芯片是MC33886,其最大输出电流可达6A,工作电压为5~16V,PWM输入最高频率20KHz[22]。由于MC33886驱动能力的限制,如果用一片进行驱动电时机使芯片非常热,所以我们采用两片MC33886并联的方式进行驱动,并且外加散热片,可以实现根本的加速正反转,在最大速度运行时,芯片只是微热。设计电路如图2.14所示。2.3.7抗干扰处理在电子系统设计中,应充分考虑并满足抗干扰性的要求,防止在设计完成后再去进行抗干扰的补救措施。〔1〕抑制干扰源抑制干扰源就是尽可能的减小干扰源的du/dtQUOTEdudt、di/dtQUOTEdidt,这是抗干扰设计中最优先考虑和最重要的原那么。减小干扰源的du/dtQUOTEdudt主要是通过在干扰源两端并联电容来实现。减小干扰源的di/dtQUOTEdidt那么是在干扰源回路串联电感或电阻以及增加续流二极管来实现。本设计中所采取的措施有:电机两端增加续流二极管,消除断开线圈时产生的反电动势干扰;同时给电机加滤波电路;7.2V电源两端并联两个电感,起到滤波的作用,其中一个大电容,大小为470μF,一个小电容,大小为0.01μF(常用的103)。布线时防止90°折线,减少高频噪声发射[23]。〔2〕切断干扰传播路径干扰的传播路径可分为传导干扰和辐射干扰两类,所谓传导干扰是指通过导线传播到敏感器件的干扰。高频干扰噪声和有用信号的频带不同,可以通过在导线上增加滤波器的方法切断高频干扰噪声的传播,有时也可加隔离光耦来解决。电源噪声的危害最大,要特别注意。所谓辐射干扰是指通过空间辐射传播到敏感器件的干扰。一般的解决方法是增加干扰源与敏感器件的距离,用地线把它们隔离和在敏感器件上加蔽罩[24]。本设计中所采取的措施有:充分考虑电源对单片机的影响,给单片机电源加滤波电路,同时对单片机的5V电源单独供电;单片机的I/O口与外部器件〔控制电机、传感器、开关等〕之应加光隔隔离;电路板合理分区〔如强、弱信号,模拟、数字信号分开〕。〔3〕提高敏感器件的抗干扰性提高敏感器件的抗干扰性是指从敏感器件这边考虑尽量减少对干扰噪声的拾取,以及从不正常状态尽快恢复的方法。本设计中所采取的措施有:布线时,电源线和地线尽量粗;尽量降低单片机的晶振和选用低速数字电路;IC器件尽量直接焊在电路板上[25]。经过长时间的运行和改良,系统稳定性已经根本到达了我们的要求。2.4本章小结硬件设计在智能车整个系统的设计中非常重要。因为车体的硬件性能直接影响到智能车运动的极限参数,如最高速度、最大响应时间、最大侧滑速度等。为了提高硬件的性能主要从三个方面进行设计,即车模调整、舵机及传感器的安装、电机的驱动电路设计。本章主要内容就是介绍所述智能车的整体硬件设计方案,最主要的工作是开发了DG128的最小系统板。3软件设计基于摄像头的智能车的软件设计主要有以下几个方面:视频信号采集、视频信号处理、舵机方向控制、电机速度控制。其中视频信号的采集是最先要考虑的,如果视频信号采集不稳定的话,那么直接影响到后面的控制结果,造成智能车的不稳定,严重影响车模运行速度。对于舵机和电机的控制那么是最终表达车体速度的关键,上一章所述的硬件设计师软件设计的根底。只有硬件设计过硬才能得到一个比拟好的控制实体,之后才能更容易的控制。综合比拟各届比赛多支队伍的控制算法,采用根本的PID控制策略居多,然而基于赛道的什么参数去实现PID控制,那么千差万别。3.1视频信号采集视频信号的采集是下面各控制算法的根底,良好的视频采集采集程序能够提高软件运行的稳定性。3.1.1摄像头的工作原理如果要对摄像头进行数据采集必须要弄清楚其具体的工作原理,CMOS的工作原理就是:按一定的分辨率,以隔行扫描的方式采集图像上的点,当扫描到某点时,就通过图像传感芯片将该点处图像的灰度转换成与灰度一一对应的电压值,然后将此电压值通过视频信号端输出。图3.1行场同步信号摄像头连续地扫描图像上的一行,那么输出就是一段连续的电压信号,该电压信号的上下起伏反映了该行图像的灰度变化。当扫描完一行,视频信号端就输出一个低于最低视频信号电压的电平(0.3V),并保持一段时间。这样相当于,紧接着每行图像信号之后会有一个电压“凹槽”,此“凹槽”叫做行同步脉冲,它是扫描换行的标志。然后,跳过一行后〔因为摄像头是隔行扫描的〕,开始扫描新的一行,如此下去,直到扫描完该场的视频信号,接着会出现一段场消隐区。该区中有假设干个复合消隐脉冲,其中有个远宽于〔即持续时间远长于〕其它的消隐脉冲,称为场同步脉冲,它是扫描换场的标志。场同步脉冲标志着新的一场的到来,不过,场消隐区恰好跨在上一场的结尾和下一场的开始局部,得等场消隐区过去,下一场的视频信号才真正到来。摄像头每秒扫描25幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描50场图像。奇场时只扫描图像中的奇数行,偶场时那么只扫描偶数行[26]。对于接收到的视频信号,需经LM1881进行行场同步信号别离后才能进行采集。别离得到的同步信号如图3.1所示。3.1.2采样分析图3.2采集到的直道图像本系统所使用的CMOS摄像头输出的是PAL制式的视频信号,其一幅图像包含575个图像行,每行最多有767个点〔按荧光屏的长宽比为4:3计算〕,因此其图像解析度能到达575×767≈440000个象素。而对于智能车系统而言,由于受MC9S12DG128单片机内存和运算速度的限制,这么大解析度的图像是无法处理的。因此必须降低图像的分辨率。根据实际需要,在分辨率为30×30的情况下,仍然能够获得清晰的赛道图像,满足控制车辆的需要。路径检测需要的图像的特点是水平分辨率高,垂直分辨率低,而S12单片机受ATD转换速率的限制,在水平方向上每一行中只能采集8个点,而垂直方向上那么能够采集数百行,因此该文作者提出了将摄像头旋转90度的方法解决这一矛盾。而本文作者经过实验验证,通过降低ATD的采集精度,将单片机CPU超频,配合提高ATD时钟,能够在一行数据有效的52μs时间内,最高可采集66个点,这对于路径检测来说也已经足够了,无需将摄像头旋转90度。不旋转摄像头的好处还在于能够一边采集数据,一边完成对数据的初步处理。考虑到采集数据的稳定性,我们最终确定采集图像的分辨率为28×41,即每行采集41个点,每幅图像采集28行。采集到的数据如图3.2所示。3.1.3采样时序视频同步信号主要有场同步信号、奇场偶场同步信号和行同步信号。PAL制式下场同步信号的频率为50Hz,其中场又分为奇场和偶场,奇场和偶场扫描频率均为25Hz。奇场扫描的是图像中的奇数行,故名思意,偶场扫描的为图像中的偶数行。为了简化视频信号的采集,只对场同步信号进行处理,忽略奇场和偶场信号的差异,实验证明该方案可行。具体说来,采集一场视频信号的流程如下:第一步,LM1881别离出行、场同步信号在DG128的H口产生中断。接收到场同步信号时,根据PAL标准,此时意味着还有22行〔约1408μs,为视频信号的场消隐区〕将开始第一个数据行。为确保正确的采集到数据,通过判断行中断的次数过滤掉此消隐区。第二步,如果行中断次数到达22行,那么初始化ATD准备进行数据采集。对于5次接收到得ATD数据,不存入图像数组,过滤掉行消隐区。第三步,行消隐区过后,循环接收ATD转换的数据,当一行41个点采集完时,数据行的数据采集完成。由于一场中有300多个行,但ATD只采集其中的28行,故每9行采集一次,完成对一场数据的采集。如果一场采集完成,即图像数组已经存满,那么数据采集标志置位,否那么重新执行第三步。第四步,当数据采集标志位已置位后,那么图像采集已完成。为防止下一场数据又写入到数组中,将刚接收到得数据拷贝到另一个同样大小的数组中进行保存。之后,图像处理那么只调用此数组。可见,本程序的运行完全是由行、场同步信号产生的中断来驱动的。该程序的优点在于中断个数少,而且把复杂的时序用同步信号过滤掉,简化了采样程序,提高了采样稳定性[27]。程序流程图如图3.3所示。图3.3图像采集流程图3.1.4中断分析视频采集共涉及到2个中断:场中断、行中断。对于中断的编写我们采用了中断嵌套的方式,只需1个场中断效劳程序,进入场中断程序后才开启行中断。对于中断而言,其首要任务是及时把结果存放器中的值转移出来,因ATD在不停的在采集视频信号,如果转移不及时,新的结果会把原来的结果覆盖掉。中断程序需要根据一系列行场中断及ATD转换完成标志位来计算本次采集结果对应的图像位置,然后保存到数组中。ATD在采集间隔为8μs,中断效劳程序必须要在这段时间内完成,因此要求程序不能过于冗杂。3.2路径识别与自动阈值所谓路径识别,简单的理解就是把图像中反映路径的局部提取出来。这是一个图像分割的过程。图像分割是计算机进行图像处理与分析中的一个重要环节,是一种根本的计算机视觉技术。在图像分割中,把要提取的局部称为“物体〔Object〕”,把其余的局部称为“背景〔Background〕”。分割图像的根本依据和条件有以下4个方面:1、分割的图像区域应具有同质性,如灰度级别相近、纹理相似等;2、区域内部平整,不存在很小的小空洞;3、相近区域之间对选定的某种同质判据而言,应存在显著的差异性;4、每个分割区域边界应具有齐整性和空间位置的平整性。现在的大多数图像分割方法只是局部满足上述判据。如果加强分割区域的同性质约束,分割区域很容易产生大量小空洞和不规整边缘;假设强调不同区域间性质差异的显著性,那么极易造成非同质区域的合并和有意义的边界丧失。不同的图像分割方法总是为了满足某种需要在各种约束条件之间找到适当的平衡点。图像分割的根本方法可以分为两大类:基于边缘检测的图像分割和基于区域的图像分割。边缘是指图像局部亮度变化最显著的地方,因此边缘检测的主要依据是图像的一阶导数和二阶导数。但是导数的计算对噪声敏感,所以在进行边缘检测前需要对图像滤波。大多数的滤波算法在滤除噪声的同时,也降低了边缘的强度。此外,几乎所有的滤波算法都防止不了卷积运算,对于智能车系统来说,这种运算的计算量是S12单片机系统所无法承受的。阈值分割法是一种基于区域的分割技术,它对物体与背景有较强比照的景物的分割特别有用。它计算简单,而且总能用封闭且连通的边界定义不交叠的区域。阈值分割法的关键在于阈值确实定。如果阈值是不随时间和空间而变的,称为静态阈值;如果阈值随时间或空间而变化,称为而动态阈值。基于静态阈值的分割方法算法简单,计算量小,但是适应性差。基于动态阈值的分割方法其复杂程度取决于动态阈值的计算方法[28]。针对本智能车系统,普通的双峰法就能适合绝大局部情况,因为智能车的运行环境是比赛赛道,背景和前景区清楚显,且背景简约。但是实验环境并不理想,由于受到光线斜射的影响,有时背景和前景的比照十分不明显。结合实际需要,提出了一种新的计算阈值的方法,这种方法的思想与迭代法有些相似。首先我们假定,智能车系统运行时,开始时采集的第一幅图像是良好的。这个“良好”含义是:第一行也就是最近处的一行,完整的包含了导航线,并且使用“双峰法”能正确提取。其次,我们对每一行都定义一个阈值Tr,每一行都用该行的阈值Tr进行分割。在此根底上按照以下规那么进行阈值传递:1、如果第r行分割出来的黑色区域〔线段〕是连续的,那么计算目标区域和背景区域的平均灰度值,并取其中值,做为当前行和下一行的Tr。2、如果第r行分割出来的黑色区域是空集或者不连续,那么保持当前行和下一行的阈值不变。图3.4一行阈值计算流程图算法整个流程,如图3.4所示。这种算法的特点是运算量小,但是能跟踪环境光线的逐渐变化。由于环境光线不管在时间上还是空间上都是逐渐变化的,所以这种分割算法产生严重错误的概率极小,小于1/10000。这个数据的来源是,我们让智能车在实验赛道上运行,累计时间超过30分钟,没有一次智能车因为阈值分割错误而停车。图3.5是智能车因错误而停车时的即时照片,在上面几行中,赛道黑线与背景间的差异已十分微弱,但图3.6显示,这种情况下阈值分割的结果仍然是正确的,包含了识别赛道的足够信息,减少了智能车其它的程序错误。图3.5干扰严重时的赛道图片图3.6动态阈值分割的结果3.3软件抗干扰处理抗干扰处理包括以下方面的内容:1、消除信号产生和传输的过程中造成的噪声;2、消除赛道不理想或光线不均匀形成的干扰;3、消除赛道中的交叉线、断续线;4、识别起跑线信号产生和传输的过程中造成的噪声具有普遍性,但是只有当其非常严重时才对路径的识别造成影响。所以采取以下滤波算法:当某点的灰度值与其左边和右边点的灰度值的差同时大于某个正阈值或同时小于某个负阈值时,认为该点是干扰点,取其左右两边灰度值的平均值作为该点的灰度值。a.原始图片b.阈值分割后的图片c.去掉干扰后图片d.提取中心线并进行坐标变换图3.7赛道抗干扰处理对于赛道不理想或光线不均匀形成的干扰,其一般特点是散布于赛道黑线的两边,所以采用以下算法处理:步骤1从最近的第一行开始,寻找这样一个行:该行只有一段连续黑色线段,且线段的左右边均不是图像的左右边。标记该行为Start行。步骤2在下一行中寻找这样一段连续黑色线段,满足这样的条件:其左边缘不在上一行黑线右边缘的右边,且其右边缘不在上一行黑线左边缘的左边。步骤3如果存在步骤2中的黑色线段,认为该段黑线是赛道黑线,其余黑点〔线段〕均认为是干扰,跳步骤2。否那么,标记该行为End行,并计算该行与Start行之差,如果大于3,那么结束搜索,如果小于等于3,那么返回步骤1。这种算法的实质是搜索连续的黑线。因为赛道是连续的,而干扰却大局部是离散分布的。对于赛道中的交叉线,可以统计一行中黑点的个数,因为正常的黑线只有2.5cm,在图像中不超过6个点。所以把6作为一个阈值TN,如果一行黑点的个数超过TN个点,就可以认为是交叉干扰。实际上,我们做了更复杂的处理,就是根据当前赛道的倾斜程度来调节TN,因为当赛道倾斜时其宽度将发生变化。并且,我们不只是识别出交叉干扰,而且“砍掉”它的左右两支,保存一条连续的赛道黑线。起跑线是在赛道黑线的左右两边,对称存在两条长度各为10cm,相距6cm,且与赛道黑线垂直的黑色线段。正确的识别起跑线是应用更高级控制算法如记忆算法的根底。我们使用如下算法识别起跑线:在已识别出赛道黑线的行,保证该行不是交叉行〔前面已经识别出〕,然后确定其左右两边各一个矩形区域,统计两个区域中黑点的个数,如果均大于某一阈值,那么判断该行出现了起跑线。经过以上处理,我们得到了如下信息:首先是两个标记Start和End,这两个标记标记了成功识别出的赛道的最近一行和最远一行;其次是在Start和End之间的每一行,记录了其赛道的左边缘位置和右边缘位置,并且通过坐标变换算法,计算出每行赛道中心线的实际位置。最后留下了一些其它标志,比方每行是否是交叉、起跑线或者断续线。这些标志在我们调试的过程中都用某种方式以图像的形式反映出来。处理效果如图3.7所示:3.4偏航算法本智能车系统的方向控制是依靠舵机实现,属智能车最核心的控制局部,因为对舵机的控制才使赛车有了“智能”的含义。3.4.1摄像头测量距离标定如果要计算车体与路径偏移量的大小,必须要对摄像头的测量范围进行标定,也就是将摄像头测量的数据与实际图像的位置相对应起来,方可得到精确的测量模型。通过仔细研究各届前几名的控制算法,程序中的参数全是由实际测量得到的,只有这样写出的控制算法效果才比拟好。摄像头的位置、俯仰角度决定了摄像头看到的图像范围,另外由于CMOS的特殊成像方式,俯仰角度的大小直接关系到图像的畸变大小,故俯仰角要合理。如果考虑摄像头的前瞻性,可适当增加摄像头安装高度,不过这样会让车体重心变高,造成过弯极限速度受限,所以摄像头的安装要综合考虑两方面的影响。经过测验,最终确定摄像头高度为300mm,俯仰角60°。此时测得的最远距离600mm,最近处距离200mm,最远处距离宽度400mm,最近距离宽度200mm。如图3.8所示。图3.8摄像头安装参数3.4.2舵机的控制方法驱动舵机是下面偏航算法实现的硬件根底。车模采用前轮转向模式,前轮转角那么是由舵机转动带动两侧的联动杆实现的。联动杆长度可以微调,以到达最正确转向效果。同时,在程序控制转向中需要左右转极限以及中间位置的PWM数值,所以需要进行系统的转向测试,得到每一个PWM占空比所相对应的转向角度。使得后面的软件控制准确、可靠。舵机与控制脉冲的为线性关系。在本系统中,使用单片机的PWM1脚控制舵机转向。舵机的控制频率在50-100Hz范围内,为了增加舵机转向力矩,本系统采用的控制频率为100Hz。舵机安装完成后,测得舵机处于中心位置时,PWMDTY01的值为1550。由于本系统为了增加舵机的灵敏度对舵机输出转角进行了机械放大,故当前轮处于左右最大转角时舵机输出转角越为±25°,此时PWMDTY01与中心位置时相比变化量为±110。当控制舵机的频率为50Hz时,其输出转角与其控制脉冲的关系如图3.9所示。图3.9舵机与控制脉冲的关系3.4.3偏航距离的计算图3.10偏航距离的计算由于已经获得了赛道中心线的位置,所以计算偏航距离的问题是选取何处的中心线的距离为当前的偏航距离。由于控制算法的执行周期为40ms,如果赛车的速度为2m/s,那么在两次控制算法的执行中间,赛车要前进8cm,赛车所处的环境将发生比拟大的改变,所以赛车的控制只能算是半实时控制,这是所有使用摄像头作为主要寻线传感器的参赛队都防止不了的问题。因为算法的滞后性,赛车需要将“当前位置”进行适当前移。前移量应该跟赛车当前速度成正比,但实际中我们发现,适当增加一些前移距离是有好处的,因为可以在入弯处提前转弯,使得赛车沿弯道内侧行驶,缩短了过弯距离。经测量,该车摄像头看到的最近一行距车前轮轴的距离为20cm,故将智能车的“当前位置”设在此处。智能车的偏航距离即为图3.10所示。3.4.4偏航角的计算计算偏航角度的实质是直线拟合问题,因为赛道中心线所在的直线确定了,而直线的斜率与偏航角度一一对应。直线拟合最有效的方法是最小二乘法[29],但是直接应用存在一个问题,即如何确定进行直线拟合的区间?对于广角CCD摄像头,在整个成功识别出赛道的区间内进行直线拟合显然是欠缺考虑的,因为在弯道的情况下,这种方法拟合出的应该是一条弦线,而不是当前该弯道处的切线。但对于我们选择的CMOS摄像头型号,其视野比拟窄,所以赛道在测得的图像与直线非常相近,故偏航角可用图像最远有效点与最近有效点所处的直线斜率来描述。实验中也发现效果比拟好。图3.11车体与赛道标识方向的偏离情况如何计算赛道弯曲情况,首届时很多参赛队针对各自的实际需要,提出了自己的方法。其中最普遍的是根据斜率的导数来计算曲率[30]。如何能更接近的去计算赛道曲率,是一个很值得细细研究的问题。当智能车驶入弯道后,如图3.11所示。其中delt为CMOS得到的图像信息的最远一行有效黑点line[End]与最近一行有效黑点line[Start]之差,从图中我们可以看出,智能车驶入弯道时,赛道曲率越大,delt也越大。正常情况下,车是沿着黑线前进的,也就是说,车的前进方向是与黑线相切。故任意时刻,车与黑线切点对应的转弯半径与车前进方向垂直,如图3.12所示:故可知,曲率Curve与delt、h的关系如式3.1Curve=1/R=2*delt/(delt2+h2)(3.1)但是实验发现,如果直接用斜率k=delt/h也能很好的表示赛道弯曲程度,效果与计算的曲率几乎一致,故考虑到提高DG128单片机的运算速度,我们采用了用斜率大小来描述赛道弯曲情况。图3.12赛道曲率的计算3.4.5舵机的控制经上面计算可得赛道曲率和偏航角度的数学表达式,但是如何用这两个量综合控制舵机转向是一个难点。由于计算斜率k时,考虑的是整幅图像,故斜率k直接反响了当前转弯的整体紧急程度,在转向控制中可作为控制的输入量,而角度angle那么作为控制的输出量。采用P控制时,具体关系可如式3.2:angle=Kp*delt/h(3.2)考虑到斜率k或偏差delt仅仅反映了道路的趋势,去忽略了当前偏航距离offset,我们重新对角度控制进行校正,加上位置偏差offset,那么公式3.2就变成了式3.3:angle=K1*delt+K2*offset(3.3)这里K1,K2为待定参数,K1越大,提前转弯量越大,走内线越明显。而K2越大,那么对当前偏航距离看的比拟重,车沿着黑线跑越明显,走内线程度那么相应被削弱。综合考虑CMOS的拍摄范围及采集行列数,我们取K1=20,K2=2/3。这样实现了直线不抖,转弯走内线,S弯与直线一样直接走过。赛道经过直线时,delt=0或非常小,那么offset将发挥作用,控制智能车贴着黑线行驶,如图3.13所示。图3.13直道控制智能车经过弯道时,delt和offset同时发挥作用,关键在于参数K1,K2的大小,这两个参数只能通过不断的调试获得,前面已经提到,K1决定转弯大小,K2抑制或促进转弯,为的是将智能车尽量拉回黑线。所以说,调节两者大小可以很好的控制智能车跑内线的程度。如图3.14所示。图3.14弯道控制同样,智能车进入S道时,由于两种偏差的相互抵消,转角非常小,就如同直线段一样了。如果智能车慢速行驶,舵时机略微转动,幅度不大;但是如果智能车比拟快的行驶,由于舵机的滞后性,赛车就会直接冲过S到。如图3.15所示。图3.15S道控制3.5电机的速度控制电机是智能车运行的动力,为智能车的发动机。对电机的控制好坏,直接影响到智能车的运行速度。电机的控制最重要的是响应速度。3.5.1电机的开环响应特性图3.16电机的开环响应曲线[31]电机的开环响应曲线如图3.16所示,可以看出,小车速度在增加时,速度曲线近似一递增的对数曲线。小车速度到达稳态速度的60%需要2.6秒时间,而要到达稳态速度需要8.4秒的时间。而在速度减小时,速度成直线下降,从稳态速度下降至零只需要1秒时间,远小于速度上升时间。因为驱动电机在减速时〔占空比设置为较低的值〕采取的是电磁制动方式,所以,小车的减速快于一般的自然减速。因而,相对于速度递增时的电机响应时间,小车递减时间较短。为了减小车模制动时间,在电机的电源端连接了一个续流二极管。另外,由于电机加速减速剧烈,故为了减小电机产生的纹波,又加了一个滤波电容。经示波器观察,加上滤波电容后,电机产生的纹波有明显的改善。3.5.2速度PID算法图3.17PID控制系统原理框图根据偏差的比例〔Proportional〕、积分〔Integral〕、微分〔Derivative〕的线性组合进行反响控制〔简称PID控制〕,数字PID控制算法是电机微机控制中常用的一种根本控制算法[32]。在连续系统中,模拟PID调节器是一种线性调节器,控制系统原理框图如图3.18。控制规律如式3.4所示:ut式中:Kp:比例增益,Kp的倒数称为比例带;TI:积分时间常数;TD:微分时间常数;u(t):控制量;e(t):偏差,等于给定量与反响量的差。在计算机控制系统中,数字PID控制算法通常又分为位置式PID和增量式PID。本次设计中,我们采用增量式PID。增量型算法与位置型算法相比,具有以下优点:增量型算法不需要做累加,增量确实定仅与最近几次偏差采样值有关,计算精度对控制量的计算影响较小,而位置型算法要用到过去偏差的累加值,容易产生大的累加误差;增量型算法得出的是控制量的增量,而位置型算法的输出是控制量的全量输出,误动作影响大;采用增量型算法,易于实现手动到自动的无冲击切换。在实际应用中,采样的反响值y(k)即为脉冲累加器中的PACN0中的脉冲数,预设门限值

温馨提示

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

评论

0/150

提交评论