Expert PID

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

Control PID Experto

Control basado en aprendizaje de máquina

Douglas A. Plaza Guingla, Ph.D.

Faculty of Electrical and Computing Engineering (FIEC)


Escuela Superior Politécnica del Litoral (ESPOL)

December 3, 2022

douplaza@espol.edu.ec Machine Learning Control-MACI 10 1 / 27


Outline

1 Sistemas discretos y PID discreto


Sistema de segundo orden
PID discreto
Implementación del PID discreto

2 Sistema PID Experto


Introducción
Algoritmo PID experto
Implementación del PID experto

douplaza@espol.edu.ec Machine Learning Control-MACI 10 2 / 27


Outline

1 Sistemas discretos y PID discreto


Sistema de segundo orden
PID discreto
Implementación del PID discreto

2 Sistema PID Experto


Introducción
Algoritmo PID experto
Implementación del PID experto

douplaza@espol.edu.ec Machine Learning Control-MACI 10 3 / 27


Ejemplo con planta de 2do orden

Vamos a tomar como ejemplo una planta caraceterizada por un segundo orden
en conjunto con un integrador.

523500
Gp (s) = .
s(s2 + 87.35s2 + 10470)

Para el cálculo del error deberemos discretizar la función de transferencia


Gp (s).

Discretización en Matlab
c2d(): transforma la función de transferencia continua (en el dominio de
"s") a discreto (en el dominio de "z").
tfdata():Se obtienen los coeficientes del polinomio del numerador y del
denominador.

douplaza@espol.edu.ec Machine Learning Control-MACI 10 4 / 27


Implementación del modelo de la planta

La discretización e implementación del modelo discreto se presenta a


continuación:

ts=0.001;
sys=tf(5.235e005,[1,87.35,1.047e004,0]); %Plant
dsys=c2d(sys,ts,'z');
[num,den]=tfdata(dsys,'v');
u_1=1;u_2=1;u_3=1;u_4=1;
y_1=0;y_2=0;y_3=0;
for k=1:1:500
time(k)=k*ts;
y(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(1)*u_1+...
num(2)*u_2+num(3)*u_3+num(4)*u_4;
y_3=y_2;y_2=y_1;y_1=y(k);
end
stairs(time,y,'linewidth',2)

douplaza@espol.edu.ec Machine Learning Control-MACI 10 5 / 27


Gráfica de la salida en lazo abierto
La gráfica muestra el comportamiento de la variable de salida yk

douplaza@espol.edu.ec Machine Learning Control-MACI 10 6 / 27


Outline

1 Sistemas discretos y PID discreto


Sistema de segundo orden
PID discreto
Implementación del PID discreto

2 Sistema PID Experto


Introducción
Algoritmo PID experto
Implementación del PID experto

douplaza@espol.edu.ec Machine Learning Control-MACI 10 7 / 27


Controlador PID discreto
Dado la estuctura de un controlador PID ideal:
Z t
de(t )
u (t ) = kp e(t ) + ki e(t )d (t ) + kd .
0 dt

La discretización directa está dada por:

k
ek − ek −1
uk = kp ek + ki ∑ ei Ts + kd
i =0 Ts
" #
k −1
ek − ek −1
uk = kp ek + ki ∑ ei Ts + ek Ts + kd
i =0 Ts

donde:
k : índice de tiempo discreto. k = {0, 1, 2, 3, 4, . . .}
Ts : tiempo de muestreo.
vector de tiempo discreto: TimeVector = {k0 Ts , k1 Ts , k2 Ts , k3 Ts , . . .}

douplaza@espol.edu.ec Machine Learning Control-MACI 10 8 / 27


Outline

1 Sistemas discretos y PID discreto


Sistema de segundo orden
PID discreto
Implementación del PID discreto

2 Sistema PID Experto


Introducción
Algoritmo PID experto
Implementación del PID experto

douplaza@espol.edu.ec Machine Learning Control-MACI 10 9 / 27


PID discreto
El controlador PID discreto se presenta a continuación:

ei=0;
kp=0.96;ki=0.03;kd=0.01;
error_1=0;
for k=1:1:200
time(k)=k*ts;
yd(k)=1.0;
y(k)=-den(2)*y_1-den(3)*y_2-den(4)*y_3+num(1)*u_1+...
num(2)*u_2+num(3)*u_3+num(4)*u_4;
error(k)=yd(k)-y(k);% Calculating P
derror(k)=error(k)-error_1;% Calculating D
ei=ei+error(k)*ts;
u(k)=kp*error(k)+kd*derror(k)/ts+ki*ei; %PID Controller
u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);
y_3=y_2;y_2=y_1;y_1=y(k);
error_1=error(k);
end

douplaza@espol.edu.ec Machine Learning Control-MACI 10 10 / 27


Gráfica de la salida controlada
La gráfica muestra el comportamiento de la variable controlada yk :

douplaza@espol.edu.ec Machine Learning Control-MACI 10 11 / 27


Gráfica del error
La gráfica muestra el comportamiento del error ek = yd − yk :

douplaza@espol.edu.ec Machine Learning Control-MACI 10 12 / 27


Gráfica del esfuerzo del controlador
La gráfica muestra el comportamiento del esfuerzo del controlador PID
discreto uk :

douplaza@espol.edu.ec Machine Learning Control-MACI 10 13 / 27


Outline

1 Sistemas discretos y PID discreto


Sistema de segundo orden
PID discreto
Implementación del PID discreto

2 Sistema PID Experto


Introducción
Algoritmo PID experto
Implementación del PID experto

douplaza@espol.edu.ec Machine Learning Control-MACI 10 14 / 27


Control PID experto (Ajuste fino)
Definición
El control PID experto está basado en el controlador PID tradicional. La parte
experta radica en un conjunto de reglas de ajuste de las ganancias del
controlador PID. Estas reglas serán definidas considerando el comportamiento
del proceso mediante el conocimiento de un operador experto en el
funcionamiento del sistema.

Consideraciones:
Generalmente la experiencia del experto coincide con el comportamiento
del error de la respuesta en lazo cerrado. Sobretodo durante el transiente.
Para modificar el valor de las ganancias es necesario poder realizar
modificaciones durante la corrida del algoritmo de control. (Algoritmo
implementado en tiempo discreto).
Experience is important in PID tuning:
https://www.controleng.com/articles/
learning-pid-loop-tuning-from-an-expert/
douplaza@espol.edu.ec Machine Learning Control-MACI 10 15 / 27
Comportamiento del error en lazo cerrado para un sistema
de segundo orden
La gráfica muestra el comportamiento del error típico en un sistema de
segundo orden:

De la gráfica observamos que el valor absoluto del error tiende a disminuir para
las secciones:I,III,V,...(Ajuste suave) y aumenta para: II,IV,VI,...(Ajuste fuerte).
douplaza@espol.edu.ec Machine Learning Control-MACI 10 16 / 27
Outline

1 Sistemas discretos y PID discreto


Sistema de segundo orden
PID discreto
Implementación del PID discreto

2 Sistema PID Experto


Introducción
Algoritmo PID experto
Implementación del PID experto

douplaza@espol.edu.ec Machine Learning Control-MACI 10 17 / 27


Algoritmo PID experto
Considerando el cálculo previo de la variable manipulada u (t ) mediante un
PID tradicional procedemos con los siguientes pasos:

Algoritmo PID experto


1 Si el valor absoluto del error es considerable entonces debemos ajustar
directa (open-loop control) y agresivamente a u (t ). Tomar en
consideración el valor máximo de u (t ).
2 Si el error tiende a crecer o experimenta los valores picos entonces
ajustar las ganancias de un controlador PID en aras de reducir el error de
manera rápida.
3 Si el error tiende a decrecer o es cero entonces sostener a la señal de
control u (t ).
4 Si el error aumenta y la pendiente del error experimenta cambios de signo
(valores pico) entonces ajustar la ganancia proporcional del error.
5 Si el error experimenta valores muy pequeños (posiblemente constante)
entonces remover el error ajustando ganancias de un controlador PI.

douplaza@espol.edu.ec Machine Learning Control-MACI 10 18 / 27


Outline

1 Sistemas discretos y PID discreto


Sistema de segundo orden
PID discreto
Implementación del PID discreto

2 Sistema PID Experto


Introducción
Algoritmo PID experto
Implementación del PID experto

douplaza@espol.edu.ec Machine Learning Control-MACI 10 19 / 27


PID experto Regla No 1

Cuando |ek | > L1 , asignar directamente un valor a uk que haga disminuir el


error. El valor de L1 y el valor asignar a uk depende del conocimiento experto.

%Expert control rule


if abs(error(k))>0.8 %Rule1:Unclosed control rule
u(k)=0.45;
elseif abs(error(k))>0.40
u(k)=0.40;
elseif abs(error(k))>0.20
u(k)=0.12;
elseif abs(error(k))>0.01
u(k)=0.10;
end

douplaza@espol.edu.ec Machine Learning Control-MACI 10 20 / 27


PID experto Regla No 2

Considerando que ∆ek = ek − ek −1 y ∆ek −1 = ek −1 − ek −2 tenemos la


segunda regla:
Si ek ∆ek > 0 o ∆ek = 0 entonces:
Si |ek | ≥ L2 necesitamos una correción fuerte (PID, PI, P)
Si |ek | < L2 la correción es suave (PID, PI, P)
Implementación en Matlab

if error(k)*derror(k)>0|(derror(k)==0) %Rule2
if abs(error(k))>=0.05
u(k)=u_1+2*kp*error(k);
else
u(k)=u_1+0.4*kp*error(k);
end
end

douplaza@espol.edu.ec Machine Learning Control-MACI 10 21 / 27


PID experto Regla No 3

Si ek ∆ek < 0 y ∆ek ∆ek −1 o ek = 0 entonces:

uk = uk .

Implementación en Matlab

if (error(k)*derror(k)<0&derror(k)*derror_1>0)|(error(k)==0)%Rule3
u(k)=u(k);
end

douplaza@espol.edu.ec Machine Learning Control-MACI 10 22 / 27


PID experto: Regla No 4

Si ek ∆ek < 0 y ∆ek ∆ek −1 < 0 entonces:


Si |ek | ≥ L2 necesitamos una correción fuerte (PID, PI, P)
Si |ek | < L2 la correción es suave (PID, PI, P)
Implementación en Matlab

if error(k)*derror(k)<0&derror(k)*derror_1<0 %Rule4
if abs(error(k))>=0.05
u(k)=u_1+2*kp*error(k);
else
u(k)=u_1+0.6*kp*error(k);
end
end

douplaza@espol.edu.ec Machine Learning Control-MACI 10 23 / 27


PID experto: Regla No 5

Si |ek | ≤ ε entonces aplicar un controlador PI para disminuir el error estático.


Implementación en Matlab

if abs(error(k))<=0.001 %Rule5:Integration separation PI control


u(k)=0.5*error(k)+0.010*ei;
end

douplaza@espol.edu.ec Machine Learning Control-MACI 10 24 / 27


Gráfica de la salida controlada
La gráfica muestra el comportamiento de la variable controlada yk :

douplaza@espol.edu.ec Machine Learning Control-MACI 10 25 / 27


Gráfica del error
La gráfica muestra el comportamiento del error ek = yd − yk :

douplaza@espol.edu.ec Machine Learning Control-MACI 10 26 / 27


Gráfica del esfuerzo del controlador
La gráfica muestra el comportamiento del esfuerzo del controlador experto uk :

douplaza@espol.edu.ec Machine Learning Control-MACI 10 27 / 27

También podría gustarte