Logique floue et machines d'état par rapport au contrôleur PID. Battre les bébés continue

Nous continuons à étudier la logique floue selon le livre de V. Gostev, «Fuzzy Controllers in Automatic Control Systems». Après avoir apprécié les belles vues des surfaces de réponse , nous passons directement à la résolution du problème suivant du livre de V. Gostev «Contrôleurs flous dans les systèmes de contrôle automatique».


Ce texte fait suite aux publications précédentes:


  1. Un contrôleur simple basé sur une logique floue. Création et personnalisation.
  2. Logique floue dans de belles images. Surfaces de réponse pour différentes fonctions d'appartenance.
  3. Création d'un contrôleur basé sur une logique floue avec des paramètres multicanaux.
  4. La logique floue simple est moulée «à partir de ce qui était» pour un moteur à turbine à gaz.
  5. Logique floue contre PID. Nous croisons le hérisson et le serpent. Moteur d'aéronef et algorithmes de contrôle des centrales nucléaires.


Pour ceux qui ne connaissent pas la logique floue, je vous recommande de lire d'abord le premier texte, après cela, tout ce qui est décrit ci-dessous sera simple et clair.


, - . , . , 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. .
Que pouvez-vous dire en regardant ce tableau? Ça ne fait rien. Et tout cela parce que notre modèle est déjà présenté comme une fonction de transfert dans les écarts, et nous ne pouvons pas dire s'il est rapide ou non. Nous ne pouvons rien dire sur le moteur. Comme je l'ai déjà montré dans l'article «Technologie pour obtenir des équations dynamiques de TAU. Et pourquoi l'identification du système est-elle nulle, et les règles de la «physique honnête» : la transformation d'un système physique paramétrique en une sorte de fonction de transfert ruine toute la «compréhensibilité» technique du modèle.
Par exemple, l'impact sur un modèle avec une valeur de 1000 obtenue après PID est-il possible dans la vie? Inconnue S'il s'agit d'une alimentation en carburant, il est évident que le système d'alimentation ne pourra pas entasser 1000 fois plus de carburant qu'en mode ralenti.

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


Les signaux d'écart entrants et le taux de variation de l'écart, passant par les unités de phasage, sont décomposés en trois termes chacun. Utilisation des fonctions d'appartenance de Gauss.


Déviation - plus , norme , moins .
Le taux de variation est de plus en plus , ne change pas , la chute .

Le régulateur donnera un effet lorsqu'un écart apparaît, ainsi que lorsque le taux de variation du régulateur indique que l'écart augmentera (même si pour le moment il est normal). Règles de base pour le régulateur:


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

.
, :


où:
Y t est la valeur actuelle;
Y t-1 est la valeur de l'étape précédente;
Δt = 0,001 - le pas de temps est le même que lors de l'échantillonnage d'un contrôleur PID discret.

Le circuit est représenté sur la figure 15. La division par Δt est prise en compte dans le bloc de comparaison, où les coefficients pour chaque entrée peuvent être définis.



Figure 16. Schéma de calcul du taux de variation.


Puisque l'ensemble du circuit est prêt pour nous, il reste à remplacer le contrôleur PID par le contrôleur FL (voir figure 17) et voir ce qui se passe.



Figure 17. Schéma d'un modèle avec un contrôleur flou.


Et encore une fois, à ma grande surprise, le contrôleur flou a fait mieux que le PID dans les réglages uniques initiaux. On obtient une sorte de publicité continue de logique floue.


De plus, si dans les cas précédents cela pouvait être attribué au fait que la dérivée seconde est utilisée dans le contrôleur flou, alors dans ce cas ce contrôleur flou utilise le même dérivé, et le PID utilise également la composante intégrale.


Contrôleur PID

Régulateur FL
Figure 18. Processus transitoire avec réglages individuels des régulateurs.
Pour que les partisans de la diversité des genres ne m'accusent pas d'opprimer les contrôleurs PID traditionnels, le coefficient de la composante intégrale est annulé et un contrôleur PD est obtenu. Le résultat s'est considérablement amélioré, mais FL est encore meilleur.


Figure 19. Contrôleur PD avec réglages uniques.


, 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) si l' écart est plus grand et que le taux de changement augmente et que l' accélération du changement s'accélère , alors l' effet est réduit .
2) si l' écart est normal et que le taux de changement est constant et que l' accélération du changement ne change pas , alors l' effet ne change pas .
3) si l' écart est moindre et que le taux de changement diminue et que l' accélération du changement ralentit , alors augmentation de l' impact .


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