一、设计原理
设计思想:油门控制采用增量式 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
u
E EC U
( , 5, 1)
g x
( , 3, 2,0)
trig x
( , 3, 1,1)
trig x
( , 2,0,2)
trig x
( , 1,1,3)
trig x
( ,0,2,3)
trig x
( ,1,5)
g x
说明:边界选择钟形隶属度函数,中间选用三角形隶属度函数,
图像略。实际 EC 和 E 输入值若超出论域范围,则取相应的端点值。
3.模糊控制规则
由隶属度函数可以得到语言值隶属度(通过图像直接可以看出)
如下表:
表 1:E/EC 和 U 语言值隶属度向量表
-3
1
0
0
0
0
0
0
-2
0.5
1
-1
0
0.5
0.5
1
0
0
0
0
0.5
0
0
0
0
0
0
0.5
1
1
0
0
0
0.5
0.5
1
0
0
0.5
0
2
0
0
0
0
0.5
1
0.5
3
0
0
0
0
0
0
1
NB
NM
NS
ZO
PS
PM
PB
P0
P1
P2
P3
P4
P5
P6
设置模糊规则库如下表:
表 2:模糊规则表
U
EC
—
NB
NM
NS
ZO
PS
PM
PB
NB
PB
PB
PM
PM
PS
PS
ZO
NM
PB
PM
PM
PS
PS
ZO
ZO
E
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)
那么他的模糊关系子矩阵为:
R
1
R
E
1
R
EC
2
R
U
1
其中,
RE
1
P
,0,5.0,1(0
)0,
71
,即表 1 中 NB 对应行向量,同理可
以得到,
REC
2
,0,5.0,1,0(1
P
)0,
71
,
RU
1
P
,0,5.0,1(0
)0,
71
R
E
1
R
EC
2
,0,5.0,1(
T
)0,
,0,5.0,1,0(
)0,
ECER
1
2
,0,5.0,5.0,0,0,0,0,0,5.0,1,0(
)0,
491
1
0
05.0
05.05.00
0
0
0
0
0
0
0
0
0
0
0
0
77
R
1
R
1
ECE
2
R
U
1
,5.0,1,0(
T
)0,
if
(E is NB or NM)
and
)0,
,0,5.0,1(
(EC is NB)
0
00
0
1
005.0
005.05.0
0
00
0
0
0
0
0
749
then (U is PB)
R
2
(
R
1
E
R
E
2
)
R
1
EC
R
U
1
,结果略。
按此法可得到 27 个关系子矩阵,对所有子矩阵取并集得到模糊
关系矩阵如下:
RR
1
R
2
(
iR
i
,2,1
)27,
由 R 可以得到模拟量输出为:
U
(
E EC R
)
4.去模糊化
由上面得到的模拟量输出为 1×7 的模糊向量,每一行的行元素(u
(zij))对应相应的离散变量 zj,则可通过加权平均法公式解模糊:
u
21
i
0
21
(
u z
)
z
j
ij
(
u z
ij
)
i
0
(
i
j
1,2,
,21)
从而得到实际刹车控制量的精确值 u。
油门控制:
油门控制采用增量式 PID 控制,即:
)(
ku
(
ku
)1
(
k
k
i
k
d
p
)()
ke
(
k
2
k
d
p
()
ke
)1
(
kek
d
)2
其中 ki=kp×ts/Ti, dk =kp×Td/ts只需要设置 pk 、Ti、Td 三个参数即可输
出油门控制量。
二、调整参数
按照上述算法流程,应用 MATLAB 进行仿真实现,在参数调试
过程中采用如下方法:
首先将油门和刹车分开进行调整参数,最后再将调整好的参数写
入总程序中调整。
1.油门 PID 参数调节
油门只需要调整 kp、Ti、Td 三个参数,根据经验,首先令 Ti、
Td 为 0,kp 由 0 逐渐增大,在增大 kp 的过程可知,kp 越大系统调节
时间越短并趋于稳定,在达到一定程度后,继续增大系统将出现波动。
10
9
8
7
6
5
4
3
2
1
y
,
d
v
ideal
reality
10
9
8
7
6
5
4
3
2
1
y
,
d
v
ideal
reality
0
0
1
2
3
4
5
time(s)
6
7
8
9
10
0
0
1
2
3
4
5
time(s)
6
7
8
9
10
kp=0.4
ideal
reality
kp=0.1
12
10
8
6
4
2
y
,
d
v
0
0
1
2
3
4
5
time(s)
6
7
8
9
10
kp=0.9
调节 Ti 的过程发现,Ti 对系统稳定性影响并不大,将 Ti 由 10
增大到 30 的过程中系统输出没有变化。
10
9
8
7
6
5
4
3
2
1
y
,
d
v
ideal
reality
10
9
8
7
6
5
4
3
2
1
y
,
d
v
ideal
reality
0
0
1
2
3
4
5
time(s)
6
7
8
9
10
0
0
1
2
3
4
5
time(s)
6
7
8
9
10
Ti=10
Ti=30
在给 Td 赋值时,最开始从 1 增大,发现系统越来越不稳定,于
是逐渐减小,到 0.003 时趋于稳定,它的可调节范围很小,随其值的
减小最大误差值逐渐减小,增大则系统趋于不稳定。
12
10
8
6
4
2
y
,
d
v
ideal
reality
10
9
8
7
6
5
4
3
2
1
y
,
d
v
ideal
reality
0
0
1
2
3
4
5
time(s)
6
7
8
9
10
0
0
1
2
3
4
5
time(s)
6
7
8
9
10
kp=0.002
ideal
reality
kp=0.001
10
9
8
7
6
5
4
3
2
1
y
,
d
v
0
0
1
2
3
4
5
time(s)
6
7
8
9
10
kp=0.003
2.刹车调节
首先,为了适应该系统,将刹车输出量限制在[-150,150]之内(最
初设计其范围为[-30,30]),对于该控制,可调节参数较多,包括隶
属度函数、模糊规则表、输入输出变量区间、语言值论域、模糊推理
及解模糊方法等等,这里由于模糊规则需要经验设定,本算法没有实
际参考,所以这里只调整规则表,其他参数固定不变。
以下为最初设计的模糊规则表:
U
EC
—
NB
NM
NS
ZO
PS
PM
PB
NB
PB
PB
PM
PM
PS
PS
ZO
E
NM
PB
PM
PM
PS
PS
ZO
ZO
NS
PM
PM
PS
PS
ZO
ZO
ZO
ZO
PM
PS
PS
ZO
ZO
ZO
ZO
由于实际刹车控制中对于加速采取比较单一的置零(在选择规则
中设定)输出,所以在规则表中 e<0 部分没有规则,然而为了仿真方
便,使参数调节更清晰,重新定义模糊规则表如下:
U
EC
—
NB
NM
NS
ZO
PS
PM
PB
NB
PB
PB
PM
PS
PS
PS
ZO
NM
PB
PM
PM
ZO
PS
ZO
ZO
E
NS
PM
PM
PS
ZO
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
与此同时,将刹车的输出变量取反,以此来实现减速的效果!在
调整模糊规则表的时候,必须依据输入变量 e 和 ec 的范围逐个检验,
按照他们各自的语言值以及相应的输出语言值进行调整。
例如,初始速度为 50,期望速度为 0,即 e=-50,ec=-50,则此
时输出对应模糊规则表中第一行第一列 PB,而下一时刻 ec 几乎为 0,
所以在调节过程中,主要进行对 EC 变量的 ZO 行进行调节,若响应
时间短,则增大相应输出语言值,反之亦然。
仿真时,分两段,首先加速,之后减速,采用上面的模糊规则表,
得到如下图像:
50
40
30
y
,
d
v
20
10
0
-10
0
ideal
reality
1
2
3
4
5
time(s)
6
7
8
9
10
从图像的上升阶段分析可以看出,其加速阶段并不能达到稳态
值,但对于刹车控制可以忽略其影响,而减速阶段实际上已经比较理
想,我取稳态误差达到 5%稳定,则此规则达到稳态的时间为 7.4s,
这里尝试进行如下修改,将规则表中带下划线的部分以此改为:
PM,PS,PS,ZO,即,增大了输出语言值。则得到如下图像:
50
40
30
y
,
d
v
20
10
0
-10
0
ideal
reality
1
2
3
4
5
time(s)
6
7
8
9
10
此规则达到稳定的时间为 6.9s,由此分析模糊规则的调整规则如
下:若想加快响应时间,增大误差和误差变化率负大区域附近的输出
语言值,并增大误差变化率零区域附近的输出语言值,可能还会引起
超调量的增大,所以只需做临近语言值之间的变化。
3.整体调节
此时将刹车与油门同时加到仿真模型中,分别做加速和减速仿
真,依据分别调节时的规律做微量调节就可以基本达到要求。
45
40
35
30
25
y
,
d
v
20
15
10
5
0
-5
0
期 望
实 际
5
10
15
20
time(s)
25
30
35
40
4.待解决问题
在调试过程中发现,油门控制(PID)过程在达到稳态时出现抖
动,并且三个参数对他的影响很小,具体原因待考证;油门控制给系
统的输入值出现大波动,每一次达到峰值持续相同时间后变为 0 再持