文档详情

智能车基于pid及模糊控制的油门刹车速度控制算法.doc

发布:2018-03-05约1.7千字共3页下载文档
文本预览下载声明
首先定义速度偏差-50 km/h≤e(k)≤50km/h,-20≤ec(i)= e(k)- e(k-1)≤20,阀值eswith=10km/h,?throttle为油门当前的控制量,?brake为刹车当前的控制量 设计思想:油门控制采用增量式PID控制算法,输入量为e(k)、e(k-1)、e(k-2)和u(k-1)(上一时刻的输出量),输出量u(k)为油门控制量(油阀);刹车控制采用模糊控制算法,输入为e(k)和ec(i),输出量为刹车控制量;最后通过选择规则进行选择。 选择规则: -50 km/h≤e(k)0 ① e(k)- eswith 选择油门控制 ② e(k)≤- eswith 若?throttle≠0先选择油门再从新进行选择 若?throttle=0选择刹车 0e(k)≤50 km/h ① ubrake≤ ?brake 选择刹车控制 ② ubrake ?brake 先选择刹车后选择油门 e(k)=0 直接跳出选择 刹车控制:刹车采用模糊控制算法 1.确定模糊语言变量 e基本论域取[-50,50],ec基本论域取[-20,20],刹车控制量输出u基本论域取[-30,30],这里我将这三个变量按照下面的公式进行离散化: 其中,,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取相同的隶属度函数即: 说明:都选用三角形隶属度函数,图像略 实际EC和E输入值若超出论域范围,则取相应的端点值。 3.模糊控制规则 由隶属度函数可以得到语言值隶属度(通过图像直接可以看出)如下表: 表1:E/EC和U语言值隶属度向量表 -3 -2 -1 0 1 2 3 NB 1 0.5 0 0 0 0 0 NM 0 1 0.5 0 0 0 0 NS 0 0.5 1 0.5 0 0 0 ZO 0 0 0.5 1 0.5 0 0 PS 0 0 0 0.5 1 0.5 0 PM 0 0 0 0 0.5 1 0 PB 0 0 0 0 0 0.5 1 设置模糊规则库如下表: 表2:模糊规则表 U EC —— NB NM NS ZO 其他 NB PB PB PM PM —— NM PB PM PM PS —— NS PM PM PS PS —— ZO PM PS PS ZO —— PS PS PS ZO ZO —— PM PS ZO ZO ZO —— PB ZO ZO ZO ZO —— 注:由于刹车控制中,没有偏差E大于0的情况,故在“其他”栏中没有规则 3.模糊推理 由模糊规则表3可以知道输入E与EC和输出U的模糊关系,这里我取两个例子做模糊推理如下: if (E is NB) and (EC is NM) then (U is PB) 那么他的模糊关系子矩阵为: 其中,,即表1中NVB对应行向量,同理可以得到, if (E is NVB or NB) and (EC is NVB) then (U is PVB) 结果略 按此法可得到15个关系子矩阵,对所有子矩阵取并集得到模糊关系矩阵如下: 由R可以得到模拟量输出为: 算法说明:可以得到一个7*7的矩阵,与R得到一个1*7的向量 4.去模糊化 由上面得到的模拟量输出为1×7的模拟向量,每一行的行元素(u(zij))对应相应的离散变量zj,则可通过加权平均法公式解模糊: 从而得到实际刹车控制量的精确值u。 油门控制: 油门控制采用增量式PID控制,即: 只需要设置、 、三个参数即可输出油门控制量。
显示全部
相似文档