您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于ARM的智能车道路识别与控制系统设计
哈尔滨工业大学2009届本科优秀毕业设计(论文)选集-276-基于ARM的智能车道路识别与控制系统设计电气工程及自动化学院:高文慧指导教师:陈宏钧摘要:本文研究了智能车的道路识别与控制系统设计问题。在分析智能车模型的基础上,提出了一套智能车控制算法,并完成了硬件系统五部分的设计:电源电路,基于红外传感器的路径识别系统,前轮转向装置,电机驱动装置和远程控制电路。采用模糊控制算法控制舵机,PID算法控制驱动电机,实现了对直道、蛇形弯道以及大半径弯道三种典型道路的自动寻迹。实验结果表明智能车能稳定地寻黑线行驶,在不同类型的道路上行驶的平均速度在1.3m/s以上。关键词:智能车;道路检测;ARM;模糊控制Abstract:Thisthesisstudiesthetrackdetectionandcontrolsystemdesignofasmartcar.Analyzingthemechanicalstructureofcarmodel,thethesisstudiesaconducttrafficcontrolalgorithmforthesmartcarandachievesahardwaresystemwhichconsistsoffiveparts:powercircuit,trackdetectingsystembasedoninfrared,front-wheelsteeringdevice,motordrivingdevice,andremotecontrolcircuits.ThethesisdevelopsaPIDalgorithmtocontrolthedrivemotorandachievesaFuzzycontrolalgorithmtocontrolthesteeringmotor.Asaresult,thesmartcarcandetectandfollowthetypicalroadofstraightroad,snakeroadandbigradiusroadautomatically.Theexperimentalresultsshowthatthesmartcarcantracktheblack-guidelanesmoothly,andtheaveragespeedisover1.3meterpersecondondifferenttypelanes.Keywords:smartcarlanedetectionARMfuzzycontrol1引言智能车是一个由传感器、控制机构和控制算法组成的智能系统,其基本原理为由道路识别模块获取道路信息,经微处理器处理后产生舵机与后轮电机的驱动信号,使智能车沿着预设有黑色引导线的白色道路前进,实现自主导航。智能车的设计涉及计算机、电力电子、电机拖动等知识,其开发不仅有着诱人的应用领域和商业前景,而且是对人类智能化技术的挑战。智能车以LPC2210微控制器为核心,配有路径识别系统,前轮转向装置,电机驱动装置和远程控制电路,能根据小车的车速和车的位置,控制小车的转向舵机和直流驱动电机,相应调整小车的行驶方向和速度,使智能小车自动地沿着一条任意给定的黑色带状引导线快速、稳定地行驶。2智能车硬件系统智能车系统的总体结构框图如图2-1所示,该系统以微处理器LPC2210为核心,外围包括直流电源模块、路径识别传感器阵列、转向舵机模块、驱动电机模块和车速传感器五部分。2.1ARMLPC2210微处理器LPC2210芯片是世界首款可加密的具有外部存储器接口的ARM芯片,是一个支持实时仿真与踪的32位微控制器,内核为ARM7TDMI-S。片内集成了16KB的RAM,具有UART、I2C、SPI、PWM和ADC等众多片内外设,可简化系统设计并提高其性能。极低的功耗、多个32位定时器、8路10位ADC、9个外部中断及内部PLL时钟可调使其特别适用于工业控制系统[1]。哈尔滨工业大学2009届本科优秀毕业设计(论文)选集-277-2.2直流电源模块电源模块为系统和其它模块提供所需电压。本智能车有多路电源要求:单片机所需的5V稳压电源,道路识别传感器模块需要的5V电源,S3010伺服电机需要的6V电源,直流电机驱动需要的7.2V电源和基于SC2272-T4遥控电路需要的12V电源。我们现有的电源是一块7.2V的镍镉充电电池,它由6颗1.2V电池串联构成,总容量2000mAh[2],相应的系统供电图如图2-2所示。LPC2210直流电源模块路径识别传感器阵列车速传感器转向舵机模块驱动电机模块充电电池(7.2V2000mAh)转速传感器LPC2210红外接收管舵机红外发光管后轮电机芯片LM2575二极管降压7.2V6V5V升压MC34063SC2272-T4遥控电路12V图2-1系统总体结构框图图2-2系统供电图2.3路径识别传感器阵列识别单元由12组红外二极管三极管耦合电路和基于LM324的比较电路构成,传感器阵列呈“一”字形等间距排列,每组间距1.6cm[3]。对于每个单元,如果路面条件为白色,大部分红外二极管发出的光线将会被反射,然后由红外三极管接收,使三极管导通,其射极电压将被拉高。三极管的射极电压与通过电位器获得的参考电压相比较后获得低的电平信号,则比较器输出逻辑0。如果路面条件为黑色,大部分红外二极管发出的光线将被吸收,红外三极管截止并且发射极电压被拉低,则比较器输出逻辑1。通过ARM处理器I/O端口读取传感器信息,就可以识别传感器下方道路的轨迹。2.4转向舵机模块智能车系统选用S3010舵机,其控制信号要求如图2-3所示。脉冲信号的宽度决定舵机的舵盘输出的角度,因此改变脉冲宽度就可以改变舵机的转角,另外脉冲宽度和转角成线性关系,其公式如2-1所示。其中α是舵机的转角,单位是度,onT是脉冲宽度,单位是ms。其转角和脉冲的对应关系如图2-4所示,可看出两者成线性关系。(1.5)90onT(2-1)1ms=脉宽=2ms18ms=F=20ms1ms脉宽右转极限位置1.5ms舵机停止2ms脉宽左转极限位置+45-451.11.51.9脉宽/ms脉宽-转角(+为顺时针方向)图2-3舵机控制信号要求图2-4脉宽-转角关系图哈尔滨工业大学2009届本科优秀毕业设计(论文)选集-278-2.5直流电机模块智能车后轮驱动电机为RS380他励直流电机,采用继电器与IRF540配合的直流电机驱动电路,该方案的电路原理图如图2-5所示。当继电器未动作时,电机两端所加电压为左正右负;当继电器动作时,电机两端电压为左负右正。通过以上原理实现了电机的正反转,同时调节IRF540门极的驱动信号,进而调节电机两端的平均电压,从而达到调速的目的。2.6车速传感器电机测速采用电机带动遮光盘,遮光盘遮挡光电开关,产生和速度相对应的周期脉冲信号。选用对射槽型光电开关H12A5S,其输出周期方波的上限频率为1kHz,完全可以满足电机转速的要求。3智能车控制算法研究3.1智能车转向控制算法智能车的转向控制是一个复杂的控制问题。如果采用经典PID控制,需要建立准确的数学模型,但实际上很难做到。模糊控制算法不需要建立系统的精确数学模型,在一定经验和试验的基础上就能够得到很好的控制效果,适于对智能车转向问题进行控制。本文中,将智能小车的中线位置与道路引导线位置相比较得到一个偏差E,控制器根据这个偏差值来决定如何对系统加以控制,还需考虑偏差的变化率△E来进行综合判断,输出量U为舵机控制信号的脉冲宽度。所设计的二维模糊控制器[4],如图3-1所示。MPWMIRF5401J1J2J2J1D2D3D4D7.2Vd/dt模糊化模糊控制器模糊推理反模糊化EU图2-5继电器与IRF540相结合的驱动电路原理图图3-1智能车模糊控制器结构图偏差和输出量采用七个语言变量,即{负大、负中、负小、零、正小、正中、正大},一般用英文字头缩写为{NB,NM,NS,Z0,PS,PM,PB}。偏差变化率ΔE采用三个语言变量{负,零,正},缩写为{N,Z0,P}。智能车通过12个光传感器进行位置信息的采样,其中相邻的两个传感器可以同时采集,这样可以得到21种路面情况。将编码值E作为模糊控制器的一个输入,编码值△E作为另一输入。E的编码输入为:{-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11}。考虑到系统的检测时间间隔非常短,设偏差的变化率△E={-1,0,1}。输出U的范围是[1100,1900],对应输出舵机控制信号脉宽范围是[1.1ms,1.9ms]。利用MATLAB模糊逻辑工具箱中的隶属度函数编辑器,建立了输入(E,△E)输出(U)变量的隶属度函数,输入E和△E的隶属函数曲线如图3-2a)和3-2b)所示,输出U的隶属函数曲线如图3-3所示。E的隶属函数曲线采用中间密,两边疏的方式,提高了路径识别的精度。哈尔滨工业大学2009届本科优秀毕业设计(论文)选集-279-a)EC对应的隶属度函数b)E对应的隶属度函数图3-2输入对应的隶属函数从自动控制的角度,希望一个控制系统在要求的范围内都能够实现很好的控制效果。即在进行模糊控制系统设计时,要注意使描述某一模糊变量的模糊子集在论域上的分布合理,即对论域的覆盖程度要好。本文设计的智能车模糊控制器的覆盖状态如图3-4所示,可见其对指定范围内的覆盖程度良好。图3-3输出U对应的隶属度函数图3-4Fuzzy控制的规则面模糊规则是模糊控制的核心,智能车模糊控制器相应的控制规则如表3-1所示。表3-1模糊控制规则UENBNMNSZOPSPMPBECNSPBPMPSZOZONSNMZ0PMPSPSZONSNSNMPSPMPSZOZONSNMNB选取控制量变化的原则是:当误差大或较大时,选择控制量以尽快消除误差为主;当误差较小时,选择控制量主要是从保证系统稳定性的角度考虑。根据模糊输入和模糊控制规则,可由模糊推理获得模糊输出,而实际的控制必须为清晰量,因此要经过清晰化的过程。可采用重心法的方法进行清晰化。重心法是指取模糊集隶属函数曲线同基础变量轴所围面积的重心对应的基础变量值作为清晰值的方法。模糊控制的输出只是一个等级,然后乘以角度的系数,就可以得到角度的数值。角度值直接控制舵机。3.2智能车速度控制算法哈尔滨工业大学2009届本科优秀毕业设计(论文)选集-280-采用增量式的PID控制算法对直流电机转速进行控制,具体算法如式(3-1),(3-2)。()(1)()ukukuk(3-1)()[()(1)]()PIukKekekKek(3-2)式中()uk为控制器的输出;(1)ek为k时刻的偏差;(1)ek为k-1时刻的偏差;PK、IK分别为PID控制算法中的比例系数和积分常数。比例调节部分是按比例反映系统的偏差,系统一旦出现偏差,比例调节立即产生调节作用以减少偏差。积分调节部分是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,一旦停止,积分调节输出常值。在实际的智能车中,PID算法的应用存在一些问题:对直线上的偏差进行不断的修正过程中,即使是很小的偏差,小车也会不断的加减速,影响速度的提升,导致系统的不稳定;调试时易产生超调甚至是震荡现象。鉴于以上原因,PID控制器参数值的调节显得尤为重要。经过多次实验的到理想的PID参数值:PK=0.12,IK=0.01。4智能车系统实验研究智能车的软件设计是智能车控制系统设计中的重中之重,软件设计由以下几个模块组成:LPC2210初始化模块、实时路径检测模块、舵机控制模块、驱动电机控制模块、定时中断模块和模糊控制模块。智能车控制系统的程序流程图如图4-1所示。为了测试智能车的性能,设计了三种不同形状的赛道,如图4-2所示。开始LPC2210初始化定时器中断使能启动定时器实时路径检测计算偏差与变化率调用模糊函数定时中断?输出电机PWM控制信号输出舵机PWM控制信号YNa)全跑道b)圆形跑道c)8字形跑道图4-1智能车控制系统程序流程图图4-
本文标题:基于ARM的智能车道路识别与控制系统设计
链接地址:https://www.777doc.com/doc-28186 .html