摄像头智能车硬件系统设计与实现教材Word格式文档下载.docx
《摄像头智能车硬件系统设计与实现教材Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《摄像头智能车硬件系统设计与实现教材Word格式文档下载.docx(40页珍藏版)》请在冰豆网上搜索。
智能小车;
硬件电路;
PID控制算法
中图分类号:
TP27
TheDesignandRealizationofCameraIntelligentCarSystem
ZhouYungang(Tutor:
HuChanghui)
(CollegeofMecharonicsandControlEngineering,HubeiNormalUniversity,Huangshi,China,435002)
Abstract:
Thispaperintroducestheintelligentcarhardwaresystem,thesystemismainlybasedonMC9S12XS128microcontrollercameratrackingsystem,designedinamodularwaytoincreaseavarietyofinterfacecircuitboard,comprisingtheentirehardwaresystem.Thisarticlehighlightsthedesignideasandmethodsofpowermanagementmodule,servocontrolmodule,motordrivemodule,cameraandphotoelectricsensormodule,thedetectionmodule,andcommunicationmoduleandsoon,inaddition,themechanicalstructureandadjustmentofthesmartcarwillalsobediscussed.
Keywords:
MC9S12X128;
intelligentcar;
Hardwarecircuit;
PIDcontrolalgolithm
1引言
智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,与一般所说的自动驾驶有所不同,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉,利用多种传感器和智能公路技术实现的汽车自动驾驶技术。
近年来,智能车辆己经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入到各自重点发展的智能交通领域当中。
“飞思卡尔杯”智能车大赛起源于韩国,是韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办的以HCSl2单片机为核心的大学生课外科技竞赛。
教育部为了加强大学生实践、创新能力和团队精神的培养,在己举办全国数学建模、电子设计、机械设计、结构设计等4大专业竞赛的基础上,经研究决定,委托高等学校自动化专业教学指导分委会主办自2006年每年一度的全国大学生智能汽车竞赛。
高等学校自动专业教学指导分委会决定飞思卡尔半导体公司为协办单位,赛事冠名为“飞思卡尔”杯。
竞赛要求参赛者在提供的模型车体及主微控制器芯片基础上设计制作具有自主道路识别能力并满足比赛规则的智能汽车,在赛道上以最快速度完成赛程者为优胜。
目前,已经成为各高校展示科研成果和学生实践能力的重要途径,同时也为社会选拔优秀的创新人才提供了重要平台[1]。
2选题背景
2.1选题的必要性
随着电子技术和智能控制技术的发展,智能车已经成为自动控制领域的一个研究热点。
路径跟踪技术是智能车控制系统中的一个重要组成部分,路径识别又是智能小车路劲跟踪的信息基础。
智能化技术与汽车相结合产生的只能汽车将在未来工业生产和日常生活中扮演重要的角色,该技术可以运用于无人驾驶机动车、自动控制生产流水线、仓库、机器人、航空航天等领域。
目前,城市交通的安全问题已引起全世界的高度重视。
美国研究认为,包括智能汽车研究在内的智能运输系统对国家社会经济和交通运输有着巨大影响,大量减少了道路交通堵塞,降低汽车油耗,大大提高了公路交通的安全性和运输效率。
通过智能汽车的研究,将减少现行汽车的信息采集处理、信息交换、车辆转向和速度控制中人的决定因素,我国现在已经投入生产运行的磁悬浮列车就是其中的一种代表,现在运行的高铁、轻轨等智能控制系统,人在上面只是起到一种辅助作用。
智能车的发展为自动化的实现创造了条件,为了使智能车运行在最佳状态,进一步探究其方向和速度的控制是非常必要的。
智能车技术以汽车电子为背景,涵盖了控制、模式识别、传感、电子、电气、计算机和机械等多个学科,这对进一步提高学生的综合素质,培养创新意识,培养学生从事科学、技术研究能力有着重要意义。
2.2国内外发展研究现状及分析
在智能车辆领域,智能小车自动行驶功能的研究将有助于智能车辆的研究。
智能车辆驾驶任务的自动完成将给人类社会的进步带来巨大的影响,例如能切实提高道路网络的利用率、降低车辆的燃油消耗量,尤其是在改进道路交通安全等方面提供了新的解决途径。
人类在认识自然、改造自然、推动社会进步的过程中,不断地创造出各种各样为人类服务的工具,其中许多具有划时代的意义。
智能车辆的研究始与20世纪50年代初美国BarrettElectronics公司开发出的世界上第一台自动引导车辆系统(AutomatedGuidedvehiclesystem,AGVS)。
1974年,瑞典的VolvoKalmar轿车装配工厂与Schiinder-Digitron公司合作,研制出一种可装载轿车车体的AGVS,并由多台该种AGVS组成了汽车装配线,从而取消了传统应用的拖车及叉车等运输工具。
而我国从上世纪80年代也开始着手无人驾驶汽车的研制开发,虽与国外相比还有一些距离,但目前也取得了阶段性成果。
目前国内清华大学、国防科技大学、上海交通大学、西安交通大学、吉林大学、同济大学等都有过无人驾驶汽车的研究项目。
1992年,国防科技大学研制成功了我国第一辆真正意义上的无人驾驶汽车。
由计算机及其配套的检测传感器和液压控制系统组成的汽车计算机自动驾驶系统,被安装在一辆国产的中型面包车上,使该车既保持了原有的人工驾驶性能,又能够用计算机控制进行自动驾驶行车。
2000年6月,国防科技大学研制的第4代无人驾驶汽车试验成功,最高时速达76km,创下国内最高纪录。
2003年7月,国防科技大学和中国一汽联合研发的红旗无人驾驶轿车高速公路试验成功,自主驾驶最高稳定时速130km,其总体技术性能和指标已经达到世界先进水平。
车辆智能化是汽车工业今后的发展趋势,也是人们对安全性要求越来越高未来汽车的发展方向。
随着计算机技术和信息技术为代表的高新技术的发展,人工神经网络技术、模糊控制技术、神经模糊技术、虚拟现实等新技术的出现,智能车辆技术的研究将会有突破性的进展。
智能车辆系统的实用化是智能车辆发展的前进方向,环境自适应性强的智能车将是研究的重点。
3系统设计方案论证
根据竞赛章程规定,使用飞思卡尔公司的MC9S12XS128单片机为核心控制器,使用CMOS摄像头采集赛道图像,来获得赛车前方赛道的道路信息,经过单片机处理后,来控制车体的运动方向和速度,同时根据光电编码器的测速信号来计算当前赛车的速度,并根据前方赛道信息,进行加减速控制。
本着稳定、简单、高效的设计原则,将小车不断改进[2]。
3.1设计要求
此次设计任务的目的是,摄像头作为道路信息采集的探测传感器、光电传感器用来辅助识别起跑线;
电源、电机驱动模块一起作为整个系统的硬件支撑,而MC9S12XS128单片机就是其控制核心,再加以合理的软件设计,来保证小车能够平稳自主寻迹,并尽可能提高小车的速度。
整个小车系统的设计包括硬件、软件和机械三个部分。
本次设计的主要内容:
1.规划设计MC9S12XS128最小系统及其接口扩展电路,设计电源管理模块、电机驱动模块、测速模块以及通信模块。
2.采用自己设计搭建的硬件平台,安装舵机、电机、传感器及各种辅助接口电路并进行机械、硬件整体调试。
3.小车的调速测试,调整参数,使小车更平滑的获取更快速度。
3.2模块化设计方案
根据以上系统设计方案,小车一共分为四大部分:
电路部分、程序部分、机械结构部分、辅助部分。
3.2.1电路设计
主要处理芯片使用了比较经典的MS9S12XS128作为核心处理单元;
外围使用BTN7960作为电机的驱动电路,作为动力来源;
选用OV6620摄像头采集赛道信息,辅以光电传感器来经行起跑线识别[3];
编码器测速构成闭环控制;
串口调式、无线调试来获取更好的参数,来实现智能车优良的加减速性能和稳定;
最后就是各个部分的电源管理。
整个系统结构如下图3.1:
图3.1智能车硬件框图
3.2.2机械设计
本次设计使用的A型车模是一款仿真四轮驱动车模,因此在原有车模基本调整(如前后轮调整,重心调整,传动调整等)的基础上,要想使车能够更快的行驶就必须对其本身的各种结构进行必要的改进和优化,尤其是各部分的差速的调整,更成为车模机械好坏的重要部分。
机械方面,首先对舵机的安装进行了改装,加长了舵机的连杆,以增加反应速度。
另外,对于智能车的地盘以及转向系统、减震系统进行了仿真,使机械设计尽量科学、合理。
在安装方面,摄像头的安装部件都采用了先设计再用铝材料进行加工的方式,使得安装更加简介、稳固。
摄像头的安装杆则采用超轻的碳纤维材料,尽量降低智能车重心,减少智能车的重量。
3.2.3控制思想
PID算法控制是过程控制中应用最广泛的一种控制规律。
实际运行经验及理论分析充分证明这种控制规律用于多数被控对象能够获得较满意的控制成果。
比例(P)控制:
比例控制是一种最简单的控制方式。
其控制器的输出与输入误差信号成比例关系。
Kp偏大时,振荡次数加多,调节时间加长,系统趋于不稳定,Kp太小时,又会使系统动作缓慢。
当仅有比例控制时系统输出存在稳态误差。
积分(I)控制:
在积分控制中,控制器的输出与输入误差信号的积分成正比关系。
对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统。
为了消除稳态误差,在控制器中必须引入“积分项”。
积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。
这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。
积分作用使系统的稳定性下降,Ti小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。
微分(D)控制:
在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。
在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。
只有Td合适,才能使超调量较小,减短调节时间。
一般来说,微分过程减小了超调和降低了震荡。
在另一方面,大部分的实际控制系统里使用了非常小的微分增益,因为微分响应对过程变量信号的噪声非常敏感。
如果反馈回来的过程变量代表的噪声,微分参数就会引起系统的不稳定[4]。
通常依据控制器输出与执行机构的对应关系,将基本数字PID算法分为位置式PID和增量式PID两种。
(1)位置式PID控制算法
基本PID控制器的理想算式为
(3.1)
(3.1)式中:
u(t)——控制器(也称调节器)的输出;
e(t)——控制器的输入(常常是设定值与被控量之差,即e(t)=r(t)-c(t));
Kp——控制器的比例放大系数;
Ti——控制器的积分时间;
Td——控制器的微分时间。
设u(k)为第k次采样时刻控制器的输出值,可得离散的PID算式
(3.2)
其中
为积分系数,
为微分系数。
由于计算机的输出u(k)直接控制执行机构(如阀门),u(k)的值与执行机构的位置(如阀门开度)一一对应,所以通常称式公式(3.2)为位置式PID控制算法。
位置式PID控制算法的缺点:
当前采样时刻的输出与过去的各个状态有关,计算时要对e(k)进行累加,运算量大;
而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。
(2)增量式PID控制算法
增量式PID是指数字控制器的输出只是控制量的增量Δu(k)。
采用增量式算法时,计算机输出的控制量Δu(k)对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置,因此要求执行机构必须具有对控制量增量的累积功能,才能完成对被控对象的控制操作。
执行机构的累积功能可以采用硬件的方法实现;
也可以采用软件来实现,如利用算式
程序化来完成。
由公式(3.2)可得增量式PID控制算式
(3.3)
式中
进一步可以改写成
(3.4)
、
一般计算机控制系统的采样周期T在选定后就不再改变,所以,一旦确定了Kp、Ti、Td,只要使用前后3次测量的偏差值即可由公式(3.3)求出控制增量[5]。
增量式算法优点:
算式中不需要累加,控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;
计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程。
PID参数的整定就是合理的选择PID的各个参数。
其参数的整定是综合系统的稳定性、响应速度、超调量和稳态精度等各个方面考虑。
综合自己调试的经验和工业调试的经验,基本上PID参数整定满足以下几个规则:
当e较大时,为使系统具有较好的跟踪性能,应取较大的Kp与较小的Kd,同时为避免系统响应出现较大的超调,应对积分作用加以限制,通常取Ki=0。
当e处于中等大小时,为使系统响应具有较小的超调,Kp应取得小些。
在这种情况下,Kd的取值对系统响应的影响较大,Ki的取值要适当。
(3)当e较小时,为使系统具有较好的稳定性能,Kp与Ki均应取得大些,同时为避免系统在设定值附近出现振荡,Kd值的选择根据|e(k)|值较大时,Kd取较小值,通常Kd为中等大小。
3.2.4调试平台
(1)软件开发工具
采用Metrowerks公司开发的软件集成开发环境CodewarriorforHCS12,其包括集成环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器,可以完成从源代码编辑、编译到调试的全部工作[6]。
利用BDM和CodewarriorIDE的调试界面,可以进行一系列的调试工作,如黑白线的数字量,路径采集状态,各个寄存器值,程序调试的变量值,能够很好的观察整幅的图像信息,图像中黑线的位置,黑线断开的位置,小车舵机和电机的当前值等,给调试提供了极大的方便。
如下图3.2为软件开发工具的页面截图:
图3.2软件开发工具
(2)串口调试助手,
支持常用的300-115200bps波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。
目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<
12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调(MODEM)。
最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连[7]。
为了更好形象地反应采集图像的数据,在串口发送中每发送完一行就添加一个回车符,这样得到的数据是每行的数据而不是连成一块的,图3.3是串口得到的数据图,图中非常好地反应了道路的信息:
图3.3串口调试助手平台
(3)无线传输测试软件
由于小车是动态运行的,为了实现动态测试,采用了以NRF24L01为核心的无线通信模块,来实现单片机和PC之间的无线通信,将智能车形式的动态信息传输到PC中进行处理,从而可以分析调整智能车的形式状态,是智能车能以最优的速度在复杂多变的赛道上稳定快速的形式。
如图3.4所示为智能车无线通行模块框图,MC9S12XS128将智能车运行数据通过SPI接口传输给NRF24L01无线发送模块,NRF24L01无线接收模块接收到数据后,将数据通过SPI接口传输给以8为单片机为主控制器数据接收端,8位单片机将数据通过串口将数据传输给PC机,在PC机中,使用串口助手将数据以十六进制保存在文本文档中。
图3.4NRF24L01无线通信模块
利用Matlab可以将接到的数据绘制曲线。
MATLAB绘制文本文件数据为曲线指令如下:
a=textread('
c:
\a.txt'
'
%s'
)'
;
%以字符形式打开文件
alpha=hex2dec(a)'
%16进制转化为10进制数,存入alpha矩阵
plot(alpha);
%绘制alpha矩阵数据的曲线图
图3.5无线通信模块框图
(4)MATLAB测试平台
MATLAB是矩阵实验室的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
(5)舵机调试软件
如下图3.6为舵机调试软件的截图界面:
图3.6舵机调试软件
4智能车机械设计与改进
车模的机械部分是整辆小车的基础,它代表着硬件构架的稳定性,影响小车行驶的性能,其重要性为小车的所有方面之最。
一旦对其进行改动将会影响以后的设计,所以一开始就有一个良好的机械构架将会节省很多不必要的麻烦。
因此,车模的机械性能是我们最优先考虑的问题。
4.1四轮定位
小车在调试过程中,转向轮定位参数是很重要的因素,它通常不易被察觉,但是却有着较大的危害。
如果取得不恰当,那么将造成转向不灵活,效率低以及转向轮侧滑等问题,使得小车性能下降,加速轮胎的磨损。
关于四轮定位,其主要定位参数包括:
主销后倾、主销内倾、车轮外倾和前束。
本次比赛中的所使用的车模的这四个参数均可调整。
(1)主销后倾角
汽车在车轮偏转后,会产生一回正力矩,纠正车轮的偏转。
主销内倾是指主销装在前轴略向内倾斜的角度,是指主销装在前轴,上端略向后倾斜的角度。
内倾角度越大前轮自动回正的作用就越强烈,但转向时也越费力,轮胎磨损增大;
反之,角度越小前轮自动回正的作用就越弱。
它使车辆转弯时产生的离心力所形成的力矩方向与车轮偏转方向相反,迫使车轮偏转后自动恢复到原来的中间位置上。
由此主销后倾角越大,车速越高,前轮稳定性也愈好。
欲使车模转向灵活,主销后倾角可设定为0°
,主梢后倾角的示意图如下图4.1。
同时过大的主销后倾角会使转向沉重,由于车模舵机性能偏软,主销后倾角会对转向性能带来不利的影响,但合理后倾会增加知道性能。
为增加车的直道性能,主销后倾角为车模原始数值5°
;
图4.1主销后倾角
(2)主销内倾角
主销内倾角也会使车轮具有自动回正的作用,当转向轮在外力的作用下发生偏转时,由于主销内倾角的原因,车轮连同整个车模的前部将被抬起一定的高度,当外力消失后,车轮就会在重力作用下,回复到原来的中间位置。
因此主销内倾角也为3°
(3)前轮外倾角
前轮外倾角一方面可以在车模重载时减小主销与衬套、轮毂与轴承等处的装配间隙,使车轮接近垂直路面而滑动,同时减小转向阻力,使车模转向轻便;
另一方面还可防止由于路面对车轮垂直反作用力的轴向分力压向轮毂外端的轴承,减小轴承及其锁紧螺母的负荷,从而增加这些零件的使用寿命,提高车模的安全性。
由于车模用于竞赛,负载较轻,因此前轮外倾角设定为0°
,如图4.2所示;
图4.2主销内倾角和车轮外倾角
(4)前轮前束
为了减小由于前轮外倾带来的转向轮的磨损,前轮前束应该与前轮外倾角配合。
前轮前束因此设定为0°
,如下图4.3。
综上,为了提高车模的直线性能,对前轮部分进行机械调整。
由于有会正力矩,当车模在直线行驶中,直线性能角好,但同时增加了车体的转弯负载,我们又减少了舵机力臂,用来减少舵机负载。
图4.3前轮约束
4.2后轮调整
差速机构的作用是在车模转弯的时候,降低后轮与地面之间的滑动;
并且还可以保证在轮胎抱死的情况下不会损害到电机。
当车辆在正常的过弯行进中(假设:
无转向不足亦无转向过度),此时4个轮子的转速(轮速)皆不相同,依序为:
外侧前轮>外侧后轮>内侧前轮>内侧后轮。
此次所使用车模配备的是后轮差速机构。
差速器的特性是:
阻力越大的一侧,驱动齿轮的转速越低;
而阻力越小的一侧,驱动齿轮的转速越高‧以此次使用的后轮差速器为例,在过弯时,因外侧前轮轮胎所遇的阻力较小,轮速便较高;
而内侧前轮轮胎所遇的阻力较大,轮速便较低。
后轮差速的调整主要是调整差速器中差速齿轮的咬合程度,差速的松紧与自己所要求的速度相匹配,已达到自己想要的状态。
4.3舵机的安装
车模默认的舵机安装位置是横放,转动时出现较多的空位、传动摩擦较大、反应不够灵敏。
鉴于此,我们结合上几届的经验,在大赛规则范围内,把舵机位置及其传动部分做了改动。
把舵机竖起来放在了车的前方,将舵机头朝后,安装在前悬挂中间。
这样的安装方法结构比较紧凑,转动时空位较小。
并且我们使用左右等长的转向摇臂,加强其转向能力,提高了舵机的反应速度。
但是使用一段时间后发现用铝片制作的舵机力臂,钻孔总会存在误差,使用久后的磨损也不利于固定,会使车模左右转向性能有些许差别,小车运行时出现抖动现象。
最后确定使用舵机横卧,并安在整车最前面的中间位置,加长连杆(使用pcb板),最大限度的增大转向范围,其原理图如下图4.4所示。
图4.4长连杆舵机方案原理图
4.4测速编码器的安装
首先光电编码器是智能小车速度反馈元件,其安装位置应该充分考虑测速的准确性和防干扰,因此应该远离大电流的驱动板和电动机。
为了准确地测得速度,将编码器装于小车