Sie sind auf Seite 1von 132

Modelado y control del péndulo

invertido sobre carro mediante


sistemas híbridos.

Fernando Bote Ortega


Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

Índice

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

2. Introducción ...................................................... 9

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


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

2.1.2. Péndulo invertido ........................................ 12

2.1.3. Instalación ................................................. 13


2.1.3.1. Motor lineal ............................................................... 14
2.1.3.2. Armario y panel de control ...................................... 15
2.1.3.3. Potenciómetro ........................................................... 16
2.1.3.4. Péndulo invertido ..................................................... 16

2.2. Software y conexión ..................................... 17


2.3. Sistemas híbridos ......................................... 20
2.3.1. Introducción .............................................. 21
2.3.2. Diferentes enfoques en el modelado y
análisis de sistemas híbridos .......................... 22

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

3.1. Introducción ................................................ 27


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

2
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

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


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

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

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

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

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


3.5. Integración de las variables continuas
y discretas ................................................... 56

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

4.1. Estrategia global de control híbrido ............. 57


4.2. Alzamiento del péndulo ............................... 58
4.2.1. Impulso inicial ........................................... 58

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

4.3. Equilibrio del péndulo ................................ 73


4.3.1. Introducción ............................................. 73
4.3.1.1. Principio de optimalidad ........................................ 74
4.3.1.2. Nota histórica .......................................................... 76
4.3.1.3. Control LQ discreto ............................................... 77
4.3.1.4. Transición [N – 1] → [N] ........................................ 77
4.3.1.5. Transición [N –2] → [N] ......................................... 79
4.3.1.6. Transición [k] → [N] .............................................. 80
4.3.1.7. Control LQ en tiempo continuo ............................ 83
4.3.1.8. Control LQ de Horizonte Infinito ......................... 85
4.3.1.9. Estimadores óptimos .............................................. 88

3
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
4.3.1.10. Modelos de sistemas con ruidos ............................ 88
4.3.1.11. Filtro de Kalman discreto ..................................... 90
4.3.1.12. Notas ....................................................................... 99

4.3.2. Implementación del control LQG ................. 103


4.3.2.1. Diseño de control LQR .......................................... 103
4.3.2.2. Diseño del filtro de Kalman .................................. 108

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

5.1. Simulación del modelo global ...................... 113


5.2. Ejecución en laboratorio del modelo global .. 118

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

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

Bibliografía .......................................................... 131

4
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

Índice figuras.
Figura 2.1 Representación de un motor lineal................................................... 10
Figura 2.2 Motor lineal con plataforma móvil.................................................. 15
Figura 2.3 Armario y panel de control............................................................... 15
Figura 2.4 Péndulo invertido............................................................................... 16
Figura 2.5 Pantalla ControlDesk........................................................................ 18
Figura 2.6 Diagrama de conexionado del motor lineal..................................... 20
Figura 3.1 Modelo usado en función del ángulo del péndulo........................... 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 escalón............................................. 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 escalón u=0.3...................... 36
Figura 3.8 Diagrama de fuerzas que actúan 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 péndulo apoyado sobre la izquierda.............................. 43
Figura 3.13 Valor del péndulo apoyado sobre la derecha................................. 43
Figura 3.14 Caída libre del péndulo hacia la izquierda.................................... 45
Figura 3.15 Caída libre del péndulo hacia la derecha....................................... 45
Figura 3.16 Zona de rebotes de la izquierda...................................................... 46
Figura 3.17 Modelo simulink del péndulo.......................................................... 49
Figura 3.18 Simulación de caída libre del péndulo hacia la izquierda............ 50
Figura 3.19 Simulación de la zona de rebotes izquierda................................... 50
Figura 3.20 Simulación normalizada.................................................................. 51
Figura 3.21 Modelo del autómata híbrido del péndulo..................................... 56
Figura 4.1 Péndulo 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Figura 4.5 Variación de la velocidad del carro ante el impulso inicial............ 63
Figura 4.6 Variación del ángulo del péndulo 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 Señal 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 Evolución del estado en lazo cerrado.............................................. 82
Figura 4.20 Evolución de las ganancias.............................................................. 83
Figura 4.21 Evolución de los estados del sistema y los estimados.................... 99
Figura 4.22 Modelo Simulink del controlador LQG......................................... 103
Figura 4.23 Bloque cálculo 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 simulación control LQR................................................ 107
Figura 4.28 Diagrama de bloques del filtro de Kalman.................................... 108
Figura 4.29 Medida del ruido de la señal de posición........................................ 109
Figura 4.30 Medida del ruido de la señal de velocidad..................................... 110
Figura 4.31 Medida del ruido de la señal 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 simulación del control LQG.......................................... 112
Figura 5.1 Modelo global de simulación............................................................. 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Figura 5.5 Resultado de la simulación global.................................................... 117
Figura 5.6 Simulación de la señal de ángulo...................................................... 118
Figura 5.7 Modelo global para el laboratorio................................................... 119
Figura 5.8 Resultado fallido de ejecución del modelo global........................... 120
Figura 5.9 Resultado de ejecución del modelo global para K=0.4.................. 121
Figura 5.10 Resultado de ejecución del modelo global para K=0.3................ 122

7
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

1. Objetivos.
El objetivo del este proyecto es realizar un estudio del péndulo invertido sobre
vehículo móvil que se encuentra implementado en los laboratorios de automática de la
Escuela Superior de Ingenieros de Sevilla empleando un modelo de sistema híbrido que
modele su comportamiento .

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


matemático del sistema en cuestión, obteniendo las ecuaciones que lo describen y
realizando un modelo del mismo a partir de ellas, de forma que las variables teóricas
que se manejen tengan correspondencia con las variables que se emplearán en el modelo
físico.

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 péndulo partiendo de un estado de reposo y
posteriormente mantener la verticalidad del mismo.

8
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

2. Introducción.

2.1. Sistema hardware.

2.1.1. Motor Lineal.

Los motores eléctricos más 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 transmisión 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 dirección sin que


necesite ningún mecanismo de transmisión, esto conlleva una menor dispersión de la
potencia generada. Un ejemplo, una de las áreas en las que ha encontrado aplicación el
uso de motores lineales es en el transporte con monorraíl. En este tipo de transporte se
ha podido combinar la aplicación de propulsión mediante motores lineales con sistemas
magnéticos de levitación, debido al hecho de que tales motores no necesitan transferir al
suelo la potencia producida. El resultado es una fuerte disminución de las pérdidas 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 prácticos
antes del 1950. Hoy en día son siempre más empleados en campos de aplicación en los
que sean requeridos movimientos lineales de alta precisión de desplazamiento y
velocidad. Algunos de estos son las máquinas de desplazamiento, maquinas textiles,
puertas corredizas, sistemas ópticos, transporte monorraíl, etc.

Los motores lineales presentan ventajas y límites. Las principales ventajas son:

• Alta velocidad y precisión. El límite a la máxima velocidad depende del


cableado y del control electrónico.
• Respuesta rápida, gracias a la ausencia de transmisiones mecánicas.
• Fiabilidad.

9
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
• Vida larga.
• Escasa necesidad de manutención.
• Robusteza.
• Extensión ilimitada. Con algunas configuraciones puede resultar bastante simple
la ampliación del recorrido del motor, pudiendo llegar a distancias grandes como
las de las monorraíles.

Los límites son:

• La fuerza de atracción entre las dos partes del motor puede ser de 2 a 5 veces
más grande que la fuerza horizontal de propulsión.
• La temperatura del motor conlleva limitaciones al rendimiento.
• El hierro que en algunos casos forma el núcleo alrededor del que son envueltas
las bobinas genera atracción, en caso de utilización con imanes, también si el
motor no está en funcionamiento.

Ilustramos brevemente los principios operativos de los motores lineales. La


física que está a la base es simple, se disfruta de la atracción entre polos magnéticos
iguales y la repulsiones entre polos diferentes. Este tipo de motores disfruta de los
mismos principios que los motores eléctricos 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: Representación de un motor lineal.

10
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 electromagnética. Número y extensión 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 móvil.

Cuando una corriente pasa por una bobina crea un campo magnético 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
móvil del motor. En la práctica a través del control de la corriente que circula en las
espiras, es decir del campo electromagnético, se puede obtener el motor lineal continuo
deseado.

Existen varios tipos de motores lineales:

• Según la forma:

¾ Llano: la parte estática es un llano sobre el que se desliza la


móvil.

¾ Tubular: la parte móvil se desliza sobre un núcleo central que la


atraviesa. Este tipo de motores aprovechan óptimamente el flujo
magnético pero presenta límites debidos a la necesidad de puntos
de apoyo en los extremos.

¾ En U: la parte móvil pasa entre dos filas de imanes. Uno de los


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

11
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
• Con primario móvil o secundario móvil.
• En alternada síncrono o en alternada a inducción.
• 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 pérdidas de rendimiento a daños
irreparables, por eso muchas veces el implante necesita un sistema de refrigeración.

2.1.2. Péndulo Invertido.

Este sistema constituye un caso concreto de sistema físico 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 interés en el estudio de este tipo de sistema radica en que, salvando las


particularidades de cada caso, su modelo matemático presenta una formulación basada
en ecuaciones diferenciales, que guarda cierta analogía con procesos reales de mayor
complejidad, como por ejemplo: el generador sincrónico conectado a un bus infinito y
el sistema de control de vuelo para aeronaves. Por tanto, su estudio sirve como una
primera aproximación a los problemas que plantean sistemas de mayor complejidad.

El control del péndulo invertido presenta una enorme variedad de problemas que
han hecho de él uno de los sistemas concretos para el ensayo de leyes de control más
analizados en estos últimos tiempos. Los primeros péndulos invertidos se construyeron
en los años 70, y aún hoy, treinta años después, se sigue experimentando con el péndulo
invertido y tratando de analizarlo desde un punto de vista teórico. Es notable que
después de tantos años aún no se haya conseguido un estudio unitario y satisfactorio de
dicho problema.

En el control del péndulo invertido se presentan básicamente dos problemas: el


problema de la estabilidad local en torno a la posición de equilibrio, que es análogo al

12
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
problema del malabarista que pretende mantener un palo en la punta de un dedo; y el
problema de levantar el péndulo desde su posición de reposo hasta la posición en la que
se mantiene erguido hacia arriba. Este último problema se conoce con su denominación
inglesa de problema del swing up.

El primero de los problemas, el de la estabilización local, puede resolverse


satisfactoriamente mediante la linealización en torno a la posición de equilibrio. Sin
embargo, la ley de control así obtenida tiene un carácter exclusivamente local. Para
perturbaciones de una cierta magnitud el control del péndulo 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
capítulo, 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 región del espacio y que, por
tanto, no admite una reducción local y hay que abordarlo con toda la problemática
inherente a su globalidad y a su no linealidad.

Por último, para terminar esta sección sobre el problema de control del péndulo
invertido, conviene resaltar que se puede considerar como un problema arquetipo de lo
que es la ingeniería. No existe un método universal para resolverlo, y ante él el
ingeniero tiene que desarrollar sus facultades imaginativas y creativas, combinando
diferentes métodos 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. Instalación.

La instalación sobre la que ha sido aplicado el control, presente en la planta baja


del Instituto da Automática y Robótica (IAR) de la Escuela Superior de Ingenieros de
Sevilla, consta de los siguientes elementos:

13
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
• Motor lineal 1FN3 Siemens.
• Sistema óptico de medida lineal LC181 Heidenhein.
• Guías de rodamiento.
• Péndulo invertido.
• Potenciómetro 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 síncrono a


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

El primario es la parte móvil, es decir que en su interior se hallan las bobinas que
generan el campo electromagnético. 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 extensión total del secundario resulta ser 2520 mm.

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

Las guías LAS20ALZ de NSK-RPH miden 2985 mm.

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

A continuación se muestra una fotografía del montaje que se encuentra en los


laboratorios. En el todavía no se ha montado la estructura de péndulo invertido que se
mostrará más adelante.

14
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

Figura 2.2: Motor lineal con plataforma móvil que se encuentra


en los laboratorios de automática de la Escuela de Ingenieros.

2.1.3.2. Armario y panel de control.

El armario y panel de control contiene las protecciones, la distribución de


potencia, el cableado y los pulsadores. Además se encuentra aquí la unidad de
regulación SimoDrive 611 Universal de Siemens.

Figura 2.3: Armario y panel de control.

15
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Esa unidad es una tarjeta que funciona de interfaz directa con el motor además
que de unidad de regulación. Presenta bornes para el acceso directo a salidas y entradas
digitales y analógicas. La tarjeta está conectada por un lado al módulo 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 través del bus RS-232 y
la otra a través de los bornes con la tarjeta dSpace que se halla en el PC. Veremos este
aspecto más detalladamente luego.

2.1.3.3. Potenciómetro.

El potenciómetro VISHAY Spectrol 157-9002-103 OI nos ofrece una medida


del ángulo del péndulo. Posteriormente esa señal eléctrica la convertiremos mediante un
bloque de Simulink en una señal que irá desde pi/6 a -pi/6 que son los ángulos máximo
y mínimo respectivamente que puede alcanzar el péndulo invertido.

2.1.3.4. Péndulo invertido.

El péndulo invertido se coloca sobre la plataforma móvil fijándolo mediante


tornillos.

10m 40
m mm

Figura 2.4: Péndulo invertido.

16
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Como ya se ha dicho arriba el péndulo tiene como ángulo máximo y mínimo
respectivamente +pi/6 y –pi/6 con respecto a su vertical ya que tiene unos topes que
impiden que pueda inclinarse más.

2.2. Software y conexión.

El módulo SimoCom 611 Universal proporciona la interfaz directa al motor


además de funcionar como unidad de regulación. Esta tarjeta puede operar tanto como
regulador de posición como de velocidad, tiene un módulo de memoria no volátil
FEPROM para almacenar el firmware (software del sistema) y los datos del usuario.

Para acceder a la SimoCom 611 Universal como unidad de regulación se emplea


un software de la Siemens SimoComU que comunica con la tarjeta a través del bus
serial RS-232. Con SimoComU se pueden especificar los parámetros del motor
controlado, actualizar los parámetros 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 analógicas de la tarjeta, administrar las
alarmas, etc….

Además se puede cargar la configuración corriente en la FEPROM. A través 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 ejecución. Puede además ser empleado para desplazar el motor manualmente desde
PC.

Por lo que concierne el presente proyecto ese software ha sido útil para la
definición de las puertas de entrada y salida directas, de los parámetros de final de
carrera software y para la gestión de las alarmas que, una vez que se activan, inhiben el
funcionamiento del motor. Tales acciones no pueden ser efectuadas a través del modulo
que permite la aplicación del control, esto es, el dSpace.

17
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 vía Simulink con la
propia librería a bloques RTI (Real-Time Interface).

El software que acompaña la dSpace, además de proporcionar la instalación de


los bloques Simulink de interfaz, permite diseñar 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 parámetros
de control.

Tenemos un botón de habilitación del control (On/Off), input numéricos para la


plantear los valores de amplitud y frecuencia de la señal de colocación y de amplitud
para la ganancia del controlador de alzamiento. Hay además tres plotter:
1. Para la visualización en tiempo real de la velocidad y posición del carrito.
2. Para la visualización en tiempo real de la velocidad angular y ángulo del
péndulo.

18
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
3. Para la visualización en tiempo real de la señal 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 señales en lectura desde el motor; todo en tiempo real. Particularidades
sobre como se ha aplicado el control, como el modelo Simulink a través del dSpace
serán presentadas más 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 señales necesarias en nuestro caso son las 4 descritas después más 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 analógicos, P2A y P2B digitales, P3A y P3B diferenciales.

Veamos las conexiones:

• La señal que llega al bloque convertidor analógico-digital DS1103ADC_C18 es


analógica y es la lectura de la velocidad real del motor. La conexión es entre el
borne SimoCom 611 Salidas Analógicas X441 16.A y el pin P1A 23
(convertidor analógico-digital canal 18). Además se ha conectado el borne de
referencia X441 15 al pin P1A 24 (tierra).

• Las dos señales 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, además la tierra es aquella de P2A pin 1. En este caso
pero las señales 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 señales TTL en llagada desde la
dSpace; se emplea una tarjeta compuesta por dos negadores y un Darlington
alimentada con 24 V. Las señales 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
• Para terminar la señal en salida del bloque DS1103DAC_C6 tiene un rango de
+/- 10 V (en realidad se utiliza sólo entre 0 y 10 V) y se halla en el conector P1A
pin 10 (convertidor digital-analógico 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 señal que llega de Simulink; por ejemplo si la señal en el
modelo es de 0.2, en el pin (y por eso también 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 híbridos.

Los sistemas híbridos son una clase de sistemas dinámicos donde el


comportamiento a analizar es definido por la interacción de dinámicas continuas y
discretas. Debido a la complejidad y a la diversidad de los sistemas híbridos, es muy

20
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
difícil que una herramienta se pueda aplicar a cualquier sistema y conservar las mismas
ventajas y propiedades.

Por está razón, actualmente no existe una herramienta o metodología general y


sistemática para la modelación de sistemas híbridos, como las existentes en la industria
de manufactura o procesos.

2.3.1. Introducción.

El término “sistema híbrido” es usado para definir una clase de sistemas con
comportamientos definidos por entidades o procesos de distintas características. Estos
sistemas contienen típicamente variables o señales 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 híbridos para representar el


comportamiento dinámico de tales sistemas. Una razón importante es la reducción de
complejidad del modelo en orden, por ejemplo, en lugar de tener que representar las
relaciones dinámicas 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 logística de conmutación entre
dichos modelos, usualmente la teoría de grafos; esta es la teoría más común en el
modelado físico de fenómenos.

En control, la conmutación entre sistemas dinámicos simples ha sido usada en la


práctica por muchas décadas. Los esfuerzos recientes en la investigación de sistemas
híbridos típicamente se centran en el análisis del comportamiento dinámico de los
mismos y tienen como meta el diseño de controladores con una estabilidad y
funcionamiento garantizados.

La mayoría de los procesos industriales se pueden considerar sistemas dinámicos


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

21
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
combinan ambos aspectos. Éstos últimos dan lugar a lo que se conoce como sistemas
dinámicos híbridos. Durante su operación, siempre será importante el poder realizar un
análisis y evaluación del desempeño de los procesos actuales para verificar si éstos
cumplen las especificaciones de acuerdo a lo planeado.

También, es importante el contar con una herramienta para realizar la


modelación de dichos sistemas. Esta herramienta debe auxiliar en la realización de una
simulación del modelo del proceso obtenido, con el fin de conocer y entender su
comportamiento ante diferentes condiciones o variaciones en la operación. Sin embargo,
en la actualidad, la mayoría de los métodos y herramientas utilizadas para el análisis,
modelación y simulación de procesos se encuentran orientados ya sea a procesos
continuos, o bien, a procesos basados en eventos discretos. La limitación de estas
metodologías y herramientas aparece cuando se aplican a un proceso con características
continuas y discretas, por ejemplo: los procesos batch donde en general no se puede
realizar una simulación en la cual se observe explícitamente la evolución dinámica tanto
de la entidad discreta como de la entidad continua así como la interacción que existe
entre ambas entidades.

2.3.2. Diferentes enfoques en el modelado y análisis de sistemas


híbridos.

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


modelado, análisis y síntesis de los sistemas híbridos. En términos generales, los
enfoques difieren en lo relativo al énfasis en las dinámicas continuas y discretas o en la
complejidad de las mismas, y en cuanto a si enfatizan los resultados de análisis y
síntesis, sólo el análisis o únicamente la simulación.

En un extremo del espectro se encuentran los enfoques en los que se abordan los
sistemas híbridos que representan extensiones de ideas teóricas 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Típicamente, estos enfoques son capaces de manejar dinámicas continuas
complejas y enfatizan los resultados de estabilidad. En el otro extremo del espectro,
hallamos enfoques a los sistemas híbridos que están incorporados a los modelos y
métodos de la ciencia computacional, que representan extensiones de las metodologías
de verificación de los sistemas discretos a los sistemas híbridos.

Además, estos enfoques son capaces de manejar dinámicas discretas complejas


descritas por autómatas finitos y enfatizan los resultados de análisis (verificación) y las
metodologías de simulación. Existen metodologías 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 autómatas finitos
y redes de Petri (Antsaklis et al., 1998).

Se han empleado diferentes paradigmas matemáticos para modelar sistemas


híbridos que revelan la diversidad de las investigaciones. (Tavernini, 1987) usó
autómatas diferenciales, en (Nerode et al., 1993) adoptaron un enfoque teórico de
autómatas para los sistemas compuestos de ecuaciones diferenciales ordinarias en
interacción y autómatas finitos, en (Antsaklis et al, 1993) adoptaron un enfoque de
sistemas dinámicos de eventos discretos; (Brockett, 1993) combinó las ecuaciones
diferenciales ordinarias y los fenómenos discretos para describir sistemas de
movimiento; (Back et al., 1993) proporcionan un marco de referencia adecuado para la
simulación numérica. En (Alur et al., 1993) usaron autómatas híbridos, una extensión
de los autómatas temporizados, y (Benveniste, 1998) propuso un marco de referencia de
comportamiento de modelado de sistemas híbridos con énfasis en la naturaleza de
composición y el uso de tiempo multiforme.

Los autómatas temporizados y los autómatas híbridos han sido usados por varios
investigadores para el modelado y verificación de los sistemas híbridos. (Alur y Dill,
1994) propusieron autómatas temporizados para modelar el comportamiento de los
sistemas de tiempo real en el tiempo.

Los autómatas temporizados se estudian desde la perspectiva de la teoría del


lenguaje formal. La teoría se aplica a la verificación automática de los requisitos de

23
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
tiempo real de las máquinas de estado finito. En (Alur et al, 1995) introdujeron el marco
de referencia de autómatas híbridos como un modelo y el lenguaje de especificación
para sistemas híbridos.

En (Puri y Baraya, 1994) se presentan dos métodos para la verificación de


sistemas híbridos. El formalismo de modelado usado es el de los autómatas híbridos. La
verificación está basada en abstraer la dinámica continua del sistema híbrido mediante
dinámicas continuas más simples. (Desphande y Baraya, 1996) usan autómatas finitos
no determinísticos para modelar el comportamiento discreto e inclusiones diferenciales
para modelar el comportamiento continuo de los sistemas híbridos y se diseña un
controlador híbrido que produce trayectorias viables.

En (Branicky 1998) se presenta algunas herramientas de análisis para los


sistemas conmutados e híbridos. En particular, se usan funciones múltiples de Lyapunov
para el análisis de estabilidad de los sistemas conmutados y se usan sistemas de
funciones iterativas para la estabilidad de Lagrange. (Henzinger et al., 1998) presenta
una metodología para analizar algorítmicamente sistemas híbridos no lineales
traduciéndolos primero a autómatas híbridos lineales, y entonces usando herramientas
de verificación de modelos automatizados.

El autómata finito es un modelo de base para representar las dinámicas discretas


de los sistemas y su interacción con el medio. Como este modelo estaba muy limitado
se hizo una ampliación del mismo, introduciendo el tiempo en los estados discretos,
como una forma de interacción continua. Sin embargo, debido a la creciente demanda
de modelos más exactos y generales para los diferentes sistemas que tenían en su
estructura fenómenos tantos discretos como continuos, se realizó una extensión del
autómata finito, agregando aparte del tiempo en los estados discretos, ecuaciones
continuas, lo que dio lugar al autómata híbrido (Favela et al., 1998).

Así, el modelo del autómata híbrido está basado en una representación explicita
tanto de las dinámicas continuas del sistema como de las discretas. Las dinámicas
continuas se representan por modelos de estados mediante ecuaciones diferenciales que
las describen. Las dinámicas discretas se representan mediante el modelo del autómata

24
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
finito, donde se observa explícitamente la lógica de conmutación del mismo (Favela et
al., 1999).

En (Balluchi et al., 2003) se introducen las nociones genéricas para determinar


los estados estables asintóticos en los sistemas híbridos y se dan las condiciones
suficientes para alcanzar un estado final. Dichas condiciones se pueden verificar aún si
alguno de los subsistemas continuos del sistema hibrido no es observable y se
relacionan con el tiempo de permanencia mínimo y máximo en cada estado.

En (Morari, 2005) se ilustra la evolución de los sistemas híbridos en el campo


del control, primero con algunos ejemplos históricos y luego en el área emergente de
sistemas híbridos. Resaltan los desarrollos teóricos y se menciona el software extenso
que ayuda a traer la teoría a ejemplos prácticos. Se presenta una perspectiva para los
sistemas híbridos en el área de control.

Se han propuesto numerosas herramientas de simulación para la simulación,


verificación e implementación de los sistemas híbridos. (Henzinger y Ho, 1995)
propusieron HYTECH como una herramienta automática para analizar sistemas
híbridos. (Taylor y Kebede, 1996) desarrollaron herramientas en MATLAB para el
modelado y simulación de sistemas híbridos. En (Daws et al., 1996) desarrollaron
KRONOS como plataforma de verificación para sistemas complejos en tiempo real. En
(Inihov et al., 1997) desarrollaron el programa Model Vision Studium como una
herramienta para la investigación numérica de sistemas híbridos utilizando la tecnología
de programación orientada a objetos.

SHIFT, propuesto por (Desphande et al., 1998) es un lenguaje de programación


para describir redes dinámicas de autómatas híbridos. Los modelos de SHIFT ofrecen el
nivel apropiado de abstracción para describir aplicaciones complejas como los sistemas
automatizados para autopistas cuya operación no puede ser capturada fácilmente por los
sistemas convencionales. (Fourlas et al., 2004) propone un marco de referencia para el
modelado de sistemas de potencia usando sistemas híbridos. El sistema se construye y
simula en el ambiente SimulinkTM y StateflowTM de MatLabTM.

25
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
En el análisis del comportamiento dinámico de sistemas influenciados por la
ocurrencia de eventos discretos, hay dos importantes líneas de investigación: la que se
basa en el modelo del autómata y la que se basa en las redes de Petri. El interés de este
trabajo se basa en la modelación y análisis de sistemas híbridos mediante el modelo del
autómata híbrido continuo lineal invariante en el tiempo, propuesto por (Favela et al,
1999).

26
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

3. Modelado.

3.1. Introducción.

Para modelar este sistema vamos a utilizar un modelo de sistema híbrido. 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


matemático que más se ajuste a las propiedades físicas del
comportamiento continuo a modelar. Hay que recordar que se pueden
utilizar desde ecuaciones diferenciales simples hasta muy complejas para
representar las dinámicas continuas.

3. Modelado de la parte discreta: aquí se determinan el número de


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

4. Analizar las acciones de control.

.
5. Integración de las variables continuas y discretas: utilizaremos el
modelo del autómata híbrido para realizar la integración de las entidades.

6. Análisis del sistema híbrido obtenido: con el fin de asegurar que todas
las condiciones previamente establecidas se cumplan.

7. Simulación del sistema y evaluación de resultados.

3.2. Variables continuas y discretas.

Variables continuas.

27
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
• Posición del carro (plataforma móvil).
• Velocidad del carro.
• Ángulo del péndulo con respecto a la vertical.

Variables discretas.
• Activación de la fuerza que simula el comportamiento de los rebotes
ya que esta fuerza únicamente actúa 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 condición.

3.3. Modelado de la parte continua.

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


encuentre el péndulo en cada momento:

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

Modelo de Modelo de
rebotes rebotes

Figura 3.1: Modelo usado en función del ángulo del péndulo.

28
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
En la figura podemos observar como tendremos que utilizar tres modelos
diferentes para modelar el comportamiento del péndulo invertido en todas sus
posiciones además 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
posición del péndulo.

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 más simple pues únicamente tenemos en cuenta el motor.


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

En el esquema sólo hay dos bloques de interés, el input que introducimos


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

29
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Posteriormente, a partir de este esquema, iremos modificándolo y añadiéndole
todo lo demás por tanto lo que a continuación vamos a explicar sobre el bloque Motor
Lineal es valido para los esquemas Simulink que iremos analizando después de este
apartado..

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


escalón. La amplitud de dicho escalón la podremos modificar después 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 dirección del movimiento


del motor. Cuando la señal 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________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
simultáneamente a nivel alto, serán nulos si la entrada es cero. En realidad
debido a los retrasos de conmutación 1/0 y 0/1 en las señales de entrada a la
unidad SimoDrive 611 Universal, dichas entradas podrían estar simultáneamente
a nivel alto. Por ejemplo, si el motor está parado podría ocurrir que a causa de
las pequeñas oscilaciones alrededor del valor 0 de la señal de salida del motor, el
controlador generara entradas de control demasiado pequeñas como para causar
algún movimiento del motor (a causa de la presencia de la fricción) pero que
generarían frecuentes y rápidas conmutaciones izquierda-derecha. Puede así
ocurrir que una señal no tenga suficiente tiempo para pasar a nivel bajo antes de
que el otro conmute a nivel alto, las señales están en ese caso ambas a nivel alto
y esto comportaría una parada del motor. Para evitar ese efecto indeseado hemos
introducido una zona muerta en la lectura, si la señal de salida del motor no
alcanza amplitudes apreciables, la señal de salida del bloque es fijada a cero.
Esto, además 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 más adelante.

• DS1103DAC_C6: convertidor digital-analógico. La señal de entrada del bloque es

la amplitud, es decir el valor absoluto, de la entrada de control. Este señal una


vez convertida es proporcionada al motor como amplitud de la entrada.
Prácticamente, si la señal 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 dirección correcta y un valor analógico que proporciona la amplitud
de la entrada.

• DS1103ADC_C18: convertidor analógico-digital. Este bloque convierte la señal

analógica de posición proporcionada por el motor, la transforma a digital y la


ofrece a la salida del bloque.

• DS1103ADC_C19: convertidor analógico-digital. Este bloque convierte la señal

analógica de ángulo proporcionada por el potenciómetro, la transforma a digital


y la ofrece a la salida del bloque.

31
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
• DS1103ADC_C20: convertidor analógico-digital. Este bloque convierte la señal

analógica de velocidad proporcionada por el motor, la transforma a digital y la


ofrece a la salida del bloque.

Veamos a continuación lo que ocurre cuando introducimos un escalón al motor:

Respuesta real del carro ante un escalón.


40

35

30

25
velocidad

20

15

10

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

Figura 3.4: Respuesta real del motor a un escalón.

Observando la gráfica se ve que podemos aproximar el comportamiento de la


velocidad como un sistema de segundo orden subamortiguado.

A partir de esta gráfica obtendremos los datos necesarios para obtener la función
de transferencia de orden dos:
ω n2
F (s) =
s 2 + 2δω n s + ω n2
Las ecuaciones que utilizaremos para obtener los parámetros de la función de
transferencia son las siguientes:

32
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
π
• Tp =
ω
ω
• ωn =
1− δ 2

donde:
• Tp = Tiempo de pico, es decir, tiempo que tarda la velocidad en alcanzar el valor
máximo que se obtiene en el sobrepico.
• ωn = frecuencia natural de los polos.
• δ = coeficiente de sobreoscilación.

Midiendo en la gráfica obtenemos que:


• Tp = 0.35 seg.
• δ = 0.5.

Por tanto operando con las ecuaciones:

π π
ω= = = 8.9760
Tp 0.35

ω 8.9760
ωn = = = 10.3646
1− δ 2 1 − 0.5 2

Por tanto la función de transferencia que nos queda es:

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

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


de estados como sigue:

33
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

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

ωn 2

-2δωn

-ωn2

Figura 3.5: Diagrama de estados del carro.

Partimos de la función de transferencia del sistema de segundo orden


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

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

ω n2
y= x
s2

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


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

x& 2 = ω n2 x5

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

34
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
x 2 (k + 1) = x 2 (k ) + Tmω n2 x5 (k )

x2
x& 5 = u − 2δω n x5 − ω n2 = u − 2δω n x5 − x 2
ω 2
n

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

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

A estas ecuaciones hay que añadirle otra para describir la posición del carrito
que la obtendremos integrando la velocidad:

.
x 2 = x1

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

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

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

⎡ x1 (k + 1) ⎤ ⎡1 Tm 0 ⎤ ⎡ x1 (k ) ⎤ ⎡ 0 ⎤
⎢ x (k + 1)⎥ = ⎢0 1 Tmω n ⎥⎥ ⎢⎢ x 2 (k )⎥⎥ + ⎢⎢ 0 ⎥⎥u (k )
2
⎢ 2 ⎥ ⎢
⎢⎣ x5 (k + 1) ⎥⎦ ⎢⎣0 − Tm 1 − 2Tmδω n ⎥⎦ ⎢⎣ x3 (k ) ⎥⎦ ⎢⎣Tm ⎥⎦

⎡ x1 (k + 1) ⎤ ⎡1 0.01 0 ⎤ ⎡ x1 (k ) ⎤ ⎡ 0 ⎤
⎢ x (k + 1)⎥ = ⎢0 1 1.0742 ⎥⎥ ⎢⎢ x 2 (k )⎥⎥ + ⎢⎢ 0 ⎥⎥u (k )
⎢ 2 ⎥ ⎢
⎢⎣ x5 (k + 1) ⎥⎦ ⎢⎣0 − 0.01 0.8964⎥⎦ ⎢⎣ x5 (k ) ⎥⎦ ⎢⎣0.01⎥⎦

Comprobemos ahora mediante la simulación realizada en el Simulink si el


modelo se asemeja a la realidad. Para la simulación utilizamos el siguiente esquema:

35
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

Figura 3.6: Modelo Simulink del carro.

Pulsamos play para realizar la simulación y comprobar si el resultado que


obtenemos coincide con el obtenido en el laboratorio:
Respuesta simulada del carro ante escalón.
40

35

30

25
velocidad

20

15

10

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

Figura 3.7: Respuesta simulada del carro ante un escalón 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 sobreoscilación. Más adelante cuando expliquemos el modelo lineal del péndulo
veremos como introducimos estas ecuaciones para realizar el modelo global del sistema.

36
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
3.3.2. Modelo no lineal.

En la siguiente figura se muestra el diagrama de fuerzas que actúan sobre el


péndulo:

Figura 3.8: Diagrama de fuerzas que actúan en el sistema.

M masa del carro


m masa del péndulo
Bc fricción del carro
Bv fricción del péndulo
L longitud al centro de masa del péndulo
I inercia del péndulo
F fuerza aplicada al carro
X coordenadas de posición del carro
Θ ángulo del péndulo respecto de la vertical

Para obtener la ecuación que describe el movimiento del péndulo, sumamos las
fuerzas perpendiculares al péndulo. Si resolvemos el sistema a lo largo de este eje nos
ahorramos un montón de álgebra. De esta forma obtenemos la siguiente ecuación:

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

Para librarse de los términos P y N en la ecuación anterior, sumamos los


momentos sobre el centroide del péndulo para obtener la siguiente ecuación:

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

37
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 péndulo lo aproximaremos al momento


de inercia de una varilla. La fórmula general que se aplica es:

I = ∫ x 2 dm

Donde dm es un elemento de masa situado a una distancia x del eje de rotación.

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 péndulo invertido
sobre carro mediante sistemas híbridos._______________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 fórmula que nos permite calcular el momento de


inercia de un sólido rígido respecto de un eje de rotación 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 sólido 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
En la figura, tenemos que

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

IO = IC + d 2M

El término intermedio en el segundo miembro es cero ya que obtenemos la


posición 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 péndulo.

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

En la anterior ecuación hemos supuesto que la distancia al centro de masas es la


mitad de la longitud del péndulo. Así obtenemos finalmente:

4 2
I= ml
3

Tanto la fricción del carro con el suelo como la fricción de la varilla con el eje
vienen dadas por:

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

A partir de todas estas ecuaciones obtenemos la fórmula que nos describe el


comportamiento de la velocidad angular del péndulo:

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

40
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 aceleración angular del


péndulo de una forma continua pero nosotros necesitamos las ecuaciones discretas tanto
del ángulo como de la velocidad angular.

x3 (k ) = θ ≡ Angulo

.
x 4 (k ) = θ ≡ Velocidad _ angular

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

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

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

Para calcular a(k) (aceleración del carrito) lo hacemos a través de la velocidad


del mismo de la siguiente manera:

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

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

Por tanto el estado del péndulo en la zona no lineal ya lo tenemos perfectamente


definido.

41
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
3.3.3. Modelo de los rebotes.

Para simular el comportamiento del péndulo cuando llega a los topes e impacta
contra ellos, lo modelaremos mediante un muelle que aplica al péndulo una fuerza en
dirección opuesta a su movimiento, proporcional a la deformación y a la velocidad
angular.

Fr = −[Kr ⋅ (θ ± π / 6) + α ⋅ ω]

• Fr = fuerza del rebote.


• Kr = constante de rebote que penaliza la deformación, mientras más penetre
mayor será la fuerza de reacción.
• θ = ángulo del péndulo.
• α = constante de rebote que penaliza la velocidad angular, mientras mayor sea la
velocidad angular con la que llegue mayor será la fuerza de reacción.
• ω = velocidad angular del péndulo.

El ± π/6 de debe a que estos son los ángulos máximo y mínimo respectivamente.

Para que este modelo se ajuste a lo que ocurre realmente es obvio que la
constante de deformación debe ser muy grande para que así el péndulo 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 péndulo por lo que la
ecuaciones que nos quedan son las siguientes:

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

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

⎛ π⎞
Fr = k r ⎜ x3 (k ) ± ⎟ + αx 4 (k )
⎝ 6⎠

42
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
A continuación vamos a intentar calcular las constantes del rebote a partir de las
gráficas obtenidas en el laboratorio.

Para empezar comprobamos si el potenciómetro se encuentra bien calibrado.


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

0.095

0.0925

0.09

0.0875

0.085
angulo

0.0825

0.08

0.0775

0.075

0.0725

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

Figura 3.12: Valor del péndulo apoyado sobre la izquierda.

-0.093

-0.0943

-0.0955

-0.0968

-0.098

-0.0993
angulo

-0.1005

-0.1017

-0.103

-0.1043

-0.1055

-0.1068

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

Figura 3.13: Valor del péndulo apoyado sobre la derecha.

43
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Aplicando en Matlab un programita para calcular la media de cada una de estas
gráficas obtenemos que:

• Izquierda = 0.0835
• Derecha = -0.1000

Comprobamos como el potenciómetro 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 después normalizarlo a ± π/6 dividiendo entre una norma.

Veamos a continuación como obtener dicha constante y norma:

Izquierda + Derecha 0.0835 − 0.1


Cons tan te = = = −0.0083
2 2

(Izquierda − Derecha ) (0.0835 + 0.1)


Norma = 2 = 2 = 0.1752
π π
6 6

Por tanto para obtener el ángulo entre ± π/6 aplicamos la siguiente fórmula:

θ MEDIDO − Cons tan te


θ NORMALIZADO =
Norma

El método que vamos a seguir para obtener las constantes el siguiente:

• Obtener la gráfica del péndulo en caída libre hacia cada uno de los
extremos con la sucesión de rebotes contra los topes. Hay que decir que
para obtener las constantes utilizaremos las gráficas del ángulo sin
normalizar, ya que para esta no nos es necesario la normalización.
• Realizar un zoom sobre dicha zona de rebotes.
• Obtener a partir de dichas gráficas una serie de puntos que se encuentren
en la zona de θ > π/6 ó θ < π/6.

44
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 gráficas de la caída libre:

0.09

0.08

0.07

0.06

0.05
angulo

0.04

0.03

0.02

0.01

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

Figura 3.14: Caída libre del péndulo hacia la izquierda.

0.02

-0.02

-0.04
angulo

-0.06

-0.08

-0.1

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

Figura 3.15: Caída libre del péndulo hacia la derecha.

45
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Realizamos el zoom sobre la zona de rebotes sobre la gráfica de caída libre hacia
la izquierda:

0.0835
angulo

0.06
2.5 3 3.5 4
tiempo

Figura 3.16: Zona de rebotes de la izquierda.

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


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

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

Dichas ecuaciones se corresponderán con las ecuaciones de la velocidad angular


tal y como se realiza a continuación ya que es sobre la velocidad angular sobre la que
actúa el muelle imaginario con el que hemos simulado los rebotes.

. . Tm ⎛ .

θ (k + 1) = θ (k ) + ⎜ ml (a(k ) cos(θ (k )) + g sin(θ (k )) ) + Bv θ (k ) ⎟ + Tm Fr
I ⎝ ⎠

46
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 interacción del carro sobre
el modelo del péndulo se obtiene lo siguiente:

. . Tm ⎛ .

θ (k + 1) = θ (k ) + ⎜ m lg sin(θ (k )) + Bv θ (k ) ⎟ + Tm Fr
I ⎝ ⎠

Como vamos a calcularlo en la parte izquierda:

⎛ π .

Fr = −⎜ k r (θ (k ) + ) + α θ (k ) ⎟
⎝ 6 ⎠

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

. . Tm m lg T B . ⎛ π⎞ .
θ (k + 1) = θ (k ) + sin(θ (k )) + m v θ (k ) − Tm k r ⎜θ (k ) + ⎟ − Tmα θ (k )
I I ⎝ 6⎠

. . Tm m lg T B . ⎛ π⎞ .
θ (k + 2) = θ (k + 1) + sin(θ (k + 1)) + m v θ (k + 1) − Tm k r ⎜θ (k + 1) + ⎟ − Tmα θ (k + 1)
I I ⎝ 6⎠

Teniendo en cuenta que:

. θ (k ) − θ (k − 1)
θ (k ) =
Tm

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

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

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

47
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Dichos puntos serán los siguientes:

• θ 1 = 0.0752
• θ1 = 0.07956
• θ1 = 0.0835
• θ1 = 0.0854

Estos puntos han sido obtenidos de la gráfica de la caída libre hacia la izquierda
que representamos en la figura 3.17.

Por tanto despejando lo que nos queda es:

⎡ ⎛ π⎞ . ⎤ ⎡ . Tm m lg Tm Bv . ⎤
⎡ .
⎤ ⎢ − T ⎜ θ ( k ) + ⎟ − T θ ( k) ⎥ θ ( k ) + sin(θ ( k )) − θ (k )
θ ( k + 1)
m
⎝ 6 ⎠
m
⎡ k ⎤ ⎢ I I ⎥
⎢. ⎥=⎢ ⎥⎢ ⎥ + ⎢ .
r

⎢θ (k + 2)⎥ ⎢− T ⎛θ (k + 1) + π ⎞ − T θ (k + 1)⎥ ⎣ α ⎦ ⎢θ (k + 1) + Tm m lg sin(θ (k + 1)) − Tm Bv θ (k + 1)⎥
. .
⎣ ⎦ ⎢ m⎜ ⎟ m
⎥⎦
⎣ ⎝ 6⎠ ⎣ I I ⎦

−1
⎡ ⎛ π⎞ . ⎤ ⎡ . . Tm m lg Tm Bv . ⎤
⎡k r ⎤ ⎢ − Tm ⎜θ (k ) + 6 ⎟ − Tm θ (k ) ⎥
⎢ θ ( k + 1) − θ ( k ) − sin(θ ( k )) + θ (k ) ⎥
=⎢ ⎝ ⎠ ⎥ I I
⎢α ⎥ π ⎢. T m lg T B ⎥
⎢− T ⎜θ (k + 1) + ⎞⎟ − T θ (k + 1)⎥
⎛ . . .
⎣ ⎦ ⎢θ (k + 2) − θ (k + 1) − m sin(θ (k + 1)) + m v θ (k + 1)⎥
⎢⎣ m ⎝ 6⎠
m
⎥⎦ ⎣ I I ⎦

Realizando todo esto mediante una rutina diseñada 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
simulación 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

Figura 3.17: Modelo simulink del péndulo.

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


comportamiento del péndulo con sus ecuaciones no lineales y añadiendo además la
simulación de los rebotes cuando el ángulo es superior a los máximos permitidos por los
topes este programa se puede encontrar en el ANEXO 1 . Las salidas de este bloque
serían el estado del sistema que se realimenta nuevamente mediante un delay.

La señal de control en este caso aunque está presente en el esquema será cero ya
que este se encuentra desactivado ya que todavía no nos interesa.

En cuanto a la señal de “on” más 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 señal 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Veamos cual es el resultado de la simulación sin normalizar:

0.09

0.08

0.07

0.06

0.05
angulo

0.04

0.03

0.02

0.01

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

Figura 3.18: Simulación de caída libre del péndulo hacia la izquierda.

Realicemos un zoom sobre los rebotes:

0.09

0.085

0.08
angulo

0.075

0.07

0.065

1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8


tiempo

Figura 3.19: Simulación de la zona de rebotes izquierda.

50
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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:

Simulación Realidad
Amplitud del primer rebote 0.0635 0.0635
Amplitud del segundo rebote 0.0758 0.076
Amplitud del tercer rebote 0.0795 0.082
Duración primer rebote 0.38 sg 0.35 sg
Duración segundo rebote 0.24 sg 0.19 sg

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

Por último comprobamos si el normalizador funciona correctamente:

0.5236
angulo

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

Figura 3.20: Simulación normalizada.

51
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 caída hacia a la izquierda se
dan cuando se realiza la caída hacia la derecha.

3.3.4. Modelo linealizado.

Veamos el conjunto de ecuaciones de las que partimos para la linealización:

• Posición del carrito:

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

• Velocidad del carrito:

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

• Aceleración del carrito:

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

• Angulo del péndulo:

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

• Velocidad angular del péndulo:

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

52
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Observamos que la única ecuación que tenemos que linealizar es la velocidad
angular del péndulo ya que todas las otras ya son lineales.

Como en esta zona el péndulo debe mantenerse en posición vertical puede


suponerse que:

• sin(θ ) = θ
• cos(θ ) = 1

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


describen al sistema de una manera mas sencilla:

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

⎛ T ⎞ T ml T m lg
x 4 (k + 1) = ⎜1 + m Bv ⎟ + m a (k ) + m x3 ( k )
⎝ I ⎠ I I

⎛ T ⎞ T ml x 2 (k ) − x 2 (k − 1) Tm m lg
x 4 (k + 1) = ⎜1 + m Bv ⎟ + m + x3 ( k )
⎝ I ⎠ I Tm I

Partiendo del modelo del carrito podemos obtener:

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

Sustituyendo este resultado en la ecuación de la velocidad angular obtenemos lo


siguiente:

⎞ T mlω n
2
⎛ T T m lg
x 4 (k + 1) = ⎜1 + m Bv ⎟ + m x5 (k ) + m x3 ( k )
⎝ I ⎠ I I

53
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Los sistemas lineales se describen según las siguientes ecuaciones:

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

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

Describiendo nuestro sistema de esta forma obtenemos:

⎡ x1 (k + 1) ⎤ ⎡1 Tm 0 0 0 ⎤ ⎡ x (k ) ⎤ ⎡ 0 ⎤
⎢ x (k + 1)⎥ ⎢0 ω n Tm ⎥⎥ ⎢ x (k )⎥ ⎢ 0 ⎥
1
2
1 0 0
⎢ 2 ⎥ ⎢ ⎢ 2 ⎥ ⎢ ⎥
⎢ x3 (k + 1) ⎥ = ⎢0 0 1 Tm 0 ⎥ ⎢ x (k ) ⎥ + ⎢ 0 ⎥u (k )
⎢ ⎥ ⎢ Tm m lg Tm Tm mlω n2 ⎥ ⎢
3
⎥ ⎢ ⎥
⎢ x 4 (k + 1)⎥ ⎢0 0 1+ Bv ⎥ ⎢ 4 (k )⎥ ⎢ 0 ⎥
x
⎢⎣ x5 (k + 1) ⎥⎦ ⎢ I I I ⎥⎢ ⎥ ⎢ ⎥
⎢⎣0 − Tm 0 0 1 − 2δω nTm ⎥⎦ ⎣ x5 (k ) ⎦ ⎣Tm ⎦

⎡ x1 (k ) ⎤
⎢ ⎥
⎡ y1 (k ) ⎤ ⎡1 0 0 0 0⎤ ⎢ x 2 (k )⎥
⎢ y ( k ) ⎥ = ⎢0 1 0 0 0 ⎥ ⎢ x ( k ) ⎥
⎢ 2 ⎥ ⎢ ⎥⎢ 3 ⎥
⎢⎣ y 3 (k ) ⎥⎦ ⎢⎣0 0 1 0 0⎥⎦ ⎢ x 4 (k )⎥
⎢⎣ x5 (k ) ⎥⎦

El valor de cada una de las constantes es:

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

54
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

3.4. Modelado de la parte discreta.

Podemos definir cinco estados discretos:

• S1: El péndulo se encuentra en la zona de rebotes de la izquierda. El único


estado al que se puede evolucionar desde este es que el péndulo pase al S2 (aire).
Esto se hace proporcionando un pequeño impulso inicial.

• S2: El péndulo se encuentra en el aire. Nuestro objetivo sería que el péndulo


permaneciera en este estado hasta que consiguiera estabilizarse en posición
vertical. Si esto no sucede existen dos posibles evoluciones para el estado, por
un lado podría suceder que el péndulo no tuviese la suficiente velocidad angular
como para alcanzar la zona de estabilización vertical y volviese hacia atrás y
pasaría al S5 (colisión izquierda), o por otro lado podría ser que el péndulo
llegara con una velocidad angular excesiva y tal como alcanza la zona de
estabilización vertical el control no fuera capaz de controlarlo y la abandonara
bien nuevamente hacia el S5 o hacia el S4 (colisión derecha).

• S3: El péndulo se encuentra pegado al tope de la derecha en reposo. El único


estado al que se puede evolucionar desde este es que el péndulo pase al S2 (aire).
Esto se hace proporcionando un pequeño impulso inicial.

• S4: El péndulo colisiona con el tope de la derecha. Este estado es de transición y


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

• S5: El péndulo colisiona con el tope de la izquierda. Este estado es de transición


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


péndulo invertido ya que el modelo del carro permanece invariable en todo momento.

55
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

3.5. Integración de las variables continuas y discretas.

Para conseguir dicha integración vamos a implementar el modelo del autómata


híbrido definido de la siguiente manera:

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

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

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

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

impulso = impulso inicial

Fr = fuerza del rebote

S1 S2 S3
Fr = 0
T1 T2

impulso impulso

Fr = 0 Fr = 0

T5
T3
θ<–π/6
θ>π/6

T4
θ<π/6 T6

S5 θ>–π/6 S4

Fr = –[Kr (θ – π / 6) + αω] Fr = –[Kr (θ + π / 6) + αω]

Figura 3.21: Modelo del autómata híbrido del péndulo.

56
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

4. Control.

4.1. Estrategia global de control híbrido.

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

1. Hacer que el péndulo comience a rebotar contra los topes hasta alcanzar una
amplitud próxima del equilibrio en posición vertical. Problema que
afrontaremos realizando un estudio de la energía del péndulo.

2. Estabilización en esta posición, denominado subproblema local de


estabilización.

El controlador que se propone es un controlador híbrido, formado por una


combinación de una ley de control orientada a aumentar la energía del péndulo que
actúa lejos de la posición 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 través
de la siguiente función objetivo:

C (θ , k ) = µ (θ )C ALZAMIENTO (k ) + (1 − µ (θ ) )C EQUILIBRIO (k )

donde µ(θ) es una función que depende del valor del ángulo del péndulo con respecto a
π
la vertical de tal manera que µ(θ) = 1 para θ > , y µ(θ) = 0 en caso contrario.
6

Mediante este tipo de controlador híbrido se han obtenidos resultados


satisfactorios como se comprobará más adelante en la simulación.

Este tipo de control híbrido se denomina de transición abrupta ya que esta se


realiza de forma instantánea al cumplirse la condición de cambio. Más adelante para
modelar esto usaremos la señal “on”.

57
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

4.2. Alzamiento del péndulo.

4.2.1. Impulso inicial.


El péndulo 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 energía del péndulo.

La energía potencial de la varilla es la energía potencial de una partícula de masa


m situada en el c.m. de la varilla E=mg(L/2)·cosθ0. La energía potencial se convierte en
energía cinética de rotación. El principio de conservación de la energía se escribe:

1⎛1 2 ⎞ 2 L
E= ⎜ mL ⎟ω + mg cos θ
2⎝3 ⎠ 2

Ahora vamos a calcular el trabajo que tendría que realizar la fuerza del carrito
π π
para hacer pasar el péndulo desde su posición de reposo en hasta un ángulo de .
6 7
Tanto en el momento inicial(estado de reposo) como en el final (momento en el que
cambia el signo de la velocidad angular) toda la energía es energía potencial por lo que
nos queda la siguiente ecuación:

L π L π
Wπ π = E π − E π = mg cos − mg cos
6

7 6 7
2 6 2 7

L⎛ π π⎞
Wπ π = mg ⎜ cos − cos ⎟ = −0.1284 J
6

7
2⎝ 6 7⎠

Vemos como efectivamente el trabajo tiene signo negativo lo cuál nos indica que
para pasar de una posición a otra debemos aportar energía al sistema. Hay que señalar
también que en estas ecuaciones hemos despreciado las pérdidas de energía asociadas
al rozamiento de la varilla contra su eje.

58
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
A continuación vamos a intentar obtener la magnitud del impulso. Para ello
supondremos que la fuerza que ejerce el carrito es constante durante la duración del
mismo.

Figura 4.1: Péndulo girando.

Considérese un cuerpo rígido 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:

F·sen φ 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 sólido gira un ángulo θ es:

π π
7 7
Wπ π = ∫ F ⋅ dr = ∫ Fsenφ ⋅ rdθ

6 7 π π
6 6

59
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Si comparamos la figura 4.1 con la figura 3.1 que nos mostraba el diagrama de
fuerzas que actúan sobre el péndulo llegamos a la conclusión que el ángulo φ usado
para hallar la componente tangencial de la fuerza es igual al ángulo θ que nos mide el
desplazamiento del péndulo que dicha componente tangencial se relaciona con el
coseno y no con el seno de tal modo que lo que nos quedaría es:

π π
7 7
Wπ π = ∫ F ⋅ dr = ∫ F cos θ ⋅ rdθ

6 7 π π
6 6

Suponiendo como hemos dicho que la aceleración que produce el carrito es


constante y por tanto la magnitud de la fuerza también:

π
7
⎡ ⎛π ⎞ ⎛ π ⎞⎤
Wπ π = F ⋅ r ∫ cos θ ⋅ dθ = F ⋅ r ⎢ sen⎜ ⎟ − sen⎜ ⎟⎥
6

7 π ⎣ ⎝7⎠ ⎝ 6 ⎠⎦
6

Wπ π
→ − 0.1284
F= 6 7
= = 5.1788 N
⎡ ⎛π ⎞ ⎛ π ⎞⎤ ⎛ 0.75 ⎞ ⎡ ⎛ π ⎞ ⎛ π ⎞⎤
r ⎢ sen⎜ ⎟ − sen⎜ ⎟⎥ ⎜ ⎟ ⎢ sen⎜ ⎟ − sen⎜ ⎟⎥
⎣ ⎝7⎠ ⎝ 6 ⎠⎦ ⎝ 2 ⎠⎣ ⎝ 7 ⎠ ⎝ 6 ⎠⎦

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

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

∫ F ⋅ dt = mv − mv
0
0 = m∆v

Aplicando la misma aproximación de que F es constante y tomando una


duración para el impulso de 0.25 sg obtendremos el incremento de velocidad buscado.

60
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
t
F∆t
∫ F ⋅ dt = F∆t = m∆v ⇒ ∆v =
0
m

5.1788 ⋅ 0.25
∆v = = 1.2947
1

Comprobemos ahora mediante simulación si los cálculos y aproximaciones que


hemos realizado son correctos. Veamos a continuación el bloque simulink diseñado
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 después con una amplitud de -1. Posteriormente al sumarlos se nos generará un
impulso cuya amplitud será de 0.7 ya que después lo multiplicamos por dicha ganancia.

No olvidemos que aunque la ganancia sea de 0.7 la variación 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 variación 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 cálculos.

Otra precisión es que la duración 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
después realmente durará unos 0.25 sg como podremos comprobar en la simulación.
Veamos la entrada del impulso:

0.8

0.6

0.4

0.2

0
u

-0.2

-0.4

-0.6

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

Figura 4.3: Impulso inicial de entrada.

Veamos a continuación los resultado que se producen ante una entrada como
esta:

0.8
Posición
Velocidad
0.6 Angulo

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0 0.5 1 1.5 2 2.5
tiempo

Figura 4.4: Respuesta del sistema al impulso inicial.

62
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Analicemos detenidamente está gráfica y veamos si se cumplen las
aproximaciones que hemos realizado así como los resultados que habíamos obtenido.

Comprobamos en primer lugar la suposición que hicimos de que la aceleración


que proporcionaba el carrito y por tanto la fuerza que transmitía al péndulo 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
Posición
Velocidad
0.6 Angulo

0.4

0.2

-0.2

-0.4

-0.6

-0.8
0.15 0.2 0.25 0.3 0.35 0.4 0.45
tiempo

Figura 4.5: Variación 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 línea recta por lo que su derivada, es
decir la aceleración del carro, sería una constante, por tanto la suposición realizada es
era correcta. Además se comprueba también que el tiempo que duraría este impulso es
aproximadamente de 0.25 sg tal y como tomamos al realizar los cálculos.

Se comprueba también que aunque el impulso introducido tenía 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 duración 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 cálculos obtuvimos que la variación debía ser de 1.2947 y con este
resultado obtenemos una variación de 1.3.

63
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Veamos a continuación si el resultado del péndulo es el esperado. Nuestra
intención era que con el impulso el péndulo pasará de la posición de
⎛π ⎞ ⎛π ⎞
reposo ⎜ = 0.5236 ⎟ a ⎜ = 0.4488 ⎟ . Comprobemos realizando nuevamente un zoom
⎝6 ⎠ ⎝7 ⎠
sobre la figura 4.4 pero esta vez fijándonos en el ángulo:

0.6
Posición
0.58 Velocidad
Angulo
0.56

0.54

0.52

0.5

0.48

0.46

0.44

0.42

0.4
0 0.1 0.2 0.3 0.4 0.5 0.6
tiempo

Figura 4.6: Variación del ángulo del péndulo ante el impulso inicial.

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


0.4388 es decir alzándose incluso un poco más de lo esperado (un 2.5% más) por lo que
se contrastan los cálculos realizados.

4.2.2. Control de alzamiento.

Una vez que hemos introducido el impulso inicial y ya tenemos el péndulo en


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

64
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Para realizar nuestro objetivo lo que tendremos que lograr es que la energía del
péndulo vaya aumentando progresivamente. La ecuación de la energía del péndulo era
la siguiente
1⎛1 2 ⎞ 2 L
E= ⎜ mL ⎟ω + mg cos θ
2⎝3 ⎠ 2

La forma que tenemos de modificar la energía es actuando sobre la velocidad


angular ya que su fórmula como ya vimos en apartados anteriores es:

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

La forma de que la energía vaya aumentando es haciendo que el módulo de la


velocidad angular vaya aumentando ya que se encuentra elevado al cuadrado en la
fórmula de la energía. Lo que haremos para conseguir esto es que la aceleración 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 péndulo está subiendo desde la izquierda al centro su velocidad angular


será negativa. Si el péndulo partiera con una velocidad angular negativa inicial y
nosotros no actuáramos podría 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 pequeño impulso inicial o la otra
posibilidad, que es la nuestra, que el péndulo 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 péndulo comenzara a descender
con una velocidad angular positiva. El hecho de que la aceleración tenga el
mismo signo que la velocidad angular retrasará dicho momento haciendo que el
péndulo ascienda más y aumentando su energía por tanto.

• Si el péndulo 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 péndulo continuará descendiendo hasta que choque con
el tope. Al chocar con el tope perderá parte de energía y cambiará nuevamente el

65
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
signo de la velocidad angular. Para intentar compensar esa perdida de energía
intentamos ir aumentando la energía del péndulo mientras está descendiendo
para lo que le sumamos además la componente de la aceleración que tendrá el
mismo signo que la velocidad angular.

Como la actuación que se realiza sobre el carro es en velocidad la única forma


que tenemos de conseguir que la aceleración tenga el signo que deseamos es haciendo
que la velocidad del carro vaya conmutando con el mismo signo de la velocidad angular
del péndulo y multiplicándola por una ganancia determinada tal y como sigue:

u = K * signo(ω )

Para determinar el valor de la constante K recurriremos a la simulación 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 señal procedente del bloque Impulso inicial que ya
analizamos en la figura 4.2 y por otro tenemos la señal de control que obtenemos al
aplicarle a la velocidad angular del péndulo la función signo y multiplicarla por una
ganancia. Estas dos señales se introducen en el multipuerto y en un bloque comparador
de entradas que lo que hace es generar una señal que determina cuál de las dos señales

66
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 selección que utilizamos es que la señal que pasa es la que tiene un
módulo mayor. Si el impulso es el mayor la salida del Relational Operator es 0 a la que
sumaríamos 1 y por tanto la salida del comparador de entradas sería 1 lo que haría que
la señal del multipuerto que pasaría sería la primera, es decir el impulso inicial. Cuando
la señal 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 sería 2 lo que haría que la
señal del multipuerto que pasara sería la segunda, es decir la señal de control.

A continuación mediante la simulación iremos variando el valor de la ganancia


del controlador para ver con que valor conseguimos el alzamiento del péndulo de una
forma adecuada.

0.6

0.58

0.56

0.54

0.52
ángulo

0.5

0.48

0.46

0.44

0.42

0.4
0 0.5 1 1.5 2 2.5 3
tiempo

Figura 4.9: Angulo para K=0.1.

67
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Vemos que para K=0.1 el comportamiento del péndulo prácticamente es el
mismo que cuando no ejercíamos control ninguno y por tanto sólo afecta el impulso
inicial.

0.8
control
ángulo
0.6

0.4

0.2

-0.2

-0.4

-0.6

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

Figura 4.10: Angulo para K=0.2.

Para K=0.2 vemos que en un primer momento la energía empieza a crecer para
al final se acaba imponiendo el término gravitatorio y la energía que se va perdiendo en
cada uno de los rebotes hace que el péndulo vuelva a la posición de reposo.

1
control
0.8 ángulo

0.6

0.4

0.2

-0.2

-0.4

-0.6

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

Figura 4.11: Angulo para K=0.3.

68
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Para K=0.3 conseguimos levantarlo con dos rebotes. Vemos como el
comportamiento de la señal 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 señal de control.

1
control
0.8 ángulo

0.6

0.4

0.2

-0.2

-0.4

-0.6

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

Figura 4.12: Angulo para K=0.4.

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

Una vez que hemos comprobado mediante la simulación 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Al igual que para la simulación aquí se generan dos señales una que se
corresponde con el impulso inicial y otra con la señal de control propiamente dicha.
Ambas señales se generan de la misma forma que ya hemos explicado en la simulación.
La forma en que se selecciona la señal de entrada es la misma que en la simulación
mediante el comparador de entradas.

Las diferencias con el controlador de la simulación es que en este caso además


de tener la velocidad angular como señal de entrada, tenemos también la señal del
ángulo de forma que el controlador no empezará a funcionar hasta que la señal de
ángulo no sea menor que un ángulo límite que veremos ahora como determinamos (todo
esto lo realiza el bloque compara ángulo).

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


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

0.62

0.6

0.58

0.56
angulo

0.54

0.52

0.5

0.48

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

Figura 4.14: Señal del ángulo con ruido.

Observando la figura vemos que tomando como ángulo límite 0.5 nos basta para
que no nos afecte la señal de ruido. A continuación se muestra el interior del bloque
compara ángulo:

70
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

Figura 4.15: Bloque compara ángulo.

Vemos como efectivamente compara el módulo 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 señal 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 simulación es que en este tenemos otros


dos multipuertos más asociados a las señales de Colocación y de On/Off que se
modifican a través de la interfaz del ControlDesk que se puede ver en la figura 2.5.

La señal de On/Off nos permite habilitar/deshabilitar el controlador mientras que


la señal Colocación cuando está habilitada lo que hace es dejar pasar la señal de
colocación que también podemos modificar a través de la interfaz y que nos permite
mover el carrito a la izquierda o la derecha con más o menos rapidez dependiendo del
signo y la magnitud de dicha señal.

Por tanto para que el control esté activo la señal de On/Off se debe encontrar
habilitada y la señal de Colocación deshabilitada.

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

71
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

0.8
ángulo
control
0.6

0.4

0.2

-0.2

-0.4

-0.6

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

Figura 4.16: Respuesta real alzamiento para K=0.3.

Observamos como al igual que sucedía en la simulación de la figura 4.11


necesitamos dos rebotes para que se produzca el alzamiento.

0.8
ángulo
control
0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8
1 1.2 1.4 1.6 1.8 2
tiempo

Figura 4.17: Respuesta real alzamiento para K=0.4

Se comprueba también que al igual que sucedía en la simulación de la figura


4.12 el alzamiento de produce realizando un rebote previo.

Observando ambas gráficas comprobamos también que el comportamiento de la


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

72
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

4.3. Equilibrio del péndulo.

4.3.1. Introducción.

Una vez tenemos el péndulo alzado y nos encontramos en la zona lineal


usaremos para estabilizar el péndulo en torno a la posición θ = 0 un control LQR. Para
poder utilizar este método de control además deberemos utilizar un observador ya que
nos hace falta conocer todos lo estados y nosotros tenemos únicamente acceso directo a
tres de ello: posición, velocidad y ángulo.

El método de diseño combinado de observador y realimentación de estados es


una herramienta fundamental en el control de sistemas en variable de estados. Sin
embargo, no es siempre el método más útil; tres dificultades obvias:

1. La traducción de especificaciones de diseño a ubicación de polos no es


directa, especialmente en sistemas complejos; ¿cuál es la mejor configuración de polos
para especificaciones dadas?.

2. Las ganancias de realimentación en sistemas MIMO no son únicas; ¿cuál es la


mejor ganancia para una configuración de polos dada?.

3. Los autovalores del observador deben elegirse más rápidos que los del
controlador, pero, ¿tenemos algún criterio adicional para preferir una configuración a
otra?.

Los métodos que introduciremos en este capítulo dan respuestas a estas


preguntas. Veremos que las ganancias de realimentación de estados y del observador
pueden elegirse de forma que minimicen un criterio de optimización dado.

El criterio particular que veremos es un funcional cuadrático 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________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 cuadráticos, el método se conoce como lineal-cuadrático (LQ:
linear-quadratic), del que se obtiene el regulador lineal cuadrático (LQR).

Criterios similares de optimización se siguen para el diseño de observadores,


sólo que el funcional depende del error de estimación, y se basa en una caracterización
estadística de los ruidos que afectan al sistema. Este estimador óptimo lineal-cuadrático
se conoce como el filtro de Kalman.

Cuando se combinan la ganancia de realimentación de estados LQ con el filtro


de Kalman, obtenemos lo que se conoce como un controlador lineal-cuadrático-
gaussiano (LQG). Lo de gaussiano viene de la caracterización estadística del ruido
empleada.

4.3.1.1. El principio de optimalidad.

Para entender la idea de criterio de optimización en variable de estados, la


introduciremos con sistemas de tiempo discreto, que son más simples.

El estado de un sistema discreto describe una trayectoria haciendo transiciones


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

Cuando se asocia un criterio de optimización al sistema, cada transición 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________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 través de los estados intermedios. El costo asociado a cada transición 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 señal de control u*[k] que determina la trayectoria de menor
costo es la estrategia óptima. Como ya veremos, en sistemas de tiempo continuo, la
acumulación de costos se representa mediante integración, en vez de suma.

La herramienta matemática 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Este obvio principio nos permitirá resolver en forma cerrada nuestros problemas
de control óptimo. También se usa en el cómputo recursivo de las soluciones óptimas en
un procedimiento llamado programación dinámica.

4.3.1.2. Nota histórica.

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


propuesto por el matemático suizo Johann Bernoulli en 1696.

El problema consistía en determinar cuál, entre todas las trayectorias posibles,


era la que llevaba a una partícula (sin rozamiento) en el menor tiempo posible, desde un
punto A a un punto B en el mismo plano vertical, sujeta sólo a la acción de la gravedad.

Una formulación matemática moderna del problema del braquistocrono es la


⎡u (t )⎤
siguiente: encontrar la señal control ⎢ ⎥ que lleve al sistema:
⎣ v(t ) ⎦
.
x(t ) = u (t ) y (t )

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

⎡x ⎤ ⎡ xB ⎤
desde el punto ⎢ A ⎥ al punto ⎢ y ⎥ en mínimo tiempo, sujeto a la restricción:
⎣yA ⎦ ⎣ B⎦

76
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
x2 + v2 = 1

Típico 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 condición inicial xi = x 0 al estado final x N = x f ,

minimizando el funcional cuadrático:

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

El funcional puede interpretarse como el costo total de la transición de xi a xN y,


en particular, el término x TN Sx N penaliza el error en alcanzar el estado final deseado.

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


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

4.3.1.4. Transición [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 transición de N – 1 a N es:

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

77
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Usando (4.1), substituimos x N como una función de u N −1 , lo que da:

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

Como J es cuadrático en u, podemos minimizarlo diferenciando

∂ T J N −1, N
0=
∂u N −1

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

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

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

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

que resulta ser un mínimo, ya que:

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

Como vemos, (4.5) es un control lineal por realimentación de estados de la


forma habitual:

u *N −1 = − K N −1 x N −1

donde

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

78
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
El valor del costo mínimo J N* −1, N obtenido con u *N −1 es:

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

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

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

donde definimos:

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

La elección de la notación S N −1 en (4.7) surge de que si estamos en el paso final

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

SN = S

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

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

4.3.1.5. Transición [N – 2] → [N].

Tomamos otro paso para atrás en el cómputo 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Por lo tanto, para calcular la estrategia óptima para ir del estado en N – 2 al
estado final en N, usamos el principio de optimalidad para deducir que:

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

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


(la de N – 1 a N ya la obtuvimos). Así, ahora el paso N – 1 es el “final”, y podemos
usar la misma ecuación (4.3) pero con N – 1 en vez de N, y N – 2 en vez de N – 1.

Obtenemos:

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

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

fácil 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. Transición [k] → [N].

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


expresiones recursivas para el control óptimo:

u k* = − K k x k (4.8)

80
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
K k = ( R + B T S k +1 B) −1 B T S k +1 A (4.9)

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

Notar que la ecuación en diferencias (4.10) de S k se resuelve para atrás,

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

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

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


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

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

⎡ 2 1⎤ ⎡0 ⎤ ⎡2⎤
x k +1 = ⎢ ⎥ x k + ⎢ ⎥u k x(0) = ⎢ ⎥
⎣− 1 1⎦ ⎣1 ⎦ ⎣− 3⎦

con el controlador LQ óptimo que minimiza el costo:

1 T ⎡5 0 ⎤ 1 9 T ⎡2 0 ⎤
J = x10 ⎢ ⎥ x10 + ∑ x k ⎢ ⎥ x k + 2u k2
2 ⎣0 5 ⎦ 2 k =1 ⎣0 0.1⎦
.
Las siguientes líneas de código 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
A=[2 1;-1 1];B=[0;1];x0=[2;-3];
% Solución de la ecuación 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
% Simulación 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 realimentación K k debe calcularse en tiempo invertido y


almacenarse para ser aplicada posteriormente al sistema en tiempo normal.

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

82
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

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

La figura 4.20 muestra la evolución de las ganancias de control. Podemos


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

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

4.3.1.7. Control LQ en tiempo continuo.

La deducción del control óptimo LQ para el sistema en tiempo continuo:

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

83
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
sigue los mismos pasos que el de tiempo discreto, sólo que las “transiciones” se reducen
a “incrementos” infinitesimales. El costo es ahora:

tf

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

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


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

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

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

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

La ecuación (4.14) es la famosa ecuación diferencial matricial de Riccati, que,


como en el caso discreto, también debe resolverse hacia atrás en el tiempo, con
condiciones “iniciales” P (t f ) = S . Como en el caso discreto:

• El control óptimo LQ es una realimentación lineal de estados, aunque


inestacionaria.
• Los “transitorios” en P(t) y K(t) ocurrirán sobre el final del intervalo [t0, t f ].

Pero, la ecuación diferencial (4.14) es en general de difícil solución. Aún,


haciéndolo numéricamente, ¿cómo pueden guardarse los (infinitos) valores de P(t)
calculados en tiempo invertido para ser aplicados luego al sistema?.

Esta dificultad lleva a buscar una solución óptima estacionaria, K(t) = K, que
surge de considerar el caso de horizonte infinito t f ⎯
⎯→ ∞ .

84
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 ecuación de Riccati permanecerían constantes en el valor del instante
.
inicial. Bajo esta suposición, P(t) es constante y P(t ) = 0 , que lleva la ecuación (4.14) a
la forma que se conoce como la ecuación 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 ecuación (DARE) es la ecuación algebraica discreta de Riccati.

En rigor, sin embargo, no sabemos aún si estas soluciones constantes de


“régimen permanente” resuelven los correspondientes problemas óptimos de horizonte
infinito. Analizamos este punto a continuación.

Solución del problema de horizonte infinito. Queremos controlar el sistema:

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

con una realimentación estática de estados u (t ) = − Kx(t ) tal que se minimice el


funcional de costo:

85
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega


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

Con la realimentación, 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 solución de (4.16) es x ( t ) = e ( A − BK )t x 0 , la


reemplazamos en la expresión del costo, y obtenemos:

⎛ ∞ ( A − BK ⎞
J = x ⎜⎜ ∫ e
T
0
)T t
(Q + K T
)
RK e ( A − BK )t dt ⎟⎟ x 0
⎝0 ⎠

J ≡ x0T Px0 (4.17)


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

.
Recordando el Teorema de Lyapunov, sabemos que el sistema x = ( A − BK )x es
asintóticamente estable si y sólo si la matriz P definida en (4.17) es la única solución
definida positiva de la ecuación de Lyapunov:

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

86
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Por lo tanto, para cualquier ganancia K que estabilice asintóticamente el sistema,
la matriz P solución 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 ecuación algebraica de Riccati (CARE). Por lo tanto, la


solución del problema de control óptimo LQ con horizonte infinito está dado por la
solución de la ecuación (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)
serán únicas. Si existe una solución única que estabilice al sistema, entonces es la
óptima. Cabe entonces la pregunta: ¿Cuándo existirá una solución 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 solución estática finita P(S) de la ecuación diferencial (diferencia) de Riccati (4.14)
( (4.10)). Esta solución será también una solución de la ecuación algebraica de Riccati
correspondiente, y será la solución ó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 solución estática P(S) de la ecuación diferencial (diferencia) de Riccati es la única
solución definida positiva de la correspondiente ecuación algebraica si y sólo si (A,T) es
detectable. En conclusión, si (A,B) es estabilizable y (A,T) detectable, existe una
solución única de (CARE) ((DARE)) que da la ganancia óptima de realimentación. Con

87
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 más importantes en el desempeño de sistemas de control, a


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

• Alinealidades de entrada no modeladas.


• Dinámica no modelada.
• Señales de entrada no deseadas.

En esta sección trataremos algunos modelos simples de ruido y determinaremos


formas de tenerlos en cuenta en el diseño de observadores y realimentación de estados.

Consideraremos primero ruido perturbando la observación 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Las nuevas señales de entrada v k y ω k que aparecen en este modelo son
procesos aleatorios, consistentes en ruido blanco estacionario, con media cero, y no
correlacionados entre sí.

Esto quiere decir que tienen las siguientes propiedades:

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

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

La función E [⋅] denota la media estadística.

Consideraremos además que el estado inicial x0 del sistema (4.19) es también


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 actúa


a la salida, ruido de medición. El ruido de planta modela el efecto de entradas ruidosas
que actúan en los estados mismos, mientras que el ruido de medición modela efectos
tales como ruido en los sensores. La entrada u k es la habitual entrada de control,
considerada determinística.

89
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
4.3.1.11. Filtro de Kalman discreto.

Reconsideramos nuestra derivación anterior del observador, esta vez tomando en


cuenta los efectos de ruido en la selección 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 elección 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 simplificación en las derivaciones.

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

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

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


observador con una ligera variante: separamos el proceso de observación en dos etapas:

1. Predicción del estado estimado en k +1 en base a datos en k (estima anterior +


entrada actual):

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

2. Corrección de la estima en k + 1 con los datos medidos en k + 1.

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

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


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

90
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

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

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


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

Notar que la ecuación del observador (4.22) difiere significativamente de la que


presentamos anteriormente con sistemas continuos:

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

Para el observador actual la dinámica 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 predicción del estado que podemos hacer cuando hay ruido es el valor esperado:

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

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

91
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

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


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

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

Notar que usamos una ganancia de observación L variante en el tiempo, lo que,


como veremos, es necesario.

En observadores determinísticos, L se seleccionaba para asignar la dinámica del


error de estimación. En este caso, además, trataremos de minimizar el efecto de los
ruidos.

Criterio de optimización

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 derivación surge de minimizar
el error de estimación a posteriori:

ek = x k − xˆ k

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

[
S k ≡ E ek ekT ]

Cuanto menor sea la norma de la matriz S k , menor será la variabilidad del error
de estimación debida a ruidos, y mejor el rechazo de éstos.

92
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Pretendemos determinar Lk +1 para minimizar la variabilidad del error de
estimación:

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


Lk +1
2

Lk +1
[ ]

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


Lk +1
2

Lk +1
[ ]

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

Para obtener una expresión para S k +1 , derivamos la dinámica del error:

ek +1 = x k +1 − xˆ k +1

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

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

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

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

Usando esta expresión de ek +1 obtenemos:

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

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

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

93
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
De las hipótesis sobre las propiedades estadísticas de los ruidos vistas en 4.2.11,
tenemos que:
[ ]
E v kT v k = V

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

[
E ω k +1v kT = 0]

Además, no es difícil ver que:

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

ya que x k y x̂ k no están correlacionadas con ω k +1 . Y por otro lado:

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

ya que x k y x̂ k tampoco están correlacionadas con v k . Usando (4.26), (4.27) y (4.28)


en (4.25), llegamos a la expresión:

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

La expresión recursiva (4.29) representa la dinámica de la covarianza del error


de estimación. Esta expresión, sin embargo, no es enteramente útil, pues todavía no
conocemos Lk +1 , que determinaremos en lo que sigue.

Determinación de la ganancia de observación óptima.


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

optimización (4.24), expandimos tr S k +1 de (4.29) en:

94
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

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

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

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


∂X
[
tr XYX T = 2 XY ]


tr [YXZ ] = Y T Z T
∂X

Así obtenemos de (4.30)


0= tr S k +1
∂Lk +1

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

que tiene como solución:

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

Esta es la ganancia óptima para el estimador dado por la ecuación (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 ecuación en diferencias (4.29).

Procedimiento para computar el filtro de Kalman discreto

95
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Resumimos los pasos necesarios para programar el filtro de Kalman. Partimos
del conocimiento de las propiedades estadísticas, valor esperado y varianza, de los
ruidos v k y ω k , y la condición inicial x0 .

1. Calculamos la estima a priori del estado (predicción):

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

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

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

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

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

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


(4.23), que puede simplificarse a:

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

4. Calculamos, de (4.29), la matriz de covarianza para la próxima iteración:

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

y el proceso se repite el siguiente paso.

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


discreto:

96
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
⎡ 0.8146405 0.0817367⎤ ⎡0.0021886⎤ ⎡ 0.0430570 ⎤
x k +1 = ⎢ ⎥ xk + ⎢ ⎥ uk + ⎢ ⎥vk (4.36)
⎣− 0.081767 0.8146405⎦ ⎣0.0452456⎦ ⎣− 0.0474324⎦

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


medición se asume de media cero y covarianza W = 0,25.

El sistema (4.36) es la discretización exacta, con período 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 evolución del estado


del sistema (4.36) cuando se le aplica la entrada u = sen kT, con período 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 difíciles 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];
% Discretización 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
W=0.025; % ruido de medición
% 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
% Simulación
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 evolución 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 evolución de los estados luego de un breve transitorio de
aproximadamente 0.5 s.

98
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

Figura 4.21: Evolución de los estados del sistemas y los estimados.

4.3.1.12. Notas.

• La ecuación 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


medición son Gausianos. Para otras distribuciones probabilísticas, el filtro de
Kalman es el mejor estimador lineal.

• El filtro de Kalman puede obtenerse también en tiempo continuo, aunque es


raramente usado en la práctica, ya que casi siempre se implementa en una
computadora digital, para la que la versión discreta es más natural. La derivación
de las ecuaciones es similar al caso continuo, y lleva a una ecuación diferencial
de Riccati, dual al caso de control LQ.

99
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
• Como en el caso de control óptimo LQ, también en el caso del filtro de Kalman
pueden calcularse soluciones estacionarias de la ecuación diferencia (diferencial)
de Riccati que determina la matriz de covarianza. Esta solución será
“aproximadamente óptima”, y única si y sólo si AT , C T ( ) es estabilizarle, y

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

• En MATLAB, la función kalman computa el filtro de Kalman estacionario


(continuo o discreto).

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


realimentación de estados. Cuando el controlador elegido es el óptimo LQ, la
combinación da lo que se conoce como controlador lineal cuadrático gausiano
(LQG).

• La robustificación de un regulador LQG mediante agregado de acción integral


exactamente igual al caso visto en asignación de polos y se aplica de la misma
manera (la acción integral es parte del diseño de la arquitectura de control, y no
del control en sí).

Útiles en MATLAB

DLQR Diseño de regulador lineal cuadrático para sistemas de tiempo discreto.


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

( )

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

y estabiliza asintóticamente el sistema de tiempo discreto:

x k +1 = Ax k + Bu k

La matriz S resuelve la ecuación algebraica de Riccati discreta:

100
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

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

LQR Diseño de regulador lineal cuadrático para sistemas de tiempo continuo.


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


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

y estabiliza asintóticamente el sistema de tiempo continuo:

.
x = Ax + Bu

La matriz P resuelve la ecuación algebraica de Riccati:

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

DLQE Diseño de filtro de Kalman para sistemas discretos. La función L =


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

(
x k +1 = Axˆ k + Bu k

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

para estimar el estado x del sistema en tiempo discreto:

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

y k = Cx k + Du k + v k

donde w y v son ruidos de proceso y de medición, respectivamente, de media nula y


con covarianzas:

101
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 Diseño de filtro de Kalman para sistemas continuos. La función L =


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

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

para estimar el estado x del sistema en tiempo continuo:

.
x = Ax + Bu + Gω

donde w y v son ruido de


y = Cx + Du + v
proceso y de medición,
respectivamente, de media nula y
con covarianzas:

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

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


entonces N = 0.

102
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
4.3.2. Implementación 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 señal de control
del instante k y la señal de activación 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 estimación
completa del estado para el instante k la pone a su salida.

Para hallar el señal 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 realimentación de estados K de tal manera que implementamos la
ley de control:

u (k + 1) = − Kx(k )

4.3.2.1. Diseño del control LQR.


Para calcular la ganancia óptima de realimentación 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

⎡1 Tm 0 0 0 ⎤ ⎡0⎤
⎢0 1 0 0 ω n Tm ⎥⎥
2
⎢0⎥
⎢ ⎢ ⎥
A = ⎢0 0 1 Tm 0 ⎥ B=⎢0⎥
⎢ Tm m lg T 2 ⎥
Tm mlω n ⎢ ⎥
⎢0 0 1 + m Bv ⎥ ⎢0⎥
⎢ I I I ⎥ ⎢⎣Tm ⎥⎦
⎣⎢0 − Tm 0 0 1 − 2δω nTm ⎦⎥

⎡1 0 0 0 0 ⎤
C = ⎢⎢0 1 0 0 0⎥⎥
⎢⎣0 0 1 0 0⎥⎦

Para calcular las matrices de peso Q y R, utilizaremos las siguientes fórmulas


que nos servirán como punto de partida:

⎡ 1 2 0 0 0 0 ⎤
⎢ x1max ⎥
⎢ 0 1 0 0 0 ⎥
⎢ x 2 2max ⎥
⎢ 1 0 ⎥⎥ 1
Q=⎢ 0 0
x3 2max
0 R= 2
⎢ ⎥ u max
1
⎢ 0 0 0
x 4 2max
0 ⎥
⎢ ⎥
⎢ 0 0 0 0 1 2 ⎥
⎣ x5 max ⎦

Midiendo encontramos que x1max = 1.2 metros, x2max = 1 m/s. Para x3max
tendríamos que tomar el ángulo máximo para el que consideraríamos 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 péndulo comience a rebotar de un extremo a otro lo más rápido posible
de forma que obtendremos la velocidad angular máxima a partir de la derivada del
ángulo con el siguiente bloque:

104
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 señal
del ángulo según la fórmula:

θ (k + 1) − θ (k )
ω (k + 1) =
Tm

Veamos el resultado de aplicar este bloque:

10
velocidad
8 angular
ángulo
6 control

-2

-4

-6

-8

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

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

105
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Observando la figura podemos determinar que x4max = 5.

Para el cálculo de x5max como tampoco podemos acceder directamente a la


medida lo estimaremos a partir de la simulación del carro sometiéndolo a la velocidad
máxima a la que puede operar es decir 1 m/s:

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

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

Observnado la gráfica vemos que x5max = 0.05 m/s2.

Ya solamente nos falta decir que umax = 1. Por tanto los pesos quedan de la
siguiente forma:

⎡0.6944 0 0 0 0 ⎤
⎢ 0 1 0 0 0 ⎥⎥

Q=⎢ 0 0 131.2 0 0 ⎥ R =1
⎢ ⎥
⎢ 0 0 0 0.04 0 ⎥
⎢⎣ 0 0 0 0 400⎥⎦

A continuación y antes de seguir con el filtro de Kalman comprobaremos


mediante simulación y suponiendo que todos los estados fueran accesibles si con estas

106
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
matrices de pesos funcionaría 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
posición
velocidad
ángulo
velocidad
angular
x5
0

-0.5

-1
0 1 2 3 4 5 6 7 8 9 10
tiempo

Figura 4.27: Resultado simulación control LQR.

107
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 funcionarían
correctamente. Además se comprueba que ninguna de las variables excede sus
máximos.

Todo esto es en la simulación, más adelante tendremos que comprobar en el


laboratorio el funcionamiento.

4.3.2.2. Diseño del filtro de Kalman.

Como ya se ha explicado el filtro de Kalman se utiliza para obtener una


estimación del estado del sistema, cuando no tenemos acceso a todas la variables, a
partir de la siguientes ecuaciones:

(
x k +1 = Axˆ k + Bu k

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

El diagrama de bloques que implementa dichas ecuaciones es el siguiente:

u(k) y(k)
H


+ +

B z-1 C

+
A
xe(k)

Figura 4.28: Diagrama de bloques del filtro de Kalman.

108
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
A, B y C son las matrices del sistema linealizado y L la ganancia del filtro de
Kalman . La función 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 medición. Como dijimos el


ruido de planta modela el efecto de entradas ruidosas que actúan en los estados mismos.

Como podemos comprobar en el laboratorio si nosotros no introducimos una u


en los estados no se produce ninguna variación aunque así lo indiquen las mediciones
por lo que supondremos que el ruido de planta es cero y que únicamente tenemos ruidos
de medición. Para calcular este último calcularemos la varianza de las mediciones
obtenidas:

1.43

1.4295

1.429
posición

1.4285

1.428

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

Figura 4.29: Medida del ruido de la señal de posición.

Utilizando matlab para hallar la varianza de esta señal obtenemos 4.1556 ⋅ 10 −8 .

109
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

0.8

0.6

0.4

0.2

velocidad
0

-0.2

-0.4

-0.6

-0.8

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

Figura 4.30: Medida del ruido de la señal de velocidad.

La varianza de la velocidad es 0.0313.

0.095

0.09

0.085
ángulo

0.08

0.075

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

Figura 4.31: Medida del ruido de la señal de ángulo.

La varianza es de 2.3407 ⋅ 10 −6 . Por tanto la matriz que nos queda es:

⎡4.1556 ⋅ 10 −8 0 0 ⎤
⎢ ⎥
R=⎢ 0 0.0313 0 ⎥
⎢ 0 0 2.3407 ⋅ 10 −6 ⎥⎦

110
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Implementemos el filtro de Kalman para comprobar mediante simulación 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 continuación veremos el resultado de ejecución introduciendo como


condiciones iniciales del sistemas las mismas que introdujimos para el control LQR.

111
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

0.5
posición
velocidad
0.4 ángulo

0.3

0.2

0.1

-0.1

-0.2

-0.3
0 1 2 3 4 5 6 7 8 9 10
tiempo

Figura 4.34: Resultado simulación control LQG.

Se comprueba que el control LQG funciona correctamente y de forma similar a


como lo hacía el control LQR cuando se suponía que todos los estados eran accesibles y
por tanto conocidos.

112
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

5. Resultados.

5.1. Simulación del modelo global.

A continuación mostraremos el modelo que engloba los dos controladores que


hemos diseñado en el apartado cuatro:

Figura 5.1: Modelo global de simulación.

Para sincronizar el uso de los dos controladores utilizamos la señal “on”. Ésta es
generada en el relay de forma que cuando el ángulo está fuera de la zona lineal la señal
de “on” se encuentra a 1 y el controlador que actúa sobre el sistema “péndulo”, 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 actúa sobre el sistema es el controlador

113
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
LQG. La introducción de esta señal “on” hace que tengamos que introducir unas
modificaciones en el controlador LQG diseñado en el apartado anterior.

A continuación veremos cuáles 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 péndulo haya sido alzado y se encuentre
en la zona lineal. Esta sincronización la logramos con la variable de entrada “on” que
pone en marcha el funcionamiento del filtro cuando esto sucede.

114
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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,
además la realimentación 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 serán las condiciones
iniciales del filtro de Kalman. Para ello tenemos el bloque condición de cambio:

Figura 5.3: Diagrama Simulink del bloque Condiciones de cambio.

Para calcular la condición de cambio lo que hace es que mientras “on” es igual 1
se queda con el valor de los tres estados accesibles medidos ( posición, velocidad y
ángulo) y calcula los otros dos mediante ecuaciones teóricas. Para calcular la velocidad

115
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________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 ecuación 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 señal
“on” conmutara. Por último para introducir esta condición inicial usaremos un modelo
de pequeña señal:

X k = X I + xk donde :

X k ≡ Estado del sistema en ins tan te k .

X I ≡ Condiciones iniciales.

x k ≡ Pequeña señal que almacena la var iación 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 después del delay se las sumamos. Primero se restan las
condiciones iniciales para obtener la pequeña señal que se introduce en el delay y

116
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
posteriormente para obtener el estado actual del sistema a la pequeña señal le sumamos
las condiciones iniciales.

En la figura 5.1 podemos observar también un bloque saturador. Este bloque se


coloca para evitar que aun cuando la señal de control generada por el controlador LQG
sea mayor que uno, como máximo sea este valor el que se introduce al sistema ya que la
señal de control que este es capaz de seguir es precisamente de ±1.

A continuación se muestra el resultado de la simulación de este modelo global


del sistema:

1
control
0.8 posición
velocidad
0.6 ángulo

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7 8
tiempo

Figura 5.5: Resultado de la simulación global.

Podemos observar como el péndulo es alzado sin violar ninguno de los límites
de los límites de las variables de estado , es decir, la velocidad nunca supera en módulo
1 y la posición en módulo 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 péndulo.

117
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

0.6

0.5

0.4

0.3
ángulo

0.2

0.1

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

Figura 5.6: Simulación de la señal de ángulo.

En la gráfica se puede observar perfectamente como el péndulo después de un


rebote contra los topes, asciende y es controlado en torno al ángulo cero manteniéndose
en equilibrio tal y como era nuestro objetivo.

En el siguiente apartado tendremos que comprobar si este resultado teórico


obtenido mediante simulación se reproduce también en el laboratorio.

5.2. Ejecución en laboratorio del modelo global.

En primer lugar tenemos que diseñar el modelo simulink. A continuación


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 aplicación en lenguaje C
asociado a este modelo, esto lo realizaremos ejecutando la opción de Simulink “RTW
Build”. Una vez generado este código tendremos que abrir el programa “dSpace” y

118
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
nuestro proyecto, en el que hemos generado el layout que se observa en la figura 2.5. A
continuación debemos cargar la aplicación 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. Además 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. Además en este caso antes de

119
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
dicha introducción se hace pasar la velocidad angular por un filtro discreto paso bajo
para intentar eliminar parte del ruido.

Veamos los resultados obtenidos:

0.5

-0.5
velocidad
ángulo
rojo
-1 control

4 5 6 7 8 9 10
tiempo

Figura 5.8: Resultado fallido de ejecución modelo global.

Observando el gráfico vemos como el péndulo después de dar un rebote


asciende pero después no es capaz de mantenerlo en equilibrio sin violar por ejemplo el
máximo de la posición que provoca que al llegar al tope el carro se pare y el péndulo
caiga hacia la derecha.

Por tanto debemos intentar que el carro no viole esta restricción. Para ello
sabiendo que el control LQR intenta minimizar el funcional:

1 T 1 N −1
J i,N = x N Sx N + ∑ x kT Qx k + u kT Ru k
2 2 k =i

120
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
Lo que tenemos que hacer es aumentar el peso de la posición en la matriz de
pesos Q que calculamos en el apartado 4.2.2.1, haciendo pruebas comprobamos que
para un peso de la posición de 30 se obtiene el siguiente resultado:

0.8

0.6

0.4

0.2

-0.2

-0.4
angulo
velocidad
-0.6
posición

-0.8
5 10 15 20
tiempo

Figura 5.9: Resultado de ejecución de modelo global para K=0.4.

Comprobamos como ahora efectivamente conseguimos controlar la variable


ángulo y por tanto el péndulo una vez alzado después 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 péndulo se alce después de un rebote.
Comprobemos ahora si bajando la ganancia de control de alzamiento a 0.3 y
manteniendo el impulso inicial en 0.7 también se consigue controlar el péndulo. Para
este caso también se mantendrá la modificación de la matriz de pesos que hemos
realizado anteriormente. Comprobemos cuál es el resultado:

121
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

0.5

ángulo
velocidad
posición
-0.5
8 10 12 14 16 18 20
tiempo

Figura 5.10: Resultado de ejecución del modelo global para K=0.3.

Comprobamos como después de dar dos rebotes tal y como esperábamos el


péndulo es alzado y mantenido en equilibrio.

Por tanto se puede concluir que la estrategia de control seguida es correcta.

122
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

6. Conclusiones y posibles extensiones.


A continuación 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 péndulo invertido


sobre vehículo móvil que se encuentra en los laboratorios de la Escuela de Ingenieros de
Sevilla describiendo el funcionamiento y distintas formas de implementación de los
motores lineales sobre los que se basa dicho sistema así como del armario y panel de
control que se utiliza para su regulación.

Posteriormente se realizó una descripción de los sistemas híbridos y pudimos


llegar a dos conclusiones importantes, la primera que el uso de un modelo de sistema
híbrido para modelar nuestro sistema nos iba a aportar una reducción de complejidad
del modelo en orden, obteniendo una representación para el mismo mediante un
conjunto de modelos simples con una logística de conmutación. La segunda era que
existen muchos enfoques para el modelado, análisis y síntesis de los sistemas híbridos.

A continuación pasamos a modelar el sistema. En concreto para realizar esto se


usó el modelo del autómata híbrido continuo lineal invariante en el tiempo. Se
comprobó como el comportamiento que se genera al rebotar el péndulo contra los topes
se puede modelar perfectamente mediante un sistema híbrido en el que tendríamos una
variable discreta que habilita la actuación de una fuerza de rebote que se oponga a la
caída del péndulo cuando este se encuentra en una posición mayor a los topes. Además
para realizar el modelado se tuvo que utilizar dos modelos diferentes, uno no lineal para
cuando el péndulo se encuentra alejado de la vertical y otro lineal para cuando se
encuentra próximo a dicha vertical

En le capítulo siguiente se procedió a establecer una estrategia de control que


nos permitiera alzar el péndulo partiendo desde una de las posiciones iniciales de reposo
y mantenerlo posteriormente en equilibrio en una posición vertical. Se llegó a la
conclusión de que para conseguir este comportamiento lo más adecuado era la
utilización de un controlador híbrido formado por una combinación de una ley de

123
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
control orientada a aumentar la energía del péndulo que actúa lejos de la posición de
equilibrio, y por una ley de control lineal que lo estabiliza cuando está cerca de él.

Para aumentar la energía del péndulo utilizamos una ley de control basada en
aumentar la velocidad angular del péndulo, para ello, el carro debía moverse en
dirección contraria al movimiento del péndulo (velocidad angular del péndulo). El
problema de utilizar una ley control como esta es que cuando el péndulo se encuentra en
reposo su velocidad angular es cero y por tanto la señal de control también. Por tanto se
llega a la conclusión de que es necesario un impulso inicial que ponga en movimiento el
péndulo.

Posteriormente para mantener el péndulo en equilibrio como tenemos un sistema


lineal para posiciones próximas 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 técnicas se le
conoce como control LQG.

Por último se comprobó experimentalmente en el laboratorio si la estrategia de


control propuesta era correcta. Después del ajuste de algunos parámetros el control
funcionaba correctamente en la mayoría de las ocasiones aunque a veces se observó que
si el péndulo al producirse la conmutación en el control tenía una velocidad angular
demasiado elevada el control LQG no era capaz de controlarlo.

Como posibles extensiones de este trabajo se podrían implementar otras


estrategias de control para el alzamiento en la que no hiciera falta suministrar un
impulso inicial o que asegurara que el péndulo llegase a la posición de conmutación de
control con una velocidad determinada. Otra posible modificación sería utilizar una
transición 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 transición de una ley a otra.

124
Modelado y control del péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

ANEXO 1.

A.1. m-file que modela el comportamiento del péndulo.

function [sal]= final4(u,on,x);

g = 9.8; %m/s^2
lv= 0.75; %m Longitud de la varilla
l = 0.375; %m Distancia al centro de masas
mv = 1; %kg Masa del pendulo
Tm=0.01; %Tiempo de muestreo

%Coeficiente de fricción de la varilla respecto al eje


Bv=0.015;

%Momento de incercia de varilla con eje extremo


Ic=(1/12)*(mv*lv^2);
I=Ic+mv*(l^2);%kg*m^2

alfa2 =55; %constante del muelle


kr =4714.4; %costante del muelle imaginario

%Constantes para normalizar el ángulo


Norm = (pi/6)/0.0917;
Const_ang = -0.0083;

%Parámetros del sistema de segundo orden que simula al carro


delta=0.385;
omega=11.3466;

% Si la señal 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
x5 = (1-2*delta*omega*Tm)*x(5) + Tm*(u-x(2));
x2 = omega^2*Tm*x(5) + x(2);
a=(x2-x(2))/Tm;
x3 = x(3) + Tm*x(4);
x4 = x(4) + Tm*((mv*l/(I))*(g*sin(x(3))+a*cos(x(3))+Bv*x(4))-Fr);
xsig=[x1;x2;x3;x4;x5];

end

xsig(3)= xsig(3)/Norm + Const_ang;


sal=[xsig];

A.2. m-file que carga el Workspace de Matlab las matrices que necesitamos y
calcula las ganancias del control LQG.

function
[s1,s2,s3,s4,s5,delta,omega,g,lv,mv]=matrizlqr(x1max,x2max,x3max,x4max
,x5max,Tm);

g = 9.8; %m/s^2
lv= 0.75; %m Longitud de la varilla
l = 0.375; %m Distancia al centro de masas
mv = 1; %kg Masa del pendulo

%Momento de inercia de la varilla


Ic=(1/12)*(mv*lv^2);
I=Ic+mv*(l^2); %kg*m^2

%Coeficiente de fricción 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________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 cálculo 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 cálculo LQG


G=[0;0;0;0;0];
Qlqg=0;
Rlqg=diag([4.1446e-008,0.0313,2.3407e-006]);

%Cálculo 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
A.3. m-file para el cálculo de las constantes de rebote.

function[sol]=calculaconst3(Tm,tetha1,tetha2,tetha3,tetha4)

g = 9.8; %m/s^2
lv= 0.75; %m Longitud de la varilla
l = 0.375; %m
mv = 1; %kg Masa del pendulo

%Momento de inercia de la varilla


Ic=(1/12)*(mv*lv^2);
I=Ic+mv*(l^2); %kg*m^2

%Constante de fricción
Bv=0.015;

%Constantes de normalización 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega

Bibliografía.

• 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 Sánchez Peña. Introducción a la teoría de control robusto. Asociación


Argentina de Control Automático, 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):395–404, 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 péndulo invertido
sobre carro mediante sistemas híbridos._______________Autor: Fernando Bote Ortega
• Robert N. Bateson. Introduction to Control System Technology. Prentice-Hall.

• Stefani, Shanion, Savant, Hostetter. Design of Feedback Control Systems.


Oxford University Press.

• L.Grossman, A Nerode, A. P. Ravn and H. Rischel, editors. Hibryd Sistems.


Springer-Verlag 1993

• Favela, A. “Hybrid Automata Models in Continuous-Linear Hybrid Systems


Analysis”, Proceedings of the 1999 IEEE International Symposium on
Intelligent Control/Intelligent Systems and Semiotics, Cambridge, MA., pp. 11-
16, 1999.
.

132

Das könnte Ihnen auch gefallen