制动系统建模、仿真及ABS控制器设计.doc
《制动系统建模、仿真及ABS控制器设计.doc》由会员分享,可在线阅读,更多相关《制动系统建模、仿真及ABS控制器设计.doc(16页珍藏版)》请在冰豆网上搜索。
目录
1.动力学建模 -1-
2.分段线性的轮胎模型 -1-
3.控制算法 -2-
4.仿真流程及参数输入 -2-
5.实例分析 -3-
6.MATLAB仿真过程 -3-
6.1.逻辑门限值控制器 -3-
6.2.模糊控制器 -7-
6.2.1模糊控制器设计 -7-
6.2.2模糊控制matlab仿真过程 -8-
6.3.PID控制器 -12-
通过两自由度单轮模型为例,介绍在MATLAB环境下的控制系统力学建模、ABS控制器设计及仿真分析过程。
1.动力学建模
某车辆简化后的制动力学模型如右图所示。
其中单轮模型质量m,车轮滚动半径rd,车轮转动惯量为Iw,车辆旋转角速度为ω,车轮轮心前进速度为uw,地面制动力为Fxb。
作用于车轮的制动力矩为Tb。
若忽略空气阻力与车轮滚动阻力,则系统的运动方程如下:
图1单轮制动力模型
(1)
(2)
式中,地面制动力Fxb等于地面作用于车轮的法向反力Fx与路面附着系数μ的乘积,其中μ为制动滑移率Sb的函数。
2.分段线性的轮胎模型
根据第三章中介绍的有关轮胎纵向特性的内容,路面附着系数与车轮滑移率之间存在一定的非线性关系。
如果用两段直线近似表示路面附着-滑移曲线,可得到分段线性化的附着系数μ与车辆滑移率sb的关系(即所谓的“Dugoff”模型),如下图所示。
其表达式如下:
(3)
式中,μb为峰值附着系数;μg为车轮完全抱死时(即Sb=1)时的路面附着系数;So为峰值附着系数所对应的滑移率。
图2线性化的路面附着系数与车轮滑移率关系曲线
3.控制算法
这里以门限值控制算法为例,说明ABS控制器设计及制动系统力学的仿真过程。
采用门限制控制算法的基本思想是保证车轮滑移率在最理想的范围之内。
制动开始后,随着制动压力的升高车轮转速ω相应减小,车轮出现滑移;当车轮滑移率达到理想范围上限值Smax时,减小制动压力;随着制动压力的减小,直至减小到滑移率下限值Smin时再增大制动压力。
循环往复这一过程直至车辆停止。
因此,在ABS控制器起作用的过程中,滑移率总是保持在理想的范围内,从而保证车辆的最佳制动性能及行驶方向控制的稳定性。
4.仿真流程及参数输入
由上可知,ABS控制器所用到的一些控制参数有:
1)由路面附着系数μ与滑移率Sb的关系曲线所表示的轮胎模型;
2)滑移率控制上限Smax、下限Smin;
3)车辆模型参数及初始车速μωo;
4)制动器油压增长率ki和减小率kd等。
根据分析可知,控制逻辑实现的关键是计算当前车轮滑移率Sb(t)并与预先确定的上限值(Smax,Smin)进行比较,来判断对制动液压控制系统的增压或减压操作,控制流程如图3所示。
图3仿真流程
5.实例分析
单轮制动动力模型参数由表1给出。
设式图2定义的路面附着系数分别为μh=0.8,μg=0.6.以门限值控制算法设计ABS控制器,使车轮滑移率Sb保持在最优值(Sopt附近),这里令Smin=0.18,Smax=0.22。
根据表1给出的模型参数及附着系数,按照图3所示的控制流程采用m语言编制仿真程序。
需要指出的是,表1给出的制动系统控制参数仅作为参考,系统设计过程中可根据需要适当调整,已获得满意的结果。
表1单轮ABS制动力学模型参数
参数
符号
单位
数值
车轮质量
300
车轮动力半径
0.25
车轮转动惯量
12
初始车速
30
初始角速度
120
初始制动力矩
600
制动油压增长率
4500
制动油压减小率
5000
采样时间
0.05
6.MATLAB仿真过程
6.1.逻辑门限值控制器
Matlab代码如下:
clear
clc
%%输入初始参数
m=300;%车轮质量
rd=0.25;%车轮动力半径
Iw=12;%车轮转动惯量
u0=30;%初始车速
w0=120;%初始角速度
Tb0=600;%初始制动力矩
ki=4500;%制动油压增长率
kd=5000;%制动油压减少率
dt=0.05;%采样时间
u
(1)=u0;%设置车速数组变量
w
(1)=w0;%设置轮速数组变量
Tb
(1)=Tb0;%设置制动压力数组变量
s
(1)=0;%设置滑移率数组变量
Fxb
(1)=0;%设置地面制动力数组变量
%%滑移率逻辑门控制
i=1;
while(u(i)>0)
s(i+1)=(u(i)-w(i)*rd)/u(i);%计算滑移率
ifs(i+1)<0.2%计算纵向附着系数
mu=4*s(i+1);
else
mu=0.85-0.25*s(i+1);
end
Fxb(i+1)=m*9.8*mu;%计算地面制动力
逻辑门控制器
ifs(i+1)<0.18%与滑移率门限值比较,确定制动力矩
Tb(i+1)=Tb(i)+ki*dt;
elseifs(i+1)>0.22
Tb(i+1)=Tb(i)-kd*dt;
else
Tb(i+1)=Tb(i);
end
dw=(Fxb(i+1)*rd-Tb(i+1))/Iw;%计算车轮角加速度
du=-Fxb(i+1)/m;%计算车身加速度
u(i+1)=u(i)+du*dt;%计算下一时刻车速
w(i+1)=w(i)+dw*dt;%计算下一时刻轮速
i=i+1;
end
t=0:
dt:
(i-1)*dt;
plot(t,[u'w'*rd])
figure()
plot(t,Fxb,t,Tb)
figure()
plot(t,s)
运行结果如下:
1)制动器制动力矩与地面制动力随时间变化曲线
2)滑移率随时间变化曲线
3)车速与轮速随时间变化曲线
可以看出:
l基于滑移率的逻辑门限值控制器,可以限制滑移率在给定的最佳滑移率附近波动,汽车完全停止时,车速为零,滑移率趋于无穷大,所以在仿真时间最后一段,滑移率有较大波动。
l制动器制动力矩在滑移率控制器的控制下,可以完成增压、保压、减压动作,防止车轮过早抱死,减小制动距离。
6.2.模糊控制器
6.2.1模糊控制器设计
1)输入量模糊化
l为简化,仅选取滑移率偏差e作为输入量,当最佳滑移率选为0.2时,滑移率偏差范围为【-0.2,0.8】,经过适当变化,使e的变化范围为【-6,6】,以便于控制。
l为简化,仅选取三个语义词【N,Z,P】,即正、零、负。
分别定义各自的隶属度函数,进行模糊化,如下图:
2)输出量反模糊化
l选取制动器制动力矩改变量为输出量,取值范围设定为【-1,+1】。
同样,为简化,选取三个语义词【I,K,D】,即增压、保压、减压。
并定义相应隶属度函数,如下图:
3)模糊规则
l由于仅有一个输入量,且仅选取三个语义词,只需定义三条模糊规则,如下图:
4)控制曲线
l观察制动器制动力矩改变量与滑移率偏差的关系
6.2.2模糊控制matlab仿真过程
程序如下:
clear
clc
%%输入初始参数
m=300;%车轮质量
rd=0.25;%车轮动力半径
Iw=12;%车轮转动惯量
u0=30;%初始车速
w0=120;%初始角速度
Tb0=600;%初始制动力矩
ki=4500;%制动油压增长率
kd=5000;%制动油压减少率
dt=0.05;%采样时间
u
(1)=u0;%设置车速数组变量
w
(1)=w0;%设置轮速数组变量
Tb
(1)=Tb0;%设置制动压力数组变量
s
(1)=0;%设置滑移率数组变量
Fxb
(1)=0;%设置地面制动力数组变量
dtp
(1)=0;%设置地面制动力变化量数组变量
%%模糊控制
i=1;
while(u(i)>0)
s(i+1)=(u(i)-w(i)*rd)/u(i);%计算滑移率
ifs(i+1)<0.2%计算纵向附着系数
mu=4*s(i+1);
else
mu=0.85-0.25*s(i+1);
end
模糊控制器
Fxb(i+1)=m*9.8*mu;%计算地面制动力
e=12*(s(i+1)-0.5);%将滑移率偏差范围转化到【-6,6】
abs=readfis('abs_fzy2.fis');%调用设计好的模糊控制器
dtp(i+1)=evalfis(e,abs);%输出制动器制动力矩变化量
Tb(i+1)=Tb(i)+2*5000*dtp(i+1)*dt;%计算制动器制动力矩
dw=(Fxb(i+1)*rd-Tb(i+1))/Iw;
du=-Fxb(i+1)/m;
u(i+1)=u(i)+du*dt;
w(i+1)=w(i)+dw*dt;
i=i+1;
end
%%绘图
t=0:
dt:
(i-1)*dt;
plot(t,[u'w'*rd])
figure()
plot(t,Fxb,t,Tb)
figure()
plot(t,s)
figure()
plot(t,dtp)
运行结果:
1)模糊控制器输出,即Tb的变化量
2)地面制动力与制动器制动力矩
3)滑移率
4)车速与轮速
6.3.PID控制器
lPID控制器的设计
选取滑移率s的偏差e作为输入,若选定最佳滑移率为0.2,则e=s-0.2;输出量为制动器制动力矩的变化量dtp。
则有,
选取一组合适的系数,,即可完成PID控制
lMATLAB仿真过程
MATLAB程序代码如下:
clear
clc
%%输入初始参数
m=300;%车轮质量
rd=0.25;%车轮动力半径
Iw=12;%车轮转动惯量
u0=30;%初始车速
w0=120;%初始角速度
Tb0=600;%初始制动力矩
ki=4500;%制动油压增长率
kd=5000;%制动油压减少率
dt=0.05;%采样时间
u