针对PID控制器的模糊逻辑和状态机。殴打婴儿继续

根据V. Gostev的著作“自动控制系统中的模糊控制器”,我们继续研究模糊逻辑。欣赏了响应面美丽景色之后,我们直接着手解决V. Gostev的书“自动控制系统中的模糊调节器”中的下一个问题。


本文是先前出版物的延续:


  1. 一个基于模糊逻辑的简单控制器。创建和定制。
  2. 漂亮图片中的模糊逻辑。不同隶属函数的响应面。
  3. 基于具有多通道设置的模糊逻辑创建控制器。
  4. 简单的模糊逻辑是从燃气轮机的“原形”中塑造出来的。
  5. 针对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 .

3. .
看这张图你能说什么?没关系。所有这些都是因为我们的模型已经表示为偏差的传递函数,所以我们不能说它是否快速。关于引擎,我们无话可说。正如我在“获取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 , . .


通过定相单元的输入偏差信号和偏差变化率分别分解为三个项。使用高斯隶属函数。


偏差 - 更多规范更少
变化的速度越来越多不改变下降

当出现偏差以及调节器的变化率表明偏差会增加时(即使此刻是正常的),调节器也会起作用。监管机构的基本规则:


  1. ( (0) ), .
  2. , 0.
  3. ( (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控制器

FL调节器
图18.调节器具有单独设置的瞬态过程。
这样一来,倡导性别多样性的人就不会指责我压迫传统的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. , .




FL
22. FL .


, .


, . . , , , .


, , , .


. – 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.


32. FL .


, , , . 1, 2 , .


33. , , .


33. 1 2.


, , , . . 34.



34. -.

2, , . - :



35. -.


:


FL1.26-6.35938146587023E-9
1.71 .-2.40475404943874-4


, , .


...


All Articles