Lógica difusa y máquinas de estado contra el controlador PID. Golpear a los bebés continúa

Continuamos estudiando la lógica difusa según el libro de V. Gostev, "Controladores difusos en sistemas de control automático". Después de disfrutar de las hermosas vistas de las superficies de respuesta , procedemos directamente a la solución del siguiente problema del libro de V. Gostev "Controladores difusos en sistemas de control automático".


Este texto es una continuación de publicaciones anteriores:


  1. Un controlador simple basado en lógica difusa. Creación y personalización.
  2. Lógica difusa en bellas imágenes. Superficies de respuesta para diferentes funciones de membresía.
  3. Crear un controlador basado en lógica difusa con configuraciones multicanal.
  4. La lógica difusa simple se moldea "de lo que era" para un motor de turbina de gas.
  5. Lógica difusa contra PID. Cruzamos el erizo y la serpiente. Motor de aeronave y algoritmos de control de NPP.


Para aquellos que no están familiarizados con la lógica difusa, les recomiendo que primero lean el primer texto, después de eso, todo lo que se describe a continuación será simple y claro.


, - . , . , 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. .
¿Qué puedes decir mirando este cuadro? No importa. Y todo porque nuestro modelo ya se presenta como una función de transferencia en las desviaciones, y no podemos decir si es rápido o no. No podemos decir nada sobre el motor. Como ya he mostrado en el artículo “Tecnología para obtener ecuaciones dinámicas de TAU. Y por qué la identificación del sistema es una mierda, y las reglas de "física honesta" : la transformación de un sistema físico paramétrico en un tipo de función de transferencia arruina toda la "comprensibilidad" de ingeniería del modelo.
Por ejemplo, ¿es posible el impacto en un modelo con un valor de 1000 obtenido después de PID en la vida? Desconocido Si se trata de un suministro de combustible, es obvio que el sistema de suministro no podrá acumular 1000 veces más combustible que en modo inactivo.

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


Las señales de desviación entrantes y la tasa de variación de la desviación, que pasa a través de las unidades de fase, se descomponen en tres términos cada una. Uso de las funciones de membresía de Gauss.


Desviación : más , norma , menos .
La tasa de cambio está creciendo , no cambiando , cayendo .

El regulador dará efecto cuando aparezca una desviación, y también cuando la tasa de cambio del regulador indique que la desviación aumentará (incluso si en este momento es normal). Reglas básicas para el regulador:


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

.
, :


donde:
Y t es el valor actual;
Y t-1 es el valor en el paso anterior;
Δt = 0.001 - el paso de tiempo es el mismo que cuando se muestrea un controlador PID discreto.

El circuito se muestra en la Figura 15. La división por Δt se tiene en cuenta en el bloque de comparación, donde se pueden establecer los coeficientes para cada entrada.



Figura 16. Esquema para calcular la tasa de cambio.


Como todo el circuito está listo para nosotros, queda por reemplazar el controlador PID con el controlador FL (ver Figura 17) y ver qué sucede.



Figura 17. Diagrama de un modelo con un controlador difuso.


Y nuevamente, para mi gran sorpresa, el controlador difuso funcionó mejor que el PID en la configuración individual inicial. Se obtiene algún tipo de publicidad continua de lógica difusa.


Además, si en casos anteriores podría atribuirse al hecho de que la segunda derivada se usa en el controlador difuso, entonces en este caso este controlador difuso usa la misma derivada, y el PID también usa el componente integral.


Controlador PID

Regulador FL
Figura 18. Proceso transitorio con ajustes individuales de reguladores.
Para que los defensores de la diversidad de género no me acusen de oprimir los controladores PID tradicionales, el coeficiente del componente integral se anula y se obtiene un controlador PD. El resultado ha mejorado significativamente, pero FL es aún mejor.


Figura 19. Controlador PD con configuraciones individuales.


, 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 la desviación es mayor y la tasa de cambio aumenta y la aceleración del cambio se acelera , entonces el efecto se reduce .
2) si la desviación es normal y la tasa de cambio es constante y la aceleración del cambio no cambia , entonces el efecto no cambia .
3) si la desviación es menor y la tasa de cambio disminuye y la aceleración del cambio disminuye , entonces impacto aumento .


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