第五届飞思卡尔杯智能汽车竞赛决赛广东工业大学iTec技术报告.docx
《第五届飞思卡尔杯智能汽车竞赛决赛广东工业大学iTec技术报告.docx》由会员分享,可在线阅读,更多相关《第五届飞思卡尔杯智能汽车竞赛决赛广东工业大学iTec技术报告.docx(67页珍藏版)》请在冰点文库上搜索。
第五届飞思卡尔杯智能汽车竞赛决赛广东工业大学iTec技术报告
第五届“飞思卡尔”杯全国大学生智能汽车竞赛
技术报告
学校:
广东工业大学
队伍名称:
iTec
参赛队员:
梁祥泰
黄炽华
龚国雄
带队教师:
蔡述庭、谢云
关于技术报告使用授权的说明
本人完全了解第五届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:
参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
带队教师签名:
日期:
摘要
“飞思卡尔”智能车是机电一体化的典型产物,涉及机械、电子技术、自动化控制等多个领域的知识。
本文详细介绍了一种利用CCD摄像头作为传感器获取路径信息,并能够自动寻迹行驶的智能车的制作过程。
本文内容包括机械结构的调整、软硬件系统的设计和智能车的调试技术。
本次制作的智能车采用官方统一的车模,利用Freescale的16单片机MC9S12XS128作为控制器,对CCD摄像头采集回来的图像进行分析,提取出黑线路径,并配合转向和速度的控制算法,使智能车能够自动寻迹行驶。
关键词:
“飞思卡尔”智能车MC9S12XS128控制算法自动寻迹
Abstract
"Freescale"Smartcarisatypicalmechatronicproduct,involvingmachinery,electronics,automaticcontrolandotherfieldsofknowledge.ThispaperdescribestheuseofaCCDcameraasasensortoobtainthepathinformationandcanautomaticallydrivethesmartcartracingtheblackline.Thispaperincludestherestructuringofmachinery,hardwareandsoftwaresystemdesignanddebugssmartcartechnology.
TheSmartcarproducedbytheofficialuniformofthecarmodels,usingFreescale's16-MCUMC9S12XS128asthecontroller.CollectedontheCCDcameraimageanalysis,toextracttheblacklinepath,andwiththesteeringandspeedcontrolalgorithm,sothatSmartcarcanautomaticallyfindtrackdriving.
第1章智能车设计方案概述
1.1前言
作为全球最大的汽车电子半导体器件供应商,飞思卡尔一直致力于汽车电子半导体器件的开发与推广。
其研发的基于CPU12X核心的16位微处理器更是以其出色的稳定性和较高的性价比,在汽车电子领域中大放异彩。
与此同时,飞思卡尔半导体公司还积极举办“飞思卡尔杯”全国大学生智能汽车竞赛来推动汽车电子行业的发展。
“飞思卡尔杯”全国大学生智能汽车竞赛是由教育部批准并委托自动化分教指委主办,飞思卡尔公司协办,面向全国大学生的重要赛事。
它是以迅猛发展的汽车电子为背景,涵盖了自动控制、模式识别、传感技术、电子电气、计算机、机械等多个学科交叉的科技创意性比赛。
根据比赛章程,全国大学生智能汽车竞赛是在统一汽车模型平台上,使用飞思卡尔半导体公司的8位、16位微控制器作为核心控制模块,通过增加道路传感器、设计电机驱动电路、编写相应软件以及装配模型车,制作一个能够自主识别道路的模型汽车。
改装后的模型汽车按照规定路线行进,以完成时间最短者为优胜。
竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。
竞赛集科学性、趣味性和观赏性于一体,极具吸引力,现已经成功举办了四届,得到了同学们的广泛关注。
此次,我们能够参与第五届的大赛,深感荣幸。
本文就我们参赛智能车的制作和调试过程中的点点滴滴展开论述。
1.2车模硬件系统设计
智能车的最终设计目的是为了让其能够自动寻迹和快速行驶,所以在硬件上需要解决自动寻迹和动力驱动这两大关键问题。
为了实现自动寻迹,我们选用了CCD摄像头来获取道路图像,通过MC9S12XS128微控制器分析CCD摄像头采集的图像来获取道路信息,从而实现小车的行驶策略。
小车要高速行驶,动力机构必不可少。
官方的车模已经带有直流驱动电机,我们要做的就是制作驱动控制电路来实现电机的速度控制。
解决了自动寻迹和动力驱动这两大关键问题后,还需要考虑实现这两大问题的辅助电路,例如电源电路,速度反馈传感器等,这些模块也是缺一不可的。
经过这样的整合,一台智能车的硬件系统就诞生了。
硬件系统的结构图如下所示:
图11硬件的结构图
1.3车模软件系统设计
智能车之所以称为“智能”,是体现在它的自动寻迹能力上,否则只能和普通的玩具车无异。
而实现其智能的,正是它的软件系统。
可以说,硬件系统是智能车的躯干,而软件系统是它的灵魂所在。
在硬件相差无异的情况下,软件系统发挥出来的能效更是远远大于硬件系统。
对于利用摄像头采集道路信息的智能车来说,软件系统更为重要。
其中涉及难度较高的黑线提取算法,图像干扰滤波算法等。
整个软件系统可以分为以下模块:
Ø图像采集模块
CCD摄像头经过LM1881分离后产生了同步信号,但图像的信号是以电压值的形式表示的,为了方便MCU处理,需要把它转变为数字信号,当中涉及高速AD芯片的控制,AD值的滤波算法。
Ø黑线提取算法
这是摄像头组的关键问题,黑线提取的效果,决定着智能车的命运。
由于在采集过程或者赛道周边色块的影响,对于算法的要求较高,既要尽可能提高前瞻性,又要滤掉干扰。
Ø道路识别算法
仅仅把黑线提取出来还是不够的,我们还需要根据黑线来识别出道路的信息,是大S弯、小S弯还是直道。
这个识别的准确性决定着小车的控制策略,不可忽视。
Ø电机驱动模块
电机的驱动是由微控制器产生PWM波形驱动电机驱动电路来实现的。
另外,要实现电机速度的闭环控制,我们加入了经典的PID算法。
Ø舵机控制模块
小车的转向依赖于舵机,舵机由PWM控制。
实现舵机的闭环控制也要加入算法来实现,我们用到PD算法。
第2章车模机械结构的改进
车模的机械部分是整辆小车的基础,它代表着硬件架构的稳定性,影响小车行驶的性能,其重要性为小车的所有方面之最。
一旦对其进行改动将会影响以后的设计,所以一开始一个良好的机械架构将会节省很多不必要的麻烦。
因此,车模的机械性能是我们最优先所考虑的问题。
2.1舵机的安装
由于B型车模初次投入大赛使用,我们对其不是很熟悉,特别是舵机部分。
车模默认的舵机安装位置不太理想,转动时出现较多的空位、传动摩擦较大、有时甚至会卡住传动杆导致舵机烧坏。
鉴于此,我们参考A车模比较成熟的舵机安装方式,在大赛规则范围内,把舵机位置及其传动部分做了大幅改动。
将舵机头朝后,安装在前悬挂中间。
这样的安装方法结构比较紧凑,转动时空位较小。
并且我们使用左右等长的转向摇臂,加强其转向能力。
具体如图所示。
图21舵机的安装
2.2测速编码器的安装
这次的B型车模有两大难点,一是舵机的安装,二是编码器安装。
我们所用的光电编码器体积较大,更是增加了安装的难度。
经过多次的尝试后,在实际使用中选定了最终的安装方案。
从图中可以看到,编码器的重心设置得比较高,可能读者会担心影响到车模的重心。
但实际上由于编码器本身重量很轻,对车模重心的影响比较小,因此这样的安装方式还是可以的。
由于光电编码器的测量齿轮和电机的传动齿轮啮合,这样实际上测量的是电机的转速,由于差速传动机构的存在,电机的转速并不完全等于车速,它们之间存在一定的误差,但误差较少,对控制算法的影响不大。
图22光电编码器的安装
2.3CCD摄像头的安装
由于B型车模的底板比较软,中间不能承受太大的重量,所以摄像头尽可能不安装在中间,那该如何?
考虑到小车在弯道转向时,有一定的漂移效果更容易转弯,车的后部没有必要做得很轻,而且前面的重量太大的话会影响转向的性能,摄像头安装在车的后部为宜。
在实际的调试中,我们发现急转弯或下坡时摄像头有很大抖动,在一定程度上影响图像采集的稳定性,而且车的中部又经常凹陷下去。
为了解决这个问题,我们在车前部与摄像头支架之间,增加一条支架,这样既可以避免摄像头的抖动,又可以分担一部分支架对车底盘中心施加的力。
具体如图所示。
图23摄像头的安装
(一)
图24摄像头的安装
(二)
2.4差速器的调整
差速器有差速作用和限滑作用:
差速作用使两轮可以相对转动,并使两轮转动速度的平均值等于整驱动轴的转动速度;限滑作用在两轮相对转动时产生阻力,以限制两轮速度差,防止其中一个轮子发生过度打滑和空转,并且还可以保证在轮胎抱死的情况下不会损害到电机。
本模型车上配备的是简易的差速器,且比赛规则规定不能更换,所以在调整中要注意滚珠轮盘间的间隙,过松过紧都会使差速器性能降低,从而大大影响车模的性能。
过松会使差速器严重打滑,损失电机输出的驱动扭矩,过紧又会损失差速能力。
如果再配上合适的差速油那样效果会更佳。
2.5重心调节
车身高度指的是当车子满载的时候,底盘离地面的高度。
可以通过旋转前、后桥中的一颗内六角螺丝来调整车身高度。
一般来说底盘越低,车模重心越低,重心移动速度越快,所以底盘越低,车模行驶越稳定,反应速度越快。
考虑到过度降低重心会降低轮子的主销内倾,进一步影响小车的性能,所以我们将小车的底盘高度设为11mm。
2.6车模的悬挂系统调校
悬挂系统就是指由车身与轮胎间的连接和避震器组成的整个支撑系统。
悬挂系统应有的功能是支持车身,改善乘坐的感觉。
外表看似简单的悬挂系统综合多种作用力,决定着轿车的稳定性、舒适性和安全性。
避震器调节
在B型车模中,我们可以通过调整前、后减震器上端的固定位置以可以获得不同的减震效果。
而弹簧的改装主要是为了改善小车的操控性,也就是要改用较硬的弹簧或是较短的弹簧。
以硬度的增加来说,可提高悬挂的滚动抑制能力,减少过弯时车身的滚动。
而车高的降低则可同时降低车身的重心,减少过弯时车身重量的转移,从而获得不同的抓地力,提高稳定性。
车轮定位
车轮定位角度是存在于悬架系统和各活动机件间的相对角度,保持正确的车轮定位角度可确保车辆直线行驶,改善车辆的转向性能,确保转向系统自动回正,避免轴承因受力不当而受损失去精度,还可以保证轮胎与地面紧密接合,减少轮胎磨损、悬架系统磨损等。
在B型车模中,我们主要能够改动的有:
车轮外倾、车轮前束。
车轮外倾
车轮外倾在过车轮轴线且垂直于车辆支承平面的平面内,车轮轴线与水平线之间所夹锐角。
即由车前方看轮胎中心线与垂直线所成的角度,向外为正,向内为负。
其角度的不同能改变轮胎与地面的接触点,直接影响轮胎的磨损状况。
并改变了车重在车轴上的受力分布,避免轴承产生异常磨损。
此外,外倾角的存在可用来抵消车身载重后,悬架系统机件变形所产生的角度变化。
外倾角的存在也会影响车的行进方向,因此左右轮的外倾角必须相等,在受力互相平衡的情况下不致影响车辆的直线行驶,再与车轮前束配合,使车轮直线行驶并避免轮胎磨损不均。
在B型车模中,可以调节前后车轮的上连杆的长短来调节外倾角,由于外倾角不宜过大,我们设定的是1~2度。
图25前轮效果图
车轮前束
同一轴两端车轮轮辋内侧轮廓线的水平直径的端点为等腰梯形的顶点,等腰梯形前后底边长度之差为前束。
当梯形前底边小于后底边时,前束为正,反之则为负。
车轮的水平直径与车辆纵向对称平面之间的夹角为前束角。
由于车轮外倾及路面阻力使前轮有向两侧张开做滚锥运动的趋势但受车轴约束,不能向外滚动,导致车轮边滚边滑,增加了磨损,通过前束可使车轮在每瞬间的滚动方向都接近于正前方,减轻了轮毂外轴承的压力和轮胎的磨损。
但是前束太大会影响车辆的转弯性能,所以我们在这里仅仅是稍微增大一点前束而已。
其实本来主销后倾、主销内倾也是能够稍作改动的,但是由于我们学校另外那组弄出来的情况好像不大理想,所以我们最终放弃了对主销后倾、主销内倾的改动。
至于推力角,由于B型车模是四轮驱动,所以推力角较小,一般都在许可范围,不需要太大的改动。
图26后轮效果图
2.7性能小测
经测试,机械改动后的车模在转向性能上有所提高,但由于车模质量和精度比较差,前轮支架有不对称的现象,且前轮固定精度比较低,导致调整效果对比A型车模有较大的折扣。
第3章车模硬件系统设计
3.1摄像头选型
在前几届比赛中,很多队伍都对摄像头的选型有所争论。
目前市面上可供选择的摄像头有CCD和CMOS两种,而CCD摄像头又有5V供电和12V供电两种。
其中,12V供电的CCD摄像头发热量很大,当摄像头发热的时候,视频信号的电压会慢慢降低,致使进行AD转换的时候阈值发生变化,对软件的处理带来很大的不便;而CMOS摄像头具有低电路功耗、简化电源设计等优点,但是数据线比较多容易发生接触不良的情况,还有CMOS摄像头成像质量较差,并且在车模运动时图像会发生模糊,这种模糊对图像处理非常不利。
经过上面的分析后,我们最终选择了一种以5V供电的CCD摄像头,能够较好的解决上述的问题。
由于是5V供电,发热量相对12V供电的小很多,虽然成像效果对比12V供电的CCD摄像头有一点差距,但是动态成像效果又比CMOS摄像头要好,所以我们就选用了这款摄像头。
配上3.6mm的镜头,能让我们小车的有效视野是1.5m。
3.2速度传感器选型
我们曾尝试过一种测速方案,就是利用光电传感器加鼠标码盘制成测速传感器。
但在测试时发现其检测精度较低,可靠性较差,容易受环境光影响,而且占用位置比较多,电路比较复杂。
我们也曾想过在车轮添加光电传感器传感器加鼠标码盘制成测速传感器,但是由于差速器的存在使得速度无法准确测量。
最终我们还是选择了欧姆龙的E6A2系列的编码器。
这种类型的编码器通过齿轮与车轮的啮合,对齿轮转数的计数,间接求出车速。
图31欧姆龙E6A2系列编码器
3.3电路总体结构
B型车模由于电机的作用,使其水平方向上的重心略偏左。
为了调整车模的整体平衡,我们有意把主控电路板(较重)放在电机的另一侧,让重心可以向中心偏移。
在垂直方向上,我们也尽可能地降低重心,让小车在高速转弯时不至于翻车。
所以,主控电路板的安装位置不能太高,否则也会对影响车模的平衡性,迫于电路板的可以放置的空间很小,我们在制作电路板的时候采用了比较紧凑的排布,务求把电路板做得尽可能小,除了电机的驱动模块独立出来之外,所有的控制电路全部集中在主控电路板上,能用贴片元件的就尽量用贴片,以求减小板型大小。
图32硬件系统框图
3.4电源模块
电机的驱动电流要求较大,为了提高电机的动态响应,我们没有对其限流。
在舵机转动不超过限制时,除电机驱动电路之外的总电流限制其不超过1A。
这样既有效保护舵机,而且用二极管限流还可以有效防止电源反接对电路造成的损害。
为了避免摄像头及其它电路对主芯片供电电压的干扰,所以分开两路5V稳压。
图33电源系统
TPS7350是微功耗低压差线性电源芯片(LDO),具有完善的保护电路,包括过流、过压、电压反接保护。
最重要的是使用这个芯片只需要极少的外围元件就能构成高效稳压电路。
与LM2940及AS1117稳压器件相比,TPS7350具有更低的工作压降和更小的静态工作电流,可以使输出电压更加稳定,除非电池没电,不会出现电压不够。
由于热损失小,因此无需专门考虑散热问题,位置上有可以节省了不少。
而且其纹波很小,又为线性稳压芯片,可以为单片机及片外AD模块提供很稳定的工作电压。
另外我们在实际电路中使用的元件都是贴片封装的,所以基本上占用的位置不多,这与我们的初始目标吻合。
图345V稳压电路
我们对于6V稳压芯片做了多方案的尝试,最后还是选定了LM2940。
7806的稳压芯片非常简便,但压差较大,当电池电压稍微低一点,7806的输出电压就开始不稳定,而且根据数据手册所示,7806的要求输入电压最低也要9V,所以难以符合我们的要求。
开关稳压电源效果很好,但输出纹波较大,会影响AD采样的精度,而且外围器件比较多,不符合我们对电路板面积的要求,所以也放弃。
经过测试,我们最后选定了LM2940。
图356V稳压电路
3.5片外AD
为了提高图像的采集精度,MC9S12XS128的片内AD已经无法满足要求。
其中有两种比较可行的方案,一种是硬件二值化,一种是高速AD。
其中硬件二值化可以最大幅度减少处理器的负担,同时它也是最难调节的方案,由于环境的变化需要时间调节才能发挥其正常优势,考虑到比赛时间比较紧迫,所以我们放弃这种方法而改用片外高速AD。
片外高速AD能够弥补片内AD速度慢的问题,减轻片内时钟的需求,能够满足我们的需要,因此我们选用TLC5510进行图像采集。
TLC5510是美国德州仪器(TI)公司的8位半闪速架构A/D转换器,采用CMOS工艺,大大减少比较器数。
TLC5510最大可提供20Ms/s的采样率。
TLC5510的工作电源为5V,功耗为100mW(典型值)。
内置采样保持电路,可简化外围电路设计。
TLC5510具有高阻抗并行接口和内部基准电阻,模拟输入范围为0.6V~2.6V。
图36高速AD电路
TLC5510引脚功能描述:
AGND:
模拟信号地;
ANGLOGIN:
模拟信号输入端;
CLK:
时钟输入端;
DGND:
数字信号地;
D1~D8:
数据输出端。
/O/E:
输出使能端。
VDDA:
模拟电路工作电压;
VDDD:
数字电路工作电压;
REFTS:
内部参考电压。
当内部分压器输出额定2V基准电压时,该端短路至REFT;
REFT:
参考电压(T代表Top为2.6V);
REFB:
参考电压(B代表Bottom为0.6V);
REFBS:
参考电压。
当内部分压器产生2V的额定基准电压时,该端短路至REFB。
需要注意的是,在进行A/D转换时,每次输入时钟信号的下降沿启动A/D转换器,第一次A/D转换大约需要2.5个时钟周期,即第一时钟的下降沿启动A/D转换后,要等到第三时钟信号的上升沿出现时,第一个A/D转换数据才会准备好。
图3-5为TLC5510的转换时序图:
图37TLC5510的转换时序图
3.6电机驱动
我们在开始阶段尝试过两片MC33886并联使用,无可否认,MC33886内部的保护电路做得相当出色,但其发热量大,驱动电流较小,而且价格比较昂贵。
我们也尝试了利用MOS管搭建H桥驱动电路,这个方案参考了第三届上海大学的技术报告。
我们选用了EL4427作为驱动MOS管的芯片,使用6个MOS管来驱动电机。
实在效果很好,基本没有发热,价格最便宜。
但要有升压电路,以减少延时。
由于我们的摄像头是采用5V供电的,所以没有12V升压部分。
因此如果要采用MOS管驱动电路,我们必须增加升压电路,这对于空间不足的我们来说,只能放弃MOS管驱动方案。
最终我们选择了英飞凌公司的BTS7960B芯片,使用两片即可构成全桥。
该芯片具有自我保护能力,抗电子干扰能力强,且对环境的适应能力较强。
下图为驱动电路:
图38电机驱动电路
该驱动板安装在车的左边,电源端靠近电池供电端。
由于这部分电路功耗大,一般平均电流可以达到几安培,瞬间可以达到13A(当电机卡死时),电池的接口在这边电流可以充分回流,充分发挥驱动的优势。
利用两片BTS7960,可以使驱动模块做得很精致,减轻了电路板的重量,板的面积为33.5mmx36.0mm。
实物图如下:
图39BTS7960驱动板
BTS7960是应用于电机驱动的大电流半桥高集成芯片,它带有一个P沟道的高边MOSFET、一个N沟道的低边MOSFET和一个驱动IC。
P沟道高边开关省去了电荷泵的需求,因而减小了EMI。
集成的驱动IC具有逻辑电平输入、电流诊断、斜率调节、死区时间产生和过温、过压、欠压、过流及短路保护的功能。
BTS7960通态电阻典型值为16mΩ,驱动电流可达43A。
图310BTS7960结构图
BTS7960的芯片内部为一个半桥。
INH引脚为高电平,使能BTS7960。
IN引脚用于确定哪个MOSFET导通。
IN=1且INH=1时,高边MOSFET导通,OUT引脚输出高电平;IN=0且INH=1时,低边MOSFET导通,OUT引脚输出低电平。
SR引脚外接电阻的大小,可以调节MOS管导通和关断的时间,具有防电磁干扰的功能。
IS引脚是电流检测输出引脚。
BTS7960的引脚IS具有电流检测功能。
正常模式下,从IS引脚流出的电流与流经高边MOS管的电流成正比,若RIS=1kΩ,则VIS=Iload/8.5;在故障条件下,从IS引脚流出的电流等于IIS(lim)(约4.5mA),最后的效果是IS为高电平。
第4章车模软件系统设计
智能车之所以称为“智能”,是体现在它的自动寻迹能力上,否则只能和普通的玩具车无异。
而实现其智能的,正是它的软件系统。
可以说,硬件系统是智能车的躯干,而软件系统是它的灵魂所在。
在硬件相差无异的情况下,软件系统发挥出来的能效更是远远大于硬件系统。
对于利用摄像头采集道路信息的智能车来说,软件系统更为重要。
其中涉及难度较高的黑线提取算法,图像干扰滤波算法等。
整个软件系统可以分为以下模块:
Ø图像采集模块
CCD摄像头经过LM1881分离后产生了同步信号,但图像的信号是以电压值的形式表示的,为了方便MCU处理,需要把它转变为数字信号,当中涉及高速AD芯片的控制,AD值的滤波算法。
Ø黑线提取算法
这是摄像头组的关键问题,黑线提取的效果,决定着智能车的命运。
由于在采集过程或者赛道周边色块的影响,对于算法的要求较高,既要尽可能提高前瞻性,又要滤掉干扰。
Ø道路识别算法
仅仅把黑线提取出来还是不够的,我们还需要根据黑线来识别出道路的信息,是大S弯、小S弯还是直道。
这个识别的准确性决定着小车的控制策略,不可忽视。
Ø电机驱动模块
电机的驱动是由微控制器产生PWM波形驱动电机驱动电路来实现的。
另外,要实现电机速度的闭环控制,我们加入了经典的PID算法。
Ø舵机控制模块
小车的转向依赖于舵机,舵机由PWM控制。
要实现舵机的闭环控制,我们用到PD算法。
4.1PID算法介绍
在过程控制中,按偏差的比例(P)、积分(I)和微分(D)进行控制的PID控制器(亦称PID调节器)是应用最为广泛的一种自动控制器。
它具有原理简单,易于实现,适用面广,控制参数相互独立,参数的选定比较简单等优点;而且在理论上可以证明,对于过程控制的典型对象──“一阶滞后+纯滞后”与“二阶滞后+纯滞后”的控制对象,PID控制器是一种最优控制。
PID调节规律是连续系统动态品质校正的一种有效方法,它的参数整定方式简便,结构改变灵活。
传统PID的算法公式是:
⊿U(n)=Kp[e(n)-e(n-1)]+Kie(n)+Kd[e(n)-2e(n-1)+e(n-2)]
U