You are on page 1of 46

CAPTULO

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.

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

9.2 Asignacin de polos mediante la realimentacin de estado


La realimentacin de estado permite el diseo de sistemas de control va la ubicacin o asignacin de polos. Esto es, los polos del sistema en lazo cerrado se ubican en la posicin deseada por el diseador, de modo que las condiciones transitorias sean llevadas a cero de forma preestablecida. En primer
lugar se va a considerar el diseo de sistemas de control del tipo regulador. Esto es, en el diseo se asumir que el sistema no tiene entrada de referencia (ver figura 9.2), o si la tiene sta no vara. El objetivo
del control es pues que, dado un sistema en unas condiciones de funcionamiento, se desea mantenerlo en
ellas, de modo que las posibles perturbaciones a las que se vea sometido no deben sacarlo de regulacin
(el error que puedan ocasionar las perturbaciones ha de ser llevado a cero en un tiempo razonable). Para
ello se utiliza la seal de control u(t). En la seccin 9.9 se ver que esta tcnica se puede aplicar tambin a
sistemas que han de seguir entradas, los cuales se conviene en denominar servosistemas.
La forma de ubicar los polos de lazo cerrado en la posicin deseada es mediante una matriz de
realimentacin de estado. Inicialmente, las ecuaciones de estado se aplican a la planta en vez de al sistema
en lazo cerrado, de modo que las matrices A, B, C y D se utilizan para describir un modelo de planta
lineal e invariante con el tiempo:

x(t ) = Ax(t ) + Bu(t )


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

(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

Seccin 9.3 Controlabilidad

Planta
D
u(t)

x(t )

dt

x(t)

y(t)

A
-K

Figura 9.2: Sistema regulador por realimentacin de estado

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

( sI A ) X(s) = x(0) + BU(s)


esto es,
X( s ) = ( sI A ) x(0) + ( sI A ) BU ( s )
1

con lo cual,
1
1
x(t ) = L 1 ( sI A ) x(0) + L 1 ( sI A ) BU( s)

(9.3)

La matriz L 1 ( sI A ) se denomina matriz de transicin de estado y se nota por (t ). sta,


1

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

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

x(t ) = (t )x(0) + (t ) Bu( ) d

(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)

y solucin segn (9.4),


x(t ) = (t ) x(0)

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)

Utilizando la frmula de interpolacin de Sylvester se demuestra que


n 1

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)

Seccin 9.3 Controlabilidad

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

x(t ) = Ax(t ) + Bu(t )


y (t ) = Cx(t ) + Du(t )
sea completamente controlable, es que la siguiente matriz, denominada de controlabilidad, tenga rango2
n:
M c = ( B A B A 2 B A n 1 B )

(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.

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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 .

Seccin 9.4 Procedimiento general de diseo por asignacin de polos

9.4 Procedimiento general de diseo por asignacin de polos


Si bien la condicin de controlabilidad se ha demostrado para el caso ms general, esto es, un
sistema MIMO en el que tanto la seal de entrada u(t) como la de salida y(t) son vectores, el clculo de la
matriz de realimentacin K se vuelve mucho ms complicado cuando el control es multivariable que
cuando se trata de monovariable3. El control multivariable excede las pretensiones de este texto, por lo
cual, en los diseos que siguen, se considerarn sistemas SISO o SIMO exclusivamente.
Sea pues el sistema SISO de control por ubicacin de polos mediante la realimentacin de estado
que se muestra en la figura 9.3 [9], el cual es una simplificacin del mostrado en la figura 9.1.

Planta
r(t) +

u(t)

x(t)

x(t ) = Ax(t ) + Bu(t )

y(t)

Kx(t)

Figura 9.3: Sistema de control por realimentacin de estado


La planta est modelada por las ecuaciones de estado siguientes:
x(t ) = Ax(t ) + Bu (t )
y (t ) = Cx(t )

(9.13)
(9.14)

La seal de control est dada por la relacin


u (t ) = Kx(t ) + r (t )

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:

x(t ) = Ax(t ) + B [ Kx(t ) + r (t )]

(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.

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

Y (s)
Q(s)
=
R( s ) sI A + BK

(9.20)

donde Q(s) es un polinomio en s.


Se v pues que los polos en lazo cerrado del sistema se pueden ubicar libremente mediante el
ajuste de los elementos de la matriz de ganancia de realimentacin de estado K.
Sean pues las posiciones de los polos deseadas
s = p1 , p2 , , pn

con lo cual la ecuacin caracterstica del sistema es

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

Un sistema de control tiene una planta dada por


1 0
0
0


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

Seccin 9.4 Procedimiento general de diseo por asignacin de polos


luego,

s 3 + ( 6 + 10k3 ) s 2 + (11 + 10k2 ) s + 6 + 10k1 = s 3 + 14s 2 + 56s + 160

Igualando coeficientes,
6 + 10k3 = 14, 11 + 10k2 = 56, 6 + 10k1 = 160

con lo cual,
k3 = 0,8 k2 = 4,5 k1 = 15, 4

Por tanto, la matriz de ganancia de realimentacin de estado vale

K = (15, 4 4,5 0,8)

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)

donde ( A ) se determina del modo siguiente:


Supuestos los polos en lazo cerrado situados en s = p1 , s = p2 , , s = pn , la ecuacin caracterstica deseada es
( s p1 )( s p2 ) ( s pn ) = s n + 1 s n 1 + n 1 s + n = 0

(9.23)

Calculados los coeficientes i , se tiene que ( A ) est dado por


( A ) = A n + 1 A n 1 + + n 1 A + n I

(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

Resolver el ejemplo 9.2 anterior mediante el uso de la frmula de Ackermann.


En el ejemplo 9.2 se encontr que 1 = 14, 2 = 56 y 3 = 160. Por tanto,
( A) = A 3 + 14 A 2 + 56A + 160I
1
0

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

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

10

Tambin en el ejemplo 9.2 se obtuvo que la matriz de controlabilidad era


0
10
0

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

La tcnica de diseo de controladores por ubicacin de polos que se ha desarrollado en la seccin


anterior requiere que sean medidos todos los estados de la planta. Esta exigencia hace inaplicable esta
tcnica en la mayora de los sistemas prcticos, ya que an en los sistemas ms simples, la medicin de
todos sus estados suele ser inviable por ser las variables de estado variables internas al sistema.
El concepto de observabilidad se fundamenta en la posibilidad de conocer el estado de un sistema a partir del conocimiento de la evolucin de su entrada y de su salida.
La observabilidad en trminos generales se define del siguiente modo:
Un punto del espacio de estado x(t0) es observable, si existe un intervalo de tiempo finito [t0, tf]
tal que si se conoce la entrada u(t) y la salida y(t) en ese intervalo, t0 t t f , es posible determinar que
el estado inicial era x(t0).

Esto mismo aplicado a un sistema de control se puede enunciar del modo siguiente:
Dado un sistema definido por su modelo de estado:

x(t ) = Ax(t ) + Bu(t )


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

(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.

Seccin 9.5 Observabilidad

11

Sistema observable
u(t)

x(t ) = Ax(t ) + Bu(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)

o tambin, utilizando la expresin (9.9), que


n 1

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:

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

12

Teorema
La condicin necesaria y suficiente para que una planta de orden n definida por su modelo de estado

x(t ) = Ax(t ) + Bu(t )


y (t ) = Cx(t ) + Du(t )
sea completamente observable, es que la siguiente matriz, denominada de observabilidad, tenga rango n:

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

Por tanto, a partir de (9.28) y (9.27) se puede escribir que


y (t ) = 0 (t )C + 1 (t )CA + 2 (t )CA 2 + + n 1 (t )CA n 1 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

entonces, por derivaciones sucesivas respecto de t, se obtiene que


Ce At x(0) = 0
CAe At x(0) = 0
CA n 1e At x(0) = 0

con lo cual, teniendo en cuenta (9.29) se cumple que


M o e At x(0) = 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.

Seccin 9.5 Observabilidad

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

C2 A = ( 4 14 12 ) y C2 A = (12 54 32 ) , por tanto M o 2


2

2 4
0

= 4 14 12
12 54 32

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

14

cuyo rango es 3, por tanto, utilizando slo la observacin de la segunda salida, es posible conocer el vector de estado.

9.6 Estimacin del estado


En esta seccin se va a desarrollar una tcnica que permite estimar, en vez de medir, las variables
de estado de la planta a partir de la informacin disponible de la misma: variables de salida y de entrada.
El sistema que estima el estado de otro sistema se denomina estimador de estado u observador
de estado. Si el observador estima todas las variables de estado del sistema (aunque stas o parte de ellas
se puedan medir), se denomina observador de estado de orden completo. Si no es as, si se observan menos de las n variables de estado, el observador se denomina de orden reducido. La mnima expresin de
un observador de orden reducido es un observador de orden mnimo, el cual estima las variables de estado
estrictamente necesarias para que el sistema de control por ubicacin de polos sea realizable.

9.6.1 Observador de estado


Tal como puede verse en la figura 9.5, un observador de estado de orden completo utiliza como
entradas el vector de control u(t) y el de salida y(t) para proporcionar una estima x(t ) de todas las variables de estado. Ntese que en la figura 9.5 son conocidas las matrices A, B y C, as como la seal de
salida de la planta y(t), la cual puede ser medida, y la seal de control u(t) porque la decide el diseador.

Planta

u(t)

x(t)
x(t ) = Ax(t ) + Bu(t )

OBSERVADOR

y(t)
C

x (t )

Figura 9.5: Sistema con observador de estado


Cuando se desea conocer de forma continua la evolucin de las variables de estado de la planta
en cada instante, se implementa un sistema dinmico como el de la figura 9.5 que tiene como entradas las
entradas y salidas de la misma, y que responde a las condiciones enunciadas por el siguiente teorema [4]:

Teorema
Dada la planta lineal, invariante y observable:
x(t ) = Ax(t ) + Bu(t )
y (t ) = Cx(t )

Se dice que el sistema definido por las ecuaciones:

(9.30)
(9.31)

Seccin 9.6.1 Observador de estado

15

x (t ) = Ao x (t ) + Bo u(t ) + K o y (t )
y (t ) = Cx(t )

(9.32)

es un observador de estado del anterior si verifica las dos condiciones siguientes:


1.

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)

Derivando esta expresin y teniendo en cuenta (9.30) y (9.31), se tiene que


e(t ) = x(t ) x (t ) = Ax(t ) A o x (t ) + ( B B o ) u(t ) K o y (t )

Sustituyendo ahora el valor de y(t) por el dado en (9.31),

e(t ) = ( A K o C ) x(t ) A o x (t ) + ( B Bo ) u(t )

(9.34)

La aplicacin del teorema anterior a la expresin (9.34) implica que:


1.

Para que la entrada sea cual sea no influya en que los estados coincidan se debe cumplir que:
Bo = B

con lo cual, (9.34) se escribir como:

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

por tanto, la ecuacin (9.35) se escribir como

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)

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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)

permite calcular las n incgnitas ko1, ko2, ..., kon.


Escribiendo de nuevo por comodidad las ecuaciones (9.30) y (9.31), y reordenando la (9.37), se
tiene que el sistema planta observador est definido por el modelo siguiente, cuyo diagrama de bloques
se muestra en la figura 9.6.
x(t ) = Ax(t ) + Bu(t )
y (t ) = Cx(t )
x (t ) = ( A K o C ) x (t ) + Bu(t ) + K o y (t )

Planta

u(t)

x(t )

dt

x(t)

y(t)

A
Observador de estado de orden completo

x (t )

dt

x (t )

Ko

Figura 9.6: Sistema planta observador de orden completo

Seccin 9.6.1 Observador de estado

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)

Donde ahora, ( A ) se determina del modo siguiente:


Supuestos los polos del observador de estado situados en el plano s en s = po1 , s = po 2 , , s = pon , su
ecuacin caracterstica ser:
( s po1 )( s po 2 ) ( s pon ) = s n + 1 s n 1 + + n 1 s + n = 0

(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

1 = s 3 + 28s 2 + 185s + 380

6 + ko 3

11 s + 6

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

18

con lo cual,
ko1 = 22,

ko 2 = 42, ko3 = 120

por tanto,

22

K o = 42
120

9.7. Comportamiento del conjunto sistema observador


Realizada hasta aqu la sntesis del observador de estado como un sistema aislado, se ha de investigar ahora los efectos de su adicin al sistema de control en lazo cerrado. Sea pues la planta completamente controlable y observable modelada por

x(t ) = Ax(t ) + Bu(t )


y (t ) = Cx(t )
Con objeto de ubicar sus polos mediante la realimentacin de estado se escoge la seal de
control u(t) = -Kx(t), la cual, suponiendo que el conocimiento del vector de estado viene dado por su
observacin en vez de por su medida, se escribe como
u (t ) = Kx (t )

por tanto, el sistema en lazo cerrado se modela como


x(t ) = Ax(t ) BKx (t )

(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,

x(t ) = ( A BK ) x(t ) + BK ( x(t ) x (t ) )


esto es,

x(t ) = ( A BK ) x(t ) + BKe(t )

(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)

La ecuacin caracterstica de este sistema es

Seccin 9.7 Comportamiento del conjunto sistema - observador

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

9.8 Observador de orden reducido


En general, si se pueden obtener medidas precisas de ciertas variables de estado, parece ms
conveniente utilizar estas medidas directamente en el vector de realimentacin de estado, de modo que
entonces slo se han de estimar aquellas variables que no hayan podido ser medidas. El observador resultante se denomina en este caso observador de orden mnimo. No obstante lo anterior, hay circunstancias
que aconsejan estimar el vector de estado completo, aunque algn estado pudiera ser medido. ste es el
caso por ejemplo cuando las medidas son difciles de realizar o son imprecisas por contener gran carga de
ruido.

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio 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 )

puede ser escrita como:


x1 (t ) A11

=
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 )

x1 (t ) A11x1 (t ) B1u(t ) = A12 x 2 (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:

Seccin 9.8 Observador de orden reducido

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 )

el de orden reducido ser, haciendo las sustituciones mostradas en (9.51),


x 2 (t ) = ( A 22 K o A12 ) x 2 (t ) + A 21x1 (t ) + B 2 u(t ) + K o [ x1 (t ) A11x1 (t ) B1u(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)

De la expresin anterior se deduce inmediatamente (vase el modo de obtener la ecuacin caracterstica


del observador de estado de orden completo) que la ecuacin caracterstica del observador de orden reducido, que en este caso es mnimo, es:

sI A 22 + K o A12 = ( s p1 )( s p2 )( s pn m ) = 0

(9.53)

donde se ha supuesto que el vector de salida (medible) es de orden m.


En la ecuacin (9.53) hay n m incgnitas: ko1, ko2, ..., ko(n -m) y n m coeficientes conocidos (polos) ubicados por el diseador, con lo cual, para calcular los elementos de la matriz de ganancia basta con
igualar los coeficientes.
Tambin aqu se puede emplear la frmula de Ackermann, la cual, teniendo en cuenta la expresin (9.39) y las sustituciones dadas en (9.51), se escribir en este caso como
A12

A A
K o = ( A 22 ) 12 22

n m 1

A12 A 22

(9.54)

donde ( A 22 ) se determina a partir de la ecuacin caracterstica (9.53):

( 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

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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)

Dibujar el diagrama de bloques del conjunto sistema observador.

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

con lo cual, operando en el determinante e igualando se tiene que

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

Seccin 9.8 Observador de orden reducido

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

cuyo rango es 2, con lo cual se deduce que el sistema es totalmente observable.


Para obtener el observador de orden reducido se aplica (9.53):
s 0 0 1 ko1
2

+ (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.

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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)

Observador de estado de orden mnimo

+
+

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 )

9.9 Diseo de servosistemas


Hasta ahora, los diseos mediante asignacin de polos se han aplicado a un sistema que careca
de entrada, esto es, la seal de control u(t) era proporcional al vector de estados solamente. En el problema del regulador que ha sido el tratado en las secciones anteriores, el criterio de diseo es eliminar las
perturbaciones y llevar el vector de estado del sistema a cero en un tiempo razonable. Sin embargo, la
mayora de los sistemas de control son servosistemas, esto es, la salida y(t) ha de seguir a una entrada de
referencia r(t), luego el objetivo de diseo ahora ha de ser que el vector de estado y la salida del sistema
sigan unas trayectorias deseadas.

9.9.1 Caso general. La planta no posee integrador


Por lo general, el modelo de la planta mediante realimentacin de estado produce un sistema tipo
0, de modo que como se vio en la seccin 5.4, un sistema de este tipo sera incapaz de seguir sin error a
una seal de entrada. Si sta fuera por ejemplo una seal escaln, el sistema debera contar en su funcin
de transferencia directa con un integrador (sistema tipo 1) para poder seguir sin error la seal de entrada.

Seccin 9.9.1 Caso general. La planta no posee integrador

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

Figura 9.8: Sistema de control con realimentacin de estado de tipo uno


Ntese en la figura 9.8 como el integrador aumenta en uno el orden del sistema. La nueva variable de estado que incorpora el integrador al sistema se nota como x0(t). Las ecuaciones que modelan al
sistema planta + integrador son:
x(t ) = Ax(t ) + Bu (t )

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 )

es un vector de ganancia constante, y k0 es la ganancia escalar de la realimentacin integral.


Introduciendo la ecuacin (9.58) en la (9.59), se puede escribir el modelo de estado de orden n +
1 como
x0 (t ) = r (t ) Cx(t )

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)

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

28

donde la dimensin de x(t ) es (n + 1) 1 ; la de A , (n + 1) (n + 1) ; la de B, (n + 1) 1 y la de C, 1 (n + 1).


Lo anterior permite escribir la ecuacin de estado como
1
x(t ) = Ax(t ) + Bu (t ) + r (t )
0

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)

es un vector de dimensin 1 (n + 1).


Respecto de la ecuacin de salida, teniendo en cuenta que ahora el vector de estado es x(t ) ,
podemos escribir, a partir de (9.58) y (9.62), que

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)

tiene rango n + 1, la ecuacin


sI A + BK = ( s p0 )( s p1 ) ( s pn ) = 0

(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

Seccin 9.9.1 Caso general. La planta no posee integrador

29

Asumiendo que el rango de la matriz cuadrada


C 0

A B

es n + 1, entonces existe su inversa, con lo cual,


1

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)

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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

Calculando el determinante y operando se tiene que


k0 = 8, k1 = 10 y k2 = 19

con lo cual el vector de ganancia de realimentacin de estado vale:

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

Seccin 9.9.2 Caso particular. La planta posee integrador

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

9.9.2 Caso particular. La planta posee integrador


Si la planta a controlar es ya un sistema tipo 1, entonces, para el caso general, su funcin de
transferencia es de la forma siguiente [4]:
G ( s) =

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)

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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)

donde la matriz de ganancia K est ahora completa:

K = ( k1

k 2 kn )

(9.76)

El sistema en lazo cerrado tendr pues la expresin


x(t ) = Ax(t ) + Bu (t ) = Ax(t ) + B ( Kx(t ) + k1r (t ) )

Esto es,
x(t ) = ( A BK ) x(t ) + Bk1r (t )

(9.77)

Con lo cual, la matriz del sistema en lazo cerrado ser ahora

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.

Seccin 9.9.2 Caso particular. La planta posee integrador

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

donde en efecto, x1(t) = y(t).


La seal de control est dada por la expresin (9.75) aplicada a este caso:

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

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado


Por tanto, los elementos del vector de ganancia K = ( k1

34

k3 ) que permiten ubicar los polos de lazo


cerrado del sistema en las posiciones dadas, se obtienen de la forma siguiente:
k2

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

Resolviendo el determinante e identificando se tiene que k1 = 200, k2 = 55 y k3 = 8, con lo cual

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

Por supuesto, la ecuacin de salida permanece inalterable e igual a

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

Esto es, teniendo en cuenta que x1(t) = y(t),

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)

Calcula la matriz de ganancia K que sita los polos de la ecuacin caracterstica

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)

que implementa la frmula de Ackermann.


A pesar de que en muchos casos las rdenes place y acker son intercambiables, stas no
funcionan igual ya que:

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.

La funcin place es ms general y ms robusta numricamente hablando que acker.

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].

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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

al que MATLAB responde con


rango =
3
El sistema es controlable
place: ndigits = 15
K =
15.4000
4.5000
0.8000

Este resultado coincide obviamente con el que se obtuvo en el ejemplo 9.2.


Si la instruccin place se hubiera escrito de la forma
[K,precision,mensaje] = place(A,B,[-2+j*2*sqrt(3) -2-j*2*sqrt(3) -10])

MATLAB hubiera respondido con


rango =
3
El sistema es controlable
K =
15.4000
4.5000
0.8000
precision =
15
mensaje =
''

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

%Matrices de estado y de salida del sistema reducido a observar:


A22 = [0 1;-2 1];A12 = [1 0];
% Matriz de observabilidad del sistema reducido:
Mo = obsv(A22,A12);
rango = rank(Mo)
if rango < 2
fprintf('El sistema reducido no es observable \n')
else
fprintf('El sistema reducido es observable \n')
K = acker(A,B,[-1 -1 -1])
Ko = [acker(A22',A12',[-4 -4])]'
end

Al ejecutar el programa anterior MATLAB responde con:


rango =
2
El sistema reducido es observable
K =
0
1
2
Ko =
7
7

Resultados que obviamente coinciden con los obtenidos en el ejemplo 9.6

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.

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

38

Figura 9.10: Pndulo invertido montado sobre una base mvil

(a)

(b)

(c)

Figura 9.11: Diagramas de slido libre del pndulo invertido de la figura 9.10

En la figura 9.11 (a) se tiene que

d2x
= u Fx
dt 2

(9.80)

Ntese que por abreviar se ha omitido en las variables la dependencia explcita de t.


En cuanto a la figura 9.11 (b), se deducen las siguientes ecuaciones:
Fy mg = 0

(9.81)

d2
( x + l sen )
dt 2

(9.82)

Fx = m

Sustituyendo la ecuacin (9.82) en la (9.80) se tiene que

( 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)

Despejando ahora d 2 x dt 2 de la ecuacin (9.86) y sustituyendo su valor en (9.85) se obtiene que

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)

Es inmediato poner de manifiesto la inestabilidad inherente de esta planta, ya que si se aplica la


transformada de Laplace a la ecuacin (9.90) considerando condiciones iniciales nulas, se tiene que

(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:

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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)

9.11.1 Caso de estudio 1: Diseo de un sistema regulador


En primer lugar se va a disear un sistema regulador para el pndulo invertido, esto es, el sistema
de control no ha de seguir ninguna entrada, sino conservar, mediante la seal de control u(t), al pndulo
en posicin vertical ante cualquier perturbacin que lo pueda hacer caer (por ejemplo, una vibracin sobre
la base que haga que sta se desplace o el pndulo se mueva, o una rfaga de viento sobre el pndulo). Se
trata pues de que ante cualquier perturbacin, el sistema ha de regresar a la situacin inicial de equilibrio x(t = 0) = 0 y (t = 0) = 0 en un rgimen transitorio controlado. La naturaleza reguladora del sistema de control se aprecia claramente, ya que tanto la posicin como el ngulo deseados son constantes
(cero en este caso).
Supnganse las siguientes condiciones de diseo: tiempo de asentamiento para el 2% en torno a
3,2 s, y sobreimpulso mximo Mp prximo al 15%. Un sobreimpulso mximo del 15% implica que el
factor de amortiguamiento es 0,5169. Se elige pues = 0,52. Ahora, puesto que el par de polos dominantes estn dados por

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

Seccin 9.11.1 Caso de estudio 1: Diseo de un sistema regulador

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 )

La matriz de estado del sistema en lazo cerrado ( A BK ) , se denomina AA en el programa.


%SIMULACIN DE UN SISTEMA REGULADOR PARA UN PNDULO INVERTIDO
%MONTADO SOBRE UNA BASE MVIL
%definicin de la planta:
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;
0 0 1 0];
%Comprobacin de que el sistema es controlable:
rangoMc=rank(ctrb(A, B))
if rangoMc < 4
fprintf('El sistema no es controlable\n')
else
fprintf('El sistema es controlable \n')
%Clculo del vector de ganancia para la ubicacin de polos:
K=acker(A, B, [-1.25+2.0532j -1.25-2.0532j -6.25 -6.25])
%Anlisis de condiciones iniciales:
AA=A-B*K; %Matriz de estado del sistema en lazo cerrado
sistema=ss(AA, 0, C, 0);
%Se perturba al sistema con un ngulo inicial de -0.15 rad.
[y,x,t]=initial(sistema, [0 0 -0.15 0]',[0:0.01:5]);
plot(x, t)

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

42

end

Al ejecutar este script MATLAB responde con:


rangoMc =
4
El sistema es controlable
K =
-115.1573 -86.6749 -547.0604 -161.6749

En la figura 9.12 se muestra el resultado de la simulacin. Ntese cmo inicialmente el carro se


mueve hacia atrs para que el pndulo caiga hacia adelante y se equilibre. Despus de la actuacin enrgica inicial del sistema de control, se producen un par de oscilaciones en torno al punto de equilibrio
( x = 0, = 0) hasta que al cabo de los 3,2 segundos aproximadamente las salidas entran en el rango del
2%. En la figura 9.13 se muestra el esquema completo del sistema de regulacin diseado.

0.8
Velocidad angular del pndulo, x4

0.6

Velocidad de desplazamiento de la base mvil, x2

Magnitud de las variables de estado

0.4
0.2
0
-0.2

Salida 2: ngulo del pndulo


sobre la vertical, x3

-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

Figura 9.12: Curvas de respuesta de las variables de estado contra t.

Seccin 9.11.2 Caso de estudio 2: Diseo de un servosistema

43

Planta: Pndulo invertido montado sobre una base mvil


u(t)

(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

86, 6749 547, 0604 161, 6749 )

-K
9.13: Sistema de regulacin para el pndulo invertido montado sobre una base mvil

9.11.2 Caso de estudio 2: Diseo de un servosistema


Continuando con la misma planta, se trata de seguir conservando el pndulo en posicin vertical,
pero a diferencia del caso anterior, ahora se ha de ser capaz tambin de situar la base del pndulo en una
posicin deseada (diferente de x = 0), la cual est indicada por el valor de la entrada de referencia r(t). En
este caso se supondr que el pndulo ha de poder desplazarse 2 m. y mantenerse equilibrado. Entonces,
dado que el modelo de la planta del pndulo invertido sobre la base mvil no posee integrador, se ha de
colocar uno siguiendo la configuracin de la figura 9.8. Ntese que ahora, al ser la entrada la posicin del
pndulo (una seal escaln que indica en funcin de su altura la posicin deseada), la salida debe ser
tambin la posicin, ya que ambas seales se han de restar en el comparador a la entrada del sistema de
control. Las matrices del modelo de estado del pndulo dadas en (9.94) se escribirn ahora como
0

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

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

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:

Seccin 9.11.2 Caso de estudio 2: Diseo de un servosistema

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

El resultado anterior implica que

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

Magnitud de las variables de estado

3
2.852
2.5

Mp = 15%

Desplazamiento de la base mvil, x1

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

Figura 9.14: Curvas de respuesta de las variables de estado contra t

CAPTULO 9: Diseo de controladores analgicos por mtodos de espacio de estado

46

Planta: pndulo invertido montado sobre una base mvil


xn +1 (t )

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

94, 2140 509, 4931 162, 2140 )

-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)

You might also like