Está en la página 1de 132

Modelado y control del pndulo

invertido sobre carro mediante


sistemas hbridos.

Fernando Bote Ortega


Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

ndice

1. Objetivos ............................................................ 8

2. Introduccin ...................................................... 9

2.1. Sistema hardware ........................................ 9


2.1.1. Motor lineal ............................................... 9

2.1.2. Pndulo invertido ........................................ 12

2.1.3. Instalacin ................................................. 13


2.1.3.1. Motor lineal ............................................................... 14
2.1.3.2. Armario y panel de control ...................................... 15
2.1.3.3. Potencimetro ........................................................... 16
2.1.3.4. Pndulo invertido ..................................................... 16

2.2. Software y conexin ..................................... 17


2.3. Sistemas hbridos ......................................... 20
2.3.1. Introduccin .............................................. 21
2.3.2. Diferentes enfoques en el modelado y
anlisis de sistemas hbridos .......................... 22

3. Modelado .......................................................... 27

3.1. Introduccin ................................................ 27


3.2. Variables continuas y discretas ..................... 27

2
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

3.3. Modelado de la parte continua ..................... 28


3.3.1. Modelo del carro ........................................ 29

3.3.2. Modelo no lineal ......................................... 37

3.3.3. Modelo de los rebotes .................................. 42

3.3.4. Modelo linealizado ...................................... 52

3.4. Modelado de la parte discreta ...................... 55


3.5. Integracin de las variables continuas
y discretas ................................................... 56

4. Control .............................................................. 57

4.1. Estrategia global de control hbrido ............. 57


4.2. Alzamiento del pndulo ............................... 58
4.2.1. Impulso inicial ........................................... 58

4.2.2. Control de alzamiento ................................. 64

4.3. Equilibrio del pndulo ................................ 73


4.3.1. Introduccin ............................................. 73
4.3.1.1. Principio de optimalidad ........................................ 74
4.3.1.2. Nota histrica .......................................................... 76
4.3.1.3. Control LQ discreto ............................................... 77
4.3.1.4. Transicin [N 1] [N] ........................................ 77
4.3.1.5. Transicin [N 2] [N] ......................................... 79
4.3.1.6. Transicin [k] [N] .............................................. 80
4.3.1.7. Control LQ en tiempo continuo ............................ 83
4.3.1.8. Control LQ de Horizonte Infinito ......................... 85
4.3.1.9. Estimadores ptimos .............................................. 88

3
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
4.3.1.10. Modelos de sistemas con ruidos ............................ 88
4.3.1.11. Filtro de Kalman discreto ..................................... 90
4.3.1.12. Notas ....................................................................... 99

4.3.2. Implementacin del control LQG ................. 103


4.3.2.1. Diseo de control LQR .......................................... 103
4.3.2.2. Diseo del filtro de Kalman .................................. 108

5. Resultados ........................................................ 113

5.1. Simulacin del modelo global ...................... 113


5.2. Ejecucin en laboratorio del modelo global .. 118

6. Conclusiones y posibles extensiones .............. 123

ANEXO 1 ............................................................. 125

Bibliografa .......................................................... 131

4
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

ndice figuras.
Figura 2.1 Representacin de un motor lineal................................................... 10
Figura 2.2 Motor lineal con plataforma mvil.................................................. 15
Figura 2.3 Armario y panel de control............................................................... 15
Figura 2.4 Pndulo invertido............................................................................... 16
Figura 2.5 Pantalla ControlDesk........................................................................ 18
Figura 2.6 Diagrama de conexionado del motor lineal..................................... 20
Figura 3.1 Modelo usado en funcin del ngulo del pndulo........................... 28
Figura 3.2 Diagrama simulink para accionamiento del motor lineal.............. 29
Figura 3.3 Bloque Simulink del motor lineal..................................................... 30
Figura 3.4 Respuesta real del motor a un escaln............................................. 32
Figura 3.5 Diagrama de estados del carro.......................................................... 34
Figura 3.6 Modelo Simulink del carro................................................................ 36
Figura 3.7 Respuesta simulada del carro ante un escaln u=0.3...................... 36
Figura 3.8 Diagrama de fuerzas que actan en el sistema................................ 37
Figura 3.9 Varilla con eje perpendicular por el centro..................................... 38
Figura 3.10 Varilla con eje perpendicular por uno de sus extremos............... 39
Figura 3.11 Diagrama de masas con respecto a un eje..................................... 39
Figura 3.12 Valor del pndulo apoyado sobre la izquierda.............................. 43
Figura 3.13 Valor del pndulo apoyado sobre la derecha................................. 43
Figura 3.14 Cada libre del pndulo hacia la izquierda.................................... 45
Figura 3.15 Cada libre del pndulo hacia la derecha....................................... 45
Figura 3.16 Zona de rebotes de la izquierda...................................................... 46
Figura 3.17 Modelo simulink del pndulo.......................................................... 49
Figura 3.18 Simulacin de cada libre del pndulo hacia la izquierda............ 50
Figura 3.19 Simulacin de la zona de rebotes izquierda................................... 50
Figura 3.20 Simulacin normalizada.................................................................. 51
Figura 3.21 Modelo del autmata hbrido del pndulo..................................... 56
Figura 4.1 Pndulo girando................................................................................. 59
Figura 4.2 Modelo Simulink de impulso inicial................................................. 61
Figura 4.3 Impulso inicial de entrada................................................................. 62
Figura 4.4 Respuesta del sistema al impulso inicial........................................... 62

5
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Figura 4.5 Variacin de la velocidad del carro ante el impulso inicial............ 63
Figura 4.6 Variacin del ngulo del pndulo ante el impulso inicial............... 64
Figura 4.7 Modelo Simulink del controlador de alzamiento............................ 66
Figura 4.8 Modelo Simulink del comparador de entradas............................... 67
Figura 4.9 ngulo para K=0.1............................................................................. 67
Figura 4.10 ngulo para K=0.2........................................................................... 68
Figura 4.11 ngulo para K=0.3........................................................................... 68
Figura 4.12 ngulo para K=0.4........................................................................... 69
Figura 4.13 Modelo del controlador de alzamiento para el laboratorio.......... 69
Figura 4.14 Seal del ngulo con ruido............................................................... 70
Figura 4.15 Bloque compara ngulo.................................................................... 71
Figura 4.16 Respuesta real alzamiento para K=0.3........................................... 72
Figura 4.17 Respuesta real alzamiento para K=0.4........................................... 72
Figura 4.18 Posibles trayectorias de 1 a 8........................................................... 75
Figura 4.19 Evolucin del estado en lazo cerrado.............................................. 82
Figura 4.20 Evolucin de las ganancias.............................................................. 83
Figura 4.21 Evolucin de los estados del sistema y los estimados.................... 99
Figura 4.22 Modelo Simulink del controlador LQG......................................... 103
Figura 4.23 Bloque clculo de velocidad angular.............................................. 105
Figura 4.24 Velocidad angular para Impulso=10 y K=5.................................. 105
Figura 4.25 x5 para v = 1 m/s.............................................................................. 106
Figura 4.26 Esquema control LQR..................................................................... 107
Figura 4.27 Resultado simulacin control LQR................................................ 107
Figura 4.28 Diagrama de bloques del filtro de Kalman.................................... 108
Figura 4.29 Medida del ruido de la seal de posicin........................................ 109
Figura 4.30 Medida del ruido de la seal de velocidad..................................... 110
Figura 4.31 Medida del ruido de la seal de ngulo.......................................... 110
Figura 4.32 Esquema de control LQG................................................................ 111
Figura 4.33 Esquema Simulink del filtro de Kalman........................................ 111
Figura 4.34 Resultado simulacin del control LQG.......................................... 112
Figura 5.1 Modelo global de simulacin............................................................. 113
Figura 5.2 Diagrama Simulink del filtro de Kalman......................................... 114
Figura 5.3 Diagrama Simulink del bloque condiciones de cambio.................. 115
Figura 5.4 Diagrama Simulink para calcular el estado x5............................... 116

6
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Figura 5.5 Resultado de la simulacin global.................................................... 117
Figura 5.6 Simulacin de la seal de ngulo...................................................... 118
Figura 5.7 Modelo global para el laboratorio................................................... 119
Figura 5.8 Resultado fallido de ejecucin del modelo global........................... 120
Figura 5.9 Resultado de ejecucin del modelo global para K=0.4.................. 121
Figura 5.10 Resultado de ejecucin del modelo global para K=0.3................ 122

7
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

1. Objetivos.
El objetivo del este proyecto es realizar un estudio del pndulo invertido sobre
vehculo mvil que se encuentra implementado en los laboratorios de automtica de la
Escuela Superior de Ingenieros de Sevilla empleando un modelo de sistema hbrido que
modele su comportamiento .

Dicho estudio consistir en una primera parte en la que se realice un modelado


matemtico del sistema en cuestin, obteniendo las ecuaciones que lo describen y
realizando un modelo del mismo a partir de ellas, de forma que las variables tericas
que se manejen tengan correspondencia con las variables que se emplearn en el modelo
fsico.

En la segunda parte se realizar el dise de una estrategia de control usando la


herramienta Simulink de Matlab de tal forma que actuando sobre el carrito consigamos
en un primer momento el alzamiento del pndulo partiendo de un estado de reposo y
posteriormente mantener la verticalidad del mismo.

8
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

2. Introduccin.

2.1. Sistema hardware.

2.1.1. Motor Lineal.

Los motores elctricos ms comunes son motores rotatorios, es decir, que


generan el movimiento a lo largo de un eje. Cuando es requerido un motor de tipo lineal
son necesarios sistemas que trasformen el movimiento rotatorio en lineal. Estos
sistemas de transmisin del motor son generalmente compuestos de engranajes y
correas siempre sometidos a roces que causan perdidas de la potencia generada.

En un motor lineal se implementa el motor a lo largo de una direccin sin que


necesite ningn mecanismo de transmisin, esto conlleva una menor dispersin de la
potencia generada. Un ejemplo, una de las reas en las que ha encontrado aplicacin el
uso de motores lineales es en el transporte con monorral. En este tipo de transporte se
ha podido combinar la aplicacin de propulsin mediante motores lineales con sistemas
magnticos de levitacin, debido al hecho de que tales motores no necesitan transferir al
suelo la potencia producida. El resultado es una fuerte disminucin de las prdidas por
roces y por eso un alto rendimiento.

A pesar de que el desarrollo de los primeros motores lineales se remonta al


ltimo decenio del 1800, tales motores no han suscitado sustanciales intereses prcticos
antes del 1950. Hoy en da son siempre ms empleados en campos de aplicacin en los
que sean requeridos movimientos lineales de alta precisin de desplazamiento y
velocidad. Algunos de estos son las mquinas de desplazamiento, maquinas textiles,
puertas corredizas, sistemas pticos, transporte monorral, etc.

Los motores lineales presentan ventajas y lmites. Las principales ventajas son:

Alta velocidad y precisin. El lmite a la mxima velocidad depende del


cableado y del control electrnico.
Respuesta rpida, gracias a la ausencia de transmisiones mecnicas.
Fiabilidad.

9
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Vida larga.
Escasa necesidad de manutencin.
Robusteza.
Extensin ilimitada. Con algunas configuraciones puede resultar bastante simple
la ampliacin del recorrido del motor, pudiendo llegar a distancias grandes como
las de las monorrales.

Los lmites son:

La fuerza de atraccin entre las dos partes del motor puede ser de 2 a 5 veces
ms grande que la fuerza horizontal de propulsin.
La temperatura del motor conlleva limitaciones al rendimiento.
El hierro que en algunos casos forma el ncleo alrededor del que son envueltas
las bobinas genera atraccin, en caso de utilizacin con imanes, tambin si el
motor no est en funcionamiento.

Ilustramos brevemente los principios operativos de los motores lineales. La


fsica que est a la base es simple, se disfruta de la atraccin entre polos magnticos
iguales y la repulsiones entre polos diferentes. Este tipo de motores disfruta de los
mismos principios que los motores elctricos rotatorios al punto que se puede ver un
motor lineal como uno rotatorio que haya sido abierto a lo largo de una generatriz y
extendido encima de un piano, como se ilustra en la figura.

Figura 2.1: Representacin de un motor lineal.

10
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Los motores lineales son compuestos por dos partes que toman el nombre de
primario y secundario. El primario consta de un conjunto de bobinas de cobre a las que
se aplica una corriente para crear una fuerza electromagntica. Nmero y extensin de
las espiras determinan la fuerza del motor. El secundario es el componente que
reacciona a la fuerza electromotriz y consiste solamente en una serie de imanes
permanentes. Tanto el primario como el secundario pueden ser el elemento estacionario
o mvil.

Cuando una corriente pasa por una bobina crea un campo magntico entre las
dos partes del motor. Como resultado los imanes generan una fuerza sobre el conjunto
de bobinas y alternando oportunamente la corriente causan el moto lineal de la parte
mvil del motor. En la prctica a travs del control de la corriente que circula en las
espiras, es decir del campo electromagntico, se puede obtener el motor lineal continuo
deseado.

Existen varios tipos de motores lineales:

Segn la forma:

Llano: la parte esttica es un llano sobre el que se desliza la


mvil.

Tubular: la parte mvil se desliza sobre un ncleo central que la


atraviesa. Este tipo de motores aprovechan ptimamente el flujo
magntico pero presenta lmites debidos a la necesidad de puntos
de apoyo en los extremos.

En U: la parte mvil pasa entre dos filas de imanes. Uno de los


inconvenientes de los motores lineales a imanes permanentes es
el fuerte campo magntico presente alrededor del motor, sobre
todo por motores llanos y tubulares con secundario en la parte
fija. Para la configuracin en U el inconveniente se reduce
notablemente.

11
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Con primario mvil o secundario mvil.
En alternada sncrono o en alternada a induccin.
Paso a paso.
En continua con escobillas o sin escobillas.

Por ltimo, otra cosa importante a tener en cuenta es el calor que se genera por
efecto Joule en las bobinas y que puede causar desde prdidas de rendimiento a daos
irreparables, por eso muchas veces el implante necesita un sistema de refrigeracin.

2.1.2. Pndulo Invertido.

Este sistema constituye un caso concreto de sistema fsico en el que se ponen de


manifiesto importantes problemas, lo que ha hecho de l un banco de pruebas
(benchmark) para sistemas de control.

El inters en el estudio de este tipo de sistema radica en que, salvando las


particularidades de cada caso, su modelo matemtico presenta una formulacin basada
en ecuaciones diferenciales, que guarda cierta analoga con procesos reales de mayor
complejidad, como por ejemplo: el generador sincrnico conectado a un bus infinito y
el sistema de control de vuelo para aeronaves. Por tanto, su estudio sirve como una
primera aproximacin a los problemas que plantean sistemas de mayor complejidad.

El control del pndulo invertido presenta una enorme variedad de problemas que
han hecho de l uno de los sistemas concretos para el ensayo de leyes de control ms
analizados en estos ltimos tiempos. Los primeros pndulos invertidos se construyeron
en los aos 70, y an hoy, treinta aos despus, se sigue experimentando con el pndulo
invertido y tratando de analizarlo desde un punto de vista terico. Es notable que
despus de tantos aos an no se haya conseguido un estudio unitario y satisfactorio de
dicho problema.

En el control del pndulo invertido se presentan bsicamente dos problemas: el


problema de la estabilidad local en torno a la posicin de equilibrio, que es anlogo al

12
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
problema del malabarista que pretende mantener un palo en la punta de un dedo; y el
problema de levantar el pndulo desde su posicin de reposo hasta la posicin en la que
se mantiene erguido hacia arriba. Este ltimo problema se conoce con su denominacin
inglesa de problema del swing up.

El primero de los problemas, el de la estabilizacin local, puede resolverse


satisfactoriamente mediante la linealizacin en torno a la posicin de equilibrio. Sin
embargo, la ley de control as obtenida tiene un carcter exclusivamente local. Para
perturbaciones de una cierta magnitud el control del pndulo se pierde.

En el problema del swing up es necesario considerar todo el espacio de estados,


de modo que el problema no puede abordarse con una perspectiva local. Se trata, por
tanto, de un problema al que se aplican las consideraciones realizadas a lo largo de este
captulo, relativas a la imposibilidad de linealizar el sistema y de tratarlo
exclusivamente en forma local. El problema del swing up es, por su propia naturaleza,
un problema no lineal que se desenvuelve en una amplia regin del espacio y que, por
tanto, no admite una reduccin local y hay que abordarlo con toda la problemtica
inherente a su globalidad y a su no linealidad.

Por ltimo, para terminar esta seccin sobre el problema de control del pndulo
invertido, conviene resaltar que se puede considerar como un problema arquetipo de lo
que es la ingeniera. No existe un mtodo universal para resolverlo, y ante l el
ingeniero tiene que desarrollar sus facultades imaginativas y creativas, combinando
diferentes mtodos para resolver los distintos aspectos del complejo problema que
representa el control de este sistema, aparentemente simple, pero en realidad muy
complejo en sus formas de comportamiento.

2.1.3. Instalacin.

La instalacin sobre la que ha sido aplicado el control, presente en la planta baja


del Instituto da Automtica y Robtica (IAR) de la Escuela Superior de Ingenieros de
Sevilla, consta de los siguientes elementos:

13
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Motor lineal 1FN3 Siemens.
Sistema ptico de medida lineal LC181 Heidenhein.
Guas de rodamiento.
Pndulo invertido.
Potencimetro VISHAY.
Armario y panel de control.
PC con tarjeta dSpace.

2.1.3.1. Motor Lineal.

El motor 1FN3 050-2W00-0AA de Siemens es un motor lineal sncrono a


imanes permanentes que puede alcanzar la velocidad de 373 m/min.

El primario es la parte mvil, es decir que en su interior se hallan las bobinas que
generan el campo electromagntico. Su dimensiones son 254*67*47.7 mm.

El secundario es compuesto da 21 imanes con 4 pares de polos cada uno de los


que mide 120*58*11.8 mm. La extensin total del secundario resulta ser 2520 mm.

Entre primario y secundario est presente un entrehierro de 1.3 mm.

Las guas LAS20ALZ de NSK-RPH miden 2985 mm.

La cabeza captadora del sistema de medida LC181 est fija en la parte mvil y
impone un limite de 120 m/min porque sea garantizado un correcto funcionamiento.

A continuacin se muestra una fotografa del montaje que se encuentra en los


laboratorios. En el todava no se ha montado la estructura de pndulo invertido que se
mostrar ms adelante.

14
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Figura 2.2: Motor lineal con plataforma mvil que se encuentra


en los laboratorios de automtica de la Escuela de Ingenieros.

2.1.3.2. Armario y panel de control.

El armario y panel de control contiene las protecciones, la distribucin de


potencia, el cableado y los pulsadores. Adems se encuentra aqu la unidad de
regulacin SimoDrive 611 Universal de Siemens.

Figura 2.3: Armario y panel de control.

15
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Esa unidad es una tarjeta que funciona de interfaz directa con el motor adems
que de unidad de regulacin. Presenta bornes para el acceso directo a salidas y entradas
digitales y analgicas. La tarjeta est conectada por un lado al mdulo que proporciona
la potencia al motor y al captador del sistema de medida, por el otro al PC. Las
conexiones con el PC son una directa a la puerta serie de se a travs del bus RS-232 y
la otra a travs de los bornes con la tarjeta dSpace que se halla en el PC. Veremos este
aspecto ms detalladamente luego.

2.1.3.3. Potencimetro.

El potencimetro VISHAY Spectrol 157-9002-103 OI nos ofrece una medida


del ngulo del pndulo. Posteriormente esa seal elctrica la convertiremos mediante un
bloque de Simulink en una seal que ir desde pi/6 a -pi/6 que son los ngulos mximo
y mnimo respectivamente que puede alcanzar el pndulo invertido.

2.1.3.4. Pndulo invertido.

El pndulo invertido se coloca sobre la plataforma mvil fijndolo mediante


tornillos.

10m 40
m mm

Figura 2.4: Pndulo invertido.

16
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Como ya se ha dicho arriba el pndulo tiene como ngulo mximo y mnimo
respectivamente +pi/6 y pi/6 con respecto a su vertical ya que tiene unos topes que
impiden que pueda inclinarse ms.

2.2. Software y conexin.

El mdulo SimoCom 611 Universal proporciona la interfaz directa al motor


adems de funcionar como unidad de regulacin. Esta tarjeta puede operar tanto como
regulador de posicin como de velocidad, tiene un mdulo de memoria no voltil
FEPROM para almacenar el firmware (software del sistema) y los datos del usuario.

Para acceder a la SimoCom 611 Universal como unidad de regulacin se emplea


un software de la Siemens SimoComU que comunica con la tarjeta a travs del bus
serial RS-232. Con SimoComU se pueden especificar los parmetros del motor
controlado, actualizar los parmetros internos del regulador, definir una secuencia de
desplazamiento y poner en marcha el seguimiento, hacer un diagnosis del sistema,
parametrizar las salidas y las entradas digitales y analgicas de la tarjeta, administrar las
alarmas, etc.

Adems se puede cargar la configuracin corriente en la FEPROM. A travs de


SimoComU no se puede, sin embargo, controlar en tiempo real el sistema. Los dos tipos
de control pueden ser planteados y aplicados, pero no se puede obrar sobre ellos durante
su ejecucin. Puede adems ser empleado para desplazar el motor manualmente desde
PC.

Por lo que concierne el presente proyecto ese software ha sido til para la
definicin de las puertas de entrada y salida directas, de los parmetros de final de
carrera software y para la gestin de las alarmas que, una vez que se activan, inhiben el
funcionamiento del motor. Tales acciones no pueden ser efectuadas a travs del modulo
que permite la aplicacin del control, esto es, el dSpace.

17
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
La dSpace DS1103 PPC es una tarjeta colocada en el PC. Est basada en el
procesador PowerPC 604e a 400 MHz y puede ser programada va Simulink con la
propia librera a bloques RTI (Real-Time Interface).

El software que acompaa la dSpace, adems de proporcionar la instalacin de


los bloques Simulink de interfaz, permite disear paneles de control en manera simple y
intuitiva.

Veamos ahora el panel empleado:

Figura 2.5: Pantalla del ControlDesk desde la que podemos variar los parmetros
de control.

Tenemos un botn de habilitacin del control (On/Off), input numricos para la


plantear los valores de amplitud y frecuencia de la seal de colocacin y de amplitud
para la ganancia del controlador de alzamiento. Hay adems tres plotter:
1. Para la visualizacin en tiempo real de la velocidad y posicin del carrito.
2. Para la visualizacin en tiempo real de la velocidad angular y ngulo del
pndulo.

18
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
3. Para la visualizacin en tiempo real de la seal de control.

Una vez realizado, compilado y cargado en la CPU el modelo Simulink de


interfaz o control del motor, se puede usar el panel para modificar valores del modelo y
visualizar las seales en lectura desde el motor; todo en tiempo real. Particularidades
sobre como se ha aplicado el control, como el modelo Simulink a travs del dSpace
sern presentadas ms adelante.

Ilustramos brevemente para terminar este apartado, las conexiones entre la


tarjeta dSpace y SimoCom 611 Universal. En el panel de control hay conexiones a la
SimoCom 611. Las seales necesarias en nuestro caso son las 4 descritas despus ms la
tierra y una referencia por la salida del motor y han sido parametrizadas mediante
SimoComU. Como nota, la tarjeta dSpace dispone de seis conectores con 50 pines cada
uno: P1A y P1B analgicos, P2A y P2B digitales, P3A y P3B diferenciales.

Veamos las conexiones:

La seal que llega al bloque convertidor analgico-digital DS1103ADC_C18 es


analgica y es la lectura de la velocidad real del motor. La conexin es entre el
borne SimoCom 611 Salidas Analgicas X441 16.A y el pin P1A 23
(convertidor analgico-digital canal 18). Adems se ha conectado el borne de
referencia X441 15 al pin P1A 24 (tierra).

Las dos seales digitales en entrada al motor llegan al bloque Simulink


DS1103BIT_OUT_G0, en particular a los bits 5 y 7. Estos bits son relativos a
P2A pin 19 y P2A pin 3, adems la tierra es aquella de P2A pin 1. En este caso
pero las seales han valores de 0 V (bajo) y 4,6 V (alto), mientras en entrada a la
SimoCom 611 el nivel bajo tiene que ser entre -3 y 5 V y el nivel alto entre 15 y
30 V. Por eso es necesario amplificar las seales TTL en llagada desde la
dSpace; se emplea una tarjeta compuesta por dos negadores y un Darlington
alimentada con 24 V. Las seales en salida son amplificadas a los valores altos
de 16.5 V y entonces conexos a la SimoCom 611. En particular a los bornes del
Modulo Opcional de Bornes X422 identificados con I8 y I9 y la tierra en salida
de la tarjeta a la tierra de la SimoCom 611.

19
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Para terminar la seal en salida del bloque DS1103DAC_C6 tiene un rango de
+/- 10 V (en realidad se utiliza slo entre 0 y 10 V) y se halla en el conector P1A
pin 10 (convertidor digital-analgico canal 6). Esto es conectado al primer de los
bornes libre que se hallan en bajo en el panel. En realidad tal convertidor
amplifica por 10 la seal que llega de Simulink; por ejemplo si la seal en el
modelo es de 0.2, en el pin (y por eso tambin en entrada a la SimoCom 611)
har 2 V.

Mostramos un esquema de las conexiones;

Figura 2.6: Diagrama de conexionado del motor lineal.

Las conexiones con los botones presentes en el panel, que permiten el


desplazamiento manual, han sido cortados para evitar conflictos.

2.3. Sistemas hbridos.

Los sistemas hbridos son una clase de sistemas dinmicos donde el


comportamiento a analizar es definido por la interaccin de dinmicas continuas y
discretas. Debido a la complejidad y a la diversidad de los sistemas hbridos, es muy

20
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
difcil que una herramienta se pueda aplicar a cualquier sistema y conservar las mismas
ventajas y propiedades.

Por est razn, actualmente no existe una herramienta o metodologa general y


sistemtica para la modelacin de sistemas hbridos, como las existentes en la industria
de manufactura o procesos.

2.3.1. Introduccin.

El trmino sistema hbrido es usado para definir una clase de sistemas con
comportamientos definidos por entidades o procesos de distintas caractersticas. Estos
sistemas contienen tpicamente variables o seales que toman valores de manera
continua y variables discretas que toman valores dentro de un conjunto finito de
posibilidades.

Existen muchas razones para usar modelos hbridos para representar el


comportamiento dinmico de tales sistemas. Una razn importante es la reduccin de
complejidad del modelo en orden, por ejemplo, en lugar de tener que representar las
relaciones dinmicas a partir de un conjunto de ecuaciones diferenciales no lineales de
orden superior, se puede representar el mismo sistema por un conjunto de ecuaciones
simples, obteniendo as modelos simples mediante una logstica de conmutacin entre
dichos modelos, usualmente la teora de grafos; esta es la teora ms comn en el
modelado fsico de fenmenos.

En control, la conmutacin entre sistemas dinmicos simples ha sido usada en la


prctica por muchas dcadas. Los esfuerzos recientes en la investigacin de sistemas
hbridos tpicamente se centran en el anlisis del comportamiento dinmico de los
mismos y tienen como meta el diseo de controladores con una estabilidad y
funcionamiento garantizados.

La mayora de los procesos industriales se pueden considerar sistemas dinmicos


ya que sus salidas dependen de entradas y salidas anteriores. En la mayora de las
industrias existen procesos que pueden ser del tipo continuo, tipo discreto y los que

21
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
combinan ambos aspectos. stos ltimos dan lugar a lo que se conoce como sistemas
dinmicos hbridos. Durante su operacin, siempre ser importante el poder realizar un
anlisis y evaluacin del desempeo de los procesos actuales para verificar si stos
cumplen las especificaciones de acuerdo a lo planeado.

Tambin, es importante el contar con una herramienta para realizar la


modelacin de dichos sistemas. Esta herramienta debe auxiliar en la realizacin de una
simulacin del modelo del proceso obtenido, con el fin de conocer y entender su
comportamiento ante diferentes condiciones o variaciones en la operacin. Sin embargo,
en la actualidad, la mayora de los mtodos y herramientas utilizadas para el anlisis,
modelacin y simulacin de procesos se encuentran orientados ya sea a procesos
continuos, o bien, a procesos basados en eventos discretos. La limitacin de estas
metodologas y herramientas aparece cuando se aplican a un proceso con caractersticas
continuas y discretas, por ejemplo: los procesos batch donde en general no se puede
realizar una simulacin en la cual se observe explcitamente la evolucin dinmica tanto
de la entidad discreta como de la entidad continua as como la interaccin que existe
entre ambas entidades.

2.3.2. Diferentes enfoques en el modelado y anlisis de sistemas


hbridos.

Al observar la literatura, salta a la vista que existen muchos enfoques para el


modelado, anlisis y sntesis de los sistemas hbridos. En trminos generales, los
enfoques difieren en lo relativo al nfasis en las dinmicas continuas y discretas o en la
complejidad de las mismas, y en cuanto a si enfatizan los resultados de anlisis y
sntesis, slo el anlisis o nicamente la simulacin.

En un extremo del espectro se encuentran los enfoques en los que se abordan los
sistemas hbridos que representan extensiones de ideas tericas de sistemas que se
describen por medio de ecuaciones diferenciales ordinarias para incluir tiempo y
variables discretas que presentan saltos, o extender los resultados a sistemas
conmutados.

22
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Tpicamente, estos enfoques son capaces de manejar dinmicas continuas
complejas y enfatizan los resultados de estabilidad. En el otro extremo del espectro,
hallamos enfoques a los sistemas hbridos que estn incorporados a los modelos y
mtodos de la ciencia computacional, que representan extensiones de las metodologas
de verificacin de los sistemas discretos a los sistemas hbridos.

Adems, estos enfoques son capaces de manejar dinmicas discretas complejas


descritas por autmatas finitos y enfatizan los resultados de anlisis (verificacin) y las
metodologas de simulacin. Existen metodologas adicionales que comprenden el resto
del espectro, las cuales combinan conceptos de los sistemas de control continuo
descritos por ecuaciones diferenciales o de diferencia lineales y no lineales y el control
supervisorio de los sistemas de eventos discretos que son descritos por autmatas finitos
y redes de Petri (Antsaklis et al., 1998).

Se han empleado diferentes paradigmas matemticos para modelar sistemas


hbridos que revelan la diversidad de las investigaciones. (Tavernini, 1987) us
autmatas diferenciales, en (Nerode et al., 1993) adoptaron un enfoque terico de
autmatas para los sistemas compuestos de ecuaciones diferenciales ordinarias en
interaccin y autmatas finitos, en (Antsaklis et al, 1993) adoptaron un enfoque de
sistemas dinmicos de eventos discretos; (Brockett, 1993) combin las ecuaciones
diferenciales ordinarias y los fenmenos discretos para describir sistemas de
movimiento; (Back et al., 1993) proporcionan un marco de referencia adecuado para la
simulacin numrica. En (Alur et al., 1993) usaron autmatas hbridos, una extensin
de los autmatas temporizados, y (Benveniste, 1998) propuso un marco de referencia de
comportamiento de modelado de sistemas hbridos con nfasis en la naturaleza de
composicin y el uso de tiempo multiforme.

Los autmatas temporizados y los autmatas hbridos han sido usados por varios
investigadores para el modelado y verificacin de los sistemas hbridos. (Alur y Dill,
1994) propusieron autmatas temporizados para modelar el comportamiento de los
sistemas de tiempo real en el tiempo.

Los autmatas temporizados se estudian desde la perspectiva de la teora del


lenguaje formal. La teora se aplica a la verificacin automtica de los requisitos de

23
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
tiempo real de las mquinas de estado finito. En (Alur et al, 1995) introdujeron el marco
de referencia de autmatas hbridos como un modelo y el lenguaje de especificacin
para sistemas hbridos.

En (Puri y Baraya, 1994) se presentan dos mtodos para la verificacin de


sistemas hbridos. El formalismo de modelado usado es el de los autmatas hbridos. La
verificacin est basada en abstraer la dinmica continua del sistema hbrido mediante
dinmicas continuas ms simples. (Desphande y Baraya, 1996) usan autmatas finitos
no determinsticos para modelar el comportamiento discreto e inclusiones diferenciales
para modelar el comportamiento continuo de los sistemas hbridos y se disea un
controlador hbrido que produce trayectorias viables.

En (Branicky 1998) se presenta algunas herramientas de anlisis para los


sistemas conmutados e hbridos. En particular, se usan funciones mltiples de Lyapunov
para el anlisis de estabilidad de los sistemas conmutados y se usan sistemas de
funciones iterativas para la estabilidad de Lagrange. (Henzinger et al., 1998) presenta
una metodologa para analizar algortmicamente sistemas hbridos no lineales
traducindolos primero a autmatas hbridos lineales, y entonces usando herramientas
de verificacin de modelos automatizados.

El autmata finito es un modelo de base para representar las dinmicas discretas


de los sistemas y su interaccin con el medio. Como este modelo estaba muy limitado
se hizo una ampliacin del mismo, introduciendo el tiempo en los estados discretos,
como una forma de interaccin continua. Sin embargo, debido a la creciente demanda
de modelos ms exactos y generales para los diferentes sistemas que tenan en su
estructura fenmenos tantos discretos como continuos, se realiz una extensin del
autmata finito, agregando aparte del tiempo en los estados discretos, ecuaciones
continuas, lo que dio lugar al autmata hbrido (Favela et al., 1998).

As, el modelo del autmata hbrido est basado en una representacin explicita
tanto de las dinmicas continuas del sistema como de las discretas. Las dinmicas
continuas se representan por modelos de estados mediante ecuaciones diferenciales que
las describen. Las dinmicas discretas se representan mediante el modelo del autmata

24
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
finito, donde se observa explcitamente la lgica de conmutacin del mismo (Favela et
al., 1999).

En (Balluchi et al., 2003) se introducen las nociones genricas para determinar


los estados estables asintticos en los sistemas hbridos y se dan las condiciones
suficientes para alcanzar un estado final. Dichas condiciones se pueden verificar an si
alguno de los subsistemas continuos del sistema hibrido no es observable y se
relacionan con el tiempo de permanencia mnimo y mximo en cada estado.

En (Morari, 2005) se ilustra la evolucin de los sistemas hbridos en el campo


del control, primero con algunos ejemplos histricos y luego en el rea emergente de
sistemas hbridos. Resaltan los desarrollos tericos y se menciona el software extenso
que ayuda a traer la teora a ejemplos prcticos. Se presenta una perspectiva para los
sistemas hbridos en el rea de control.

Se han propuesto numerosas herramientas de simulacin para la simulacin,


verificacin e implementacin de los sistemas hbridos. (Henzinger y Ho, 1995)
propusieron HYTECH como una herramienta automtica para analizar sistemas
hbridos. (Taylor y Kebede, 1996) desarrollaron herramientas en MATLAB para el
modelado y simulacin de sistemas hbridos. En (Daws et al., 1996) desarrollaron
KRONOS como plataforma de verificacin para sistemas complejos en tiempo real. En
(Inihov et al., 1997) desarrollaron el programa Model Vision Studium como una
herramienta para la investigacin numrica de sistemas hbridos utilizando la tecnologa
de programacin orientada a objetos.

SHIFT, propuesto por (Desphande et al., 1998) es un lenguaje de programacin


para describir redes dinmicas de autmatas hbridos. Los modelos de SHIFT ofrecen el
nivel apropiado de abstraccin para describir aplicaciones complejas como los sistemas
automatizados para autopistas cuya operacin no puede ser capturada fcilmente por los
sistemas convencionales. (Fourlas et al., 2004) propone un marco de referencia para el
modelado de sistemas de potencia usando sistemas hbridos. El sistema se construye y
simula en el ambiente SimulinkTM y StateflowTM de MatLabTM.

25
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
En el anlisis del comportamiento dinmico de sistemas influenciados por la
ocurrencia de eventos discretos, hay dos importantes lneas de investigacin: la que se
basa en el modelo del autmata y la que se basa en las redes de Petri. El inters de este
trabajo se basa en la modelacin y anlisis de sistemas hbridos mediante el modelo del
autmata hbrido continuo lineal invariante en el tiempo, propuesto por (Favela et al,
1999).

26
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

3. Modelado.

3.1. Introduccin.

Para modelar este sistema vamos a utilizar un modelo de sistema hbrido. Para
obtener dicho modelo debemos seguir los siguientes pasos:

1. Identificar las variables continuas y discretas que integran el


proceso.

2. Modelado de la parte continua: esto implica seleccionar el modelo


matemtico que ms se ajuste a las propiedades fsicas del
comportamiento continuo a modelar. Hay que recordar que se pueden
utilizar desde ecuaciones diferenciales simples hasta muy complejas para
representar las dinmicas continuas.

3. Modelado de la parte discreta: aqu se determinan el nmero de


estados discretos necesarios basado en los diferentes modos de
comportamiento fsico, las entradas y las salidas discontinuas.

4. Analizar las acciones de control.

.
5. Integracin de las variables continuas y discretas: utilizaremos el
modelo del autmata hbrido para realizar la integracin de las entidades.

6. Anlisis del sistema hbrido obtenido: con el fin de asegurar que todas
las condiciones previamente establecidas se cumplan.

7. Simulacin del sistema y evaluacin de resultados.

3.2. Variables continuas y discretas.

Variables continuas.

27
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Posicin del carro (plataforma mvil).
Velocidad del carro.
ngulo del pndulo con respecto a la vertical.

Variables discretas.
Activacin de la fuerza que simula el comportamiento de los rebotes
ya que esta fuerza nicamente acta cuando el ngulo es mayor que
el de los topes. Por tanto podemos suponer que tenemos un
interruptor que se activa cuando se cumple esta condicin.

3.3. Modelado de la parte continua.

El modelo del sistema ir cambiando dependiendo de la zona en la que se


encuentre el pndulo en cada momento:

pi/36 0 -pi/36
Modelo Modelo
Modelo lineal
pi/6 no lineal no lineal -pi/6

Modelo de Modelo de
rebotes rebotes

Figura 3.1: Modelo usado en funcin del ngulo del pndulo.

28
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
En la figura podemos observar como tendremos que utilizar tres modelos
diferentes para modelar el comportamiento del pndulo invertido en todas sus
posiciones adems de para poder modelar el efecto de los rebotes. En cambio el modelo
del carro es exactamente el mismo en cualquiera de los estados ya que no depende de la
posicin del pndulo.

3.3.1. Modelo del carro.

Para obtener el modelo del carrito utilizamos el siguiente esquema Simulink que
posteriormente cargamos en la tarjeta dSpace.

Figura 3.2: Diagrama Simulink para accionamiento del motor lineal.

Este esquema es el ms simple pues nicamente tenemos en cuenta el motor.


Para ello en el laboratorio hemos atado el pndulo contra uno de sus topes para que no
influya en el comportamiento del carro.

En el esquema slo hay dos bloques de inters, el input que introducimos


mediante el Signal Generador y el Motor Lineal. El resto de bloques nos sirve
nicamente para ver las salidas, las seales intermedias y para habilitar o deshabilitar la
entrada.

29
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Posteriormente, a partir de este esquema, iremos modificndolo y aadindole
todo lo dems por tanto lo que a continuacin vamos a explicar sobre el bloque Motor
Lineal es valido para los esquemas Simulink que iremos analizando despus de este
apartado..

El Signal Generator lo configuraremos para que nos ofrezca a la salida un


escaln. La amplitud de dicho escaln la podremos modificar despus en el
ControlDesk.

En cuanto al bloque del Motor Lineal se muestra en la siguiente figura:

Figura 3.3: Bloque Simulink Motor Lineal.

En este esquema podemos observar los siguientes bloques:

DS1103BIT_OUT_G0: es una puerta digital. Podemos observar como se emplean

dos bits (el 5 y el 7) de la puerta para proporcionar la direccin del movimiento


del motor. Cuando la seal de control asume valores positivos, el bit 5 se pone a
nivel alto mientras que el bit 7 permanece en nivel bajo, as se activa el
movimiento hacia la derecha (relacionado al bit 5). Viceversa si la entrada de
control tiene valores negativos, entonces el bit 7 se pone a nivel alto mientras el

30
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
bit 5 permanece a nivel bajo causando un movimiento hacia izquierda
(relacionado al bit 7). Obviamente los dos bits, que no pueden estar
simultneamente a nivel alto, sern nulos si la entrada es cero. En realidad
debido a los retrasos de conmutacin 1/0 y 0/1 en las seales de entrada a la
unidad SimoDrive 611 Universal, dichas entradas podran estar simultneamente
a nivel alto. Por ejemplo, si el motor est parado podra ocurrir que a causa de
las pequeas oscilaciones alrededor del valor 0 de la seal de salida del motor, el
controlador generara entradas de control demasiado pequeas como para causar
algn movimiento del motor (a causa de la presencia de la friccin) pero que
generaran frecuentes y rpidas conmutaciones izquierda-derecha. Puede as
ocurrir que una seal no tenga suficiente tiempo para pasar a nivel bajo antes de
que el otro conmute a nivel alto, las seales estn en ese caso ambas a nivel alto
y esto comportara una parada del motor. Para evitar ese efecto indeseado hemos
introducido una zona muerta en la lectura, si la seal de salida del motor no
alcanza amplitudes apreciables, la seal de salida del bloque es fijada a cero.
Esto, adems que eliminar la posible causa del bloqueo, evita que el motor una
vez parado oscile alrededor del punto de referencia. El bloque que realiza esto lo
estudiaremos ms adelante.

DS1103DAC_C6: convertidor digital-analgico. La seal de entrada del bloque es

la amplitud, es decir el valor absoluto, de la entrada de control. Este seal una


vez convertida es proporcionada al motor como amplitud de la entrada.
Prcticamente, si la seal de control no es nula, en cada instante llega al motor
un valor a nivel alto del bit 5 o 7 (el otro ser a nivel bajo) que hace moverse al
motor en la direccin correcta y un valor analgico que proporciona la amplitud
de la entrada.

DS1103ADC_C18: convertidor analgico-digital. Este bloque convierte la seal

analgica de posicin proporcionada por el motor, la transforma a digital y la


ofrece a la salida del bloque.

DS1103ADC_C19: convertidor analgico-digital. Este bloque convierte la seal

analgica de ngulo proporcionada por el potencimetro, la transforma a digital


y la ofrece a la salida del bloque.

31
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
DS1103ADC_C20: convertidor analgico-digital. Este bloque convierte la seal

analgica de velocidad proporcionada por el motor, la transforma a digital y la


ofrece a la salida del bloque.

Veamos a continuacin lo que ocurre cuando introducimos un escaln al motor:

Respuesta real del carro ante un escaln.


40

35

30

25
velocidad

20

15

10

-5
1 1.25 1.5 1.75 2 2.25 2.5 2.75 3 3.25 3.5
tiempo

Figura 3.4: Respuesta real del motor a un escaln.

Observando la grfica se ve que podemos aproximar el comportamiento de la


velocidad como un sistema de segundo orden subamortiguado.

A partir de esta grfica obtendremos los datos necesarios para obtener la funcin
de transferencia de orden dos:
n2
F (s) =
s 2 + 2 n s + n2
Las ecuaciones que utilizaremos para obtener los parmetros de la funcin de
transferencia son las siguientes:

32
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Tp =


n =
1 2

donde:
Tp = Tiempo de pico, es decir, tiempo que tarda la velocidad en alcanzar el valor
mximo que se obtiene en el sobrepico.
n = frecuencia natural de los polos.
= coeficiente de sobreoscilacin.

Midiendo en la grfica obtenemos que:


Tp = 0.35 seg.
= 0.5.

Por tanto operando con las ecuaciones:


= = = 8.9760
Tp 0.35

8.9760
n = = = 10.3646
1 2 1 0.5 2

Por tanto la funcin de transferencia que nos queda es:

107.4243
F (s) =
s + 10.3646s + 107.4243
2

Pero a nosotros lo que nos interesa es tener el sistema representado en espacio


de estados como sigue:

33
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

x x5=x/s x2=x/s2
u y

n 2

-2n

-n2

Figura 3.5: Diagrama de estados del carro.

Partimos de la funcin de transferencia del sistema de segundo orden


subamortiguado.
n2
s2 y x
F (s) = =
2 n n x u
1+ +
s s2

2 n n2
u = x+ x+ 2 x
s s

n2
y= x
s2

A partir de estas ecuaciones en continua obtendremos las ecuaciones del estado


en el instante k+1 a partir del instante k.

x& 2 = n2 x5

x 2 (k + 1) x 2 (k )
= n2 x5 (k )
Tm

34
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
x 2 (k + 1) = x 2 (k ) + Tm n2 x5 (k )

x2
x& 5 = u 2 n x5 n2 = u 2 n x5 x 2
2
n

x5 (k + 1) x5 (k )
= 2 n x5 (k ) x 2 (k ) + u (k )
Tm

x5 (k + 1) = (1 2Tm n ) x5 (k ) + Tm (u (k ) x 2 (k ))

A estas ecuaciones hay que aadirle otra para describir la posicin del carrito
que la obtendremos integrando la velocidad:

.
x 2 = x1

x1 (k + 1) x1 (k )
x 2 (k ) =
Tm

x1 (k + 1) = x1 (k ) + Tm x 2 (k )

Por tanto el sistema del carro en espacio de estados es:

x1 (k + 1) 1 Tm 0 x1 (k ) 0
x (k + 1) = 0 1 Tm n x 2 (k ) + 0 u (k )
2
2
x5 (k + 1) 0 Tm 1 2Tm n x3 (k ) Tm

x1 (k + 1) 1 0.01 0 x1 (k ) 0
x (k + 1) = 0 1 1.0742 x 2 (k ) + 0 u (k )
2
x5 (k + 1) 0 0.01 0.8964 x5 (k ) 0.01

Comprobemos ahora mediante la simulacin realizada en el Simulink si el


modelo se asemeja a la realidad. Para la simulacin utilizamos el siguiente esquema:

35
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Figura 3.6: Modelo Simulink del carro.

Pulsamos play para realizar la simulacin y comprobar si el resultado que


obtenemos coincide con el obtenido en el laboratorio:
Respuesta simulada del carro ante escaln.
40

35

30

25
velocidad

20

15

10

0
0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5
tiempo

Figura 3.7: Respuesta simulada del carro ante un escaln u=0.3.

Observamos como se comporta de forma bastante parecida a la respuesta real


que mostramos en la Figura 3.5 tanto en el tiempo de sobrepico como en el coeficiente
de sobreoscilacin. Ms adelante cuando expliquemos el modelo lineal del pndulo
veremos como introducimos estas ecuaciones para realizar el modelo global del sistema.

36
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
3.3.2. Modelo no lineal.

En la siguiente figura se muestra el diagrama de fuerzas que actan sobre el


pndulo:

Figura 3.8: Diagrama de fuerzas que actan en el sistema.

M masa del carro


m masa del pndulo
Bc friccin del carro
Bv friccin del pndulo
L longitud al centro de masa del pndulo
I inercia del pndulo
F fuerza aplicada al carro
X coordenadas de posicin del carro
ngulo del pndulo respecto de la vertical

Para obtener la ecuacin que describe el movimiento del pndulo, sumamos las
fuerzas perpendiculares al pndulo. Si resolvemos el sistema a lo largo de este eje nos
ahorramos un montn de lgebra. De esta forma obtenemos la siguiente ecuacin:

..
P sin( ) + N cos( ) mg sin( ) = m x cos( ) + Frv

Para librarse de los trminos P y N en la ecuacin anterior, sumamos los


momentos sobre el centroide del pndulo para obtener la siguiente ecuacin:

..
Pl sin( ) + Nl cos( ) = I

37
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Combinando estas dos ltimas ecuaciones obtenemos el siguiente resultado:

.. ..
I m lg sin( ) = ml x cos( ) + Frv

Para calcular el momento de inercia del pndulo lo aproximaremos al momento


de inercia de una varilla. La frmula general que se aplica es:

I = x 2 dm

Donde dm es un elemento de masa situado a una distancia x del eje de rotacin.

Vamos a calcular en primer lugar el momento de inercia de una varilla de masa


M y longitud L respecto de un eje perpendicular a la varilla que pasa por el centro de
masas.

Figura 3.9: Varilla con eje perpendicular por el centro.

La masa dm del elemento de longitud de la varilla comprendido entre x y x+dx


es:

El momento de inercia de la varilla es

Pero a nosotros lo que nos interesa es que el eje perpendicular a la varilla no


atraviese por el centro de masas sino por uno de los extremos tal y como se puede
observar en la siguiente figura:

38
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Figura 3.10: Varilla con eje perpendicular por uno de sus extremos.

Aplicando el teorema de Steiner, podemos calcular el momento de inercia de la


varilla respecto de un eje perpendicular a la misma que pasa por uno de sus extremos.

El teorema de Steiner es una frmula que nos permite calcular el momento de


inercia de un slido rgido respecto de un eje de rotacin que pasa por un punto O,
cuando conocemos el momento de inercia respecto a un eje paralelo al anterior y que
pasa por el centro de masas.

El momento de inercia del slido respecto de un eje que pasa por O es:

El momento de inercia respecto de un eje que pasa por C es:

Para relacionar IO e IC hay que relacionar ri y Ri.

Figura 3.11: Diagrama de masas con respecto a un eje.

39
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
En la figura, tenemos que

I O = mi Ri2 + 2d mi xic + d 2 mi

IO = IC + d 2M

El trmino intermedio en el segundo miembro es cero ya que obtenemos la


posicin xC del centro de masa desde el centro de masa.

Por tanto aplicando este resultado a nuestro caso obtenemos el siguiente valor
para el momento de inercia del pndulo.

1 1
I = I C + ml 2 = mL2 + ml 2 = m(2l ) 2 + ml 2
12 12

En la anterior ecuacin hemos supuesto que la distancia al centro de masas es la


mitad de la longitud del pndulo. As obtenemos finalmente:

4 2
I= ml
3

Tanto la friccin del carro con el suelo como la friccin de la varilla con el eje
vienen dadas por:

d ( xc)
Frcarro = Bc
dt
d
Fr var illa = Bv ( )
dt

A partir de todas estas ecuaciones obtenemos la frmula que nos describe el


comportamiento de la velocidad angular del pndulo:

.. .. .
I m lg sin( ) = ml x cos( ) + Bv

40
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
.. .. .
I = ml x cos( ) + m lg sin( ) + Bv

.
..ml .. Bv
= x cos( ) + g sin( ) +
I I

Estas ecuaciones nos describen el comportamiento de la aceleracin angular del


pndulo de una forma continua pero nosotros necesitamos las ecuaciones discretas tanto
del ngulo como de la velocidad angular.

x3 (k ) = Angulo

.
x 4 (k ) = Velocidad _ angular

x3 (k + 1) = x3 (k ) + Tm x 4 (k )

x 4 (k + 1) x 4 (k ) ml
= (a(k ) cos( x3 (k )) + g sin( x3 (k ))) + Bv x4 (k )
Tm I I

Tm
x 4 (k + 1) = x 4 (k ) + (ml (a(k ) cos( x3 (k )) + g sin( x3 (k ))) + Bv x4 (k ) )
I

Para calcular a(k) (aceleracin del carrito) lo hacemos a travs de la velocidad


del mismo de la siguiente manera:

.
x 2 (k ) = x = Velocidad _ carrito

x 2 (k ) x 2 (k 1)
a (k ) =
Tm

Por tanto el estado del pndulo en la zona no lineal ya lo tenemos perfectamente


definido.

41
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
3.3.3. Modelo de los rebotes.

Para simular el comportamiento del pndulo cuando llega a los topes e impacta
contra ellos, lo modelaremos mediante un muelle que aplica al pndulo una fuerza en
direccin opuesta a su movimiento, proporcional a la deformacin y a la velocidad
angular.

Fr = [Kr ( / 6) + ]

Fr = fuerza del rebote.


Kr = constante de rebote que penaliza la deformacin, mientras ms penetre
mayor ser la fuerza de reaccin.
= ngulo del pndulo.
= constante de rebote que penaliza la velocidad angular, mientras mayor sea la
velocidad angular con la que llegue mayor ser la fuerza de reaccin.
= velocidad angular del pndulo.

El /6 de debe a que estos son los ngulos mximo y mnimo respectivamente.

Para que este modelo se ajuste a lo que ocurre realmente es obvio que la
constante de deformacin debe ser muy grande para que as el pndulo penetre muy
poco y simule un rebote brusco como el que se produce al chocar contra los topes.

Esta fuerza actuar sobre la velocidad angular del pndulo por lo que la
ecuaciones que nos quedan son las siguientes:

x3 (k + 1) = x3 (k ) + Tm x 4 (k )

Tm
x 4 (k + 1) = x 4 (k ) + (ml (a(k ) cos( x3 (k )) + g sin( x3 (k ))) + Bv x4 (k ) ) + Tm Fr
I


Fr = k r x3 (k ) + x 4 (k )
6

42
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
A continuacin vamos a intentar calcular las constantes del rebote a partir de las
grficas obtenidas en el laboratorio.

Para empezar comprobamos si el potencimetro se encuentra bien calibrado.


Para ello situamos el pndulo a cada uno de los extremos y observamos la medida que
obtenemos:

0.095

0.0925

0.09

0.0875

0.085
angulo

0.0825

0.08

0.0775

0.075

0.0725

0.07
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 3.12: Valor del pndulo apoyado sobre la izquierda.

-0.093

-0.0943

-0.0955

-0.0968

-0.098

-0.0993
angulo

-0.1005

-0.1017

-0.103

-0.1043

-0.1055

-0.1068

-0.108
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 3.13: Valor del pndulo apoyado sobre la derecha.

43
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Aplicando en Matlab un programita para calcular la media de cada una de estas
grficas obtenemos que:

Izquierda = 0.0835
Derecha = -0.1000

Comprobamos como el potencimetro se encuentra descalibrado y las medidas


de ngulo que nos ofrece no se encuentran entre /6. Para que esto sea as tendremos
que restarle una constante y despus normalizarlo a /6 dividiendo entre una norma.

Veamos a continuacin como obtener dicha constante y norma:

Izquierda + Derecha 0.0835 0.1


Cons tan te = = = 0.0083
2 2

(Izquierda Derecha ) (0.0835 + 0.1)


Norma = 2 = 2 = 0.1752

6 6

Por tanto para obtener el ngulo entre /6 aplicamos la siguiente frmula:

MEDIDO Cons tan te


NORMALIZADO =
Norma

El mtodo que vamos a seguir para obtener las constantes el siguiente:

Obtener la grfica del pndulo en cada libre hacia cada uno de los
extremos con la sucesin de rebotes contra los topes. Hay que decir que
para obtener las constantes utilizaremos las grficas del ngulo sin
normalizar, ya que para esta no nos es necesario la normalizacin.
Realizar un zoom sobre dicha zona de rebotes.
Obtener a partir de dichas grficas una serie de puntos que se encuentren
en la zona de > /6 < /6.

44
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
A partir de esos puntos y con los ecuaciones despejar dichas constantes
del sistema de ecuaciones y resolverlo.

Como hemos dicho obtenemos las grficas de la cada libre:

0.09

0.08

0.07

0.06

0.05
angulo

0.04

0.03

0.02

0.01

-0.01
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 3.14: Cada libre del pndulo hacia la izquierda.

0.02

-0.02

-0.04
angulo

-0.06

-0.08

-0.1

-0.12
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 3.15: Cada libre del pndulo hacia la derecha.

45
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Realizamos el zoom sobre la zona de rebotes sobre la grfica de cada libre hacia
la izquierda:

0.0835
angulo

0.06
2.5 3 3.5 4
tiempo

Figura 3.16: Zona de rebotes de la izquierda.

Podemos observar como al producirse el rebote, durante unos instantes,


aproximadamente dos tiempos de muestreo, el valor del ngulo es mayor que 0.0835
que era el valor mximo impuesto por el tope de la izquierda.

Ahora analizamos las ecuaciones para ver el nmero puntos que nos es necesario
obtener para despejar las constantes.

Dichas ecuaciones se correspondern con las ecuaciones de la velocidad angular


tal y como se realiza a continuacin ya que es sobre la velocidad angular sobre la que
acta el muelle imaginario con el que hemos simulado los rebotes.

. . Tm .

(k + 1) = (k ) + ml (a(k ) cos( (k )) + g sin( (k )) ) + Bv (k ) + Tm Fr
I

46
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Al realizarse estas pruebas con el carrito completamente inmovilizado por unos
topes que se han colocado para que no afecten las fuerzas de interaccin del carro sobre
el modelo del pndulo se obtiene lo siguiente:

. . Tm .

(k + 1) = (k ) + m lg sin( (k )) + Bv (k ) + Tm Fr
I

Como vamos a calcularlo en la parte izquierda:

.

Fr = k r ( (k ) + ) + (k )
6

Al ser dos las constantes que queremos obtener necesitaremos al menos dos
ecuaciones para hallarlas, por lo que la usaremos en dos instantes de tiempo
consecutivos.

. . Tm m lg T B . .
(k + 1) = (k ) + sin( (k )) + m v (k ) Tm k r (k ) + Tm (k )
I I 6

. . Tm m lg T B . .
(k + 2) = (k + 1) + sin( (k + 1)) + m v (k + 1) Tm k r (k + 1) + Tm (k + 1)
I I 6

Teniendo en cuenta que:

. (k ) (k 1)
(k ) =
Tm

. (k + 1) (k )
(k + 1) =
Tm

. (k + 2) (k + 1)
( k + 2) =
Tm

Observamos que nos hacen falta al menos cuatro puntos para poder resolver el
sistema al menos dos de ellos contenidos en la regin de los rebotes.

47
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Dichos puntos sern los siguientes:

1 = 0.0752
1 = 0.07956
1 = 0.0835
1 = 0.0854

Estos puntos han sido obtenidos de la grfica de la cada libre hacia la izquierda
que representamos en la figura 3.17.

Por tanto despejando lo que nos queda es:

. . Tm m lg Tm Bv .
.
T ( k ) + T ( k) ( k ) + sin( ( k )) (k )
( k + 1)
m
6
m
k I I
. = + .
r

(k + 2) T (k + 1) + T (k + 1) (k + 1) + Tm m lg sin( (k + 1)) Tm Bv (k + 1)
. .
m m

6 I I

1
. . . Tm m lg Tm Bv .
k r Tm (k ) + 6 Tm (k )
( k + 1) ( k ) sin( ( k )) + (k )
= I I
. T m lg T B
T (k + 1) + T (k + 1)
. . .
(k + 2) (k + 1) m sin( (k + 1)) + m v (k + 1)
m 6
m
I I

Realizando todo esto mediante una rutina diseada en matlab obtenemos el valor
de estas constantes:

k r = 4714.4

= 54.6

Una vez que hemos hallado estas dos constantes debemos comprobar mediante
simulacin si efectivamente el comportamiento de las ecuaciones es aproximadamente
igual al que se produce en la realidad. Esto lo realizaremos mediante el Simulink tal y
como se muestra en el siguiente esquema.

48
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Figura 3.17: Modelo simulink del pndulo.

En el diagrama el MATLAB Function Pendulo es un programa que simula el


comportamiento del pndulo con sus ecuaciones no lineales y aadiendo adems la
simulacin de los rebotes cuando el ngulo es superior a los mximos permitidos por los
topes este programa se puede encontrar en el ANEXO 1 . Las salidas de este bloque
seran el estado del sistema que se realimenta nuevamente mediante un delay.

La seal de control en este caso aunque est presente en el esquema ser cero ya
que este se encuentra desactivado ya que todava no nos interesa.

En cuanto a la seal de on ms adelante en el apartado cinco se explicar su


funcionamiento de momento no la tendremos en cuenta

Para simular el mismo comportamiento que el que se da en el laboratorio el


programa simula que la seal del ngulo est descalibrada por eso a la salida colocamos
el normalizador que tal y como calculamos antes le resta una constante y la multiplica
por la norma.

49
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Veamos cual es el resultado de la simulacin sin normalizar:

0.09

0.08

0.07

0.06

0.05
angulo

0.04

0.03

0.02

0.01

-0.01
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 3.18: Simulacin de cada libre del pndulo hacia la izquierda.

Realicemos un zoom sobre los rebotes:

0.09

0.085

0.08
angulo

0.075

0.07

0.065

1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8


tiempo

Figura 3.19: Simulacin de la zona de rebotes izquierda.

50
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Si comparamos las figuras 3.19 y 3.20 con las figuras 3.15 y 3.17 comprobamos
que efectivamente el modelo se aproxima bastante a la realidad como podemos
comprobar con las siguientes cifras:

Simulacin Realidad
Amplitud del primer rebote 0.0635 0.0635
Amplitud del segundo rebote 0.0758 0.076
Amplitud del tercer rebote 0.0795 0.082
Duracin primer rebote 0.38 sg 0.35 sg
Duracin segundo rebote 0.24 sg 0.19 sg

Por tanto podemos dar por bueno el modelo de los rebotes ya que la amplitud de
los dos primeros rebotes es la misma, la duracin del primer rebote tiene menos de un
10% de diferencia.

Por ltimo comprobamos si el normalizador funciona correctamente:

0.5236
angulo

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 3.20: Simulacin normalizada.

51
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Se comprueba como efectivamente tiende a /6 = 0.5236 por lo que el
normalizador funciona correctamente.

Los mismos resultados que hemos obtenido para la cada hacia a la izquierda se
dan cuando se realiza la cada hacia la derecha.

3.3.4. Modelo linealizado.

Veamos el conjunto de ecuaciones de las que partimos para la linealizacin:

Posicin del carrito:

x1 (k + 1) = x1 (k ) + Tm x 2 (k )

Velocidad del carrito:

x 2 (k + 1) = x 2 (k ) + Tm n2 x5 (k )

Aceleracin del carrito:

x5 (k + 1) = (1 2Tm n )x5 (k ) + Tm (u (k ) x 2 (k ) )

Angulo del pndulo:

x3 (k + 1) = x3 (k ) + Tm x 4 (k )

Velocidad angular del pndulo:

Tm
x 4 (k + 1) = x 4 (k ) + (ml (a(k ) cos( x3 (k )) + g sin( x3 (k )) ) + Bv x4 (k ) )
I

52
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Observamos que la nica ecuacin que tenemos que linealizar es la velocidad
angular del pndulo ya que todas las otras ya son lineales.

Como en esta zona el pndulo debe mantenerse en posicin vertical puede


suponerse que:

sin( ) =
cos( ) = 1

Haciendo uso de estas linealizaciones se llega a las siguientes ecuaciones que


describen al sistema de una manera mas sencilla:

Tm
x 4 (k + 1) = x 4 (k ) + (ml (a(k ) + gx3 (k ) ) + Bv x 4 (k ) )
I

T T ml T m lg
x 4 (k + 1) = 1 + m Bv + m a (k ) + m x3 ( k )
I I I

T T ml x 2 (k ) x 2 (k 1) Tm m lg
x 4 (k + 1) = 1 + m Bv + m + x3 ( k )
I I Tm I

Partiendo del modelo del carrito podemos obtener:

x5 . x (k ) x 2 (k 1)
v n2 = x 2 x 2 = n2 x5 2 = n2 x5 (k )
s Tm

Sustituyendo este resultado en la ecuacin de la velocidad angular obtenemos lo


siguiente:

T ml n
2
T T m lg
x 4 (k + 1) = 1 + m Bv + m x5 (k ) + m x3 ( k )
I I I

53
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Los sistemas lineales se describen segn las siguientes ecuaciones:

_ _
x(k + 1) = A x(k ) + Bu

_ _
y (k ) = C x(k )

Describiendo nuestro sistema de esta forma obtenemos:

x1 (k + 1) 1 Tm 0 0 0 x (k ) 0
x (k + 1) 0 n Tm x (k ) 0
1
2
1 0 0
2 2
x3 (k + 1) = 0 0 1 Tm 0 x (k ) + 0 u (k )
Tm m lg Tm Tm ml n2
3

x 4 (k + 1) 0 0 1+ Bv 4 (k ) 0
x
x5 (k + 1) I I I
0 Tm 0 0 1 2 nTm x5 (k ) Tm

x1 (k )

y1 (k ) 1 0 0 0 0 x 2 (k )
y ( k ) = 0 1 0 0 0 x ( k )
2 3
y 3 (k ) 0 0 1 0 0 x 4 (k )
x5 (k )

El valor de cada una de las constantes es:

Constante Valor
M 1 kg
L 0.375 m
G 9.8 m/s2
Tm 0.01 s
Bv 0.015

54
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

3.4. Modelado de la parte discreta.

Podemos definir cinco estados discretos:

S1: El pndulo se encuentra en la zona de rebotes de la izquierda. El nico


estado al que se puede evolucionar desde este es que el pndulo pase al S2 (aire).
Esto se hace proporcionando un pequeo impulso inicial.

S2: El pndulo se encuentra en el aire. Nuestro objetivo sera que el pndulo


permaneciera en este estado hasta que consiguiera estabilizarse en posicin
vertical. Si esto no sucede existen dos posibles evoluciones para el estado, por
un lado podra suceder que el pndulo no tuviese la suficiente velocidad angular
como para alcanzar la zona de estabilizacin vertical y volviese hacia atrs y
pasara al S5 (colisin izquierda), o por otro lado podra ser que el pndulo
llegara con una velocidad angular excesiva y tal como alcanza la zona de
estabilizacin vertical el control no fuera capaz de controlarlo y la abandonara
bien nuevamente hacia el S5 o hacia el S4 (colisin derecha).

S3: El pndulo se encuentra pegado al tope de la derecha en reposo. El nico


estado al que se puede evolucionar desde este es que el pndulo pase al S2 (aire).
Esto se hace proporcionando un pequeo impulso inicial.

S4: El pndulo colisiona con el tope de la derecha. Este estado es de transicin y


por tanto obligatoriamente desde l hay que evolucionar a S2.

S5: El pndulo colisiona con el tope de la izquierda. Este estado es de transicin


y por tanto obligatoriamente desde l hay que evolucionar a S2.

Recordar que todo esto de ir cambiando de modelo se refiere al modelo del


pndulo invertido ya que el modelo del carro permanece invariable en todo momento.

55
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

3.5. Integracin de las variables continuas y discretas.

Para conseguir dicha integracin vamos a implementar el modelo del autmata


hbrido definido de la siguiente manera:

H = {X , S , E , Fr , impulso}, donde :

X = {x1 (k ), x 2 (k ), x3 (k ), x 4 (k ), x5 (k )}

S = {S1, S 2, S 3, S 4, S 5}

T = {T 1, T 2, T 3, T 4, T 5, T 6}

impulso = impulso inicial

Fr = fuerza del rebote

S1 S2 S3
Fr = 0
T1 T2

impulso impulso

Fr = 0 Fr = 0

T5
T3
</6
>/6

T4
</6 T6

S5 >/6 S4

Fr = [Kr ( / 6) + ] Fr = [Kr ( + / 6) + ]

Figura 3.21: Modelo del autmata hbrido del pndulo.

56
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

4. Control.

4.1. Estrategia global de control hbrido.

El problema de swing up va a ser solucionado en dos pasos:

1. Hacer que el pndulo comience a rebotar contra los topes hasta alcanzar una
amplitud prxima del equilibrio en posicin vertical. Problema que
afrontaremos realizando un estudio de la energa del pndulo.

2. Estabilizacin en esta posicin, denominado subproblema local de


estabilizacin.

El controlador que se propone es un controlador hbrido, formado por una


combinacin de una ley de control orientada a aumentar la energa del pndulo que
acta lejos de la posicin de equilibrio, y por una ley de control lineal que lo estabiliza
cuando est cerca de l.

Los dos subproblemas pueden ser combinados de una forma muy simple a travs
de la siguiente funcin objetivo:

C ( , k ) = ( )C ALZAMIENTO (k ) + (1 ( ) )C EQUILIBRIO (k )

donde () es una funcin que depende del valor del ngulo del pndulo con respecto a

la vertical de tal manera que () = 1 para > , y () = 0 en caso contrario.
6

Mediante este tipo de controlador hbrido se han obtenidos resultados


satisfactorios como se comprobar ms adelante en la simulacin.

Este tipo de control hbrido se denomina de transicin abrupta ya que esta se


realiza de forma instantnea al cumplirse la condicin de cambio. Ms adelante para
modelar esto usaremos la seal on.

57
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

4.2. Alzamiento del pndulo.

4.2.1. Impulso inicial.


El pndulo inicialmente se encuentra apoyado sobre uno de los topes por lo que
para sacarlo de ese estado inicial necesitamos darle un impulso inicial. Para calcular la
amplitud de dicho impulso recurriremos a las ecuaciones de la energa del pndulo.

La energa potencial de la varilla es la energa potencial de una partcula de masa


m situada en el c.m. de la varilla E=mg(L/2)cos0. La energa potencial se convierte en
energa cintica de rotacin. El principio de conservacin de la energa se escribe:

11 2 2 L
E= mL + mg cos
23 2

Ahora vamos a calcular el trabajo que tendra que realizar la fuerza del carrito

para hacer pasar el pndulo desde su posicin de reposo en hasta un ngulo de .
6 7
Tanto en el momento inicial(estado de reposo) como en el final (momento en el que
cambia el signo de la velocidad angular) toda la energa es energa potencial por lo que
nos queda la siguiente ecuacin:

L L
W = E E = mg cos mg cos
6

7 6 7
2 6 2 7

L
W = mg cos cos = 0.1284 J
6

7
2 6 7

Vemos como efectivamente el trabajo tiene signo negativo lo cul nos indica que
para pasar de una posicin a otra debemos aportar energa al sistema. Hay que sealar
tambin que en estas ecuaciones hemos despreciado las prdidas de energa asociadas
al rozamiento de la varilla contra su eje.

58
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
A continuacin vamos a intentar obtener la magnitud del impulso. Para ello
supondremos que la fuerza que ejerce el carrito es constante durante la duracin del
mismo.

Figura 4.1: Pndulo girando.

Considrese un cuerpo rgido que puede girar alrededor de un eje fijo tal como
se indica en la figura 4.1. Supongamos que se aplica una fuerza exterior F en el punto P.
El trabajo realizado por dicha fuerza a medida que el cuerpo gira recorriendo una
distancia infinitesimal ds=rdq en el tiempo dt es:

Fsen es la componente tangencial de la fuerza, la componente de la fuerza a


lo largo del desplazamiento. La componente radial de la fuerza no realiza trabajo, ya
que es perpendicular al desplazamiento.

El trabajo total cuando el slido gira un ngulo es:


7 7
W = F dr = Fsen rd

6 7
6 6

59
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Si comparamos la figura 4.1 con la figura 3.1 que nos mostraba el diagrama de
fuerzas que actan sobre el pndulo llegamos a la conclusin que el ngulo usado
para hallar la componente tangencial de la fuerza es igual al ngulo que nos mide el
desplazamiento del pndulo que dicha componente tangencial se relaciona con el
coseno y no con el seno de tal modo que lo que nos quedara es:


7 7
W = F dr = F cos rd

6 7
6 6

Suponiendo como hemos dicho que la aceleracin que produce el carrito es


constante y por tanto la magnitud de la fuerza tambin:


7

W = F r cos d = F r sen sen
6

7 7 6
6

W
0.1284
F= 6 7
= = 5.1788 N
0.75
r sen sen sen sen
7 6 2 7 6

Como ya sabemos el carrito es controlado por velocidad por tanto a partir de esta
fuerza tenemos que hallar el incremento de velocidad necesario para producirla.

Una fuerza aplicada durante un tiempo modifica el momento lineal (la velocidad
del carrito).
t

F dt = mv mv
0
0 = mv

Aplicando la misma aproximacin de que F es constante y tomando una


duracin para el impulso de 0.25 sg obtendremos el incremento de velocidad buscado.

60
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
t
Ft
F dt = Ft = mv v =
0
m

5.1788 0.25
v = = 1.2947
1

Comprobemos ahora mediante simulacin si los clculos y aproximaciones que


hemos realizado son correctos. Veamos a continuacin el bloque simulink diseado
para simular dicho impulso inicial:

Figura 4.2: Modelo simulink de impulso inicial.

Este modelo es muy sencillo tenemos dos pulse generador que generan dos
escalones uno que empieza en a los 0 sg con una amplitud de 1 y otro que lo hace 0.15
sg despus con una amplitud de -1. Posteriormente al sumarlos se nos generar un
impulso cuya amplitud ser de 0.7 ya que despus lo multiplicamos por dicha ganancia.

No olvidemos que aunque la ganancia sea de 0.7 la variacin ser de 1.4 ya que
conmuta entre -0.7 y 0.7. Esto lo hacemos as porque el actuador est limitado entre 1
y por tanto no podemos introducirle una amplitud de 1.4.

El hecho de que introduzcamos una variacin de 1.4 en lugar de 1.3 es para


intentar compensar los posibles efectos del rozamiento que no hemos tenido en cuenta a
la hora de hacer los clculos.

Otra precisin es que la duracin del pulso es de 0.15 en lugar de 0.25 es porque
al comportarse el carro como un sistema de segundo orden aunque introduzcamos 0.15

61
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
despus realmente durar unos 0.25 sg como podremos comprobar en la simulacin.
Veamos la entrada del impulso:

0.8

0.6

0.4

0.2

0
u

-0.2

-0.4

-0.6

-0.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
tiempo

Figura 4.3: Impulso inicial de entrada.

Veamos a continuacin los resultado que se producen ante una entrada como
esta:

0.8
Posicin
Velocidad
0.6 Angulo

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0 0.5 1 1.5 2 2.5
tiempo

Figura 4.4: Respuesta del sistema al impulso inicial.

62
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Analicemos detenidamente est grfica y veamos si se cumplen las
aproximaciones que hemos realizado as como los resultados que habamos obtenido.

Comprobamos en primer lugar la suposicin que hicimos de que la aceleracin


que proporcionaba el carrito y por tanto la fuerza que transmita al pndulo era
constante. Hagamos un zoom en la figura 4.4 en el momento en el que se produce el
cambio en la entrada de positivo a negativo:

0.8
Posicin
Velocidad
0.6 Angulo

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0.15 0.2 0.25 0.3 0.35 0.4 0.45
tiempo

Figura 4.5: Variacin de la velocidad de carro ante el impulso inicial.

Observando la figura 4.5 podemos observar como la velocidad al pasar de 0.65 a


-0.65 se comporta aproximadamente como una lnea recta por lo que su derivada, es
decir la aceleracin del carro, sera una constante, por tanto la suposicin realizada es
era correcta. Adems se comprueba tambin que el tiempo que durara este impulso es
aproximadamente de 0.25 sg tal y como tomamos al realizar los clculos.

Se comprueba tambin que aunque el impulso introducido tena una amplitud de


0.7, la salida solamente llega hasta 0.65 aproximadamente, esto se debe al rozamiento y
a que el tiempo de pico del carro es mayor que la duracin del impulso y por tanto no da
tiempo a que alcance dicho valor. Aun as que el valor de 0.65 tenemos suficiente ya
que al realizar los clculos obtuvimos que la variacin deba ser de 1.2947 y con este
resultado obtenemos una variacin de 1.3.

63
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Veamos a continuacin si el resultado del pndulo es el esperado. Nuestra
intencin era que con el impulso el pndulo pasar de la posicin de

reposo = 0.5236 a = 0.4488 . Comprobemos realizando nuevamente un zoom
6 7
sobre la figura 4.4 pero esta vez fijndonos en el ngulo:

0.6
Posicin
0.58 Velocidad
Angulo
0.56

0.54

0.52

0.5

0.48

0.46

0.44

0.42

0.4
0 0.1 0.2 0.3 0.4 0.5 0.6
tiempo

Figura 4.6: Variacin del ngulo del pndulo ante el impulso inicial.

En la figura se comprueba como efectivamente el ngulo pasa de 0.5236 a


0.4388 es decir alzndose incluso un poco ms de lo esperado (un 2.5% ms) por lo que
se contrastan los clculos realizados.

4.2.2. Control de alzamiento.

Una vez que hemos introducido el impulso inicial y ya tenemos el pndulo en


movimiento tenemos que aplicar una ley de control para conseguir llevar el pndulo
hasta la zona lineal.

64
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Para realizar nuestro objetivo lo que tendremos que lograr es que la energa del
pndulo vaya aumentando progresivamente. La ecuacin de la energa del pndulo era
la siguiente
11 2 2 L
E= mL + mg cos
23 2

La forma que tenemos de modificar la energa es actuando sobre la velocidad


angular ya que su frmula como ya vimos en apartados anteriores es:

Tm
(k + 1) = (k ) + (ml (a(k ) cos( (k )) + g sin( (k ))) + Bv (k ) )
I

La forma de que la energa vaya aumentando es haciendo que el mdulo de la


velocidad angular vaya aumentando ya que se encuentra elevado al cuadrado en la
frmula de la energa. Lo que haremos para conseguir esto es que la aceleracin en el
instante k siempre tenga el mismo signo que la velocidad angular en dicho instante de
tal forma que ocurrir lo siguiente:

Si el pndulo est subiendo desde la izquierda al centro su velocidad angular


ser negativa. Si el pndulo partiera con una velocidad angular negativa inicial y
nosotros no acturamos podra ocurrir dos cosas: que esa velocidad fuera lo
suficientemente grande como para llegar al centro, cosa que no es nuestro caso
porque simplemente hemos dado un pequeo impulso inicial o la otra
posibilidad, que es la nuestra, que el pndulo comenzara a ascender hasta que la
componente de la gravedad que se encuentra multiplicada por el seno del ngulo
consiguiera anular dicha velocidad negativa y el pndulo comenzara a descender
con una velocidad angular positiva. El hecho de que la aceleracin tenga el
mismo signo que la velocidad angular retrasar dicho momento haciendo que el
pndulo ascienda ms y aumentando su energa por tanto.

Si el pndulo se encuentra descendiendo hacia la izquierda su velocidad angular


ser positiva. En este caso la componente de la gravedad contribuye a aumentar
la velocidad angular. El pndulo continuar descendiendo hasta que choque con
el tope. Al chocar con el tope perder parte de energa y cambiar nuevamente el

65
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
signo de la velocidad angular. Para intentar compensar esa perdida de energa
intentamos ir aumentando la energa del pndulo mientras est descendiendo
para lo que le sumamos adems la componente de la aceleracin que tendr el
mismo signo que la velocidad angular.

Como la actuacin que se realiza sobre el carro es en velocidad la nica forma


que tenemos de conseguir que la aceleracin tenga el signo que deseamos es haciendo
que la velocidad del carro vaya conmutando con el mismo signo de la velocidad angular
del pndulo y multiplicndola por una ganancia determinada tal y como sigue:

u = K * signo( )

Para determinar el valor de la constante K recurriremos a la simulacin mediante


el simulink. Analicemos el modelo que debemos implementar para integrar este
controlador con el impulso inicial:

Figura 4.7: Modelo Simulink del controlador de alzamiento.

Por un lado tenemos la seal procedente del bloque Impulso inicial que ya
analizamos en la figura 4.2 y por otro tenemos la seal de control que obtenemos al
aplicarle a la velocidad angular del pndulo la funcin signo y multiplicarla por una
ganancia. Estas dos seales se introducen en el multipuerto y en un bloque comparador
de entradas que lo que hace es generar una seal que determina cul de las dos seales

66
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
del multipuesto se debe introducir en el carro. Veamos como es este bloque en su
interior para estudiar su funcionamiento:

Figura 4.8: Modelo Simulink del comparador de entradas.

El criterio de seleccin que utilizamos es que la seal que pasa es la que tiene un
mdulo mayor. Si el impulso es el mayor la salida del Relational Operator es 0 a la que
sumaramos 1 y por tanto la salida del comparador de entradas sera 1 lo que hara que
la seal del multipuerto que pasara sera la primera, es decir el impulso inicial. Cuando
la seal de control es la mayor entonces la salida del Relational Operator es 1 al que le
sumamos 1 y por tanto la salida del comparador de entradas sera 2 lo que hara que la
seal del multipuerto que pasara sera la segunda, es decir la seal de control.

A continuacin mediante la simulacin iremos variando el valor de la ganancia


del controlador para ver con que valor conseguimos el alzamiento del pndulo de una
forma adecuada.

0.6

0.58

0.56

0.54

0.52
ngulo

0.5

0.48

0.46

0.44

0.42

0.4
0 0.5 1 1.5 2 2.5 3
tiempo

Figura 4.9: Angulo para K=0.1.

67
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Vemos que para K=0.1 el comportamiento del pndulo prcticamente es el
mismo que cuando no ejercamos control ninguno y por tanto slo afecta el impulso
inicial.

0.8
control
ngulo
0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
tiempo

Figura 4.10: Angulo para K=0.2.

Para K=0.2 vemos que en un primer momento la energa empieza a crecer para
al final se acaba imponiendo el trmino gravitatorio y la energa que se va perdiendo en
cada uno de los rebotes hace que el pndulo vuelva a la posicin de reposo.

1
control
0.8 ngulo

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6
tiempo

Figura 4.11: Angulo para K=0.3.

68
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Para K=0.3 conseguimos levantarlo con dos rebotes. Vemos como el
comportamiento de la seal de control es el esperado ya que el signo de la pendiente
del ngulo (es decir la velocidad angular) es igual al signo de la seal de control.

1
control
0.8 ngulo

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
tiempo

Figura 4.12: Angulo para K=0.4.

Vemos como para K=0.4 conseguimos levantarlo con un nico rebote.

Una vez que hemos comprobado mediante la simulacin que efectivamente la


ley de control que hemos propuesto funciona debemos comprobarlo en el laboratorio.
Antes veamos el modelo simulink del control de alzamiento que se ha implementado en
el laboratorio:

Figura 4.13: Modelo del controlador de alzamiento para el laboratorio.

69
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Al igual que para la simulacin aqu se generan dos seales una que se
corresponde con el impulso inicial y otra con la seal de control propiamente dicha.
Ambas seales se generan de la misma forma que ya hemos explicado en la simulacin.
La forma en que se selecciona la seal de entrada es la misma que en la simulacin
mediante el comparador de entradas.

Las diferencias con el controlador de la simulacin es que en este caso adems


de tener la velocidad angular como seal de entrada, tenemos tambin la seal del
ngulo de forma que el controlador no empezar a funcionar hasta que la seal de
ngulo no sea menor que un ngulo lmite que veremos ahora como determinamos (todo
esto lo realiza el bloque compara ngulo).

El sentido de esto es que no se produzca ninguna seal de control debida al ruido


mientras estamos esperando a que se produzca el impulso inicial. Observemos el ruido
en la seal del ngulo:

0.62

0.6

0.58

0.56
angulo

0.54

0.52

0.5

0.48

0.46
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tiempo

Figura 4.14: Seal del ngulo con ruido.

Observando la figura vemos que tomando como ngulo lmite 0.5 nos basta para
que no nos afecte la seal de ruido. A continuacin se muestra el interior del bloque
compara ngulo:

70
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Figura 4.15: Bloque compara ngulo.

Vemos como efectivamente compara el mdulo de la entrada In1 con 0.5 de tal
forma que si In1 es menor o igual a 0.5 a la salida del Relational Operator1 tendremos
un 0 por lo que a la salida del bloque se pondr un 1 que har que el multipuerto deje
pasar la seal de control que se est generando. Si In1 es mayor que 0.5 entonces a la
salida del Relational Operator1 tendremos un 1 por lo que a la salida del bloque se
pondr un 2 que har que el multipuerto deje pasar la constante 0.

Otra diferencia con el controlador de la simulacin es que en este tenemos otros


dos multipuertos ms asociados a las seales de Colocacin y de On/Off que se
modifican a travs de la interfaz del ControlDesk que se puede ver en la figura 2.5.

La seal de On/Off nos permite habilitar/deshabilitar el controlador mientras que


la seal Colocacin cuando est habilitada lo que hace es dejar pasar la seal de
colocacin que tambin podemos modificar a travs de la interfaz y que nos permite
mover el carrito a la izquierda o la derecha con ms o menos rapidez dependiendo del
signo y la magnitud de dicha seal.

Por tanto para que el control est activo la seal de On/Off se debe encontrar
habilitada y la seal de Colocacin deshabilitada.

Una vez que hemos analizado el interior del controlador de alzamiento que
tenemos implementado en el laboratorio veamos lo que ocurre al aplicrselo al sistema
del carro-pndulo. Lo que haremos ser analizar el comportamiento para unas ganancias
de control de 0.3 y 0.4.

71
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

0.8
ngulo
control
0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
1.6 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6
tiempo

Figura 4.16: Respuesta real alzamiento para K=0.3.

Observamos como al igual que suceda en la simulacin de la figura 4.11


necesitamos dos rebotes para que se produzca el alzamiento.

0.8
ngulo
control
0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
1 1.2 1.4 1.6 1.8 2
tiempo

Figura 4.17: Respuesta real alzamiento para K=0.4

Se comprueba tambin que al igual que suceda en la simulacin de la figura


4.12 el alzamiento de produce realizando un rebote previo.

Observando ambas grficas comprobamos tambin que el comportamiento de la


seal de control es el esperado siendo igual al signo de la pendiente del ngulo por K.

72
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

4.3. Equilibrio del pndulo.

4.3.1. Introduccin.

Una vez tenemos el pndulo alzado y nos encontramos en la zona lineal


usaremos para estabilizar el pndulo en torno a la posicin = 0 un control LQR. Para
poder utilizar este mtodo de control adems deberemos utilizar un observador ya que
nos hace falta conocer todos lo estados y nosotros tenemos nicamente acceso directo a
tres de ello: posicin, velocidad y ngulo.

El mtodo de diseo combinado de observador y realimentacin de estados es


una herramienta fundamental en el control de sistemas en variable de estados. Sin
embargo, no es siempre el mtodo ms til; tres dificultades obvias:

1. La traduccin de especificaciones de diseo a ubicacin de polos no es


directa, especialmente en sistemas complejos; cul es la mejor configuracin de polos
para especificaciones dadas?.

2. Las ganancias de realimentacin en sistemas MIMO no son nicas; cul es la


mejor ganancia para una configuracin de polos dada?.

3. Los autovalores del observador deben elegirse ms rpidos que los del
controlador, pero, tenemos algn criterio adicional para preferir una configuracin a
otra?.

Los mtodos que introduciremos en este captulo dan respuestas a estas


preguntas. Veremos que las ganancias de realimentacin de estados y del observador
pueden elegirse de forma que minimicen un criterio de optimizacin dado.

El criterio particular que veremos es un funcional cuadrtico del estado y la


entrada de control:

[ ]
T
J ( x(t ), u (t ) ) = x T ( )Qx( ) + u T ( ) Ru ( ) d
t

73
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
donde Q y R son matrices constantes (aunque no necesariamente) semi-definida y
definida positivas respectivamente.

El control que se obtiene de minimizar este criterio es lineal. Como el criterio se


basa en funcionales cuadrticos, el mtodo se conoce como lineal-cuadrtico (LQ:
linear-quadratic), del que se obtiene el regulador lineal cuadrtico (LQR).

Criterios similares de optimizacin se siguen para el diseo de observadores,


slo que el funcional depende del error de estimacin, y se basa en una caracterizacin
estadstica de los ruidos que afectan al sistema. Este estimador ptimo lineal-cuadrtico
se conoce como el filtro de Kalman.

Cuando se combinan la ganancia de realimentacin de estados LQ con el filtro


de Kalman, obtenemos lo que se conoce como un controlador lineal-cuadrtico-
gaussiano (LQG). Lo de gaussiano viene de la caracterizacin estadstica del ruido
empleada.

4.3.1.1. El principio de optimalidad.

Para entender la idea de criterio de optimizacin en variable de estados, la


introduciremos con sistemas de tiempo discreto, que son ms simples.

El estado de un sistema discreto describe una trayectoria haciendo transiciones


discretas de un estado a otro bajo el efecto de una entrada tambin aplicada en tiempo
discreto.

Cuando se asocia un criterio de optimizacin al sistema, cada transicin de


estado tiene asociado un costo o penalidad. Por ejemplo, pueden penalizarse las
transiciones de estado que se alejan demasiado del estado final deseado, o las acciones
de control de valores demasiado elevados. A medida que el sistema evoluciona de
estado en estado, los costos se suman hasta acumular un costo total asociado a la
trayectoria.

74
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Ilustramos el concepto con el grafo de la figura 4.18, que representa 8 estados de
un sistema discreto con sus transiciones posibles. El estado inicial es el 1, y el final el 8.
El sistema pasa de un estado a otro en cada tiempo k determinado por la entrada u[k] y
las ecuaciones x[k + 1] = Ax[k] + Bu[k].

Figura 4.18: Posibles trayectorias de 1 al 8.

Las transiciones posibles se representan por los arcos que conectan el estado
inicial al final a travs de los estados intermedios. El costo asociado a cada transicin se
representa con la letra J; por ejemplo, el costo de moverse del estado 3 al 5 es J35.

Asumiendo que los costos se acumulan en forma aditiva, vemos que la


trayectoria marcada en rojo, por ejemplo, tiene un costo total J13 + J35 + J56 + J68.

Como hay varias rutas alternativas del estado 1 al 8, el costo total depender de
la trayectoria elegida. La seal de control u*[k] que determina la trayectoria de menor
costo es la estrategia ptima. Como ya veremos, en sistemas de tiempo continuo, la
acumulacin de costos se representa mediante integracin, en vez de suma.

La herramienta matemtica que usaremos para determinar la estrategia ptima es


el principio de optimalidad de Bellman:

En cualquier punto intermedio Xi en una trayectoria ptima entre X0 y Xf , la


estrategia desde Xi al punto final Xf debe ser en s una estrategia ptima.

75
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Este obvio principio nos permitir resolver en forma cerrada nuestros problemas
de control ptimo. Tambin se usa en el cmputo recursivo de las soluciones ptimas en
un procedimiento llamado programacin dinmica.

4.3.1.2. Nota histrica.

El nacimiento del control ptimo se atribuye al problema del braquistocrono,


propuesto por el matemtico suizo Johann Bernoulli en 1696.

El problema consista en determinar cul, entre todas las trayectorias posibles,


era la que llevaba a una partcula (sin rozamiento) en el menor tiempo posible, desde un
punto A a un punto B en el mismo plano vertical, sujeta slo a la accin de la gravedad.

Una formulacin matemtica moderna del problema del braquistocrono es la


u (t )
siguiente: encontrar la seal control que lleve al sistema:
v(t )
.
x(t ) = u (t ) y (t )

.
y (t ) = v(t ) y (t )

x xB
desde el punto A al punto y en mnimo tiempo, sujeto a la restriccin:
yA B

76
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
x2 + v2 = 1

Tpico problema de control ptimo.

4.3.1.3. Control LQ discreto.

Consideremos el sistema en tiempo discreto definido por:

x k +1 = Ax k + Bu k , x n , u p . (4.1)

El problema de control que queremos resolver es: Encontrar la secuencia de


control uk que lleve al sistema de la condicin inicial xi = x 0 al estado final x N = x f ,

minimizando el funcional cuadrtico:

1 T 1 N 1
J i,N = x N Sx N + x kT Qx k + u kT Ru k (4.2)
2 2 k =i

El funcional puede interpretarse como el costo total de la transicin de xi a xN y,


en particular, el trmino x TN Sx N penaliza el error en alcanzar el estado final deseado.

Las matrices de peso S, Q y R pueden seleccionarse para penalizar ciertos


estados/entradas ms que otros. Como veremos, las matrices S y Q deben ser semi-
definidas positivas, y la R definida positiva.

4.3.1.4. Transicin [N 1] [N].

Para encontrar el control a aplicar al sistema de forma que se minimice (4.2),


supongamos que estamos en el paso N 1 de la trayectoria ptima. As, el costo (4.2)
de la transicin de N 1 a N es:

J N 1, N =
2
(
1 T
x N Sx N + x TN 1Qx N + u TN 1 Ru N 1 ) (4.3)

77
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Usando (4.1), substituimos x N como una funcin de u N 1 , lo que da:

J N 1, N =
1
2
(
( Ax N 1 + Bu N 1 ) T S ( Ax N 1 + Bu N 1 ) + x TN 1Qx N 1 + u TN 1 Ru N 1 )

Como J es cuadrtico en u, podemos minimizarlo diferenciando

T J N 1, N
0=
u N 1

0 = B T S ( Ax N 1 + Bu N 1 ) + Ru N 1 (4.4)

( )
0 = R + B T SB u N 1 + B T SAx N 1

De (4.4) obtenemos el ltimo elemento de la secuencia de control ptima:

(
u *N 1 = R + B T SB )1
B T SAx N 1 (4.5)

que resulta ser un mnimo, ya que:

2 J N 1, N
= R + B T SB > 0
u N2 1

Como vemos, (4.5) es un control lineal por realimentacin de estados de la


forma habitual:

u *N 1 = K N 1 x N 1

donde

(
K N 1 R + B T SB )1
B T SA (4.6)

78
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
El valor del costo mnimo J N* 1, N obtenido con u *N 1 es:

J N* 1, N =
1
2
(
( Ax N 1 BK N 1 x N 1 ) T S ( Ax N 1 BK N 1 x N 1 ) + x TN 1Qx N 1 + x TN 1 K NT 1 RK N 1 x N 1 )

J N* 1, N =
1 T
2
(
x N 1 ( A BK N 1 ) T S ( A BK N 1 ) + Q + K NT 1 RK N 1 x N 1)

1 T
J N* 1, N x N 1 S N 1 x N 1 (4.7)
2

donde definimos:

S N 1 ( A BK N 1 ) T S ( A BK N 1 ) + Q + K NT 1 RK N 1

La eleccin de la notacin S N 1 en (4.7) surge de que si estamos en el paso final

1 T
N, no hay ninguna accin de control que tomar y J N , N = J N* , N = x N Sx N ,es decir:
2

SN = S

K N = ( R + B T S N B) 1 B T S N A

S N 1 = ( A BK N 1 ) T S N ( A BK N 1 ) + Q + K NT 1 RK N 1

4.3.1.5. Transicin [N 2] [N].

Tomamos otro paso para atrs en el cmputo del control ptimo y consideremos
ahora que estamos en el paso N 2. Notemos primero de (4.2) que:

J N 2, N = J N 2, N 1 + J N 1, N

79
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Por lo tanto, para calcular la estrategia ptima para ir del estado en N 2 al
estado final en N, usamos el principio de optimalidad para deducir que:

J N* 2, N = J N 2, N 1 + J N* 1, N

y as reducimos el problema al de calcular la estrategia ptima para ir de N 2 a N 1


(la de N 1 a N ya la obtuvimos). As, ahora el paso N 1 es el final, y podemos
usar la misma ecuacin (4.3) pero con N 1 en vez de N, y N 2 en vez de N 1.

Obtenemos:

J N 2, N 1 =
2
(
1 T
x N 1 S N 1 x N 1 + x TN 2 Qx N 2 + u TN 2 Ru N 2 )

Igual que antes, podemos minimizar J N 2, N 1 sobre todos los posibles u N 2 , y es

fcil ver que las expresiones son las mismas pero con N 1 en vez de N, y N 2 en vez
de N 1:

u *N 2 = K N 2 x N 2

donde

K N 2 ( R + B T S N 1 B) 1 B T S N 1 A

4.3.1.6. Transicin [k] [N].

Retrocediendo en los pasos N 2, N 3, . . . , k, se generan la siguientes


expresiones recursivas para el control ptimo:

u k* = K k x k (4.8)

80
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
K k = ( R + B T S k +1 B) 1 B T S k +1 A (4.9)

S k = ( A BK k ) T S k +1 ( A BK k ) + Q + K kT RK k (4.10)

Notar que la ecuacin en diferencias (4.10) de S k se resuelve para atrs,

comenzando en S N = S . El costo ptimo de k a N es:

1 T
J k*, N = xk S k xk
2

El conjunto de ecuaciones (4.8), (4.9) y (4.10) representa el controlador LQ


completo para el sistema discreto (4.1), que resulta, en general, inestacionario. La
ecuacin en diferencias (4.10) se conoce como la ecuacin matricial en diferencias de
Riccati. El hecho de que se resuelva para atrs en el tiempo le da a K k la peculiaridad
de que los transitorios aparecen al final del intervalo [k, T], en vez de al principio.

Ejemplo 4.1: (Control LQ en tiempo discreto). Simulamos el sistema

2 1 0 2
x k +1 = x k + u k x(0) =
1 1 1 3

con el controlador LQ ptimo que minimiza el costo:

1 T 5 0 1 9 T 2 0
J = x10 x10 + x k x k + 2u k2
2 0 5 2 k =1 0 0.1
.
Las siguientes lneas de cdigo MATLAB computan K k y x k en lazo cerrado.

% Costo
Q=[2 0;0 0.1];R=2;S=diag([5,5]);
k=10;
% Sistema

81
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
A=[2 1;-1 1];B=[0;1];x0=[2;-3];
% Solucin de la ecuacin de Riccati
while k>=1
K(k,:)=inv(R+B*S*B)*B*S*A;
S=(A-B*K(k,:))*S*(A-B*K(k,:))+Q+K(k,:)*R*K(k,:);
k=k-1;
end
% Simulacin del sistema realimentado
x(:,1)=x0;
for k=1:10
x(:,k+1) = A*x(:,k)-B*K(k,:)*x(:,k);
end

La matriz de realimentacin K k debe calcularse en tiempo invertido y


almacenarse para ser aplicada posteriormente al sistema en tiempo normal.

Figura 4.19: Evolucin del estado en lazo cerrado: line1 x1[k], line2 x2[k].

82
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

3 3
Aunque la planta a lazo abierto es inestable (autovalores en ), vemos que
2 2
el estado es estabilizado asintticamente por u k* . Notar que la planta a lazo cerrado es
inestacionaria, ya que el control lo es.

La figura 4.20 muestra la evolucin de las ganancias de control. Podemos


comprobar que sus valores cambian ms sobre el final del intervalo, ms que al
comienzo, donde permanecen casi constantes.

Figura 4.20: Evolucin de las ganancias K[k] =[ k1[k] , [k2[k] ] (line 1 y line 2).

4.3.1.7. Control LQ en tiempo continuo.

La deduccin del control ptimo LQ para el sistema en tiempo continuo:

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

83
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
sigue los mismos pasos que el de tiempo discreto, slo que las transiciones se reducen
a incrementos infinitesimales. El costo es ahora:

tf

J ( x(t 0 ), u (t 0 ), t 0 ) =
1 T
2
1
( )
x (t f ) Sx(t f ) + x T (t )Qx(t ) + u T (t ) Ru (t ) dt
2 t0

Haciendo tender los incrementos a cero se obtienen los equivalentes de tiempo


continuo de las ecuaciones (4.8), (4.9) y (4.10), que definen el control ptimo LQ:

u * (t ) = K (t ) x(t ) (4.12)

K (t ) = R 1 B T P(t ) x(t ) (4.13)

.
P (t ) = P (t ) BR 1 B T P(t ) Q P (t ) A AT P(t ) (4.14)

La ecuacin (4.14) es la famosa ecuacin diferencial matricial de Riccati, que,


como en el caso discreto, tambin debe resolverse hacia atrs en el tiempo, con
condiciones iniciales P (t f ) = S . Como en el caso discreto:

El control ptimo LQ es una realimentacin lineal de estados, aunque


inestacionaria.
Los transitorios en P(t) y K(t) ocurrirn sobre el final del intervalo [t0, t f ].

Pero, la ecuacin diferencial (4.14) es en general de difcil solucin. An,


hacindolo numricamente, cmo pueden guardarse los (infinitos) valores de P(t)
calculados en tiempo invertido para ser aplicados luego al sistema?.

Esta dificultad lleva a buscar una solucin ptima estacionaria, K(t) = K, que
surge de considerar el caso de horizonte infinito t f
.

84
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
4.3.1.8. Control LQ de Horizonte Infinito.

La figura 4.20 del ejemplo sugiere que si hacemos tender el tiempo final a las
soluciones de la ecuacin de Riccati permaneceran constantes en el valor del instante
.
inicial. Bajo esta suposicin, P(t) es constante y P(t ) = 0 , que lleva la ecuacin (4.14) a
la forma que se conoce como la ecuacin algebraica de Riccati (ARE):

PA + AT P + Q PBR 1 B T P = 0 (CARE)

Con el correspondiente control ptimo LQ (ahora estacionario):

u * (t ) = Kx(t ) = R 1 B T Px(t ) (4.15)

En el caso discreto tenemos S k = S , k , que da, de (4.10), (4.9)

S = AT SA AT SB( R + B T SB) 1 B T SA + Q (DARE)

K = ( R + B T SB) 1 B T SA

La ecuacin (DARE) es la ecuacin algebraica discreta de Riccati.

En rigor, sin embargo, no sabemos an si estas soluciones constantes de


rgimen permanente resuelven los correspondientes problemas ptimos de horizonte
infinito. Analizamos este punto a continuacin.

Solucin del problema de horizonte infinito. Queremos controlar el sistema:

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

con una realimentacin esttica de estados u (t ) = Kx(t ) tal que se minimice el


funcional de costo:

85
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega


(
J = x T (t )Qx(t ) + u T (t ) Ru (t ) dt )
0

Con la realimentacin, el sistema a lazo cerrado queda:

.
x(t ) = ( A BK ) x(t ) (4.16)

incurriendo en un costo:


(
J = x T (t )Qx(t ) + x T (t ) KRKx (t ) dt )
0

Como sabemos que la solucin de (4.16) es x ( t ) = e ( A BK )t x 0 , la


reemplazamos en la expresin del costo, y obtenemos:

( A BK
J = x e
T
0
)T t
(Q + K T
)
RK e ( A BK )t dt x 0
0

J x0T Px0 (4.17)


donde hemos definido la matriz P e
( A BK )T t
(Q + K T
)
RK e ( A BK )t dt .
0

.
Recordando el Teorema de Lyapunov, sabemos que el sistema x = ( A BK )x es
asintticamente estable si y slo si la matriz P definida en (4.17) es la nica solucin
definida positiva de la ecuacin de Lyapunov:

( A BK ) T P + P( A BK ) + Q + K T RK = 0 (4.18)

86
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Por lo tanto, para cualquier ganancia K que estabilice asintticamente el sistema,
la matriz P solucin de (4.18) dar un costo finito.

Supongamos que consideramos en particular la ganancia K = R 1 B T P ,


correspondiente al candidato a control ptimo LQ (4.15). Substituyendo esta K en
(4.18) obtenemos:

0 = ( A BR 1 B T P) T P + P( A BR 1 B T P) + Q + PBR 1 B T P

0 = AT P PBR 1 B T P + PA PBR 1 B T P + Q + PBR 1 B T P

0 = AT P + PA + Q PBR 1 B T P

Esto es exactamente la ecuacin algebraica de Riccati (CARE). Por lo tanto, la


solucin del problema de control ptimo LQ con horizonte infinito est dado por la
solucin de la ecuacin (CARE), cuando sta existe. El mismo resultado vale en el caso
discreto que es el que nos interesa a nosotros.

Esto no quiere decir que las soluciones de las ecuaciones (CARE) o (DARE)
sern nicas. Si existe una solucin nica que estabilice al sistema, entonces es la
ptima. Cabe entonces la pregunta: Cundo existir una solucin de las ecuaciones
algebraicas de Riccati, y bajo qu condiciones ser nica? La respuesta la dan los
siguientes resultados:

Teorema 4.1. Si (A,B) es estabilizable, entonces, independientemente del peso S, existe


una solucin esttica finita P(S) de la ecuacin diferencial (diferencia) de Riccati (4.14)
( (4.10)). Esta solucin ser tambin una solucin de la ecuacin algebraica de Riccati
correspondiente, y ser la solucin ptima en el caso de horizonte infinito.

Teorema 4.2. Si la matriz de peso Q puede factorizarse en la forma Q = TTT, entonces


la solucin esttica P(S) de la ecuacin diferencial (diferencia) de Riccati es la nica
solucin definida positiva de la correspondiente ecuacin algebraica si y slo si (A,T) es
detectable. En conclusin, si (A,B) es estabilizable y (A,T) detectable, existe una
solucin nica de (CARE) ((DARE)) que da la ganancia ptima de realimentacin. Con

87
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
MATLAB, K se puede calcular con K = lqr(A,B,Q,R) (continuo) y K = dlqr(A,B,Q,R)
(discreto).

4.3.1.9. Estimadores ptimos.

Uno de los factores ms importantes en el desempeo de sistemas de control, a


menudo no tenido en cuenta, es el efecto de perturbaciones y ruido. Todos los sistemas
estn sujetos a ruido, sea en la forma de:

Alinealidades de entrada no modeladas.


Dinmica no modelada.
Seales de entrada no deseadas.

En esta seccin trataremos algunos modelos simples de ruido y determinaremos


formas de tenerlos en cuenta en el diseo de observadores y realimentacin de estados.

Consideraremos primero ruido perturbando la observacin del estado de un


sistema. Con un modelo en ecuaciones de estado que incluye ruido, generaremos el
mejor observador posible, es decir, el que mejor rechaza el efecto del ruido. Estos
observadores suelen llamarse estimadores, y el particular que desarrollaremos es el
estimador conocido como el filtro de Kalman.

4.3.1.10. Modelos de sistemas con ruido.

Consideramos el siguiente sistema en tiempo discreto:

x k +1 = Ax k + Bu k + Gv k
(4.19)
y k = Cx k + k

88
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Las nuevas seales de entrada v k y k que aparecen en este modelo son
procesos aleatorios, consistentes en ruido blanco estacionario, con media cero, y no
correlacionados entre s.

Esto quiere decir que tienen las siguientes propiedades:

[ ]
E v kT v k = V
[
E kT k = W ]
[ ]
E v kT v j = 0
[ ]
E kT j = 0, cuando k j
E [v k ] = 0
E [ k ] = 0

[ ]
E v Tj k = 0, j , k .

La funcin E [] denota la media estadstica.

Consideraremos adems que el estado inicial x0 del sistema (4.19) es tambin


una variable aleatoria ya que raramente podemos conocerlo con exactitud.
Consideramos que es ruido blanco, con varianza:

[ ]
E ( x 0 E [x0 ])(x 0 E [x 0 ]) S 0
T

Asumimos que x0 no est correlacionado con v k y k .

La entrada v k se llama ruido de planta, o de proceso, y la entrada k , que acta


a la salida, ruido de medicin. El ruido de planta modela el efecto de entradas ruidosas
que actan en los estados mismos, mientras que el ruido de medicin modela efectos
tales como ruido en los sensores. La entrada u k es la habitual entrada de control,
considerada determinstica.

89
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
4.3.1.11. Filtro de Kalman discreto.

Reconsideramos nuestra derivacin anterior del observador, esta vez tomando en


cuenta los efectos de ruido en la seleccin de la matriz de ganancia L. Esta matriz
deber elegirse de forma de dar la mejor estima del estado del sistema rechazando al
mismo tiempo cualquier influencia de los ruidos v k y k . La eleccin que haremos
define el observador ptimo conocido como filtro de Kalman.
Hay varias formas de derivar el filtro de Kalman. Vamos a presentar una
variante basada en un observador modificado, llamado observador actual, que permite
una simplificacin en las derivaciones.

Observador actual
Recordemos las ecuaciones del observador de orden completo, en este caso,
dicreto:

x k +1 = Ax k + Bu k + L( y k Cx k )

Suponiendo por el momento que no hay ruidos ( v k = 0 = k ), modificamos el


observador con una ligera variante: separamos el proceso de observacin en dos etapas:

1. Prediccin del estado estimado en k +1 en base a datos en k (estima anterior +


entrada actual):

(
x k +1 = Ax k + Bu k (4.20)

2. Correccin de la estima en k + 1 con los datos medidos en k + 1.

( (
x k +1 = x k +1 + L( y k +1 Cx k +1 ) (4.21)

La diferencia con el observador convencional es que ahora corregimos la estima


con la medicin actual ( y k +1 y k +1 ) en vez de utilizar la medicin vieja ( y k y k ) .
Este observador modificado se conoce como observador actual Bay [1999].
De (4.20) y (4.21), las ecuaciones del observador actual son:

90
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

x k +1 = Ax k + Bu k + L( y k +1 C ( Ax k + Bu k ) )
(4.22)
x k +1 = ( A LCA)x k + (B LCB )u k + Ly k +1

El observador actual ser conveniente para derivar el filtro de Kalman discreto,


pues permite considerar los efectos de los ruidos v k y k por separado.

Notar que la ecuacin del observador (4.22) difiere significativamente de la que


presentamos anteriormente con sistemas continuos:

.
x (t ) = ( A LC )x (t ) + Bu (t ) + Ly (t )

Para el observador actual la dinmica del error est dada por:

x k +1 = ( A LCA)~
~ xk

por lo que los autovalores para el observador son los de la matriz (A LCA), en vez de
los de (A LC) como vimos antes. En este caso, la observabilidad del par (A,C) no
garantiza que se puedan asignar los autovalores de (A LCA) arbitrariamente.

Sin embargo, si la matriz A es de rango completo, el rango de CA es el mismo


que el de C, y podemos considerar C CA como una nueva matriz de salida y asignar
los autovalores de (A LC ) como de costumbre.

Estructura del observador


Usamos la variante del observador actual para derivar el filtro de Kalman. La
mejor prediccin del estado que podemos hacer cuando hay ruido es el valor esperado:

x k +1 = E [Ax k + Bu k + Gv k ]
(

dado que E [v k ] = 0
(
x k +1 = Ax k + Bu k ,

91
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

sta suele denominarse la estima a priori, porque se hace antes de medir la


salida (o sea que no tiene correccin). Una vez disponible la salida en el instante k+1,
terminamos de armar el observador actualizando la estima obteniendo la, a menudo
llamada, estima a posteriori:

( (
x k +1 = x k +1 + Lk +1 [ y k +1 Cx k +1 ] (4.23)

Notar que usamos una ganancia de observacin L variante en el tiempo, lo que,


como veremos, es necesario.

En observadores determinsticos, L se seleccionaba para asignar la dinmica del


error de estimacin. En este caso, adems, trataremos de minimizar el efecto de los
ruidos.

Criterio de optimizacin

El filtro de Kalman es ptimo en el sentido de que da la mejor estima del estado


y al mismo tiempo minimiza el efecto de los ruidos. Su derivacin surge de minimizar
el error de estimacin a posteriori:

ek = x k x k

Como ek est afectado por ruido, y por lo tanto depende de variables aleatorias,
su valor en un instante dado puede no ser representativo de las bondades de la
estimacin. Buscamos entonces tratar de minimizar su valor en promedio para todo el
conjunto de ruidos posibles. Definimos entonces la covarianza a posteriori:

[
S k E ek ekT ]

Cuanto menor sea la norma de la matriz S k , menor ser la variabilidad del error
de estimacin debida a ruidos, y mejor el rechazo de stos.

92
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Pretendemos determinar Lk +1 para minimizar la variabilidad del error de
estimacin:

min E[ek +1 ] = min E ekT+1ek +1


Lk +1
2

Lk +1
[ ]

min E[ek +1 ] = min E tr (ekT+1ek +1 )


Lk +1
2

Lk +1
[ ]

Lk +1 Lk +1
[
min E [ek +1 ] = tr min E ek +1ekT+1 = min trS k +1
2
] Lk +1
(4.24)

Para obtener una expresin para S k +1 , derivamos la dinmica del error:

ek +1 = x k +1 x k +1

ek +1 = Ax k + Bu k + Gv k Ax k Bu k Lk +1 [Cx k +1 + k +1 Cx k +1 ]
(

ek +1 = Ax k Ax k + Gv k Lk +1 [C [Ax k + Bu k + Gv k ] + k +1 C [Ax k + Bu k ]]

ek +1 = [A Lk +1CA]ek + [G Lk +1CG ]v k Lk +1 k +1

ek +1 = [I Lk +1C ][Aek + Gv k ] Lk +1 k +1

Usando esta expresin de ek +1 obtenemos:

[
S k +1 = E [(I Lk +1C )( Aek + Gv k ) Lk +1 k +1 ][(I Lk +1C )( Aek + Gv k ) Lk +1 k +1 ]
T
]

[
S k +1 = E (I Lk +1C )( Aek + Gv k )( Aek + Gv k ) (I Lk +1C )
T T

[ ]
2 Lk +1 k +1 ekT AT + v kT G T (I Lk +1C ) + Lk +1 k +1 kT+1 LTk +1
T
]

93
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
De las hiptesis sobre las propiedades estadsticas de los ruidos vistas en 4.2.11,
tenemos que:
[ ]
E v kT v k = V

[
E kT+1 k +1 = W ] (4.26)

[
E k +1v kT = 0]

Adems, no es difcil ver que:

[ ] [
E k +1ekT = E k +1 ( x k x k )
T
]
(4.27)
[ ] [ ] [
E k +1ekT = E k +1 x kT E k +1 x kT = 0 ]

ya que x k y x k no estn correlacionadas con k +1 . Y por otro lado:

[ ] [
E v k ekT = E v k ( x k x k ) T ]
(4.28)
[
Ev e T
k k ] = E[v x ] E[v x ] = 0
k
T
k k
T
k

ya que x k y x k tampoco estn correlacionadas con v k . Usando (4.26), (4.27) y (4.28)


en (4.25), llegamos a la expresin:

T
[ ]
S k +1 = [I Lk +1C ] AS k AT + GVG T [I Lk +1C ] + Lk +1WLTk +1
T
(4.29)

La expresin recursiva (4.29) representa la dinmica de la covarianza del error


de estimacin. Esta expresin, sin embargo, no es enteramente til, pues todava no
conocemos Lk +1 , que determinaremos en lo que sigue.

Determinacin de la ganancia de observacin ptima.


Para determinar el valor de la ganancia Lk +1 que minimiza el criterio de

optimizacin (4.24), expandimos tr S k +1 de (4.29) en:

94
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

[ ] [ ] [ [
tr S k +1 = tr AS k AT + tr GVG T + tr Lk +1C AS k AT + GVG T C T LTk +1 ] ]
(4.30)
[ [
2tr Lk +1C AS k A + GVG
T T
]] + tr [L WL
k +1
T
k +1 ]

Ahora derivamos (4.30) con respecto a Lk +1 . Los dos primeros trminos dan

cero, pues no dependen de Lk +1 . Para los siguientes trminos usamos las siguientes
propiedades de la derivada de la traza de una matriz:


X
[
tr XYX T = 2 XY ]


tr [YXZ ] = Y T Z T
X

As obtenemos de (4.30)


0= tr S k +1
Lk +1

[ ] [ ]
0 = 2 Lk +1C AS k AT + GVG T C T 2 AS k AT + GVG T C T + 2 Lk +1W

que tiene como solucin:

[ ] [[
Lk +1 = AS k AT + GVG T C T C AS k AT + GVG T C T + W ] ]
1
(4.31)

Esta es la ganancia ptima para el estimador dado por la ecuacin (9.23), y se


conoce como la ganancia de Kalman. Como supusimos, es inestacionaria, ya que
depende de S k , que se obtiene resolviendo la ecuacin en diferencias (4.29).

Procedimiento para computar el filtro de Kalman discreto

95
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Resumimos los pasos necesarios para programar el filtro de Kalman. Partimos
del conocimiento de las propiedades estadsticas, valor esperado y varianza, de los
ruidos v k y k , y la condicin inicial x0 .

1. Calculamos la estima a priori del estado (prediccin):

(
x k +1 = Ax k + Bu k (4.32)

inicializada con la estima inicial x k0 = E [x0 ] .

2. Calculamos la ganancia de Kalman de (9.31):

[ ] [[
Lk +1 = AS k AT + GVG T C T C AS k AT + GVG T C T + W ] ]
1
(4.33)

que inicializamos con la covarianza original S k0 = E x0 x0T = S 0 . [ ]

3. Calculamos la estima a posteriori, corregida con la salida medida y k +1 mediante


(4.23), que puede simplificarse a:

( (
x k +1 = x k +1 + Lk +1 [ y k +1 Cx k +1 ] (4.34)

4. Calculamos, de (4.29), la matriz de covarianza para la prxima iteracin:

T
[ ]
S k +1 = [I Lk +1C ] AS k AT + GVG T [I Lk +1C ] + Lk +1WLTk +1
T
(4.35)

y el proceso se repite el siguiente paso.

Ejemplo 4.2 (Filtro de Kalman discreto). Consideremos el sistema en tiempo


discreto:

96
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
0.8146405 0.0817367 0.0021886 0.0430570
x k +1 = xk + uk + vk (4.36)
0.081767 0.8146405 0.0452456 0.0474324

donde el trmino de ruido v tiene media cero y covarianza V = 0,09. El ruido de


medicin se asume de media cero y covarianza W = 0,25.

El sistema (4.36) es la discretizacin exacta, con perodo de muestreo T = 0,05s,


del sistema de tiempo continuo:

. 4 2 0 1
x= x + u + v
2 4 1 1

y = [1 0]x +

Construimos un filtro de Kalman discreto para estimar la evolucin del estado


del sistema (4.36) cuando se le aplica la entrada u = sen kT, con perodo de muestreo
T=0.05s, y sobre el intervalo kT [0, 10]s. Las ecuaciones del filtro de Kalman, (4.32),
(4.33), (4.34) y (4.35), no son difciles de programar en MATLAB, por ejemplo de la
siguiente manera:

% Ejemplo filtro de Kalman discreto


% Sistema en tiempo continuo
Ac=[-4,2;-2,-4];
Bc=[0;1];
Gc=[1;-1];
C=[1,0];
% Discretizacin exacta - Sistema en tiempo discreto
T=0.05; % tiempo de muestreo
A=expm(Ac*T);
B=inv(Ac)*(A-eye(2,2))*Bc;
G=inv(Ac)*(A-eye(2,2))*Gc;
% Covarianzas de Ruidos
V=0.09; % ruido de proceso

97
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
W=0.025; % ruido de medicin
% Condiciones iniciales del sistema (para simular)
t=0:T:10;
u=sin(t);
x0=[0;0];
x=x0;
y=C*x0;
% Conjetura de condiciones iniciales para el filtro de kalman
xh=[0.5;-0.5]; % xh(0)
xp=xh; % xp(0)
S=eye(2,2); % S0
% Simulacin
for k=1:length(t)-1
% sistema
x(:,k+1)=A*x(:,k)+B*u(k)+G*sqrt(V)*randn;
y(k+1)=C*x(:,k+1)+sqrt(W)*randn;
% filtro de Kalman inestacionario
xp(:,k+1)=A*xh(:,k)+B*u(k); % estima a priori
L=(A*S*A+G*V*G)*C*inv(C*(A*S*A+G*V*G)*C+W);
xh(:,k+1)=xp(:,k+1)+L*(y(k+1)-C*xp(:,k+1)); % estima
S=(eye(2,2)-L*C)*(A*S*A+G*V*G)*(eye(2,2)-L*C)+L*W*L;
end

Corriendo este programa simulamos el sistema discreto y al mismo tiempo


vamos calculando la estima del estado. La figura 4.21 muestra la evolucin de los
estados del sistema y los estados estimados por el filtro de Kalman inestacionario.
Puede verse como las variables ruidosas son filtradas por el estimador, dando versiones
((suavizadas)) de la evolucin de los estados luego de un breve transitorio de
aproximadamente 0.5 s.

98
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Figura 4.21: Evolucin de los estados del sistemas y los estimados.

4.3.1.12. Notas.

La ecuacin diferencia de Riccati (4.29) que determina la matriz de covarianza


S k se calcula para adelante en el tiempo, a diferencia del dual caso de control
ptimo LQ. Esto implica que el filtro de Kalman puede implementarse en su
forma inestacionaria en tiempo real.

El filtro de Kalman derivado es el mejor estimador si los ruidos de proceso y


medicin son Gausianos. Para otras distribuciones probabilsticas, el filtro de
Kalman es el mejor estimador lineal.

El filtro de Kalman puede obtenerse tambin en tiempo continuo, aunque es


raramente usado en la prctica, ya que casi siempre se implementa en una
computadora digital, para la que la versin discreta es ms natural. La derivacin
de las ecuaciones es similar al caso continuo, y lleva a una ecuacin diferencial
de Riccati, dual al caso de control LQ.

99
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Como en el caso de control ptimo LQ, tambin en el caso del filtro de Kalman
pueden calcularse soluciones estacionarias de la ecuacin diferencia (diferencial)
de Riccati que determina la matriz de covarianza. Esta solucin ser
aproximadamente ptima, y nica si y slo si AT , C T ( ) es estabilizarle, y

(A T
)
, T T detectable, donde GCG T = TT T .

En MATLAB, la funcin kalman computa el filtro de Kalman estacionario


(continuo o discreto).

Naturalmente, el filtro de Kalman puede combinarse con cualquier control por


realimentacin de estados. Cuando el controlador elegido es el ptimo LQ, la
combinacin da lo que se conoce como controlador lineal cuadrtico gausiano
(LQG).

La robustificacin de un regulador LQG mediante agregado de accin integral


exactamente igual al caso visto en asignacin de polos y se aplica de la misma
manera (la accin integral es parte del diseo de la arquitectura de control, y no
del control en s).

tiles en MATLAB

DLQR Diseo de regulador lineal cuadrtico para sistemas de tiempo discreto.


[K,S] = dlqr(A,B,Q,R) calcula la ganancia ptima de realimentacin de estados K tal
que el control u = -Kx minimiza el costo:

( )

J = x kT Qx k + u kT Ru k dt
k =0

y estabiliza asintticamente el sistema de tiempo discreto:

x k +1 = Ax k + Bu k

La matriz S resuelve la ecuacin algebraica de Riccati discreta:

100
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

(
AT SA S AT SB R + B T SB)( ) (B
1 T
)
SA + Q = 0

LQR Diseo de regulador lineal cuadrtico para sistemas de tiempo continuo.


[K,P] = lqr(A,B,Q,R) calcula la ganancia ptima de realimentacin de estados K tal que
el control u = -Kx minimiza el costo:


(
J = x T Qx + u T Ru dt
0
)

y estabiliza asintticamente el sistema de tiempo continuo:

.
x = Ax + Bu

La matriz P resuelve la ecuacin algebraica de Riccati:

(
PA + AT P (PB )R 1 B T P + Q = 0 )

DLQE Diseo de filtro de Kalman para sistemas discretos. La funcin L =


dlqe(A,G,C,Q,R) calcula la ganancia L del filtro de Kalman estacionario:

(
x k +1 = Ax k + Bu k

(
x k +1 = x k +1 + L( y k +1 Cx k Du k )

para estimar el estado x del sistema en tiempo discreto:

x k +1 = Ax k + Bu k + G k

y k = Cx k + Du k + v k

donde w y v son ruidos de proceso y de medicin, respectivamente, de media nula y


con covarianzas:

101
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

[ ]
E T = Q, [ ]
E vv T = R, [ ]
E v T = N

Notar que si w y v son no correlacionados (como generalmente se asume),


entonces N = 0.

LQE Diseo de filtro de Kalman para sistemas continuos. La funcin L =


lqe(A,G,C,Q,R,N) calcula la ganancia L del filtro de Kalman estacionario:

x = Ax + Bu + L( y Cx Du )

para estimar el estado x del sistema en tiempo continuo:

.
x = Ax + Bu + G

donde w y v son ruido de


y = Cx + Du + v
proceso y de medicin,
respectivamente, de media nula y
con covarianzas:

[ ]
E T = Q, [ ]
E vv T = R, [ ]
E v T = N

Notar que si w y v son no correlacionados (como generalmente se asume),


entonces N = 0.

102
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
4.3.2. Implementacin del control LQG.

Veamos como implementamos mediante el simulink este tipo de control. El


bloque control LQG contiene lo siguiente:

Figura 4.22: Modelo Simulink del controlador LQG.

Las entradas que tiene el bloque son la salida del instante k, la seal de control
del instante k y la seal de activacin del control LQG. La entrada salida nicamente
contiene los tres estados accesibles del sistema por lo que tenemos que utilizar un filtro
de Kalman para estimar los otros dos estados. Al filtro de Kalman introducimos las
mismas tres entradas. Una vez que el filtro de Kalman a ha realizado la estimacin
completa del estado para el instante k la pone a su salida.

Para hallar el seal de control para el instante k+1 lo nico que tenemos que
hacer es multiplicar el estado en el instante k estimado por el filtro de Kalman por la
ganancia ptima de realimentacin de estados K de tal manera que implementamos la
ley de control:

u (k + 1) = Kx(k )

4.3.2.1. Diseo del control LQR.


Para calcular la ganancia ptima de realimentacin de estados utilizamos el
comando de matlab K = dlqr(A,B,Q,R), donde A y B son las matrices del sistema
linealizado que hallamos en el apartado 3.5:

103
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

1 Tm 0 0 0 0
0 1 0 0 n Tm
2
0

A = 0 0 1 Tm 0 B=0
Tm m lg T 2
Tm ml n
0 0 1 + m Bv 0
I I I Tm
0 Tm 0 0 1 2 nTm

1 0 0 0 0
C = 0 1 0 0 0
0 0 1 0 0

Para calcular las matrices de peso Q y R, utilizaremos las siguientes frmulas


que nos servirn como punto de partida:

1 2 0 0 0 0
x1max
0 1 0 0 0
x 2 2max
1 0 1
Q= 0 0
x3 2max
0 R= 2
u max
1
0 0 0
x 4 2max
0

0 0 0 0 1 2
x5 max

Midiendo encontramos que x1max = 1.2 metros, x2max = 1 m/s. Para x3max
tendramos que tomar el ngulo mximo para el que consideraramos que estamos en
zona lineal, que en nuestro caso ser de 5, por tanto x3max = 0.0873 radianes.

Para calcular x4max como no podemos tomar una medida directa lo que haremos
es hacer que el pndulo comience a rebotar de un extremo a otro lo ms rpido posible
de forma que obtendremos la velocidad angular mxima a partir de la derivada del
ngulo con el siguiente bloque:

104
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Figura 4.23: Bloque calculo de velocidad angular.

Como podemos ver este bloque lo que se limita es a hacer la derivada de la seal
del ngulo segn la frmula:

(k + 1) (k )
(k + 1) =
Tm

Veamos el resultado de aplicar este bloque:

10
velocidad
8 angular
ngulo
6 control

-2

-4

-6

-8

-10
1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 4.24: Velocidad angular para Impulso=10 y K=5.

105
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Observando la figura podemos determinar que x4max = 5.

Para el clculo de x5max como tampoco podemos acceder directamente a la


medida lo estimaremos a partir de la simulacin del carro sometindolo a la velocidad
mxima a la que puede operar es decir 1 m/s:

1.2
1.15 x5
1.1
1.05 velocidad
1
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
0 0.5 1 1.5
tiempo

Figura 4.25: x5 para v = 1 m/s.

Observnado la grfica vemos que x5max = 0.05 m/s2.

Ya solamente nos falta decir que umax = 1. Por tanto los pesos quedan de la
siguiente forma:

0.6944 0 0 0 0
0 1 0 0 0

Q= 0 0 131.2 0 0 R =1

0 0 0 0.04 0
0 0 0 0 400

A continuacin y antes de seguir con el filtro de Kalman comprobaremos


mediante simulacin y suponiendo que todos los estados fueran accesibles si con estas

106
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
matrices de pesos funcionara el control LQR. Para realizarlo utilizaremos el siguiente
esquema:

Figura 4.26: Esquema control LQR.

Suponiendo como condiciones iniciales: x1 = 0.4 metros, x2 = -0.25 m/s, x3 =


0.083 rad, x4 = -1 rad/sg y x5 =0.02 m/s2 obtenemos el siguiente resultado:

0.5
posicin
velocidad
ngulo
velocidad
angular
x5
0

-0.5

-1
0 1 2 3 4 5 6 7 8 9 10
tiempo

Figura 4.27: Resultado simulacin control LQR.

107
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
En la figura se observa como efectivamente el ngulo, que es nuestra variable
objetivo, tiende a cero por lo que las matrices de pesos en principio funcionaran
correctamente. Adems se comprueba que ninguna de las variables excede sus
mximos.

Todo esto es en la simulacin, ms adelante tendremos que comprobar en el


laboratorio el funcionamiento.

4.3.2.2. Diseo del filtro de Kalman.

Como ya se ha explicado el filtro de Kalman se utiliza para obtener una


estimacin del estado del sistema, cuando no tenemos acceso a todas la variables, a
partir de la siguientes ecuaciones:

(
x k +1 = Ax k + Bu k

(
x k +1 = x k +1 + L( y k +1 Cx k Du k )

El diagrama de bloques que implementa dichas ecuaciones es el siguiente:

u(k) y(k)
H


+ +

B z-1 C

+
A
xe(k)

Figura 4.28: Diagrama de bloques del filtro de Kalman.

108
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
A, B y C son las matrices del sistema linealizado y L la ganancia del filtro de
Kalman . La funcin L = dlqe(A,G,C,Q,R) calcula la ganancia L del filtro de Kalman
estacionario.

Vamos a ver como obtener las matrices G, Q y R. Como ya vimos en el apartado


4.2.1.11:

[
E T = Q,] [ ]
E vv T = R, [ ]
E v T = N

donde v k es el ruido de planta o proceso y k es el ruido de medicin. Como dijimos el


ruido de planta modela el efecto de entradas ruidosas que actan en los estados mismos.

Como podemos comprobar en el laboratorio si nosotros no introducimos una u


en los estados no se produce ninguna variacin aunque as lo indiquen las mediciones
por lo que supondremos que el ruido de planta es cero y que nicamente tenemos ruidos
de medicin. Para calcular este ltimo calcularemos la varianza de las mediciones
obtenidas:

1.43

1.4295

1.429
posicin

1.4285

1.428

1.4275
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 4.29: Medida del ruido de la seal de posicin.

Utilizando matlab para hallar la varianza de esta seal obtenemos 4.1556 10 8 .

109
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

0.8

0.6

0.4

0.2

velocidad
0

-0.2

-0.4

-0.6

-0.8

-1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 4.30: Medida del ruido de la seal de velocidad.

La varianza de la velocidad es 0.0313.

0.095

0.09

0.085
ngulo

0.08

0.075

0.07
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 4.31: Medida del ruido de la seal de ngulo.

La varianza es de 2.3407 10 6 . Por tanto la matriz que nos queda es:

4.1556 10 8 0 0

R= 0 0.0313 0
0 0 2.3407 10 6

110
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Implementemos el filtro de Kalman para comprobar mediante simulacin si el
funcionamiento es correcto:

Figura 4.32: Esquema de control LQG.

Comprobando el interior del bloque Filtro de Kalman:

Figura 4.33: Esquema Simulink del filtro de Kalman.

vemos como se implementa el esquema que se presentaba en la figura 4.28.

A continuacin veremos el resultado de ejecucin introduciendo como


condiciones iniciales del sistemas las mismas que introdujimos para el control LQR.

111
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

0.5
posicin
velocidad
0.4 ngulo

0.3

0.2

0.1

-0.1

-0.2

-0.3
0 1 2 3 4 5 6 7 8 9 10
tiempo

Figura 4.34: Resultado simulacin control LQG.

Se comprueba que el control LQG funciona correctamente y de forma similar a


como lo haca el control LQR cuando se supona que todos los estados eran accesibles y
por tanto conocidos.

112
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

5. Resultados.

5.1. Simulacin del modelo global.

A continuacin mostraremos el modelo que engloba los dos controladores que


hemos diseado en el apartado cuatro:

Figura 5.1: Modelo global de simulacin.

Para sincronizar el uso de los dos controladores utilizamos la seal on. sta es
generada en el relay de forma que cuando el ngulo est fuera de la zona lineal la seal
de on se encuentra a 1 y el controlador que acta sobre el sistema pndulo, que se
puede ver en la figura 3.18, es el controlador de alzamiento cuya estructura ya
mostramos en la figura 4.7. Posteriormente cuando el ngulo se encuentra en la zona
lineal el relay conmuta a 2 y el control que acta sobre el sistema es el controlador

113
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
LQG. La introduccin de esta seal on hace que tengamos que introducir unas
modificaciones en el controlador LQG diseado en el apartado anterior.

A continuacin veremos cules han sido estas modificaciones implementadas


en el filtro de Kalman:

Figura 5.2: Diagrama Simulink de filtro de Kalman.

Tenemos que tener en cuenta que a nosotros lo que nos interesa es que el filtro
de Kalman empiece a funcionar una vez que el pndulo haya sido alzado y se encuentre
en la zona lineal. Esta sincronizacin la logramos con la variable de entrada on que
pone en marcha el funcionamiento del filtro cuando esto sucede.

114
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Cuando on es igual a 1 tanto la u(k) como el e(k) = y(k) ye(k) que se
introducen al filtro son nulos como podemos ver en los multipuertos del diagrama,
adems la realimentacin del estado en este caso es unitaria. Todo esto hace que
mientras on se mantenga con valor 1:

xe (k + 1) = xe (k )

Cuando on es igual a 2 los multipuertos conmutan y el filtro comienza a


funcionar.

Otro problema al que nos tenemos que enfrentar es el hecho de capturar el


estado del sistema justo en el momento del cambio ya que estas sern las condiciones
iniciales del filtro de Kalman. Para ello tenemos el bloque condicin de cambio:

Figura 5.3: Diagrama Simulink del bloque Condiciones de cambio.

Para calcular la condicin de cambio lo que hace es que mientras on es igual 1


se queda con el valor de los tres estados accesibles medidos ( posicin, velocidad y
ngulo) y calcula los otros dos mediante ecuaciones tericas. Para calcular la velocidad

115
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
angular lo que hacemos es realizar la derivada del ngulo de la misma forma que en la
figura 4.22 y para calcular x5 utilizamos la ecuacin que dedujimos en el apartado 3.2
cuando analizamos el modelo del carro.

Figura 5.4: Diagrama Simulink para calcular el estado x5.

Cuando on es igual a 2 el multipuerto conmuta y lo que hace es mantener en


el tiempo el ltimo valor para el estado del sistema del instante anterior a que la seal
on conmutara. Por ltimo para introducir esta condicin inicial usaremos un modelo
de pequea seal:

X k = X I + xk donde :

X k Estado del sistema en ins tan te k .

X I Condiciones iniciales.

x k Pequea seal que almacena la var iacin del estado.

X k +1 = X I + x k +1 x k +1 = X k +1 X I

Este es el motivo por el que en la figura 4.28 primero restamos las condiciones
iniciales y posteriormente despus del delay se las sumamos. Primero se restan las
condiciones iniciales para obtener la pequea seal que se introduce en el delay y

116
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
posteriormente para obtener el estado actual del sistema a la pequea seal le sumamos
las condiciones iniciales.

En la figura 5.1 podemos observar tambin un bloque saturador. Este bloque se


coloca para evitar que aun cuando la seal de control generada por el controlador LQG
sea mayor que uno, como mximo sea este valor el que se introduce al sistema ya que la
seal de control que este es capaz de seguir es precisamente de 1.

A continuacin se muestra el resultado de la simulacin de este modelo global


del sistema:

1
control
0.8 posicin
velocidad
0.6 ngulo

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7 8
tiempo

Figura 5.5: Resultado de la simulacin global.

Podemos observar como el pndulo es alzado sin violar ninguno de los lmites
de los lmites de las variables de estado , es decir, la velocidad nunca supera en mdulo
1 y la posicin en mdulo nunca supera 1.2. Pero hagamos un zoom para obserbar
mejor el comportamiento de la variable de estado ngulo que es la que nos describe el
comportamiento del pndulo.

117
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

0.6

0.5

0.4

0.3
ngulo

0.2

0.1

-0.1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo

Figura 5.6: Simulacin de la seal de ngulo.

En la grfica se puede observar perfectamente como el pndulo despus de un


rebote contra los topes, asciende y es controlado en torno al ngulo cero mantenindose
en equilibrio tal y como era nuestro objetivo.

En el siguiente apartado tendremos que comprobar si este resultado terico


obtenido mediante simulacin se reproduce tambin en el laboratorio.

5.2. Ejecucin en laboratorio del modelo global.

En primer lugar tenemos que disear el modelo simulink. A continuacin


debemos cargar en el Workspace de Matlab la serie de variables y matrices que hemos
ido calculando en los distinto apartados del proyecto mediante el m-file matrizlqr que
se muestra en el ANEXO 1. Posteriormente generaremos una aplicacin en lenguaje C
asociado a este modelo, esto lo realizaremos ejecutando la opcin de Simulink RTW
Build. Una vez generado este cdigo tendremos que abrir el programa dSpace y

118
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
nuestro proyecto, en el que hemos generado el layout que se observa en la figura 2.5. A
continuacin debemos cargar la aplicacin en los microprocesadores de la unidad
SimoDrive 611 y ya estar listo para ser ejecutado. Veamos el modelo simulink
utilizado en los laboratorio:

Figura 5.7: Modelo global para el laboratorio.

nicamente explicaremos las diferencias con el modelo visto en la figura 5.1. En


este caso el controlador de levantado es el visto en la figura 4.12. Adems tenemos el
Motor Lineal visto en la figura 3.4. En la salida de la velocidad de dicho bloque se ha
introducido una ganancia de 0.01 ya que la medida que ofrece est en cm/s mientras que
a nosotros nos interesa en m/s. Otra diferencia es que aqu para calcular la velocidad
angular que introducimos en el controlador de alzamiento utilizamos el bloque
derivador del ngulo que se mostr en la figura 4.22. Adems en este caso antes de

119
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
dicha introduccin se hace pasar la velocidad angular por un filtro discreto paso bajo
para intentar eliminar parte del ruido.

Veamos los resultados obtenidos:

0.5

-0.5
velocidad
ngulo
rojo
-1 control

4 5 6 7 8 9 10
tiempo

Figura 5.8: Resultado fallido de ejecucin modelo global.

Observando el grfico vemos como el pndulo despus de dar un rebote


asciende pero despus no es capaz de mantenerlo en equilibrio sin violar por ejemplo el
mximo de la posicin que provoca que al llegar al tope el carro se pare y el pndulo
caiga hacia la derecha.

Por tanto debemos intentar que el carro no viole esta restriccin. Para ello
sabiendo que el control LQR intenta minimizar el funcional:

1 T 1 N 1
J i,N = x N Sx N + x kT Qx k + u kT Ru k
2 2 k =i

120
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Lo que tenemos que hacer es aumentar el peso de la posicin en la matriz de
pesos Q que calculamos en el apartado 4.2.2.1, haciendo pruebas comprobamos que
para un peso de la posicin de 30 se obtiene el siguiente resultado:

0.8

0.6

0.4

0.2

-0.2

-0.4
angulo
velocidad
-0.6
posicin

-0.8
5 10 15 20
tiempo

Figura 5.9: Resultado de ejecucin de modelo global para K=0.4.

Comprobamos como ahora efectivamente conseguimos controlar la variable


ngulo y por tanto el pndulo una vez alzado despus de dar un rebote se mantiene en
equilibrio en torno a cero.

Para obtener este resultado hemos utilizado un impulso inicial de 0.7 y ganancia
del control de alzamiento de 0.4 de ah que el pndulo se alce despus de un rebote.
Comprobemos ahora si bajando la ganancia de control de alzamiento a 0.3 y
manteniendo el impulso inicial en 0.7 tambin se consigue controlar el pndulo. Para
este caso tambin se mantendr la modificacin de la matriz de pesos que hemos
realizado anteriormente. Comprobemos cul es el resultado:

121
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

0.5

ngulo
velocidad
posicin
-0.5
8 10 12 14 16 18 20
tiempo

Figura 5.10: Resultado de ejecucin del modelo global para K=0.3.

Comprobamos como despus de dar dos rebotes tal y como esperbamos el


pndulo es alzado y mantenido en equilibrio.

Por tanto se puede concluir que la estrategia de control seguida es correcta.

122
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

6. Conclusiones y posibles extensiones.


A continuacin se destacan los principales resultados alcanzados respetando en
lo posible el orden de los temas tratados.

Se comenz realizando un estudio del sistema hardware del pndulo invertido


sobre vehculo mvil que se encuentra en los laboratorios de la Escuela de Ingenieros de
Sevilla describiendo el funcionamiento y distintas formas de implementacin de los
motores lineales sobre los que se basa dicho sistema as como del armario y panel de
control que se utiliza para su regulacin.

Posteriormente se realiz una descripcin de los sistemas hbridos y pudimos


llegar a dos conclusiones importantes, la primera que el uso de un modelo de sistema
hbrido para modelar nuestro sistema nos iba a aportar una reduccin de complejidad
del modelo en orden, obteniendo una representacin para el mismo mediante un
conjunto de modelos simples con una logstica de conmutacin. La segunda era que
existen muchos enfoques para el modelado, anlisis y sntesis de los sistemas hbridos.

A continuacin pasamos a modelar el sistema. En concreto para realizar esto se


us el modelo del autmata hbrido continuo lineal invariante en el tiempo. Se
comprob como el comportamiento que se genera al rebotar el pndulo contra los topes
se puede modelar perfectamente mediante un sistema hbrido en el que tendramos una
variable discreta que habilita la actuacin de una fuerza de rebote que se oponga a la
cada del pndulo cuando este se encuentra en una posicin mayor a los topes. Adems
para realizar el modelado se tuvo que utilizar dos modelos diferentes, uno no lineal para
cuando el pndulo se encuentra alejado de la vertical y otro lineal para cuando se
encuentra prximo a dicha vertical

En le captulo siguiente se procedi a establecer una estrategia de control que


nos permitiera alzar el pndulo partiendo desde una de las posiciones iniciales de reposo
y mantenerlo posteriormente en equilibrio en una posicin vertical. Se lleg a la
conclusin de que para conseguir este comportamiento lo ms adecuado era la
utilizacin de un controlador hbrido formado por una combinacin de una ley de

123
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
control orientada a aumentar la energa del pndulo que acta lejos de la posicin de
equilibrio, y por una ley de control lineal que lo estabiliza cuando est cerca de l.

Para aumentar la energa del pndulo utilizamos una ley de control basada en
aumentar la velocidad angular del pndulo, para ello, el carro deba moverse en
direccin contraria al movimiento del pndulo (velocidad angular del pndulo). El
problema de utilizar una ley control como esta es que cuando el pndulo se encuentra en
reposo su velocidad angular es cero y por tanto la seal de control tambin. Por tanto se
llega a la conclusin de que es necesario un impulso inicial que ponga en movimiento el
pndulo.

Posteriormente para mantener el pndulo en equilibrio como tenemos un sistema


lineal para posiciones prximas a la vertical se decidi utilizar un control LQR. El
problema que surge en ese momento es que no tenemos acceso a todos los estados del
sistema por tanto para poder utilizar el control LQR debemos primeramente utilizar un
filtro de Kalman para estimar el estado Al empleo conjunto de estas dos tcnicas se le
conoce como control LQG.

Por ltimo se comprob experimentalmente en el laboratorio si la estrategia de


control propuesta era correcta. Despus del ajuste de algunos parmetros el control
funcionaba correctamente en la mayora de las ocasiones aunque a veces se observ que
si el pndulo al producirse la conmutacin en el control tena una velocidad angular
demasiado elevada el control LQG no era capaz de controlarlo.

Como posibles extensiones de este trabajo se podran implementar otras


estrategias de control para el alzamiento en la que no hiciera falta suministrar un
impulso inicial o que asegurara que el pndulo llegase a la posicin de conmutacin de
control con una velocidad determinada. Otra posible modificacin sera utilizar una
transicin suave en lugar de una abrupta a la hora de conmutar el control de forma que
se redujera el transitorio como resultado de las diferencias entre los valores de control
en el instante de transicin de una ley a otra.

124
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

ANEXO 1.

A.1. m-file que modela el comportamiento del pndulo.

function [sal]= final4(u,on,x);

g = 9.8; %m/s^2
lv= 0.75; %m Longitud de la varilla
l = 0.375; %m Distancia al centro de masas
mv = 1; %kg Masa del pendulo
Tm=0.01; %Tiempo de muestreo

%Coeficiente de friccin de la varilla respecto al eje


Bv=0.015;

%Momento de incercia de varilla con eje extremo


Ic=(1/12)*(mv*lv^2);
I=Ic+mv*(l^2);%kg*m^2

alfa2 =55; %constante del muelle


kr =4714.4; %costante del muelle imaginario

%Constantes para normalizar el ngulo


Norm = (pi/6)/0.0917;
Const_ang = -0.0083;

%Parmetros del sistema de segundo orden que simula al carro


delta=0.385;
omega=11.3466;

% Si la seal on es igual a 2 entonces


% nos encontramos en la zona lineal.
if(on==2)

A=[1 Tm 0 0 0;
0 1 0 0 Tm*omega^2;
0 0 1 Tm 0;
0 0 mv*g*lv*Tm/(2*I) 1-Bv*Tm/I (omega^2)*mv*lv*Tm/(2*I);
0 -Tm 0 0 1-2*delta*omega*Tm];

125
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

B=[0;0;0;0;Tm];
xsig=A*x + B*u;

elseif (x(3) < -pi/6) % Menor de -30

Fr = kr*(x(3)+pi/6)+alfa2*x(4);
x1 = x(1) + Tm*x(2);
x5 = (1-2*delta*omega*Tm)*x(5) + Tm*(u-x(2));
x2 = omega^2*Tm*x(5) + x(2);
a=(x2-x(2))/Tm;
x3 = x(3) + Tm*x(4);
x4 = x(4) + Tm*((mv*l/(I))*(g*sin(x(3))+a*cos(x(3))+Bv*x(4))-Fr);
xsig=[x1;x2;x3;x4;x5];

elseif (x(3) > pi/6) % Mayor de 30

Fr = kr*(x(3)-pi/6)+alfa2*x(4);
x1 = x(1) + Tm*x(2);
x5 = (1-2*delta*omega*Tm)*x(5) + Tm*(u-x(2));
x2 = omega^2*Tm*x(5) + x(2);
a=(x2-x(2))/Tm;
x3 = x(3) + Tm*x(4);
x4 = x(4) + Tm*((mv*l/(I))*(g*sin(x(3))+a*cos(x(3))+Bv*x(4))-Fr);
xsig=[x1;x2;x3;x4;x5];

elseif (-pi/6< x(3)< -pi*10/180) % Entre -30 y -5

Fr = 0;
x1 = x(1) + Tm*x(2);
x5 = (1-2*delta*omega*Tm)*x(5) + Tm*(u-x(2));
x2 = omega^2*Tm*x(5) + x(2);
a=(x2-x(2))/Tm;
x3 = x(3) + Tm*x(4);
x4 = x(4) + Tm*((mv*l/(I))*(g*sin(x(3))+a*cos(x(3))+Bv*x(4))-Fr);
xsig=[x1;x2;x3;x4;x5];

else (pi/6> x(3)> pi*10/180) % Entre 5 y 30

Fr = 0;
x1 = x(1) + Tm*x(2);

126
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
x5 = (1-2*delta*omega*Tm)*x(5) + Tm*(u-x(2));
x2 = omega^2*Tm*x(5) + x(2);
a=(x2-x(2))/Tm;
x3 = x(3) + Tm*x(4);
x4 = x(4) + Tm*((mv*l/(I))*(g*sin(x(3))+a*cos(x(3))+Bv*x(4))-Fr);
xsig=[x1;x2;x3;x4;x5];

end

xsig(3)= xsig(3)/Norm + Const_ang;


sal=[xsig];

A.2. m-file que carga el Workspace de Matlab las matrices que necesitamos y
calcula las ganancias del control LQG.

function
[s1,s2,s3,s4,s5,delta,omega,g,lv,mv]=matrizlqr(x1max,x2max,x3max,x4max
,x5max,Tm);

g = 9.8; %m/s^2
lv= 0.75; %m Longitud de la varilla
l = 0.375; %m Distancia al centro de masas
mv = 1; %kg Masa del pendulo

%Momento de inercia de la varilla


Ic=(1/12)*(mv*lv^2);
I=Ic+mv*(l^2); %kg*m^2

%Coeficiente de friccin de la varilla respecto al eje


Bv=0.015;

%Constantes del sistema de 2 orden del carro.


omega=11.3466
delta=0.385

% ltimos valores introducidos


%x1max=1
%x2max=0.5
%x3max=0.0873

127
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
%x4max=2
%x5max=1

%Matrices que describen el sistema en su zona lineal


A=[1 Tm 0 0 0;
0 1 0 0 Tm*omega^2;
0 0 1 Tm 0;
0 0 mv*g*lv*Tm/(2*I) 1-Bv*Tm/I (omega^2)*mv*lv*Tm/(2*I);
0 -Tm 0 0 1-2*delta*omega*Tm];

B=[0;0;0;0;Tm];

C=[1 0 0 0 0;
0 1 0 0 0;
0 0 1 0 0];

%Pesos para el clculo del control LQR


Q=[1/x1max^2 0 0 0 0;
0 1/x2max^2 0 0 0;
0 0 1/x3max^2 0 0;
0 0 0 1/x4max^2 0;
0 0 0 0 1/x5max^2];

R=1;

%Matrices para clculo LQG


G=[0;0;0;0;0];
Qlqg=0;
Rlqg=diag([4.1446e-008,0.0313,2.3407e-006]);

%Clculo de las ganancias


K=dlqr(A,B,Q,R);
L=dlqe(A,G,C,Qlqg,Rlqg);

s1=K;
s2=L;
s3=A;
s4=B;
s5=C;

128
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
A.3. m-file para el clculo de las constantes de rebote.

function[sol]=calculaconst3(Tm,tetha1,tetha2,tetha3,tetha4)

g = 9.8; %m/s^2
lv= 0.75; %m Longitud de la varilla
l = 0.375; %m
mv = 1; %kg Masa del pendulo

%Momento de inercia de la varilla


Ic=(1/12)*(mv*lv^2);
I=Ic+mv*(l^2); %kg*m^2

%Constante de friccin
Bv=0.015;

%Constantes de normalizacin del ngulo


Norm = (pi/6)/0.0917;
Const_ang = -0.0083;

ang(1)=(tetha1 - Const_ang)*Norm;
ang(2)=(tetha2 - Const_ang)*Norm;
ang(3)=(tetha3 - Const_ang)*Norm;
ang(4)=(tetha4 - Const_ang)*Norm;

velAng(1)=0;
for i=2:4
velAng(i)=(ang(i)-ang(i-1))/Tm;
end

K=(mv*l/(I))
b(1)=velAng(3)-velAng(2)-Tm*K*g*sin(ang(2))-Tm*K*Bv*velAng(2);
b(2)=velAng(4)-velAng(3)-Tm*K*g*sin(ang(3))-Tm*K*Bv*velAng(3);

A=[-Tm*(ang(2)-pi/6) -Tm*velAng(2);-Tm*(ang(3)-pi/6) -Tm*velAng(3)];

I=inv(A);

b=[b(1);b(2)];
sol=I*b;

129
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
const=[sol(1);sol(2)];

A.4. m-file para simular el comportamiento del carrito.

function [sal]= carrito(u,x);

%Constantes del sistema de 2 orden


delta=0.5;
omega=10.3646;

%Tiempo de muestreo
Tm=0.01;

x1 = (1-2*delta*omega*Tm)*x(1) + Tm*(u-x(2));
x2 = omega^2*Tm*x(1) + x(2);

sal=[x1;x2];

130
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega

Bibliografa.

John S. Bay. Fundamentals of Linear State Space Systems. WCB/McGraw-Hill,


1999.

Chi-Tsong Chen. Linear System Theory and Design. Oxford University Press,
3rd edition,1999.

John C. Doyle, Bruce A. Francis, and Allen Tannenbaum. Feedback control


theory. Macmillan Pub. Co., 1992.

B. Friedland. Control System Design. McGraw-Hill, 1986.

G.C. Goodwin, S.F. Graebe, and M.E. Salgado. Control System Design. Prentice
Hall, 2000.

G.C. Goodwin and K.S. Sin. Adaptive Filtering Prediction and Control.
Prentice-Hall, New Jersey, 1984.

Wilson J. Rugh. Linear System Theory. Prentice Hall, 2nd edition, 1995.

Ricardo Snchez Pea. Introduccin a la teora de control robusto. Asociacin


Argentina de Control Automtico, 1992.

M. M. Seron, J. H. Braslavsky, and G. C. Goodwin. Fundamental Limitations in


Filtering and Control. CCES Series. Springer-Verlag, 1997.

C.F. Van Loan. Computing integrals involving the matrix exponential. IEEE
Trans. Automat. Contr., AC-23(3):395404, June 1978.

D.M. Etter. Engineering Problem Solving with Matlab. Prentice-Hall.

Antonio Moreno. Trabajando con Matlab y el System Toolbox. Ra-Ma.

131
Modelado y control del pndulo invertido
sobre carro mediante sistemas hbridos._______________Autor: Fernando Bote Ortega
Robert N. Bateson. Introduction to Control System Technology. Prentice-Hall.

Stefani, Shanion, Savant, Hostetter. Design of Feedback Control Systems.


Oxford University Press.

L.Grossman, A Nerode, A. P. Ravn and H. Rischel, editors. Hibryd Sistems.


Springer-Verlag 1993

Favela, A. Hybrid Automata Models in Continuous-Linear Hybrid Systems


Analysis, Proceedings of the 1999 IEEE International Symposium on
Intelligent Control/Intelligent Systems and Semiotics, Cambridge, MA., pp. 11-
16, 1999.
.

132

También podría gustarte