《基于ARM的智能车道路识别与控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于ARM的智能车道路识别与控制系统设计.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、哈尔滨工业大学2009届本科优秀毕业设计(论文)选集基于ARM的智能车道路识别与控制系统设计电气工程及自动化学院:高文慧 指导教师:陈宏钧摘 要:本文研究了智能车的道路识别与控制系统设计问题。在分析智能车模型的基础上,提出了一套智能车控制算法,并完成了硬件系统五部分的设计:电源电路,基于红外传感器的路径识别系统,前轮转向装置,电机驱动装置和远程控制电路。采用模糊控制算法控制舵机,PID算法控制驱动电机,实现了对直道、蛇形弯道以及大半径弯道三种典型道路的自动寻迹。实验结果表明智能车能稳定地寻黑线行驶,在不同类型的道路上行驶的平均速度在1.3m/s以上。关键词:智能车;道路检测;ARM;模糊控制A
2、bstract:This thesis studies the track detection and control system design of a smart car. Analyzing the mechanical structure of car model, the thesis studies a conduct traffic control algorithm for the smart car and achieves a hardware system which consists of five parts: power circuit, track detect
3、ing system based on infrared, front-wheel steering device, motor driving device, and remote control circuits. The thesis develops a PID algorithm to control the drive motor and achieves a Fuzzy control algorithm to control the steering motor. As a result, the smart car can detect and follow the typi
4、cal road of straight road, snake road and big radius road automatically. The experimental results show that the smart car can track the black-guide lane smoothly, and the average speed is over 1.3 meter per second on different type lanes.Key words:smart car lane detection ARM fuzzy control1 引 言智能车是一
5、个由传感器、控制机构和控制算法组成的智能系统,其基本原理为由道路识别模块获取道路信息,经微处理器处理后产生舵机与后轮电机的驱动信号,使智能车沿着预设有黑色引导线的白色道路前进,实现自主导航。智能车的设计涉及计算机、电力电子、电机拖动等知识,其开发不仅有着诱人的应用领域和商业前景,而且是对人类智能化技术的挑战。智能车以LPC2210微控制器为核心,配有路径识别系统,前轮转向装置,电机驱动装置和远程控制电路,能根据小车的车速和车的位置,控制小车的转向舵机和直流驱动电机,相应调整小车的行驶方向和速度,使智能小车自动地沿着一条任意给定的黑色带状引导线快速、稳定地行驶。2 智能车硬件系统智能车系统的总体
6、结构框图如图2-1所示,该系统以微处理器LPC2210为核心,外围包括直流电源模块、路径识别传感器阵列、转向舵机模块、驱动电机模块和车速传感器五部分。2.1 ARM LPC2210微处理器LPC2210芯片是世界首款可加密的具有外部存储器接口的ARM芯片,是一个支持实时仿真与踪的32位微控制器,内核为ARM7TDMI-S。片内集成了16KB的RAM,具有UART、I2C、SPI、PWM和ADC等众多片内外设,可简化系统设计并提高其性能。极低的功耗、多个32位定时器、8路10位ADC、9个外部中断及内部PLL时钟可调使其特别适用于工业控制系统1。2.2 直流电源模块电源模块为系统和其它模块提供所
7、需电压。本智能车有多路电源要求:单片机所需的5V稳压电源,道路识别传感器模块需要的5V电源,S3010伺服电机需要的6V电源,直流电机驱动需要的7.2V电源和基于SC2272-T4遥控电路需要的12V电源。我们现有的电源是一块7.2V的镍镉充电电池,它由6颗1.2V电池串联构成,总容量2000mAh2,相应的系统供电图如图2-2所示。图2-1 系统总体结构框图图2-2 系统供电图2.3 路径识别传感器阵列识别单元由12组红外二极管三极管耦合电路和基于LM324的比较电路构成,传感器阵列呈“一”字形等间距排列,每组间距1.6cm3。对于每个单元,如果路面条件为白色,大部分红外二极管发出的光线将会
8、被反射,然后由红外三极管接收,使三极管导通,其射极电压将被拉高。三极管的射极电压与通过电位器获得的参考电压相比较后获得低的电平信号,则比较器输出逻辑0。如果路面条件为黑色,大部分红外二极管发出的光线将被吸收,红外三极管截止并且发射极电压被拉低,则比较器输出逻辑1。通过ARM处理器I/O端口读取传感器信息,就可以识别传感器下方道路的轨迹。2.4 转向舵机模块智能车系统选用S3010舵机,其控制信号要求如图2-3所示。脉冲信号的宽度决定舵机的舵盘输出的角度,因此改变脉冲宽度就可以改变舵机的转角,另外脉冲宽度和转角成线性关系,其公式如2-1所示。其中是舵机的转角,单位是度,是脉冲宽度,单位是ms。其
9、转角和脉冲的对应关系如图2-4所示,可看出两者成线性关系。 (2-1)图2-3 舵机控制信号要求图2-4 脉宽-转角关系图2.5 直流电机模块智能车后轮驱动电机为RS380他励直流电机,采用继电器与IRF540配合的直流电机驱动电路,该方案的电路原理图如图2-5所示。当继电器未动作时,电机两端所加电压为左正右负;当继电器动作时,电机两端电压为左负右正。通过以上原理实现了电机的正反转,同时调节IRF540门极的驱动信号,进而调节电机两端的平均电压,从而达到调速的目的。2.6 车速传感器电机测速采用电机带动遮光盘,遮光盘遮挡光电开关,产生和速度相对应的周期脉冲信号。选用对射槽型光电开关H12A5S
10、,其输出周期方波的上限频率为1kHz,完全可以满足电机转速的要求。3 智能车控制算法研究3.1 智能车转向控制算法智能车的转向控制是一个复杂的控制问题。如果采用经典PID控制,需要建立准确的数学模型,但实际上很难做到。模糊控制算法不需要建立系统的精确数学模型,在一定经验和试验的基础上就能够得到很好的控制效果,适于对智能车转向问题进行控制。本文中,将智能小车的中线位置与道路引导线位置相比较得到一个偏差E,控制器根据这个偏差值来决定如何对系统加以控制,还需考虑偏差的变化率E来进行综合判断,输出量U为舵机控制信号的脉冲宽度。所设计的二维模糊控制器4,如图3-1所示。图2-5 继电器与IRF540相结
11、合的驱动电路原理图图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
12、,0,1。输出U的范围是1100,1900,对应输出舵机控制信号脉宽范围是1.1ms,1.9ms。利用MATLAB模糊逻辑工具箱中的隶属度函数编辑器,建立了输入(E,E)输出(U)变量的隶属度函数,输入E和E的隶属函数曲线如图3-2 a)和3-2 b)所示,输出U的隶属函数曲线如图3-3所示。E的隶属函数曲线采用中间密,两边疏的方式,提高了路径识别的精度。a) EC对应的隶属度函数b) E对应的隶属度函数图3-2 输入对应的隶属函数从自动控制的角度,希望一个控制系统在要求的范围内都能够实现很好的控制效果。即在进行模糊控制系统设计时,要注意使描述某一模糊变量的模糊子集在论域上的分布合理,即对论域
13、的覆盖程度要好。本文设计的智能车模糊控制器的覆盖状态如图3-4所示,可见其对指定范围内的覆盖程度良好。图3-3 输出U对应的隶属度函数图3-4 Fuzzy控制的规则面模糊规则是模糊控制的核心,智能车模糊控制器相应的控制规则如表3-1所示。表3-1 模糊控制规则UENBNMNSZOPSPMPBECNSPBPMPSZOZONSNMZ0PMPSPSZONSNSNMPSPMPSZOZONSNMNB选取控制量变化的原则是:当误差大或较大时,选择控制量以尽快消除误差为主;当误差较小时,选择控制量主要是从保证系统稳定性的角度考虑。根据模糊输入和模糊控制规则,可由模糊推理获得模糊输出,而实际的控制必须为清晰量
14、,因此要经过清晰化的过程。可采用重心法的方法进行清晰化。重心法是指取模糊集隶属函数曲线同基础变量轴所围面积的重心对应的基础变量值作为清晰值的方法。模糊控制的输出只是一个等级,然后乘以角度的系数,就可以得到角度的数值。角度值直接控制舵机。3.2 智能车速度控制算法采用增量式的PID控制算法对直流电机转速进行控制,具体算法如式(3-1),(3-2)。 (3-1) (3-2)式中为控制器的输出;为k时刻的偏差;为k-1时刻的偏差;、分别为PID控制算法中的比例系数和积分常数。比例调节部分是按比例反映系统的偏差,系统一旦出现偏差,比例调节立即产生调节作用以减少偏差。积分调节部分是使系统消除稳态误差,提
15、高无差度。因为有误差,积分调节就进行,直至无差,一旦停止,积分调节输出常值。在实际的智能车中,PID算法的应用存在一些问题:对直线上的偏差进行不断的修正过程中,即使是很小的偏差,小车也会不断的加减速,影响速度的提升,导致系统的不稳定;调试时易产生超调甚至是震荡现象。鉴于以上原因,PID控制器参数值的调节显得尤为重要。经过多次实验的到理想的PID参数值:=0.12,=0.01。4 智能车系统实验研究智能车的软件设计是智能车控制系统设计中的重中之重,软件设计由以下几个模块组成:LPC2210初始化模块、实时路径检测模块、舵机控制模块、驱动电机控制模块、定时中断模块和模糊控制模块。智能车控制系统的程
16、序流程图如图4-1所示。为了测试智能车的性能,设计了三种不同形状的赛道,如图4-2所示。a) 全跑道b) 圆形跑道c) 8字形跑道图4-1 智能车控制系统程序流程图图4-2 智能车赛道实验结果显示小车的运行平均速度可达1.33m/s,由于采用了模糊控制算法,在运行过程中智能车能够极好的跟随道路前进。具体行驶情况如表4-1所示。表4-1 不同形状跑道智能车的行驶情况跑道形状长度(m)所用时间(s)平均速度(m/s)球场跑道9.981.248字跑道10.991.21圆形跑道53.751.33结 论本文利用直流电源模块、路径识别传感器阵列、转向舵机模块、驱动电机模块和车速传感器,结合所提出的控制算法
17、,实现了智能车的寻迹与自动行驶功能。在模型车的制作过程中,完成了传感器布置方案的比较和确定、直流电机驱动方案的确定、ARM微处理器外围电路的设计、控制算法的编写、模糊控制器的设计、模型车的部分机械改造等工作。为了提高系统的鲁棒性,采用模糊控制策略控制舵机的转角,达到自动寻迹的目的,具有较高的稳定性。系统采用PID算法控制智能车直流电机的转速,实现了智能车恒速、稳定的运行。实验结果显示小车动态性能良好,适应性强,行驶稳定,车速达到1.3m/s以上,达到了预定目标。参考文献1 周立功. ARM嵌入式系统基础教程. 北京:航空航天大学出版社. 2005:132-1332 卓晴, 黄开胜, 邵贝贝. 学做智能车. 北京:北京航空航天大学出版社, 2007:10-503 周斌. 智能车光电传感器布局对路径识别的影响研究. 电子产品世界, 2006 (7):75-784 张国良, 曾静, 柯熙政, 邓方林. 模糊控制及其MATLAB应用. 西安交通大学出版社. 2002:19-28- 281 -