Anda di halaman 1dari 37

Beneficios del observador c.f.

 La solución para la matriz de ganancia Lp del estimador es


trivial si las ecuaciones están en la forma canónica
observable.
 La matriz del sistema para la ecuación de error es:
  a1 1 0  l p1 
 
Φ o  L p H o   a2 0 1  l p 2 1 0 0
  a3 0 0 l p 3 
  a1 1 0  l p1 0 0   a1  l p1 1 0
   
  a2 0 1  l p 2 0 0    a2  l p 2 0 1
  a3 0 0 l p 3 0 0   a3 l p 3 0 0

Esto preserva el observador en c.f., y tiene el pol. caract.


aL  z   z 3  a1  l p1 z 2  a2  l p 2 z  a3  l p 3 


 Compare con pol. caract. deseado:  e z   z 3  1 z 2   2 z   3
Luego, por inspección: l p1  1  a1 , l p 2   2  a2 , l p 3   3  a3

23
Fórmula de Ackermann
 Otra vez, la fórmula de ackermann se puede usar
efectivamente en el proceso de:
 transformación de un sistema observable a la forma
canónica observable
 diseñar las ganancias del estimador por inspección
 transformación a los estados originales
0 
 
1 0 
L p   e Φ O

 
1

MATLAB: especificar los polos del estimador deseados, dep


>> L = acker(’, H’, dep)’
>> L = place (’, H’, dep)’

24
Ejemplo 8.4: Estimador - Doble
Integrador
G s  
1
2
,
s
0 1  0 
x t     x t     u t 
0 0  1 
y t   1 0xt 

1 T  T 2 2
xk  1    xk    u k 
0 1   T 
y k   1 0xk 

Colocar los polos del estimador en: z = 0.4 ± j0.4, de modo que  = 0.6 y n
es casi tres veces más rápido que los polos seleccionados para el control
Digital Control of Dynamic Systems. Third Edition. Capítulo 8.
Franklin, Powell & Workman 25
Ecuación Característica deseada: z 2  0.8 z  0.32  0

Ecuación Característica de la ecuación de error del estimador:lazo cerrado:

zI  Φ  L P H  0

1 0 1 T   l p1 
z      1 0  0
0 1 0 1  l p 2 

z 2  l p1  2 z  Tl p 2  1  l p1  0
l p1  2  0.8
Tl p 2  1  l p1  0.32

Para T = 0.1 seg.


0.52
l p1  1.2, l p 2   5.2
T
26
El algoritmo del estimador con el Lp calculado se codifican en
el computador como:

xˆ k  1  Φxˆ k   Γu k   L p  y k   Hxˆ k 

xˆ1 k  1  xˆ1 k   0.1xˆ2 k   0.005u k   1.2 y k   xˆ1 k 


xˆ2 k  1  xˆ2 k   0.1u k   5.2 y k   xˆ1 k 

 y k 

xˆ k  1  Φ  L p H xˆ k   L p Γ 
u k 

 0.2 0.1 1.2 0.005  y k 


xˆ k  1    xˆ k     u k 
  5.2 1  5.2 0 . 1  

27
28
29
30
Selección de polos de lazo cerrado

 En principio, podemos colocar los polos de lazo cerrado


(CLPs) “arbitrariamente”
 Pero: ¿es práctico hacer a un camión igual a un auto de
carrera?
 Mientras mas acerquemos los polos al origen del plano z,
mayor será el esfuerzo de control requerido
 ¿a expensas de qué?
 ¿saturación en el actuador?
 ¿dureza del componente?
 Sí un OLP es cercanamente cancelado por un cero de
lazo abierto (OLZ), ese modo será incontrolable
 bdi  0
 requerira mayor ganancia de control ( y esfuerzo) para mover los
polos

31
Técnicas Básicas

 Diseño por polos dominantes


 Probar hacer un sistema CL “semejante” a un sistema
simple de orden 2

 Diseño por prototipo


 Seleccionar todos los CLPs para corresponder a
patrones estándar de filtros

32
Diseño por Polos Dominantes

 Observar que el sistema CL se comporte al igual que un


simple sistema de segundo orden
 n2
G s   2
s  2 n s   n2

 Luego, seleccionar un par de polos “dominantes” basado


en relaciones bien conocidas entre  y n y las medidas de
desempeño tales como:
 Tiempo de subida,
 Sobreimpulso,
 Tiempo de establecimiento, etc.

33
Diseño por Prototipo

 Seleccionar tipos de filtros estándar con características de


respuestas deseables.
 Ubicaciones de polos para filtros de ordenes diferentes se
tabulan; las respuestas son conocidas. Por ejemplo:
 Función de transferencia ITAE
 Minimizar el error absoluto, con penalidad sobre errores que se
incrementan con el tiempo
 Función de costo para la Integral Time by Absolute Error:

J   t e dt
0

 Filtro Bessel
 TF = 1/ Bn(s) donde Bn(s) es el polinomio de Bessel de grado n

34
Prototipo Bessel - Respuesta al escalón

Respuesta al Escalón, Gp Respuesta al escalón de Gp para varios k

Tiempo (s)

35
Prototipo Bessel - Polos normalizados

Localización de polos de Bk(s)

Todos los polos son normalizados para un tiempo de establecimiento, Ts de 1


segundo, para otro valor de Ts deberá dividir los polos por el nuevo Ts

36
Prototipo ITAE - Respuesta al escalón

1.4

1.2

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8

37
Prototipo ITAE – Polos normalizados

Graham y Lathrop (1953)  t e dt


0
where e(t )  r (t )  c(t )

p1=[-1]
p2 = [-0.7071+I*0.7071,-0.7071-I*0.7071]

p3 =[ -.7071;-.5210+i*1.068;-.5210-i*1.068]

p4=[-.4240+i*1.2630;-.4240-i*1.2630 ;-.6260+i*.4141;-
.6260-i*.4141] ;

p5 = [ -0.3764 + 1.2920i, -0.3764 - 1.2920i,


-0.8955, -0.5758 + 0.5339i, -0.5758 - 0.5339i]

p6 = [ -0.3099 + 1.2634i, -0.3099 - 1.2634i


-0.5805 + 0.7828i, -0.5805 - 0.7828i
-0.7346 + 0.2873i, -0.7346 - 0.2873i]

Frecuencia de cruce por cero 1 rad/seg

38
Métodos de Diseño en
Espacio - Estado

Diseño de Sistemas de Seguimiento

39
Tracking (servo) systems
Trataremos el problema de regulación:

Planta H

Esta no es una estructura de realimentación unitaria


Por lo tanto existirá un error en estado estable en respuesta
a una entrada de referencia r no cero
i.e., Gry 1  dcgain  1
40
Reescalando la entrada
Una solución simple en lazo abierto es reescalar la
entrada de referencia r por N  1 Gry 1

Planta H

Entonces Gry 1  1


- considerando que los parámetros de la planta no cambian!

Esta no es una solución robusta

41
Generación de estados de referencia
Una estructura más general puede tomar ventaja del comportamiento
de algunos sistemas realimentados de “Tipo 1”

Planta H

Nx convierte la entrada de referencia r (el valor deseado de la


salida y) en los valores deseados de los estados
Nu permite una entrada de control en estado estable para el equilibrio
Sí el sistema es de Tipo 1 o mayor, Nu = 0

42
Análisis
Los valores en estado estable de los estados y de la señal de
control deberán ser escalados con la entrada:
x ss  N x rss
u ss  N u rss
Esto sugiere una estructura general para introducir la
entrada de referencia: u  N u r  K x  N x r 
Luego, en estado estable:
u  N u rss  K x ss  N x rss   u ss  K 0   u ss

Podríamos implementar este control como


u   N u  KN x r  Kx  N r  Kx
Esto es la solución en lazo abierto

43
¿Cómo calcular la ganancias de
escalamiento?
xk  1  Φxk   Γu k 
Las ecuaciones de la planta son:
y k   Hxk   Ju k 

En estado estable: x ss  Φx ss  Γu ss
yss  Hx ss  Ju ss

En una sola ecuación: Φ  I Γ  x ss   0 


 H     
 J  u ss   y ss 

Requerimos: x ss  N x rss y yss  rss


u ss  N u rss
1
Por lo tanto: Φ  I Γ  N x   0 De modo que N x   Φ  I Γ  0
 H       H J  1
 J   N u  1  u 
N 44  
Tracking de sistemas con estimación de
estado
La misma estructura, pero el estimador deberá ver la
entrada actual de la planta

Planta

Estimador

45
Control integral
Cuando el sistema es Tipo 0, la ganancia feedforward Nu es la
inversa de la ganancia de la planta
- esto no es robusto (la ganancia de la planta puede variar)
- y no considera disturbios constantes a la planta
Control integral se puede usar para sobre llevar este defecto, y
evitar el uso de la ganancia feedforward
Estado aumentado: xI k  1  xI k   y k   r k 
añade el estado del integrador xI  x k   Hxk   r k 
I

Aumenta el modelo  xI k  1 1 H   xI k   1 0   r k 


 xk  1   0 Φ   xk     0 Γ  u k 
de la planta:        

Ley de control para realimentación     xI k 


u k   K I K    KN x r k 
de todos los estados:  xk  

46
Control integral con realimentación de
todos los estados
Integrador

Planta
z 1 H

47
Ejemplo

 
My  y  d b   y  d k  u
 
md  d  y b  d  y k  0

48
M = 1kg, m = 0.1 kg., b = 0.0036 N-sec/m y k = 0.091 N/m


x  d d y y
T

 0 1 0 0 
 0.91  0.036 0.91 0.036 
F  , G  1 0 0 0 sysC=ss(F,G,H,J)
 0 0 0 1 
  sysD=c2d(sysC,T, ‘zoh’)
 0.091 0.0036  0.091  0.0036
0 
0 
H   , J  0
0 
 
1

  0.02 ,  n  1 rad / s y  s  15 n  15 rad / s

Ubicar los polos (z = 0.9 ± j0.05, 0.8 ± j0.4),


pero con un polo adicional en z = 0.85 (por decir)

49
Implementación en Matlab:
ganancias de control
Gp = ss(A, B, C, D,); % modelo continuo de la planta
Gpd = c2d(Gp, T); % Modelo discreto
Phi = Gpd.a; Gam = Gpd.b; La entrada externa no
[n, n] = size(Phi); % no. estados es parte de la realimen-
tación de estado
 xI k  1 1 H   xI k   0   1
 xk  1   0 Φ   xk    Γ u k    0  r k 
        
% Estado aumentado con integrador de salida
Phia = [1 H; zeros(n,1) Phi]; Gama = [0; Gam];
z1 = 0.85; z2 = 0.9+j*0.05; z3 = 0.8+j*0.4;
dclz = [z1; z2; conj(z2); z3; conj(z3)];
K = acker(Phia, Gama, dclz);
K =
50
KI=K(1) 0.0164 -0.4986 0.0387 0.8778 1.2729
Implementación en Matlab: ganancias
de control

1
N x  Φ  I Γ  0
N    H J  1
 u    

Nxu = [Phi - eye(n) Gam; C D]\[zeros(n,1); 1];


Nx = Nxu(1:n); Nu = Nxu(n+1);

51
Implementación en Matlab: sistema
en lazo cerrado
Gpda = augstate(Gpd); % añadir estados a la salida para realimentación
Gc1 = [zpk([],[1],K(1),T), ss([],[],[],K(2:5),T)];
GcGp = Gpda * Gc1;
Gcl1 = feedback(GcGp, eye(n+1)); u k   K K  xI k   KN r k 
I  xk   x
Gc2 = [1; ss([],[],[],Nx, T)];  
Gcl = Gcl1 * Gc2;
Gcl = Gcl([2 4],:); % obtener d e y como salidas

52
Respuesta al escalón step(Gcl)

S tep Res pons e

From: U(1)
1.5
To: d (s tates )

0.5
Sistema de tiempo discreto
graficado con línea continua
A m plitude

1.5
de pasos escalonados
To: y (s tates )

0.5

0
0 2 4 6 8 10 12 14 16 18 20

Tim e (s ec .)

53
Implementación en Simulink: sistema
de lazo cerrado

54
Control integral
Response to step command r and process disturbance w
2
d
D ispl d, y (m)

1.5 y

0.5
0.25 N disturbio del proceso en t = 15 segundos

0
0 5 10 15 20 25 30 35 40
Time (s)
0.4

0.2
Force u (N)

-0.2

-0.4
0 5 10 15 20 25 30 35 40
Time (s)

Esfuerzo de control
constante para
55
sobrellevar el disturbio
Control integral con estimación de estados

  H Lp

Ejemplo: Estructura flexible


- Ubicar los polos como antes (z = 0.85, 0.9 ± j0.05, 0.8 ± j0.4)
- polos del estimador predictivo cinco veces más rápido que

56
Implementación en Matlab:
ley de control y estimador
K = acker(Phia, Gama, dclz); % Control gains as before
% Prediction estimator observing d
%(estimate plant states only)
% Place estimator poles 5 times as fast as ctrl poles
dcls = 1/T*log(dclz(2:5)); deps = 5*dcls; % s-plane
depz = exp(T*deps); % z-plane
Lp = place(Phi', C', depz)';
% Function estim implements a prediction estimator:

sensors = [1]; known = [1];


Hest = estim(Gpd, Lp, sensors, known );
Hest = Hest(2:n+1,:); % Suppress yhat output
57
Implementación en Simulink: sistema
de lazo cerrado

58
Control integral con estimación de
estado Response to step command r and process disturbance w
4
D isplacement d (m)

1
0.25 N disturbio del proceso en t = 15 segundos
0
0 5 10 15 20 25 30 35 40
Time (s)
0.5
Force u (N)

-0.5
0 5 10 15 20 25 30 35 40
Time (s)
Esfuerzo de control
constante para
59
sobrellevar el disturbio

Anda mungkin juga menyukai