李 威1,马旭攀2
(1.长安大学电子与控制工程学院,陕西西安 710064;2.长安大学信息工程学院,陕西西安 710064)
作者简介:李 威(1991-),男,长安大学电子与控制工程学院硕士研究生,交通运输工程专业。
马旭攀(1991-),男,长安大学信息工程学院硕士研究生,计算机应用技术专业。
摘 要:对于智能车控制系统,合理的控制转向角是其良好运行的关键。由于智能车的方向控制和速度控制都在高度非线性的条件下进行,此情况下经典PID算法的判断能力略显单薄,所以基于处理非线性数据的需要,探讨利用模糊控制算法对偏差(e)、调整量(ec)和转向角(s)创建相应的隶属函数,并在在MATLAB平台上对智能车的控制进行模拟实验。结果表明:加载了模糊算法的智能车,能够很好的处理非线性的输入数据,并计算出合适的转向角。
关键词:智能车;模糊算法;转向角
Abstract:For intelligent vehicle control system,the reasonable control of steering Angle is the key to its good operation.Due to the direction of the intelligent vehicle control and speed control conditions are highly nonlinear,this case judgment slightly thin of classical PID algorithm,so based on the needs of nonlinear data processing,discusses fuzzy control algorithm(e),ad-just the amount of deviation(ec)and steering Angle(s)to create the corresponding membership functions,and in the MAT-LAB platform for the control of intelligent vehicle simulation experiment.Results show that the load the fuzzy algorithm of intelligent vehicles,it can deal with nonlinear input data,and calculate the appropriate steering Angle.
Key words:intelligent vehicle;fuzzy algorithm;angle of turn
1 引言
随着智能交通运输系统(ITS)的迅速发展,作为ITS中一个重要组成部分的智能车辆已经成为此领域的研究热点。对于智能车辆的导航研究而言,车辆的转向控制尤为重要。在输入参数高度非线性的情况下,PID控制的参数是固定不变的,不能进行在线调整,很难建立一套精确的数学模型,为了解决此弊端,本文尝试利用模糊控制算法对智能车进行控制。
我国学者兰华、贾勇等人针对智能车提出了模糊控制的应用,与此同时进行了一定的仿真和研究,但是在调整量ec上的分类没有较深的讨论,使模糊控制的优势没有全面发挥出来。本文提出一种改进的模糊控制方法,即加入了调整量ec的详细讨论,以进一步提高智能车的运行速度与稳定性。
2 智能车机械结构简介
本设计选用智能车竞赛专用车模。智能车的控制采用的是前轮转向,后轮驱动方案。智能车的外形大致如图1所示。
图1 智能车外形
3 模糊控制理论
3.1 定义
模糊逻辑控制简称模糊控制,是一种模仿人脑进行模糊判断的控制方式。
3.2 模糊控制系统构架
模糊控制系统构架包含了五个主要部分,即:定义变量、模糊化、知识库、逻辑判断及解模糊化[1]。
3.3 控制规则
3.3.1 规则来源
规则来源主要由专家经验知识、操作员的操作模式与学习三部分组成。本设计采用专家经验知识作为规则来源[2]。
3.3.2 规则形式
对于本智能车系统,选用状态评估模糊控制规则对模糊量进行分析。其型式如下:
Ri:if x1is Ail and x2is Ai2
then y is Ci (1)
其中x1,x2,…,xn及y为语言模糊变量;Ai1,Ai2,…,Ain及Ci为模糊语言值。该形式还有另一种表示法,其形式如下:
Ri:if x1is Ail and x2is Ai2
then yf1(x1,x2) (2)
对于本智能车系统,选用状态评估模糊控制规则对模糊量进行分析。
3.4 模糊推论及解模糊化
3.4.1 模糊推论
本设计采用依据模糊关系的合成推论法,其中Aij,Bi代表论域中的模糊集合:
R1:if x1is A11and…and xn is A1n
then y1is B1
R2:if x1is A21and…and xn is A2n
then y2is B2
Rn:if x1is Am1and…and xn is Amn
then ymis Bm (3)
3.4.2 解模糊化
在本设计中,使用平均值法进行解模糊化。
4 智能车模糊控制器设计
4.1 建立循迹误差模型
智能车的导向利用光电传感器对路径进行识别,然后根据智能车与路径标线之间的相对位置偏差控制智能车的运行方向,保证智能车沿着路径标线运行。我们选择了光电传感器循迹方案作为控制的输入途径[3]。
图2 循迹基本原理
如图2所示,智能车前排为光电传感器,r为两两相邻之间的传感器距离,y为正中央光电传感器与检测到路径传感器之间的距离,位于轨迹上方的为正,下方的为负,则:
y=m×n (4)
其中:m为轨迹上方的传感器距离中央传感器间的传感器个数,本图中m=1。
通过传感器判断黑线位于智能车前端的具体位置,后决定智能车的转向方向以及角度大小。
智能车转向系统应该至少满足以下两个条件:
(1)根据黑线与车身的相对位置(即偏差e)给予一定回正转角。
(2)根据黑线相对传感器相对运动(调整量ec)给予一个反方向的转角。
综上,我们将偏差e和调整量ec作为输入模糊化,其中
ec=ei-ei-1 (5)
模糊控制器需要对这两个精确量进行编码,使其成为模糊量,进而参加模糊推理,后得到相应的模糊化输出量。最后,进行反模糊化得到输出值,赋值给相应模块[4]。
4.2 确定模糊控制器结构
智能车模糊控制器由3个功能模块组成,即模糊化模块、模糊推理模块和解模糊化模块。整个控制器为两输入单输出模式,控制器的输入为位置偏差和调整量,输出为舵机的转向角,如图3所示。
图3 智能车模糊控制器结构
4.3 定义隶属函数
将位置偏差(e)分为3个模糊集:SD(左偏移),MD(无偏移),LD(右偏移);将调整量(ec)分为3个模糊集:NG(左调整),MG(无调整), LG(右调整);将舵机转向角(s)分为5个模糊集:VS(左大转),S(左小转),M(不转),L(右小转), VL(右大转)。将本模糊控制系统用MATLAB进行仿真,效果如图4。
图4 控制系统MATLAB仿真效果图
4.3.1 位置偏差(e)
将位置偏差(e)分成0~26的码值,0代表最大左偏移,26代表最大右偏移。选用如下隶属度函数:
4.3.2 调整量(ec)
对于调整量ec=ei-ei-1,max(ec)=26 min(ec)=-26。
为了方便计算,将ec的值进行编码,用编码后的ec值去代替之前的值。
当ec>0时:代表后一次的位置相对于前一次偏右;
当ec<0时:代表后一次的位置相对于前一次偏左;
当ec=0时:代表连续两个采样时刻内,智能车相对于黑色标线所在的位置没有发生变化。
选用如下隶属度函数:
4.4.3 转向角(s)
在本设计中,舵机左右最大转角都为50°,“-”代表左转,“+”代表右转。对不同的转向角进行编码,左转50°编码值为0,右转50°编码值为100。选用如下隶属度函数:
4.4 建立模糊控制规则
根据人的操作经验设计模糊规则,模糊规则设计的标准为:
“位置偏差编码值越小,调整量编码值越小,舵机转向角编码值越大”;
“位置偏差编码值适中,调整量编码值适中,舵机转向角编码值适中”;
“位置偏差编码值越大,调整量编码值越大,舵机转向角编码值越小”。
4.5 建立模糊控制表
根据模糊规则的设计标准,建立模糊规则表,见表1。
表1 模糊规则表
4.6 模糊推理
4.6.1 规则匹配
假定当前单片机接收到的信息为:e=10,ec=30,分别代入所属的隶属函数中求隶属度为:
可以得到4条相匹配的模糊规则,见表2。
表2 匹配的模糊规则表
4.6.2 规则触发
由表2可知,被触发的规则有4条,即:
Rule1:IF xis SD and yis MG
THENzis L
Rule2:IF xis SD and yis LG
THENzis L
Rule3:IF xis MD and yis MG
THENzis M
Rule4:IF xis SD and yis LG
THENzis M (10)
4.6.3 规则前提推理
在同一条规则内,前提之间通过“与”的关系的得到规则结论。前提的可信度之间通过取小运算,得到规则强度表,如表3所示。
表3 规则强度表
4.6.4 模糊“与”运算
可信度输出如表4所示。
表4 可信度输出表
4.6.5 模糊输出
u(z)=max{min(3/13,u L(z)),min(2/13, u L(z)),min(10/13,u M(z)),min(2/13,u M(z))}=max{min(3/13,u L(z)),min(10/13,u M(z))} (11)
4.6.6 反模糊化
模糊系统总的输出uagg(z)是2个规则推理结果的并集,后进行反模糊化,才能得到精确的结果,经推理:z=55.77,即输出的最大转向角编码值为55.77°。
在MATLAB平台内,将e=10,ec=30输入已建好的模糊系统中,测试结果如图5。可以发现利用MATLAB平台建立的模糊控制模型和最佳模型输出值相差4个单位,误差率小于百分之五,所以此系统符合要求。
图5 模型测试结果图
5 结论
本文首先对智能车的循迹基本原理进行了阐述,然后根据智能车的实际情况将模糊控制器的输入值进行模糊化,最后将输出值进行解模糊化。在MATLAB环境下模拟不同数据的输入,本模糊控制器的输出符合要求,与传统的模糊控制器相比,该控制器提高了智能车的稳定性,改善了动态性能,具有一定的实用价值。
参考文献
[1] 刘金琨.智能控制[M].北京:电子工业出版社.2005:76-77.
[2] 杨纶标,高英仪.模糊数学原理及应用[M].广州:华南理工大学出版社,2013:3-4.
[3] 程柏林.基于模糊控制的智能小车控制器的研制[D].安徽:合肥工业大学,2012.
[4] 张国亚,钱新恩,程耕国,李峰波.基于模糊控制的智能车转向控制仿真研究[N].湖北汽车工业学院学报,2012-09-07(1).
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。