Reporte #4 - Diseño de Controladores Por Retroalimen

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

Reporte 4.

Diseño de controladores por retroalimentación de


estado
Carlos A. Villalobos Aranda
Universidad Autónoma de Baja California
Facultad de Ingenierı́a
Blvd. Benito Juárez S/N, Mexicali, B.C.
29 de mayo de 2020

Resumen
En el presente trabajo se abordó el tema de control por retroalimentación lineal de estados
para sistemas lineales invariantes en el tiempo. Primeramente se realizó un resumen de los
conceptos teóricos y técnicas que permiten el diseño de controladores de estado, tal que
aborda desde los principios de controlabilidad, observabilidad y las técnicas de control para
resolver los problemas de estabilización, regulación y seguimiento de trayectorias. Posterior
a ello se aborda el diseño de observadores de estado, esto debido a que normalmente en
la práctica no se cuenta con la medición completa del estado. Y finalmente se presenta
la aplicación de un algoritmo de control con un observador de estado incorporado a un
mecanismo X-Y, donde haciendo uso de los programas Matlab y LabView se simula el
comportamiento en lazo cerrado para cada uno de los objetivos de control.

1. Introducción
Existe una gran diversidad de sistemas dinámicos, donde gran parte de ellos son creados por el
hombre, cada uno de estos sistemas dinámicos poseen comportamientos diferentes que los hacen
únicos, sin embargo poseen ciertas caracterı́sticas que los hacen similares entre si, lo cual es de
utilidad si se desea controlar algún sistema dinámico en particular. Para la realización de un al-
goritmo de control que permita que la salida del sistema converja a un valor de referencia deseado
es necesario primero entender la planta sobre la cual se trabaja, determinar si es controlable en
todos sus estados o de manera parcial en solo alguno de ellos y conocer de primera mano si dicho
sistema puede ser observable. Este análisis es primordial para entender el sistema y diseñar un
controlador para el sistema más eficientemente, es ahı́ donde fı́sicamente puede darse también el
caso de no contar con la instrumentación suficiente para la medición completa de los estados, por
lo que además de implementar un controlador para el sistema también es necesario implementar
un observador de estado que permita estimar aquellas señales que no pueden ser medibles direc-
tamente. En el presente trabajo realizado se aborda el tema de control por retroalimentación de
estado para sistemas lineales e invariantes en el tiempo, donde en primer lugar se resumen los
conceptos y técnicas especializadas para ello, dando lugar desde los principios de controlabilidad
y observabilidad hasta las técnicas de control para resolver los problemas de estabilización, regu-
lación y seguimiento de trayectorias. Además se aborda el diseño de observadores de Luenberger
de estado de orden completo y su implementación en un sistema en lazo cerrado. Posterior a
ello se muestra la aplicación de un control por retroalimentación de estado con un observador
de estado incorporado a un sistema mecánico tipo X-Y, el cual fue simulado haciendo uso de los
programas Matlab y LabView para cada uno de los objetivos de control.

1
2. Controlabilidad para sistemas lineales e invariantes en
el tiempo
Dentro del análisis de un sistema dinámico para entender su comportamiento, es importante
tener en cuenta si dicho sistema es controlable si se desea controlar a éste, ya que de no ser ese
el caso entonces no podrá ser posible la implementación de un algoritmo de control para dicho
sistema. Sea el sistema lineal e invariante en el tiempo de n dimensiones:

ẋ = Ax(t) + Bu(t) (1)

la controlabilidad para este tipo de sistemas se define como:

P = B AB A2 B · · · An−1 B
 
(2)

donde P es la matriz de controlabilidad, la cual dicta que el sistema es controlable si y solo si


dicha matriz es de rango máximo, es decir de rango n.

Este resultado puede ser probado formalmente, tal que:


Z t1
x(t1 ) = eA(t1 −τ ) Bu(τ )dτ (3)
t0

donde la parte exponencial puede ser representada en términos de serie de Taylor, que al ser
sustituido tiene la forma:
Z t1 Z t1 Z t1
(t1 − τ )2
x(t1 ) = B u(τ )dτ + AB (t1 − τ )u(τ )dτ + A2 B u(τ )dτ + · · · (4)
t0 t0 t0 2!

Ahora bien, la secuencia tiene un limite, en donde solo sera de n términos si la matriz A es de
rango n, esto quiere decir que la matriz de controlabilidad P tendrá las dimensiones m en donde
cada columna representa un subespacio linealmente independiente, por lo que puede ser dividido
en subespacios donde cada matriz de controlabilidad Pn−1 representa un subespacio de estado
del sistema. Puede darse el caso de que existan subespacios no controlables, mientras que otros
subespacios si, por lo que el sistema se considera parcialmente controlable si y solo si el subespacio
no controlable es estabilizable, donde solo se actúa sobre la parte controlable del sistema [1].

3. Observabilidad para sistemas lineales e invariantes en el


tiempo
Durante la implementación de un algoritmo de control, en la práctica es común que no se
cuente con la instrumentación necesaria para la medición del estado completo, por lo que se
involucra en la necesidad de hacer uso de un observador de estado para ello. Cabe mencionar
que una primera instancia para ello es saber si el sistema es controlable o no, si el sistema no es
controlable, entonces tampoco es observable, por lo que no tendrı́a sentido tratar de determinar
su observabilidad si dicho sistema no es controlable. Ahora bien, si el sistema si es controlable,
sea para el sistema lineal e invariante en el tiempo:

ẋ = Ax(t) + Bu(t) (5)


y = Cx(t) (6)

2
se dice que es observable por definición, si y solo si la matriz de observabilidad Q es de rango
máximo, es decir de rango n.  
C
 CA 
2
 
Q =  CA (7)
 

 .. 
 . 
CAn−1
Este resultado puede ser comprobable, suponga que el tiempo t1 existe para todo t0 , lo que
significa que:
CeA(t−t0 ) x0 = 0 t0 ≤ t ≤ t1 (8)
implicando que x0 = 0. La exponencial de la ecuación puede ser presentado en términos de serie
de Taylor, tal que seria equivalente a:
2 3
 
2 (t − t0 ) 3 (t − t0 )
C + CA(t − t0 ) + CA + CA + · · · x0 = 0 t0 ≤ t ≤ t1 (9)
2! 3!

Ahora, si la matriz de observabilidad Q no es de rango máximo, entonces existe x0 diferente a


cero, lo que implica que:

Cx0 = 0 CAx0 = 0 ··· CAn−1 x0 = 0 (10)

La secuencia, al igual que en la matriz de controlabilidad P , tiene un limite, en donde sera de n


términos si la matriz A es de rango n, lo que implica que la matriz de observabilidad Q tendrá las
dimensiones m donde cada renglón representa un subespacio linealmente independiente, es decir
Qn−1 matrices de observabilidad del sistema, las cuales si todas son de rango máximo se dice que
el sistema es completamente observable, si no entonces quiere decir que el sistema completo no
es observable, sino que solo de manera parcial o completamente no observable [1].

4. Objetivos de control comunes


4.1. Regulación
De manera muy general existen dos objetivos de control comunes los cuales son regulación y
seguimiento de trayectoria. Para el caso de regulación su objetivo principal es hacer que la o las
variables a ser controladas converjan a un valor de referencia deseado y permanezcan en ese valor
sin importar el tipo de perturbación que pudiera llegarse a presentar en algún momento dado del
tiempo que afecte a la o las variables controladas (ver figura 1) [2].

4.2. Seguimiento de trayectoria


El principal objetivo de control de un seguimiento de trayectoria es que la o las variables
controladas sigan o converjan un determinado comportamiento previamente establecido, mante-
niéndose en el seguimiento de ese comportamiento sin importar el tipo de perturbación que afecte
a la o las señales controladas (ver figura 2) [2].

5. Retroalimentación del estado


Dada la realización mı́nima de un sistema (ver figura 1), se cumple:

3
0.04

0.03

0.02

0.01
Metros

-0.01

-0.02

-0.03
4.5 5 5.5 6 6.5 7
Tiempo (segundos) 5
×10

Figura 1: Control de regulación de un Masa-Resorte-Amortiguador como sistema dinámico, donde


la señal controlada (azul) converge con la señal de referencia (rojo).

4
Figura 2: Control de seguimiento de trayectoria donde la señal controlada (rojo) converge con la
señal de referencia (negro punteado).

5
ẋ(t) = Ax(t) + Bu(t) (11)

y(t) = Cx(t) + Du(t) (12)

ecuaciones ya conocidas para un sistema lineal invariante en el tiempo. Sin embargo, la inclusión
del lazo de retroalimentación, a través de la matriz constante K, hace que se cumplan también
las ecuaciones:

u(t) = v(t) + Kx(t) (13)

ẋ(t) = Ax(t) + Bv(t) + BKx(t) = [A + BK]x(t) + Bv(t) (14)

con lo que la dinámica del sistema es representado ahora por la matriz Ar .

Ar = A + BK (15)

Es posible cambiar la matriz Ar que representa la dinámica del sistema retroalimentado mediante
la libre elección de la matriz K, por lo tanto es posible cambiar las propiedades del sistema,
particularmente en sus polos, eligiendo adecuadamente Ar y despejando K de la ecuación (15).
Sin embargo no siempre se puede elegir cualquier matriz Ar , ası́ como también no siempre se
puede despejar la matriz K que verifique la ecuación (15). Esto sucede porque dicha expresión
representa a una matriz A de n × n elementos con una matriz K de m × n incógnitas, dado a
que normalmente existirán menos entradas m que variables de estado n, por lo que no es posible
ajustar los n × n elementos de la matriz Ar de forma arbitraria, ya que no se cuenta con los
suficientes grados de libertad de la matriz K para ello. De realizarse el intento, resultarı́a en un
sistema incompatible, ya que el número de ecuaciones superarı́a al número de incógnitas. Para la
solución de este primer inconveniente primero pasa por manejar las expresiones de las matrices
Ar y A en sistemas de referencia que permiten reducir el número de ecuaciones a resolver a sólo
m × n, tal que el sistema se torna compatible y quedando reducidas las restantes ecuaciones a
identidades independientes de los valores de los elementos de la matriz K [3].

Figura 3: Sistema con retroalimentanción de estado. Tomado de [1].

6
6. Control de sistemas monovariables
6.1. Diseño del bucle de retroalimentación para sistemas monovariables
Sea la ecuación diferencial, que define la relación entre la entrada y la salida de un sistema:

dn y dn−1 y dy dn u dn−1 y du
+ an−1 + · · · + a1 + a0 y = bn + bn−1 + · · · + b1 + b0 u (16)
dtn dtn−1 dt dtn dtn−1 dt
siendo ésta su expresión más general, con el máximo orden de derivación de la entrada igual al
de la salida. No obstante, podrı́a darse el caso en que no fuese ası́, siendo:

∃ r < n, ∀i>r bi = 0 (17)

es decir, que existen casos en los que el mayor orden de derivación de la entrada sea inferior a n.
Transformando por Laplace la ecuación (16) se obtiene:

sn + an−1 sn−1 + · · · + a1 s + a0 y = bn sn + bn−1 sn−1 + · · · + b1 s + b0 u


 
(18)

de donde se puede extraer la función de transferencia (19).

bn sn + bn−1 sn−1 + · · · + b1 s + b0
G(s) = (19)
sn + an−1 sn−1 + · · · + a1 s + a0
En este sistema puede ser representado mediante variables de estado. Entre las infinitas posibles
representaciones que admite, se elige la de variables de fase:
   
0 1 0 ··· 0 0
 0
 0 1 ··· 0 

 0 
 
 .. .
.. .
.. .. .
..  . 
ẋ(t) =  .  x(t) +  ..  u(t) (20)

 .   
 0 0 0 ··· 1   0 
−a0 −a1 −a2 · · · −an−1 1
 
y(t) = b0 − bn a0 b1 − bn a1 ··· bn−2 − bn an−2 bn−1 − bn an−1 x(t) (21)

si se retroalimenta adecuadamente, el sistema resultante tendrı́a una matriz Ar de la forma:

Ar = (A + BK)
   
0 1 0 ··· 0 0

 0 0 1 ··· 0  
  0 

.. .. .. .. .. .. ···

(A + BK) =  +  k1 k2 k3 kn
   
 . . . . .   . 
 0 0 0 ··· 1   0 
−a0 −a1 −a2 ··· −an−1 1
 
0 1 0 ··· 0

 0 0 1 ··· 0 

Ar = (A + BK) = 
 .. .. .. .. .. 
(22)
 . . . . . 

 0 0 0 ··· 1 
k1 − a0 k2 − a1 k3 − a2 ··· kn − an−1

y la matriz C de salida permanece sin cambios.

7
Denominando al polinomio caracterı́stico del sistema en lazo cerrado que se desea obtener con
la retroalimentación del estado (y cuya expresión vendrá originada al traducir las especificaciones
formuladas para el sistema retroalimentado en las posiciones que deben ocupar sus polos):
pr (s) = sn + αn−1 sn−1 + · · · + α1 s + α0 (23)
los valores de los coeficientes de la matriz K de retroalimentación se obtienen despejando la
última fila de la matriz que resulta en la ecuación (22).
ki = ai−1 − αi−1 , i = 1, . . . , n (24)
La ecuación de salida del sistema tras la retroalimentación la forman las matrices Cr y Dr ,
sabiendo que la matriz B va a permanecer sin modificaciones al estar representado el sistema
retroalimentado en su forma canónica controlable. De la forma de estas dos matrices depende la
posición que tomen los ceros del sistema retroalimentado. Para calcularlas, se toma la ecuación
(23) y se introduce en la ecuación de salida del sistema sin retroalimentar:
y(t) = Cx(t) + D(v(t) + Kx(t)) = (C + DK)x(t) + Dv(t) (25)
con lo que Dr = D = bn , mientras que:
Cr = C + DK (26)
   
Cr = b0 − bn a0 ··· bn−1 − bn an−1 + bn a0 − α0 ··· an−1 − αn−1
 
Cr = b0 − bn a0 + bn a0 − bn α0 ··· bn−1 − bn an−1 + bn an−1 − bn αn−1
 
Cr = C + DK = b0 − bn α0 ··· bn−1 − bn αn−1 (27)
con lo que se comprueba que, aunque se produce un cambio en la ecuación de salida del sistema
al pasar de C a Cr , los coeficientes del numerador de la función de transferencia siguen siendo
los mismos que para el sistema sin retroalimentar; por lo tanto, los ceros del sistema no se
modifican al realizar una retroalimentación del estado en un sistema monovariable. La función
de transferencia del sistema retroalimentado queda entonces como (28).
bn sn + bn−1 sn−1 + · · · + b1 s + b0
M (s) = (28)
sn + (an−1 − kn )sn−1 + · · · + (a1 − k2 )s + (a0 − k1 )
Este algoritmo tiene una probada eficacia en el ajuste de la dinámica del sistema, puesto que
es capaz de fijar simultáneamente todos sus polos, añadiendo a esto su extrema sencillez. Sin
embargo, no es posible modificar el comportamiento en régimen permanente a voluntad, sino
simplemente como consecuencia del cambio en la posición de dichos polos. Esto es ası́ por que no
es posible alterar la posición de los ceros del sistema mediante la retroalimentación del estado, el
numerador permanece inalterado. Por otro lado, al momento de implementar el diseño de la re-
troalimentación calculado mediante este algoritmo, se debe tener en cuenta que es realizado sobre
la representación del estado en variables de fase; normalmente este conjunto de variables no se
corresponde con ninguna magnitud fı́sica, por lo que será necesario introducir una transformación
del estado para hacer posible la construcción de los lazos de retroalimentación [3].

6.2. Obtención de la matriz de transformación a variables de fase para


sistemas monovariables
Partiendo de la matriz de controlabilidad de un sistema monovariable:
Q = B AB · · · An−1 B n×n
 
(29)

8
se supone que el sistema es controlable, ası́ que rango(Q) = n. Por lo tanto, la matriz Q es
invertible, por lo que existirá Q−1 :  T 
e1
 eT2 
Q−1 =  .  (30)
 
 .. 
eTn
a partir de la última fila, eTn , se construye una matriz que se denominará Tc−1 , y que es la inversa
de la matriz de transformación, tal que se obtiene (31).

eTn
 
 eTn A 
Tc−1 =  (31)
 
.. 
 . 
eTn An−1

La matriz de cambio es Tc , la inversa de ésta (se demuestra que Tc−1 es invertible). Si con
esta matriz se hace una transformación de estado, se obtiene el estado representado en variables
de fase a partir de cualquier otra representación.

x(t) = Tc x̃(t) (32)


 
0 1 0 ··· 0

 0 0 1 ··· 0 

à = Tc−1 ATc = 
 .. .. .. .. .. 
(33)
 . . . . . 

 0 0 0 ··· 1 
−a0 −a1 −a2 ··· −an−1
 
0

 0 

B̃ = Tc−1 B =
 .. 
(34)
 . 

 0 
1

Con la matriz Tc se pasa de la representación mediante las variables de estado elegidas ini-
cialmente a la representación mediante variables de fase, caracterizada por las matrices à y B̃. Si
se aplica a estas matrices para el diseño del bucle de retroalimentación para este tipo de sistemas
monovariables se obtiene como resultado una matriz de retroalimentación K̃, correspondiente a
las variables de fase, que se han de convertir a las variables accesibles del sistema, según muestra
la figura 2 [3].
u(t) = v(t) + K̃ x̃(t) = v(t) + K̃Tc−1 x(t) ⇒ K = K̃Tc−1 (35)

6.3. El problema de la ganancia


El control por retroalimentación del estado permite la localización de los polos del sistema en
los puntos que se desee, mediante la modificación de los parámetros del polinomio caracterı́stico.
En cambio, el polinomio numerador y, por lo tanto, los ceros del sistema permanecen invariantes.
La consecuencia de este hecho es que la ganancia del sistema en lazo cerrado (36) puede tomar
cualquier valor arbitrario, posiblemente no deseado.
b0
M (0) = (36)
a0 − k1

9
Figura 4: Transformación de la matriz de retroalimentación K. Tomado de [3].

Figura 5: Adición del parámetro K0 . Tomado de [3].

Una primera solución a este inconveniente es sacrificar el posicionamiento de un polo, que


queda libre, para fijar el término independiente del polinomio caracterı́stico. Éste será un proceso
de prueba y error, ya que a su vez, al fijar la ganancia y el resto de los polos, el polo libre se
puede posicionar en un punto no deseado.

Una segunda opción cosiste en añadir al esquema anterior un parámetro adicional k0 , para
fijar la ganancia, tal y como se indica en la figura 3. Si el sistema está expresado en variables de
fase, la función de transferencia del sistema retroalimentado será:

bn−1 sn−1 + · · · + b1 s + b0
M (s) = K0 (37)
sn + (an−1 − K0 kn ) + · · · + (a1 − K0 k2 )s + (a0 − K0 k1 )

es decir, se pueden elegir la ganancia y los polos arbitrariamente.

El inconveniente de ambas soluciones es que el control de ganancia se efectúa en lazo abierto,


por lo que los sistemas resultantes son sensibles a las perturbaciones e inexactitudes del modelo,
no efectuando un verdadero control en lazo cerrado sobre la ganancia del sistema, es decir, sobre
un valor en régimen permanente [3].

10
6.4. Diseño de servosistemas
En el caso de ser crı́tica la ganancia y necesitar que el sistema no sea sensible a las perturba-
ciones e inexactitudes del modelo, como se desea en los servosistemas, la única solución fiable es
incrementar el tipo del sistema, de modo que la función de transferencia en lazo abierto sea del
tipo adecuado para luego retroalimentar la salida.

Suponga un sistema de tipo 1, cuya función de transferencia es de la forma:


bn−1 sn−1 + bn−2 sn−2 + · · · + b1 s + b0
G(s) = (38)
sn + an−1 sn−1 + · · · + a1 s
lo que corresponde en variables de fase a (39).
 
0 1 0 ··· 0  
0
 0 0 1 ··· 0 

 .. . . ..
  0 
A= . .. .. .. 
B=

..

(39)
. .  
   . 
 0 0 0 ··· 1 
1
0 −a1 −a2 · · · −an−1
 
C= b0 b1 b2 ··· bn−1

Lo que se pretende es realizar en primera instancia una retroalimentación del estado que conserve
el tipo del sistema para luego añadir una retroalimentación de la salida, tal que globalmente se
sitúen los polos en los lugares deseados (ver figura 4).

Figura 6: Retroalimentación en un sistema de tipo uno. Tomado de [3].

Si se retroalimenta el sistema con una matriz:


 
K = 0 k2 k3 ··· kn (40)

se obtiene como nueva matriz del sistema:


 
0 1 0 ··· 0
 0
 0 1 ··· 0 

 .. .. .. .. ..
 = A + BK =  . (41)

 . . . . 

 0 0 0 ··· 1 
0 k2 − a 1 k3 − a2 ··· kn − an−1

11
es decir, un sistema de tipo 1 con todos los polos modificados. Si sobre este sistema se realiza una
retroalimentación de estado de la salida con un control proporcional K0 , se obtiene el sistema de
la figura 5:
û = K0 (r − y) = K0 r − K0 Cx (42)
ẋ = Âx + B û = Âx + K0 Br − K0 BCx = (Â − K0 BC)x + K0 Br (43)
Se obtiene, por lo tanto, un sistema retroalimentado con matriz de sistema:

Ar = A + BK − K0 BC
 
0 1 0 ··· 0

 0 0 1 ··· 0 

 0 0 0 ··· 0 
Ar =  (44)
 
.. .. .. .. .. 

 . . . . . 

 0 0 0 ··· 1 
−K0 b0 k2 − a1 − K0 b1 k3 − a2 − K0 b2 ··· kn − an−1 − K0 bn−1

Figura 7: Control proporcional del sistema anterior. Tomado de [3].

por lo que basta con que b0 6= 0 para que todos los polos del sistema se puedan fijar a voluntad.
Observe además que, por ser un sistema de tipo 1 en lazo abierto, tendrá un error de posición
nulo en lazo cerrado.

En el caso de ser un sistema de tipo 0, se puede incrementar el tipo del sistema añadiendo un
integrador en el controlador, obteniéndose la estructura de la figura 6.

Las ecuaciones del sistema quedan en este caso:

ẋ0 = r − y = r − Cx (45)

ẋ = Ax + Bu (46)
 
  x0
u = K0 x0 + Kx = K0 K (47)
x

12
Figura 8: Conversión a un sistema de tipo uno. Tomado de [3].

es decir:
        
ẋ0 0 −C x0 0 1
= + u+ r
ẋ 0 A x B 0
         
ẋ0 0 −C x0 0 0 x0 1
= + + r
ẋ 0 A x BK0 BK x 0
      
ẋ0 0 −C x0 1
= + r (48)
ẋ BK0 A + BK x 0

Si en la expresión anterior se efectéa el cambio x = T x̃ para pasar a variables de fase, queda la


siguiente expresión:
      
ẋ0 0 −CT x0 1
= + r
x̃˙ T −1 BK0 T −1 (A + BK)T x̃ 0
    
0 −b0 −b1 −b2 ··· −bn−1 x0 1

 0 0 1 0 ··· 0 
 x̃1  
  0 


ẋ0
  0 0 0 1 ··· 0  x̃2   0 
= .. .. .. .. .. + r (49)
    
x̃˙ ..  x̃3 ..
 . . . . . .    . 
  ..   
 0 0 0 0 ··· 1  .   0 
K0 k̃1 − a0 k̃2 − a1 k̃3 − a2 ··· k̃n − an−1 x̃n 0
 
x0

 x̃1 

 

x0

  x̃2 
y= 0 CT = 0 b0 b1 b2 ··· bn−1 (50)
 
x

 x̃3 

 .. 
 . 
x̃n

Si se desea fijar la dinámica de este sistema de manera que su polinomio caracterı́stico sea pr (s),
se debe cumplir:  
det sI − Ãr = pr (s) (51)

13
donde Ãr es la matriz de la dinámica del sistema retroalimentado expresada en la ecuación (49).

Igualando los coeficientes de la ecuación anterior, se obtienen n + 1 ecuaciones con las n + 1


incógnitas (K0 , k̃1 , . . . , k̃n ), que tiene solución única con tal de que b0 6= 0. Una vez resuelto este
sistema de ecuaciones, los valores del vector K de retroalimentación se obtienen deshaciendo el
cambio de variable:
K = k̃1 k̃2 · · · k̃n T −1
 
(52)

7. Control de sistemas multivariables


7.1. Diseño del bucle de realimentación para sistemas multivariables
Al tratar el diseño del lazo cerrado para sistemas monovariables pueden ser extendidos a un
sistema lineal, invariante y multivariable, con n variables de estado, m entradas y p salidas. Si
alguna de las variables de entrada no se utiliza en la retroalimentación del estado, por tratarse
de perturbaciones del sistema o por ser necesarias para su control, las entradas del sistema
pueden dividirse en dos grupos: las que utilizan en la retroalimentación del estado, ur , y las
perturbaciones externas que no se utilizan para controlar el sistema, up . La matriz B queda
descompuesta consecuentemente en dos matrices, y las ecuaciones de estado se expresan de la
siguiente forma:
ẋ(t) = Ax(t) + Br ur (t) + Bp up (t) (53)
Efectuando la retroalimentación del estado mencionado:

ur (t) = v(t) + Kx(t) (54)

la ecuación que expresa la dinámica del sistema retroalimentado queda:

ẋ(t) = (A + Br K) x(t) + Br v(t) + Bp up (t) (55)

donde puede observarse que la matriz que determina la dinámica del sistema es:

Ar = A + B r K (56)

coincidente con la ecuación (61), pero utilizando la matriz de entrada correspondiente sólo a las
variables de estado utilizadas en la retroalimentación Br . Obsérvese que las entradas de pertur-
bación, up , intervienen en la evolución del sistema mediante la matriz Bp , pero dicha matriz no
interviene en el cambio de la dinámica interna fijado por Ar . Con objeto de facilitar la notación
de los sistemas multivariables, la matriz Br se denomina simplemente como B, y a su dimensión,
coincidente con el número de entradas utilizadas en la retroalimentación, se le denomina con la
letra m.

Para plantear el diseño de lazo cerrado, se parte, como en el caso monovariable, de la repre-
sentación del sistema en su forma canónica controlable, que se obtiene mediante el cambio de
base adecuado, dado por la matriz TC . Las matrices del modelo de estado del sistema en dicha

14
base toman la siguiente expresión:
 
A11 A12 ··· A1m
 A21 A22 ··· A2m 
A= (57)
 
.. .. .. .. 
 . . . . 
Am1 Am 2 ··· Amm
 
B1
 B2 
B= (58)
 
.. 
 . 
Bm

donde las submatrices que aparecen en (57) y en (58) tienen las siguientes expresiones:

Matrices Aii :
 
0 1 0 ··· 0

 0 0 1 ··· 0 

Aii = 
 .. .. .. .. .. 
(59)
 . . . . . 

 0 0 0 ··· 1 
−aσi σi −ni +1 −aσi σi −ni +2 −aσi σi −ni +3 ··· −aσi σi

de dimensiones ni × ni , siendo ni la dimensión del subespacio controlado por la variable de


entrada i−ésima y cuyo valor se decide a partir de las columnas de la matriz de controlabilidad
Q relacionadas con la entrada i−ésima que se utilizan para formar la matriz de cambio de base
TC . Los valores de σi se calculan como:
X
σi = nj (60)
j=0

que representan la dimensión de los subespacios controlados por todas las variables de entrada
hasta la entrada i−ésima. Obsérvese que, con la nomenclatura de subı́ndices utilizada, dichos
subı́ndices representan la fila y la columna del elemento considerado; es decir, que el elemento
αij está situado siempre en la fila i−ésima y en la columna j−ésima.

Por otro lado, cada una de las matrices Aij , con i 6= j, fuera de la diagonal principal son de
la forma:  
0 0 0 ··· 0

 0 0 0 ··· 0 

Aij = 
 .
.. .
.. .
.. .. .
.. 
(61)
 . 

 0 0 0 ··· 0 
−aσi σj −nj +1 −aσi σj −nj +2 −aσi σj −nj +3 · · · −aσi σj
cuyas dimensiones son ni ×nj , cuyo significado ha sido comentado anteriormente. La nomenclatu-
ra de subı́ndices empleada sigue garantizando que éstos indican la fila y la columna del elemento
considerado.

En cuento a cada una de las submatrices que componen la matriz B, tienen la siguiente forma

15
en la base canónica utilizada:
 
0 ··· 0 0 ··· 0
 .. .. .. .. .. .. 
Bi =  .
 . . . . . 
 (62)
 0 ··· 0 0 ··· 0 
0 ··· 1 bσi i+1 ··· bσi m

cuyas dimensiones son ni × m, donde igualmente los subı́ndices indican la fila y columna que
ocupa un elemento.

Si se efectúa una retroalimentación del estado del sistema expresado en esta forma canónica
controlable, mediante una matriz K, de dimensiones (m × n), de expresión genérica:
 
k11 · · · k1n
K =  ... .. ..  (63)

. . 
km1 ··· kmn

se obtiene que la matriz de la dinámica del sistema retroalimentado, dada por la ecuación (61),
tiene como expresión genérica de su columna j−ésima:
 
0
 k1j + bσ1 2 k2j + bσ1 3 k3j + · · · + bσ1 m kmj 
 

 0 

(A + BK)(,j) = (A)(,j) + 
 k 2j + b σ2 3 k3j + · · · + bσ 2 m kmj

 (64)
 .. 

 . 

 0 
kmj

donde se observa que, mediante la retroalimentación del estado efectuada sobre las variables de
estado de la forma controlable, la matriz que representa la dinámica del sistema retroalimentado
A + BK se diferencia sólo en las filas σ1 , σ2 , . . . , σn respecto a la matriz original del sistema
sin retroalimentar A. Por lo tanto, puede probarse la obtención de la siguiente matriz Ar como
objetivo de la retroalimentación del estado realizada:
 
0 1 0 ··· 0
 0
 0 1 ··· 0 

 .. .
.. .
.. . .. .
..
Ar =  . (65)


 
 0 0 0 ··· 1 
−α0 −α1 −α2 · · · −αn−1

que se diferencia de A sólo en los elementos de las filas σi y cuyos elementos se obtienen, de forma
inmediata, a partir del polinomio caracterı́stico deseado en lazo cerrado:

pr (s) = sn + αn−1 sn−1 + · · · + α1 s1 + α0 (66)

Igualando las columnas j−ésimas de las ecuaciones (64) y (65) según se indica en la ecuación
(61), se obtienen las siguientes expresiones que permiten despejar los elementos de la columna

16
j−ésima de la matriz de la retroalimentación K:

δσ1 j = −aσ1 j + k1j + bσ1 2 k2j + bσ1 3 k3j + · · · + bσ1 m kmj

δσ2 j = −aσ2 j + k2j + bσ2 3 k3j + · · · + bσ2 m kmj

..
.

− αj−1 = −anj + kmj

donde el valor de δij es 0 ó 1 dependiendo de la fila y la columna considerada, según la expresión:



1 para σi = j − 1
δ σi j = (67)
0 para σi 6= j − 1

Obsérvese que para cada columna de la ecuación (61), se obtiene un sistema compatible y deter-
minado de m ecuaciones con m incógnitas, cuya resolución es inmediata comenzando por despejar
el valor de kmj de la última ecuación e ir subiendo de ecuación para despejar los elementos suce-
sivos de la columna j−ésima de la matriz K. Para cada columna de la ecuación (61) se obtiene
un sistema distinto de m ecuaciones con las m nuevas incógnitas pertenecientes a cada nueva
columna de la matriz K. En total se obtienen n sistemas independientes de m ecuaciones cada
uno de ellos, que permiten resolver los m × n elementos de la matriz buscada K, que consigue
el objetivo de control: que la matriz de retroalimentación Ar tenga tenga la expresión dada en (65).

Cabe destacar el hecho de que, al contrario que sucede en el caso de control de sistemas
monovariables, la posición de los ceros del sistema. Por este motivo, en general, cabe esperar
modificaciones al comportamiento previsto del sistema por la posición que puedan tomar estos
ceros [3].

7.2. Obtención de la matriz de transformación a variables de fase para


sistemas multivariables
Para obtener la matriz TC de transformación que representa el estado según la forma canónica
controlable en sistemas multivariables, a partir de cualquier de cualquier otra representación, se
supone que el sistema es controlable. En caso contrario será necesario realizar una separación de
la parte controlable, trabajando sólo con ésta. Una vez que se tiene la seguridad de trabajar sólo
con el subsistema controlable, se forma la matriz de controlabilidad Q:

Q = B AB A2 B · · · An−1 B
 

An−1 b1 · · · An−1 bm
 
Q= b1 b2 · · · bm Ab1 Ab2 · · · Abm ··· (68)

Al ser, por hipótesis, el sistema controlable, rango(Q) = n, existiendo en general varios conjuntos
de n vectores columna linealmente independientes de Q.

Ahora bien, para el cálculo de la matriz de cambio TC primeramente se eligen n columnas


linealmente independientes de Q, eligiendo siempre para cada entrada las primeras columnas
asociadas a dicha entrada bi , Abi ,. . . , Ani −1 bi . Esta elección de columnas es de gran importancia
en el control que se está diseñando, puesto que el número de columnas asociadas a cada en-
trada indica el número de variables de estado que van a ser controladas con dicha entrada. Si
una entrada tiene asociado comparativamente un número elevado de columnas, significa que esa

17
entrada servirá para controlar muchas variables de estado, forzando a que su comportamiento
pueda tener que tomar valores muy extremos para conseguirlo. Por el contrario, si no se eligen
columnas asociadas a una entrada concreta, ésta no se utilizará en la retroalimentación del estado
que se está diseñando, desaprovechando sus posibilidades de control. Por lo tanto, en general es
conveniente elegir un número equilibrado de columnas asociado a cada entrada. Ası́, una buena
alternativa es elegir las primeras columnas linealmente independientes de Q, aunque dependiendo
de un estudio del significado fı́sico de las variables de entrada, se pueden elegir otras opciones.

A continuación se ordenan las columnas, agrupándose según su asociación a cada entrada,


formando la matriz L:
L = b1 Ab1 · · · An1 −1 b1 · · · bm Abm · · · Anm −1 bm
 
(69)
donde m representa el número de entradas involucradas en la retroalimentación. La entrada i−ési-
ma ejerce su influencia, por lo tanto, sobre ni columnas de la matriz L.

Para calcular la matriz de transformación a la forma canónica, se calcula la inversa de la


matriz L:
←1
 
e1
 ..  ..

 . 
 .

 e n 1

 ← n1
−1
L =
 .
..  .
.. (70)

 

 en1 +n2 
 ← n1 + n2
 ..  ..
 .  .
en1 +n2 +···+nm =n ← n1 + n2 + · · · + nm = n
De esta matriz, se extraen las filas existentes en las posiciones finales de cada bloque, e1 , · · · ,
en1 +···+nm , a partir de las cuales se forma la inversa de la matriz buscada T−1 C de la siguiente
forma:  
e n1
←1
e n1 A
←2
 
..
 
..
 
 . 
 n1 −1
 .
 en1 A 
  ← n1
 en1 +n2 
..
..
 
.
T−1
 
C =
 .  (71)
n −1
 ← n1 + n2

 e n1 +n2 A 2 
 ..
 ..  .

 . 
 ← n1 + n2 + · · · + nm−1 + 1

 en1 +n2 +···+nm 
 ..
 ..  .
 . 
← n 1 + n 2 + · · · + nm = n
en1 +n2 +···+nm Anm −1
Mediante la matriz TC , inversa de la dada, se puede transformar cualquier estado x(t) en la
representación del estado correspondiente a la forma canónica controlable, x̃(t):
x(t) = TC x̃(t) (72)
Al igual que en sistemas monovariables, a partir de las matrices à y B̃ obtenidas con esta transfor-
mación, se calcula la correspondiente matriz K̃, obteniéndose como matriz de retroalimentación
para las variables x(t) accesibles:
K = K̃TC−1 (73)

18
8. Diseño de observadores de estado para sistemas lineales
Cuando se implementa un controlador por retroalimentación lineal de estado en la práctica es
común que no se cuente con la instrumentación necesaria o adecuada para medir las señales del
estado completo, es debido a esta necesidad de estimar los valores, que tomarı́an en la realidad
los estados sin la necesidad de medirlos fı́sicamente, tal que sea posible estimar las señales de
estado con solo la información obtenida en la entrada y en la salida de la planta, dicho de otra
manera se ve involucrado en la necesidad de implementar un observador de estado (ver figura
9) al sistema dinámico sobre el cual se trabaja. Ahora bien, para un sistema dinámico lineal e

Figura 9: Diagrama de bloques de un observador de estado de orden completo. Tomado de [1].

invariante en el tiempo, sea:

ẋ = Ax + Bu

y = Cx

se define como un observador de estado de orden completo:


˙
x̂(t) = A(t)x̂(t) + B(t)u(t) + L(t) [y(t) − C(t)x̂(t)] (74)

donde ŷ = C x̂(t). Para probar su funcionalidad se define la variable de error tal que:

e = x − x̂ (75)

satisfaciendo la ecuación diferencial:

ė(t) = [A − LC]e(t) (76)

donde la propiedad el error de observabilidad tes tal que:

e(t) → 0 donde t→∞ (77)

19
para todo e(t0 ) si y solo si el observador es asintóticamente estable. Este observador de estado de
orden completo, se le conoce también como observador de Luenberger, el cual una de sus ventajas
es su simplicidad, sin embargo para que dicho observador sea mas efectivo el modelo que describe
a la planta, es decir el sistema dinámico, debe ser exacto [1].

9. Aplicación de las técnicas de control por retroalimenta-


ción lineal de estado a un mecanismo X-Y
9.1. Modelado del sistema mecánico
Para describir el comportamiento de un sistema dinámico es muy común el uso de ecuaciones
diferenciales para ello, sin embargo existen otras técnicas para modelar un sistema dinámico
que describa el comportamiento lineal del mismo, como el uso de programas para determinar
su función de transferencia. En este caso se pretende hacer uso de un programa (LabView)
para simular el comportamiento de un mecanismo X-Y, para ello es necesario tener un modelo
matemático que describa su comportamiento.

Eje X

Figura 10: Eje X del mecanismo X-Y.

El mecanismo X-Y (ver figura 10) es un sistema dinámico en donde, haciendo uso de dos motores
de corriente directa, desplazan una mesa, que dependiendo del motor que este activado, se mueve
en eje X y en el eje Y, y sabiendo por la Segunda Ley de Newton, que dice que la sumatoria de
fuerzas total es equivalente a cero, entonces:
X
F =0

ahora bien, se sabe que existen dos fuerzas que actúan sobre el movimiento del motor, las cuales
son la fuerza del motor y la fuerza opositora de la fricción, y teniendo en cuenta que F = ma,

20
d2 x
donde a = dt2 , entonces:
d2 x dx
m = −δ + kv
dt2 dt
desarrollándolo se obtiene:
d2 x δ dx k
=− + v
dt2 m dt m
d2 x dx
y si dt = ẍ y dt = ẋ, entonces:
δ k
ẋ + v ẍ = −
m m
para este modelo se debe considerar la señal de entrada donde se encarga de realizar el control
del sistema, en este caso de la posición, y como es una tarjeta de adquisición de datos la cual se
encarga de realizar el control del mismo a través del voltaje, entonces se considera la variable de
control u = v, ası́ mismo con motivo de evitar confusión con las variables de estado, se hace un
cambio de variable tal que x = y donde y representa la posición del eje, es decir que representa
la salida del sistema, por lo tanto la ecuación diferencial se reescribirı́a tal que:
δ k
ẏ + u ÿ = − (78)
m m
Partiendo de la ecuación diferencial obtenida entonces se representa en variables de estado tal
que:
x1 = y

x2 = ẋ1 = ẏ

ẍ2 = ÿ
con ello presente y sustituyéndolo de la ecuación diferencial (78) entonces:
ẋ1 = x2

δ k
ẋ2 = − x2 + u (79)
m m
y = x1
Finalmente, como la dinámica del sistema entre el eje X y el eje Y es independiente, no afecta
el modelo matemático que describe su comportamiento, ya que esto quiere decir que el compor-
tamiento del eje X no se ve afectado por el comportamiento del eje Y, por lo que el modelo que
describe ambos ejes se puede considerar como el mismo, en otras palabras, el modelo para el
sistema mecánico para el eje x es:
ẋ1x = x2x

δx kx
ẋ2x = − x2 + ux
mx x mx

yx = x1x
representado en su forma matricial es:
      
ẋ1x 0 1 x1x 0
= δx + kx ux
ẋ2x 0 − mx x2x mx
 
  x1x
yx = 1 0
x2x

21
y el modelo para el eje y es:

ẋ1y = x2y

δy ky
ẋ2y = − x2 + uy
my y my

yy = x1y

que representado en su forma matricial se tiene:


 " #  " #
0 1 0

ẋ1y x1y
= δ + ky uy
ẋ2y 0 − myy x2y my

 
  x1y
yy = 1 0
x2y

teniendo ambos modelos matemáticos es posible ahora implementar un algoritmo de control con
el fin de que su señal de salida (posición) alcance un valor de referencia deseado.

9.2. Solución del problema de estabilización del origen


Considerando el modelo del sistemas mecánico para ambos ejes de manera general:

ẋ1 = x2

δ k
ẋ2 = − x2 + u (80)
m m

y = x1

se busca resolver el problema de estabilización, asumiendo que el sistema es inestable. Para ello
es necesario diseñar una entrada de control u tal que el sistema en lazo cerrado sea estable. La
entrada de control u tiene la forma:
u = −F x (81)
de la cual, para evitar confusión con la constante k del modelo original, se interpretan las cons-
tantes f1 y f2 como las ganancias a encontrar para la estabilización en el origen, por lo que al
desarrollarse a las dimensiones adecuadas para la planta se obtiene:
 
  x1
u = − f1 f2
x2
 
  x1
u= −f1 −f2
x2

u = −f1 x1 − f2 x2

sin embargo para que la estabilización del sistema se encuentre en el origen es necesario eliminar
k
la constante yuxtapuesta m de la entrada de control u por lo que la variable de control se propone
como:
m
u= (−f1 x1 − f2 x2 )
k

22
donde se sabe que F es la matriz, de las dimensiones adecuadas, que al sustituir en la planta se
tiene el sistema:

ẋ1 = x2

δ k m
ẋ2 = − x2 + (−f1 x1 − f2 x2 )
m m k
que al ser desarrollado se obtiene:

ẋ1 = x2

δ
ẋ2 = − x2 − f1 x1 − f2 x2
m

ẋ1 = x2
 
δ
ẋ2 = −f1 x1 − + f2 x2
m

puesto en la forma matricial se tiene:


    
ẋ1 0 1 x1
= δ

ẋ2 −f1 − m + f2 x2

Ahora bien, considerando los valores m = 1, k = 1 y δ = 2, aplicando el criterio de Routh-Hurwitz


se tiene que f1 > 0 y f2 > −2 para que los valores del propio del sistema en lazo cerrado estén en
el semiplano izquierdo del plano complejo, resolviendo de esta forma el problema de estabilización
del origen del sistema dinámico.

9.3. Solución del problema de regulación


Para resolver el problema de regulación se parte de la definición:

lı́m ky − yr k = 0
t→∞

donde yr es una referencia constante, con ello se define el error:

e = y − yr

pero, dado a que la salida del sistema dinámico está definida como y = x1 entonces:

e = x1 − yr

tomando en consideración esto se sabe entonces que su dinámica está dada por:

ė = ẋ1 − ẏr

dado que ẋ1 = x2 y al ser yr una constante lo cual implica que ẏr = 0, entonces:

ė = x2

23
la ecuación obtenida es complementaria con la segunda ecuación de la planta, debido a que ė no
depende de u en forma explı́cita, por lo que se obtiene:

ė = x2 (82)
δ k
ẋ2 = − x2 + u
m m
siendo (82) la nueva ecuación de estado, es en este momento donde se tiene un nuevo vector de
estado:  
e
x̃ =
x2
teniendo este nuevo vector de estado es necesario diseñar ahora una señal de control u tal que
estabilice el origen del nuevo espacio de estado generado por las variables e y x2 .

La señal de control tiene la forma (81), sin embargo para simplificar la constante yuxtapuesta
k
m de la variable de entrada u, y dado el nuevo vector de estado obtenido x̃, se propone entonces
como entrada de control:
m
u= (−F x̃)
k
de tal modo que se obtiene:
  
m   e
u= − f1 f2
k x2
  
m   e
u= −f1 −f2
k x2

m
u= (−f1 e − f2 x2 )
k
y al ser sustituido en el sistema el error se obtiene:

ė = x2

δ k m
ẋ2 = − x2 + (−f1 e − f2 x2 )
m m k

ė = x2

δ
ẋ2 = − x2 − f1 e − f2 x2
m

ė = x2
 
δ
ẋ2 = −f1 e − + f2 x2
m

que en su forma matricial es:


    
ė 0 1 e
= δ

ẋ2 −f1 − m + f2 x2

24
Finalmente, tomando en consideración que e = x1 − yr , la señal de control u que se implementa
es:
m
u= (−f1 (x1 − yr ) − f2 x2 )
k
donde, considerando los valores m = 1, k = 1 y δ = 2 y aplicando el criterio de Routh-Hurwitz,
se tiene que f1 > 0 y f2 > −2 para que los valores del propio del sistema en lazo cerrado estén en
el semiplano izquierdo del plano complejo, solucionando de esta forma el problema de regulación
del sistema dinámico.

9.4. Solución del problema de seguimiento de trayectorias


Para solucionar el problema de seguimiento de trayectoria se parte primeramente de la defi-
nición:
lı́m ky(t) − yr (t)k = 0
t→∞

donde la referencia yr (t) es una función variante en el tiempo con n derivadas bien definidas.
Ahora bien, con ello se define una variable variable de error:

e1 = y(t) − yr (t)

y dado que y(t) = x1 para el sistema mecánico, entonces:

e1 = x1 − yr (t)

donde su dinámica esta dada por:


ė1 = ẋ1 − ẏr (t)
considerando que ẋ1 = x2 entonces se define una nueva variable de error donde ė1 = e2 tal que:

e2 = x2 − ẏr (t)

Como se definió una nueva variable de error entonces ahora se debe obtener su dinámica, tal que
al derivar e2 queda en la forma:
ė2 = ẋ2 − ÿr (t)
y que al sustituir ẋ2 del modelo original del sistema dinámico entonces se tiene:
δ k
ė2 = − x2 + u − ÿr (t)
m m
obteniendo un nuevo modelo matemático del sistema dinámico en variables de estado, dada por
las variables de error, tal que:

ė1 = e2

δ k
ė2 = − x2 + u − ÿr (t)
m m
sin embargo, no seria del todo correcto mantener dentro del modelo obtenido con anterioridad
la variable de estado x2 , ya que debe ser cambiada en términos de las variables de error y de
las señales de referencia, por lo que al tener en cuenta que x2 = e2 + ẏr (t), y al sustituirlo en el

25
modelo obtenido por las variables de error, entonces se obtiene:

ė1 = e2

δ k
ė2 = − (e2 + ẏr (t)) + u − ÿr (t)
m m

ė1 = e2

δ k δ
ė2 = − e2 + u − ÿr (t) − ẏr (t)
m m m
en este punto es necesario diseñar una señal de entrada u como una retroalimentación lineal de
los estados e1 y e2 , tal que estabilice el origen del plano de estado del error. Para ello es necesario
k
proponer una señal de control tal que elimine la constante adyacente m de la entrada u y que
δ
además elimine las variables −ÿr (t) y − m ẏr (t), tomando en cuenta además la forma (81), por lo
que la señal de control u se propone como:
 
m δ
u= ÿr (t) + ẏr (t) − F e (83)
k m

donde e es el nuevo vector de estado tal que:


 
e1
e=
e2

y F siendo una matriz de las dimensiones adecuadas para el vector de estado e, que al sustituirlo
en la señal de entrada u obtenida en (83) se obtiene:
  
m δ   e1
u= ÿr (t) + ẏr (t) − f1 f2
k m e2

que al desarrollarlo se tiene:


  
m δ   e1
u= ÿr (t) + ẏr (t) + −f1 −f2
k m e2
 
m δ
u= ÿr (t) + ẏr (t) − f1 e1 − f2 e2
k m

sustituyendo la variable propuesta de control u en la planta se obtiene:

ė1 = e2

δ
ė2 = − e2 − f1 e1 − f2 e2
m

ė1 = e2
 
δ
ė2 = −f1 e1 − + f2 e2
m

26
que representado en su forma matricial es:
    
ė1 0 1 e1
= δ

ė2 −f1 − m + f2 e2
y considerando los valores m = 1, k = 1 y δ = 2 se aplica el criterio de Routh-Hurwitz donde
se tiene que f1 > 0 y f2 > −2 para que los valores del propio del sistema en lazo cerrado estén
en el semiplano izquierdo del plano complejo, obteniendo finalmente la solución al problema de
seguimiento de trayectorias.

9.5. Diseño de un observador de estado


En la práctica es común la falta de sensores que permitan medir algunos parámetros necesarios
para la observación de los estados, sin embargo existen técnicas donde, al implementarse en un
sistema dinámico, permite estimar dichos valores sin la necesidad de medirlos de manera fı́sica.
Por ello para dar un acercamiento mas real de la implementación de un algoritmo de control
en un sistema fı́sico dentro de una simulación es mas conveniente el uso e incorporación de un
observador de estado para el sistema dinámico, donde en este caso se estima el estado de velocidad
x2 de la planta (80) con un observador de estado de Luenberger de orden completo. El primer
paso para diseñar un observador de estado para este sistema se parte de la definición:
˙
x̂(t) = A(t)x̂(t) + B(t)u(t) + L(t) [y(t) − C(t)x̂(t)] (84)
donde ŷ = C(t)x̂(t) y la matriz L tiene las dimensiones adecuadas para la matriz de salida C,
por lo que tiene la forma:  
l1
L=
l2
que al sustituirlo, de acuerdo con la definición (84), se obtiene:
x̂˙ 1
          
0 1 x̂1 0 l1   x̂1
˙x̂2 = 0 − δ + k u+ y− 1 0
m
x̂ 2 m
l 2 x̂2
dado a que ŷ = C x̂ entonces:
x̂˙ 1
        
0 1 x̂1 0 l1
= + u+ [y − ŷ]
x̂˙ 2 0 −mδ
x̂2 k
m
l2
que expresada de otra forma se tendrı́a:
x̂˙ 1 = x̂2 + l1 (y − ŷ)

δ k
x̂˙ 2 = − x̂2 + u + l2 (y − ŷ)
m m

ŷ = x̂1
donde para demostrar el funcionamiento del observador se definen las variables de error e1 =
x1 − x̂1 y e2 = x2 − x̂2 , por lo tanto su dinámica está dada por:
ė1 = ẋ1 − x̂˙ 1

ė1 = x2 − x̂2 − l1 (y − ŷ)

ė1 = x2 − x̂2 − l1 (x1 − x̂1 )

ė1 = e2 − l1 e1

27
ahora bien, dadas las variables definidas de error es necesario obtener la dinámica de cada una,
tal que al derivar e2 se tiene:
ė2 = ẋ2 − x̂˙ 2

δ k δ k
ė2 = − x2 + u + x̂2 − u − l2 (y − ŷ)
m m m m
δ
ė2 = − (x2 − x̂2 ) − l2 (y − ŷ)
m
δ
ė2 = − e2 − l2 e1
m
obteniendo un nuevo vector de estado, que es representado como:
ė1 = e2 − l1 e1

δ
ė2 = −
e2 − l2 e1
m
o bien representado en su forma matricial como:
    
ė1 −l1 1 e1
= δ
ė2 −l2 − m e2
considerando ahora los valores m = 1, k = 1 y δ = 2 se deben elegir valores para las constantes
l1 y l2 mediante el criterio de Routh-Hurwitz, tal que en el espacio de error se garantice la
convergencia de las trayectorias al origen en forma asintótica, por lo tanto:
lı́m x̂ = x
t→∞

Para proponer los valores de l1 y l2 es necesario proponer un polinomio caracterı́stico de segundo


orden en donde los polos estén muy alejados del eje imaginario, por lo que se propone un polinomio
como:
P (s) = (s + 10)(s + 50)

P (s) = s2 + 60s + 500


δ
para obtener el polinomio caracterı́stico de la matriz A, considerando que − m = −2 es necesario
obtener el determinante det (sI − A + LC) tal que:
    
1 0 −l1 1
det (sI − A + LC) = det s −
0 1 −l2 −2
   
s 0 −l1 1
det (sI − A + LC) = det −
0 s −l2 −2
 
s + l1 −1
det (sI − A + LC) = det
l2 s+2

det (sI − A + LC) = (s + l1 )(s + 2) + l2

det (sI − A + LC) = s2 + 2s + l1 s + 2l1 + l2

det (sI − A + LC) = s2 + (l1 + 2)s + (2l1 + l2 )

28
Figura 11: Programa de simulación de un sistema mecánico X-Y con un controlador por retro-
alimentación lineal de estado implementado, con la incorporación de un observador de estado.

donde la ecuación obtenida de det (sI − A + LC) = J(s) es el polinomio caracterı́stico de la


matriz A, representado ahora como J(s). Entonces se define el sistema de ecuaciones:

2l1 + l2 = 500

l1 + 2 = 60

por lo que se obtiene que l1 = 58 y l2 = 384 garantizando ası́ que las trayectorias converjan en
forma asintótica al origen.

9.6. Implementación de un sistema de control considerando la medición


parcial del estado e incorporando un observador
Haciendo uso del programa LabView se pretende simular un mecanismo tipo X-Y, donde al
implementar las técnicas de control por retroalimentación de estado surge, para el objetivo de
control de seguimiento de trayectorias (ver figura 13), el comportamiento de una señal senoidal
como la referencia yr (t). dicho sistema tiene la facilidad de que si la referencia yr (t) se vuelve
constante entonces el control implementado al sistema cambia automáticamente al objetivo de
control de regulación (ver figura 12).

10. Conclusiones
Tras finalizar la realización del presente trabajo se observaron diversos puntos en donde es
necesario hacer una mención descrita de ellos. Una de las principales observaciones es la diferen-
cia entre la simulación y la implementación del sistema fı́sicamente, esto debido a que dadas las
circunstancias actuales, no fue posible implementar a un sistema dinámico fı́sico un control por
retroalimentación de estado incorporando ademas un observador de estado, por lo que, a pesar
de que las simulaciones proporcionan un acercamiento al comportamiento del sistema mecánico
fı́sicamente, existen ciertas caracterı́sticas en donde puede diferir la señal de salida de del siste-
ma simulado con las del sistema real, esto debido a que el sistema real (fı́sicamente) puede tener
ciertas perturbaciones que alteran la dinámica del mismo y que solo pueden ser visualizadas iden-
tificando el sistema mediante el uso de un programa. Esta clase de consideraciones no se toman
en cuenta dentro de un modelo puramente matemático, aunque dada su predominancia lineal, nos

29
Figura 12: Resultados del objetivo de control de regulación.

30
Figura 13: Resultados del objetivo de control de seguimiento de trayectorias.

31
proporciona un acercamiento preciso y es por esa razón que es valido para realizar un programa
donde simule su comportamiento. Cabe mencionar además que el controlador por retroalimenta-
ción lineal de estado, implementado al sistema mecánico simulado, cumple su objetivo al hacer
que el valor de su salida converja con los valores y trayectorias deseados, los resultados pueden
ser un poco diferentes si el sistema mecánico hubiese sido real (fı́sico) por lo que es importante
resaltar esta observación dado a que puede diferir en menor medida el resultado siendo aplicado
fı́sicamente.

Referencias
[1] Kwakernaak, H., & Sivan, R. (1972). Linear optimal control systems (Vol. 1, p. 608). New
York: Wiley-interscience.

[2] Rosas, D. (2017, enero). Control PID. [Diapositivas de la 2 a 8 de la presentación Powerpoint].


[3] Domı́nguez, S., Campoy, P., & Sebastián, J. M. (2000). Control en el espacio de estado. Sec-
ción de Publicaciones de la Escuela Técnica Superior de Ingenieros Industriales, Universidad
Politécnica de Madrid.

32

También podría gustarte