基于模糊控制的智能车寻迹算法研究摘要:与传统的自动控制相比,模糊控制不用建立在被控对象准确的数学模型的基础上。
这一特点在非常适用于实际运用中影响因素很多、结构十分复杂系统。
其系统有易于接受,设计简单,维护方便,而且比常规控制系统稳定性好,鲁棒性高等特点。
因其与本设计实际条件相似,所以选其做智能小车的寻迹算法研究。
关键词智能小车;模糊控制;寻迹算法ABSTRACT Compared with the traditional automatic control,fuzzy control without based on a accurate mathematical model of controlled object. This feature is suitable for the systems which have many influencing factors and a very complex structure in the practical application. There are many feature in this system:such as easy to accept, the design is simple, convenient maintenance, more stability and robustness than conventional control system,and so on. Because it is similar to the actual conditions of our design, so we choose it for the smart car tracing algorithm.KEY WORDS smart car;fuzzy control;tracing algorithm目录1.前言 (1)2.硬件设计 (3)2.1整体结构 (3)2.2传感部分 (4)2.2.1 原理 (4)2.2.2 电路设计 (4)2.2.3 传感器感应板布局 (4)2.2.4 闸门感应器 (5)2.3控制部分 (5)2.4驱动部分 (6)2.4.1 电机驱动 (6)2.4.2 舵机驱动 (6)3. 程序设计部分 (7)3.1模糊控制原理 (7)3.2智能车模糊逻辑控制器 (7)3.2.1 编码 (8)3.2.2 模糊化 (8)3.2.3 模糊规则库 (9)3.2.4 模糊判决 (9)3.3模糊控制器实现 (10)4.结论 (11)致谢 (11)参考文献 (12)1.前言本题目来源于瑞萨超级MCU模型车大赛。
瑞萨超级MCU模型车大赛主要是设计智能控制程序,根据感应器以及测速器反馈的信号(通过前方的反射式红外光电传感器检测到黑色跑道上白线路径),然后通过智能程序的判断与控制,使智能小车能在特定赛道(直道、S道、交叉道、上下坡、变线区等轨道)上高速行驶为目的的比赛。
其中涉及的技术主要有传感器技术、单片机设计技术和控制算法。
MCU模型车大赛是参赛选手要求在搭载有瑞萨MCU主板上的模型车上自行设计并编入独立的控制程序,拼装制作成自动驾驶车参加竞技,胜负是根据顺利跑完全程比赛的时间长短来判定的。
纵观一下现时的智能控制算法,如PI、PD、PID、模糊、神经网络算法等,再根据该赛事车子感应及跑道的情况,提出用模糊算法进行车子的寻迹控制,希望能研究出较好的寻迹算法。
努力寻求小车性能最优(检测准确、行驶平稳、速度快、抗干扰强等)。
模糊逻辑控制 (Fuzzy Logic Control)简称模糊控制(Fuzzy Control),是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。
1965年,美国的L.A.Zadeh创立了模糊集合论;1973年他给出了模糊逻辑控制的定义和相关的定理。
1974年,英国的E.H.Mamdani首先用模糊控制语句组成模糊控制器,并把它应用于锅炉和蒸汽机的控制,在实验室获得成功。
这一开拓性的工作标志着模糊控制论的诞生。
模糊控制实质上是一种非线性控制,从属于智能控制的范畴。
模糊控制的一大特点是既具有系统化的理论,又有着大量实际应用背景。
其典型应用的例子涉及生产和生活的许多方面,例如在家用电器设备中有模糊洗衣机、空调、微波炉、吸尘器、照相机和摄录机等;在工业控制领域中有水净化处理、发酵过程、化学反应釜、水泥窑炉等的模糊控制;在专用系统和其它方面有地铁靠站停车、汽车驾驶、电梯、自动扶梯、蒸汽引擎以及机器人的模糊控制等。
近年来,研究模糊算法在智能寻迹小车上应用的课题渐渐增加,但大多数都是静态传感,即传感器安装在车体上,并不会随方向改变而发生变化。
本设计就是研究另一种基于动态传感器的智能寻迹小车的设计。
2.硬件设计2.1 整体结构本智能小车包括三大部分:传感部分、控制部分和驱动部分。
传感部分有传感器感应板、传感器子处理板和闸门感觉器三个模块;控制部分的CPU板使用的是H8-3048单片机;驱动部分的电机驱动析集成了控制电路、驱动电路和电源电路。
如图2.1,图2.2:图2.1 智能小车整体结构模块图图2.2 智能小车整体结构实物图2.2 传感部分2.2.1 原理根据跑道的实际情况(黑色跑道白线路径),我们采用了较为简单的红外光电感应器。
其原理是:红外线照射到白色的路径上时,白色不吸光而发生反射,从而感应器接收到光信号,继而转变为电信号(低电平,LED点亮);而照射到黑色跑道上时,黑色吸光,感应器接收不到信号,从而转变为电信号(高电平,LED熄灭)。
图2.3 红外感应器原理图图2.4 红外感应器电路原理图2.2.2电路设计电路原理如图2.4:2.2.3传感器感应板布局传感器的布置方案有单排、双排、W字形排列等。
我们采用了单排一字形的排列方式。
具体的布置方式如图2.5,图2.6,也就是在车模的头部安装一块电路板,其底部安装8个传感器。
图2.5 红外感应器布局框架图图2.6 红外感应器布局实物图2.2.4闸门感应器闸门感应器也是采用红外传感器,原理同上,布局如图2.7,图2.8。
图2.5 闸门感应器布局框架图图2.6 闸门感应器布局实物图2.3 控制部分日本的瑞萨H8-3048单片机拥有128KROM和4KRAM,11个IO端口(1~B),5个ITU(整型定时器)等较为丰富的资源。
2.4 驱动部分驱动部分主要驱动的是两路电机和一路舵机,均使用PWM来控制。
PWM( Pulse Width Modulation),又称脉冲宽度调制方式,是指通过改变输入脉冲的有效工作时间,改变输入平均电压的调节电机转速方式。
PWM信号的有效工作时间和周期的比值为PWM信号的占空比a为:a= to/Tout—PWM一个周期内高低电平中有效电平时间,T—PWM周期式中:a—占空比值,toout2.4.1 电机驱动硬件驱动设计是基于H桥的电路(如图2.7),控速则采用PMW控制电流来调整速度。
图2.7 H桥原理图2.4.2 舵机驱动舵机采用PWM脉冲控制,通过调整脉冲的占空比实现舵机的左转和右转,如图2.8所示。
图2.7 舵机控制原理图3. 程序设计部分3.1 模糊控制原理模糊控制(Fuzzy Control)是以模糊集理论、模糊语言变量和模糊逻辑推理为基础的一种智能控制方法,它从行为上模仿人的模糊推理和决策过程。
该方法首先将操作人员或专家经验编成模糊规则,然后将来自传感器的实时信号模糊化,将模糊化后的信号作为模糊规则的输入,完成模糊推理,将推理后得到的输出量加到执行器上。
实现模糊控制算法的过为:单片机采样得到被控制量的精确值,然后将此量与给定值比较得到误差信号E;把误差信号E的精确题壁进行模糊化变成模糊量,误差E的模糊量可用相应的模糊语言表示。
至此,得到了误差的模糊语言集合的一个子集e(e实际是一个模糊相量)。
再有e和模糊控制规则R(模糊关系)根据推理的合成规则进行模糊决策,得到模糊控制量u,即u =e。
R式中:u为一个模糊量。
为了给被控对象施加精确的控制,还需进行解模糊处理。
在得到控制量后,经数模转变为精确的模拟量送给执行机构,对被控对象进行一步控制。
之后,中断等待第2次采样,进行第2步控制。
这样循环下去,就实现了被控对象漠糊控制。
3.2 智能车模糊逻辑控制器模糊控制器(Fuzzy Controller,FC)也称为模糊逻辑控制器(Fuzzy Logic Controller,FLC),由于所用的模糊控制是由模糊理论中模糊条件语句来描述的,因此,模糊控制器是一种语言型控制器,故也称为模糊语言控制器(Fuzzy Language Controller,FLC)。
模糊控制器主要由3个功能模块组成,即模糊化模块、和模糊判决模块,如图3.1所示。
图3.1 模糊逻辑控制器结构图3.2.1 编码位置偏差e及其变化率ec是模糊控制器的2个输入,其中:ec=e i-e i-1。
模糊控制器需对这2个精确量进行编码,使其成为模糊量,进而参加模糊推理。
智能车上使用了8个光电管,其编码表如表3.1所示。
表3.1 轨迹位置编码表变化量。
考虑到实际情况,设偏差e的基本论域为[-7,7],偏差变化ec的基本论域为[-3,3],控制量的基本论域为[-40,40],均划分为7个等级,即{-3,-2,-1,0,1,2,3 }则偏差e的量化因子= 7/3=2.33Ke偏差变化ec的量化因子=3/3=1Kec控制量u的比例因子=40/3=13.33Ku模糊集取7个语言值,分别为{负大,负中,负小,0,正小,正中,正大}即{NB,NM,NS,ZO,PS,PM,PB}上文中:U为速度和方向控制量的变化量。
3.2.2 模糊化由于传感器所检测到的信号都是精确量,但模糊控制器中需要的却是模糊量,所以需要将这些精确量转变成语言变量值,即模糊量。
在模糊控制中,通常将控制量的实际值与期望值比较,得到一个偏差e,并将其模糊化处理为模糊量E,控制器根据E来决定如何对系统加以调节控制。
为了使控制器的性能更好,通常还需要将偏差变化量EC作为输人量,以此对系统进行综合判断 。
根据从实际调试中得到的经验,可以将偏差e 、偏差变化ec 和控制量变化u 映射到模糊域中,如表3.2。
表3.2 偏差变化e 划分表3.2.3 模糊规则库在智能车控制系统中,模糊控制器的输入量为位置偏差E 及其相对行驶距离的变化量EC ,输出量为速度和方向的控制量 ,所以该模糊控制器为一个双输入单输出的模糊控制器,其控制规则通常采用以下模糊条件语句,即If E and EC then U其中: 为输入系统偏差变量e 模糊化的模糊集合;EC 为输入系统偏差△e 模糊化的模糊集合;U 为输出变量 的模糊集合 。