本科毕业设计说明书
基于单片机的智能寻迹小车设计
THE SYSTEM DESIGN OF THE TRACKING CAR BASED ON
MCU
学院(部):电气与信息工程学院 专业班级: 电子与信息工程08-2 学生姓名: 王 建 指导教师: 曲立国讲师
2012 年 6 月 3 日
I
安徽理工大学毕业设计
基于单片机的智能寻迹小车系统设计
摘 要
本文以竞赛用智能车为研究对象,围绕着视觉导航中的道路识别和跟踪算法以及系统的实现展开研究。在机械系统设计方面,根据汽车技术理论,讨论了机械系统参数的调整方法,如主销后倾角、主销内倾角、车轮外倾和前束等,同时为使左右前轮转向一致,讨论了转向系统的标定方法;在控制系统硬件设计方面,对整个系统的电源模块、路径识别模块、测速模块和驱动模块的硬件、安装方式和外围接口电路进行了设计;在控制系统软件设计和设计方面,对道路识别和跟踪算法以及车体PID控制算法的数学模型进行了研究。
本课题的主要研究内容及成果包括以下几个方面:
(1)为了克服外界环境光的干扰,设计了滤波电路,提出了相应的滤波算法。该滤波电路耗电省,工作稳定,抗干扰性强,探测距离与灵敏度可通过电路中参数来调节。 (2)对摄像头采集及处理路径图像数据进行了研究,基于二值化算法,左侧边缘检测法和跟踪边缘检测法的原理,提出了改进型二值化算法。该算法在摄像头倾斜检测时,对视频图像数据的去噪处理非常有效,具有较强的鲁棒性,能够提取出精确的路径特点信息。
(3)通过对竞赛用智能汽车的转向舵机转角和行进速度所采用的基于路径形状信息的参数自整定模糊PID控制算法的研究,提出了可应用于现代智能车转向和车速调节的PID控制算法数学模型。
(4)完成了我校竞赛用智能车全部软硬件的设计与制造。
关键词:智能竞赛汽车;摄像头;图像处理;路径识别;路径跟踪;PID控制;
I
安徽理工大学毕业设计
THE SYSTEM DESIGN OF THE TRACKING CAR BASED ON
MCU
ABSTRACT
This thesis , taking intelligent competition car as the research object, focuses the research work on path identification, path tracking and the system implementation. In the aspect of mechanical system design, the adjutive methods of mechanical and structure parameters are discussed according to automobile technical theory,such as caster angle, kingpin inclination , toe-in and camber of wheels.Meanwhile,the calibrated method of steering system is discussed in order to make two front tires achieve accordant turning. In the aspect of the hardware design of control system, hardware selections, interface circuits and installing pattern for the power module,path identification module,velocity measurement module and driving module are designed.In the aspect of software design of control system,the road identification and tracking algorithm an mathematic modeling of control algorithm for car body are studied. The main contents and contributions of this thesis are as follows:
(1)In order to overcome the interference of environmental light to the infrared emitting diode and photodiode, a filtering circuit is designed. The circuit is of the little power consumption, and the better working stability, and the better characteristics of identifying path and anti-jamming, and the adjustable detecting range and sensitivity.
(2)By the research on path image data acquiring and processing,based on the principle of binarization algorithm, left edge diction algorithm and tracing edge algorithm, an improved binarization algorithm is proposed. The algorithm is a skew detection method of the camera and effective for the de-noising processing of image data, and it has strong properties of robustne and can extract precise data of path feature points.
(3)By the reseach on the parameters self-tuning fuzzy-PID control algorithm, which is based on the image data of the path shape and adopted in adjusting the direction of the servo motor and the speed of the car, the mathematical models
II
安徽理工大学毕业设计
of the PID control algorithm is proposed, which can be used to adjust the running direction and the speed of the modern intelligent vehicles.
(4)The design and manufacture of all the softwares and handwares are finished for the intelligent competion car of our university.
Key Words : Intelligent Competion Car;Camera;Image Procession; Vision Navigation; Path Tracking; PID control;
III
安徽理工大学毕业设计
目录
摘 要 ..................................................................... I ABSTRACT ................................................................. II 1绪论 .................................................................... 1 1.1 引言 ................................................................ 1 1.1.1 智能控制简介 .................................................... 1 1.1.2 智能汽车简介 .................................................... 1 1.2 开发智能汽车必要性 .................................................. 1 1.3 智能汽车研究现状 .................................................... 2 1.4 未来智能车系统 ...................................................... 3 2系统方案论证 ............................................................ 6 2.1 道路检测方案设计 .................................................... 6 2.2 动力电机驱动电路设计 ................................................ 8 2.3 转向舵机控制 ........................................................ 9 2.4 测速电路选择 ........................................................ 9 2.5 控制算法 ............................................................ 9 3 智能车硬件电路设计 ..................................................... 11 3.1 系统结构框图 ....................................................... 11 3.2 CPU小系统设计 ...................................................... 12 3.2.1 CPU简介 ........................................................ 12 3.2.2 CPU复位电路设计 ................................................ 13 3.2.3 CPU时钟电路设计 ................................................ 14 3.2.4 CPU BDM调试电路设计 ............................................ 14 3.2.5 A/D参考电压电路设计 ............................................ 15 3.3 电源电路设计 ....................................................... 15 3.4编码器测速电路设计 ................................................. 16 3.5 直流电机驱动电路设计 ............................................... 17 3.6电池电压检测电路设计 ............................................... 18 3.7 加速度电路设计 ..................................................... 18 3.8 人机接口电路设计 ................................................... 19 4 PID控制算法在智能小车中的应用 ......................................... 20 4.1 PID控制简介 ........................................................ 20 4.1.1 PID控制的组成 .................................................. 20
i
安徽理工大学毕业设计
4.1.2 PID控制器的参数整定 ............................................ 21 4.2 增量型PID控制算法 ................................................. 22 4.2.1 增量型PID简介 ................................................. 22 4.2.2 增量型PID算法 ................................................. 22 4.2.3 增量型PID应用的程序编程 ....................................... 23 5 智能车的软件设计 ....................................................... 24 5.1 采集数据处理流程 .................................................. 24 5.2 赛道信息提取 ....................................................... 26 5.3 赛道特征识别 ....................................................... 26 5.4 舵机转向和电机速度的控制 ........................................... 26 结论 ..................................................................... 29 参考文献 ................................................................. 30 致谢 ..................................................................... 31
ii
安徽理工大学毕业设计
1绪论
1.1 引言
随着科学技术的进步和发展,人们对汽车的性能要求也日益提高。为了追求汽车的经济性、动力性、安全性和乘坐舒适性,世界各国不断应用各种先进科学技术,开发先进装置,以提高汽车的性能。80年代中期,传统的控制技术(经典控制和现代控制理论的统称)的应用,使汽车振动控制系统的性能有了较大的提高,相应地也暴露出一些不足。人工智能的出现和发展,促进了传统控制向智能控制的发展。 1.1.1 智能控制简介
智能控制是一类无需或仅需尽可能少的人干预就能够独立驱动智能机器实现其目标的自动控制。目前,智能控制理论,如人工神经网络技术(ANN)、模糊控制技术(FLC)、遗传算法优化技术等已进入工程化合实用化的时代,在汽车工程中得到了研究和重视。从目前来看,单独的人工神经网络、模糊逻辑控制和遗传算法优化技术均存在不同程度的不足,常和其他的控制算法结合使用,或者几种智能控制算法集成使用。
汽车是一个复杂的多自由度系统,受许多因素如路面状况、载荷等的影响。因此,许多专家都在寻找一种有效的方法控制汽车的动态特性使之满足要求,而智能控制的性能优于传统控制,因此在汽车领域得到广泛应用。 1.1.2 智能汽车简介
智能汽车与一般所说的自动驾驶有所不同,它指的是利用多种传感器和智能公路技术实现的汽车自动驾驶。智能汽车首先有一套导航信息资料库,存有全国高速公路、普通公路、城市道路以及各种服务设施(餐饮、旅馆、加油站、景点、停车场)的信息资料;其次是GPS定位系统,利用这个系统精确定位车辆所在的位置,与道路资料库中的数据相比较,确定以后的行驶方向;道路状况信息系统,由交通管理中心提供实时的前方道路状况信息,如堵车、事故等,必要时及时改变行驶路线;车辆防碰系统,包括探测雷达、信息处理系统、驾驶控制系统,控制与其他车辆的距离,在探测到障碍物时及时减速或刹车,并把信息传给指挥中心和其他车辆;紧急报警系统,如果出了事故,自动报告指挥中心进行救援;无线通信系统,用于汽车与指挥中心的联络;自动驾驶系统,用于控制汽车的点火、改变速度和转向等。 1.2 开发智能汽车必要性
在汽车的技术开发领域,流行着这样一句话:“技术比人类更可靠”。欧洲的一项研
1
安徽理工大学毕业设计
究表明:汽车驾驶员只要在有碰撞危险的0.5s前得到“预警”,就可以避免至少60%的追尾撞车事故、30%的迎面撞车事故和50%的路面相关事故;若有1s的“预警”时间,则可避免90%的事故发生。通常对车辆的操作实质上可视为对一个多输入、多输出、输入输出关系复杂多变、不确定多干扰源的复杂非线性系统的控制过程。驾驶员既要接受环境如道路、拥挤、方向、行人等的信息,还要感受汽车如车速、侧向偏移、横摆角速度等的信息,然后经过判断、分析和决策,并与自己的驾驶经验相比较,确定出应该做的操纵动作,最后由身体、手、脚等来完成操纵车辆的动作。因此在整个驾驶过程中,驾驶员的人为因素占了很大的比重。一旦出现驾驶员长时间驾车、疲劳驾车、判断失误的情况,很容易造成交通事故。
美国研究认为:包括智能汽车研究在内的智能运输系统对国家社会经济和交通运输的影响,可能会超过洲际高速公路。它的意义和价值在于:大幅度提高公路的通行能力,至少使现有高速公路的交通量增加1倍;大量减少公路交通堵塞、拥挤,降低汽车油耗,可使城市交通堵塞和拥挤造成的损失分别减少25%~40%左右,大大提高了公路交通的安全性。另外更重要的是,可以明显提高运输效率,促使交通运输业繁荣发展。近两年来,一些特大型汽车行业巨头纷纷合并、收购或建立各种合作关系,从而在全球范围内掀起了新一轮汽车行业竞争的狂潮。美国加州国际汽车经济研究所的调查报告指出,下一个汽车销售高潮将从普及“智能化汽车”开始,新一轮竞争的焦点,将是基于信息融合技术、微电子技术、计算机技术、智能自动化技术、人工智能技术、网络技术、通信技术等的智能汽车(Intelligent Vehicle,IV)的研究设计开发。
通过对车辆智能化技术的研究和开发,可以提高车辆的控制与驾驶水平,保障车辆行驶的安全畅通、高效。对智能化的车辆控制系统的不断研究完善,相当于延伸扩展了驾驶员的控制、视觉和感官功能,能极大地促进道路交通的安全性。智能车辆的主要特点是以技术弥补人为因素的缺陷,使得即便在很复杂的道路情况下,也能自动地操纵和驾驶车辆绕开障碍物,沿着预定的道路轨迹行驶。 1.3 智能汽车研究现状
智能车系统是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,是典型的、多学科的、综合性的高科技和高新技术的结合体,涉及传感器技术、信息融合技术、微电子技术、计算机技术、智能自动控制技术、人工智能技术、网络技术、通信技术等,在一定程度上代表了一个国家自动化智能的水平。进入20世纪90年代以来,随着汽车市场竞争激烈程度的日益加剧和智能运输系统(ITS)研究的兴起,国际上对于智能汽车及其相关技术的研究成为热门,一批有实力、有远见卓识的汽车行业大公司、研究院所和高等院校也正展开智能汽车的研究。目前它已成为世界众多发达国家重点发展的智能交通体系中的重要组成部分,也是世界车辆工程领域研究的热点和汽车工业增长的新动力。
2
安徽理工大学毕业设计
欧洲开发基金资助进行驾驶员监测、道路环境的感知、视觉增强、前车距控制以及传感器融合方面的研究。同时,欧洲的一些国家正试验将智能速度适应(Intelligent Speed Adaptation,ISA)作为提高车辆安全性的手段,其构想是通过路边标志信息或卫星定位信息以及车载数字地图进行车辆导航,并自动控制车辆的速度。实验结果表明,采用该系统,能够使交通事故减少20%。德国慕尼黑联邦国防大学与奔驰汽车公司合作研制开发了VAMP试验车,它是由一辆豪华型的奔驰500SEL改装而成,视觉系统主要包括道路检测与跟踪RDT和障碍物检测与跟踪ODT两个模块。在整个实验中,系统行驶了1600公里,其中95%的部分是自动驾驶的。
目前在日本,夜视和后视报警系统已应用在某些汽车上,三菱公司和尼桑公司已发布其近期可使用的防撞设备,前方防撞和车道偏离有望在1~2年内实现。本田公司、尼桑公司和丰田公司也各自在先进安全性车辆计划中发展行车安全子系统,它们包括:车道定位系统、前车距离控制系统、自动控制系统、障碍物警报系统、驾驶员打盹报警系统和夜间行人报警系统等。日本智能公路(SmartWay)计划中,提出车辆上采用诸如:车道保持、十字路口防撞、行人避让和车距保持等IV技术。到2015年将在日本全国范围内实施SmartWay计划。
我国的相关研究也已展开。清华大学汽车研究所是国内最早成立的主要从事智能汽车及智能交通的研究单位之一,在汽车导航、主动避撞、车载微机等方面进行了广泛而深入的研究。上海市“智能汽车车内自主导行系统”的一种样车,2000年7月19日通过市科委鉴定,它标志着上海智能交通系统进入实质性实施阶段。国防科大成功试验了第四代无人驾驶汽车,它的最高时速达到了75.6公里,创国内最高纪录。西北工业大学空管所、吉林交通大学、重庆大学等都在展开相关研究。这一新兴学科吸引着越来越多的研究机构、学者加入到智能车相关技术开发研究中来。
在智能汽车的目标实现之前,实际上已经出现许多辅助驾驶系统,已经广泛应用在汽车上,如智能雨刷,可以自动感应雨水及雨量,自动开启和停止;自动前照灯,在黄昏光线不足时可以自动打开;智能空调,通过检测人皮肤的温度来控制空调风量和温度;智能悬架,也称主动悬架,自动根据路面情况来控制悬架行程,减少颠簸;防打瞌睡系统,用监测驾驶员的眨眼情况,来确定是否很疲劳,必要时停车报警。计算机技术的广泛应用,为汽车的智能化提供了广阔的前景。 1.4 未来智能车系统
车载信息技术是无线电技术与微处理器技术的汇聚,即利用计算机和卫星通信等信息技术来实现智能车辅助驾驶、Internet网上登录、实时交通信息查询等。通过应用电子信息技术,使车辆实现高智能化,极大地改善车辆人机系统的安全性,避免事故的发生和减少伤害程度。从此角度出发,以系统工程的观点来看待智能车信息系统,可以划分为环境识别子系统、状态判断子系统、车辆控制子系统、司机—车载计算机交互界面
3
安徽理工大学毕业设计
子系统等。
(1)便携式GPS定位与导航:便携式卫星导航集成了卫星定位技术(GPS)、地理信息管理(GIS)和互联网技术,以电子地图为基础,通过GPS接收卫星信号,能够完成智能路径规划、全程语音提示、电子地图浏览、卫星定位导航等功能。GPS主要由卫星与接收器两部分构成。卫星向地面广播编码位置与时间信号,而接收器则负责接收这些信号,实现全天候、大范围、多车辆的实时动态定位、调度、监控,改进车辆运行管理,增强突发事件的反应能力,提高车辆运行率和行车安全度,并为应用的行业规避经营风险,提高经济效益。其经济廉价、精度定位、全球覆盖的魅力,使其迅速超越传统的定位手段,成为需要定位、定姿、定时的首要选择。
(2)视觉子系统,视觉子系统是智能汽车的图像信号检测机构,由摄像头、图形卡等硬件设备和图像处理软件组成。它主要依靠安装在前、后保险杠及车身两侧的红外线摄像机,对汽车前、后、左、右的一定区域进行不停地扫描和监视,根据捕获图像和计算位置,实时采集、处理环境场景,对物体大小、形状和动作进行分析,判断出障碍物运动的方向、姿态、速度、加速度等信息,并将辨识数据提供给决策系统进行分析决策使用。
(3)微波多普勒雷达探测系统:车载微波探测雷达由窄波束天线、集成化发射机和接收机以及数字信息自理装置等组成。利用目标对电磁波的反射(或称为二次反射)现象来发现目标,并测定其位置及速度等参数,综合判断车辆行驶的潜在危险性,及时将探测结果提供给下一级决策系统。微波单片集成电路(MMIC)的最新发展,使固态收发模块在雷达中的应用达到实用阶段。集成接收机、发射机及高性能数字信号处理器(DSP),使价格低廉、高性能的便携式车载探测雷达的实现和普及成为现实。
(4)决策系统:决策系统主要是根据现场的情况,如交通状况信息、环境信息完成决策或分类任务,安排汽车行走路线。在此基础上根据一定的准则和决策的可信度对上述结果进行融合,再由策略库进行汽车动作部署,做出最优决策(如车辆优化调度、路径规划、汽车加减速、超车及停车等),以便具有良好的实时性和容错性,使在一种或几种传感器失效时也能工作。策略应根据经验进行提取,并存在知识库中。知识库还应有一个学习智能体,用于不断丰富策略。各种智能算法如神经网络、模糊算法、遗传算法等也可以应用到构造策略库以及策略选择过程中。系统根据采取的对策,决策汽车的任务和动作。
(5)通讯系统:通讯系统保证各模块之间以及车载体与控制中心之间的高质量通讯。目前大多数采用无线数字通讯。为了提高通讯的质量,要精心设计通讯电路及通讯协议。蓝牙技术为车载通讯系统提供了很好的解决方案,它将取代目前多种电缆连接方式,以低成本的近距离无线连接为基础,通过嵌入式微电子芯片,使所有相关设备在有效范围内完成相互交换信息、传递数据的工作,使各种电子装置在无线状态下相互连接传递数
4
安徽理工大学毕业设计
据。
(6)控制系统:智能车控制系统车辆动力学稳定性与汽车的横摆运动密切相关。智能车控制系统主要是通过制动力控制汽车的横摆运动,根据各传感器输入到计算机的信号推测驾驶员所期望的汽车转向运动,对发动机输出扭矩和各车轮制动力进行控制,以减小汽车转向时的过度转向特性,以及抑制因后轮侧滑所引起的急旋转运动发生,提高汽车操纵响应能力和紧急躲避障碍能力。
(7)显示系统:它包括底视显示系统、顶视显示系统和控制中心显示系统。底视显示系统显示汽车行驶速度、发动机转速、发动机状态、车门状态(锁死/微开)、燃油状态,还监控转向盘上用来选择合适娱乐工作模式的各按钮状态;顶视显示系统安装于汽车挡风玻璃上,可以为驾驶员传递路况信息、卫星导航信息,控制中心显示系统的液晶显示触摸屏能够为驾驶员提供各种信息界面显示,如电话、温度控制、电视、车辆状态信息、车载移动办公、导航、网站浏览、娱乐等。乘客通过连接在座椅上的通讯接口,也能享受这些功能。
信息融合技术是当今智能汽车的发展前景,信息融合技术使得车辆能够利用多传感器集成技术以及融合技术,结合环境信息、交通状况信息做出一个最优决策,实现车辆自动感知前方的障碍物,及时采取措施进行避让;通过对前方信号的识别,自动停车或继续运行;通过对路标的自动识别,避免违章行为等,从而可以大大降低车辆事故的发生,同时减轻司机驾驶的负担,尽量降低司机疲劳驾驶的可能性。当然,智能汽车的发展还有很长的路要走,但是未来交通必然是由智能车主宰,再配合上智能交通系统,人们的梦想——高速安全便捷的交通运输将不再是梦。
5
安徽理工大学毕业设计
2系统方案论证
本文所述的智能车是一种自动导引小车,能够在给定的区域内沿着轨迹自动行进。小车运行过程由方向检测和电机驱动两个部分进行控制,采用与白色地面颜色有较大差别的黑色线条作为引导。智能车寻迹系统采用红外反射式光电管识别路径上的黑线,并以最短的时间完成寻迹,用MC9S12XS128单片机扫描光电传感器组,对采集到的信号进行分析处理并作出逻辑判断后,得到行进方向,再通过加长转臂的舵机驱动前轮转向,实现智能车的寻迹行进。智能车的驱动采用直流电机,并采用PWM实现直流电机的调速,为使智能车快速、平稳地行驶,系统必须把路径识别、相应的转向伺服电机控制以及直流驱动电机控制准确地结合在一起。本文对智能车的寻迹、避障及速度控制等进行了研究。设计自动控制器是制作智能车的核心环节。自动控制器是以单片机为核心,配合有传感器、电机、舵机、电池、以及相应的驱动电路,它能够自主识别路径,控制模型车高速稳定运行在跑道上。 2.1 道路检测方案设计
智能小车需要实现自主寻迹,因而需要选择合适的寻线传感器。针对这个系统,传感器主要负责采集路面信息。赛道路面用专用白色基板制作,跑道表面为白色,中心有连续黑线作为引导线,黑线宽25mm。由于探测条件比较宽松,所以传感器的选择余地很大。大致可以分为两种方案。(1)红外发射/接收管检测方式,也即光电传感器检测方式。通过红外发光管发射红外线光照射跑道,跑道表面与中心线具有不同的反射强度,白色反射回来,而遇黑色吸收,利用红外接收管可以检测到这些信息。这种光电传感器一般安装在小车的前端,可以安装一排,也可以前后安装两排,总共大约十几个,这样,可以根据道路颜色反射回来的信息来确定小车中心与黑色中心线之间的位置关系。通过合理安排红外发射/接收管的空间位置就可以检测到模型车前方道路相对小车的位置。(2)CCD/CMOS摄像头检测方式。将摄像头认为是一种传感器,利用单片机采集道路前面的图像,通过软件处理获取赛道的各种参数。由于赛道本身只包括黑白两种颜色,采用黑白图像传感器即可满足要求。CCD/CMOS摄像头有面阵和线阵两种类型,它们在接口电路、输出信号以及检测信息等方面有着较大的区别,面阵摄像头可以获取前方赛道图像信息,而线阵CCD只能获取赛道一条直线上的图像信息。所以线阵的CCD可以看做分辨率很高的红外检测方式。道路检测也可以采用红外与摄像头混合检测方式,但是这种方式安装有很大的难度。
光电传感器寻迹方案的优点是电路简单、信号处理速度快,但是其前瞻距离有限;光电管通过红外收发管检测接收到的反射光强弱,以此判断赛道黑线,具有反应速度快,电路简单,检测信息速度快,成本低的优点;CCD摄像头则是通过图像采集,动态拾取
6
安徽理工大学毕业设计
路径信息来进行寻线判断。采用CCD摄像头寻迹则能大幅度提升小车的前瞻距离,有利于小车提高车速。但是它是以实现小车视觉为目的的,电路设计复杂,检测信息更新速度慢,数据处理量比较大,算法较为复杂。如何对摄像头记录的图像进行处理和识别,加快处理速度是摄像头方案的难点之一。比较见表2-1所示。
表2-1 两种道路检测方法优劣比较
道路检测方法 红外检测方法 优点 1. 电路设计相对简单; 2. 检测信息速度快; 3. 调试简单; 4. 成本低 缺点 1. 道路参数检测精度低; 2. 道路参数检测种类少; 3. 传感器个数多; 4. 检测前瞻距离较短; 5. 耗电量较大 摄像头检测方法 1. 检测前瞻距离大; 2. 检测范围宽; 3. 检测道路参数多 1. 电路设计复杂,需要视频信号同步分离、工作12电源电路等辅助电路; 2. 软件计算量大; 3. 检测信息更新速度慢 资料来源:学做智能车—挑战“飞思卡尔”杯
在比较了两种传感器优劣之后,考虑到光电传感器前瞻比较近单行扫描,视野比较小而且检测精度不够高,决定选用摄像头,相信通过选用合适的摄像头,加之精简的程序控制和较快的信息处理速度,摄像头还是可以极好的控制效果的。
选择光摄像头需要分析比较解决以下几个方面的问题。(1)根据其原理不同分摄像头主要分为两种:CCD(Charge Coupled Device)摄像头,CMOS摄像头。CCD也称电耦合器件,其工作原理是:被摄物体反射光线到摄像头上,经过镜头聚焦到CCD感光芯片上,感光芯片根据光线的强弱积聚相应电荷,经周期性放电而产生表示图像的电信号。CMOS摄像头其实跟CCD差不多,也是将光转换成电信号的器件。它们的差异之处就是图像的扫描方式不同,CCD是采用连续扫描方式,即它只有等到最后一个像素扫描完成后才进行放大;CMOS传感器的每个像素都有一个将电荷放大为电信号的转换器。所以CMOS的功耗比CCD要小。但是CCD摄像头可以通过升压电路来解决这个问题(2)在小车行进的过程中由于车身的抖动,CMOS摄像头采集到的图像有可能模糊不清,这样将会导致在处理采集到的数据时产生误差,最终影响小车的前进路线。而CCD摄像头则稳定得多。所以最终决定选择CCD摄像头。
(2)消除外界环境光线的干扰。摄像头采集图像的过程中对外界环境光线的要求很高,因为摄像头很容易受外界光线的干扰,从而导致采集的数据不准确。可以采取的措施有:在摄像头的前端镜片上固定一个偏光片,这也就可以避免外界一些光线的干扰
7
安徽理工大学毕业设计
(3)图像接收信号的接口电路。摄像头采集图像后根据图像的灰度会产生变化的电压,它可以反映出赛道中心线的位置。这个电压信息可以通过外部的电压比较器变成高低电平有单片机的I/O口端口读取,也可以通过单片机的A/D端口直接读取。通常单片机的I/O口数量比较多,可并行输入传感器的状态,读取速度快,这种方式需要增加多路电压比较电路,增加了接口电路的复杂性,同时也将摄像头上连续变化的电压信息由于整形而丢失了。通过单片机的A/D口直接读取电压的变化量,不仅可以简化外部电路的设计,同时还可以保留摄像头的连续变化电压信息,通过软件算法进行位置插值细化,不仅可以得到更加精确的位置信息,同时还可以消除环境光线的影响。 2.2 动力电机驱动电路设计
直流电机是智能车前行的动力所在。要驱动、控制一个直流电动机需要设计直流电机驱动电路。要驱动、控制一个直流电机驱动电路,既可以使用分立的功率元件如MOSFET搭建驱动电路,如半桥或H桥等;也可以使用集成的直流电动机功率驱动芯片。由于使用分立的功率元件构成电路会使得整个智能小车的设计变得复杂,因而使用集成的芯片会使小车的系统更简单明了。
在此智能车系统中,采用的是BTS7970芯片来驱动直流电机。BTS7970是一种集成的H桥功率驱动芯片,应用的是PWM模块来控制直流电动机,芯片内部是H桥结构,内部结构图如图2-1所示。
图2-1 BTS7970内部结构图
8
安徽理工大学毕业设计
2.3 转向舵机控制
伺服电动机是把输入的电压信号变为转轴的角位移或角速度输出,转轴的转向与转速随信号电压的方向和大小而改变。
对舵机的驱动为一路PWM波,本设计采用两种供电方式,即一路6V供电一路7.2V供电,平时使用6V。由于额定电压为5v~6v,但稍微高于额定电压会有更好的响应速度和扭力。 2.4 测速电路选择
为了使模型车能够平稳地沿着赛道运行,除了控制前轮转向舵机以外,还需控制车速,使模型车在急转弯时速度不要过快而冲出赛道。
在车轮没有打滑情况下,车速正比于驱动电机的转速。车速检测一般式通过检测驱动电机实现的。电机转速检测方法很多,大致有以下方法:
(1) 测速发电机。采用同轴直连或者齿轮传动等方法,将测速发电机与驱动电机相连,它的输出电压正比与转速。
(2) 透射式光电检测。相比反射式光电检测,它是具有齿槽结构的圆盘固定在后轮驱动机的输出轴上,采用直射式红外传感器读取齿槽圆盘转动脉冲,比如ST130传感器。 (3) 反射式光电检测。在后轮齿轮传动盘上粘贴一个黑白相间的光码盘,通过固定在附近的反射式红外传感器读取光码盘转动的脉冲。
(4) 转角编码器。分为绝对位置输出或者增量式位置输出两种。一般可使用增量式编码盘。它的输出脉冲的个数正比于电机转动的角度,从而使它的输出脉冲的频率正比于转速。可以通过测量单位周期内脉冲的个数或者脉冲周期得到脉冲的频率。本文采用的即为此方法。 2.5 控制算法
这里主要完成对转向舵机和驱动电机的控制。采用简单的闭环控制,使用基于反馈控制的PID算法为主要的控制算法。包括三个部分:测量、比较和执行。即把测量到的关心的变量与期望值比较,然后用这个误差纠正调节控制系统的响应。在这种情况下,引入了PID控制器。在实际应用中,PID控制算法所控制规律为比例、积分、微分控制。PID是一种有效而简单的控制器,能够在保证不影响系统稳定精度的前提下提高系统的相对稳定性,并很好地改善系统的动态性能。
根据有关实验,传统的PID控制算法在寻找机器人转向控制中表现出来的性能很好,所以智能车的转向控制算法也使用PID算法。但是由于智能车本身存在一些特异的故有特性,单纯的PID控制无法有效地控制智能车,必须加入一些基于驾驶经验的方法。
首先,智能车车体惯量较大,车体控制响应频率较低;其次动力电机和舵机的响应
9
安徽理工大学毕业设计
速度有限;再次,智能车的差速机构很差,不利于作大的转弯动作。这些特点时候使得智能车的控制滞后较大,且弯道性能较差。为了克服这些问题,必须使智能车能够提前检测弯道必备并减速过弯。
在实际的智能车系统中,PID算法的运用存在一些问题: (1) 实际没有对速度进行限制,故需要对速度进行定义;
(2) 对直线上的偏差进行不断地修正,即使是很小的偏差,小车也会不断地加速或减速,造成电能的损耗,影响速度的提高,并导致系统的不稳定;
(3) 当系统有干扰信号时,PID调节会出现超调甚至震荡现象,使系统不稳定。
10
安徽理工大学毕业设计
3 智能车硬件电路设计
3.1 系统结构框图
根据系统输入输出分析情况,结合其软硬件特点,在硬件上可将智能车系统划分为电源、单片机、传感器、动力电机、转向舵机和通讯调试等几个模块。系统模块框图如图3-1所示。
在选定智能车系统采用摄像头传感器方案后,赛车的位置信号由车体上方的摄像头传感器采集,经MC9SXS128的I/O口处理后,用于赛车的运动控制决策,同时内部ECT模块发出PWM波,驱动直流电机对智能车进行加速和减速控制,以及伺服电机对赛车进行转向控制,使赛车在赛道上能够自主行驶,并以最短的时间最快的速度跑完全程。为了对赛车的速度进行精确的控制,在智能车后轴上安装光电编码器,采集车轮转速的脉冲信号,经MC9SXS128捕获后进行PID自动控制,完成智能车速度的闭环控制。
转向控制系统中最重要的部分是舵机。智能小车采用舵机的型号为HS-3010,该舵机扭力大,稳定性好,控制角度精确,但是响应灵敏度较差,存在严重的机械滞后,而舵机的响应速度直接影响模型车通过弯道时的最高速度,提高舵机的响应速度是提高模型车平均速度的一个关键。
由于速度是比赛的关键,那么在智能小车的设计中设计一个好的电机驱动电路至关重要。试验中发现,而是采用了基于H桥驱动电路的PWM控制技术,方便地实现电机的正转和制动。
智能小车竞赛是基于同一开发平台上设计的小车竞速比赛,因而智能小车的速度和稳定性是决定比赛成绩的关键。
电源模块 赛道信息采集 速度检测模块 单片机 控制模块 舵机控制模块 电机控制模块 辅助调试模块
11
安徽理工大学毕业设计
图3-1 系统结构框图
3.2 CPU小系统设计 3.2.1 CPU简介
MC9SXS128是HCS12家族的一个成员。该器件包括大量的片上存储器和外部I/O。MC9SXS128是一个16位器件,有16位中央处理单元(HCS12CPU)、128KB Flash、8KB RAM、2KB EEPROM组成内存储器。同时还包括2个异步串行通信接口(SCI)、2个串行外设接口(SPI)和一个8通道输入捕捉/输出比较(IC/OC)增强型捕捉定时器(ECT)、2个8通道10位A/D转换器(ADC)和一个8通道PWM。
MC9SXS128还包括29个独立的数字I/O口(A、B、K、和E),20个独立的数字I/O口具有中断和唤醒功能。另外还具有2个CAN2.0A/B标准兼容模块(MSCAN12)和一个IC总线。
MC9SXS128具有内部16位数据通道,外部总线可以按照8位数据总线窄模式操作,所以可以和8位数据总线的存储器连接,以降低成本。PPL电路允许根据系统需要调整电源功耗及性能。
图3-2所示的MC9SXS128封装引脚图共有80个引脚。
12
安徽理工大学毕业设计
图3-2 MC9SXS128 QFP80 封装引脚图
3.2.2 CPU复位电路设计
如图3-3所示为芯片硬件复位电路。系统正常工作时RESET引脚通过4.7K电阻接到电源正极(这里设为5V电源供电),所以应为高电平。若按下复位按钮RST,则RESET脚通过100Ω接地,为低电平,芯片复位。单片机系统要求整个系统的电源电压为5V的高质量的直流稳压电源,系统电源电路如图3-4所示,接在电源与地之间的电容C1、C2为滤波电容,其作用是减少不稳定外电源对系统的干扰,增强系统工作的稳定性。
13
安徽理工大学毕业设计
5VR124.7KR1351GNDC24GND0.1UC247UFC10.1UXS128MCURESTVCCKRESET
图3-3 芯片硬件复位电路 图3-4电源滤波电路
3.2.3 CPU时钟电路设计
XTAL和EXTAL分别是晶体驱动输出和外部时钟输入引脚。EXTAL引脚既可以接晶振,也可以接CMOS兼容的时钟信号,驱动内部时钟发生电路,器件中所有的时钟信号都来自该引脚输入的时钟。XTAL引脚为晶体驱动输出,当EXTAL引脚外接时钟时,该引脚悬空。时钟电路的集中接法如图3-5、图3-6和图3-7所示。
EXTALMCUXTALCCDC1EXTALMCUXTALEXTALCMOS兼容的外部时钟无连接RBRSC1C2MCUXTALC2VSSPLLVSSPLL图3-5 Colpitts晶振连接 图3-6 Pierce晶振连接 图3-7 外部时钟接
( PE7=0 ) ( PE7=1 ) ( PE7=0 )
本文选择图3-6的晶振连接方式,得到如下图所示的芯片晶振连接图。
EXTAL34OS116MC2022PFR1010MXTAL35GNDC2122PF
图3-8 芯片晶振电路
3.2.4 CPU BDM调试电路设计
14
安徽理工大学毕业设计
BDM口是用来接BDM调试器,一方面用来向目标板下载程序,可以将目标板上的单片机Flash中的旧程序擦除。另一方面,通过BDM调试器将系统软件中的各个参数传送到上位机CodeWarrior IDE调试界面,方便系统调试和观察系统软件各个参数的变化。
BKGD1NC3NC52GND4RESET6VDD
图3-9 标准BMD调试插头
引脚1为BKGD信号,在这种定义方式,一旦BDM插头被接反,则目标CPU的BKGD引脚会被短接到VDD上,由此将会造成芯片烧毁。 3.2.5 A/D参考电压电路设计
LM317集成电路是精密的2.5V并联稳压器,器件工作相当于一个低温度系数的、动态电阻为0.2Ω的2.5V齐纳二极管,其中的微调段、端可以使基准电压和温度系数得到微调。它的典型性能参数有: ·低温系数:6mV/9mV/18/mV; ·工作电流范围:300μA~10mA; ·最大正向电流:10mA; ·最大反向电流:15mA。
输入5V电源,经过滤波电路和LM317后转换为2.5V的单片机A/D口参考电压。
LM3175VADJU122R362403AINVOUTR26GNDRXR27RX1 图3-10 A/D参考电压电路
3.3 电源电路设计
驱动电路板中的电源模块为系统其它各个模块提供所需要的电源。设计中,除了需
15
安徽理工大学毕业设计
要考虑电压范围和电流容量等基本参数之外,还要在电源转换效率、降低噪声、防止干扰和电路简单等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。
由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包括多个稳压电路,将充电电池电压转换成各个模块所需要的电压。主要包括如下不同的电压:
5V电压,采用芯片LM2940,主要为单片机、信号调理电路以及部分接口电路(如光电传感器)提供电源,电压要求稳定、噪声小,电流容量大于500mA。
6V电压,采用芯片LM2941主要是为舵机提供工作电压。实际工作时,舵机所需要的工作电流一般在几十毫安左右,电压无需十分稳定。
3.3V电压,采用芯片LM358,由5V电源变换为3.3V电源为加速度传感器提供工作电压。
图3-11 单片机电源电路
图3-12 舵机电源电路
图3-13 加速度传感器电源电路
3.4编码器测速电路设计
16
安徽理工大学毕业设计
Pin#Color Lead Wire1234BlackBrownRedOrangeDescriptionAnodeCathodeCollectorEmitterAnodePTrLEDCathodeCollectorEmitter500+5V红黑F=10mA棕橙Signal1K0v
图3-14 光电编码器原理
图3-15 测速电路原理图
结合图3-14和图3-15,我们知道,此光电编码器分为四个引脚,分别为黑、棕、红、橙色。图3-15中的53中4脚接编码器黑色线,由+5V电源接500Ω电阻到地;3脚接编码器棕色线,为直接接地;2脚接编码器红色线,接5V电源;1脚接编码器橙色线,接入信号电路。 3.5 直流电机驱动电路设计
用MC9SXS128的PWM0和PWM1分别作为BTS7970的IN1和IN2引脚下的输入,
17
安徽理工大学毕业设计
并通过MC9SXS128的ADC模块采样BTS7970的反馈电流信号(FB)引脚,以实时监控H桥的高边电流输出,实现对电机的转速和转矩的闭环控制。电路原理图如图3-16所示。
图3-16 运用BTS7970驱动直流电机原理
3.6电池电压检测电路设计
图3-17 电池电压检测电路
由于输入电源为7.2V,而单片机A/D接口参考电压为2.5V,故需要通过电阻分压来变换检测电压。上图中Rx的值取为6.8K,这样,通过分压和一个电压跟随器,AN01得到的电压为2.16V,在0~2.5V之间,输入到单片机的模拟量口AN01。随着电池电压的下降,即7.2V的输入逐渐降低,则输入给单片机的模拟量也会发生相应变化。 3.7 加速度电路设计
加速度传感器是一种能够测量加速力的电子设备。加速力就是当物体在加速过程中作用在物体上的力,就好比地球引力,也就是重力。加速力可以是个常量,比如g,也可以是变量。芯片LM358是一个单轴的加速度传感器,检测加速度信号。
LM358捕获步态的加速度信号,微控制器的内置模数转换器对其进行采样并输入单片机模拟量口AN1。
18
安徽理工大学毕业设计
图3-18 加速度电路原理图
3.8 人机接口电路设计
开关按下后输出低电平开关关闭,按下弹起后开关打开。按键开关的四个引脚分别接到单片机的PT口,如图3-19所示。
PT4PT6PT5PT3K1K2K3K4R15.1KR25.1KR35.1KR45.1K5VGND 图3-19 按键开关电路原理图
19
安徽理工大学毕业设计
4 PID控制算法在智能小车中的应用
4.1 PID控制简介
目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。智能控制的典型实例是模糊全自动洗衣机等。自动控制系统可分为开环控制系统和闭环控制系统。目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器(Intelligent Regulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。
然而受到我们所使用的处理系统的限制,能应用在智能小汽车电机控制中的智能控制是非常有限的。据我们阅读历届技术报告,在智能小车中最常见的是增量式PID控制和模糊PID控制。 4.1.1 PID控制的组成
在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。图4-1位为PID控制系统原理图。
图4-1 PID控制系统原理图
20
安徽理工大学毕业设计
比例(P)控制:
比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state Error)。 积分(I)控制:
在积分控制中,控制器的输出与输入误差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System With Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。
微分(D)控制:
在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(环节)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性。 4.1.2 PID控制器的参数整定
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:
(1) 首先预选择一个足够短的采样周期让系统工作;
21
安徽理工大学毕业设计
(2) 仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;
(3) 在一定的控制度下通过公式计算得到PID控制器的参数。 4.2 增量型PID控制算法 4.2.1 增量型PID简介
在计算机控制系统中,数字PID控制算法通常又分为位置式PID和增量式PID。本次设计中,采用增量式PID。增量型算法与位置型算法相比,具有以下优点:增量型算法不需要做累加,增量的确定仅与最近几次偏差采样值有关,计算精度对控制量的计算影响较小,而位置型算法要用到过去偏差的累加值,容易产生大的累加误差;增量型算法得出的是控制量的增量,而位置型算法的输出是控制量的全量输出,误动作影响大;采用增量型算法,易于实现手动到自动的无冲击切换。 4.2.2 增量型PID算法
在实际的电机编程控制时,采用了基于PWM脉宽调制的PID闭环控制,主要实现对智能小车直流电机速度的闭环控制。
控制编程依据:
u(n)u(n1)Kp[e(n)e(n1)]Kie(n)
Kd[e(n2)2e(n1)e(n)]其中:u(n)—— 为第n次输出控制量;
u(n1)—— 为第n-1次输出控制量; e(n)—— 为第n次偏差;
e(n1)—— 为第n-1次偏差; e(n2)—— 为第n-2次偏差; Kp—— 为比例增益系数;
Ki—— 为积分增益系数; Kd—— 为微分增益系数;
电机PID控制子程序流程如图4-2所示。
22
安徽理工大学毕业设计
图4-2 PID控制流程图
4.2.3 增量型PID应用的程序编程
为了实现电机的连续闭环控制,单片机需要实时对测速传感器输出的信号进行采样,通过对电机最大转速、编码器分辨率、单片机指令执行速度等参数进行分析,结合以往电机控制中的经验,每次采样的周期定为4毫秒,即电机控制周期为4毫秒。以下是增量型PID应用的程序编程。 void Pid(void) { Speed
Different[0]=Speed-SpeedMeasure;
//e(n)
//P //I
Date=SpeedDifferent[0]-SpeedDifferent[1]; Date_I=SpeedDifferent[0];
Date_D=SpeedDifferent[0]-(SpeedDifferent[1]<<1)+SpeedDifferent[2]; //D PWMOut=PWMOutLast+Const_P*Date_P+Const_D*Date_D+Const_I*Date_I; //facti on PWMDTY45=PWMOut; //输出执行 PWMOutLast=PWMOut; //保存结果 SpeedDifferent[1]=SpeedDifferent [0]; }
最终增量型PID控制算法在小车上的应用成功,小车速度得到很好的控制。
23
安徽理工大学毕业设计
5 智能车的软件设计
智能车的软件设计前提是系统的初始化,然后进入各个功能模块的编成,基于摄像头检测的智能车的编成的功能实现只要分为五大部门:摄像头信号采集和电机速度测量,赛道信息提取,赛道信息滤波,赛道特征识别,最后为舵机转向执行和电机速度PID调节。其软件编程功能执行流程图如图5-1所示。 开始传感器信号采集和电机速度测量赛道信息提取赛道信息滤波赛道特征识别舵机执行转向通过PID调节电机速度 图5-1 功能模块执行流程图
5.1 采集数据处理流程
摄像头行数据通过LM1881的行场分离信号触发行中断,使用中断服务程序进行采集并处理。
24
安徽理工大学毕业设计
开始清中断标志,行计数row-counter++N采样行设定行标志sample-flag=1?Y等间隔采样12行?NY关闭A/D采样置sample-flag=0N行计数等于设定采样行?Y采样到设定最后一行row_max=240?Y采样行计数sample_row_j++关行中断sample_flag=1N复位IDT7205延迟消隐区5.6us允许采样标志flag_sample_enable=1?开启AD采样Y复位IDT7205延迟消隐区5.6us开启pp7Nsample_flag=1返回
图5-2 摄像头中断服务程序流程图
25
安徽理工大学毕业设计
5.2 赛道信息提取
这一步骤主要对摄像头采集的数据进行处理,得到黑线偏差,然后利用黑线的偏差对转向舵机进行控制。赛道信息提取流程图见图5-3。
摄像头每行采集120个点,将他们存储在数组a[n]中,开始处理时计数标志i++,然后利用第i个点的灰度值与第i+2个点的灰度值作差并与设定的阈值进行比较判断当前点是否为黑线起始位置,若不是,则i+1再重复上述步骤,若是黑线起始位置则记录当前点偏差到j,并开始将第i+2个点的灰度值与第i个点的灰度值进行比较,来寻找黑线结束位置的偏差则本行的黑线的偏差值为(i+j)/2。当一场数据的各行偏差都找到,并可以利用偏差进行舵机的转向控制,也可以进行拟合以便判断赛道类型,方便对驱动电机的速度进行控制。 5.3 赛道特征识别
依据赛道信息来看,赛道具有明显的特征,比如:小S弯道,大S弯道,长直道等。为了更好的控制智能小车的转向和速度,进行赛道特征的识别是非常有必要的,根据赛道的特征,以及具有明显特征的赛道类型对小车的转向、速度的要求,我们将赛道的特 征分为三类:直道,弯道和丢失数据时的坏道,这三种类型赛道对小车快速行驶的转向、速度要求具有明显的不同。
对于可以较快采集到较多数据的摄像头智能车来说,利用最小二乘法来判断赛道类型较为方便简单。其一般形式为ya0b0x,即以下行列式:
mxiayx (5-1) xbxyi20ii0ii对于不同的赛道类型,其最小二乘法解得的得数据设定的
a,b00的值是固定范围,所以便可以通过实验所
a,b00的范围来判断赛道的类型。
5.4 舵机转向和电机速度的控制
识别赛道的特征之后,舵机的转向和电机的速度采用PID控制的方式,通过PID数据的运算可以得到动态的舵机偏转参数和电机速度参数,不同的是舵机采用增量式PI控制算法来确定舵机转向值再赋给舵机输出,电机速度采用位置式PD控制来确定电机 速度。电机速度在三种不同的特征赛道上对应有3个参考速度,即直道速度,弯道速度,坏道速度。当识别到弯道时,加大PI中的比例项系数P,使小车舵机快速反应,同时电机速度切换到弯道速度,以便顺利过弯。舵机转向流程图见图5-4。
26
安徽理工大学毕业设计
开始Yi>118?Ni++a[i]-a[i+2]>阈值?YN确定黑线起始位置j=ij++a[i+2]-a[i]>阈值?YN本行黑线偏差为(i-j)/2结束 图5-3 赛道信息提取流程图
27
安徽理工大学毕业设计
开始N此帧为有效帧?Y根据速度选择舵机控制行PD控制舵机此帧完全丢线?YN舵机控制舵机保持返回
图5-4 赛道特征识别处理流程舵机转向
28
安徽理工大学毕业设计
结论
本文主要介绍了基于单片机的智能寻迹小车的方案的控制系统设计,包括各个主要模块的控制原理和设计思路。系统采用MC9S12XSl28单片机做主控制器,直流电机做执行元件,完成了智能车的硬件制作及软件设计。在中间粘贴黑色引导线的白色KT板制成的车道上对智能车进行了测试,表明智能车在直道上可以达到很高的速度和稳定性,在弯道上只要控制好车速,智能车也能平稳地运行。
在论文的写作过程中,我不仅把所学的理论知识应用到了实际,还自学了大量新学科新知识。涉猎了控制、模式识别、传感技术、汽车电子、电子信息、计算机和机械等多个学科,不仅开拓了视野,也提高了动手实践能力。
虽然设计了一整套较为完善可靠的软件控制算法,但是由于受知识水平和时间上的限制,本方案还有很多不足之处,可以进行改进和提高: 1、连续路径识别算法还可以做进一步改进; 2、闭环控制可以考虑采用模糊控制;
3、硬件电路上增加无线通讯模块,可以在线进行系统调试与参数的修改; 4、摄像头的选型、安装方式还需要做更多测试实验,以得到最优的效果;
5、可以考虑采用红外与摄像头混合检测方式进行赛道信息的采集,进一步增大小车的预测能力;
6、车速传感器可以考虑采用霍尔元件,精确反馈小车当前速度,提高小车行驶稳定性; 7、在电源芯片的选择上,可以选用压差小的芯片。考虑到电路中的损耗,可选用输出
稍高于所需电压的芯片;
8、机械结构特性调节进一步优化,增加小车的线性度。
29
安徽理工大学毕业设计
参考文献
[1]吴晔,张阳,藤勤.基于HCS12的嵌入式系统设计.电子工业出版社.2010. [2]卓晴,黄开胜,邵贝贝等.学做智能车—挑战“飞思卡尔”杯.北京航空航天出版社,2007.3.
[3]王晓明,电动机的单片机控制[M].北京航空航天大学出版社.2002. [4]绍贝贝,单片机嵌入式应用的在线开发方法[M].清华大学出版社,2004. [5]陈杰,黄鸿.传感器与检测技术[M].高等教育出版社,2002.
[6]周斌,李立国,黄开胜.智能车光电传感器布局对路径识别的影响研究[J].电子产品世界,2006.5:139~140.
[7]张文春,汽车理论[M].北京.机械工业出版社.2005
[8]张幽彤,陈宝江,汽车电子技术原理及应用[M.北京理工大学出版社.2006. [9]童诗白,华成英.模拟电子技术基础[M].高等教育出版社.2000.
[10]安鹏,马伟.S12单片机模块应用及程序调试[J].电子产品世界.2006.第211期.162-163
[11]Motorola,“MC9S12DT128B Device User Guide V1.09”,2002.10.31. [12]Freescale Semiconductor, Inc. MC9S12XS128 Device User Guide.
[13]Sudarshan D.Solanki,Ravishankar Kunaraswamy,Signal intergrity check by simulation to impmve PCB performance,Proceeding of INCEMIC,2003.
[14]K.Kluge, Extracting Road Curvature and 0rientation From Image Edge Points Without Perceptual Grouping Into Features.Paris:InteIligent Vehicles 94 SyInposium,1994:109—114.
[15]R.Behringer.Road Recognition from Multifocal Vision.Paris:Intelligent Vehicles 94 Symposium,1994:302—307.
30
安徽理工大学毕业设计
致谢
本论文是在导师曲老师的悉心指导下完成的。曲老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。我做毕业设计的每个阶段,从选题到查阅资料,论文提纲的确定,中期论文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导,在此谨向曲老师致以诚挚的谢意和崇高的敬意。
同时感谢我的同学们,他们的支持和鼓励,为我创造了一个和谐,融洽的学习和工作环境,让我铭记在心。祝他们在以后的工作和生活中顺利!
31
因篇幅问题不能全部显示,请点此查看更多更全内容