Capitulo 9
Capitulo 9
Capitulo 9
Diseo de controladores
analgicos por mtodos
de espacio de estado
El objeto de este captulo es el diseo de sistemas de control usando la realimentacin del vector
de estado. La tcnica de ubicacin de polos permite situar los polos del sistema en lazo cerrado en la
posicin deseada por el diseador, de modo que su comportamiento se adecue a lo que ste desee. Se
demuestra que la condicin necesaria y suficiente para que el sistema admita que sus polos en lazo cerrado se ubiquen en cualquier posicin del plano s, es que el sistema sea completamente controlable.
Cuando no es posible medir todos los estados de la planta para utilizarlos en el vector de realimentacin, se estiman los estados necesarios a partir de la informacin disponible de la planta. Se demuestra que la condicin necesaria y suficiente para que el vector de estado se pueda estimar es que el
sistema sea completamente observable.
En el captulo se aborda tanto el diseo de sistemas sin entrada o con entrada constante (reguladores) como el de sistemas que han de seguir una seal de referencia (servosistemas). Se realizan numerosos ejemplos de lpiz y papel as como mediante computador utilizando MATLAB.
La ltima parte del captulo se dedica al estudio de un caso prctico, el pndulo invertido montado sobre una base mvil. A partir de la obtencin de las ecuaciones de la planta y de su modelo de
estado, se disea un regulador y un servosistema para controlar un pndulo invertido.
Es importante hacer la consideracin preliminar que a lo largo de todo el captulo, los modelos
de estado utilizados sern de sistemas LTI, esto es, sistemas Lineales e Invariantes con el Tiempo1.
9.1 Introduccin
La tcnica de diseo de controladores mediante la realimentacin de estado consiste en realimentar las variables de estado a la entrada mediante una matriz de ganancia K cuyos coeficientes son constantes. En la figura 9.1 se muestra el diagrama de bloques de un sistema de control mediante la realimentacin de estado.
Planta
D
r(t) +
u(t)
+
+
x(t )
dt
x(t)
+ y(t)
A
K
Figura 9.1: Realimentacin del vector de estado a la entrada
Para un estudio ms general, donde en la ecuacin de estado las matrices A y B dependen del tiempo, se aconseja
al lector la consulta del texto de Domnguez, S.; et al. Control en el Espacio de Estado. Pearson Educacin, S. A.,
Madrid, 2002.
(9.1)
Donde:
x(t ) = vector de estado de dimensin n.
u(t ) = vector de control de dimensin r .
y (t ) = vector de salida de dimensin m.
A = matriz de estado de n n.
B = matriz de entrada de n r.
C = matriz de salida de m n.
D = matriz de transicin directa de m r.
La seal de control u(t) es un vector que se realimenta negativamente a la entrada de la planta a
travs de una matriz de ganancia K que realimenta al estado:
k11
k21
u(t ) = Kx(t ) =
kr1
k12
k22
kr 2
k1n x1 (t )
k2 n x2 (t )
kr n xn (t )
(9.2)
Este sistema de control en lazo cerrado que se denomina de realimentacin de estado se muestra
en la figura 9.2. Como se ver en la seccin 9.4, las matrices C y D no intervienen a la hora de ubicar los
polos mediante la matriz de ganancia K.
Ntese que la definicin de la seal de control exige la hiptesis restrictiva que todas las variables de estado puedan ser medidas directamente. Ms adelante en el captulo, en la seccin 9.5, se ver
cmo superar esta restriccin mediante un observador de estado.
Se demuestra que la condicin necesaria y suficiente para que el sistema admita que sus polos
en lazo cerrado se puedan ubicar en cualquier posicin del plano s, es que el sistema sea completamente
controlable
Planta
D
u(t)
x(t )
dt
x(t)
y(t)
A
-K
9.3 Controlabilidad
Dado un sistema situado en un estado inicial arbitrario x(t0), se dice que es completamente controlable si puede ser llevado a otro estado x(tf) mediante un vector de entrada (seal de control) sin restricciones en un tiempo finito.
El concepto de controlabilidad y el que se trata posteriormente en el captulo de observabilidad
fueron introducidos por Robert E. Kalman en el ao 1961 [7], y su importancia radica en que permiten
determinar la existencia de una solucin completa para la implementacin de un sistema de control.
Dado el sistema definido en (9.1) se comenzar pues por resolver la ecuacin de estado a partir
de un instante inicial x(t0) = x(0), de forma que la solucin, si existe, ha de ser vlida para cualquier t.
Aplicando pues la transformada de Laplace a la primera ecuacin del sistema (9.1) se tiene que [9]:
sX( s ) x(0) = AX( s ) + BU ( s )
o tambin
con lo cual,
1
1
x(t ) = L 1 ( sI A ) x(0) + L 1 ( sI A ) BU( s)
(9.3)
como se puede apreciar en la ecuacin anterior, representa el paso del sistema del estado inicial x(0) al
final x(t). Entonces, teniendo en cuenta la integral de convolucin
t
L 1 [ F1 ( s )F2 ( s ) ] = f1 (t ) f 2 ( )d
0
la ecuacin (9.3) puede ser escrita en funcin de la matriz de transicin de estado como
(9.4)
Se va a ver ahora una solucin alternativa para resolver la ecuacin de estado, la cual es muy intuitiva. Si
la entrada u(t) del sistema es cero, la ecuacin de estado es homognea de la forma
x(t ) = Ax(t )
(9.5)
Esto es, la primera derivada de (t ) debe ser igual a A(t ) y (0) ha de valer la matriz identidad I. Inmediatamente se deduce que una solucin a ensayar es la funcin exponencial matricial e At . En
efecto,
x(t ) = e At x(0)
(9.6)
es una solucin de la ecuacin homognea, ya que para la x(t) dada en (9.6) se cumple la ecuacin (9.5).
Se v pues que la matriz exponencial e At constituye una expresin vlida para la matriz de transicin de estado, con lo cual la expresin (9.4) puede ser escrita tambin como
t
x(t ) = e At x(0) + e A ( t ) B u( ) d
(9.7)
La cuestin de controlabilidad esbozada al principio de esta seccin puede resumirse en la siguiente pregunta, existe un vector de control u() que d solucin a la ecuacin (9.7)?, esto es, un vector
que permita llevar al sistema desde el estado inicial x(0) a otro estado final cualquiera x(t). El concepto de
controlabilidad radica pues en estudiar si existe una entrada u(t) que permita el cumplimiento de la igualdad anterior.
Tanto la ecuacin (9.4) como la (9.7) son solucin de la ecuacin de estado definida en (9.1). La
solucin se compone de dos trminos perfectamente definidos, uno dependiente del vector de estado
inicial y otro del vector de entradas.
Suponiendo, sin prdida de generalidad ninguna, que el estado inicial ocurre en t = 0, y que el
estado final es el origen del espacio de estado x(tf) = 0, la ecuacin (9.7) puede ser escrita como
tf
0=e
At f
x(0) + e
A ( t f )
B u( ) d
o tambin,
tf
x(0) = e A B u( ) d
(9.8)
e A = 0 ( )I + 1 ( ) A + 2 ( ) A 2 + + n 1 ( ) A n 1 = k ( ) A k
(9.9)
k =0
donde los k ( ) (k = 0,1, , n 1) son coeficientes que se determinan a partir de la propia matriz conocida A. Sustituyendo pues en (9.8) el valor de e A t dado por (9.9), se tiene que
n 1
tf
k =0
x(0) = A k B k ( ) u( ) d
(9.10)
En general, la integral tendr un valor diferente para cada k , con lo cual, designando este valor
por wk, una vez recorridos todos los valores de la sumatoria, la ecuacin (9.10) se escribir como
x(0) = ( B . w 0 + A B . w1 + A 2 B . w 2 + + A n 1 B . w n 1 )
= (B
AB
A2 B
w0
w1
A n 1 B )
w
n 1
(9.11)
La expresin anterior debe entenderse en su justo trmino, esto es, como el producto de dos
matrices donde cada uno de sus n elementos son matrices de n r en el primer parntesis y de r 1 en el
segundo. Entonces, la dimensin de la primera matriz es n nr y la de la segunda nr 1. Por supuesto, la
multiplicacin entre las dos matrices ha de entenderse por cajas, donde cada una de ellas estn separadas
por lneas de puntos.
A partir de este anlisis y de la ecuacin (9.11), la condicin para la controlabilidad completa del
estado puede establecerse mediante el siguiente teorema:
Teorema
La condicin necesaria y suficiente para que un sistema de orden n definido por su modelo de estado
(9.12)
Demostracin:
Condicin necesaria: Si la planta es completamente controlable es necesario que existan n columnas de la
matriz Mc linealmente independientes. En efecto, rescribiendo la ecuacin (9.11),
x(0) = B . w 0 + AB . w1 + + A n 1B . w n 1
se observa, teniendo en cuenta (9.12), que el estado alcanzado por la planta es combinacin lineal de las n
cajas de la matriz Mc, por tanto, para que la planta pueda evolucionar a cualquier punto del espacio de
estado de n dimensiones, es necesario que entre las n r columnas de la matriz Mc haya n linealmente
independientes o, tambin, que sus n filas lo sean.
Condicin suficiente: Ntese en la ecuacin (9.11) que todos los estados que pueden ser alcanzados desde
el origen, estn abarcados por las cajas de la matriz de controlabilidad. Por lo tanto, si el rango de tal
matriz es n, existe una matriz de control ( w 0 w 2 w n 1 ) que satisface la ecuacin (9.11). En consecuencia, la condicin de que el rango de la matriz de controlabilidad sea n da una condicin suficiente
para la controlabilidad completa del estado.
El rango de una matriz es el nmero mximo de columnas linealmente independientes, y tambin el mximo nmero de filas linealmente independientes.
Ejemplo 9.1
Dado el sistema:
x1 0 2 1 x1 1 0
u
1 0 x2 + 0 2 1
x2 = 0
x 1 4 3 x 0 5 u2
3
3
a) Discutir si es o no controlable.
b) Se cumplira la condicin de controlabilidad utilizando una sola de las entradas?.
a) A partir de las ecuaciones de definicin del sistema y de la ecuacin (9.12) se deduce que
0 1
1 3
AB = 0 2 y A 2 B = 0 2
1 7
3 12
por tanto,
1 0
Mc = 0 2
0 5
0 1
0 2
1
1 3
0 2
3 12
Utilizando las tres primeras columnas por ejemplo, se observa que el rango es 3, con lo cual se infiere que
el sistema es controlable utilizando las dos entradas disponibles. Esto es, siempre ser posible encontrar el
vector de control adecuado u(t) que lleve al sistema desde un estado inicial a otro cualquiera.
b) Si se utiliza slo la primera entrada, la nueva matriz B, denominada ahora B1, tendr una sola columna,
la primera, con lo cual,
0
1
1 0 1
2
AB1 = 0 y A B1 = 0 , por tanto M c1 = 0 0 0
1
3
0 1 3
Ntese que la nueva matriz de controlabilidad es singular, y por tanto, su rango es inferior a 3, concretamente 2, con lo cual, mediante la entrada u1 exclusivamente no es posible llevar al sistema desde un punto
cualquiera a otro del espacio de estado.
Ahora, utilizando slo la segunda entrada se tiene que
1
3
0 1 3
2
AB 2 = 2 y A B 2 = 2 , con lo cual c 2 = 2 2 2
7
12
5 7 12
cuyo rango es 3, por tanto, utilizando slo la segunda entrada, el sistema puede ser llevado a cualquier
punto del espacio de estado a partir de uno inicial dado .
Planta
r(t) +
u(t)
x(t)
y(t)
Kx(t)
(9.13)
(9.14)
en donde K = ( k1
(9.15)
k 2 kn ) .
Sustituyendo en la ecuacin (9.13) el valor dado de u(t) en (9.15), se tiene que el modelo de estado del
sistema en lazo cerrado es:
(9.16)
Ahora, aplicando la transformada de Laplace a las ecuaciones (9.16) y (9.14) con condiciones iniciales
nulas:
X( s ) = ( sI A + BK ) B R ( s )
(9.17)
Y ( s ) = CX( s )
(9.18)
Sustituyendo (9.17) en (9.18) se obtiene la funcin de transferencia del sistema en lazo cerrado:
Y ( s)
1
= C ( sI A + BK ) B
R(s)
(9.19)
Esto es,
El diseo por ubicacin de polos cuando la seal de control es un vector se puede encontrar por ejemplo en Domnguez, S.; et al. Control en el Espacio de Estado. Pearson Educacin, S. A., Madrid, 2002.
Y (s)
Q(s)
=
R( s ) sI A + BK
(9.20)
sI A + BK = ( s p1 )( s p2 )( s pn ) = 0
(9.21)
En esta ecuacin hay n incgnitas k1, k2, ..., kn y n coeficientes conocidos en la parte derecha de
la igualdad de polinomios. Para calcular las ganancias desconocidas basta con igualar los coeficientes en
(9.21).
Ntese que por medio de la realimentacin del vector de estado se modifica la ubicacin de los
polos de la funcin de transferencia del sistema en lazo cerrado, sin embargo, los ceros permanecen
inalterados.
Ejemplo 9.2
0
1 x(t ) + 0 u (t )
x(t ) = 0
6 11 6
10
y (t ) = (1 0 0 ) x(t ) + 0u (t )
Obtener la matriz de ganancia necesaria K para ubicar los polos en lazo cerrado en s1 = 2 + j 2 3 ,
s2 = 2 j 2 3 y s3 = 10 .
En primer lugar se ha de comprobar si el sistema es completamente controlable, para ello el
rango de la matriz de controlabilidad M c = ( B AB A 2 B ) ha de ser 3. En efecto,
0
10
0
M c = 0 10 60
10 60 250
y su rango es 3.
Ahora, la ecuacin (9.21) se escribir para este sistema como
1 0 0
s 0 0 0
0
1 + 0 ( k1
0 s 0 0
0 0 s 6 11 6 10
k2
)(
esto es,
s
0
1
s
6 + 10k1 11 + 10k2
k 3 ) = s + 2 j 2 3 s + 2 + j 2 3 ( s + 10 )
0
1
s + 6 + 10k3
= s 3 + 14 s 2 + 56 s + 160
Igualando coeficientes,
6 + 10k3 = 14, 11 + 10k2 = 56, 6 + 10k1 = 160
con lo cual,
k3 = 0,8 k2 = 4,5 k1 = 15, 4
Ciertamente, el modo presentado de clculo de la matriz K si bien es intuitivo y directo, es bastante tedioso cuando el orden n es elevado. No obstante, como se ver ms adelante, esto tampoco tiene
mayor importancia, ya que MATLAB tiene implementados algoritmos que resuelven este problema de
forma automtica.
J. E. Ackermann present en 1972 [1] una frmula cuyo algoritmo tiene implementado MATLAB,
la cual es de uso muy extendido para la determinacin de la matriz de ganancia K. Dicha frmula es
K = ( 0 0 0 1) ( B AB A n 1B ) ( A )
1
(9.22)
(9.23)
(9.24)
Como se puede apreciar, este algoritmo est basado en el teorema de Cayley Hamilton que
establece que toda matriz es solucin de su propia ecuacin caracterstica [10].
Ejemplo 9.3
0
= 0
6 11
154 45
= 40 66
18 15
0
1 0
1 0
0
0
1 0 0
1 + 14 0
0
1 + 56 0
0
1 + 160 0 1 0
6 11 6
6 11 6
0 0 1
6
3
84
10
M c = ( B AB A 2 B ) = 0 10 60
10 60 250
con lo cual,
0
10
0
K = ( 0 0 1) 0 10 60
10 60 250
154 45 8
40 66 3 = (15, 4 4, 5 0,8 )
18 15 84
El mtodo de ubicacin de polos mediante la frmula de Ackermann puede llegar a ser incluso
ms tedioso que el directo para clculos de lpiz y papel, sin embargo, su desarrollo completamente matricial permite disear algoritmos para su implementacin mediante programas de ordenador.
Aunque en teora pueda parecer que los polos de lazo cerrado de un sistema se podran ubicar en
cualquier lugar del plano s, se ha de tener en cuenta que el sistema ha de ser fsicamente realizable, esto
es, si se intenta forzar al sistema a responder de forma demasiado rpida, se generaran seales excesivamente grandes, lo cual llevara al sistema a funcionar de forma no lineal (entrara en saturacin) y el mtodo de diseo ya no sera de aplicacin, ya que solamente lo es para sistemas lineales e invariantes con el
tiempo. En cualquier caso, siempre es conveniente simular por computador el sistema para diferentes
matrices K (una por cada ubicacin de polos elegida), lo cual permitir decidir sobre el mejor modo de
funcionamiento.
9.5
Observabilidad
Esto mismo aplicado a un sistema de control se puede enunciar del modo siguiente:
Dado un sistema definido por su modelo de estado:
(9.25)
se dice que es completamente observable si el estado x(t0) = x(0) se determina a partir del conocimiento
de la entrada u(t) y de la observacin de la salida y(t) durante un tiempo finito t, t0 t t f . Esto se ilustra
de forma esquemtica en la figura 9.4.
11
Sistema observable
u(t)
y(t)
y (t ) = Cx(t ) + Du(t )
Conocimiento de
x(0)
Figura 9.4: Estimacin del vector de estado a partir del conocimiento de la entrada y la salida del sistema
Entonces, sustituyendo la ecuacin (9.7) en la ecuacin de salida del modelo de estado dado en (9.25), se
tiene que
t
y (t ) = Ce At x(0) + C e A ( t ) B u( ) d + Du(t )
0
En la ecuacin anterior puede verse que la relacin entre x(0) e y(t) est gobernada por el primer
sumando del lado derecho, ya que el resto de sumandos son cantidades dadas y conocidas. Asumiendo
pues, sin prdida de generalidad ninguna, que en la expresin anterior la entrada es nula, se puede escribir
que
y (t ) = Cx(0)e At
(9.26)
y (t ) = k (t )CA k x(0)
k =0
esto es,
y (t ) = 0 (t )C + 1 (t )CA + 2 (t )CA 2 + + n 1 (t )CA n 1 x(0)
(9.27)
o tambin,
y (t ) = ( 0
1 2
CA
x(0)
n 1 )
CA n 2
n.1
CA
(9.28)
El parntesis del centro de la expresin anterior ha de entenderse como una matriz donde cada uno de sus
n elementos son a su vez matrices de dimensin m n , ya que la dimensin de C es m n y la de A
n n . En consecuencia, el parntesis del centro contiene una matriz de m n filas y n columnas, esto es,
de dimensin mn n . Por supuesto, la multiplicacin entre las tres matrices anteriores ha de concebirse
por cajas, separadas cada una de ellas por lneas de puntos.
El anlisis anterior permite intuir el enunciado del teorema de observabilidad:
12
Teorema
La condicin necesaria y suficiente para que una planta de orden n definida por su modelo de estado
CA
M o = CA 2
CA n 1
(9.29)
Demostracin
Condicin necesaria. Cada fila de la matriz Mo define un vector, en consecuencia, si su rango es inferior
a n existe algn vector que es ortogonal a todas las filas de la matriz Mo4 [10], con lo cual, si este vector
se denomina x(0) se cumple que
M o x(0) = 0
lo cual ira en contra de la definicin de observabilidad, ya que el estado (vector) x(0) no puede determinarse a partir de la observacin de y(t), puesto que el sistema evoluciona con salida nula a partir de x(0).
Condicin suficiente. Dada la expresin (9.26), si se tiene que
y (t ) = Cx(0)e At = 0
Esto se puede ver de forma clara considerando, sin prdida de generalidad ninguna, el espacio R3. Si se supone que
en l hay dos vectores dependientes, stos estn situados sobre una misma recta que pasa por el origen, con lo cual,
un tercer vector no dependiente slo puede definir con stos un plano. Por tanto, hay vectores en R3 que sern ortogonales a este plano y, como consecuencia, a los tres vectores anteriores.
13
Por tanto, e At x (0) es ortogonal a todas las filas de Mo, y ello slo es posible si el rango de Mo es inferior a
n.
Ejemplo 9.4
Dado el sistema:
x1 0 2 1 x1 1 0
u
1 0 x2 + 0 2 1
x2 = 0
x 1 4 3 x 0 5 u2
3
3
x1
y1 4 0 0
=
x2
y2 0 2 4 x
3
a) Discutir si es o no observable
b) Se cumplira la condicin de observabilidad utilizando una sola de las salidas?.
a) A partir de las ecuaciones de definicin del sistema y de la ecuacin (9.12) se deduce que
0 8 4
4 24 12
2
CA =
y CA =
4 14 12
12 54 32
por tanto,
0
0
4
0
2
4
0
8
4
Mo =
4 14 12
4 24 12
12 54 32
Utilizando las tres primeras filas por ejemplo, se observa que el rango es 3, con lo cual se deduce que el
sistema es observable utilizando las dos salidas disponibles. Esto es, siempre ser posible encontrar el
vector de estado x(t0) = x(0) a partir del conocimiento del vector de control u(t) y de la observacin del
vector de salida y(t) durante un tiempo finito t.
b) Si se utiliza slo la primera salida, la nueva matriz C, denominada ahora C1, tendr una sola fila, la
primera, por tanto,
C1 A = ( 0 8 4 )
0
4 0
y C1 A = ( 4 24 12 ) , por tanto M o1 = 0 8 4
4 24 12
El rango de la nueva matriz de observabilidad es 2, con lo cual, mediante el conocimiento del vector de
control u(t) y la observacin de la salida y1(t) exclusivamente no es posible llegar a conocer el vector de
estado.
Ahora, utilizando slo la segunda entrada se tiene que
2 4
0
= 4 14 12
12 54 32
14
cuyo rango es 3, por tanto, utilizando slo la observacin de la segunda salida, es posible conocer el vector de estado.
Planta
u(t)
x(t)
x(t ) = Ax(t ) + Bu(t )
OBSERVADOR
y(t)
C
x (t )
Teorema
Dada la planta lineal, invariante y observable:
x(t ) = Ax(t ) + Bu(t )
y (t ) = Cx(t )
(9.30)
(9.31)
15
x (t ) = Ao x (t ) + Bo u(t ) + K o y (t )
y (t ) = Cx(t )
(9.32)
Si los estados de ambos sistemas coinciden en un instante t0, x(t0 ) = x(t0 ) , entonces los estados
coinciden para todo instante posterior x (t ) = x(t ) para cualquier entrada u(t) aplicada sobre el
sistema.
2.
x(t ) debe tender asintticamente al estado x(t) para cualquier entrada u(t) y para cualesquiera
estados iniciales x(t0 ) y x(t0 ) .
Estas dos condiciones imponen diversas restricciones a las matrices del observador. As, si se define
el vector de error como la diferencia entre el estado real y el estimado:
e(t ) = x(t ) x (t )
(9.33)
(9.34)
Para que la entrada sea cual sea no influya en que los estados coincidan se debe cumplir que:
Bo = B
e(t ) = ( A K o C ) x(t ) Ao x (t )
2.
(9.35)
Dada la ecuacin anterior, para que los estados coincidan en todo instante se debe cumplir que:
Ao = A K oC
e(t ) = ( A K o C ) e(t )
(9.36)
Como puede observarse de esta expresin, la dinmica de la diferencia entre las variables de estado y las variables estimadas est gobernada por la matriz
A K oC
Sustituyendo los valores deducidos de Ao y Bo en la ecuacin (9.32) del observador se tiene que
su modelo de estado es:
x (t ) = ( A K o C ) x (t ) + Bu(t ) + K o y (t )
(9.37)
16
Aplicando el principio de superposicin desde cada uno de los vectores de entrada al vector de
salida, y procediendo como en la seccin 9.4 para obtener la ecuacin (9.20), queda claro que la
ecuacin caracterstica del observador es
sI A + K o C
luego si los estados iniciales no coinciden, x(t0 ) x(t0 ), el estado estimado debe tender asintticamente al estado del sistema, por lo que los autovalores de la matriz A KoC deben estar situados en el semiplano izquierdo.
Por supuesto que no basta con colocar simplemente los autovalores de la matriz A KoC en el semiplano
izquierdo, ya que la dinmica del observador ha de ser ms rpida que la de la planta, lo cual ha de permitir que las variables de estado se estimen ms deprisa que la variacin de stas, es decir, cualquier diferencia entre el estado real y el estimado deber tender asintticamente a cero con una velocidad adecuada.
Es aconsejable ubicar los polos del observador en funcin de los polos dominantes de lazo cerrado del sistema a estimar. As, con objeto de que el error decaiga rpidamente, el observador se hace de
dos a cuatro veces ms rpido que el sistema en lazo cerrado. Como regla prctica se suele utilizar ubicar
los polos del observador entre el doble y el cudruplo de la distancia al eje imaginario correspondiente a
los polos dominantes del sistema en lazo cerrado. En cualquier caso sigue siendo vlida la recomendacin
de simular el sistema para diferentes matrices Ko y optar por la que ofrece mejor desempeo.
Decidida pues por el diseador la ubicacin de polos del observador, la igualdad
sI A + K o C = ( s po1 )( s po 2 ) ( s pon ) = 0
(9.38)
Planta
u(t)
x(t )
dt
x(t)
y(t)
A
Observador de estado de orden completo
x (t )
dt
x (t )
Ko
17
Tambin ahora, al igual que ocurra para la matriz de realimentacin de estado, la matriz de ganancia del
observador de estado se puede obtener a partir de la frmula de Ackermann, la cual se escribe en este
caso como:
C
CA
K o = ( A )
n 1
CA
0
0
1
(9.39)
(9.40)
con lo cual,
( A ) = A n + 1 A n 1 + + n 1 A + n I
Adems de la frmula mencionada, existen otros mtodos matriciales para calcular Ko, sin embargo no se va a reparar en ellos, ya que lo interesante es que el lector comprenda el concepto y su uso,
puesto que del tedio que supone la mecnica de clculo se encargar MATLAB como se ver ms tarde.
Ejemplo 9.5
Dado el sistema del ejemplo 9.2, disear un observador de estado de orden completo cuya matriz
de ganancia Ko tenga por valores caractersticos
po1 = 4 + j 3, po 2 = 4 j 3,
po3 = 20
En primer lugar se ha de comprobar que el sistema es completamente observable. Para ello, se tiene de las
matrices de definicin del sistema y de la ecuacin (9.29) que
1 0 0
Mo = 0 1 0
0 0 1
cuyo rango es 3. Por tanto, el sistema es completamente observable y admite el diseo de un observador
de estado. Aplicando la ecuacin (9.38),
1 0 ko1
s 0 0 0
sI A + K o C = 0 s 0 0
0
1 + ko 2 (1 0 0 ) =
0 0 s 6 11 6 k
o3
)(
= s + 4 j 3 s + 4 + j 3 ( s + 20 )
luego
s + ko1
ko 2
6 + ko 3
11 s + 6
18
con lo cual,
ko1 = 22,
por tanto,
22
K o = 42
120
(9.41)
Ntese que el sistema en cuestin tendr un diagrama de bloques semejante al de la figura 9.6, con el
aadido que la seal de control se obtiene ahora desde el observador de estado de orden completo a travs
de la matriz de ganancia K. Esto se muestra en la figura 9.7.
Con objeto de introducir en (9.41) el vector de error e(t ) = x x , se le suma y se le resta a esta
ecuacin el trmino BKx(t ), con lo cual,
(9.42)
Repitiendo ahora por comodidad la ecuacin de estado del error dada en (9.36):
e(t ) = ( A K o C ) e(t )
(9.43)
se pueden asociar los vectores de estado dados en (9.42) y (9.43) en uno nico:
x(t ) A BK
=
e(t ) 0
BK x(t )
A K o C e(t )
(9.44)
sI 0 A BK
0 sI 0
21
=0
A K oC
BK
esto es,
sI A + BK sI A + K o C = 0
(9.45)
La ecuacin anterior pone de manifiesto que el diseo de la ubicacin de polos para la planta es
independiente del diseo del observador, lo cual permite dividir el proceso de diseo en dos etapas separadas, a saber, primero de determina la matriz de ganancia de realimentacin K para obtener la ubicacin
de polos deseada para la planta, y a continuacin se determina la matriz Ko para la ubicacin de polos
deseada del observador.
De la ecuacin anterior se deduce que el nmero total de polos del conjunto planta - observador
de estado es la suma de los producidos por cada uno por separado, con lo cual, si los correspondientes al
observador estn situados lo suficientemente a la izquierda de los correspondientes a la planta, su respuesta transitoria decaer mucho ms rpidamente y, como consecuencia, los polos dominantes sern los correspondientes a la planta.
Planta
u(t)
x(t )
dt
x(t)
y(t)
-K
x (t )
dt
x (t )
Ko
Observador de estado de orden completo
Figura 9.7: Sistema planta observador con realimentacin de estado
22
Consideremos pues que del vector de estado x(t) se pueden medir con precisin las variables de
estado representadas por el vector x1(t) y se han de estimar las agrupadas en el vector x2(t). Entonces, la
ecuacin de estado de la planta
x(t ) = Ax(t ) + Bu(t )
=
x 2 (t ) A 21
A12 x1 (t ) B1
+ u(t )
A 22 x 2 (t ) B 2
(9.46)
donde A11 es una submatriz cuadrada con igual nmero de filas y columnas que la dimensin de x1(t). En
cuanto a B1 es otra submatriz cuyo nmero de filas es igual a la dimensin de x1(t).
Respecto a la salida, si se considera que el vector es completamente medible, la ecuacin y(t) =
Cx(t) se puede escribir como:
x (t )
y (t ) = ( I 0 ) 1
x 2 (t )
(9.47)
Desarrollando la ecuacin (9.46) es posible escribir las expresiones de los estados medibles,
x1 (t ) = A11x1 (t ) + A12 x 2 (t ) + B1u(t )
(9.48)
x 2 (t ) = A 21x1 (t ) + A 22 x 2 (t ) + B 2 u(t )
(9.49)
y no medibles
Reagrupando la ecuacin (9.48) para separar lo conocido de lo que hay que estimar,
x1 (t ) A11x1 (t ) B1u(t ) = A12 x 2 (t )
(9.50)
Ahora se van a comparar las ecuaciones de partida (ecuaciones de la planta) cuando el orden del
observador ha de ser completo y cuando es reducido. Para hacer la comparacin se asocia lo que hay que
estimar de la planta en el caso del diseo de un observador de orden completo (el vector de estado x(t)),
con lo que hay que estimar en el caso de un observador de orden reducido (la parte a observar del vector
de estado, x2(t)). En cuanto a lo conocido, se asocian los vectores u(t) e y(t) de la planta para el caso del
diseo de un observador de orden completo, con los vectores u(t) y x1(t) correspondientes al diseo de un
observador de orden reducido. En consecuencia, las ecuaciones correspondientes al modelo general de la
planta, y las correspondientes al modelo donde se separan los estados a estimar y medibles (ecuaciones
(9.49) y (9.50)) pueden ser comparadas de la forma siguiente:
x(t ) = Ax(t ) + Bu(t )
x 2 (t ) = A 22 x 2 (t ) + [ A 21x1 (t ) + B 2 u(t ) ]
y
y (t ) = Cx(t )
Se v pues que para efectuar el desarrollo del observador de estado de orden reducido, en vez de
partir de las ecuaciones de la planta tal cual, se han de realizar las sustituciones siguientes:
23
x(t ) x 2 (t )
A A 22
Bu(t ) A 21x1 (t ) + B 2 u(t )
(9.51)
y (t ) x1 (t ) A11x1 (t ) B1u(t )
C A12
Entonces, si el modelo del observador de estado de orden total es el dado por la ecuacin (9.37):
x (t ) = ( A K o C ) x (t ) + Bu(t ) + K o y (t )
pero, tal como establece (9.47), y (t ) = x1 (t ) , por tanto, la ecuacin final del observador de orden reducido es
x 2 (t ) = ( A 22 K o A12 ) x 2 (t ) + ( B 2 K 0 B1 ) u(t ) + K o y (t ) + ( A 21 K o A11 ) y (t )
(9.52)
sI A 22 + K o A12 = ( s p1 )( s p2 )( s pn m ) = 0
(9.53)
A A
K o = ( A 22 ) 12 22
n m 1
A12 A 22
(9.54)
( s p1 )( s p2 )( s pn m ) = s n m + 1s n m 1 + + n m 1s + n m
con lo cual,
( A 22 ) = A n22 m + 1 A n22 m 1 + + n m 1 A 22 + n m I
(9.55)
Por ltimo, al igual que ocurra cuando se dedujo la ecuacin (9.45), tambin ahora, haciendo las sustituciones pertinentes segn (9.51), se tiene que la ecuacin caracterstica del sistema observador de orden
reducido es:
sI A + BK sI A 22 + K o A12 = 0
(9.56)
Esto es, los polos en lazo cerrado del sistema de control mediante la realimentacin de estado estn formados por el diseo mediante la ubicacin de polos de la planta nicamente, ms los polos originados
24
por el solo diseo del observador de estado de orden reducido. Por tanto, ambos diseos son independientes.
Ejemplo 9.6
Sea el sistema completamente controlable dado por
1 0
0
0
x(t ) = 0 0 1 x(t ) + 0 u (t )
1 2 1
1
y (t ) = (1 0 0 ) x(t )
Se desea:
a)
Determinar el vector de realimentacin de estado que sita todos los polos del sistema en lazo
cerrado en s = -1.
b) Asumiendo que la salida es medible con precisin, disear un observador de orden mnimo con
todos sus polos en s = -4.
c)
Puesto que como establece la expresin (9.56) los diseos solicitados en los apartados a) y b) pueden
realizarse por separado, se proceder en primer lugar a calcular el vector de ganancia de realimentacin
de estado K.
a) Aplicando la expresin (9.21),
1 0 0
s 0 0 0
0 s 0 0 0 1 + 0 ( k1
0 0 s 1 2 1 1
k2
k3 ) = ( s + 1)3
luego,
s
2 + k2
1 + k1
= s 3 + 3s 2 + 3s + 1
s + 1 + k3
s 3 + (1 + k3 ) s 2 + ( 2 + k2 ) s + 1 + k1 = s 3 + 3s 2 + 3s + 1
Por tanto, el vector de realimentacin de estado vale:
K = ( 0 1 2)
b) Tal como puede verse en las ecuaciones de definicin del sistema, y (t ) = x1 (t ) , con lo cual, al ser esta
variable medible, el nmero de variables de estado a estimar es 2, x2(t) y x3(t). Utilizando pues la metodologa desarrollada a partir de la ecuacin (9.46) se tiene que:
0 1
0
0
A11 = 0, A 22 =
, A12 = (1 0 ) , A 21 = , B1 = 0 y B 2 =
2
1
1
25
Ahora, puesto que la matriz de estado del subsistema a observar es A22, se ha de comprobar si
dicho subsistema es totalmente observable. Para ello, basta con aplicar por ejemplo la expresin (9.29), la
cual para este caso (ver sustituciones en (9.51)) se escribir como:
A12 1 0
Mo =
=
A12 A 22 0 1
+ (1 0 ) = ( s + 4)
0 s 2 1 ko 2
Esto es,
s 2 + (1 + ko1 ) s + 2 + ko1 + ko 2 = s 2 + 8s + 16
con lo cual,
ko1 = 7 y ko 2 = 7
por tanto,
7
Ko =
7
c) Combinando la ecuacin del observador de orden mnimo con la de realimentacin de estado (ecuacin
(9.52)) se llega a que
7 1
0
7
0
x 2 (t ) =
x 2 (t ) + u (t ) + y (t ) + y (t )
9 1
1
7
1
y
y (t )
u (t ) = Kx(t ) = K
x 2 (t )
con lo cual,
y (t )
u (t ) = ( 0 1 2 )
= (1 2 ) x 2 (t )
x 2 (t )
Las expresiones obtenidas permiten dibujar el diagrama de bloques que se muestra en la pgina siguiente.
26
Planta
0
0
1
u(t)
x(t )
dt
1 0
0
0 0 1
1 2 1
x(t)
(1
0 0)
y(t)
+
+
7
7
y (t )
Ko
0
1
B 2 K o B1
x 2 (t )
dt
x 2 (t )
d
dt
0
1
A 21 K o A11
7 1
9 1
A 22 K o A12
-K
(0
1 2 )
27
De lo dicho anteriormente es fcil deducir que para lograr que un sistema de control diseado
mediante ubicacin de polos por realimentacin de estado pueda seguir una seal de referencia tipo escaln, se ha de insertar un integrador en la trayectoria directa entre el comparador de error y la planta [8].
En la figura 9.8 se muestra un sistema de control con realimentacin de estado capaz de seguir sin error
una seal de referencia escaln (error de posicin nulo).
Planta
r(t) +
x0 (t )
dt
x0 (t )
-k0
u(t)
x(t )
dt
x(t)
y(t)
A
-K
y (t ) = Cx(t )
x0 (t ) = r (t ) y (t )
(9.57)
(9.58)
(9.59)
donde x(t) es el vector de estado de dimensin n, y r(t) e y(t) son la seal de referencia y de salida escalares respectivamente. La seal de control escalar u(t) depende de la realimentacin de estado y de la realimentacin integral mediante
donde
u (t ) = Kx(t ) k0 x0 (t )
(9.60)
K = ( k1
(9.61)
k2 kn )
x(t ) = Ax(t ) + Bu (t )
o, en forma matricial,
x0 (t ) 0 C x0 (t ) 0
1
+ u (t ) + r (t )
x(t ) 0 A x(t ) B
0
Defnase
x (t )
x (t )
0 C
0
x(t ) = 0 , x(t ) = 0 , A =
, B = , C = (0 C)
x(t )
x(t )
0 A
B
(9.62)
28
Para obtener la ecuacin de estado del sistema en lazo cerrado basta con sustituir en la expresin anterior
la ecuacin (9.60):
1
x(t ) = Ax(t ) BKx(t ) Bk0 x0 (t ) + r (t )
0
esto es,
1
x(t ) = A BK x(t ) + r (t )
0
(9.63)
donde,
K = ( k0
K ) = ( k0
k1 kn )
(9.64)
y(t ) = Cx(t )
(9.65)
Puesto que la ecuacin caracterstica del sistema es sI A + BK = 0, queda claro que si la matriz de controlabilidad
M c = B AB A 2 B A n B
(9.66)
(9.67)
permite ubicar los polos del sistema en lazo cerrado en el lugar deseado.
En la ecuacin (9.67) hay n + 1 incgnitas, k0, k1, ..., kn, y n + 1 coeficientes conocidos (polos)
decididos por el diseador, con lo cual, para calcular el vector de ganancia K basta con igualar los coeficientes. Como siempre, es aconsejable realizar varias simulaciones hasta encontrar el vector K ms adecuada.
Seleccionando las variables de estado con cuidado, de modo que una de ellas, por ejemplo x1(t)
sea igual a la salida y(t), se puede probar la capacidad de seguimiento del sistema a la entrada de referencia escaln [5, 11], ya que rescribiendo para t las ecuaciones (9.59) y (9.57), se tiene que
x0 () = 0 = r Cx()
x() = 0 = Ax() + Bu ()
Estas dos ecuaciones pueden ser escritas en la forma matricial conjunta siguiente:
0 C 0 x() r
=
+
0 A B u () 0
29
A B
x ( ) C 0 r
=
u ( ) A B 0
(9.68)
En cuanto al valor estacionario de la variable de estado x0(t) que incorpora el integrador al sistema, se
puede calcular a partir de la ecuacin (9.60) con t , ya que
u () = Kx() k0 x0 ()
con lo cual,
x0 () =
1
[u () + Kx()]
k0
(9.69)
En muchas ocasiones no estarn disponibles para su medida precisa todas las variables de estado,
de modo que habr que utilizar en el sistema de seguimiento tipo 1 un observador de estado del orden
necesario. En la figura 9.9 se muestra el sistema de la figura 9.8 con el observador de estado insertado. En
el captulo 13 se estudiar esto con detalle.
Planta
r(t) +
-
x0 (t )
dt
x0 (t )
-k0
+
+
u(t)
+
+
x(t )
dt
x(t)
Observador
-K
Figura 9.9: Sistema de control por realimentacin de estado tipo uno con observador
Ejemplo 9.7
Dada la planta definida por
1
0
0
x(t ) =
x(t ) + u (t )
0 25
1
y (t ) = (1 0 ) x(t )
Se trata de disear un servosistema mediante realimentacin de estado que permita el seguimiento sin
error de una seal de referencia tipo escaln.
Aplicando (9.62) se tiene en este caso que
y(t)
30
0
x0 (t )
0 1
0
1 , B = 0
x(t ) = x1 (t ) , A = 0 0
x (t )
0 0 25
1
2
En primer lugar se ha de demostrar la controlabilidad del sistema, para lo cual se aplica la expresin
(9.66):
0
1
0
Mc = 0
1 25
1 25 625
El rango de esta matriz es 3, por tanto, los valores caractersticos de sI A + BK se pueden colocar de
forma arbitraria.
Supngase que las especificaciones de diseo referidas al tiempo de asentamiento y al sobreimpulso
mximo exigen que las races del sistema en lazo cerrado se ubiquen en s1 = 4, s2 = 1 + j y s3 = 1 j.
Entonces, aplicando (9.67):
0 0
s 0 0 0 1
sI A + BK = 0 s 0 0 0
1 + 0 ( k 0
0 0 s 0 0 25 1
= ( s + 4 )( s + 1 j )( s + 1 + j ) = 0
k1
k2 )
esto es,
s
0
1
s
0
1
k0
k1
s + 25 + k2
= s 3 + 6s 2 + 10 s + 8 = 0
K = (10 19 )
Ahora, a modo de comprobacin, se puede verificar si en efecto el error de seguimiento es nulo. Para ello,
se escribe la ecuacin (9.68) aplicada a este ejercicio:
1
x1 () 1 0 0 r
1 0 0
x2 () = 0
u () 0 25 1 0
Esto es, teniendo en cuenta de la ecuacin de definicin de la planta que x1(t) = y(t),
y () 1 0 0 r
x2 () = 0 1 0 0
u () 0 25 1 0
luego
31
y () = r , x2 () = 0 y u () = 0
con lo cual se comprueba que en efecto la salida sigue sin error a la entrada.
Por ltimo, el valor estacionario de x0(t) se puede obtener aplicando la ecuacin (9.69), la cual se escribir
para este caso como
r 10
1
x0 () = 0 + (10 19 ) = r
8
0 8
Y ( s ) s m + bm 1 s m 1 + + b1 s + b0
=
U (s)
s n + an 1 s n 1 + + a1 s
(9.70)
donde n m, y todos los coeficientes a y b son nmeros reales. El modelo de la planta expresado en la
ecuacin (9.70) tendr la representacin de estado en la forma de variables de fase (ver captulo 3) siguiente:
x1 (t ) 0 1
x2 (t ) 0 0
xn 1 (t ) 0 0
x (t ) 0 a
1
n
y (t ) = ( b0
b1
0 x1 (t ) 0
0 x2 (t ) 0
+ u (t )
0
0 xn 1 (t ) 0
a2 an 1 xn (t ) 1
x1 (t )
x2 (t )
bn 2 bn 1 )
xn 1 (t )
x (t )
n
0
1
(9.71)
Con objeto de no modificar el tipo del sistema y que a la vez los polos puedan ser ubicados en el sitio
deseado por el diseador, se utiliza la configuracin de la figura 9.10. En ella, el vector de ganancia de
realimentacin de estado vale ahora
K = ( 0 k2
k3 kn )
(9.72)
Procediendo como hasta ahora en el captulo, es fcil intuir que la ecuacin caracterstica del sistema
debida a la realimentacin de estado (trayectoria directa) proceder de la matriz
1
0
0
0
A BK =
0
0
0 a k
1
2
0
1
0
a2 k3
an 1 kn
(9.73)
32
Planta
r(t) +
-
k1
u(t)
x(t )
dt
x(t)
y(t)
A
-K
Figura 9.10: Sistema de control con realimentacin de estado cuando la planta es de tipo 1.
luego el sistema con la realimentacin de estado contina siendo tipo 1 y adems, como se puede comprobar en la ecuacin (9.73), n 1 polos pueden ser modificados a voluntad por el diseador mediante la
matriz K.
De la figura (9.10) se deduce que la seal de control est dada por
u (t ) = Kx(t ) + k1 ( r (t ) y(t ) )
(9.74)
Ntese que si las variables de estado se escogen de forma que y(t) = x1(t) el problema se simplifica mucho, ya que teniendo en cuenta (9.72), la ecuacin (9.74) puede ser escrita como
u (t ) = Kx(t ) + k1 r (t )
(9.75)
K = ( k1
k 2 kn )
(9.76)
Esto es,
x(t ) = ( A BK ) x(t ) + Bk1r (t )
(9.77)
0
A BK =
0
k
1
a1 k2
a2 k 3
an 1 kn
(9.78)
Se v pues que en efecto, el sistema en su trayectoria directa (ecuacin 9.73) es de tipo 1, con lo cual, en
lazo cerrado tiene un error de posicin nulo. Tambin se puede comprobar inspeccionando la ecuacin
(9.78) que mediante la matriz K se pueden controlar las posiciones de todos los polos del sistema en lazo
cerrado.
33
Por ltimo, procediendo como en la seccin 9.9.1, se va a calcular el valor estacionario del vector de estado. As, a partir de la ecuacin (9.77) se deduce que
x( ) = 0 = ( A BK ) x( ) + Bk1r
Esto es,
x() = ( A BK ) Bk1r
1
(9.79)
Ejemplo 9.8
Dada la planta modelada por la funcin de transferencia siguiente
Y ( s)
1
=
U ( s ) s ( s + 5)( s + 6)
Disear un sistema de control que site los polos de lazo cerrado en 2 j 4 y 10, y que pueda seguir
sin error una seal de referencia tipo escaln.
Cuando como en este caso la seal de excitacin u(t) no contiene derivadas, el modelo de estado
de la planta se escribe (ver captulo 3) en la forma de variables de fase siguiente:
x1 (t ) 0 1 0 x1 (t ) 0
x2 (t ) = 0 0 1 x2 (t ) + 0 u (t )
x (t ) 0 5 6 x (t ) 1
3
3
(
)
x
t
1
y (t ) = (1 0 0 ) x2 (t )
x (t )
3
u (t ) = ( k1
k2
x1 (t )
k3 ) x2 (t ) + k1r (t )
x3 (t )
En primer lugar se ha de comprobar si la planta es controlable, para ello el rango de la matriz de controlabilidad M c = ( B AB A 2 B ) ha de ser 3. En efecto,
0 0 1
M c = 0 1 6
1 6 31
y su rango es 3.
Aplicando la ecuacin (9.78) para la planta dada, se tiene que la matriz del sistema de control en lazo
cerrado es
A BK = 0
k
1
1
0
5 k2
1
6 k3
0
34
sI ( A BK ) = ( s + 10 )( s + 2 j 4 )( s + 2 + j 4 )
Esto es,
s
k1
s + k2
1
= s 3 + 14 s 2 + 60 s + 200
s + 6 + k3
K = ( 200 55 8 ) y K = ( 0 55 8 )
A partir de lo calculado y de la ecuacin (9.77), se tiene que el modelo del sistema en lazo cerrado es
1
0 x1 (t ) 0
x1 (t ) 0
0
1 x2 (t ) + 0 r (t )
x2 (t ) = 0
x (t ) 200 60 14 x (t ) 200
3
3
x1 (t )
y (t ) = (1 0 0 ) x2 (t )
x (t )
3
Por ltimo, con objeto de comprobar de forma analtica la capacidad de seguimiento del sistema, se aplica
la ecuacin (9.79), de modo que para este caso se tiene que
1
0
x1 ()
0
0
1
x2 () = 0
x ( )
200 60 14
3
0 r
200
y ( )
0,3 0, 07 0, 0050 0
0
0 0 r
x2 () = 1
x ()
0
0 200
1
3
con lo cual,
y () = r ; x2 () = 0; x3 () = 0
Por tanto, se demuestra que, como exiga el diseo, la salida sigue fielmente a la entrada.
Seccin 9.10 Diseo con MATLAB de controladores analgicos por mtodos de espacio de estado
35
9.10 Diseo con MATLAB de controladores analgicos por mtodos de espacio de estado
En las sucesivas secciones que se han tratado hasta ahora en este captulo, siempre se ha hecho
hincapi en la cuestin que se han de realizar diferentes pruebas con los vectores de ganancia K hasta que
se encuentre el que mejor se adapte a los requerimientos de funcionamiento. Naturalmente, esta tarea que
sera ardua para clculos a mano se vuelve atractiva para simulaciones por computador5.
MATLAB, a travs del Control System Toolbox [12], dispone de las herramientas necesarias para
el diseo de controladores mediante la ubicacin de polos. As, la instruccin
K = place(A,B,p)
sI A + BK
en los valores especificados por el vector p.
MATLAB dispone tambin de una versin con argumento en el lado izquierdo para la funcin
place:
[K,precision,mensaje] = place(A,B,p)
precision devuelve el nmero de dgitos decimales que utiliza MATLAB para precisar lo prximo que
se encuentra el resultado obtenido a los valores que el usuario especific para p. Si alguno de los polos de
lazo cerrado calculados difiere ms de un 10% de la localizacin deseada, mensaje contendr un mensaje de aviso.
La ubicacin de polos se puede realizar tambin mediante la instruccin
K = acker(A,B,p)
La funcin acker est limitada a sistemas SISO y slo se deber usar para sistemas con un nmero de estados reducido.
La funcin place no permite ubicar polos cuyo ndice de multiplicidad sea superior al rango de
la matriz de entrada B.
Como complemento a las funciones anteriores, MATLAB dispone de las rdenes Mc = ctrb(A,B) y
Mo = obsv(A,C), las cuales devuelven respectivamente las matrices de controlabilidad y observabilidad. Obviamente, bastar con calcular a continuacin el rango de estas matrices para dilucidar si el sistema es totalmente controlable y observable.
Ejemplo 9.9
Resolver utilizando MATLAB el ejemplo 9.2.
La solucin es inmediata a travs del siguiente script:
A = [0 1 0;0 0 1;-6 -11 6];
B = [0 0 10]; C = [1 0 0];
rango = rank(ctrb(A,B))
5
Para el lector no avezado en la simulacin por computador de sistemas dinmicos se aconseja la consulta, y en su
caso el estudio de las referencias [2] y [3].
36
if rango < 3
fprint(El sistema no es controlable \n)
else
fprint(El sistema es controlable \n)
K = place(A,B,[-2+j*2*sqrt(3) 2-j*2*sqrt(3) 10])
end
Lo cual indica que las ubicaciones de polos deseadas se alcanzaron con una precisin de 15 dgitos .
Ejemplo 9.10
Se trata ahora de realizar con MATLAB los apartados a) y b) del ejemplo 9.6.
Para calcular el vector de ganancia de realimentacin de estado se procede como en el ejemplo
anterior, salvo que ahora al ser el sistema controlable y observable no es necesario hacer la comprobacin
previa. En este caso se va a utilizar la orden acker en vez de place, ya que el ndice de multiplicidad
de los polos a ubicar es 3 y el rango de la matriz de entrada B es 1.
Ntese tambin que para el clculo del vector de ganancia del observador de orden reducido no se puede
utilizar la orden
Ko = acker(A22,A12,[-4 4])
tal cual, como en principio se podra suponer a partir de la ecuacin (9.53), ya que tanto place como
acker requieren que las matrices involucradas tengan el mismo nmero de filas. Esto se soluciona fcilmente trasponiendo las matrices tal como se puede comprobar en el listado que se muestra a continuacin
%Diseo por ubicacin de polos utilizando un observador de orden
%reducido.
A = [0 1 0;0 0 1;-1 -2 -1];
B = [0 0 1]';C = [1 0 0];
Seccin 9.11 Ejemplo de diseo: Control de un pndulo invertido montado sobre una base mvil
37
9.11 Ejemplo de diseo: Control de un pndulo invertido montado sobre una base mvil
Imagnese que desea equilibrar un palo de escoba con la mano. Cuando el palo tiende a caer
hacia delante, se ha de empujar su base con la mano tambin hacia delante, con lo cual el extremo contrario del palo (la base de la escoba) se desplaza hacia atrs y se equilibra. Resulta evidente que si (t ) es el
ngulo que forma el palo de la escoba con la vertical, la nica condicin de equilibrio es
(t ) = 0 y d dt = 0. El principio fsico que ampara este sistema de control aparentemente tan rudimentario, se utiliza para equilibrar los cohetes al despegar, de modo que stos se mantengan siempre en posicin vertical y no caigan.
Un modelo mecnico que simula el sistema de control anterior, es el sistema de pndulo invertido montado sobre una base mvil que se muestra en la figura 9.10. El pndulo est unido a la base a travs de una
articulacin que le permite girar libremente, lo cual le hace inestable por naturaleza. Una vez equilibrado
en su posicin vertical, la ms mnima perturbacin le puede hacer caer en cualquier direccin, de modo
que tan solo el movimiento del carro gobernado por la seal (fuerza) de control u(t), a travs de un motor
por ejemplo que incorpore el sistema, le puede llevar de nuevo al equilibrio. Con objeto de simplificar el
problema se va a suponer que tal como se muestra en la figura 9.10 el movimiento se produce en dos
dimensiones solamente.
El sistema de pndulo invertido objeto de estudio puede moverse en el plano de la pgina tanto en un
movimiento pendular de su masa m como en un movimiento lineal de la base en la que va montado. En
primer lugar, antes de abordar el problema del control del pndulo para mantenerlo en posicin vertical,
se va a obtener su modelo matemtico (modelo de estado de la planta [6]). Para ello, a partir de la referencia que supone la articulacin que une el pndulo con la base, se realizan los diagramas de slido libre
[11] que se muestran en las figuras 9.11 (a), (b) y (c). Se considera que en el conjunto varilla + bola el
peso de la varilla es despreciable, de modo que el del conjunto est aplicado en el centro de gravedad de
la bola. La condicin inicial es x(t = 0) = 0 y (t = 0) = 0.
38
(a)
(b)
(c)
Figura 9.11: Diagramas de slido libre del pndulo invertido de la figura 9.10
d2x
= u Fx
dt 2
(9.80)
(9.81)
d2
( x + l sen )
dt 2
(9.82)
Fx = m
( M + m)
d2x
d 2sen
+ ml
=u
2
dt
dt 2
(9.83)
Seccin 9.11 Ejemplo de diseo: Control de un pndulo invertido montado sobre una base mvil
39
La ecuacin (9.81) no aporta informacin significativa, de modo que se precisa otra relacin, la
cual puede ser obtenida estudiando las componentes de las fuerzas en la direccin del movimiento de la
bola. As, de la figura 9.11 (c) se tiene que
mg sen = m
d2
1
( x + l sen )
cos
dt 2
(9.84)
Suponiendo que las desviaciones del pndulo son pequeas en torno a la posicin de equilibrio, se pueden
hacer las aproximaciones sen y cos 1. Con lo cual, las ecuaciones (9.83) y (9.84) pueden ser
linealizadas a:
( M + m)
d2x
d 2
+
ml
=u
dt 2
dt 2
(9.85)
mg = m
d2x
d 2
+
ml
dt 2
dt 2
(9.86)
Est claro que ante una seal de entrada u(t) el sistema responde con dos seales de salida claramente diferenciadas, a saber, el desplazamiento de la base x(t) y el del pndulo (t ) .
Despejando d 2 dt 2 de la ecuacin (9.86) y sustituyendo el valor obtenido en (9.85) se tiene
que
d2x 1
= ( u mg )
dt 2 M
(9.87)
d 2
1
=
( M + m ) g u
dt 2 Ml
(9.88)
Supnganse los valores numricos siguientes: M = 5 Kg, m = 0,25 Kg, l = 1 m y g = 9,8 ms-2. Entonces,
sustituyndolos en (9.87) y (9.88) se obtienen las ecuaciones que modelan el sistema de control del pndulo invertido:
d2x
= 0, 2u 0, 49
dt 2
d 2
= 10, 29 0, 2u
dt 2
(9.89)
(9.90)
(s)
0, 2
=
U ( s ) s 2 10, 29
(9.91)
lo cual demuestra que el sistema en lazo abierto es inestable, ya que tiene un polo s = 10, 29 en el semiplano derecho. No obstante, si se demuestra que el sistema es totalmente controlable, es posible ubicar los
polos del sistema en lazo cerrado de modo que adems de ser estable cumpla las especificaciones de diseo que se estipulen.
Ahora, utilizando las ecuaciones (9.89) y (9.90) se va a deducir la representacin en el espacio de
estados del sistema de pndulo invertido sobre una base mvil [13], para ello, teniendo en cuenta que el
sistema engendra un espacio de estado de 4 dimensiones, se puede hacer por ejemplo:
40
x1 = x, x2 = x, x3 = , x4 =
con lo cual, a partir de estas relaciones y de las ecuaciones (9.89) y (9.90) se tiene que
x1 = x2
x2 = 0, 2u 0, 49 x3
(9.92)
x3 = x4
x4 = 0, 2u + 10, 29 x3
Por otro lado, como ya se ha mencionado, las salidas del sistema son x(t) y (t ), con lo cual
y1 = x = x1
(9.93)
y2 = = x3
As pues, teniendo en cuenta (9.92) y (9.93) se tiene que un modelo matricial en variables de estado del
pndulo invertido montado sobre una base mvil es:
x1 0
x2 = 0
x3 0
x4 0
1
0
0 0, 49
0
0
0 10, 29
0 x1 0
0 x2 0, 2
+
u
1 x3 0
0 x4 0, 2
x1
y1 1 0 0 0 x2
=
y2 0 0 1 0 x3
x
4
(9.94)
s1,2 = n j n 1 2
y el tiempo de asentamiento del 2% por
ts =
se deduce que los polos dominantes han de estar ubicados en el plano complejo en
41
s1,2 = 1, 25 j 2, 0532
Por tanto, los dos polos restantes debern estar situados a al menos 5 veces la distancia de los dominantes.
Sean pues s3,4 = - 6,25.
A continuacin se va a proceder al clculo del vector de realimentacin de ganancia K que permite al sistema trabajar en las condiciones de desempeo deseadas. Para ello se emplear MATLAB tal
como se vio en la seccin 9.10. Adems, con objeto de comprobar el funcionamiento del sistema de control, se va a realizar una simulacin en la que se supone, a modo de ejemplo, que debido a una perturbacin externa el pndulo cae hacia atrs de forma sbita un ngulo de 0,15 radianes.
Para modelar un sistema con condiciones iniciales no nulas, como es este caso, se utiliza la orden de MATLAB siguiente:
[y,t,x]=initial(sistema,x0,t)
la cual permite simular la respuesta del modelo de estado sistema ante condiciones iniciales no nulas.
El vector x0 es el de condiciones iniciales, y el vector t el de tiempos, tinicial : t : t final . La orden initial tal cual est escrita devuelve el vector de salida y, el del tiempo usado para la simulacin t y las
trayectorias de las variables que integran el vector de estado x.
A continuacin se muestra el listado del programa en MATLAB que resuelve el diseo en cuestin. Ntese
que el sistema en lazo cerrado se modela mediante el objeto sistema y a travs de las matrices AA y C.
Ello se debe a que a partir de las ecuaciones del sistema en lazo abierto,
x(t ) = Ax(t ) + Bu (t )
y (t ) = Cx(t )
basta con sustituir la ley de control u (t ) = Kx(t ) para obtener que el modelo de estado del sistema en
lazo cerrado es
x(t ) = ( A BK ) x(t )
y (t ) = Cx(t )
42
end
0.8
Velocidad angular del pndulo, x4
0.6
0.4
0.2
0
-0.2
-0.4
Salida 1: Desplazamiento
de la base mvil, x1
-0.6
-0.8
-1
0.5
1.5
2
2.5
3 3.2 3.5
Tiempo en segundos
4.5
43
(0
0, 2 0 0, 2 )
x(t )
dt
x(t )
1 0 0 0
0 0 1 0
C
0
0
0
0
1
0
0
0 0, 49 0
0
0
1
0 10.29 0
(115,1573
-K
9.13: Sistema de regulacin para el pndulo invertido montado sobre una base mvil
0
A=
0
0
0
0 0, 49 0
0, 2
B=
C = (1 0 0 0 )
0
0
1
0
0 10, 29 0
0, 2
con lo cual, de (9.62) se deduce que los vectores y las matrices de la planta incluido el integrador externo
son
x0
0 1
x1
0 0
x(t ) = x2 A = 0 0
x3
0 0
0 0
x
0
1
0
0
0
0
0
0
0
0
0, 49 0 B = 0, 2 C = ( 0 1 0 0 0 )
0
1
0
0, 2
10, 29 0
Antes de seguir con el diseo del servosistema es preciso hacer un alto y realizar una reflexin. Cuando se
dise el sistema de regulacin (ver figura 9.13) se obtuvieron ganancias relativamente elevadas, lo cual
estaba provocado fundamentalmente por el tiempo de asentamiento algo exigente que se estableci. Ahora, cuando el pndulo ha de moverse adems 2 m., mantener este tiempo de asentamiento implicara ganancias del orden de 103 o superiores y una velocidad de la base mvil que podra ser excesivamente
elevada. Cuando se realiza la simulacin de un sistema, para que sta sea verdaderamente efectiva, han de
44
incorporarse a la misma todos los factores que influyan en el sistema real, de modo que siempre ha de
tenerse presente que se trata de controlar un sistema fsico con sus consiguientes limitaciones mecnicas,
lo cual implica a priori emplear unos ndices de desempeo ms conservadores. Por ello, manteniendo la
sobreelongacin mxima prxima al 15%, se considerar ahora un tiempo de asentamiento ms realista,
en torno a los 5 s. Esto implica ubicar un par de polos dominantes en s1,2 = 0,8 j1,3141 y el resto de
polos en s3,4,5 = -4.
A continuacin se muestra el listado del programa en MATLAB que resuelve este diseo. Las matrices
A, B y C (ver ecuacin (9.62)) se nombran en el programa como AA, BB y CC respectivamente, y las
matrices de lazo cerrado (ver ecuacin (9.63)) como AAA y BBB. Ntese al definir BBB cmo se tiene en
cuenta, segn la ecuacin (9.63), que r(t) = 2 m.
%SIMULACIN DE UN SERVOSISTEMA PARA UN PNDULO INVERTIDO
%MONTADO SOBRE UNA BASE MVIL
%Definicin de la planta sin el integrador externo:
A=[0 1 0 0;
0 0 -0.49 0;
0 0 0 1;
0 0 10.29 0];
B=[0 0.2 0 -0.2]';
C=[1 0 0 0];
%Definicin de la planta con el integrador externo:
AA=[0 -1 0 0 0;
0 0 1 0 0;
0 0 0 -0.49 0;
0 0 0 0 1;
0 0 0 10.29 0 ];
BB=[0 0 0.2 0 -0.2]';
CC=[0 1 0 0 0];
%Comprobacin de que el sistema es controlable:
rangoMMc=rank(ctrb(AA, BB))
if rangoMMc < 5
fprintf('El sistema no es controlable\n')
else
fprintf('El sistema es controlable \n')
%Clculo del vector de ganancias para la ubicacin
%de polos:
KK=acker(AA, BB, [-0.8+j1.3141 -0.8-j1.3141 -4 -4 -4])
%Ecuacin del sistema en lazo cerrado:
AAA=AA-BB*KK; BBB=[2 0 0 0 0]';
[y, x, t]=step(AAA, BBB, CC, 0, 1, [0:0.01:7]);
plot(t,x)
end
Al ejecutar este script MATLAB responde con la salida que se muestra a continuacin y la grfica de la
figura 9.14 que representa el comportamiento temporal de las variables de estado. Ntese en esta figura
cmo en efecto se cumple un tiempo de asentamiento de aproximadamente 5 s. y un sobreimpulso mximo en torno al 15 %. Ntese tambin, comparando las curvas de x1 y x3, cmo al principio la base mvil
se mueve hacia atrs para que el pndulo caiga hacia adelante. Inmediatamente despus, la base mvil
acelera movindose hacia adelante para equilibrar al pndulo.
rangoMMc =
5
El sistema es controlable
KK =
77.2852 -110.2088 -94.2140 -509.4931 -162.2140
Los resultados mostrados en la figura 9.14 correspondientes al estado final de la salida y de la variable de
estado originada por el trmino integral pueden ser comprobados de forma analtica. Para ello se reescribe
la ecuacin (9.68) aplicada a este caso:
x1 () 1
x2 () 0
x3 () = 0
x4 () 0
u ( ) 0
0
0
1
0
0 0, 49
0
0
0 10, 29
0
0
0
0
0 0, 2
1
0
0 0, 2
45
2 2
0 0
0 = 0
0 0
0 0
x() = 2, x() = 0, () = 0, () = 0 y u () = 0
Estos datos, que coinciden obviamente con los mostrados en la figura 9.14, indican que en efecto la salida
sigue a la entrada.
En cuanto a la variable de estado que introduce el integrador, su valor en rgimen estacionario est dado
por la ecuacin (9.69), la cual se escribe en este caso como
2
0
1
x0 () =
( 110, 2088 94, 2140 509, 4931 162, 2140 ) = 2,8520
0
77, 2852
0
Ntese de nuevo cmo este resultado coincide con el mostrado en la figura 9.14.
Por ltimo, en la figura 9.15 se muestra el esquema completo del servosistema diseado para el pndulo
invertido montado sobre una base mvil.
3.5
Salida del integrador, x0
3
2.852
2.5
Mp = 15%
2
2%
1.5
Velocidad de desplazamiento
de la base mvil, x2
ngulo del pndulo
sobre la vertical, x3
Velocidad angular
del pndulo, x4
0.5
0
-0.5
3
4
Tiempo en segundos
46
r(t) +
-
xn +1 (t )
dt
kI
+
+
u(t)
0,
2
0
0, 2
x(t )
dt
x(t )
(1
0 0 0)
B
0
0
0
0
0
0
0 0, 49 0
0
0
1
0 10, 29 0
(110, 2088
-K
Figura 9.15: Servosistema para un pndulo invertido montado sobre una base mvil
Bibliografa
[1] Ackermann, J. E.. Der Entwulf Linearer Regelungs Systems in Zustandsraum. Regelungstech und
Prozessdatenverarb. Vol. 7, pp. 297-300, 1972.
[2] Andjar, J. M.; et al. Gua prctica de simuladores de sistemas y circuitos electrnicos, Vol. I. Servicio de Publicaciones de la Universidad de Huelva, ISBN 84-95699-15-X, 2001.
[3] Andjar, J. M.; et al. Gua prctica de simuladores de sistemas y circuitos electrnicos, Vol. II. Servicio de Publicaciones de la Universidad de Huelva, ISBN 84-95699-16-8, 2001.
[4] Domnguez, S.; et al. Control en el espacio de estado. Prentice Hall, 2002.
[5] Dorf, R. C.; Bishop, R. H. Modern Control Systems, 9th edition. Prentice Hall, 2001.
[6] Kajiwara, H.; et al. LPV Techniques for control of an inverted pendulum. IEEE Control Systems,
February 1999, pp. 44 47.
[7] Kalmam, R.E. On the General Theory of Control Systems. Proc. First International Congress IFAC,
Moscow, 1960. Automatic and Remote Control. Londres: Butterworth & Co., Ltd., 1961, pp. 481-492.
[8] Kuo, B. C. Sistemas de control automtico, 7 edicin. Prentice Hall, 1996.
[9] Lewis, P. H.; Yang, C. Basic control system engineering. Prentice Hall, 1997.
[10] Lipschutz, S. lgebra lineal. McGraw Hill, 1968.
[11] Ogata, K. Ingeniera de control moderna, 3 edition. Prentice Hall Hispanoamericana, 1998.
[12] Using the Control System Toolbox (revised for MATLAB 6.0, release 12). MathWorks, Inc., 2000.
[13] Vander Linden, G. W. Control of an inverted pendulum. IEEE Control Systems, August, 1993, pp.
44 50.
y(t)