Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
DISEÑO, SIMULACIÓN Y CONTROL DE UN PÉNDULO INVERTIDO DOBLE
LINEAL PARA EL LABORATORIO DE AUTOMÁTICA DE LA EIEE DE
UNIVALLE
Director
MSc. José Tomas Buitrago Molina
Ingeniero Mecánico
2
Nota de Aceptación:
_____________________________________
_____________________________________
_____________________________________
_____________________________________
_____________________________________
_____________________________________
Firma del Director
_____________________________________
Firma del Evaluador
_____________________________________
Firma del Evaluador
3
DEDICATORIA
Inicialmente deseo dedicarle este trabajo especial a todas las personas que siempre
creyeron en mi capacidad, capacidad que tenemos todos, es grato saber la fuerza
y determinación que poseemos cuando queremos alcanzar algo.
A mi esposa Leslie Andrea por creer en mí y a mi hija Laura Gabriela por su ternura,
por estar conmigo en los momentos de alegría y tristeza; por su actitud de apoyo y
comprensión.
4
AGRADECIMIENTOS
De igual manera agradecer al PhD. Manuel Camargo por su visión crítica de muchos
aspectos cotidianos de la vida, por su rectitud en su profesión como docente, por
sus consejos, que ayudan a formarte como persona e investigador.
Son muchas las personas que han formado parte de mi vida profesional, a las que
me encantaría agradecerles su amistad, consejos, apoyo, ánimo y compañía en los
momentos más difíciles de mi vida. Algunas están aquí conmigo y otras en mis
recuerdos y en mi corazón, sin importar en donde estén quiero darles las gracias
por formar parte de mí, por todo lo que me han brindado y por todas sus bendiciones.
5
TABLA DE CONTENIDO
Pág.
ABSTRACT ........................................................................................................... 15
KEYWORDS ...................................................................................................... 15
RESUMEN ............................................................................................................ 16
PALABRAS CLAVE ........................................................................................... 16
0. INTRODUCCIÓN ............................................................................................ 17
2. OBJETIVOS.................................................................................................... 22
2.1. OBJETIVO GENERAL .............................................................................. 22
2.2. OBJETIVOS ESPECÍFICOS .................................................................... 22
3. ALCANCE ....................................................................................................... 23
4. JUSTIFICACIÓN ............................................................................................. 25
6
5. MARCO REFERENCIAL ................................................................................ 27
7
5.2.5. Control automático............................................................................. 41
5.2.6. Controlador por realimentación de estados ....................................... 42
5.2.7. Observador o estimación de estados ................................................ 43
5.2.8. Regulador óptimo cuadrático o LQR.................................................. 46
5.2.9. Estimador óptimo cuadrático o LQE .................................................. 46
5.2.10. Controlador óptimo gaussiano o LQG ............................................... 47
8
8. SIMULACIÓN DEL MODELO MATEMÁTICO DEL PÉNDULO INVERTIDO
DOBLE LINEAL EN SIMULINK DE MATLAB ........................................................ 69
8.1. VARIABLES DE ESTADO ........................................................................ 69
8.2. ORGANIZACIÓN DE LAS ECUACIONES PARA LA SIMULACIÓN ........ 70
8.3. PARÁMETROS PARA LA SIMULACIÓN ................................................. 73
8.4. DIAGRAMA DE BLOQUES DEL MODELO MATEMÁTICO ..................... 73
9
11. SIMULACIÓN DE CONTROLADORES PARA EL SISTEMA DE
PÉNDULO INVERTIDO DOBLE LINEAL EN SIMULINK DE MATLAB ............... 101
11.1. DIAGRAMA DE BLOQUES DEL SISTEMA CON REALIMENTACIÓN
DE ESTADOS .................................................................................................. 101
11.2. DIAGRAMA DE BLOQUES DEL SISTEMA CON CONTROL POR
REALIMENTACIÓN DE ESTADOS CON OBSERVADOR .............................. 102
11.3. DIAGRAMA DE BLOQUES DEL SISTEMA CON CONTROL LQR ........ 103
11.4. DIAGRAMA DE BLOQUES DEL SISTEMA CON LQR + LQE ............... 104
11.5. DIAGRAMA DE BLOQUES DEL SISTEMA CON CONTROL LQG ........ 105
10
LISTA DE FIGURAS
Pág.
11
Figura 29. Diagrama de bloques del controlador por realimentación de estados con
estimador de estados en SimuLink ..................................................................... 102
Figura 30. Diagrama de bloques del sistema con LQR en SimuLink .................. 103
Figura 31. Diagrama de bloques del estimador óptimo o LQE en SimuLink ....... 104
Figura 32. Diagrama de bloques del regulador óptimo LQR con estimador óptimo
LQE en SimuLink ................................................................................................ 104
Figura 33. Diagrama de bloques del sistema con LQG en SimuLink .................. 105
Figura 34. Respuesta de θ1 con Pole Placement ................................................ 107
Figura 35. Respuesta de θ2 con Pole Placement ................................................ 107
Figura 36. Respuesta de X con Pole Placement ................................................. 107
Figura 37. Señal de control con Pole Placement................................................. 107
Figura 38. Respuesta de θ1 con Regulador+Estimador ...................................... 108
Figura 39. Respuesta de θ2 con Regulador+Estimador ...................................... 108
Figura 40. Respuesta de X con Regulador+Estimador ....................................... 108
Figura 41. Señal de Control con Regulador+Estimador ...................................... 108
Figura 42. Respuesta de θ1 con LQR .................................................................. 109
Figura 43. Respuesta de θ2 con LQR .................................................................. 109
Figura 44. Respuesta de X con LQR................................................................... 109
Figura 45. Señal de control con LQR .................................................................. 109
Figura 46. Respuesta de θ1 con LQR+LQE......................................................... 110
Figura 47. Respuesta de θ2 con LQR+LQE......................................................... 110
Figura 48. Respuesta de X con LQR+LQE ......................................................... 110
Figura 49. Señal de control con LQR+LQE ......................................................... 110
Figura 50. Respuesta de θ1 con LQG.................................................................. 111
Figura 51. Respuesta de θ2 con LQG.................................................................. 111
Figura 52. Respuesta de X con LQG .................................................................. 111
Figura 53. Señal de control con LQG .................................................................. 111
12
LISTA DE ECUACIONES
Pág.
13
Ecuación 20. Matriz A linealizada del modelo en SS del péndulo doble lineal ...... 84
Ecuación 21. Matriz B linealizada del modelo en SS del péndulo doble lineal ...... 85
Ecuación 22. Matrices A, B, C y D del modelo linealizado en SS ......................... 86
Ecuación 23. Modelo matemático en espacio de estados..................................... 87
Ecuación 24. Modelo linealizado en SS del péndulo doble lineal .......................... 87
Ecuación 25. Matriz de controlabilidad del modelo linealizado en SS ................... 88
Ecuación 26. Matriz de observabilidad del modelo linealizado en SS ................... 89
Ecuación 27. Polos del modelo linealizado en SS................................................. 90
Ecuación 28. Ganancias de realimentación de estados ........................................ 92
Ecuación 29. Ganancias de estimación de estados .............................................. 94
Ecuación 30. Función de coste cuadrático para el LQR........................................ 95
Ecuación 31. Parámetro R (peso acción de control) del LQR ............................... 95
Ecuación 32. Parámetro Q (Peso variables de estado) del LQR........................... 95
Ecuación 33. Vector K_lqr de ganancias del LQR................................................. 96
Ecuación 34. Polos de lazo cerrado con LQR ....................................................... 96
Ecuación 35. Parámetro Re (peso señal estimada) del LQE ................................ 97
Ecuación 36. Parámetro Qe (Peso variables de estado) del LQE ......................... 97
Ecuación 37. Vector K_lqe de ganancias del LQE ................................................ 97
Ecuación 38. Parámetro R1 (peso acción de control) del LQG ............................. 98
Ecuación 39. Parámetro Q1 (peso variables de estado) del LQG ......................... 98
Ecuación 40. Parámetros Qn y Rn (peso ruidos de entrada y salida) del LQG ..... 99
Ecuación 41. Parámetros QXU y QWV (Pesos Totales) del LQG ......................... 99
14
ABSTRACT
Taking the linearized model, it then proceed to design different controllers by state
feedback, state estimation, and optimal controllers such as LQR, LQE (or Kalman
Filter) and LQG, in order to maintain the linear double pendulum system in its
inverted position, and then perform the implementation of such controllers using the
Matlab Simulink toolbox, where it can analyze and check the results obtained by the
different modern control strategies and techniques used.
KEYWORDS
Inverted pendulum, double pendulum, double inverted pendulum, double linear
inverted pendulum, Euler-Lagrange method, mathematical model, linearization, pole
assignment, Kalman filter, LQR, LQE, LQG, virtual prototype, Lagrangian, Jacobian,
SolidWorks, MatLab , SimuLink.
15
RESUMEN
PALABRAS CLAVE
Péndulo invertido, péndulo doble, péndulo invertido doble, péndulo invertido doble
lineal, método de Euler–Lagrange, modelo matemático, linealización, asignación de
polos, filtro de Kalman, LQR, LQE, LQG, prototipo virtual, lagrangiano, jacobiano,
SolidWorks, MatLab, SimuLink.
16
0. INTRODUCCIÓN
Los sistemas físicos no lineales han sido recientemente objeto de un activo interés
por parte de muchos investigadores y diseñadores en áreas tan diversas como
control de aviones y naves espaciales, robótica, control de procesos e ingeniería
biomédica.
Los sistemas subactuados son un asunto de gran interés para la teoría de control
moderna debido a que resulta imposible tener un control directo sobre los grados
de libertad no actuados, haciéndose necesario realizar el control de éstos a través
de los actuadores restantes. Los sistemas subactuados incluyen fallos en los
actuadores, ausencia de los mismos por consideraciones de diseño, exceso de
peso, reducción de costos, etc.
17
En la siguiente investigación se realizó un prototipo virtual en 3D, mediante la ayuda
de un software CAD como SolidWorks, donde se muestra su estructura física, y
cada uno de los elementos que componen el sistema, para su futura construcción,
con cada una de las piezas, con sus respectivos planos y cotas, además de la
presentación del ensamble general en vista isométrica y una vista explosionada
para visualizar la ubicación de cada una de los elementos.
18
1. PROBLEMA DE INVESTIGACIÓN
19
Adicional a lo anterior, fuera de ser bastante complejo tratar el sistema con un solo
péndulo, es decir un sistema de péndulo simple, se desea agregarle otro péndulo al
extremo final de este, el sistema de péndulo doble, lo que aumenta la complejidad
del problema de control, porque se genera otro grado de libertad, sin aumentar la
cantidad de actuadores al sistema.
Los programas de pregrado beneficiados con este proyecto son Ingeniería Eléctrica,
Ingeniería Electrónica, Ingeniería Mecánica y Tecnología Electrónica, y los de
posgrado, tales como Especialización en Automatización Industrial, Maestría en
Ingeniería con énfasis en Automática, Maestría en Ingeniería con énfasis en
Electrónica, Maestría en Ingeniería con énfasis en Eléctrica, Maestría en Ingeniería
con énfasis en Mecánica, Maestría en Ingeniería con énfasis en Aeroespacial e
inclusive el Doctorado en Ingeniería con Énfasis en Eléctrica y Electrónica.
En resumen, los estudiantes de la EIEE, incluidos los del PPIEE, e inclusive los de
la EIME – Escuela de Ingeniería Mecánica de UNIVALLE que son favorecidos son
los que cursen asignaturas de las áreas de control y automatización, y que vayan a
realizar sus prácticas en el Laboratorio de Automática.
20
1.2. FORMULACIÓN DEL PROBLEMA
¿Cómo diseñar, simular y controlar un péndulo doble lineal para mantenerlo estable
en su posición invertida utilizando técnicas de control aplicadas a sistemas no
lineales, para mejorar la dotación del Laboratorio de Automática de la Escuela de
Ingeniería Eléctrica y Electrónica – EIEE – de la Universidad del Valle – UNIVALLE,
y que los estudiantes tengan más plantas y módulos para realizar prácticas de
sistemas de control lineal y no lineal?
21
2. OBJETIVOS
22
3. ALCANCE
• Modelo matemático del sistema mecánico del péndulo invertido doble lineal.
23
Figura 1. Prototipo virtual de péndulo invertido doble lineal
24
4. JUSTIFICACIÓN
Los péndulos invertidos son una familia de artefactos que constituyen un banco de
pruebas muy completo e interesante para la ingeniería de control. El problema con
el péndulo encima de un carro móvil, a la hora de plantear problemas globales reside
en que el recorrido del carro está acotado, por lo que si se alcanza uno de los
extremos del soporte horizontal el sistema deja de funcionar.
Los sistemas sub-actuados (el péndulo invertido doble sobre un carro móvil es uno
de ellos), son sistemas cuyo número de grados de libertad es mayor que el número
de actuadores. Ejemplos de este tipo de sistemas son los robots construidos por
barras y uniones articuladas pasivas y activas, por lo tanto el desarrollo de
mecanismos que puedan realizar tareas complejas con un número reducido de
actuadores es un asunto de gran interés, puesto que representa reducción de peso
y de costos.
25
Este proyecto está enmarcado en una de las líneas de investigación, como lo es la
de educación en ingeniería, y específicamente en educación en control, del GICI –
Grupo de Investigación en Control Industrial, perteneciente a la EIEE – Escuela de
Ingeniería Eléctrica y Electrónica de la UNIVALLE – Universidad del Valle. El GICI
está en la categoría A1 de la clasificación de Colciencias.
El aporte para los estudiantes de la Universidad del Valle es importante puesto que
el sistema permitirá la implementación de controladores lineales y no lineales,
incluyendo en estos últimos, controladores de última generación, por ejemplo,
controladores basados en lógica difusa y redes neuronales. Además les permitirá a
los estudiantes de la Escuela de Ingeniería Eléctrica y Electrónica de la Universidad
del Valle iniciarse en el estudio de los sistemas de control no lineales, los cuales
poseen muchísimas aplicaciones tales como el control de helicópteros, aviones,
satélites, cohetes, procesos industriales e innumerables sistemas no lineales de
gran importancia para la humanidad.
El costo del desarrollo es muy económico comparado con otras plantas elaboradas
por empresas como Quanser, Googol Technology, ECP Systems, Enfield
Technologies, Inteco, entre otras, siendo muy conveniente porque permitirá
replicarlo en el caso de que fuera necesario (para un laboratorio docente de
robótica, por ejemplo).
26
5. MARCO REFERENCIAL
Escrito por García A. Ronald J. y Ortiz C. Jhon D., para la Escuela Superior
Politécnica del Litoral – Facultad de Ingeniería en Electricidad y Computación en el
año 2015. En ese trabajo se modela el comportamiento dinámico de un péndulo
doble invertido, a partir de las ecuaciones matemáticas que describen el
comportamiento del sistema. Posteriormente para visualizar el comportamiento del
sistema y realizar un análisis detallado, utilizaron las herramientas como Matlab,
OpenModelica y Scilab para poder simularlos.
Escrito por Castillo R. José A. y Cortez B. Jorge C., para Instituto Politécnico
Nacional, en el año 2013. En el presente trabajo se plantea la propuesta de diseño
y manufactura de un péndulo doble para poder llevar a cabo pruebas e
investigaciones de estabilidad y control mediante técnicas avanzadas. Se basa en
cuatro principales puntos, definición del problema del diseño, identificación de los
requerimientos del diseño, fijación de las metas de diseño y los criterios de
evaluación en el desarrollo del diseño.
27
5.1.3. Simulación del movimiento de un péndulo doble en un medio viscoso
Redactado por E. Maraz y O. Burgoa, en la Revista Bolivariana de Física en el 2014.
En ese artículo se presenta las ecuaciones de movimiento de un péndulo doble con
una resistencia proporcional a la velocidad usando el formalismo lagrangiano (este
sistema de péndulo doble se simula con el lenguaje “yabasic”). Se resuelve dichas
ecuaciones utilizando el método numérico de Runge-Kutta; como resultado se
calcula el coeficiente de resistencia del medio mediante datos experimentales
tomando como referencia un péndulo simple.
28
5.1.5. Diseño e implementación de un péndulo invertido sobre un carro móvil
para el laboratorio de mecatrónica de la FIMCP aplicando estrategias de
control proporcional integral derivativo (PID)
Escrito por Roca G. Jorge L., para la Escuela Superior Politécnica del Litoral –
Facultad de Ingeniería de Electricidad y Computación, en el año 2015. En ese
informe se documenta el desarrollo, diseño e implementación de las estrategias de
control proporcional derivativo para un equipo de péndulo invertido simple aplicado
a su auto-levantamiento y mantenimiento de posición vertical en equilibrio inestable.
La metodología que se siguió fue en primer lugar el estudio y análisis del equipo
para representarlo con un modelo matemático y simularlo, luego se hizo la selección
de una estrategia de control y el diseño, simulación e implementación del
controlador del equipo. Tanto para la simulación como para el control se hizo uso
de software matemático y herramientas gráficas de programación.
29
5.1.7. Diseño de un sistema péndulo invertido, sobre plataforma LEGO
Mindstorms NXT, controlado mediante MATLAB
Redactado por Martínez Fernando, Guerrero Cindy, Pérez José, para la Revista
Tecnura, en el año 2012. En el artículo se muestra el diseño de un sistema péndulo
invertido, sobre la plataforma LEGO MINDSTORMS NXT, así como el diseño y la
implementación del controlador correspondiente. Como punto de partida se realiza
la medición de parámetros físicos necesarios para el modelamiento del sistema en
espacio de estados. Adicionalmente, el modelo es identificado por medio de
algoritmos genéticos empleando MatLab, donde la adquisición de datos de los
sensores y el servomotor se realizan con el toolbox RWTH - Mindstorms NXT. Luego
se diseña un controlador usando el método de ubicación de polos, para ser
posteriormente implementado en Simulink, entorno desde el cual se ejecuta
Embeded Coder Robot NXT toolbox, encargado de la conversión, compilación y
transferencia al bloque NXT del controlador. Como resultado se tiene el diseño de
una planta física con un kit armable y el diseño e implementación de un controlador
viable para dicha planta.
Este artículo fue elaborado por Romero G., Sánchez J., Reyes F., Michua A.,
Calderón B., de la Universidad Autónoma de Puebla, en el 2009. El fin de ese
artículo consiste en lograr el modelo dinámico de un péndulo invertido sobre base
móvil empleando la metodología de Euler-Lagrange y aplicar una estructura de
control PD usando el método de moldeo de energía. Además, realizan la simulación
del modelo dinámico y el control en dos plataformas de simulación.
30
5.1.9. Diseño e implementación de un péndulo invertido sobre un
carro aplicando estrategias de control basado en LMI
Publicado por Rodríguez, Oscar O., Cely, Helvert, y Riaño, Jeiler, en la Revista
Colombiana de Tecnologías de Avanzada, en el año 2012. El artículo presenta el
diseño e implementación de un prototipo de péndulo invertido sobre un carro,
aplicando dos estrategias de control, una para “swing up” y la otra para
estabilización en el punto de equilibrio inestable a partir de desigualdades
matriciales lineales (LMI´s). El prototipo está compuesto por un pivote o varilla que
gira libremente por uno de sus extremos mediante una articulación situada sobre un
carro, el cual se mueve sobre una cremallera rectilínea horizontal manejado por un
motor DC. El diseño de los controladores se implementa sobre el prototipo
construido con el fin de analizar las características del controlador y determinar las
diferencias de los resultados obtenidos en la simulación.
31
5.1.11. Control de un péndulo invertido simple por métodos de realimentación
de estados
Escrito por Sanabria C. y Hernández O., para la Revista Tecnura en el 2009, en ese
texto se presenta un modelo por medio de dinámica de Lagrange de un péndulo
invertido simple, que es controlado con las técnicas de realimentación de estados
tipo regulador y servomecanismo. Se observan los diseños de los controladores y
de un observador de estado usado en el funcionamiento práctico de la planta IP02
de la compañía Quanser. La comprobación de los diseños se realiza por medio del
software SimuLink de MatLab, por lo cual se implementan en la planta mencionada.
32
5.2. MARCO TEÓRICO
Fuente. Curso Interactivo de Física por Internet. Universidad del País Vasco
33
5.2.2. Modelo matemático
34
Para uniformizar criterios respecto a las denominaciones que reciben los elementos
que conforman un sistema de control es necesario tener en mente las siguientes
definiciones:
• Simulación en computadora.
• Diseño de controladores.
• Evaluación de la estructura mecánica
35
Coordenadas generalizadas
T - Energía cinética total del sistema: suma de las energías cinéticas de las
partículas.
V - Energía potencial total del sistema: suma de las energías potenciales de las
partículas.
Qi - Fuerzas generalizadas: en esta versión del texto no hace falta definirlas, pues
se considera únicamente el caso conservativo que simplifica las ecuaciones.
Función de Lagrange
Es una función que relaciona la energía cinética y la energía potencial del sistema.
También se conoce como lagrangiano.
36
El término lleva el nombre del astrónomo y matemático italo-francés Joseph Louis
de Lagrange. El concepto de un lagrangiano se introdujo en una reformulación de
la mecánica clásica introducida por Lagrange, conocida como mecánica
lagrangiana, en 1788. Esta reformulación fue necesaria con el fin de explorar la
mecánica en sistemas alternativos de las coordenadas cartesianas, como las
coordenadas polares, cilíndricas y esféricas, para las que la mecánica de Newton
no era conveniente.
El formalismo lagrangiano permite alcanzar tanto las leyes de Newton como las
ecuaciones de Maxwell, los cuales pueden ser derivados como las ecuaciones de
Euler-Lagrange de un lagrangiano clásico. Igualmente la forma del lagrangiano
determina las propiedades básicas del sistema en teoría cuántica de campos.
L = Ec − E p = T − V
37
Ecuaciones de Euler – Lagrange
d ∂L ∂L
− =0
dt ∂ q• ∂q
1 • 2 • 2 • 2
D = (b1 q1 + b 2 q2 + ....br qr )
2
d ∂L ∂L
− =0
dt ∂ q• ∂q
38
Sistemas Forzados
d ∂L ∂L ∂D
− + =τ
dt ∂ q• ∂q ∂ q•
5.2.4. Jacobiano
Matriz jacobiana
La matriz jacobiana es una matriz formada por las derivadas parciales de primer
orden de una función. Una de las aplicaciones más interesantes de esta matriz es
la posibilidad de aproximar linealmente a la función en un punto. En este sentido, el
jacobiano representa la derivada de una función multivariable.
39
Ecuación 5. Definición de matriz jacobiana
Determinante jacobiano
40
5.2.5. Control automático
41
5.2.6. Controlador por realimentación de estados
La f.t. posee polos en las nuevas posiciones deseadas. No obstante, los ceros del
sistema son los mismos que en el sistema de lazo abierto.
42
Una noción útil en control que es más débil que la controlabilidad es la
estabilizabilidad.
La realimentación de estados puede mover los polos de una planta pero no tiene
ningún efecto sobre los ceros. Esta propiedad explica por qué la realimentación de
estados puede alterar la propiedad de observabilidad, ya que uno o más polos
pueden ubicarse mediante realimentación para cancelar ceros del sistema, lo que
vuelve esos modos inobservables.
43
Figura 5. Observador de Estados
Una mejor estructura de observador incluye una corrección del error por
realimentación.
44
Con un diseño apropiado de la matriz de ganancia L, se puede ajustar al observador
para que entregue un estimado del estado que convergirá asintóticamente al valor
real del estado.
45
5.2.8. Regulador óptimo cuadrático o LQR
46
Las señales w y v son procesos Gaussianos estocásticos de media cero no
correlacionados en el tiempo y el uno al otro.
Y el criterio de desempeño
47
Y donde P es la única solución definida positiva a la EAR.
48
Entonces la solución óptima se obtiene combinando la ganancia de realimentación
óptima LQ y el observador LQ dados arriba. Recuerde también de la
asignación de polos que los polos de lazo cerrado se obtienen en los polos
de A-BK y A-LC.
49
5.3. MARCO CONCEPTUAL
50
• Método de Euler – Lagrange: Las ecuaciones de Euler-Lagrange son las
condiciones bajo las cuales cierto tipo de problema variacional alcanza un
extremo. Aparecen sobre todo en el contexto de la mecánica clásica en
relación con el principio de mínima acción, aunque también aparecen en teoría
clásica de campos (electromagnetismo, teoría general de la relatividad).
• Péndulo: Cuerpo sólido que, desde una posición de equilibrio determinada por
un punto fijo del que está suspendido situado por encima de su centro de
gravedad, puede oscilar libremente, primero hacia un lado y luego hacia el
contrario.
51
• Sistema físico: Es un agregado de objetos o entidades materiales entre cuyas
partes existe una conexión o interacción o un modelo matemático de tipo
causal.
52
6. PROTOTIPO VIRTUAL EN 3D DEL SISTEMA DE PÉNDULO INVERTIDO
DOBLE LINEAL
53
6.1. VISTA ISOMÉTRICA DEL PENDULO INVERTIDO DOBLE LINEAL
54
6.2. VISTA EXPLOSIONADA
55
6.3. PISTA DEL CARRO MÓVIL
56
6.4. ESTRUCTURA
57
6.5. CARRO MÓVIL
58
6.6. ESLABÓN 1
59
6.7. ESLABÓN 2
60
6.8. CHUMACERA
61
6.9. TORNILLO CHUMACERA
62
6.10. CAJA DE DISPOSITIVOS ELECTRÓNICOS
Figura 15. Caja de dispositivos electrónicos y/o de control del péndulo doble
63
7. MODELO MATEMÁTICO DEL PÉNDULO INVERTIDO DOBLE LINEAL
64
Figura 16. Representación esquemática del péndulo invertido doble
L = K −V
Se procede a hallar las energías cinéticas y potencial del sistema de péndulo doble
lineal, y se tiene que:
V = M 1 gY1 + M 2 gY2
65
De acuerdo con la geometría definida en la Figura 16, se tiene:
De esta manera, las ecuaciones para la energía cinética y potencial del péndulo
doble queda de la siguiente forma:
K =
1 ɺ 2 1 ɺ 2 1 ɺ2
2 2 2
( )
MX + I1θ1 + I 2θ 2 + A1θɺ1 cos θ1 + A2θɺ2 cos θ 2 Xɺ + B12θɺ1θɺ2 cos (θ 2 − θ1 )
V = T1 cos θ1 + T2 cos θ 2
Obteniendo así, el lagrangiano para el sistema del péndulo invertido doble lineal
1 1
2
1
( )
L = MXɺ 2 + I1θɺ12 + I 2θɺ22 + A1θɺ1 cos θ1 + A2θɺ2 cos θ 2 Xɺ + B12θɺ1θɺ2 cos (θ 2 − θ1 ) − [T1 cos θ1 + T2 cos θ 2 ]
2 2
Donde se han definido los siguientes parámetros, para poder simplificar aún más
las ecuaciones:
M = M 0 + M1 + M 2
I1 = I1( cm ) + M 1 L12 + M 2 L20
I 2 = I 2( cm ) + M 2 L22
A1 = M 1 L1 + M 2 L0
A2 = M 2 L2
B12 = M 2 L0 L2
T0 = M 2 L0 g
T1 = M 1 L1 g + T0
T2 = M 2 L2 g
66
7.3. ECUACIONES DE EULER – LAGRANGE
d ∂L ∂L
− = Fnc ({qɺ, q }) con q ∈ {θ1, θ2, X }
dt ∂qɺ ∂q
d ɺ
I1θ1 + A1 Xɺ cos θ1 + B12θɺ2 cos(θ2 − θ1 ) + ( A1 Xɺ θɺ1 − T1 )senθ1 − B12θɺ1θɺ2sen (θ2 − θ1) = F1
dt
d ɺ
I2θ2 + A2 Xɺ cos θ2 + B12θɺ1 cos(θ2 − θ1 ) − ( A2 Xɺ θɺ2 + T2 )senθ2 + B12θɺ1θɺ2sen (θ2 − θ1) = F2
dt
d ɺ
MX + A1θɺ1 cos θ1 + A2θɺ2 cos θ2 − Fc = F3
dt
67
Donde Fc determina el forzamiento externo (fuerza de control) sobre el movimiento
de los eslabones y F1,2,3 = F1,2,3 ({qɺ , q }) representan fuerzas no conservativas en el
sistema (fricción, amortiguamiento, perturbaciones, etc). Definiendo:
I1 B12 cos(θ2 − θ1 ) A1 cos θ1
Iqq = B12 cos(θ2 − θ1 ) I2 A2 cos θ2
A1 cos θ1 A2 cos θ2 M
T1senθ1
M1 = T2senθ2
0
0 −B12sen (θ2 − θ1) 0
M 2 = B12sen (θ2 − θ1) 0 0
A1senθ1 A2senθ2 0
F1
Fnc = F2
F3
0
Fc = 0
Fc
ɺɺ 2 = M + M P (2) + F + F
I qqQ 1 2 nc c
68
8. SIMULACIÓN DEL MODELO MATEMÁTICO DEL PÉNDULO INVERTIDO
DOBLE LINEAL EN SIMULINK DE MATLAB
Para llevar a cabo la simulación del modelo matemático del péndulo invertido doble
lineal, se utilizó la versión de MatLab R2015a (8.5.0.197613) de 64 bits, la cual nos
muestra una pantalla de inicio como la Figura 17.
• • •
Sabiendo que las variables de interés del sistema son: θ1 , θ1 , θ 2 , θ 2 , X , X , las
variables de estado escogidas son:
X1 = θ1
•
X 2 = θ1
X 3 = θ2
•
X 4 = θ2
X5 = X
•
X6 = X
U = Fc
69
Y entonces las derivadas de las variables de estado serían:
• •
X1 = θ1 = X 2
• ••
X 2 = θ1
• •
X 3 = θ2 = X 4
• ••
X 4 = θ2
• •
X5 = X = X6
• ••
X6 = X
F1 0
Fnc = F2 = 0
F 0
3
••
Y despejando θ 1 de la Ecuación 11, se tiene:
• •• ••
•• T senθ1 − B12 sen(θ 2 − θ1 ) θ 2 2 − B12 cos(θ 2 − θ1 ) θ 2 − A1 cos θ1 X
θ1 = 1
I1
••
Ecuación 14. Despeje de θ 1
70
••
Se despeja θ 2 de la Ecuación 12, se obtiene:
• •• ••
•• T2 senθ 2 + B12 sen (θ2 − θ1 ) θ12 − B12 cos (θ2 − θ1 ) θ 1 − A2 cos θ 2 X
θ2 =
I2
••
Ecuación 15. Despeje de θ 2
••
Y por último se despeja X de la Ecuación 12, y se tiene:
• •• ••
•• T2 senθ2 + B12 sen (θ2 − θ1 )θ12 − I 2 θ2 − B12 cos (θ2 − θ1 ) θ 1
X=
A2 cos θ2
••
Ecuación 16. Despeje de X
•• •• •• • • •
Despejando θ1 , θ 2 , X , y dejando en términos de θ1 , θ1 , θ 2 , θ 2 X , X , que son las
variables de estado de interés se tiene:
••
θ1 = (2 A22T1sen(θ1 ) + A22T1sen(θ1 − 2θ2 ) + A22T1sen(θ1 + 2θ2 ) − 2 A2 B12 Fc cos(θ1 ) + 4 A1FcI 2 cos(θ1 ) +
• 2 • 2
2B12 MT2 sen(θ1 ) + 2 A2 2 B12 θ2 sen(θ1 − θ2 ) + 2 A2 2 B12 θ2 sen(θ1 − 3θ2 ) − 4I 2 MT1sen(θ1 ) −
2 A2 B12 Fc cos(θ1 − 2θ2 ) + A1 A2T2 sen(θ1 − 2θ2 ) − A1 A2T2 sen(θ1 + 2θ2 ) − 2B12 MT2 sen(θ1 − 2θ2 ) +
• 2 • 2 • 2 • 2
2 A12 I 2 θ1 sen(2θ1 ) − 2 B12 2 M θ 1 sen(2θ1 − 2θ2 ) − 2 A1 A2 I 2 θ2 sen(θ1 − θ2 ) − 4B12 I 2 M θ2 sen(θ1 − θ2 ) −
• 2 • 2
2 A1 A2 B12 θ1 sen(2θ2 ) + 2 A1 A2 I 2 θ2 sen(θ1 + θ2 )) / (2( A12 I 2 + A2 2 I1 + B122 M − A1 A2 B12 − 2 I1 I 2 M +
A12 I 2 cos(2θ1 ) + A2 2 I1 cos(2θ2 ) + B12 2 M cos(2θ1 − 2θ2 ) − A1 A2 B12 cos(2θ1 ) − A1 A2 B12 cos(2θ2 ) −
A1 A2 B12 cos(2θ1 − 2θ2 )))
•• • • •
Ecuación 17. θ1 en términos de θ1 , θ1 , θ 2 , θ 2 X , X
71
••
θ 2 = ( A12T2 sen(θ 2 ) + ( A12T2 sen(2θ1 + θ 2 )) / 2 − ( A12T2 sen(2θ1 − θ 2 )) / 2 − A1 B12 Fc cos(θ 2 ) + 2 A2 FcI1 cos(θ 2 ) +
• 2 • 2
B12 MT1sen(θ 2 ) − A12 B12 θ1 sen(θ1 − θ 2 ) + A12 B12 θ1 sen(θ 2 − 3θ1 ) − 2 I1MT2 sen(θ 2 ) − ( A1 A2T1sen(2θ1 + θ 2 )) / 2
• 2 • 2
+ A 2 2 I1 θ 2 sen(2θ 2 ) − A1 B12 Fc cos(2θ1 − θ 2 ) + B12 2 M θ 2 sen(2θ1 − 2θ 2 ) − ( A1 A2T1sen(2θ1 − θ 2 )) / 2 +
• 2 • 2 • 2
B12 MT1sen(2θ1 − θ 2 ) + A1 A2 I1 θ1 sen(θ1 − θ 2 ) + 2 B12 I1M θ1 sen(θ1 − θ 2 ) − A1 A2 B12 θ 2 sen(2θ1 ) +
• 2
A1 A2 I1 θ1 sen(θ1 + θ 2 )) / ( A12 I 2 + A2 2 I1 + B12 2 M − A1 A2 B12 − 2 I1 I 2 M + A12 I 2 cos(2θ1 ) + A2 2 I1 cos(2θ 2 ) +
B12 2 M cos(2θ1 − 2θ 2 ) − A1 A2 B12 cos(2θ1 ) − A1 A2 B12 cos(2θ 2 ) − A1 A2 B12 cos(2θ1 − 2θ 2 ))
•• • • •
Ecuación 18. θ 2 en términos de θ1 , θ1 , θ 2 , θ 2 X , X
••
X = −(4 FcI1 I 2 − 2 B12 2 Fc − 2 B12 2 Fc cos(2θ1 − 2θ 2 ) + A1 B12T2 sen(2θ1 ) + A2 B12T1sen(2θ1 ) +
A1 B12T2 sen(2θ 2 ) + A2 B12T1sen(2θ 2 ) − 2 A1 I 2T1 sen(2θ1 ) − 2 A2 I1T2 sen(2θ 2 ) −
• 2 • 2
2 A1 B12 2 θ1 sen(3θ1 − 2θ 2 ) + 2 A2 B12 2 θ 2 sen(2θ1 − 3θ 2 ) − A1 B12T2 sen(2θ1 − 2θ 2 ) +
• • 2 • 2
A2 B12T1sen(2θ1 − 2θ 2 ) − 2 A1 B12 θ1 sen(θ1 ) − 2 A2 B12 θ 2 sen(θ 2 ) + 2 A2 B12 I1 θ1 sen(θ1 − 2θ 2 ) −
2 2
• 2 • 2 • 2 • 2
2 A1 B12 I 2 θ 2 sen(2θ1 − θ 2 ) + 2 A2 B12 I1 θ1 sen(θ1 ) + 2 A1 B12 I 2 θ 2 sen(θ 2 ) + 4 A1 I1 I 2 θ1 sen(θ1 ) +
• 2
4 A2 I1 I 2 θ 2 sen(θ 2 )) / (2( A12 I 2 + A2 2 I1 + B12 2 M − A1 A2 B12 − 2 I1 I 2 M + A12 I 2 cos(2θ1 ) +
A2 2 I1 cos(2θ 2 ) + B12 2 M cos(2θ1 − 2θ 2 ) − A1 A2 B12 cos(2θ1 ) − A1 A2 B12 cos(2θ 2 ) −
A1 A2 B12 cos(2θ1 − 2θ 2 )))
•• • • •
Ecuación 19. X en términos de θ1 , θ1 , θ 2 , θ 2 X , X
72
8.3. PARÁMETROS PARA LA SIMULACIÓN
g = 9.81 m / s
M 0 = (0.63 + 0.31) kg = 0.94 kg
M1 = 1.36 kg
M 2 = 1.317 kg
M = M0 + M1 + M 2
L0 = 0.5 m
L1 = 0.25 m
L2 = 0.24 m
I1( cm ) = 0.0272
I2( cm ) = 0.0244
I1 = I1( cm ) + M1L21 + M 2L20
I2 = I2( cm ) + M 2L22
A1 = M1L1 + M 2L0
A2 = M 2L2
B12 = M 2L0L2
T1 = (M1L1 + M2L0 )g
T2 = M 2L2g
73
Las variables que se utilizan para representar el modelo son:
74
Donde:
X 1 = θ1 → µ1
•
X 2 = θ 1 → µ2
X 3 = θ 2 → µ3
•
X 4 = θ 2 → µ4
X5 = X → No aparecen al solucionar
•
X6 = X → el sistema
U = Fc → µ5
75
9. ANÁLISIS DE LA RESPUESTA EN EL TIEMPO DEL MODELO
MATEMÁTICO DEL PÉNDULO INVERTIDO DOBLE LINEAL
Para poder realizar el análisis y la comprobación del modelo matemático del péndulo
invertido doble lineal obtenido, primero se analizó el péndulo en sus posiciones de
equilibrio o “estables”, y luego se procede a analizar puntos de inestabilidad,
cercanos a los estables.
Se puede observar en la Figura 19, que el sistema de péndulo doble lineal, posee
cuatro puntos de equilibrio.
76
9.1.1. Caso 1. Punto de equilibrio Eq_1
77
9.1.2. Caso 2. Punto de equilibrio Eq_2
78
9.1.3. Caso 3. Punto de equilibrio Eq_3
79
9.1.4. Caso 4. Punto de equilibrio Eq_4
80
9.2. CASOS INESTABLES
81
Se puede observar que en el caso en que θ1=170°, y θ2=180°, el sistema se vuelve
inestable.
82
10. DISEÑO DE CONTROLADORES PARA EL SISTEMA DE PÉNDULO
INVERTIDO DOBLE LINEAL
Para la linealización del modelo matemático del péndulo invertido doble lineal se
utilizó la matriz jacobiana, la cual contiene las derivadas parciales de las funciones,
con respecto a cada una de las variables de estado del sistema, que son las
posiciones y las velocidades de los 3 grados de libertad del péndulo doble lineal.
83
•
Para hallar la matriz A linealizada, se obtuvo la matriz jacobiana de X , realizando
• • • • • •
las derivadas parciales de X 1 , X 2 , X 3 , X 4 , X 5 , X 6 , con respecto a las variables de
estado X 1 , X 2 , X 3 , X 4 , X 5 , X 6 , que son las posiciones y velocidades de los 3 grados
de libertad del sistema de péndulo doble lineal.
∂ X• ∂ X1
• •
∂ X1
•
∂ X1 ∂ X1
• •
∂ X1
1
(0) (0) (0) (0) (0) (0)
∂X 1 ∂X 2 ∂X 3 ∂X 4 ∂X 5 ∂X 6
• • • • • •
∂ X2 ∂ X2 ∂ X2 ∂ X2 ∂ X2 ∂ X2
(0) (0) (0) (0) (0) (0)
∂X 1 ∂X 2 ∂X 3 ∂X 4 ∂X 5 ∂X 6
• • • • • •
∂ X3 ∂ X3 ∂ X3 ∂ X3 ∂ X3 ∂ X3
• ∂X (0) ∂X 2
(0)
∂X 3
(0)
∂X 4
(0)
∂X 5
(0)
∂X 6
(0)
Alinealizada = Jacobian[ X , X ](0) = •
1
• • • • •
∂ X 4 (0) ∂ X4
(0)
∂ X4
(0)
∂ X4
(0)
∂ X4
(0)
∂ X4
(0)
∂X 1 ∂X 2 ∂X 3 ∂X 4 ∂X 5 ∂X 6
• • • • • •
∂ X ∂ X5 ∂ X5 ∂ X5 ∂ X5 ∂ X5
5
(0) (0) (0) (0) (0) (0)
∂
1 X ∂X 2 ∂X 3 ∂X 4 ∂X 5 ∂X 6
• • • • • •
∂ X6 ∂ X6 ∂ X6 ∂ X6 ∂ X6 ∂ X6
∂X (0) ∂X 2
(0)
∂X 3
(0)
∂X 4
(0)
∂X 5
(0)
∂X 6
(0)
1
0 1 0 0 0 0
101.1600 0 -31.2053 0 0 0
0 0 0 1 0 0
Alinealizada =
-98.5780 0 73.0966 0 0 0
0 0 0 0 0 1
-19.3115 0 2.2268 0 0 0
Ecuación 20. Matriz A linealizada del modelo en SS del péndulo doble lineal
84
•
Para hallar la matriz B linealizada, se obtuvo la matriz jacobiana de X , realizando
• • • • • •
las derivadas parciales de X 1 , X 2 , X 3 , X 4 , X 5 , X 6 , con respecto a la entrada U, que
en este caso es la fuerza de control FC, del sistema de péndulo doble lineal.
•
∂ X 1 (0)
∂U
•
∂ X2
∂U (0)
•
∂ X
3
(0)
•
∂U
Blinealizada = Jacobian[ X ,U ](0) = •
∂ X 4 (0)
∂U
•
∂ X5
(0)
∂U
•
∂ X 6 (0)
∂U
0
-1.9715
0
Blinealizada =
0.7181
0
0.7580
Ecuación 21. Matriz B linealizada del modelo en SS del péndulo doble lineal
85
De esta manera se obtiene el modelo matemático, linealizado alrededor de
• •
θ1 = 0, θ1 = 0, θ 2 = 0, θ 2 = 0 , que son los valores de los parámetros en la posición
invertida del péndulo doble lineal.
0 1 0 0 0 0
101.1600 0 -31.2053 0 0 0
0 0 0 1 0 0
Alinealizada =
-98.5780 0 73.0966 0 0 0
0 0 0 0 0 1
-19.3115 0 2.2268 0 0 0
0
-1.9715
0
Blinealizada =
0.7181
0
0.7580
1 0 0 0 0 0
C = 0 0 1 0 0 0
0 0 0 0 1 0
0
0
0
D=
0
0
0
86
Entonces el modelo matemático en espacio de estados del péndulo invertido doble
lineal es:
•
x = Ax + Bu
y = Cx + Du
•
X1
• 0 1 0 0 0 0 X1 0
0 -31.2053 0 0 0 X 2 -1.9715
X
2 101.1600
•
X3 0 0 0 1 0 0 X 3 0
• = -98.5780 +
0 73.0966 0 0 0 X 4 0.7181
U
X4
• 0 0 0 0 0 1 X 5 0
X5
• -19.3115 0 2.2268 0 0 0 X 6 0.7580
X
6
X1
X
1 0 0 0 0 0 0
2
X
y = 0 0 1 0 0 0 3 + 0 U
X
0 0 0 0 1 0 4 0
X5
X 6
87
10.2. CONTROLABILIDAD DEL MODELO LINEALIZADO EN SS DEL SISTEMA
DE PÉNDULO DOBLE LINEAL
Co = B AB A2 B A3 B A4 B A5 B
88
10.3. OBSERVABILIDAD DEL MODELO LINEALIZADO EN SS DEL SISTEMA DE
PÉNDULO DOBLE LINEAL
89
10.4. ESTABILIDAD DEL MODELO LINEALIZADO EN SS DEL SISTEMA DE
PÉNDULO DOBLE LINEAL
Para conocer la estabilidad, se hallan los polos del modelo linealizado en espacio
de estados del sistema de péndulo invertido doble lineal.
90
10.5. DISEÑO DEL CONTROLADOR POR REALIMENTACIÓN DE ESTADOS
Como el sistema es completamente controlable, quiere decir que todos los estados
son medibles, entonces se puede aplicar la técnica de control por realimentación de
estados sin ningún inconveniente.
Para ello, el método más utilizado es elegir tales polos basándose en la experiencia
que se tiene del diseño mediante el lugar de las raíces, colocando un par de polos
dominantes en lazo cerrado y eligiendo los otros polos de forma que estén
suficientemente alejados a la izquierda de los polos dominantes en lazo cerrado.
Entonces se plantea un sistema del mismo orden del sistema de péndulo doble
lineal, la cual es de orden 6, definiendo para ello 3 plantas de orden 2.
91
ωn12 ωn 2 2
ωn 3 2
Gdeseada _RE = 2 2
⋅
2 2
⋅ 2 2
s + 2ρ1ωn1s + ωn1 s + 2ρ2 ωn 2s + ωn 2 s + 2ρ3 ωn 3s + ωn 3
0,52 62 122
Gdeseada _RE = 2 ⋅ ⋅
s + 2(0,7)(0,5)s + 0,52 s 2 + 2(1)(6)s + 62 s 2 + 2(1)(12)s + 122
0,25 36 144
Gdeseada _RE = 2 ⋅ ⋅
s + 0,7s + 0,25 s + 12s + 36 s + 24s + 144
2 2
1296
Gdeseada _RE = 6
s + 36,7s + 493,4s + 2929s + 7115s + 4277s + 1296
5 4 3 2
-12.0000 + 0.0000i
-12.0000 - 0.0000i
-6.0000 + 0.0000i
Polos_Deseados_RE =
-6.0000 - 0.0000i
-0.3500 + 0.3571i
-0.3500 - 0.3571i
92
Como el sistema es completamente observable, quiere decir que todos los estados
se pueden estimar, entonces se puede aplicar un estimador de estados sin ningún
inconveniente.
Entonces se plantea un sistema del mismo orden del sistema de péndulo doble
lineal, la cual es de orden 6, definiendo para ello 3 plantas de orden 2, pero los polos
5 veces más alejados hacia la parte izquierda, que los del controlador por
realimentación de estados.
20250000
Gdeseada _OE = 6
s + 183,5s 5 + 12336,25s 4 + 366075s 3 + 4447125s 2 + 13365000s + 20250000
93
Obteniendo de esta manera los polos deseados del sistema, así:
-60.0000 + 0.0000i
-60.0000 + 0.0000i
-30.0000 + 0.0000i
Polos_Deseados_OE =
-30.0000 + 0.0000i
-1.7500 + 1.7854i
-1.7500 - 1.7854i
42,96 −29,62 0
173,33 −721,56 0
−15,50 50,54 0
Ke =
− 117,52 410,11 0
0 0 90
−19,31 2,23 1800
94
Como se revisó que el sistema es completamente controlable, quiere decir que
todos los estados son medibles, entonces se puede aplicar la técnica de control
LQR sin ningún inconveniente, ya que es un controlador óptimo basado en la
realimentación de estados.
∞
J (U ) = ∫ ( X T QX + U T RU + 2 X T NU ) dt
0
Los parámetros del diseño del regulador LQ son las matrices de peso Q y R. Q se
utiliza como pesos de penalización para los estados y R para penalizar la señal de
control.
R=5
10 0 0 0 0 0
0 1 0 0 0 0
0 0 10 0 0 0
Q=
0 0 0 1 0 0
0 0 0 0 10 0
0 0 0 0 0 1
95
Con estos parámetros de diseño, el vector K_lqr de ganancias de realimentación de
estados es:
-12.5397 + 0.0000i
-11.4838 + 0.0000i
-5.7429 + 0.0000i
PLQR =
-5.2325 + 0.0000i
-0.4491 + 0.4341i
-0.4491 - 0.4341i
Como el sistema es completamente observable, quiere decir que todos los estados
se pueden estimar, entonces se puede aplicar un estimador LQE sin ningún
inconveniente, ya que es un observador óptimo basado en la estimación de estados.
96
Los parámetros del diseño del estimador LQE son las matrices de peso Qe y Re.
Qe se utiliza como pesos de penalización para los estados y R para penalizar la
señal estimada.
5 0 0
Re = 0 5 0
0 0 5
50 0 0 0 0 0
0 1 0 0 0 0
0 0 50 0 0 0
Qe =
0 0 0 1 0 0
0 0 0 0 50 0
0 0 0 0 0 1
97
10.9. DISEÑO DEL CONTROLADOR CUADRÁTICO GAUSSIANO Ó LQG
Al igual que el LQR, los parámetros del diseño del regulador LQG son las matrices
de peso QXU y QWV. Para ello necesitamos de las mismas matrices de pesos Q y
R, que se utilizaron para el LQR. Ahora Q1 se utiliza como pesos de penalización
para los estados y R1 para penalizar la señal de control.
R1 = 5
10 0 0 0 0 0
0 1 0 0 0 0
0 0 10 0 0 0
Q1 =
0 0 0 1 0 0
0 0 0 0 10 0
0 0 0 0 0 1
98
Adicional, se necesitan unas matrices de pesos para los disturbios de entrada y
salida del sistema, denominados también ruidos blanco gaussianos, de ahí el
nombre del controlador LQG.
50 0 0 0 0 0
0 1 0 0 0 0
0 0 50 0 0 0
Qn =
0 0 0 1 0 0
0 0 0 0 50 0
0 0 0 0 0 1
5 0 0
Rn = 0 5 0
0 0 5
Teniendo todas las matrices de peso Q1, R1, Qn y Rn, se dispone a hallar las
matrices QXU y QWV.
10 0 0 0 0 0 0
0 1 0 0 0 0 0
0 0 10 0 0 0 0
Q1 0
QXU = = 0 0 0 1 0 0 0
0 R1
0 0 0 0 10 0 0
0 0 0 0 0 1 0
0 0 0 0 5
0 0
50 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0
0 0 50 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0
Qn 0
QWV = = 0 0 0 0 50 0 0 0 0
0 Rn
0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 5 0 0
0 0 0 0 0 0 0 5 0
0 0 0 0 5
0 0 0 0
99
Con estos parámetros de diseño, el regulador LQG queda de la siguiente forma:
•
X 1 _e
• −17,3 1, 0 7, 2 0, 0 2,8 0, 0 X 1 _e 17,3 −7, 2 −2,8
X 2 _e −534, 7 −10,8 569, 6 60, 7 31, 4 7, 9 X _e 175, 0 −101,5 −28, 6
• 2
X 3 _e 7, 2 0, 0 −17,8 1, 0 −0, 6 0, 0 X 3 _e −7, 2 17,8 0, 6
• = 223,9 + U
3,9 −289, 2 −22,1 −21, 0 −2, 9 X 4 _e −154, 7 180, 4 20, 0
X 4 _e
• 2,8 0, 0 −0, 6 0, 0 −3,9 1, 0 X 5 _e −2,8 0, 6 3,9
X 5 _e
• 192, 5 4,1 −202, 0 −23, 3 −7, 6 −3, 0 X 6 _e −34, 6 12,3 6, 6
X _e
6
X 1 _e
X _e
2
X _e
y = [ 233, 7 5,5 −253,3 −30,8 −1, 4 −4, 0] 3 + [ 0 0 0]U
X 4 _e
X 5 _e
X 6 _e
100
11. SIMULACIÓN DE CONTROLADORES PARA EL SISTEMA DE PÉNDULO
INVERTIDO DOBLE LINEAL EN SIMULINK DE MATLAB
101
11.2. DIAGRAMA DE BLOQUES DEL SISTEMA CON CONTROL POR
REALIMENTACIÓN DE ESTADOS CON OBSERVADOR
Figura 29. Diagrama de bloques del controlador por realimentación de estados con
estimador de estados en SimuLink
102
11.3. DIAGRAMA DE BLOQUES DEL SISTEMA CON CONTROL LQR
103
11.4. DIAGRAMA DE BLOQUES DEL SISTEMA CON LQR + LQE
Figura 32. Diagrama de bloques del regulador óptimo LQR con estimador óptimo
LQE en SimuLink
104
11.5. DIAGRAMA DE BLOQUES DEL SISTEMA CON CONTROL LQG
105
12. ANÁLISIS DE LA RESPUESTA EN EL TIEMPO DEL SISTEMA DE
PÉNDULO INVERTIDO DOBLE LINEAL CON LOS CONTROLADORES
El control por Pole Placement es que mejor rango de operación tiene, entre -25° y
+25°, y con tiempos de estabilización de 5 segundos, como se puede verificar en
Figura 34, Figura 35 y Figura 36.
El regulador con observador, trabaja entre -7° y +7°, con unos tiempos de
estabilidad de θ1 y θ2, en torno a los 4 segundos, como se confirma en Figura 38,
Figura 39 y Figura 40.
El controlador LQR opera máximo entre -10° y +10°, y con unos tiempos de
estabilización de θ1 y θ2, alrededor de 4 segundos, como se puede observar en
Figura 42,
Figura 43, y
Figura 44.
El controlador LQG opera máximo para desviaciones entre -6° y +6°, siendo este
rango de control muy pequeño comparado con los otros, y con unos tiempos de
estabilización de θ1, y θ2 de 2 segundos, como se puede corroborar en Figura 50,
Figura 51 y Figura 52.
106
12.1. RESPUESTA CON REALIMENTACIÓN DE ESTADOS
107
12.2. RESPUESTA CON REALIMENTACIÓN DE ESTADOS + OBSERVADOR
108
12.3. RESPUESTA CON LQR
109
12.4. RESPUESTA CON LQR + LQE
110
12.5. RESPUESTA CON LQG
111
13. CONCLUSIONES
112
Se diseñaron varios controladores, como uno por pole placement, un observador de
estados, un regulador óptimo LQR, un estimador óptimo LQE y un regulador óptimo
gaussiano LQG, para el sistema de péndulo doble lineal y lograr mantenerlo en su
posición invertida, logrando la estabilización a cero de las variables θ1, θ2 y X, para
poderlo conservar en su posición invertida.
113
14. REFERENCIAS BIBLIOGRÁFICAS
114
[7] OLLERO Baturone, Anibal. Robótica: Manipuladores y Robots Moviles.
Editorial Alfamomega Marcombo. 2007. Barcelona, España.
[8] CRAIG. John J. Robótica. Tercera Edición. Editorial Prentice Hall. 2006.
México D.F., México.
[10] Furuta K., M. Yamakita, S. Kobayashi and M. Nishimura, "A New Inverted
Pendulum apparatus for education in Advances in Control Education" IFAC
1991 pp 191-196.
[11] Valera, A., Vallés, M., Tornero, J. (2001) “Real Time Robot Control
Implementation with Matlab/Simulink”, Telematics Applicaction in Automation
and Robotics, Ed. Pergamon, ISBN 0 08 043856 3.
[12] Slotine, J.J., Li, W. Applied Nonlinear Control. Englewood Cliffs, New Jersey :
Prentice Hall, 1991. 461p.
115
[13] SARABIA Ortiz, Daniel; DE PRADA Moraga, César y Otros. Control Predictivo
De Un Sistema Híbrido. Dpto. De Ingeniería De Sistemas Y Automática.
Universidad De Valladolid, Facultad De Ciencias C/ Real De Burgos S/N,
47011 Valladolid, España.
116
ANEXOS
117
ANEXO A. PLANOS DEL PÉNDULO INVERTIDO DOBLE LINEAL
118
119
120
121
122
123
124
125
ANEXO B. CÓDIGO DE MATLAB PARA EL MODELO MATEMÁTICO
%xdotdot=(T2*sin(teta2)+B12*sin(teta2-teta1)*teta1dot^2-I2*teta2dotdot-
B12*cos(teta2-teta1)*teta1dotdot)/(A2*cos(teta2));
%teta1dotdot = (T1*sin(teta1)-B12*sin(teta2-teta1)*teta2dot^2-
B12*cos(teta2-teta1)*teta2dotdot-A1*cos(teta1)*xdotdot)/I1;
xdotdotsubs=subs((T2*sin(teta2)+B12*sin(teta2-teta1)*teta1dot^2-
I2*teta2dotdot- B12*cos(teta2-teta1)*teta1dotdot) /
(A2*cos(teta2)),teta1dotdot,(T1*sin(teta1)-B12*sin(teta2-
teta1)*teta2dot^2 - B12*cos(teta2-teta1)*teta2dotdot-
A1*cos(teta1)*xdotdot) / I1);
teta1dotdotsubs = subs((T1*sin(teta1)-B12*sin(teta2-teta1)*teta2dot^2-
B12*cos(teta2-teta1)*teta2dotdot-
A1*cos(teta1)*xdotdot)/I1,xdotdot,(T2*sin(teta2)+B12*sin(teta2-
teta1)*teta1dot^2-I2*teta2dotdot-B12*cos(teta2-
teta1)*teta1dotdot)/(A2*cos(teta2)));
teta1dotdottemp = teta1dotdotsubs-teta1dotdot;
xtemp = xdotdotsubs-xdotdot;
126
%teta1dotdot_desp=-(B12*sin(teta1 - teta2)*teta2dot^2 + T1*sin(teta1) -
B12*teta2dotdot*cos(teta1 - teta2) + (A1*cos(teta1)*(B12*sin(teta1 -
teta2)*teta1dot^2 + I2*teta2dotdot -
T2*sin(teta2)))/(A2*cos(teta2)))/(I1*((A1*B12*cos(teta1 -
teta2)*cos(teta1))/(A2*I1*cos(teta2)) - 1))
teta2dotdot_desp = solve('A1*cos(teta1)*(-(B12*sin(teta1 -
teta2)*teta2dot^2 + T1*sin(teta1) - B12*teta2dotdot*cos(teta1 - teta2) +
(A1*cos(teta1)*(B12*sin(teta1 - teta2)*teta1dot^2 + I2*teta2dotdot -
T2*sin(teta2)))/(A2*cos(teta2)))/(I1*((A1*B12*cos(teta1 -
teta2)*cos(teta1))/(A2*I1*cos(teta2)) -
1)))+A2*cos(teta2)*teta2dotdot+M*((B12*sin(teta1 - teta2)*teta1dot^2 +
I2*teta2dotdot - T2*sin(teta2) + (B12*cos(teta1 - teta2)*(B12*sin(teta1 -
teta2)*teta2dot^2 + T1*sin(teta1) - B12*teta2dotdot*cos(teta1 -
teta2)))/I1)/(A2*cos(teta2)*((A1*B12*cos(teta1 -
teta2)*cos(teta1))/(A2*I1*cos(teta2)) - 1)))-A1*sin(teta1)*teta1dot^2-
A2*sin(teta2)*teta2dot^2-Fc=0',teta2dotdot)
pretty(teta2dotdot_desp)
teta2dotdot_S = simplify(teta2dotdot_desp)
pretty(teta2dotdot_S)
teta1dotdot_S = simplify(teta1dotdottemp)
pretty(teta1dotdot_S)
127
xdotdottemp = subs((B12*sin(teta1 - teta2)*teta1dot^2 + I2*teta2dotdot -
T2*sin(teta2) + (B12*cos(teta1 - teta2)*(B12*sin(teta1 -
teta2)*teta2dot^2 + T1*sin(teta1) - B12*teta2dotdot*cos(teta1 -
teta2)))/I1)/(A2*cos(teta2)*((A1*B12*cos(teta1 -
teta2)*cos(teta1))/(A2*I1*cos(teta2)) - 1)),teta2dotdot,(Fc +
A1*teta1dot^2*sin(teta1) + A2*teta2dot^2*sin(teta2) +
(A1*cos(teta1)*(B12*sin(teta1 - teta2)*teta2dot^2 + T1*sin(teta1) -
(A1*cos(teta1)*(T2*sin(teta2) - B12*teta1dot^2*sin(teta1 -
teta2)))/(A2*cos(teta2))))/(I1*((A1*B12*cos(teta1 -
teta2)*cos(teta1))/(A2*I1*cos(teta2)) - 1)) - (M*(B12*sin(teta1 -
teta2)*teta1dot^2 - T2*sin(teta2) + (B12*cos(teta1 -
teta2)*(B12*sin(teta1 - teta2)*teta2dot^2 +
T1*sin(teta1)))/I1))/(A2*cos(teta2)*((A1*B12*cos(teta1 -
teta2)*cos(teta1))/(A2*I1*cos(teta2)) - 1)))/(A2*cos(teta2) + (M*(I2 -
(B12^2*cos(teta1 - teta2)^2)/I1))/(A2*cos(teta2)*((A1*B12*cos(teta1 -
teta2)*cos(teta1))/(A2*I1*cos(teta2)) - 1)) +
(A1*cos(teta1)*(B12*cos(teta1 - teta2) -
(A1*I2*cos(teta1))/(A2*cos(teta2))))/(I1*((A1*B12*cos(teta1 -
teta2)*cos(teta1))/(A2*I1*cos(teta2)) - 1))))
xdotdot_S = simplify(xdotdottemp)
pretty(xdotdot_S)
128
ANEXO C. CÓDIGO DE MATLAB PARA LOS CONTROLADORES
129
Bs = jacobian([teta1dot; (2*A2^2*T1*sin(teta1) + A2^2*T1*sin(teta1 -
2*teta2) + A2^2*T1*sin(teta1 + 2*teta2) - 2*A2*B12*Fc*cos(teta1) +
4*A1*Fc*I2*cos(teta1) + 2*B12*M*T2*sin(teta1) +
2*A2^2*B12*teta2dot^2*sin(teta1 - teta2) +
2*A2^2*B12*teta2dot^2*sin(teta1 - 3*teta2) - 4*I2*M*T1*sin(teta1) -
2*A2*B12*Fc*cos(teta1 - 2*teta2) + A1*A2*T2*sin(teta1 - 2*teta2) -
A1*A2*T2*sin(teta1 + 2*teta2) - 2*B12*M*T2*sin(teta1 - 2*teta2) +
2*A1^2*I2*teta1dot^2*sin(2*teta1) - 2*B12^2*M*teta1dot^2*sin(2*teta1 -
2*teta2) - 2*A1*A2*I2*teta2dot^2*sin(teta1 - teta2) -
4*B12*I2*M*teta2dot^2*sin(teta1 - teta2) -
2*A1*A2*B12*teta1dot^2*sin(2*teta2) + 2*A1*A2*I2*teta2dot^2*sin(teta1 +
teta2))/(2*(A1^2*I2 + A2^2*I1 + B12^2*M - A1*A2*B12 - 2*I1*I2*M +
A1^2*I2*cos(2*teta1) + A2^2*I1*cos(2*teta2) + B12^2*M*cos(2*teta1 -
2*teta2) - A1*A2*B12*cos(2*teta1) - A1*A2*B12*cos(2*teta2) -
A1*A2*B12*cos(2*teta1 - 2*teta2)));teta2dot;(A1^2*T2*sin(teta2) +
(A1^2*T2*sin(2*teta1 + teta2))/2 - (A1^2*T2*sin(2*teta1 - teta2))/2 -
A1*B12*Fc*cos(teta2) + 2*A2*Fc*I1*cos(teta2) + B12*M*T1*sin(teta2) -
A1^2*B12*teta1dot^2*sin(teta1 - teta2) + A1^2*B12*teta1dot^2*sin(teta2 -
3*teta1) - 2*I1*M*T2*sin(teta2) - (A1*A2*T1*sin(2*teta1 + teta2))/2 +
A2^2*I1*teta2dot^2*sin(2*teta2) - A1*B12*Fc*cos(2*teta1 - teta2) +
B12^2*M*teta2dot^2*sin(2*teta1 - 2*teta2) - (A1*A2*T1*sin(2*teta1 -
teta2))/2 + B12*M*T1*sin(2*teta1 - teta2) + A1*A2*I1*teta1dot^2*sin(teta1
- teta2) + 2*B12*I1*M*teta1dot^2*sin(teta1 - teta2) -
A1*A2*B12*teta2dot^2*sin(2*teta1) + A1*A2*I1*teta1dot^2*sin(teta1 +
teta2))/(A1^2*I2 + A2^2*I1 + B12^2*M - A1*A2*B12 - 2*I1*I2*M +
A1^2*I2*cos(2*teta1) + A2^2*I1*cos(2*teta2) + B12^2*M*cos(2*teta1 -
2*teta2) - A1*A2*B12*cos(2*teta1) - A1*A2*B12*cos(2*teta2) -
A1*A2*B12*cos(2*teta1 - 2*teta2));xdot;-(4*Fc*I1*I2 - 2*B12^2*Fc -
2*B12^2*Fc*cos(2*teta1 - 2*teta2) + A1*B12*T2*sin(2*teta1) +
A2*B12*T1*sin(2*teta1) + A1*B12*T2*sin(2*teta2) + A2*B12*T1*sin(2*teta2)
- 2*A1*I2*T1*sin(2*teta1) - 2*A2*I1*T2*sin(2*teta2) -
2*A1*B12^2*teta1dot^2*sin(3*teta1 - 2*teta2) +
2*A2*B12^2*teta2dot^2*sin(2*teta1 - 3*teta2) - A1*B12*T2*sin(2*teta1 -
2*teta2) + A2*B12*T1*sin(2*teta1 - 2*teta2) -
2*A1*B12^2*teta1dot^2*sin(teta1) - 2*A2*B12^2*teta2dot^2*sin(teta2) +
2*A2*B12*I1*teta1dot^2*sin(teta1 - 2*teta2) -
2*A1*B12*I2*teta2dot^2*sin(2*teta1 - teta2) +
2*A2*B12*I1*teta1dot^2*sin(teta1) + 2*A1*B12*I2*teta2dot^2*sin(teta2) +
4*A1*I1*I2*teta1dot^2*sin(teta1) +
4*A2*I1*I2*teta2dot^2*sin(teta2))/(2*(A1^2*I2 + A2^2*I1 + B12^2*M -
A1*A2*B12 - 2*I1*I2*M + A1^2*I2*cos(2*teta1) + A2^2*I1*cos(2*teta2) +
B12^2*M*cos(2*teta1 - 2*teta2) - A1*A2*B12*cos(2*teta1) -
A1*A2*B12*cos(2*teta2) - A1*A2*B12*cos(2*teta1 - 2*teta2)))],[Fc]);
130
%% Parámetros del modelo
g = 9.81;
M0 = 0.63+0.31;
M1 = 1.36;
M2 = 1.317;
M = M0+M1+M2;
L0 = 0.5;
L1 = 0.25;
L2 = 0.24;
I1CM = 0.0272;
I2CM = 0.0244;
I1 = I1CM+M1*L1^2+M2*L0^2;
I2 = I2CM+M2*L2^2;
A1 = M1*L1+M2*L0;
A2 = M2*L2;
B12 = M2*L0*L2;
T1 = (M1*L1+M2*L0)*g;
T2 = M2*L2*g;
_________________________________________________________________________
%% Punto de Linealización
teta1=0;teta1dot=0;teta2=0;teta2dot=0;
Fc=0;
A = subs(As);
B = subs(Bs);
C = [1 0 0 0 0 0; 0 0 1 0 0 0; 0 0 0 0 1 0]; %Salidas solo posiciones
D = zeros(3,1);
A = double(A);
B = double(B);
_________________________________________________________________________
%% Características del sistema
131
%% Diseño del Controlador por Realimentación de Estados
s = tf('s');
dinamicaDeseada_RE = (wn1^2/(s^2+2*rho1*wn1*s+wn1^2))*
(wn2^2/(s^2+2*rho2*wn2*s+wn2^2))*(wn3^2/(s^2+2*rho3*wn3*s+wn3^2));
PolosDeseados_RE = pole(dinamicaDeseada_RE);
G_re=ss(A-B*Kr,B,C,[]);
_________________________________________________________________________
%% Diseño del Observador de Estados
s = tf('s');
dinamicaDeseada_OE =
(wn11^2/(s^2+2*rho11*wn11*s+wn11^2))*(wn21^2/(s^2+2*rho21*wn21*s+wn21^2))
*(wn31^2/(s^2+2*rho31*wn31*s+wn31^2));
PolosDeseados_OE = pole(dinamicaDeseada_OE);
Ke = place (A',C',PolosDeseados_OE)';
132
%% Diseño del Controlador LQR
Q = diag([10 1 10 1 10 1]);
R = 5;
K_lqr = lqr(A,B,Q,R,zeros(6,1));
Qe = diag([50 1 50 1 50 1]);
Re = 5*eye(size(C,1));
K_lqe = lqr(A',C',Qe,Re,zeros(6,3))';
Q1 = diag([10 1 10 1 10 1]);
R1 = 5;
Qn = diag([50 1 50 1 50 1]);
Rn = 5*eye(size(C,1));
QXU = blkdiag(Q1,R1);
QWV = blkdiag(Qn,Rn);
KLQG = lqg(G,QXU,QWV);
133
ANEXO D. PRESUPUESTO PARA LA FUTURA CONSTRUCCIÓN DEL
PÉNDULO INVERTIDO DOBLE LINEAL
134