飞思卡尔智能车摄像头组技术报告之欧阳育创编.docx
《飞思卡尔智能车摄像头组技术报告之欧阳育创编.docx》由会员分享,可在线阅读,更多相关《飞思卡尔智能车摄像头组技术报告之欧阳育创编.docx(43页珍藏版)》请在冰点文库上搜索。
飞思卡尔智能车摄像头组技术报告之欧阳育创编
第七届“飞思卡尔”杯全国大学生
时间:
2021.02.04
创作:
欧阳育
智能汽车竞赛
技术报告
(校徽)
学校:
*********
队伍名称:
******
参赛队员:
******
******
******
带队老师:
******
关于技术报告和研究论文使用授权的说明
本人完全了解第七届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:
参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队教师签名:
日期:
摘要
本文以第七届全国大学生智能车竞赛为背景,介绍了智能赛车控制系统的软硬件结构和开发流程。
该比赛采用组委会规定的标准车模,以Freescale半导体公司生产的16位单片机MC9S12X128为核心控制器,在CodeWarriorIDE开发环境中进行软件开发,要求赛车在未知道路上完成快速寻线。
整个系统涉及车模机械结构调整、传感器电路设计及信号处理、控制算法和策略优化等多个方面。
为了提高智能赛车的行驶速度和可靠性,对比了不同方案(如摄像头与光电管检测方案)的优缺点,并结合Labview仿真平台进行了大量底层和上层测试,最终确定了现有的系统结构和各项控制参数。
它采用摄像头对赛道进行检测,通过边缘提取获得黑线位置,用PID方式对舵机进行反馈控制。
通过速度传感器获取当前速度,采用增量式数字PID控制实现速度闭环,根据预判信息和记忆信息对速度进行合理分配。
同时采用拨码开关和LCD显示屏实现人机交互系统。
测试结果表明,在该控制系统下,自寻迹机器人小车具有良好的位置跟踪和快速切换速度性能。
关键词:
智能车,跟踪寻迹,摄像头,传感器,PID,最优曲率
ABSTRACT
Inthebackgroundofthe7ndNationalIntelligentCarContestforCollegeStudents,thisarticleintroducesthesofthardwarestructuresandthedevelopmentflowofthevehiclecontrolsystem.Thiscontestadoptingthestandardmodelcarprescribedbythecontestorganizationcommittee,usingthe16-bitMCUMC9S12X128producedbyFreescaleSemiconductorCompanyasthecorecontroller,developingundertheCodeWarriorIDE,requiresthecartrackthelinefastontheroad.Thewholesystemincludestheaspectsofthemechanismstructureadjustment,thesensorcircuitdesignandsignalprocess,controlalgorithmandstrategyoptimizationetc.Inordertoincreasethespeedandthereliabilityofthecar,theadvantageanddisadvantageofthedifferentschemes(suchasthecameraandphotoelectriccellscheme)arecompared,andagreatnumberofthebottomlayerandtheupperlayertestsarecarriedoncombinedwiththeLabviewsimulationplatform.Atlast,thecurrentsystemstructureandeachcontrolparametersaredetermined.Itcapturestheroadinformationthroughacamera,thenabstractstheblacklinepositionbyedge-detectionmethod.Afterthat,PDfeedbackcontrolisusedonthesteering.Thesystemobtainsthecurrentspeedusingaspeedsensor,sothatitcanrealizethefeedbackcontrolofthespeedbytheincreaseddigitalPIDalgorithmcontrolmethod.Atthesametime,theuseofanLCDdisplaystrailsinformationandkeyboardisusedtoachievetheman-machineinteraction.Accordingtothepre-judgeinformandthememorizedinform,itallocatesthespeedproperly.Thetestresultsshowedthattheself-tracingrobotcarhadgoodpositiontrackingandfastspeedswitchingperformance.
Keywords:
intelligentvehicle,linetrack,camera,sensor,PID,optimalcurvature
第一章:
引言
1.1背景介绍
智能汽车就是一种无人驾驶汽车,也可以称之为轮式移动机器人,主要依靠车内以计算机系统为主的智能驾驶仪来实现无人驾驶。
它一般是利用车载传感器来感知车辆周围环境,并根据感知所获得的道路、车辆位置和障碍物信息,控制车辆的转向和速度,从而使车辆能够安全、可靠地在道路上行驶。
无人驾驶汽车从根本上改变了传统的“人一车一路”闭环控制方式,将不可控的驾驶员从该闭环系统中请出去,从而大大提高了交通系统的效率和安全性。
现代无人驾驶汽车以汽车工业为基础,以高科技为依托,遵循由低到高、由少到多、由单方面到多方面、螺旋上升的规律发展。
其横向发展离不开各种用途的实际需要,而其纵向发展的生命力在于持续不断的技术创新。
全国大学生飞思卡尔智能汽车竞赛是受教育部高等教育司委托,由教育部高等自动化专业教学指导分委员会主办的全国大学生智能汽车竞赛。
该竞赛以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。
该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。
大赛按照传感器类别的不同分为三个组别:
光电组、摄像头组、电磁组。
各组自己设计、选择规则允许内的传感器件,结合赛会指定的微控制器件,进行车辆运行中赛道信息的识别、动力控制、转向控制等具体内容。
在赛会规则的允许范围内,最快完成比赛的将取得最好成绩。
本报告将从硬件到软件一一的为大家呈现本智能车的设计方案和制作过程。
1.2发展现状
智能汽车,是一种集环境感知、规划决策、自动行驶等功能于一体的综合系统,集中地应用到自动控制、模式识别、传感器技术、汽车电子、电气、计算机、机械等多个学科,是典型的高新技术综合体,具有重要的军用及民用价值。
在20世纪80年代,美国就提出自主地面车辆(ALV)计划,这是一辆8轮车,能在校园的环境中自主驾驶,但车速不高。
1995年,一辆由美国卡耐基梅隆大学研制的无人驾驶汽车Navlab—V,完成了横穿美国东西部的无人驾驶试验。
2005年,美国国防部“大挑战”比赛上,最终由美国斯坦福大学工程师们改装的一辆大众途锐多功能车经过7个半小时的长途跋涉完成了全程障碍赛,第一个到达了终点。
在无人驾驶技术研究方面位于世界前列的德国汉堡Ibeo公司,最近推出了其研制的无人驾驶汽车。
我国国防科技大学从20世纪80年代开始进行无人驾驶汽车技术研究。
2000年6月,国防科技大学研制的第4代无人驾驶汽车试验成功,最高时速达76km,创下国内最高纪录。
以上转述只是冰山一角,智能车的技术正在不断发展中。
目前,智能车领域的研究已经能够在具有一定标记的道路上为司机提供辅助驾驶系统甚至实现无人驾驶。
这些智能车的设计通常依靠特定道路标记完成识别,通过推理判断模仿人工驾驶进行操作。
通常,智能车接受辅助定位系统提供的信息完成路径规划,如由GPS等提供的地图,交通拥堵状况,道路条件等信息。
1.3章节安排
本文内容的安排如下所示:
第一章引言本章主要介绍了Freescale车模竞赛的基本情况,智能车的发展状况。
第二章系统整体框架本章对系统硬件模块方案和软件控制方法进行了选择与论证。
第三章机械设计本章对机械结构的安装与改进,各个模块的安装技巧作了详细的介绍。
第四章硬件电路设计本章主要介绍了自行设计的基于飞思卡尔单片机的最小系统板的设计,电源模块、驱动模块、摄像头模块和速度传感器模块的设计与实现。
第五章软件系统设计本章软件系统各模块的设计思路作了详细的介绍。
特别介绍了图像处理中的各种技巧、PID控制策略的应用和起跑线识别算法的设计等问题
第六章开发工具及其调试本章对开发工具与调试方法作了简单介绍。
结论对整个参赛过程中的经验与教训作了总结。
第二章:
系统整体框架
2.1系统框架
智能汽车系统分为两个部分:
硬件系统与软件系统。
硬件系统包括了电路系统和机械系统;而软件系统则可以分为底层代码和实现算法,后者主要包括用于实现路径识别的算法、电机转速闭环、舵机角度控制和导引策略等。
具体层次结构如图2.1所示。
本文分层次展开硬件系统与软件系统。
图2.1智能汽车系统结构图
2.1.1硬件系统
根据需求分析,经过仔细研究,决定采用模块化设计。
智能汽车的硬件系统由核心控制模块(MCU)、传感器模块、电源管理模块、存储器模块、电机驱动模块、舵机驱动模块、人机接口模块、无线通讯模块和放电器模块组成,如图2.2所示。
图2.2智能汽车控制系统总体设计框图
2.2.2软件系统
系统的软件流程图如图2.3:
图2.3系统流程图
2.2方案简介
智能汽车系统的工作原理是预瞄理论和闭环控制理论的典型体现。
其示意图如图2.4所示。
图2.4智能车系统工作原理示意图
在本届比赛中,组委会提供了多种单片机可供选择,分为16位和32位两种类型。
我们选择了总线频率较高的16位MC9S12XS128作为主控芯片,并且自己制作了最小系统板。
图像采集单元,考虑到动态性、功耗性以及复杂性,我们经过对比最终选择了CMOS的OV7620作为图像采集传感器。
将图像采集来后,为了减小干扰,首先我们对整幅进行了二值化,然后利用跟踪边缘算法对黑线进行提取,为了使提取的黑线更加准确我们对提取的黑线进行了中值滤波和限幅滤波。
最终使黑线的变化更加平稳。
提取出黑线后,我们采用了PD策略对舵机进行控制,增量式PID对电机进行控制;并结合最优曲率算法和中心偏移量识别赛道类型,让小S直接冲过去,大S尽量内切,最大难度的发卡弯沿线通过。
然后,小车的速度根据前方的路况自动调整。
在硬件方面,我们为了使电路更加简化,自己制作了最小系统板,使得单片机,电源,电机驱动等模块集中到了一块最小系统板上,合理分布,最大限度的优化小车硬件与机械结构。
第三章:
机械设计
任何的控制算法和软件程序都是需要一定的机械结构来执行和实现的,因此在设计整个软件架构和算法之前一定要对整个车模的机械结构有一个感性的认识,然后建立相应的数学模型。
从而再针对具体的设计方案来调整赛车的机械结构。
本章的将主要介绍赛车车模的机械特点和调整方案。
3.1汽车行驶的数学模型
汽车是现代社会的主要交通工具,在对汽车研究过程中,形成了一大批研究成果。
我们在查阅了一大堆资料的前提下,形成了自己对汽车原理的首先建立汽车行驶的数学模型(见图3.1)
图3.1汽车行驶数学模型
图中:
AP,BN为连接杆与主销之间的杆长L杆
AB,CD为前轮轴长L前,后轮轴长L后
KL为前轴与后轴的轴距L轴距
根据汽车理论,假设轮胎不打滑,并忽略轮胎所受的重力作用产生的形变以及左右两侧轮胎由于受力不均产生的形变,即可得到理想的汽车转向模型:
如图3.1所示,即左右两轮的轴线与后轮的主轴,三点交于车身中心所处道路位置的曲率中心。
不失一般性,这里只讨论右转的情形。
对于图3.1,设左轮转向为
,右轮角分别为
,对于以上模型,显然有如下关系:
于是得到在理想状态下,汽车的过弯时的转角方程:
公式
(1)
同样也可以得到右转时
公式
(2)
采用第七届“飞思卡尔”智能车大赛组委会提供的韩国Matiz系列1:
10模型车的参数对公式
(1),公式
(2)进行仿真。
得到车模行驶时理论转弯半径与车轮转角的关系(见图3.2)和右轮也左轮的转角关系(见图3.3)
3.2弯半径与车轮转角关系图3.3右、左轮的转角关系
在模型车结构参数一定的情况,小车左右两轮的转角存在一定的函数关系,当向右过弯时,右轮转向比左轮转向大,同理向左转弯时,左轮转向较右轮转向大,同时,随着道路曲率半径的越大,车轮所需的转角越小。
在实际调试过程中,要以理论为基础,配合以上理论计算公式,寻找小车的轮速参数。
3.2整体布局与调整
在整个智能车系统中,优良的系统构架是一个优秀车模不可或缺的重要基础,而车模的整体布局又是参与此类竞速比赛的车模的基础中的基础。
车模的整理布局在很多方面决定了车模潜力的挖掘和技术水平的发挥,甚至在某些情况下影响着软件设计和控制算法。
下面将分模块予以分析。
3.2.1车模分析
在此届比赛中,摄像头组使用的车模是由广东东莞市博思电子数码科技有
限公司提供的G768车模平台(图3.4),配置FUTABA3010型号伺服器(图3.5)
和RN260电机(图3.6)。
图3.4模型车车体
图3.5伺服器图3.6电机
该车模结构合理,重心位置控制较好,重心较低,前后轮距合理。
特别是传动系统性能优良,相比较与上届的B型车模,该车模的动态传动系统要好很多。
并且车模的本身结构也有利于参赛选手根据自身情况进行适当的改装,满足自身控制的需求。
但是该车模也有一个缺陷,及其配置的驱动电机带载能力比较差,电机本身在带载情况下的加速性能比较差,这就给调速带来了很大的麻烦,这些将在调试中具体探讨。
3.2.2车模布局思想
为了使车模在竞赛中发挥出最好的水平,我们最车模的布局有以下几个想法:
第一车模的整体布局应该尽量简洁。
这对于车模的整体质量影响很大,以至于影响速度的发挥。
而且,在很多方面关系着车模的整理稳定性。
因此,尽可能的去除车模上的冗余结构很有必要。
第二车模的整体布局应该做到稳定。
车模的稳定不只是机械结构上的稳定,同样也对电路的稳定性有这很大的要求。
车模的电路设计方面应该努力屏蔽噪声干扰对整个电路带来的影响。
第三车模的整体布局应该做到高效。
此次智能车竞赛必竟是竞速比赛,毫秒之间可以决定胜负。
因此,车模能否做到高效是关系速度的一个重要指标。
从以上角度出发,最终我们设计出自己的车模模型,实物如图3.7所示。
图3.7实体车型
3.3机械结构调整
3.3.1前后轮定位
在调试中我们发现,模型车过弯时,转向舵机的负载会因为车轮转向角度增大而增大。
为了尽可能降低转向舵机负载,我们对前轮定位进行了调整。
前轮定位的作用是保障汽车直线行驶的稳定性和转向轻便。
前轮定位参数主要包括:
主销后倾角(图3.8)、主销内倾角(图3.9)、前轮外倾角和前轮前束。
我们将前轮外倾角和前轮前束分别设为0度、0mm,主销稍微内倾和后倾。
后轮采用窄轮距,可有效避免切弯过度时有一个后轮跑出去。
图3.8主销后倾角图3.9主销内倾角
3.3.2其他机械模块调整
除了以上部分的调整外,还对主悬架弹簧松紧、底盘高度和齿轮传动机构进
行了适当调整。
通过增加避震弹簧的刚性、降低底盘高度、调整齿轮间隙,改善
了赛车的行驶表现。
3.3摄像头的安装
摄像头安装主要考虑的问题有:
固定摄像头的材料,摄像头的安装位置和摄像头的安装高度。
为了降低整车重心,需要严格控制CMOS摄像头的安装位置和重量,我们自行设计了轻巧的铝合金夹持组件并采用了碳纤维管作为安装CMOS的主桅,这样可以获得最大的刚度质量比,整套装置具有很高的定位精度和刚度,使摄像头便于拆卸和维修,具有赛场快速保障能力。
摄像头的安装如图3.10/3.11所示。
图3.7底座-单杆安装图图3.8单杆-摄像头安装图
3.4舵机的安装
舵机转向是整个车模系统中延迟最大的一个环节,为了减小此时间常数,通过改变舵机的安装位置,加长力臂可以提高舵机的响应速度。
鉴于往届经验以及本届车模舵机性能,我们进行多套方案的试验,诸如将舵机竖直、水平以及其它不同方向的摆放方法。
考虑到舵机响应时间、稳定性以及虚位的诸多因素,我们最终选择倒卧式安装舵机,延长舵机臂杆至33mm,并自行设计了舵机安装支架,达到了很好的效果。
具体安装见图3.12。
图3.12舵机安装效果图
3.5编码器的安装
对光电编码器的安装,可以将光栅盘安装在电机轴上,通过先计算电机转速再来计算模型车后驱动轴得知车速。
但是,这种方法太麻烦,并且在电机轴上装光栅盘会影响电机的性能。
所以,我们将光栅盘安装在模型车后驱动轴上,根据光电编码器的输出脉冲计算不同时刻模型车的后轮转速。
光电编码器的固定如图3-10所示(欧姆龙500p)。
此处要注意的是,装在光电编码器上的齿轮个数不要太多,太多了就会降低检测精度。
我们用的齿轮是17齿。
配齿轮时还要注意模数这个参数,模数不匹配齿轮就会装不上,此处齿轮模数为0.5。
装齿轮时注意不要过紧也不要过松。
图3.10光电编码器
第四章:
硬件电路设计
4.1硬件设计方案
从最初进行硬件电路设计时我们就既定了系统的设计目标:
可靠、高效、简洁,在整个系统设计过程中严格按照规范进行。
可靠性是系统设计的第一要求,我们对电路设计的所有环节都进行了电磁兼容性设计,做好各部分的接地、屏蔽、滤波等工作,将高速数字电路与模拟电路分开,使本系统工作的可靠性达到了设计要求。
高效是指本系统的性能要足够强劲。
我们主要是从以下两个方面实现的:
(1)采用运算放大器设计的比较器实现了图像二值化的高速转换,大大提高了图像采集的分辨率;
(2)使用了由分立元件BTS7960制作的直流电动机桥式驱动器,该驱动器的额定工作电流可以轻易达到100A以上,大大提高了电动机的工作转矩和转速。
简洁是指在满足了可靠、高效的要求后,为了尽量减轻整车重量,降低模型车的重心位置,应使电路设计尽量简洁,尽量减少元器件使用数量,缩小电路板面积,使电路部分重量轻,易于安装。
我们在对电路进行了详细分析后,对电路进行了简化,合理设计元件排列、电路走线,使本系统硬件电路部分轻量化指标都达到了设计要求。
4.2传感器的选择
4.2.1摄像头
目前市面上常见的摄像头主要有CCD和CMOS两种:
CCD摄像头具有对比度高、动态特性好的优点,但需要工作在12V电压下,对于整个系统来说过于耗电,且图像稳定性不高;CMOS摄像头体积小,耗电量小,图像稳定性较高。
因此,经过实验论证之后我们决定采用CMOS摄像头。
对于CMOS摄像头分为数字和模拟两种。
在往届比赛中,我们看到有不少参赛队采用涉资摄像头,本着严谨的态度,我们选用了OV7620进行实验,对数字摄像头的可行性进行了论证。
经过实验,得到结论:
数字摄像头OV7620可以直接输出8路数字图像信号,使主板硬件电路的简化成为可能,且能够达到60帧/S的帧速率,能够满足要求。
4.2.2编码器
考虑到智能车的实际速度控制对速度反馈信号波形要求不是太高,因此在满足比赛要求的基础上,我们使用了自制的光电编码器来测速,从而尽量简化电路。
我们实验室使用线切割在直径为30mm的圆盘周围加工出100个细缝,使用红外光电对射管作为采集码盘脉冲可鉴向的传感器。
速度传感器实物图如图4.1所示。
虽然自制的光电编码器结构简单,价格便宜,但是容易受到外部光线和灰尘的干扰,影响测速的精度。
因此,我们改用了高性能的欧姆龙EE6A2-CWZ3C如图4.2所示。
码盘内部经发光二极管等电子元件组成的检测装置检测输出脉冲信号,通过计算每秒光电编码器输出脉冲的个数就能反映当前驱动电机的转速。
图4.1光电码盘图4.2欧姆龙编码器
4.3电路设计方案
智能车控制系统电路由三部分组成:
MC9S12XS128为核心的最小系统板、主板、ZLG7290键盘。
最小系统板可以插在主板上,组成了信号采集、信号处理、电机控制、舵机控制单元。
为了减小电机驱动电路带来的电磁干扰,我们把控制单元部分和电机驱动部分分开来,排布在主板的两端。
主板上集成了本系统的主要电路,它包括如下部件:
电源稳压电路、最小系统板插座、摄像头接口、舵机接口、电机驱动模块、编码器模块、键盘接口、LCD电路、拨码开关、指示灯等。
4.3.1单片机最小系统板
单片机最小系统部分使用MC9S12XS128单片机,112引脚封装,为减少电路板空间,板上仅将本系统所用到的引脚引出,包括PWM接口,计数器接口,外部中断接口,若干普通IO接口。
其他部分还包括电源滤波电路、时钟电路、复位电路、串行通讯接口、BDM接口和SPI接口。
单片机最小系统板电路原理图如图4.3。
图4.3单片机最小系统板电路原理图
4.3.2稳压模块电路
赛会指定的镍镉可充电电池的额定电压为7.2V,实际调试中,我们发现其电压实际值有时会达到8V甚至于8V以上。
因此需要有性能优越的抗干扰稳压芯片。
由于电路中的不同电路模块所需要的工作电压和电流容量各不相同,因此电源模块应该包括多个稳压电路,将充电电池电压转换成各个模块所需要的电压。
并且单片机的电源好坏直接关系到单片机能否正常工作以至于整个系统的控制稳定。
我们在测试了许多类型的稳压芯片之后觉得采用了性能优异的LM2596(图4.4)。
它是一款微功耗低压差线性电源芯片使用这个芯片。
该芯片稳定工作时所需要的外围器件很少,使用方便。
2596的工作压降很低,静态电流也很小,散热少,很适合这种情况下的使用。
图4.4LM2596驱动电路
4.3.3驱动模块电路
电机的驱动方案有MOS管,MC33886,BTS7960三种主要的方案。
MOS管的搭建效率较高,驱动电流很大,但是针对现有的双电机情况,用MOS管搭建两个电机的驱动较为复杂。
MC33886芯片的内阻较大,发热明显,芯片较大引脚较多。
我们最终采用了功能较为完善,性能稳定的BTS7960芯片。
原理图如图4.5。
为保证PWM信号的