Reporte #4 - Diseño de Controladores Por Retroalimen
Reporte #4 - Diseño de Controladores Por Retroalimen
Reporte #4 - Diseño de Controladores Por Retroalimen
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:
P = B AB A2 B · · · An−1 B
(2)
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].
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!
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
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)
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:
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].
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:
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:
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)
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
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].
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.
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)
9
Figura 4: Transformación de la matriz de retroalimentación K. Tomado de [3].
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 )
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.
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).
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
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.
ẋ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 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).
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
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:
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:
..
.
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].
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.
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.
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
ẋ = Ax + Bu
y = Cx
donde ŷ = C x̂(t). Para probar su funcionalidad se define la variable de error tal que:
e = x − x̂ (75)
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].
Eje X
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
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.
ẋ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
lı́m ky − yr k = 0
t→∞
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
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.
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)
e1 = x1 − yr (t)
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
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
ė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.
δ 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 = 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→∞
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.
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.
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.
32