根据V. Gostev的著作“自动控制系统中的模糊控制器”,我们继续研究模糊逻辑。在欣赏了响应面的美丽景色之后,我们直接着手解决V. Gostev的书“自动控制系统中的模糊调节器”中的下一个问题。
本文是先前出版物的延续:
- 一个基于模糊逻辑的简单控制器。创建和定制。
- 漂亮图片中的模糊逻辑。不同隶属函数的响应面。
- 基于具有多通道设置的模糊逻辑创建控制器。
- 简单的模糊逻辑是从燃气轮机的“原形”中塑造出来的。
- 针对PID的模糊逻辑。我们越过刺猬和蛇。飞机发动机和NPP控制算法。

对于那些不熟悉模糊逻辑的人,我建议您首先阅读第一篇文章,然后,下面描述的所有内容将变得简单明了。
, - . , . , Fuzzy. , , . , , , , .
, , , .
– -, (). , , « . »
, , , 1 ( ).

1. .
.
. 1 . , . – , .
: – , – . , 0.009 .
, -.
, 2. – 20, (- «as is» .. ).

2. .
- 0.001 0.001.
- 1,1,1 . 3.
, , 1 1000, 0,001. , . , -1 1 , 0 7 .
看这张图你能说什么?没关系。所有这些都是因为我们的模型已经表示为偏差的传递函数,所以我们不能说它是否快速。关于引擎,我们无话可说。正如我在“获取TAU动力学方程的技术”一文中已经展示的那样。以及为什么系统识别很烂,并且“诚实的物理学”规则:将参数物理系统转换为一种传递函数会破坏模型的整个工程“可理解性”。例如,在寿命中可能会对PID值达到1000的模型产生影响吗?未知如果这是燃料供应,那么很明显,供应系统将无法装载比怠速模式下多1000倍的燃料。, 10, -10. . , . :

4. .
, , ( 5). 1000, , 10.

5. .
.
C . 0

6. .
7.
7. ... :
— – , 0.009.
— .
«-3» . , , , — .
« » .
, , . , .
, « » , , .. .
, , . , .
, . , , , .
8.

8. .
. , , . p, Ki, Kd (. . 7 . 8). -. (. 10.)

9. .

10. -.
:
Kp = 13.142
Ki = 0.313
Kd = 1.779
0.72 . 11.

11. -.
, .
1 , . .
通过定相单元的输入偏差信号和偏差变化率分别分解为三个项。使用高斯隶属函数。
偏差 - 更多,规范,更少。变化的速度是越来越多,不改变,下降。当出现偏差以及调节器的变化率表明偏差会增加时(即使此刻是正常的),调节器也会起作用。监管机构的基本规则:
- ( (0) ), .
- , 0.
- ( (0) ), .
, , 12.

12. Fuzzy Logic.
. , 0, . :
- uMax_1 – ;
- deltaMax_1 – ;
- divMax_1 – .
– . 13.

13. .
(–uMax_1… uMax_1) [–uMax_1 ,0, uMax_1], , 2. (. , ).
, :
14. ..
, :
其中:Y t是当前值;Y t-1是上一步的值;Δt= 0.001-时间步长与对离散PID控制器进行采样时相同。该电路如图15所示。在比较模块中考虑了Δt的除法,在该模块中可以设置每个输入的系数。

图16.计算变化率的方案。
由于整个电路已经为我们准备好了,因此仍然有必要用FL控制器替换PID控制器(参见图17),然后看看会发生什么。

图17.具有一个模糊控制器的模型图。
同样,令我惊讶的是,在初始单个设置中,模糊控制器的性能优于PID。获得了某种模糊逻辑的连续广告。
此外,如果在以前的情况下可以归因于在模糊控制器中使用了二阶导数,那么在这种情况下,该模糊控制器使用相同的导数,而PID也使用积分分量。
这样一来,倡导性别多样性的人就不会指责我压迫传统的PID调节器,将积分部分的系数作零,并获得PD调节器。结果已显着改善,但FL仍然更好。
图19.具有单个设置的PD控制器。
, 0.009. :
– 11.25 .
— 5.25 .
FL – 4.74 .
FL
, - (. 6). :
— uMax_1 – ;
— deltaMax_1 – ;
— divMax_1 – .
1. .
, .

20. .
, , .
. .
21. .0.24
[]: « = [31.10359, 1.0219553, 2.165446], = [1.24, 0.09879439]» Macro4.OptimizeBlock6
0.23 .
[]: « = [34.954824, 1.0114662, 0.058949452], = [1.23, 0.098544697]» Macro4.OptimizeBlock6
FL 22. , .
, .
, . . , , , .
, , , .
. – SimInTech, - , .
. . – FL1, — FL2. , 23:

23. .
, , – , .
, .
, , , , . .
, , , «1 », , 0.001 ( ). . — .
, , , (), . , , 1000 , 1 000 000 . . . 24.

24. .
: , 0.009. , , .
FL1, . , u_FL. , , .

25. 1.
– , 1 , 0.009.
26. 2.( .. ). 24.
, , u_FL FL1, FL2 .
. , . , . , , .
– , , .
– , , .
— , , .
, :
1)如果 偏差 更大 并且 变化率 增加 并且 变化的 加速度加快,则效果会 降低。2)如果 偏差 是正常的, 并且 变化率是 恒定的, 并且变化的加速度不变,则效果 不变。3)如果 偏差 较小 并且 变化率 降低 并且 变化加速度减慢,则 影响 增加。
27. FL2.
N , , 0, .
:
— uMax_2 – ;
— deltaMax_2 – ;
— divMax_2 – ;
— div2Max_2 – .
1 (. . 28)
1 , - , , 1 (. . 18 — 19) – , . . (. . 28)

28. .
: , . 29, – 30.

29. .

30. .
, . , . , .
, . .
:
sign, -1,0,1 , « », 1 . , , .
, .
, , 1.2 , .

31. ee.
:
[]: « = [16.564415, 0.0027674129, 0.19085771, 50], = [0.0047956855, 11]» Macro5.OptimizeBlock6
, :
— uMax_2 – = 16.564;
— deltaMax_2 – = 0.00277;
— divMax_2 – = 0.191;
— div2Max_2 – = 50.
32.
, , , . 1, 2 , .
33. , , .
33. 1 2.
, , , . . 34.

34. -.
2, , . - :

35. -.
:
, , .
...