好文档 - 专业文书写作范文服务资料分享网站

基于模糊控制和PID控制自主车辆速度跟踪控制(含MATLAB仿真程序)

天下 分享 时间: 加入收藏 我要投稿 点赞

一、设计原理

设计思想:油门控制采用增量式PID控制算法,刹车控制采用模糊控制算法,最后通过选择规则进行选择控制量输入。

选择规则:首先定义速度偏差-50 km/h≤e(k)≤50km/h,-20≤ec= e(k)- e(k-1)≤20,阀值eswith=10km/h。

若:e(k)<0① e(k)>- eswith and throttlr_1≠0 选择油门控制

② 否则:先将油门控制量置0,再选择刹车控制 若:0

1.确定模糊语言变量

e基本论域取[-50,50],ec基本论域取[-20,20],刹车控制量输出u基本论域取[-30,30],这里我将这三个变量按照下面的公式进行压缩离散化:

y?[2na?b(x?)] b?a2其中,x?[a,b],n为离散度。

e、ec和u均取离散度n=3,离散化后得到三个量的语言值论域分别为:

E=EC=U={-3,-2,-1,0,1,2,3}

其对应语言值为{ NB,NM,NS,ZO, PS,PM,PB } 2.确定隶属度函数

E/EC和U取相同的隶属度函数,边界选取钟形隶属度函数,中间取三角形隶属度函数,即:

uE?EC?U?g(x,?5,?1)?trig(x,?3,?2,0)??trig(x,?3,?1,1)???trig(x,?2,0,2) ?trig(x,?1,1,3)??trig(x,0,2,3)?g(x,1,5)?说明:边界选择钟形隶属度函数,中间选用三角形隶属度函数,图像略。实际EC和E输入值若超出论域范围,则取相应的端点值。

3.模糊控制规则

由隶属度函数可以得到语言值隶属度(通过图像直接可以看出)如下表:

表1:E/EC和U语言值隶属度向量表

NB NM NS ZO PS PM PB -3 1 0 0 0 0 0 0 -2 0.5 1 0.5 0 0 0 0 -1 0 0.5 1 0.5 0 0 0 0 0 0 0.5 1 0.5 0 0 1 0 0 0 0.5 1 0.5 0 2 0 0 0 0 0.5 1 0.5 3 0 0 0 0 0 0 1 P0 P1 P2 P3 P4 P5 P6 设置模糊规则库如下表:

表2:模糊规则表

U EC E — NB NM NS ZO PS PM PB NB PB PB PM PM PS PS ZO NM PB PM PM PS PS ZO ZO NS PM PM PS PS ZO ZO ZO ZO PM PS PS ZO ZO ZO NS* PS PS ZO ZO ZO ZO NS NM PM ZO ZO NS NS NS NM NM PB ZO NS NS NM NM NB NB

3.模糊推理

由模糊规则表3可以知道输入E与EC和输出U的模糊关系,这里我取两个例子做模糊推理如下:

if (E is NB) and (EC is NM) then (U is PB)

那么他的模糊关系子矩阵为:

R1?RE1?REC2?RU1

其中,RE1?P0?(1,0.5,0,?,0)1?7,即表1中NB对应行向量,同理可以得到,REC2?P1?(0,1,0.5,0,?,0)1?7 , RU1?P0?(1,0.5,0,?,0)1?7

?010.50??00.50.50??T?(1,0.5,0,?,0)?(0,1,0.5,0,?,0)??0000?????????00??000?0??0? ???0??7?7RE1?REC2RE1EC2?(0,1,0.5,0,0,0,0,0,0.5,0.5,0,?,0)1?49

00?0?10.50?TR1?RE1EC2?RU1?(0,1,0.5,?,0)?(1,0.5,0,?,0)??0.50.50??????00?0000?0?????0?0??0? ???0??49?7if (E is NB or NM) and (EC is NB) then (U is PB)

R2?(RE1RE2)?REC1?RU1,结果略。

按此法可得到27个关系子矩阵,对所有子矩阵取并集得到模糊关系矩阵如下:

R?R1?R2???Ri(i?1,2,?,27)

由R可以得到模拟量输出为:

U?(E?EC)R

4.去模糊化

由上面得到的模拟量输出为1×7的模糊向量,每一行的行元素(u(zij))对应相应的离散变量zj,则可通过加权平均法公式解模糊:

u??u(zi?021i?021ij)zj(i?j?1,2,ij,21)

?u(z)从而得到实际刹车控制量的精确值u。 油门控制:

油门控制采用增量式PID控制,即:

u(k)?u(k?1)?(kp?ki?kd)e(k)?(?kp?2kd)e(k?1)?kde(k?2)

其中ki=kp×ts/Ti,kd=kp×Td/ts只需要设置kp、Ti、Td三个参数即可输出油门控制量。

二、调整参数

按照上述算法流程,应用MATLAB进行仿真实现,在参数调试过程中采用如下方法:

首先将油门和刹车分开进行调整参数,最后再将调整好的参数写入总程序中调整。

1.油门PID参数调节

油门只需要调整kp、Ti、Td三个参数,根据经验,首先令Ti、Td为0,kp由0逐渐增大,在增大kp的过程可知,kp越大系统调节时间越短并趋于稳定,在达到一定程度后,继续增大系统将出现波动。

109876vd,y idealreality109876vd,y idealreality543210 012345time(s)678910543210 012345time(s)678910

kp=0.1 kp=0.4

12idealreality10 8vd,y6420 012345time(s)678910

kp=0.9

调节Ti的过程发现,Ti对系统稳定性影响并不大,将Ti由10增大到30的过程中系统输出没有变化。

109876vd,y idealreality109876vd,y idealreality543210 012345time(s)678910543210 012345time(s)678910

Ti=10 Ti=30

在给Td赋值时,最开始从1增大,发现系统越来越不稳定,于是逐渐减小,到0.003时趋于稳定,它的可调节范围很小,随其值的减小最大误差值逐渐减小,增大则系统趋于不稳定。

基于模糊控制和PID控制自主车辆速度跟踪控制(含MATLAB仿真程序)

一、设计原理设计思想:油门控制采用增量式PID控制算法,刹车控制采用模糊控制算法,最后通过选择规则进行选择控制量输入。选择规则:首先定义速度偏差-50km/h≤e(k)≤50km/h,-20≤ec=e(k)-e(k-1)≤20,阀值eswith=10km/h。若:e(k)-eswithandthrottlr_1
推荐度:
点击下载文档文档为doc格式
7flnq8rrfy8mpoj7ocb09o8y29wt5t00z4m
领取福利

微信扫码领取福利

微信扫码分享