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 12 13
14 15 16 16

2.1.2. Pndulo invertido 2.1.3. Instalacin


2.1.3.1. 2.1.3.2. 2.1.3.3. 2.1.3.4.

.................................................

Motor lineal ............................................................... Armario y panel de control ...................................... Potencimetro ........................................................... Pndulo invertido .....................................................

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

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 3.3.2. Modelo no lineal

........................................ ......................................... .................................. ......................................

29 37 42 52

3.3.3. Modelo de los rebotes 3.3.4. Modelo linealizado

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 ............. 4.2. Alzamiento del pndulo ...............................
4.2.1. Impulso inicial

57 58
58 64

........................................... .................................

4.2.2. Control de alzamiento

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


4.3.1. Introduccin
4.3.1.1. 4.3.1.2. 4.3.1.3. 4.3.1.4. 4.3.1.5. 4.3.1.6. 4.3.1.7. 4.3.1.8. 4.3.1.9.

73
73
74 76 77 77 79 80 83 85 88

.............................................

Principio de optimalidad ........................................ Nota histrica .......................................................... Control LQ discreto ............................................... Transicin [N 1] [N] ........................................ Transicin [N 2] [N] ......................................... Transicin [k] [N] .............................................. Control LQ en tiempo continuo ............................ Control LQ de Horizonte Infinito ......................... Estimadores ptimos .............................................. 3

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

4.3.2. Implementacin del control LQG


4.3.2.1. 4.3.2.2.

.................

103
103 108

Diseo de control LQR .......................................... Diseo del filtro de Kalman ..................................

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


5.1. Simulacin del modelo global ...................... 5.2. Ejecucin en laboratorio del modelo global .. 113 118

6. Conclusiones y posibles extensiones .............. ANEXO 1 ............................................................. Bibliografa ..........................................................

123 125 131

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

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.

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.

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 m

40 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 pi/6 Modelo no lineal

0 Modelo lineal

-pi/36 Modelo no lineal -pi/6

Modelo de rebotes

Modelo de 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 0 -5

1.25

1.5

1.75

2.25 tiempo

2.5

2.75

3.25

3.5

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:
F (s) =
2 n 2 s 2 + 2 n s + n

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:

Tp

0.35

= 8.9760

n =

1 2

8.9760 1 0.5 2

= 10.3646

Por tanto la funcin de transferencia que nos queda es:

F (s) =

107.4243 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

x5=x/s

x2=x/s2 n 2

-2n

- n 2
Figura 3.5: Diagrama de estados del carro.

Partimos de la funcin de transferencia del sistema de segundo orden subamortiguado.


2 n

F (s) =

1+

2 n

s2 +

= s2

y x x u

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

y=

2 n

s2

A partir de estas ecuaciones en continua obtendremos las ecuaciones del estado en el instante k+1 a partir del instante k.
2 &2 = n x x5

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

34

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

& 5 = u 2 n x5 x

x2

2 n

2 = u 2 n x5 x 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 x 2 (k ) = x1 (k + 1) x1 (k ) Tm

x1 (k + 1) = x1 (k ) + Tm x 2 (k ) Por tanto el sistema del carro en espacio de estados es:


0 x1 (k + 1) 1 Tm x1 (k ) 0 x (k + 1) = 0 2 1 Tm n 2 x 2 (k ) + 0 u (k ) 0 Tm 1 2Tm n x3 ( k ) Tm x5 (k + 1) 0 x1 (k ) 0 x1 (k + 1) 1 0.01 x (k + 1) = 0 1 1.0742 2 x 2 (k ) + 0 u (k ) 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 5 0

0.25

0.5

0.75

1.25 tiempo

1.5

1.75

2.25

2.5

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.
I = I C + ml 2 = 1 1 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 ml 3

I=

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

d ( xc) dt d Fr var illa = Bv ( ) dt Frcarro = Bc 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 x 4 (k + 1) = x 4 (k ) + Tm (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 a (k ) = x 2 (k ) x 2 (k 1) 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 ) x 4 (k + 1) = x 4 (k ) + Tm (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.5

1.5

2.5 tiempo

3.5

4.5

Figura 3.12: Valor del pndulo apoyado sobre la izquierda.

-0.093 -0.0943 -0.0955 -0.0968 -0.098 angulo -0.0993 -0.1005 -0.1017 -0.103 -0.1043 -0.1055 -0.1068 -0.108 0 0.5 1 1.5 2 2.5 tiempo 3 3.5 4 4.5 5

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:

Cons tan te =

Izquierda + Derecha 0.0835 0.1 = 0.0083 = 2 2

(Izquierda Derecha )
Norma =

2 =

(0.0835 + 0.1)

2 = 0.1752

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

NORMALIZADO =

MEDIDO Cons tan te


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

0.5

1.5

2.5 tiempo

3.5

4.5

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

1.5

2.5 tiempo

3.5

4.5

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 tiempo

3.5

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 ml (a(k ) cos( (k )) + g sin( (k )) ) + Bv (k ) + Tm Fr I

(k + 1) = (k ) +

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 m lg sin( (k )) + Bv (k ) + Tm Fr I

(k + 1) = (k ) +

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.
. T B . Tm m lg sin( (k )) + m v (k ) Tm k r (k ) + Tm (k ) 6 I I

(k + 1) = (k ) +

(k + 2) = (k + 1) +

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

Teniendo en cuenta que:


.

(k ) =

(k ) (k 1)
Tm

(k + 1) =

(k + 1) (k )
Tm

( k + 2) =

(k + 2) (k + 1)
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 k (k ) + ( ) sin( ( )) m m k k ( 1 ) + 6 r I I . = + . . . (k + 2) T (k + 1) + T (k + 1) (k + 1) + Tm m lg sin( (k + 1)) Tm Bv (k + 1) m m I I 6 .

k r

. Tm (k ) Tm (k ) + 6 = . T (k + 1) + Tm (k + 1) m 6

. . Tm m lg Tm Bv . k k k ( 1 ) ( ) sin( ( )) (k ) + + I I . . . T m lg T B (k + 2) (k + 1) m sin( (k + 1)) + m v (k + 1) 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 -0.01

0.5

1.5

2.5 tiempo

3.5

4.5

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

2.2

2.3 2.4 tiempo

2.5

2.6

2.7

2.8

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 Amplitud del primer rebote Amplitud del segundo rebote Amplitud del tercer rebote Duracin primer rebote Duracin segundo rebote 0.0635 0.0758 0.0795 0.38 sg 0.24 sg Realidad 0.0635 0.076 0.082 0.35 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.5

1.5

2.5 tiempo

3.5

4.5

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:


2 x 2 (k + 1) = x 2 (k ) + Tm n 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 (ml (a(k ) cos( x3 (k )) + g sin( x3 (k )) ) + Bv x4 (k ) ) I

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

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 (ml (a(k ) + gx3 (k ) ) + Bv x 4 (k ) ) I

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

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

Partiendo del modelo del carrito podemos obtener:


. x5 x (k ) x 2 (k 1) 2 2 = x2 x2 = n x5 2 = n x5 ( k ) s Tm

2 v n

Sustituyendo este resultado en la ecuacin de la velocidad angular obtenemos lo siguiente: T m lg T T ml n x 4 (k + 1) = 1 + m Bv + m x5 (k ) + m x3 ( k ) I I I


2

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 x (k + 1) 0 1 2 0 x3 (k + 1) = 0 0 x 4 (k + 1) 0 x5 (k + 1) 0 Tm 0 0 0 x (k ) 0 1 2 x (k ) 0 n Tm 0 0 2 x (k ) + 0 u (k ) Tm 1 0 3 2 Tm m lg Tm Tm ml n x 4 (k ) 0 Bv 1+ I I I x (k ) T 0 0 1 2 nTm 5 m

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 L G Tm Bv

1 kg 0.375 m 9.8 m/s2 0.01 s 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
T1 impulso Fr = 0 T3 >/6

S2

Fr = 0 T2 impulso

S3

Fr = 0 T5 </6 T4 </6 T6 >/6

S5
Fr = [Kr ( / 6) + ]

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

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: L 11 2 2 mL + mg cos 23 2

E=

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

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:

W
6

= E E = mg
6 7

L L cos mg cos 2 6 2 7

W
6

= mg

L cos cos = 0.1284 J 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:

W
6

= F dr = Fsen rd

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:

W
6

= F dr = F cos rd

6 6

Suponiendo como hemos dicho que la aceleracin que produce el carrito es constante y por tanto la magnitud de la fuerza tambin:

W
6

7 = F r cos d = F r sen sen 6 7 6

W F=
6

r sen sen 6 7

0.1284 0.75 sen sen 2 7 6

= 5.1788 N

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

= 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

F dt = Ft = mv v =
0

Ft m

v =

5.1788 0.25 = 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 -0.2 -0.4 -0.6 -0.8 0 0.1 0.2 0.3 0.4 0.5 tiempo 0.6 0.7 0.8 0.9 1

Figura 4.3: Impulso inicial de entrada.

Veamos a continuacin los resultado que se producen ante una entrada como esta:
0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 0.5 1 tiempo 1.5 2 2.5 Posicin Velocidad Angulo

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 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0.15 Posicin Velocidad Angulo

0.2

0.25

0.3 tiempo

0.35

0.4

0.45

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 0.58 0.56 0.54 0.52 0.5 0.48 0.46 0.44 0.42 0.4 Posicin Velocidad Angulo

0.1

0.2

0.3 tiempo

0.4

0.5

0.6

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 E= L 11 2 2 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 (ml (a(k ) cos( (k )) + g sin( (k ))) + Bv (k ) ) I

(k + 1) = (k ) +

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 tiempo 2 2.5 3

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 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 control ngulo

0.5

1.5

2 2.5 tiempo

3.5

4.5

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 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 control ngulo

0.2

0.4

0.6

0.8 tiempo

1.2

1.4

1.6

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 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 0 0.1 0.2 0.3 0.4 0.5 tiempo 0.6 0.7 0.8 0.9 1 control ngulo

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

0.4

0.6

0.8

1 tiempo

1.2

1.4

1.6

1.8

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 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 1.6 1.8 2 2.2 2.4 2.6 2.8 tiempo 3 3.2 3.4 3.6 ngulo control

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 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 1 1.2 1.4 1.6 tiempo 1.8 2 ngulo control

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-cuadrticogaussiano (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 desde el punto A al punto yA

xB y en mnimo tiempo, sujeto a la restriccin: 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 T T x N Sx N + x k Qx k + u k Ru k 2 2 k =i

J i,N =

(4.2)

El funcional puede interpretarse como el costo total de la transicin de xi a xN y, en particular, el trmino x T N 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 semidefinidas 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: 1 T T x N Sx N + x T N 1Qx N + u N 1 Ru N 1 2

J N 1, N =

(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 T ( Ax N 1 + Bu N 1 ) T S ( Ax N 1 + Bu N 1 ) + x T N 1Qx N 1 + u N 1 Ru N 1 2

Como J es cuadrtico en u, podemos minimizarlo diferenciando


T J N 1, N u N 1 (4.4)

0=

0 = B T S ( Ax N 1 + Bu N 1 ) + Ru N 1 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:

T u* N 1 = R + B SB

B T SAx N 1

(4.5)

que resulta ser un mnimo, ya que:


2 J N 1, N
2 u N 1

= R + B T SB > 0

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

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:

* JN 1, N =

1 T T ( Ax N 1 BK N 1 x N 1 ) T S ( Ax N 1 BK N 1 x N 1 ) + x T N 1Qx N 1 + x N 1 K N 1 RK N 1 x N 1 2 1 T T x N 1 ( A BK N 1 ) T S ( A BK N 1 ) + Q + K N 1 RK N 1 x N 1 2 1 T x N 1 S N 1 x N 1 (4.7) 2

* JN 1, N =

* JN 1, N

donde definimos:
T S N 1 ( A BK N 1 ) T S ( A BK N 1 ) + Q + K N 1 RK N 1

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


* N, no hay ninguna accin de control que tomar y J N , N = J N ,N =

1 T x N Sx N ,es decir: 2

SN = S K N = ( R + B T S N B) 1 B T S N A
T S N 1 = ( A BK N 1 ) T S N ( A BK N 1 ) + Q + K N 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:
* * JN 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: 1 T T x N 1 S N 1 x N 1 + x T N 2 Qx N 2 + u N 2 Ru N 2 2

J N 2, N 1 =

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:
* uk = K k xk

(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
T S k = ( A BK k ) T S k +1 ( A BK k ) + Q + K k RK k

(4.9)

(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 xk S k xk 2

* Jk ,N =

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 x k +1 = x k + u k 1 1 1

2 x(0) = 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 Aunque la planta a lazo abierto es inestable (autovalores en 3 3 ), 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 1 x (t f ) Sx(t f ) + x T (t )Qx(t ) + u T (t ) Ru (t ) dt 2 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 reemplazamos en la expresin del costo, y obtenemos:
( A BK J = x e 0
T 0

x ( t ) = e ( A BK )t x 0 , la

)T

(Q

+ K

RK e ( A BK )t dt x0

T J x0 Px0

(4.17)

donde hemos definido la matriz P

e
0

( A BK )T

(Q

+ K

RK e ( A BK )t dt .

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:
T E vk vk = V

[ [

T E vk vj = 0

T E k k = W

[ [

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

T E k j = 0, cuando k j

E [ k ] = 0

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: k +1 = Ax k + Bu k + L( y k Cx k ) x 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):
( k + Bu k x k +1 = Ax

(4.20)

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


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

(4.21)

La diferencia con el observador convencional es que ahora corregimos la estima k ). k +1 ) en vez de utilizar la medicin vieja ( y k y con la medicin actual ( y k +1 y 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 k +1 = Ax k + Bu k + L( y k +1 C ( Ax k + Bu k ) ) x k +1 = ( A LCA)x k + (B LCB )u k + Ly k +1 x (4.22)

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

(t ) = ( A LC )x (t ) + Bu (t ) + Ly (t ) x 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:

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

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: ( ( k +1 = x k +1 + Lk +1 [ y k +1 Cx k +1 ] x (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: k ek = x k x

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:
T S k E ek ek

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:
T min E[ek +1 ] = min E ek +1 ek +1 2 Lk +1 Lk +1

]
]
(4.24)

T min E[ek +1 ] = min E tr (ek +1ek +1 ) 2 Lk +1 Lk +1

T min E [ek +1 ] = tr min E ek +1ek +1 = min trS k +1 2 Lk +1 Lk +1 Lk +1

Para obtener una expresin para S k +1 , derivamos la dinmica del error: k +1 ek +1 = x k +1 x ( k Bu k Lk +1 [Cx k +1 + k +1 Cx k +1 ] ek +1 = Ax k + Bu k + Gv k Ax k + Gv k Lk +1 [C [Ax k + Bu k + Gv k ] + k +1 C [Ax k + Bu k ]] ek +1 = Ax k Ax 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 ]

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


T

T T T T T 2 Lk +1 k +1 ek A + vk G T (I Lk +1C ) + Lk +1 k +1 k +1 Lk +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:
T E vk vk = V

[ [ [

T E k +1 k +1 = W

(4.26)

T E k +1v k =0

Adems, no es difcil ver que:


T k ) E k +1ek = E k +1 ( x k x

[ [

] [

]
]
(4.27)

T T T k E k +1ek = E k +1 x k E k +1 x =0

] [

] [

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


T k )T E v k ek = E vk ( xk x

[ [

] [

]
(4.28)
T k

Ev e

T k k

]= 0 ] = E[v x ] E[v x
k T k k

k tampoco estn correlacionadas con v k . Usando (4.26), (4.27) y (4.28) ya que x k y x en (4.25), llegamos a la expresin:
S k +1 = [I Lk +1C ] AS k AT + GVG T [I Lk +1C ] + Lk +1WLT k +1
T 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 LT k +1 2tr Lk +1C AS k A + GVG


T

] [

] [

]
(4.30)

]] + tr [L

k +1

WL

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:

tr XYX T = 2 XY X tr [YXZ ] = Y T Z T X As obtenemos de (4.30) tr S k +1 Lk +1

0=

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

] [[

(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):
( k + Bu k x k +1 = Ax

(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

] [[

(4.33)

T = S0 . que inicializamos con la covarianza original S k0 = E x0 x0

3. Calculamos la estima a posteriori, corregida con la salida medida y k +1 mediante (4.23), que puede simplificarse a:
( ( k +1 = x k +1 + Lk +1 [ y k +1 Cx k +1 ] x

(4.34)

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


S k +1 = [I Lk +1C ] AS k AT + GVG T [I Lk +1C ] + Lk +1WLT k +1
T 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 0.081767 0.8146405 0.0452456 0.0474324 (4.36)

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

T T J = xk Qx k + u k 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

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:

( k + Bu k x k +1 = Ax ( k +1 = x k +1 + L( y k +1 Cx k Du k ) x
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:


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

para estimar el estado x del sistema en tiempo continuo:

x = Ax + Bu + G y = Cx + Du + v respectivamente, de media nula y con covarianzas: donde w y v son ruido de proceso y de medicin,

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 1 0 A = 0 0 0 0 Tm 0 0 0 2 n Tm 0 0 Tm 1 0 2 Tm m lg T Tm ml n 1 + m Bv I I I 0 0 1 2 nTm 0 0 B=0 0 Tm

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 x1max 0 Q= 0 0 0

0 1 x2 2 max 0 0 0

0 0 1 x3 2 max 0 0

0 0 0 1 x4 2 max 0

0 0 0 1 2 x5 max 0

R=

1
2 u 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 + 1) (k )
Tm

Veamos el resultado de aplicar este bloque:


10 8 6 4 2 0 -2 -4 -6 -8 -10 velocidad angular ngulo control

1.5

2.5

3 tiempo

3.5

4.5

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 1.1 1.05 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

x5 velocidad

0.5 tiempo

1.5

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 Q= 0 0 0 0 0 0 0 1 0 0 0 0 131.2 0 0 0 0 0.04 0 0 0 0 400

R =1

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

5 tiempo

10

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:
( k + Bu k x k +1 = Ax ( k +1 = x k +1 + L( y k +1 Cx k Du k ) x

El diagrama de bloques que implementa dichas ecuaciones es el siguiente: u(k) H + L + B + A xe(k)


Figura 4.28: Diagrama de bloques del filtro de Kalman.

y(k)

+ z-1 C

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

1.5

2.5 tiempo

3.5

4.5

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
1 0.8 0.6 0.4 0.2 velocidad 0 -0.2 -0.4 -0.6 -0.8 -1

0.5

1.5

2.5 tiempo

3.5

4.5

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

1.5

2.5 tiempo

3.5

4.5

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 R= 0 0 2.3407 10 6 0 0

0 0.0313 0

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 0.4 0.3 0.2 0.1 0 -0.1 -0.2 -0.3 posicin velocidad ngulo

5 tiempo

10

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 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 control posicin velocidad ngulo

4 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.5

1.5

2.5 tiempo

3.5

4.5

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 control

-1

7 tiempo

10

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 T T x N Sx N + x k Qx k + u k Ru k 2 2 k =i

J i,N =

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:

1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 angulo velocidad posicin 5 10 tiempo 15 20

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
1

0.5

ngulo velocidad posicin -0.5 8 10 12 14 tiempo 16 18 20

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; lv= 0.75; l = 0.375; mv = 1; Tm=0.01;

%m/s^2 %m Longitud de la varilla %m Distancia al centro de masas %kg Masa del pendulo %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; kr =4714.4;

%constante del muelle %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; lv= 0.75; l = 0.375; mv = 1;

%m/s^2 %m Longitud de la varilla %m Distancia al centro de masas %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; lv= 0.75; l = 0.375; mv = 1;

%m/s^2 %m Longitud de la varilla %m %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. 1116, 1999. .

132

También podría gustarte