Sunteți pe pagina 1din 114

INSTITUTO POLITÉCNICO NACIONAL EDUCACIÓN

CONSERVACIÓN
D ET

INNOVACIÓN
CENTRO DE INNOVACIÓN Y DESARROLLO

EC
CI
TECNOLÓGICO EN CÓMPUTO IPN

DISEÑO, CONSTRUCCIÓN, MODELADO


Y CONTROL EN TIEMPO REAL
DEL PÉNDULO CON RUEDA INERCIAL

T E S I S
PARA OBTENER EL GRADO EN

MAESTRÍA EN TECNOLOGÍA DE CÓMPUTO

P R E S E N T A:

Ing. Carlos Alejandro Merlo Zapata

DIRECTORES DE TESIS:

Dr. Ramón Silva Ortigoza


Dr. Victor Manuel Hernández Guzmán

México, D.F. Noviembre 2015.


INSTITUTO POLITÉCNICO NACIONAL
SECRETARÍA DE INVESTIGACIÓN Y POSGRADO

CARTA CESIÓN DE DERECHOS

En la Ciudad de México el día 20 del mes Julio del año 2015, el que suscribe
Carlos Alejandro Merlo Zapata alumno del Programa de Maestría en Tecnología de
Cómputo con número de registro B131111, adscrito al Centro de Innovación y Desarrollo
Tecnológico en Cómputo, manifiesta que es autor intelectual del presente trabajo de
Tesis, bajo la dirección del Dr. Ramón Silva Ortigoza y el Dr. Victor Manuel Hernández
Guzmán, y cede los derechos del trabajo titulado Diseño, onstrucción modelado y control
en tiempo real del péndulo con rueda inercial, al Instituto Politécnico Nacional para su
difusión, con fines académicos y de investigación.

Los usuarios de la información no deben reproducir el contenido textual, gráficas o


datos del trabajo sin el permiso expreso del autor y/o director del trabajo. Este puede
ser obtenido escribiendo a la siguiente dirección electrónica carlosmerlo7@hotmail.com.
Si el permiso se otorga, el usuario deberá dar el agradecimiento correspondiente y citar
la fuente del mismo.

Carlos Alejandro Merlo Zapata


Resumen

En este trabajo se presenta el modelado, simulación, diseño, construcción y control


del sistema subactuado péndulo con rueda inercial. El modelo dinámico, es obtenido
mediante la formulación de las ecuaciones de movimiento de Lagrange. Posteriormente,
vía SolidWorks se desarrolla un diseño mecánico, y a partir de éste se construye el
prototipo: Péndulo con rueda inercial. Finalmente, se implementan a nivel simulación y
experimental dos controladores híbridos, nombrados: Controlador híbrido 1 y controlador
híbrido 2. Cada uno de estos controladores se compone de un control no lineal y un
control lineal. El primero resuelve el problema de hacer oscilar el péndulo hasta llevarlo
a su posición vertical inestable (swing-up). Mientras que el segundo soluciona el problema
de estabilización del péndulo.

Palabras Clave:
Mecatrónica; Sistema Subactuado; Péndulo con rueda inercial; Modelado;
Formulación de Lagrange; Simulación; Diseño; Construcción; Prototipo; Con-
trolador Híbrido; Retroalimentación del Vector de Estado; Control Basado
en Energía; Instrumentación y Medición.
Abstract
This work presents the modeling, simulation, design, construction, and control of
the underactuated system known as Inertia Wheel Pendulum. The dynamic model of
Inertia Wheel Pendulum is deducted by means of the Lagrange formulation. The me-
chanical design is developed through SolidWorks and, subsequently, a prototype of the
Inertia Wheel Pendulum is built. Finally, the design and implementation of two hybrid
controllers are presented. Such hybrid controllers are called hybrid controller I and
hybrid controller II. Each one of these controllers is composed by a non linear control
and a linear control. The first one solves the problem of swinging-up the pendulum;
whereas, the second one is a solution for the pendulum stabilizing problem.

Keywords:
Mechatronics; Underactuated System; Inertia Wheel Pendulum; Modeling;
Lagrange Formulation; Simulation; Design; Construction; Prototype; Hy-
brid Controller; State Feedback; Energy Based Control; Instrumentation and
Measurement.
Dedicatoria

Dedico este trabajo a mi madre.


Agradecimientos

A Mayra Antonio Cruz por su ayuda, asesoría y compañía continua tanto en lo escolar
como en lo personal.

En segundo lugar quiero agradecer al Consejo Nacional de Ciencia y Tecnología


(CONACYT) por el apoyo económico, que sin duda fue decisivo en mi elección para
continuar mis estudios.

A mi Madre Alejandra Zapata Osorio por darme el apoyo y la confianza para ayu-
darme a superar las dificultades que se interpusieron siempre en mi camino para lograr
mis metas.

A mis compañeros de área por su apoyo, muy en especial a Celso Márquez Sánchez.

A mi amigo Juan Carlos Rivera Díaz por su valiosa amistad.

A mi asesor Victor Manuel Hernández Guzmán por su apoyo, paciencia y por com-
partirme de su conocimiento, el cual me inspira a seguirme preparando.

A mi asesor Ramón Silva Ortigoza por sus consejos, regaños y criticas que me han
ayudado a superarme.

A las personas que desde mis primeros años de escuela fueron amables conmigo y me
apoyaron de diversas maneras siempre con la mejor de las intenciones, lo que condujo a
facilitarme la conclusion de mis estudios, con los cuales estoy muy agradecido, no sólo
por el apoyo que me brindaron, también por el ejemplo que me han enseñado como
seres humanos. Sin orden de preferencia agradezco a las familias: Moreno Vargas, Anto-
nio Cruz, Esparza Rodríguez, Garrido Flores, a Juan Ángel García Cano y a Verónica
Rosales Alonso.
Índice general

1. Introducción 1
1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1. Control automático . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2. Sistemas subactuados pendulares . . . . . . . . . . . . . . . . . . 3
1.1.3. Aplicación de sistemas subactuados pendulares . . . . . . . . . . . 3
1.2. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Formulación y justificación del problema . . . . . . . . . . . . . . . . . . 7
1.4. Objetivos del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5. Recursos empleados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.6. Organización del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2. Modelado del péndulo con rueda inercial 11


2.1. Modelo dinámico articular 1 . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1. Diagrama de cuerpo libre . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2. Energía cinética . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3. Energía potencial . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.4. Lagrangiano y ecuaciones de movimiento de Lagrange . . . . . . . 14
2.2. Modelo dinámico articular 2 . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Simulación del modelo dinámico . . . . . . . . . . . . . . . . . . . . . . . 17

3. Construcción del sistema péndulo con rueda inercial 19


3.1. Descripción del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2. Estructura mecánica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.1. Diseño en SolidWorks . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.2. Fabricación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3. Motor de CD y sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1. Motor de CD con encoder para la rueda . . . . . . . . . . . . . . 23
3.3.2. Sensor para el péndulo . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4. Etapa de potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4.1. Fuente de alimentación . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4.2. Servo controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5. Adquisición y procesamiento de datos . . . . . . . . . . . . . . . . . . . . 25
3.5.1. Adquisición de datos . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6. Integración de los subsistemas . . . . . . . . . . . . . . . . . . . . . . . . 26

xv
xvi ÍNDICE GENERAL

3.7. Validación experimental del prototipo: Lazo abierto . . . . . . . . . . . . 27


3.7.1. Diagrama de bloques en Matlab-Simulink . . . . . . . . . . . . . . 27
3.7.2. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7.3. Discusión de resultados de simulaciones con resultados experimen-
tales del péndulo con rueda inercial en lazo abierto . . . . . . . . 28

4. Control híbrido 1 29
4.1. Estrategia de control para el problema de swing-up . . . . . . . . . . . . 29
4.1.1. Simulación del control swing-up . . . . . . . . . . . . . . . . . . . 31
4.1.2. Diagrama de bloques en Matlab-Simulink . . . . . . . . . . . . . . 32
4.1.3. Resultados obtenidos en simulación . . . . . . . . . . . . . . . . . 32
4.2. Estrategia de control para el problema de regulación . . . . . . . . . . . . 33
4.2.1. Simulación de la segunda estrategia . . . . . . . . . . . . . . . . . 35
4.2.2. Diagrama de bloques en Matlab-Simulink . . . . . . . . . . . . . . 36
4.2.3. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3. Integración de estrategias del control híbrido 1 . . . . . . . . . . . . . . . 37
4.3.1. Diagrama de bloques en Matlab-Simulink . . . . . . . . . . . . . . 37
4.3.2. Resultados obtenidos en simulación . . . . . . . . . . . . . . . . . 38
4.4. Experimentación control híbrido 1 . . . . . . . . . . . . . . . . . . . . . . 38
4.4.1. Diagrama de bloques en Matlab/Simulink-Control Desk . . . . . . 38
4.4.2. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.4.3. Discusión de resultados de simulaciones con resultados experimen-
tales del péndulo con rueda inercial con el uso del controlador
híbrido 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5. Control Híbrido 2 45
5.1. Estrategia de control para el problema de swing-up . . . . . . . . . . . . 45
5.1.1. Simulación de la segunda estrategia para el Swing-up . . . . . . . 47
5.1.2. Diagrama de bloques en Matlab-Simulink . . . . . . . . . . . . . . 47
5.1.3. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2. Estrategia de control para el problema de regulación . . . . . . . . . . . . 47
5.3. Integración de estrategias de control híbrido 2 . . . . . . . . . . . . . . . 48
5.3.1. Diagrama de bloques en Matlab-Simulink . . . . . . . . . . . . . . 49
5.3.2. Resultados obtenidos en simulación . . . . . . . . . . . . . . . . . 50
5.4. Experimentación control híbrido 2 . . . . . . . . . . . . . . . . . . . . . . 51
5.4.1. Diagrama de bloques en Matlab-Simulink-ControlDesk . . . . . . 51
5.4.2. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4.3. Discusión de resultados de simulaciones con resultados experimen-
tales del péndulo con rueda inercial con el uso del controlador
híbrido 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

6. Conclusión y perspectiva a futuro 55


6.1. Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.2. Comparación de desempeño entre controladores . . . . . . . . . . . . . . 56
6.2.1. Control Híbrido 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.2.2. Control Híbrido 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
ÍNDICE GENERAL xvii

6.2.3. Conclusiones de la comparativa . . . . . . . . . . . . . . . . . . . 57


6.3. Perspectiva a futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

A. Productos de investigación obtenidos 63


A.1. Capítulo de libro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
A.2. Artículos en revistas de arbitraje estricto . . . . . . . . . . . . . . . . . . 63
A.3. Artículos en revistas de divulgación y difusión científica y tecnológica . . 63
A.4. Artículos en extenso (conferencias internacionales) . . . . . . . . . . . . . 64

B. Planos de la Estructura Mecánica 65


B.1. Péndulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
B.2. Brazo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.3. Base de la estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

C. Hojas de datos del motor de CD y del encoder 75


C.1. 2642V0033 DC-micromotor con encoder de Faulhaber . . . . . . . . . . . 75
C.2. Miniencoder ITD 01 A 4 Y 1 de Baumer . . . . . . . . . . . . . . . . . . 77

D. Hojas de Datos de la Etapa de Potencia 79


D.1. Fuente HF100W-SF-24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
D.2. Driver AZ12A8DDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
D.3. Tarjeta de montaje MC1XAZ01 . . . . . . . . . . . . . . . . . . . . . . . 83

E. Hoja de Datos de la Tarjeta DS1104 85


E.1. DS1104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
E.2. Panel de conexiones CLP1104 . . . . . . . . . . . . . . . . . . . . . . . . 89

F. Costos del prototipo construido 91


xviii ÍNDICE GENERAL
Índice de figuras

2.1. Péndulo con rueda inercial. . . . . . . . . . . . . . . . . . . . . . . . . . . 12


2.2. Diagrama de cuerpo libre. . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3. Segunda representación del péndulo con rueda inercial. . . . . . . . . . . 16
2.4. Diagrama de cuerpo libre 2. . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5. Diagrama de bloques realizado vía Matlab-Simulink. . . . . . . . . . . . . 18
2.6. Resultados de simulación. . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1. Diagrama de bloques del péndulo con rueda inercial. . . . . . . . . . . . 19


3.2. Elementos principales renderizados. . . . . . . . . . . . . . . . . . . . . . 20
3.3. Elementos mecánicos para la fabricación de piezas. . . . . . . . . . . . . 21
3.4. Piezas fabricadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5. Motor de CD Faulhaber 2642V003 con encoder. . . . . . . . . . . . . . . 23
3.6. Encoder Baumer ITD 01 A 4 Y 1. . . . . . . . . . . . . . . . . . . . . . . 24
3.7. Fuente de alimentación HF100W–SF–24. . . . . . . . . . . . . . . . . . . 24
3.8. Servo controlador AZ12A8DDC. . . . . . . . . . . . . . . . . . . . . . . . 25
3.9. Tarjeta DS1104 de dSPACE. . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.10. Sistema péndulo con rueda inercial. . . . . . . . . . . . . . . . . . . . . . 27
3.11. Diagrama de bloques para simulación. . . . . . . . . . . . . . . . . . . . . 27
3.12. Resultados de experimentación. . . . . . . . . . . . . . . . . . . . . . . . 28

4.1. Resultados de simulación para el swing-up. . . . . . . . . . . . . . . . . . 32


4.2. Resultados de simulación del controlador que atrapa el péndulo (i.e. reg-
ulación). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3. Resultados de simulación del controlador híbrido 1. . . . . . . . . . . . . 39
4.4. Diagrama de bloques para experimentación. . . . . . . . . . . . . . . . . 40
4.5. Resultados de experimentación del controlador híbrido 1. . . . . . . . . . 41

5.1. Resultados de simulación del controlador para hacer oscilar al péndulo. . 48


5.2. Resultados de simulación del controlador híbrido 2. . . . . . . . . . . . . 50
5.3. Resultados de experimentación del controlador híbrido 2. . . . . . . . . . 53

xix
xx ÍNDICE DE FIGURAS
Índice de tablas

2.1. Código del bloque: Sistema. . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1. Principales características del motor de CD Faulhaber 2642V003. . . . . 23


3.2. Principales características de la fuente Hengfu HF100W–SF–24. . . . . . 24
3.3. Principales características del servo controlador AZ12A8DDC. . . . . . . 25

4.1. Código del controlador para levantar el péndulo. . . . . . . . . . . . . . . 31


4.2. Código del controlador para atrapar al péndulo . . . . . . . . . . . . . . 36
4.3. Código del controlador híbrido 1 para simulación. . . . . . . . . . . . . . 42
4.4. Código para el controlador híbrido 1. . . . . . . . . . . . . . . . . . . . . 43

5.1. Código del controlador para hacer oscilar al péndulo . . . . . . . . . . . . 47


5.2. Código del controlador híbrido 2 para simulación. . . . . . . . . . . . . . 49
5.3. Código del controlador híbrido 2 en experimentación. . . . . . . . . . . . 52

xxi
xxii ÍNDICE DE TABLAS
Capítulo 1

Introducción

El ser humano siempre ha buscado la manera de servirse de la naturaleza para crear


herramientas que le permitan cubrir sus necesidades. No obstante, con el pasar de los
años, ha buscado la manera de facilitar sus tareas cotidianas, tanto que, hoy en día, con
el uso de la tecnología y los grandes avances científicos, el ser humano es capaz incluso
de construir y controlar mecanismos complejos con una gran variedad de utilidades para
diversos propósitos. Siendo principalmente en la industria, donde se requiere de sistemas
veloces, confiables, precisos y especialmente autónomos; que cumplan con tareas como:
ensamble, verificación, transporte, empacamiento, discriminación, regulación, seguridad,
etc. Todo esto con el propósito de mejorar un gran número de procesos, los cuales
poseen cierto grado de autonomía y le permite al ser humano mejorar su calidad de
vida. Haciendo énfasis en el término mecanismo o sistema mecánico, se sabe que, es un
conjunto de elementos que tienen como propósito principal transmitir movimiento. Con el
fin de que sean lo suficientemente resistentes para evitar la deflexión y el punto de ruptura
al ser sometidos a grandes esfuerzos, generalmente, son construidos de materiales rígidos,
tales como metales y plásticos de alta resistencia. Además, los sistemas mecánicos suelen
ser operados con la ayuda de motores, entre los que destacan los motores de combustión
interna, de corriente directa, de corriente alterna, paso a paso, servomotores, entre otros.
Los movimientos que pueden realizar los mecanismos son de traslación, de rotación o
ambos, siendo los de traslación aquellos en los que el movimiento se lleva a cabo a través
de una línea recta, mientras que los de rotación son aquellos en los que el cuerpo gira
alrededor de un eje. Las variables que se utilizan para describir tales movimientos son
el desplazamiento, la velocidad, la aceleración, la corriente, el voltaje, el torque, etc.
Un tipo de sistemas mecánicos de interés en el área de la Mecatrónica son los sistemas
subactuados, éstos se caracterizan por el hecho de que en su estructura tienen más
grados de libertad que actuadores, en donde se controla más de un grado libertad con
un solo actuador. Algunos ejemplos de sistemas subactuados son los robots móviles no
holonómicos, robots bípedos, vehículos submarinos, misiles, satélites, cohetes espaciales,
entre otros.

1
2 CAPÍTULO 1. INTRODUCCIÓN

1.1. Antecedentes

Como se sabe, la Mecatrónica es la sinergia de cuatro ramas de la ingeniería, las


cuales son: Mecánica, Electrónica, Control e Informática. Siendo en la rama de Control
el principal aporte de este trabajo, debido a su uso tan indispensable para el logro de
los objetivos planteados en el presente, de la misma forma en que son importantes los
sistemas de tipo pendular.

1.1.1. Control automático

En el último siglo, el control automático ha jugado un papel muy importante en los


avances científicos del área de ingeniería. Esto se debe a que cada vez se busca poder
gobernar sistemas más complejos como lo son lo vehículos espaciales, robots bípedos,
robots con ruedas, convertidores de potencia, por mencionar algunos ejemplos. La teoría
de control parte de que todo sistema tiene su comportamiento propio, el cual el diseñador
tratará de modificar a voluntad dentro de lo posible. Para esto es importante conocer el
sistema y detectar las variables que pueden ser manipuladas, para que en base en ello,
manejar su dinámica de modo conveniente y así obtener el comportamiento esperado.
Comúnmente, en el control automático aplicado en la ingeniería, se controlan señales
de corriente y voltage de circuitos pertenecientes al sistema para obtener las señales
de salida deseadas, ya sea en circuitos puramente electrónicos o en sistemas mecánicos
impulsados muchas veces por sistemas electrónicos o eléctricos. Uno de los primeros y
más significativos trabajos en el área del control fue desarrollado por James Watt en 1788,
en su trabajo controló la velocidad de una máquina de vapor [1]. En 1877 E.J. Routh [3]
propuso un metodología que permite identificar si un sistema tiene raíces reales negativas,
con lo cual se determina si es o no estable dicho sistema, a esta serie de pasos se le ha
bautizado como criterio de estabilidad de Routh. En 1892 A.M. Lyapunov [4] en su tesis
doctoral plantea el problema general de la estabilidad del movimiento, en la cual propone
una aproximación general para el estudio de la estabilidad de sistemas no lineales. En
1895 A. Hurwitz propone un criterio de estabilidad a partir del polinomio característico
con raíces en la parte real negativa. En 1932, H. Nyquist [6] diseñó un procedimiento para
estabilizar sistemas con realimentación a partir de una respuesta a lazo abierto. Algunos
años más tarde, en 1945 los diagramas de H.W. Bode [9] permitieron que los ingenieros
pudieran diseñar sistemas de control lineales en lazo cerrado usando las nociones de
ganancia y fase. En los años cuarenta y cincuenta, muchos sistemas de control industrial
ya utilizaban controladores PID, mientras que entre los años 1960 y 1980, se popularizó
el control óptimo tanto en sistemas determinísticos como estocásticos, así como el control
adaptativo. De 1980 a 1990, los avances del control moderno se centraron en el control
robusto. Siendo la teoría del control moderno aquella basada en que la estabilidad de un
sistema que se pretende controlar depende del error entre el sistema real y su modelo
[14].
1.1. ANTECEDENTES 3

1.1.2. Sistemas subactuados pendulares


Se conoce como péndulo a un cuerpo que puede oscilar suspendido de un punto por un
hilo o una varilla [7]. El fenómeno oscilatorio del péndulo fue estudiado por el Astrónomo
y Físico Galileo Galilei, quien formuló importantes preguntas acerca de este, la cuales
pudieron ser solucionadas tras la aparición de las leyes de movimiento de Newton y el
trabajo de otros autores. También pudo percatarse de que la amplitud de la oscilación
del péndulo no dependía de la masa del mismo sino de su longitud. [10]. Ahora bien,
un tipo de mecanismos subactuados son los sistemas pendulares, los cuales emulan el
movimiento característico oscilatorio de un péndulo simple, entre los que destacan: el
péndulo invertido simple, el péndulo de Furuta, el péndulo con rueda inercial (IWP,
siglas en ingles) y el acrobot. El péndulo invertido simple ha sido usado en laboratorios
de control desde 1950, originalmente como una herramienta para ilustrar ideas en control
lineal así como la estabilización de sistemas inestables [8]. El péndulo invertido simple es
más que una herramienta de laboratorio, de hecho muchos proyectos de ingeniería pueden
ser modelados como sistemas pendulares, un ejemplo de ello es el control activo de un
cohete para mantener una altitud apropiada [11]. En 1992 K. Furuta reporta por primera
vez el péndulo de Furuta, el cual es básicamete una barra que se mueve libremente al
rededor de un pivote. Este pivote puede ser movido a través de un brazo mecánico
conectado a un motor de corriente directa. Lo interesante de este sistema subactuado es
que la aceleración angular del péndulo vertical no puede ser controlada directamente por
un actuador propio de esta articulación, motivo por el cual ha sido muy popular desde su
invención [12]. En 1999 Mark W. Spong introduce al péndulo con rueda inercial como un
novedoso sistema mecánico que consiste en un péndulo físico con un disco simétrico que
gira libremente en el eje de un extremo del péndulo. El disco giratorio es actuado con un
motor de corriente directa y el torque generado por la aceleración angular es usado para
activar el control del sistema. Los problemas de control aplicados al péndulo con rueda
inercial pueden recordar a los usados con el péndulo invertido simple o en el péndulo
de Furuta, pero es lo suficientemente distinto como para justificar una investigación
propia. Desde un punto de vista pedagógico, el péndulo con rueda inercial es un sistema
no lineal que puede ser usado para ilustrar diseños de control avanzado, basados en
métodos desarrollados recientemente [13]. Hasta la fecha este sistema sigue siendo muy
utilizado por investigadores de talla nacional e internacional para realizar experimentos
de técnicas de control, optimización, análisis de fricción, entre otros. A su vez algunos
de estos sistemas han sido modificados añadiéndole un grado de libertad, de modo que
aumenta la complejidad del mismo para ser controlado.

1.1.3. Aplicación de sistemas subactuados pendulares


Los sistemas subactuados pendulares son utilizados en laboratorios de control au-
tomático para el estudio e implementación de estrategias de control, también pueden
ser de gran uso en la deducción y comprensión del modelo dinámico de estos mismos.
Por otra parte, fuera del área académica, algunos sistemas complejos como lo son: Las
grúas de construcción, los robots bípedos, los cohetes espaciales y los quadrotores tienen
similitud con los sistemas pendulares, esta similitud radica en que también son sistemas
subactuados y en su objetivo de mantener la posición vertical con respecto al suelo en el
4 CAPÍTULO 1. INTRODUCCIÓN

caso del cohete y del robot bípedo, mientras que en el caso de la grúa de construcción y el
quadrotor se pretende mantener la posición horizontal con respecto al suelo. El ejemplo
más claro de esta similitud, es el del los vehículos conocidos como Segway; que emulan
el comportamiento de un péndulo invertido con ruedas al mantener la posición vertical
del conductor mientras el vehículo se desplazan de un lugar a otro. De este modo, una
vez que se comprende claramente el comportamiento de estos sistemas pendulares puede
resultar más sencillo el estudio de los sistemas mencionados en este párrafo.

1.2. Estado del arte


En el sistema mecánico subactuado comúnmente conocido con el nombre de péndulo
con rueda inercial, así como en los demás sistemas pendulares, existen principalmente
dos problemáticas de control, a saber:

Hacer oscilar el péndulo desde la posición colgante natural hasta llevarlo a un


punto muy cercano a de la posición invertida inestable. Este problema es conocido
como swing-up.

Estabilizar el péndulo alrededor del punto de equilibrio inestable, es decir, en la


posición invertida, lo cual es conocido como estabilización.

Así, trabajos asociados con el swing-up para el péndulo con rueda inercial y otros sis-
temas subactuados de tipo pendular, han sido reportados como sigue. En 1995 Spong [16]
estudia este problema en el Acrobot, utilizando un método de linealización por realimen-
tación parcial. Resultados de simulaciones fueron presentados. Asimismo, en 1999 Spong
et al. [13] discuten el enfoque de energía, basado en la colocación de una linealización
parcial por realimentación, y pasividad en dinámica cero para el sistema de péndulo con
rueda inercial. El sistema es utilizado como experimento de comparación para diver-
sas metodológias de control no lineal. Adicionalmente, resultados experimentales fueron
incluidos. Además, en 2000 Âstrom et al. [8] mostró que el comportamiento de un pén-
dulo invertido, asociado al problema de swing-up, depende de la aceleración del pivote
y la aceleración de la gravedad. Este trabajo también exhibió una comparación entre
las estrategias de control basadas en energía y las basadas en tiempo mínimo. Más aún,
en 2005 Alonso et al. [17] emplea la teoría de bifurcación para clasificar los diferentes
comportamientos dinámicos del péndulo con rueda inercial sujeto a control limitado,
utilizando un controlador lineal para el swing-up. En ese trabajo, la linealización por
realimentación y el control basado en pasividad fueron discutidos. Finalmente, en 2010
Carrillo-Serrano et al. [18] proponen un esquema de control para la oscilación hasta la
posició invertida del péndulo con rueda inercial. Ésto fue logrado utilizando un con-
trolador de seguimiento de trayectoria. Para tal diseño se tomó en cuenta la dinámica
eléctrica de el motor de corriente directa con escobillas usado como actuador. Respecto al
problema de estabilización, en 1999 Spong et al. [13] comparan el control de linealización
por realimentación con un control de introducción de polos para el balance del péndulo
con rueda inercial en su posición invertida. Así mismo, resultados experimentales fueron
presentados. El sistema del péndulo con rueda inercial es utilizado como experimento de
1.2. ESTADO DEL ARTE 5

comparación para diversas metodológias de control no lineal. En 2001 Praly et al. [21] ex-
plican que la prealimentación es una herramienta para la construcción de estabilizadores
para sistemas no lineales. Ellos mostraron que es posible añadir un grado de libertad
para que la solución de la ecuación diferencial parcial sea más fácil de encontrar. Su con-
tribución fue ilustrada usando el péndulo con rueda inercial. Además, en 2002 Ortega et
al. [22] considera la aplicación de un nueva fomulación de control basado en pasividad
(PBC), conocido como interconexión y asignación de amortiguamiento (IDA) para el
problema de estabilización del péndulo con rueda inercial. Su contribución principal es
la caracterización de una clase de sistemas con IDA-PBC y generan un controlador asin-
tóticamente suave con dominio de atracción garantizada. Más aún, en 2005 Alonso et al.
[17] se basan en una estrategia de control lineal para estabilizar localmente el sistema del
péndulo con rueda inercial en la posición invertida. La linealización por realimentación
y el control basado en pasividad son discutidos. Otro trabajo reportado en 2007 por
Qaiser et al. [23] propone una solución para el problema de estabilización de una clase
especial de sistemas subactuados no lineales ampliamente estudiados, entre los cuales
destacan el péndulo con rueda inercial, TORA y el acrobot. La estabilización de dichos
sistemas fue elaborada empleando moldeo de energía e inyección de amortiguamiento
y Backstepping. En 2007 Ye et al. [24] presentaron un diseño de estabilización de un
avión de despegue y aterrizaje vertical, abreviado por sus siglas en ingles PVTOL, y un
péndulo con rueda inercial. En el proceso de diseño, los sistemas mencionados fueron
transformados en cadenas de integradores con perturbaciónes no lineales y entonces una
técnica de control por saturación fue empleada. Su propuesta de control fue analizada
teóricamente y su rendimiento fue verificado utilizando simulaciones numéricas. En 2010,
el estudio de Carrillo-Serrano et al. [18] propone un esquema de control para la estabi-
lización del péndulo con rueda inercial. Ésto fue hecho utilizando un controlador lineal,
en cuyo diseño se consideró la dinámica eléctrica del del motor de corriente directa con
escobillas usado como actuador. Recientemente, en 2011 Ye et al. [25] proponen una téc-
nica por Backstepping de sistemas en cascada no lineales, cuyos subsistemas manejados
tienen una estructura de realimentación e incluyen términos de orden superior. Un pe-
queño control se asigna primero para estabilizar el subsistema de guiado, seguido de un
procedimiento de realimentación retrógrada. El sistema del péndulo con rueda inercial
es utilizado como ejemplo de demostración. En 2011 Y. F. Chen et al. [26] en su estudio
proponen un estrategia de control para los sistemas mecánicos subactuados. La transfor-
mación de Olfati es aplicada para representar el sistema dentro de una forma especial en
cascada. Un controlador de retroceso como controlador adaptivo basado en la técnica de
función por aproximación es diseñado. Los resultados de los casos de simulación para el
control del péndulo con rueda inercial son presentados para justificar el propósito de su
estrategia. En 2011 M.T. Ravichandran et al. [27] presentan la metodología del diseño
de un controlador para la clase se sistemas mecánicos subactuados que son afectados
por incertidumbres paramétricas y perturbaciónes externas. Estos efectos son cancela-
dos empleando la nueva estrategia que combina el rediseño de la técnica de Lyapunov
y de tiempo escalado. El péndulo con rueda inercial es mencionado como ejemplo de
aplicación. En 2011 R. Iriarte et al. [28] desarrollan un control de modos deslizantes de
segundo orden para resolver el problema de control de seguimiento para un péndulo de
rueda inercial. El modelo es desarrollado basándose en el controlador de dos relevadores
6 CAPÍTULO 1. INTRODUCCIÓN

para generar un conjunto de trayectorias deseadas para el péndulo con rueda inercial.
El desempeño del controlador construido se ilustró en un estudio experimental. En 2012
R. Martinez-Soto et al. [35] describieron la optimización de ganancias de un controlador
PID para estabilizar en péndulo con rueda inercial usando los métodos bio-inspirados y
evolutivos. La optimización por enjambres de partículas y los algoritmos genéticos son
usados para encontrar valores de ganancia optima de los controladores PID. Las simu-
laciones y experimentos son presentados. En 2011 L.T. Aguilar et al. [30] consideran el
problema de oscilación del péndulo con rueda inercial. Ellos combinan la linealización
exacta por realimentación con un controlador de dos relevadores sintonizados usando la
herramienta de frecuencia de dominio, tal como en la computación en lugar del sistema
de relevador perturbado. El rendimiento es validado mediante experimentos. En 2012
J. She et al. [31] presentaron un nuevo método de estabilización global para sistemas
mecánicos subactuados con dos grados de libertad. Esto basado en la idea de una entrada
de peturbación equivalente. El diseño del controlador requiere sólo el estado variable de
la posición y no de la velocidad. Este método fue probado en el sistema del péndulo con
rueda inercial y los resultados fueron validados. En 2012 M. López-Martínez et al. [32]
presentó un nuevo control no lineal con enfoque deslizante para el control de una clase
de sistemas mecánicos subactuados no-mínimo, tomando en cuenta la incertidumbre en
sus parámetros físicos. El enfoque no lineal es diseñado a travéz de salidas ficticias,
las cuales proveen una propiedad de fase mínima que permite la prueba de estabilidad
usando la técnica de Lyapunov. Se usa como ejemplo de análisis el péndulo de rueda
inercial entre otros prototipos. Los resultados de rendimiento, tiempo de respuesta y
la robustez paramétrica son medidos mediante simulaciónes. Por otra parte, a conti-
nuación se mencionan trabajos que estudian diversas temáticas asociadas al péndulo
con rueda inercial, entre ellas, problemas de optmización, revisiones del estado del arte,
entre otras. En 2004 R. Ortega et al. [33] llevaron a cabo una revision detallada del fun-
damento teórico, nuevos resultados y aplicaciones prácticas del control de interconexión
y amortiguamiento basado en pasividad como un diseño de aproximación, utilizando el
péndulo con rueda inercial como ejemplo. Asimismo, discutieron los problemas abiertos
actuales y futuros relacionados con el el péndulo de rueda inercial. En 2005 J.W. Grizzle
et al. [34] formularon y resolvieron dos problemas de control para sistemas mécanicos
subactuados de variable cíclica, la variable cíclica es subactuada y todas las formas de
variables son independientemente actuadas. Los resultados son ilustrados con dos tareas
de balanceo y un movimiento de levantamiento balístico. El péndulo con rueda inercial
es usado como ejemplo de ilustración. En 2008 R. Martinez et al. [35] presentan una
síntesis en la cual comentan que el control híbrido es propuesta viable para la clase de
sistema mecánico subactuado con dos grados de libertad con fricción de Coulomb en
las uniones. La propuesta de la síntesis es combinar el método de modo deslizante de
segundo orden con una solución técnica, imponiendo una fuerza relativa de fricción seca
en la unión subactuada. Los experimentos fueron realizados en un péndulo con rueda
inercial. En 2009 S. Andary et al. [36] trataron con un control de aproximación dedi-
cado a la generación de un círculo de límite estable para el sistema del péndulo con
rueda inercial. La aproximación propuesta es basada en linealización por realimentación
parcialmente no lineal y la dinámica de control para seguimiento de la trayectoria de
referencia periódica óptima.
1.3. FORMULACIÓN Y JUSTIFICACIÓN DEL PROBLEMA 7

1.3. Formulación y justificación del problema


Después de haber revisado el estado del arte asociado al péndulo con rueda inercial,
se encontró que existe una gran variedad de trabajos relacionados con estrategias de
control aplicadas al sistema bajo estudio, cuyos resultados han sido obtenidos a través
de simulaciones numéricas en su mayoría y algunos incluyen experimentos en tiempo
real. Sin embargo, dichas estrategias de control resultan relativamente complicadas, en
lo que se refiere a su comprensión e implementación; ya que para ésto hay que tener en
cuenta dos principales aspectos:

1. El modelo dinámico del sistema.

2. La teoría de control.

Hasta ahora, al mejor conocimiento del autor de esta tesis, tales aspectos no han sido re-
portados a detalle en un artículo. Ante dicha problemática se pretende obtener el modelo
dinámico del péndulo con rueda inercial de forma detallada. Asímismo se llevará a cabo
la simulación y experimentación en tiempo real de estrategias de control para el sistema
bajo estudio. Esta información podría auxiliar para una mejor comprensión y retención
de conceptos teóricos asociados a la teoría de control a nivel licenciatura y posgrado.
Además se presenta una propuesta de diseño, selección de componentes y construcción
para el sistema péndulo con rueda inercial con la intención de solventar la ausencia de
dicho material, ya que, aunque estos prototipos se encuentran en el mercado, los precios
podrían considerarse elevados. En resumen, este trabajo contiene la información nece-
saria para poder diseñar, seleccionar componentes, construir, modelar, comprender la
generalidad de algunos controladores asociados a las tareas de swing-up y regulación,
todo esto para el sistema péndulo con rueda inercial, además de realizar simulaciones vía
MATLAB-SIMULINK y realizar experimentos mediante el uso de MATLAB-SIMULINK
en conjunto con ControlDesk.

1.4. Objetivos del trabajo


En base a lo antes mencionado se plantea el objetivo general de la presente tesis; así
como los objetivos particulares que permitieron lograr exitosamente el objetivo general.

1.4.1. Objetivo general


El objetivo general de este trabajo se concluyó de manera exitosa, el cual consistió
en realizar la deducción del modelo dinámico del péndulo con rueda inercial, llevar a
cabo el diseño mecánico del sistema con ayuda del software SolidWorks, que dió pauta
a la contrucción de dicho sistema y finalmente implementar dos estrategias de control
para los problemas de swing-up y estabilización del péndulo. Para esto es importante
mencionar los objetivos particulares correspondientes a cada área de conocimiento de la
Mecatrónica que deben realizarse para el cumplimiento del objetivo general.

Objetivos particulares
8 CAPÍTULO 1. INTRODUCCIÓN

1. En ingeniería Mecánica
Deducción y comprensión del modelo cinemático y dinámico del sistema.
Diseñar el sistema péndulo con rueda inercial.
Llevar a cabo la construcción del sistema péndulo con rueda inercial.
2. En ingeniería Electrónica
Conocer el principio de operación de la tarjeta DS1104.
Comprender la electrónica de potencia para la correcta alimentación del ac-
tuador involucrado en el sistema; así como realizar la instrumentación para
el correcto uso de los sensores de posición angular.
3. En ingeniería de Control
Comprender la teoría de control asociada a los problemas que presenta el
péndulo con rueda inercial.
Aplicar los controladores que resuelvan la tarea del problema del Swin-Up y
el de estabilización del péndulo en la posición invertida.
4. En ingeniería de Computación
Programar y simular las estrategias de control propuestas vía Matlab-Simulink.
Implementar a nivel experimental las estrategias de control, con ayuda de la
tarjeta de adquisición de datos DS1104 en conjunto con Matlab-Simulink y
ControlDesk.

1.5. Recursos empleados


En esta sección se presentan los recursos que han sido indispensables para la realizaci-
ón de los objetivos planteados en la sección anterior. Entre estos recursos se encuentran:
Recursos de software. Para el diseño mecánico se utilizó el programa SolidWorks.
Mientras que para programar las leyes de control se utilizó MATLAB-Simulink y
ControlDesk para la adquisición de datos asociada a las variables del sistema.
Equipo de computo. Para el manejo del software antes mencionado se utilizo un PC
de escritorio con Windows XP, 4Gb de memoria RAM, i7 a 3.4GHz.
Equipo de instrumentación electrónico. Se utilizaron instrumentos como: multímetro,
osciloscopio, generador de señales, etc.
Interface computadora-péndulo. Tarjeta DS1104 que permitió la comunicación del
equipo de computo con el sistema construido.
Maquinas-herramientas. Se utilizaron para el maquinado de partes mecánicas.
Componentes electrónicos diversos. Tales como motor de CD, un encoder, servo
controlador, fuente de alimentación, entre otros.
1.6. ORGANIZACIÓN DEL TRABAJO 9

1.6. Organización del trabajo


El resto del trabajo se presenta en el siguiente orden. En el Capítulo 2 se desarrolla el
modelado dinámico del péndulo con rueda inercial. Además, se muestra la simulación del
sistema con una señal senoidal como entrada. Mientras que, en el Capítulo 3 se describe
el diseño mecánico y la construcción de un prototipo del péndulo con rueda inercial. El
diseño, simulación e implementación de los controladores híbridos propuestos se presenta
en los Capítulos 4 y 5. Finalmente, la conclusión y el trabajo futuro se dan en el Capítulo
6.
10 CAPÍTULO 1. INTRODUCCIÓN
Capítulo 2

Modelado del péndulo con rueda


inercial

En este Capítulo se explica la deducción en extenso del modelo dinámico del sistema
péndulo con rueda inercial así como una segunda representación de este mismo sistema.
También se muestran resultados de simulación vía Matlab-Simulink en lazo abierto para
la primera representación del modelo.

2.1. Modelo dinámico articular 1


El modelo dinámico es una descripción del movimiento que será capaz de realizar el
sistema, el cual facilita la comprensión y predicción de la respuesta dinámica del mismo.
Con la ayuda de este modelo y el uso de un software especializado se puede simular, en un
ambiente gráfico, el comportamiento del mecanismo. Existen diversas formas de obtener
el modelo dinámico, entre las que destacan: Ecuaciones de movimiento de Lagrange,
ecuaciones de Hamilton o por ecuaciones de movimiento de Newton. Para este trabajo, el
modelo dinámico se obtuvo mediante el uso de las ecuaciones de movimiento de Lagrange.
Con esta metodología propuesta por Lagrange, se tendrán tantas ecuaciones como grados
de libertad tenga el sistema. Para obtener el modelo dinámico mediante el uso de las
ecuaciones de Lagrange puede considerarse como un procedimiento que se divide en cinco
etapas que se enumeran a continuación [37], las cuales se describen con más detalle en
las siguientes subsecciones.

1.- Representar el sistema en la forma de diagrama de cuerpo libre e identificación


de parámetros.

2.- Calcular la energía cinética total del sistema (K).

3.- Calcular la energía potencial total del sistema (P ).

4.- Calcular el Lagrangiano (L).

5.- Desarrollar las ecuaciones de Lagrange.

11
12 CAPÍTULO 2. MODELADO DEL PÉNDULO CON RUEDA INERCIAL

2.1.1. Diagrama de cuerpo libre


Para comenzar con esta primera parte es importante tener como referencia el dia-
grama de cuerpo libre que permite visualizar los parámetros necesarios para los pasos 2
y 3 de la deducción del modelo dinámico, como lo son: las masas, centro de gravedad,
grados de libertar. Para obtener con esto un resultado similar al que se muestra en la
Figura 2.1. Los parámetros son:

Péndulo

Rueda

Figura 2.1: Péndulo con rueda inercial.

q1 es la posición angular del péndulo.

q2 es la posición angular de la rueda.

m1 es la masa del péndulo.

m2 es la masa de la rueda.

τ es el par aplicado a la rueda.

lc1 es la distancia al centro de masa del péndulo.

l1 es la longitud del péndulo.

I1 es la inercia del péndulo cuando gira alrededor de su centro de masa.

I2 es la inercia de la rueda.

g es la aceleración de la gravedad.
2.1. MODELO DINÁMICO ARTICULAR 1 13

2.1.2. Energía cinética


Para obtener la ecuación de la energía cinética total de sistema (K), primero es
necesario obtener la energía cinética del péndulo y de la rueda (K1 y K2 respectivamente)
de modo que K = K1 + K2 . Una vez dicho esto se prosigue con identificar el tipo de
movimiento que presenta cada elemento del sistema. En el péndulo con rueda inercial
tanto la rueda como el péndulo presentan movimiento de rotación con respecto a un eje
fijo [38], esto quiere decir que cada cuerpo tiene energía cinética traslacional y rotacional,
y está definida por
1 1
Kt+r = mv 2 + Iw2 ,
2 2
donde la primera parte está asociada a la energía traslacional la cual representa el
movimiento del péndulo cuando gira alrededor de la articulación asociada al ángulo
q1 , y está dada por un medio de la masa por la distancia al centro de masa del péndulo
por la velocidad curvilínea. Mientras que el segundo término se expresa como el producto
de un medio de la inercia por el cuadrado de la velocidad angular, que corresponde al
análisis del elemento gira sobre su centro de masa. Por lo tanto, para la deducción de la
energía cinética del péndulo resulta:

1 2 2 1
K1 = m1 lc1 q̇1 + I1 q̇12 .
2 2
La energía cinética de la rueda se obtiene de manera muy similar al péndulo. Pero como
la rueda está acelerada por la velocidad del péndulo, se tiene que la velocidad total del
la rueda está dada por q̇1 + q̇2 . Ya que, aunque el disco no presente movimiento alguno;
desde el punto de vista de un observador fijo, este estará en una diferente posición
angular aunque el disco no haya girado en q2 . Por lo tanto se tiene que:

1 1
K2 = m2 l12 q̇12 + I2 (q̇1 + q̇2 )2 .
2 2

2.1.3. Energía potencial


Se sabe que la energía potencial es la energía que tiene un cuerpo y que es capaz de
producir o liberar en un momento dado, para esto tenemos la formula representativa de
de la energía potencial para este caso es:

P = W h,

donde W es el peso del cuerpo que está definido como ya se mencionó por mg y h es la
altura a la que se encuentra con respecto a un punto de referencia definido. Nuevamente,
al igual que en la subsección anterior, la energía potencial (P ) está definida por la suma de
P1 y P2 que corresponden a la energía potencial del péndulo y la rueda respectivamente.
Siendo h la última variable por calcular, resulta conveniente utilizar nuevamente un
diagrama de cuerpo libre con nuevos trazos que permitan conocer de manera más sencilla
la altura a la que se encontrará el péndulo y el disco, véase Figura 2.2. Para calcular
la altura se propone como punto de referencia el lugar en el que el péndulo está en su
14 CAPÍTULO 2. MODELADO DEL PÉNDULO CON RUEDA INERCIAL

l c1 l1

o x

l c1 cos(q 1)
l 1 cos(q 1)
q1
h1

h2

Figura 2.2: Diagrama de cuerpo libre.

posición de reposo (q1 = 0) y el valor de K1 y K2 sean 0, entonces:

CA h́
cosθ = ∴ cos q1 =
H lc1
h́ = lc1 (cos q1 )

h = lc1 − lc1 (cos q1 ) (2.1)


Factorizando la ecuación (2.1) se obtiene:

h = lc1 (1 − cos q1 )
P1 = m1 glc1 (1 − cos q1 )
P2 = m2 gl1 (1 − cos q1 )

2.1.4. Lagrangiano y ecuaciones de movimiento de Lagrange


Entrando en detalle al Lagrangiano de un sistema, se puede decir que está definido
por la diferencia entre su energía cinética y potencial que se muestra en la ecuación 2.2

L(q(t), q̇(t)) = K(q(t), q̇(t)) − P (q(t)), (2.2)

así mismo, las ecuaciones de movimiento de Lagrange para un mecanismo están dadas
por la ecuación 2.3: · ¸
d ∂L(q, q̇) ∂L(q, q̇)
− = τ, (2.3)
dt ∂ q̇ ∂q
donde τ es el torque producido por un motor de CD. Una vez que se conoce la energía
cinética y potencial se sustituyen en la ecuación (2.2), obteniendo así:

1 2 2
L = [m1 lc1 q̇1 + I1 q̇12 + m2 l12 q̇12 + I2 (q̇1 + q̇2 )] − mg(1 − cos(q1 )),
2
2.2. MODELO DINÁMICO ARTICULAR 2 15

Donde m = m1 lc1 + m2 l1 . Ahora que ya se tiene el Lagrangiano, se procede con la


obtención de las ecuaciones de Lagrange, en la que como se mencionó, resultarán tantas
ecuaciones como grados de libertad tenga el sistema. Por lo tanto para el grado de
libertad del péndulo tenemos:
· ¸
d ∂L ∂L
− = 0, (2.4)
dt ∂ q̇1 ∂q1
como se observa es similar a la ecuación (2.3), a diferencia que en este caso se iguala a
0 debido a que este grado de libertad no cuenta con un actuador propio o directo que
le mueva. Por otra parte, para el grado de libertad de la rueda, la cual cuenta con un
motor de CD que lo acciona de manera directa, tenemos que su ecuación está dada por:
· ¸
d ∂L ∂L
− = τ. (2.5)
dt ∂ q̇2 ∂q2
Ahora solo falta sustituir el valor de L en las ecuaciones (2.4) y (2.5) y tras realizar las
derivadas correspondientes se obtiene:
2
m1 lc1 q̈1 + I1 q̈1 + m2 l12 q̈1 + I2 (q̈1 + q̈2 ) + mgsin(q1 ) = 0,
I2 (q̈1 + q̈2 ) = τ,

esta ecuación puede expresarse de forma matricial. Esto resulta conveniente, debido a
que las leyes de control que se usarán más adelante se facilitan haciendo uso de esta
forma y en función de q̈1 y q̈2 y como resultado obtenemos:
· ¸ · ¸ · ¸
q̈1 mg sin(q1 ) 0
D + = , (2.6)
q̈2 0 τ
· ¸ · 2
¸ · ¸
d11 d12 m1 lc1 + m2 l12 + I1 + I2 I2 0
D= = = . (2.7)
d21 d22 I2 I2 τ

2.2. Modelo dinámico articular 2


Un modelo dinámico no es único y mucho menos definitivo, esto debido a que se
considera como un diseño, ya que dicha deducción depende del punto de vista del di-
señador. Un modelo puede ser tan preciso como para considerar tantas variables como
se desee o tan sencillo como para solo tomar en cuenta los principales aspectos. Un mo-
delo complejo ayuda a tener resultados de simulación más parecidos a los obtenidos en
experimentos con el prototipo real (para este caso), sin embargo esto podría aumentar
la complejidad del desarrollo matemático del modelo, por lo tanto, lo mismo sucedería
con el diseño del controlador por un posible incremento del orden del sistema. Por otra
parte, un modelo sencillo, siempre mostrara resultados menos parecidos entre simulación
y experimentación, no obstante en algunos casos un modelo sencillo puede ser suficiente
para tener una buena predicción del comportamiento del sistema.
Con la intención de mostrar otra posible representación del modelo usado en la
sección anterior, se presenta el modelo utilizado en [13] y su diagrama de cuerpo libre
se puede observar en la Figura 2.3.
16 CAPÍTULO 2. MODELADO DEL PÉNDULO CON RUEDA INERCIAL

Péndulo

Rueda

Figura 2.3: Segunda representación del péndulo con rueda inercial.

Para este caso, los parámetros a considerar son los mismos que en la primera rep-
resentación, la diferencia radica en el sentido de q1 , q2 y τ . Por lo tanto, es claro que
cuando q1 = 0 el péndulo está en la posición invertida inestable y cuando q1 = π el
péndulo cuelga en la posición de reposo estable.
El procedimiento para la obtención del segundo modelo es el mismo que para la
primera representación, esto es usando las ecuaciones de movimiento de Langrange (L =
K − P ), como se recordará el primer paso es obtener la energía cinética y la potencial
de cada grado de libertad. Para el caso de la energía cinética, el análisis y las ecuaciones
son idénticas que en el primer modelo, sin embargo para el caso de la energía potencial,
se sabe que es igual al peso por la altura, si bien el peso es el mismo que para el primero
modelo pero la altura cambia, esto debido a que el punto de referencia es cuando q1 = 0
o sea en la posición invertida. Como se puede observar en la Figura 2.4 se muestran las
alturas a calcular (que son h1 y h2 ). Por lo tanto las ecuaciones que describen la energía
potencial están dadas por:
P1 = m1 glc1 (1 + cos (π − q1 )),
P2 = m2 gl1 (1 + cos (π − q1 )).
Una vez que se conocen las energías ya mencionadas se tiene:
1 2 2
L = [m1 lc1 q̇1 + I1 q̇12 + m2 l12 q̇12 + I2 (q̇1 + q̇2 )] − mg(1 + cos(π − q1 )),
2
se procede con las derivadas correspondientes de acuerdo a las ecuaciones (2.4) y (2.5)
y así obtener:
2
m1 lc1 q̈1 + I1 q̈1 + m2 l12 q̈1 + I2 (q̈1 + q̈2 ) − mgsin(q1 ) = 0, (2.8)
I2 (q̈1 + q̈2 ) = τ. (2.9)
2.3. SIMULACIÓN DEL MODELO DINÁMICO 17

l c1 l1
h2 h1 o q1
x
l c1 cos(ù à q 1)

l 1 cos(ù à q 1 ) ù à q1

Figura 2.4: Diagrama de cuerpo libre 2.

2.3. Simulación del modelo dinámico


La simulación de un modelo dinámico es muy importante, ya que ésta permite al
diseñador percatarse de errores posibles o mejorar el mecanismo según las necesidades,
exigencias y limitantes posibles. Ya que como su nombre lo indica mediante el uso del
hardware y software adecuado puede obtenerse una respuesta visual en un entorno gráfi-
co de dos dimensiones, una vista preliminar, en este caso en particular, una aproximación
a los resultados experimentales de las posiciones, velocidades, corriente demandada y el
torque producido. Estos dos últimos son de especial interés ya que pueden ayudar a
evitar averías en el motor o del driver de corriente. Para la simulación es importante ya
contar con los parámetros correspondientes a las masas y longitudes de cada elemento.
Estos valores se eligieron de acuerdo a un tamaño total del sistema que ya se tenia con-
templado de un bosquejo de diseño con valores aproximados y tras algunas simulaciones
se modificaron a modo de que estos demandaran menor par al motor y sin ser demasiado
pequeños, es decir, un equilibrio entre ligereza y un tamaño. Los parámetros se mues-
tran en la Tabla 2.1. La simulación se realizó mediante el uso de Matlab-Simulink, que
permite la utilización de diagrama de bloques. En este trabajo, el diagrama de bloques
se divide en tres etapas principales: Entradas, sistema y salida, tal y como se ve en la
Figura 2.5. Los cuales se describen a continuación.
• Entrada corresponde al torque (τ ), el cual es una señal senoidal con una amplitud
de 0.015 N/m.
• Sistema en esta etapa se programó el modelo (2.6) mediante el uso de un bloque
Matlab Function, cuyo código puede verse en la Tabla 2.1, y de integradores.
• Salidas corresponden a bloques llamados To Workspace, los cuales entregan arre-
glos de datos asociados con la evolución dinámica de las variables del sistema, q1 y
q2 , con el torque, τ , generado en el bloque Entrada y con el tiempo de simulación.
La obtención de los valores para los parámetros mostrados en la tabla 2.1 son explicados
en el 3.
18 CAPÍTULO 2. MODELADO DEL PÉNDULO CON RUEDA INERCIAL

1 1
MATLAB s s q1

To Workspace
Function 1 1
s s q2

ü
Sistema
t
Salidas
Entrada

Figura 2.5: Diagrama de bloques realizado vía Matlab-Simulink.

Tabla 2.1: Código del bloque: Sistema.


function Q = modelo(u)
q1 = u(1); tau = u(2);
I2 = 1.6850e-5; I1 = 1.6052e-4; m1 = 0.1340; m2 = 0.1160;
lc1 = 0.0877; l1 = 0.1250; g = 9.81;
D11 = I1+I2+m1*(lc1^2)+m2*l1^2; D12 = I2;
D12 = I2; D21 = I2; D22 = I2;
D = [D11 D12; D21 D22]; G11 = (m1*lc1 + m2*l1)*g*sin(q1);
G11 = (m1*lc1 + m2*l1)*g*sin(q1);
G21 = 0; G = [G11; G21]; T = [0; tau];
Qpp = D \ ( T - G); q2pp = Qpp(2,1);
Q = [q1pp;q2pp];

Los resultados obtenidos en la simulación del modelo (2.6) son mostrados en la Figura
2.6, en los cuales se puede observar que el péndulo de comporta tal y como se esperaba,
esto es oscilando lentamente primero en sentido contrario a las manecillas del reloj y
después en sentido horario según si el par es positivo o negativo.

0.2
q1 2200 0.02 τ
q̇2

0.1 1650 0.01


[N − m]
[rad/s]
[rad]

0 1100 0

−0.1 550 −0.01

t [s] t [s] t [s]


−0.2 0 −0.02
0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10

(a) (b) (c)

Figura 2.6: Resultados de simulación.


Capítulo 3

Construcción del sistema péndulo con


rueda inercial

La construcción del péndulo con rueda inercial consta de varios subsistemas como lo
son: El sistema mecánico, el de potencia y el de adquisición de datos. En los siguientes
subsecciones se detalla la importancia de cada uno, así como sus principales caracterís-
ticas. Finalmente se presentan pruebas a nivel experimentación vía Matlab-Simulink y
ControlDesk para el sistema péndulo rueda inercial en lazo abierto.

3.1. Descripción del sistema


El sistema péndulo con rueda inercial se ha dividido, para este trabajo, en tres
subsistemas a modo de que el análisis de su funcionamiento resulte más sencillo, y estos
subsistemas son: Estructura mecánica, Etapa de potencia y Adquisición y procesamiento
de datos. Esto se puede ver en la Figura 3.1.

Estructura mecánica Etapa de potencia Adquisición y proc.


de datos
Motor de CD Servo controlador
Tarjeta Ds1 104

Encoders Fuente de CD Computadora

Figura 3.1: Diagrama de bloques del péndulo con rueda inercial.

19
20CAPÍTULO 3. CONSTRUCCIÓN DEL SISTEMA PÉNDULO CON RUEDA INERCIAL

3.2. Estructura mecánica


En está sección se presentan los aspectos a considerar así como la metodología uti-
lizada para el diseño de los componentes mecánicos.

3.2.1. Diseño en SolidWorks


El diseño mecánico es posiblemente la primer etapa en la elaboración de todo meca-
nismo, ya que en éste el diseñador puede plasmar sus ideas ya sea en el papel o en un
monitor de manera visual, lo que permite mostrar una primera version del diseño. Este
proceso, así como la simulación, permite analizar el sistema y mejorarse tantas veces
como sea necesario. En el diseño mecánico es de suma importancia tomar en cuenta la
resistencia de los materiales a utilizar, las condiciones ambientales, la frecuencia y el tipo
de uso que se le dará, así como las fuerzas a las que estará sometido. En este caso se pensó
en un un prototipo relativamente compacto y ligero para su fácil manejo y transporte,
estético, sencillo, fácil de ajustar, con uso de elementos de fácil adquisición y reemplazo
dado el caso y además suficientemente rígido para resistir a la deformación estructural.
Por tales motivos se diseño el prototipo con perfil de aluminio BOSCH 30x30 2NVS con
un momento de resistencia de Wx y Wy de 2cm3 y una masa de 1 kg/m según el catálogo
Rexroth de BOSCH Group, “Elementos básicos de mecánica", version 13.0. Bajo estas
propiedades se cumplen los requerimientos planteados. El diseño 3D se realizó con el uso
de SolidWorks 2012 el cual además tiene la bondad de calcular la inercia y centro de
gravedad para cada elemento. Las imágenes del diseño se pueden observa en la Figura
3.2.

(a) (b) (c)

Figura 3.2: Elementos principales renderizados.

3.2.2. Fabricación
En esta subsección se presenta la fabricación de los elementos mecánicos que en
conjunto forman la parte mecánica del sistema péndulo con rueda inercial. En la Figura
3.3 se muestran las piezas utilizadas para la realización de el proceso de fabricación de
3.2. ESTRUCTURA MECÁNICA 21

la estructura mecánica del IWP. Así mismo, en la Figura 3.4 se enumeran los principales
componentes mecánicos del sistema. De los cuales se presenta una breve descripción del
proceso de fabricación así como algunos datos técnicos.

Figura 3.3: Elementos mecánicos para la fabricación de piezas.

4
3
5
2

1 6

Figura 3.4: Piezas fabricadas.

➀ Rueda. Esta pieza esta hecha a partir de un cilindro de aluminio aleación 6061 con
terminado T6 de 100 mm de diámetro y 20 mm de alto. Para su fabricación, primero
se utilizó un torno y se hizo un desbaste en el diámetro exterior de 60 mm por 6
mm de largo y en la parte de sujeción del disco a la flecha del motor. Igualmente
se hizo un desbaste hasta tener 10 mm de diámetro por 5 mm de largo, después
en el taladro de banco se hizo un orificio de 4 mm de diámetro que atraviesa todo
el disco. Finalmente en el mismo taladro se hicieron cuatro agujeros de 1/8"desde
la parte del diámetro exterior hacia el centro de la pieza para posteriormente con
el machuelo, hacer una cuerda interna que permita mediante el uso de opresores
sujetar el disco a la flecha del motor. El plano correspondiente se puede ver en el
apéndice B.1.
22CAPÍTULO 3. CONSTRUCCIÓN DEL SISTEMA PÉNDULO CON RUEDA INERCIAL

➁ Péndulo. Esta pieza está hecha de la misma aleación de aluminio que la rueda,
para su fabricación se utilizó una fresadora para el desbaste de material y dejar
una pieza de 150 mm de alto por 32 mm de ancho con una espesura de 6 mm,
una vez que se tiene la forma rectangular se finalizó con los barrenados; de un
extremo de la pieza se barrenó un agujero de 8 mm de diámetro que atraviesa la
pieza por completo para ahí introducir una flecha que se coloca dentro del encoder,
después se perforó otro barreno que atraviesa la pieza desde una cara lateral hacia
el centro del barrenado anterior, esto con una broca de 1/8"para también con un
machuelo crear una cuerda para que con un opresor se sujete la flecha al péndulo,
otro barreno se hizo al extremo opuesto del primero, con un diámetro de 11.18
mm para que la flecha del motor atraviese el péndulo y los 3 barrenos restantes
de 6/32"para sujetar el motor a la pieza con tornillos. El plano correspondiente se
puede ver en el apéndice B.1.
➂ Sujetador. Esta pieza hecha de la misma aleación de aluminio de las anteriores fue
hecha a partir de una placa rectangular para obtener las medidas 45.720 mm x 25
mm x 6 mm, después se barrenaron dos agujeros, uno de 15.9 mm de diámetro
4 y el otro de 13 mm de diámetro para colocar en él un
para el paso de la pieza °
rodamiento que recibe el peso del péndulo y le permita girar libremente. El plano
correspondiente se puede ver en el apéndice B.2.
➃ Brazo. Este elemento hecho a partir de un cilindro de acero inoxidable de 150 mm
de largo x 15,9 mm de diámetro. Además, esta pieza sirve para sujetar la pieza
3 que a su vez va sujeta a la flecha de otro motor de CD, que no se utiliza en
°,
el sistema péndulo con rueda inercial. El plano correspondiente se puede ver en el
apéndice B.2.
➄ Placas. Dos placas de acero inoxidable de 200 mm x 200 mm x 1.5 mm se usaron
para mejorar el aspecto del sistema. El plano correspondiente se puede ver en el
apéndice B.3.
➅ Perfiles. Los perfiles cuadrados BOSCH 30x30 2NVS solo se cortaron para obtener
las medidas requeridas: cuatro de 250 mm y ocho de 140 mm.
La fabricación de las piezas mostradas en la Figura 3.4 se realizaron en maquinas-
herramienta convencionales por expertos dedicados a este oficio, esto quiere decir que se
fabricaron de forma manual o de manera no automatizada, debido a la sencillez de las
piezas a fabricar, resulta conveniente el uso de estas maquinas-herramienta por varias
razones, como lo son: fácil y rápida preparación del aparato, no se requiere programar
un código, son más accesibles y menos costosas de adquirir o rentar.

3.3. Motor de CD y sensores


En el péndulo con rueda inercial como ya se menciono cuenta con un motor de CD,
el cual inyecta movimiento al disco. Para, para poder tener un muestreo de este giro y
del que se presenta en la articulación sin actuador se necesitan dos sensores. Los cuales
son descritos en la subsección 3.3.1.
3.4. ETAPA DE POTENCIA 23

3.3.1. Motor de CD con encoder para la rueda


Para la selección del motor de CD es importante tener una buena relación entre peso
y par, o sea, un motor ligero y fuerte, esto con la intención’on de que el sistema sea
capaz de lograr sus objetivos de control con mayor eficiencia. Para este caso se utiliza el
motor de CD Faulhaber 2642V003 que se muestra en la Figura 3.5. Este motor cuenta
con un encoder de tipo incremental con resolución de 1028 posiciones por revolución.
Las principales características del motor se muestran en la Tabla 3.3.1. La hoja de datos
de dicho motor se incluye en el apéndice C.1.

Figura 3.5: Motor de CD Faulhaber 2642V003 con encoder.

Tabla 3.1: Principales características del motor de CD Faulhaber 2642V003.


Voltaje nominal 24 V
Constante de par (ki ) 34.6 mNm/A
Corriente sin carga 0.058 A
Potencia de salida 23.2 W

3.3.2. Sensor para el péndulo


El sensor usado en la articulación del péndulo es un mini encoder de tipo incremental
con una resolución de 1024 posiciones por revolución, sus dimensiones son pequeñas, pesa
aproximadamente 50 gramos además de dar un buen aspecto al prototipo. Este encoder
es fabricado por Baumer en el modelo ITD 01 A 4 Y 1 y puede verse en la Figura 3.6.
La hoja de datos de dicho sensor se incluye en el apéndice C.2.

3.4. Etapa de potencia


Como se mostró anteriormente en la Figura 3.1 la etapa de potencia del péndulo con
rueda inercial está constituida por dos elementos: La fuente de alimentación y el servo
controlador.
24CAPÍTULO 3. CONSTRUCCIÓN DEL SISTEMA PÉNDULO CON RUEDA INERCIAL

Figura 3.6: Encoder Baumer ITD 01 A 4 Y 1.

3.4.1. Fuente de alimentación


La fuente de alimentación que se utilizó es la fabricada por Hengfu modelo HF100W–
SF–24 que se puede apreciar en la Figura 3.7. Esta fuente posee la característica de
regular el voltaje de entrada mediante un switch, también ofrece protección contra:
Sobrecarga, sobre voltaje y cortocircuito. Algunas de las características se muestran en
la Tabla 3.2. La hoja de datos de la fuente mencionada se incluye en el apéndice D.1.

Figura 3.7: Fuente de alimentación HF100W–SF–24.

Tabla 3.2: Principales características de la fuente Hengfu HF100W–SF–24.


Rango de voltaje de entrada 85 − 32/170 − 264 VCA
Protección de salida de sobrecarga 110 − 130 %
Protección de salida de sobre voltaje 115 − 150 %
Temperatura de operación −20◦ − 50◦ C
Salida CD 24 V 4.5 A

3.4.2. Servo controlador


Para encender el motor de CD del péndulo se un utilizó el servo controlador AZ12A8DDC
de Advanced Motion Controls debido a que posee características muy atractivas y fun-
cionales para los requerimientos de operación del péndulo con rueda inercial. Este con-
trolador esta diseñado para arrancar motores de CD con escobillas con frecuencia de
3.5. ADQUISICIÓN Y PROCESAMIENTO DE DATOS 25

conmutación alta, cuenta con protección contra sobre voltaje, sobre corriente, sobreca-
lentamiento y cortocircuito. Una característica importante del servo drive AZ12A8DDC
es que incluye un lazo de control por PI (promediador-integrador) interno de corriente,
el cual asegura que la corriente de salida is sea la corriente deseada i∗ , es decir que el
error e = i∗ − is ≈ 0. La hoja de datos del driver mencionado se incluye en el apéndice
D.2. Así mismo, en el apéndice D.2 la hoja de datos de la tarjeta de montaje MC1XAZ01
que se usa para el uso del servo controlador mencionado en esta sección.

Figura 3.8: Servo controlador AZ12A8DDC.

Tabla 3.3: Principales características del servo controlador AZ12A8DDC.


Corriente pico 12 A
Corriente continua 6A
Voltaje de alimentación 20 − 80 VCD

3.5. Adquisición y procesamiento de datos


La adquisición y procesamiento de datos se llevó a cabo mediante el uso de dos
sistemas, la tarjeta de adquisición de datos DS1104 de dSPACE y el procesamiento de
datos con una computadora con sistemas Windows 7 de 32bits.

3.5.1. Adquisición de datos


Esta tarjeta es la interfaz entre el sistema péndulo con rueda inercial y la computa-
dora, por lo tanto está tarjeta se conecta a la ranura PCI o PCIe de la tarjeta madre de
la computadora y los sensores y etapa de potencia a la tarjeta. El motivo por el cual se
utilizó una tarjeta DS1104, es debido a la compatibilidad de software que existe entre
MATLAB y el firmware de la tarjeta, siendo Simulink (una extensión de MATLAB) un
26CAPÍTULO 3. CONSTRUCCIÓN DEL SISTEMA PÉNDULO CON RUEDA INERCIAL

compilador de alto nivel, lo cual da como resultado, una opción práctica para progra-
mar estrategias de control complejas en un entorno gráfico, además de contar con las
siguientes características:
◦ Procesador PowerPC603 de punto flotante de 64 bits, reloj interno de 250 MHz.
◦ Memoria física de 32 MB y memoria flash de 8 MB.
◦ Temporizador de 32 bits para un tiempo de muestreo de 40 ns de resolución.
◦ Diez señales de PWM (modulación por ancho de pulso) con frecuencia máxima de
20 MHz.
◦ Dos canales independientes para encoders de tipo incremental.
◦ Ocho convertidores A/D, cuatro de ellos multiplexados y los otros cuatro paralelos.
◦ Veinte señales digitales configurables como entrada/salida.
◦ Dos puertos RS232.
◦ DSP esclavo TMS320F240 de Texas Instruments.
◦ Conexión mediante una ranura PCI.
Es importante resaltar que otra razón por la que se utilizo dicha tarjeta es que ya se
contaba con ella y resultó sumamente conveniente debido a las razones ya explicadas,
de no haber sido el caso, no hubiera sido conveniente adquirir una tarjeta dSpace 1104
con la única intención de instrumentar un péndulo con rueda inercial, esto debido a su
alto costo, en tal caso puede utilizarse un microcontrolador tal y como se usó en [39].
La hoja de datos de la tarjeta DS1104 se incluye en el apéndice E.1. Así mismo, en el
apéndice E.2 se presenta la hoja de datos del panel de datos CLP1104 que se usa en
conjunto con la tarjeta DS1104. En la Figura 3.9 se muestra la tarjeta DS1104. Por otra

Figura 3.9: Tarjeta DS1104 de dSPACE.

parte, en el apéndice F se incluye una tabla que contiene los costos de cada uno de los
competentes mencionados en este capítulo.

3.6. Integración de los subsistemas


La integración de los subsistemas no es más que unir los subsistemas de modo que
pueda apreciarse como un solo sistema y esté listo para su uso. Una vez hecho esto, el
péndulo con rueda inercial quedó terminado tal y como se ve en la Figura 3.10.
3.7. VALIDACIÓN EXPERIMENTAL DEL PROTOTIPO: LAZO ABIERTO 27

Figura 3.10: Sistema péndulo con rueda inercial.

3.7. Validación experimental del prototipo: Lazo abier-


to
Tras terminar la construcción y la integración de los subsistemas se siguió con la
experimentación en lazo abierto para validar el comportamiento del prototipo. Para este
caso se aplico una señal senoidal de 0.015 N/m esto por seguridad, al ser la mitad del
torque máximo soportado por el motor de CD.

3.7.1. Diagrama de bloques en Matlab-Simulink


Con el uso de Matlab-Simulink se hizo el diagrama de bloques de manera similar al
presentando en el Capítulo 2 en la Sección (2.3), pero esta vez excluyendo el modelo
y agregando los bloques correspondientes a la entradas y salidas de la tarjeta DS1104,
así como los osciloscopios correspondientes para la lectura de los valores leídos por la
tarjeta. Posteriormente se creó una interfaz gráfica en el programa ControlDesk para
visualizar las variables de interés durante el experimento. En la Figura 3.11 se muestra
el diagrama de bloques usado para la experimentación.

Entrada o control Sistema Salidas

q1 q1
q1 1 1 q1
q1 s s
qç 1 qç 1
qç 1 MATLAB ü MATLAB qç 1
FUNCTION FUNCTION q2 q2
qç 2 ü 1 1 q2
s s
qç 2 qç 2
qç 2
ü ü

Figura 3.11: Diagrama de bloques para simulación.


28CAPÍTULO 3. CONSTRUCCIÓN DEL SISTEMA PÉNDULO CON RUEDA INERCIAL

3.7.2. Resultados obtenidos


En la Figura 3.12 se muestran los resultados obtenidos tras la realización de la exper-
imentación de la aplicación de una señal senoidal tal y como se utilizó en el Capítulo 2 en
la simulación del modelo, esto con la intención de poder comparar estos dos resultados,
para validar el modelo del sistema péndulo con rueda inercial.

0.2
q1 800 0.02
τ
q̇2
0.1 400 0.01

[N − m]
[rad/s]
[rad]

0 0 0

−0.1 −400 −0.01

t [s] t [s] t [s]


−0.2 −800 −0.02
0 2 4 6 8 10 0 2 4 6 8 10 0 2 4 6 8 10

(a) (b) (c)

Figura 3.12: Resultados de experimentación.

3.7.3. Discusión de resultados de simulaciones con resultados ex-


perimentales del péndulo con rueda inercial en lazo abier-
to
Como se puede observar, al comparar los resultados obtenidos por simulación pre-
sentados en el Capítulo 2 comparados con los obtenidos por experimentación en este
son parecidos, sin embargo se aprecia una diferencia notable en las gráficas que indi-
can la velocidad que alcanza la rueda, esta diferencia se debe principalmente a que en
la simulación no se incluyó la fricción que existe en la flecha del motor, por lo que la
rueda gira sin restricción alguna alcanzando revoluciones mucho más altas que en la
experimentación.
Capítulo 4

Control híbrido 1

Para cumplir la tarea de hace oscilar el péndulo, llevarlo a su posición invertida y


mantenerlo en esa posición se requieren dos controladores, a esta técnica se le conoce
como controlador híbrido. En las siguientes secciones se describen los controles empleados
para el control híbrido. Es importante mencionar que para el diseño de los controladores
explicados en este capítulo se utilizó la primera representación para el modelo del péndulo
con rueda inercial mostrado en el Capítulo 2.

4.1. Estrategia de control para el problema de swing-


up
La estrategia swing-up consiste en llevar el péndulo desde su posición colgante o
de reposo donde según el modelo usado en la ecuación (2.6) q1 = 0 hasta la posición
invertida inestable donde q1 = π o q1 = −π, ya que para este caso no es importante el
hecho de que el péndulo llegue en el mismo sentido del giro de las manecillas del reloj
a que del opuesto. Este controlador basado en energía se encarga de regular esta misma
con la intención de que el péndulo pueda alcanzar la posición en la que q1 = π o q1 = −π.
La estrategia utilizada en este capitulo para la tarea de hacer oscilar el péndulo es la
utilizada en [39] y se parte del modelo expresado en forma matricial que se presentó en
la ecuación (2.6), que también se puede expresar como:

d11 q̈1 + d12 q̈2 + mg sin(q1 ) = 0,


d21 q̈1 + d22 q̈2 = τ,

donde tras despejar q̈2 del primer renglón se obtiene:

−d11 q̈1 − mg sin(q1 )


q̈2 = ,
d12

para después sustituir el valor de q̈2 en el segundo renglón y dado que d12 = d22 se puede
simplificar la ecuación del siguiente modo:

29
30 CAPÍTULO 4. CONTROL HÍBRIDO 1

−d11 q̈1 d22 − d22 mg sin(q1 )


d21 q̈1 + = τ,
d12
d22 d11 q̈1 d22 mg sin(q1 )
−d21 q̈1 + + = τ1 ,
d12 d12
d22 d11 d22 mg sin(q1 )
q̈1 (−d21 + )+ = τ1 ,
d12 d12

J q̈1 + mgl sin(q1 ) = τ1 , (4.1)


donde J = d11 − d21 , mgl = mg y τ1 = −imax Km o bien τ1 = −τ . Esta última ecuación
mostrada en (4.1) es equivalente al modelo de un péndulo simple, donde J es la inercia,
m la masa, g la aceleración de la gravedad y l su longitud. Una vez sabido esto, se puede
proponer un control basado en energía, el cual está dado por la suma de las energías
cinética y potencial:
1
V (q1 , q̇1 ) = J q̇12 + mgl(1 − cos(q1 )), (4.2)
2
donde, tras derivar V (q1 , q̇1 ) con respecto al tiempo se obtiene su propiedad pasiva, la
cual está dada por:
dV (q1 , q̇1 )
= q̇1 J q̈1 + mglq̇1 sin(q1 ), (4.3)
dt
a continuación, se sustituye J q̈1 de la ecuación (4.1) en (4.3) para obtener:

dV (q1 , q̇1 )
= q̇1 τ1 . (4.4)
dt
Conocer el resultado de la ecuación (4.4) resulta útil, ya que permite conocer los valores
que tomará la energía del péndulo conforme pasa el tiempo. Por otra parte, para que
el péndulo alcance su posición invertida inestable, es necesario que la energía tome el
valor:
1
V (q1 , q̇1 )|q1 =+πÓq1 =−π = J(0)2 + mgl(1 − cos(±π)) = 2mgl = V0 . (4.5)
q̇1 =0 2
Si V < Vo el péndulo aumentara su energía en cada oscilación, una vez que se cumpla
que V = Vo el péndulo permanecerá oscilando entre π y −π mientras que τ1 = 0. De
modo que este controlador opera regulando la energía para obtener un seguimiento de
trayectoria para que el péndulo permanezca oscilando entre π y −π esto se debe a que
al ser la energía V = 2mgl y dado que no se considera la fricción, en teoría el péndulo
llegara a la posición invertida una y otra vez sin que sea necesario el par del motor, lo
que en la practica será un par mínimo. Para que lo anterior ocurra es necesario utilizar
un conjunto de condiciones, en las cuales se establece que cuando V < Vo la energía
aumenta, cuando V > Vo la energía disminuye y si V = Vo la energía de mantiene en el
mismo valor, una manera de conseguirlo es con el uso del siguiente controlador:

τ = kd (V − Vo )sat(q̇1 ), (4.6)
4.1. ESTRATEGIA DE CONTROL PARA EL PROBLEMA DE SWING-UP 31

 d, q̇1 > d
sat(q̇1 ) = −d, q̇1 < −d , (4.7)

q̇1 , |q̇1 | ≤ d
i max km
d= , (4.8)
kd V o
siendo inom es la corriente nominal la establecida como corriente maxima (imax ) como
medida de seguridad para proteger el motor y se calcula a partir de la relación de par
dada por τ = km i donde se despeja i y se toman los valores de M emax (par recomendado)
y km (constante de par) de la hoja de datos del motor. Mientras que kd es una constante
arbitraria que permite regular el valor de d y por consecuencia apresurar o disminuir la
rapidez con que el péndulo alcanza la posición invertida inestable.

4.1.1. Simulación del control swing-up


La simulación correspondiente a la subsección anterior se realizó como se ha venido
haciendo a lo largo de este trabajo, esto es mediante el uso de Matlab-Simulink. La forma
en que se desarrolló fue usando principalmente dos Matlab Function, una con el modelo
del sistema como se mostró en la Tabla 2.1 y otra con el controlador ya explicado del
cual su código se muestra en la Tabla 4.1.

Tabla 4.1: Código del controlador para levantar el péndulo.


function tau = swing1(u)
q1 = u(1); q1p = u(2);
m1 = 0.134; m2 = 0.116; lc1 = 0.0877; I2 = 1.685e-5;
I1 = 1.6052e-4; l1 = 0.125; g = 9.81;
Km = 34.6e-3; imax = 0.8092; Kd = 0.1;
D12 = I2; D21 = I2; D22 = I2;
D11= I1+I2+m1*(lc1^2)+m2*l1^2;
J = (d22*d11-d21*d12)/d12; mbarra = m1*lc1+m2*l1;
mgl = mbarra*g; Vo = 2*mgl; d = (imax*Km)/(Kd*Vo);
V = 0.5*J*(q1p^2)+mgl*(1-cos(q1));
if (q1p > d)
satq1p = d;
elseif (q1p < -d)
satq1p = -d;
elseif (abs(q1p) <= d)
satq1p = q1p;
end
tau= Kd*(V-Vo)*satq1p;
end
32 CAPÍTULO 4. CONTROL HÍBRIDO 1

4.1.2. Diagrama de bloques en Matlab-Simulink


El diagrama de bloques relacionado a este control se muestra en la Figura 3.11,
la parte de control como su nombre lo dice, es el bloque que contiene la información
correspondiente al controlador de la Tabla 4.1. La parte sistema está relacionada al
modelo usado en el Capítulo dos en la Tabla 2.1 y la parte salidas está asociada a las
señales que se visualizan en el entorno gráfico.

4.1.3. Resultados obtenidos en simulación


Los resultados obtenidos en simulación del controlador que realiza la tarea del Swing-
Up se presentan en la Figura 4.1. El valor de la ganancia utilizada en el swing up fue
Kd = 0.1. En ellos se puede ver que llegando a los 60 segundos de simulación el péndulo
consigue su objetivo de acercarse a π y esto lo logra con un par menor a 0.08 Nm en
un principio y finalmente con un valor muy cercano a cero. También se puede ver en
la Figura 4.1(b) en un comienzo el aumento de la velocidad es mayor que al final, esto
resulta conveniente para cuando el controlador que mantiene al péndulo en la posición
invertida necesite un par menor para dicha tarea en comparación que a si el péndulo
llega a la posición invertida con mayor velocidad. Por otra parte, en la Figura 4.1(e) al
mostrar la relación que existe entre q1 y q̇1 también expresa la energía del sistema (V ).

4 q1 160
20 q̇1 q̇2
140
2 120
10 100
[rad/s]

[rad/s]
[rad]

80
0 0
60
−10 40
−2 20
t [s] −20 t [s] 0
t [s]
−4 −20
0 20 40 60 0 20 40 60 0 20 40 60

(a) (b) (c)


−3
x 10 20
8 τ
15
4 10
q̇1 [rad/s]

5
[N − m]

0
0
−5
−10
−4
−15
t [s] −20
−8 −3 −2 −1 0 1 2 3
0 20 40 60 q1 [rad]
(d) (e)

Figura 4.1: Resultados de simulación para el swing-up.


4.2. ESTRATEGIA DE CONTROL PARA EL PROBLEMA DE REGULACIÓN 33

4.2. Estrategia de control para el problema de regu-


lación
La segunda estrategia para el control híbrido 1 es un controlador para mantener el
péndulo en su posición invertida, este controlador es conocido como: Retroalimentación
del vector de estado. Este se diseñó usando la aproximación lineal del modelo presentado
en la ecuación (2.6). Dado que este modelo no depende de la posición de la rueda (q2 ),
el vector x se puede expresar:
   
x1 q1
x =  x2  =  q̇1  , (4.9)
x3 q̇2

por otra parte, el modelo (2.6) puede representarse de la forma:


· ¸ ½ · ¸ · ¸¾
q̈1 −1 mg sin(q1 ) 0
=D − + , (4.10)
q̈2 0 τ
· ¸ · ¸
−1 d11 d12 1 d22 −d12
D = = . (4.11)
d21 d22 d11 d22 − d12 d21 −d21 d11
Es fácil darse cuenta que el determinate de D−1 es diferente de cero, eso se debe a que
D−1 es la inversa de una matriz, lo cual nos dice que la ecuación (4.11) se puede resolver.
Continuando con el desarrollo del controlador, a partir de la ecuación (4.9) y (4.10) el
modelo del péndulo con rueda inercial se puede representar como:
 
x2
ẋ = f (x, τ ) =  −d11 mg sin(x1 ) + d12 τ  . (4.12)
−d21 mg sin(x1 ) + d12 τ

Por otra parte se sabe que los puntos de operación x∗ , τ ∗ de la ecuación (4.12) se en-
cuentran a partir de la condición dada por f (x∗ , τ ∗ = 0), es decir:
   
x∗2 0
 −d11 mg sin(x1 ) + d12 τ  =  0  , (4.13)
−d21 mg sin(x1 ) + d12 τ 0

donde se puede observar que esas condiciones se pueden cumplir solo cuando el péndulo
está en reposo o en posición la invertida. Como se puede observar, en el primer renglón
de 4.13 se tiene que x∗=0
3 esto se debe a que en la posición de equilibrio la velocidad del
péndulo es cero, mientras que del segundo y tercer renglones, se procede con despejar τ ,
ya que es la variable de control, por lo tanto se tiene:

∗ d11 mg sin(x∗1 )
τ = ,
d12
d21 mg sin(x∗1 )
τ∗ = .
d12
34 CAPÍTULO 4. CONTROL HÍBRIDO 1

Igualando las ecuaciones de (4.14) se obtiene:


mg £ ¤
d11 d22 − d21 d12 sin(x∗1 ) = 0.
d12 d22

Debido a que el determinate de D−1 6= 0, la ecuación (4.2) solo se cumple si:

x∗1 = ±nπ. (4.14)

Donde al sustituir esta condición en cualquiera de las ecuaciones de (4.14) se cumple


que τ ∗ = 0. Finalmente como para x∗3 no existe alguna restricción en la ecuación 4.13,
se propone que x∗3 = c, donde c es un número real cualquiera. Como se sabe, el control
de retroalimentación del vector de estado funciona únicamente para sistemas lineales,
por tal motivo es necesario recurrir a una aproximación lineal del modelo del sistema a
partir de la ecuación (4.12), en el punto de operación donde x∗2 = 0, τ ∗ = 0, x∗1 = ±nπ,
x∗3 = c, con n = ±1, 2, 3, ..., la cual está dada por:

ż = Az + Bw,
 ¯  
¯ ∂f1 ∂f1 ∂f1 ¯ 0 1 0
¯
∂f (x, τ ) ¯ ∂x1 ∂x2 ∂x3 ¯
 ∂f2 ∂f2 ∂f2 ¯
A= ¯ =  ∂x ∂x2 ∂x3 ¯¯ =  d11 mg 0 0  ,
dx ∗ ∗ ∂f
1
∂f ∂f
x ,τ
∂x1
3 3
∂x2 ∂x3
3
¯∗ ∗ d21 mg 0 0
x ,τ
 ∂f1 ¯  
¯ ¯ 0
∂f (x, τ ) ¯¯ ∂τ
2 ¯
¯
B= ¯ =  ∂f
∂τ ¯ =  d12  ,
dτ x∗ ,τ ∗ ∂f3 ¯
∂τ x∗ ,τ ∗
d22
donde:

z = x − x∗ , (4.15)
w = τ − τ ∗, (4.16)

son cantidades pequeñas que tienden a cero, además τ ∗ = 0 entonces w = τ . Este es


el modelo lineal aproximado que será utilizado para diseñar el controlador que atrapa
al péndulo en su posición invertida inestable. Ahora sigue verificar que el par dado
por AB sea controlable verificando que el determinate de la matriz de controlabilidad
C = [B|AB|A2 B] y esta dado por:

2 £ ¤
3
mgkm
det(C) = d d11 d 22 − d12 d21 6= 0.
R3 12
Por lo tanto, al saber que det(C) 6= 0 se puede asegurar que el par dado por (AB) es
controlable y que existe un conjunto de ganancias K tales que, todos los eigenvalores de
la matriz en lazo cerrado (A − BK) queden ubicados en el semiplano izquierdo del plano
complejo, esto se hace con la intención de poder asegurar la estabilidad del sistema. Esto
se logra usando el control:

u = −K1 z1 − K2 z2 − K3 z3 . (4.17)
4.2. ESTRATEGIA DE CONTROL PARA EL PROBLEMA DE REGULACIÓN 35

Para la obtención de las ganancias K1 , K2 y K3 se utilizó la formula de Ackerman. La


herramienta Matlab permite ejecutar este procedimiento mediante la instrucción acker()
en donde se introducen como parámetros de entrada los valores de las matrices A y B
obtenidas en el modelo lineal aproximado además del polinomio deseado, este polinomio
se propone de tal manera que sus raíces se encuentren en el semiplano izquierdo tal y
como se mencionó anteriormente, Para este caso se utilizó el polinomio deseado dado
por:
Pd = s3 + 55s2 + 2425s + 100.
Como se puede observar, el grado del polinomio es de igual al rango de la matriz de
controlabilidad y los eigenvalores resultantes son los siguientes:

−27.5146 + 40.8065i,
−27.5146 − 40.8065i,
−0.0420 + 0.0000i.

Finalmente, los valores de K obtenidos son:

K = [−7.541388343500006, −0.168723812005428, −0.000019652669452]

Es importante señalar que este controlador opera únicamente en un rango muy estrecho
y cercano al punto de equilibrio inestable. También si se analiza con detalle es posible
darse cuenta que para este caso, el controlador 4.17 tiene la forma de un PD modificado,
ya que multiplica el error de la salida del sistema y este se suma con la multiplicación
de una ganancia por la derivada del error, esto sumado al producto de el error entre la
velocidad y la velocidad deseada de la rueda.

4.2.1. Simulación de la segunda estrategia


El bloque utilizado para el modelo es el mismo que se uso para la simulación mostrada
en la Sección 3.7.1 y el bloque que contiene el código del control que atrapa el péndulo
se muestra en la Tabla 4.2. Las ganancias uilizadas para este controlador son: K1=-
7.54, K2=-0.169 y K3=-0.00002. Las condiciones que se han utilizado permiten que
controlador cumpla con su objetivo con una mayor probabilidad de éxito, ya que estas
mismas se diseñaron a modo de encontrar una relación entre la posición del péndulo y
su velocidad con el punto de equilibrio de ambos para asegurar una posición cercana al
equilibrio con una velocidad baja. El rango que existe para estos dos parámetros con
la cercanía con dicho punto de equilibrio inestable puede estrecharse o ampliarse con la
variación de la constante comparativa que en este caso fue 0.5, mientras sea menor esta
constante; mayor será esta cercanía y si se incrementa la constante; se reduce la cercanía,
no obstante, para este caso no es necesario ya que al ser una simulación, el éxito del
controlador está garantizado, solo se usaron con el propósito de que el programa fuera lo
más parecido a la experimentación y pueda realizarse una comparativa de resultados. Por
otra parte, para q̇2 deseada que en un comienzo es igual a cero, se utiliza una banderilla
llamada vel, la cual se utiliza para tomar el valor de q̇2 cuando entra en operación por
primera vez el controlador para regulación y de este modo asignar ese valor a q̇2 deseada.
36 CAPÍTULO 4. CONTROL HÍBRIDO 1

Tabla 4.2: Código del controlador para atrapar al péndulo


tau = control_regulacion(u)
q1 = u(1); q1p = u(2); q2p = u(3)
vel=0;
q2pd=0;
K1 = -7.54;
K2 = -0.169];
K3 = -0.00002;
K = [K1 K2 K3];
if((((q1-pi)^2) + q1p^2) < 0.5)
if(vel==0);
q2pd=q2p;
vel=1;
end
z= [q1-pi ;
q1p;
q2p-q2pd];
tau = -K*z;
elseif((((q1+pi)^2) + q1p^2) < 0.5)
if(vel==0)
q2pd=q2p;
vel=1;
end
z= [q1+pi ;
q1p;
q2p-q2pd];
tau = -K*z;
end

4.2.2. Diagrama de bloques en Matlab-Simulink


Para el segundo controlador se utilizó el mismo diagrama de bloques que en el con-
trolador para levantar al péndulo, véase Figura 3.11. La diferencia radica en que el
contenido del bloque control cambia su contenido por el usado en la Tabla 4.2.

4.2.3. Resultados obtenidos


Como se puede ver en la Figura 4.2, el control para regulación cumple el objetivo de
control de atrapar al péndulo a la posición inestable de interés, para este caso cuando
q1 = π en un tiempo muy cercano a los quince segundos con un par menor a los 0.01 Nm,
esto se debe a que el controlador para la tarea de regulación entró en funcionamiento en
un punto muy cercano a π y con velocidad cero lo que le facilita ampliamente su trabajo.
4.3. INTEGRACIÓN DE ESTRATEGIAS DEL CONTROL HÍBRIDO 1 37

3.15 q1 1.2
q̇1
1
3.14
0.8

[rad/s]
3.13
[rad]

3.12 0.4
0.2
3.11
0
t [s] t [s]
3.1 −0.2
0 0.4 0.8 1.2 0 0.4 0.8 1.2

(a) (b)

50 0.1 τ
q̇2
0.05
0 0
−0.05

[N − m]
[rad/s]

−50 −0.1
−100 −0.15
−0.2
−150 −0.25
t [s] −0.3 t [s]
−200 −0.35
0 0.4 0.8 1.2 0 0.4 0.8 1.2

(c) (d)

Figura 4.2: Resultados de simulación del controlador que atrapa el péndulo (i.e. regu-
lación).

4.3. Integración de estrategias del control híbrido 1


La integración de ambos controladores es relativamente sencilla, para esto basta con
que el programa del controlador incluya los parámetros de ambos y se establezca una
serie de condiciones que permita realizar un intercambio del swing-up al atrapador, esto
se hace con la instrucción else if, donde se establece que mientras (q1 − π)2 + q̇12 > 0.3
se usará el controlador del swing-up. Mientras que cuando dicha condición no se cumpla
se realiza el cambio por el control que atrapa al péndulo. Por lo tanto, el programa
de Matlab incluye el contenido de ambos controladores más el mostrado en la Tabla
4.3, además el valor de las ganancias para los dos controladores y las condiciones son
mostradas en la misma Tabla. Las ganancias utilizadas para este controlador híbrido
son: Kd=0.1, K1=-7.54, K2=-0.169 y K3=-0.00002.

4.3.1. Diagrama de bloques en Matlab-Simulink


De igual manera se utiliza el diagrama de la Figura 3.11, solo cambia el contenido
del bloque control por el programa correspondiente al controlador híbrido 1.
38 CAPÍTULO 4. CONTROL HÍBRIDO 1

4.3.2. Resultados obtenidos en simulación


Se puede observar que el controlador logra su objetivo al levantar al péndulo y atra-
parlo en la posición invertida en un tiempo muy cercano a los 22 s, además se puede
observar que para la tarea de regulación el controlador demanda un par de 5.2 Nm,
tanto que la rueda llega a tener una velocidad de 3000 rad/seg, esto sucede debido a
que el controlador toma al péndulo desde que este está cercano a los 2.3 rad, también se
observó que en un comienzo el avance de q1 es mayor entre cada oscilación que cuando
se acerca al punto de equilibrio inestable. Las gráficas obtenidas de este experimento se
muestra en la Figura 4.3.

4.4. Experimentación control híbrido 1


Para la realización del primer controlador híbrido se fue necesario cambiar el valor
de las ganancias K1 , K2 y K3 ya que en la practica, el péndulo obtenía más energía de la
deseada, ocasionando que el péndulo llegara al punto de equilibrio (+π o −π) con una
velocidad alta, impidiendo que el controlador para la tarea de regulación lograra atrapar
al péndulo en la posición de interés. Por otra parte, se modificaron las condiciones con
las que se realiza el cambio para pasar de swing-up a retro de estados, dicha modificación
tuvo lugar en la parte que considera la velocidad del péndulo, donde al multiplicar q̇1
por 0.2 para este caso, lo que se hace es obligar al sistema a tomar al péndulo a una
velocidad menor. En la tabla 4.4 se muestra el código utilizado para el experimento
de controlador híbrido 1. Las ganancias utilizadas para este controlador son: Kd=0.1,
K1=-1.5084, K2=-0.0055 y K3=0.00000425.
Las nuevas ganancias K1 , K2 y K3 para la experimentación se obtuvieron nueva-
mente mediante la metodología de Akerman con ayuda de Matlab. Para este caso los
eigenvalores resultantes para el conjunto de ganancias K1 = −1.5084 ,K2 = −0.0055 y
K3 = −0.00000425 son los siguientes:

−0.7627 + 20.3908i,
−0.7627 − 20.3908i,
−0.0519 + 0.0000i.

4.4.1. Diagrama de bloques en Matlab/Simulink-Control Desk


El diagrama de bloques usado para los experimentos es parecido al usado para la
simulación, pero en este caso al utilizar la tarjeta dSPACE 1104 tiene que tomarse
en cuenta el acondicionando de señales así como también la etapa de adquisición de
datos. La etapa de acondicionamiento se utiliza para convertir el torque en términos de
corriente que puedan ser leídos por la tarjeta. Mientras que la etapa de adquisición es
para indicar al software que los encoders tienen una resolución de 512 y 1024 posiciones
por revolución respectivamente tal y como se muestra en la Figura 4.4.
4.4. EXPERIMENTACIÓN CONTROL HÍBRIDO 1 39

4 q1 20
q̇1
3
2 10

[rad/s]
1
[rad]

0
0
−1 −10
−2
t [s] t [s]
−3 −20
0 10 20 30 0 10 20 30

(a) (b)

500 150 −2800


q̇2 q̇2
0
q̇2
−500 100 −2900
−1000
[rad/s]
[rad/s]

[rad/s]
−1500 50 −3000
−2000
−2500 0 −3100
−3000
t [s] t [s] t [s]
−3500 −50 −3200
0 10 20 30 0 10 22 20 22 24 26 28 30

(c) (d) (e)

1 τ 0.01 τ
0
−1 0.005
[N − m]
[N − m]

−2
0
−3
−4 −0.005
−5
t [s] t [s]
−6 −0.01
0 10 20 30 0 10 20 30

(f) (g)

20
15
10
q̇1 [rad/s]

5
0
−5
−10
−15
−20
−3 −2 −1 0 1 2 3 4
q1 [rad]
(h)

Figura 4.3: Resultados de simulación del controlador híbrido 1.

4.4.2. Resultados obtenidos


En esta subsección se muestran los resultados de experimentación del controlador
híbrido 1, una vez que se programó de eligió un periodo de muestreo de 1 ms con el
40 CAPÍTULO 4. CONTROL HÍBRIDO 1

Entrada Acondicionador de la entrada Salidas

d d NOT DS1104BIT_OUT_C0
MATLAB ü ü MATLAB
FUNCTION K
FUNCTION
i av i av DS1104SL_DSP_PWM

Señales de entrada y adquisición de datos

Del encoder de la rueda


2ù q1
DS1104ENC_POS_C1 à 512

Del encoder del péndulo



DS1104_ENC_POS_C2 1024
q2

ü ü

Figura 4.4: Diagrama de bloques para experimentación.

propósito de obtener una lectura de datos frecuente y así obtener un buen compor-
tamiento del sistema. En los resultados de observó que el péndulo logró su objetivo
correctamente llegando a la posición invertida en poco menos de 20 s con un par máx-
imo de 1.6 Nm y finalmente el disco permanece girando en un rango aproximado entre
475 y 620 rad/s. Las gráficas asociadas a el experimento se pueden ver en la Figura 4.5

4.4.3. Discusión de resultados de simulaciones con resultados


experimentales del péndulo con rueda inercial con el uso
del controlador híbrido 1
Como se puede observar, al comparar los resultados obtenidos por simulación como
por experimentación son parecidos, al menos en el controlador para el swing-up, esto
se ve en el tiempo en que logra llevar el péndulo al punto de equilibrio, también puede
apreciarse que en un comienzo el avance entre cada oscilación es mayor que al final
para ambos casos, sin embargo para el controlador que estabiliza el péndulo mostró
un comportamiento muy diferente, principalmente en la velocidad que toma la rueda
en los últimos segundos de las gráficas asociadas a q̇2 , también se puede observar que
el controlador para estabilizar al péndulo en la experimentación toma a este de una
posición muy cercana a 3 rad, razón por la cual es requerido un menor par que en la
simulación.
4.4. EXPERIMENTACIÓN CONTROL HÍBRIDO 1 41

4 3.21 2

q̇1 [rad/s]
q1 q1
3
2 1
1

[rad]
[rad]

3.14 0
0
−1 −1
−2
t [s] t [s] q1 [rad]
−3 3.07 −2
0 10 20 30 20 21 22 23 24 25 −3 −2 −1 0 1 2 3 4

(a) (b) (c)

0.4 0.4 0.1


q̇1 q̇1
0 0
0.05
[rad/s]

[rad/s]

[rad/s]
−0.4 −0.4
q̇1
0
−0.8 −0.8
−0.05
−1.2 −1.2
t [s] t [s] t [s]
−1.6 −1.6 −0.1
0 10 20 30 18.5 19 19.5 20 27 28 29 30

(d) (e) (f)

200 −450
q̇2 q̇2
0 −500
[rad/s]

[rad/s]

−200
−550
−400
−600
−600 t [s]
t [s]
−650
0 5 10 15 20 25 30 27 28 29 30

(g) (h)

τ 0.1 τ
0
0.05
[N − m]

[N − m]

−0.5
0

−1
−0.05

t [s] t [s]
−1.6 −0.1
0 10 20 30 28 29 30

(i) (j)

Figura 4.5: Resultados de experimentación del controlador híbrido 1.


42 CAPÍTULO 4. CONTROL HÍBRIDO 1

Tabla 4.3: Código del controlador híbrido 1 para simulación.


tau = control_hibrido1_simulacion(u)
q1 = u(1); q1p = u(2); q2p = u(3)
m1 = 0.134; m2 = 0.116; lc1 = 0.0877; I2 = 1.685e-5;
I1 = 1.6052e-4; l1 = 0.125; g = 9.81;
Km = 34.6e-3; imax = 0.8092; Kd = 0.1;
D12 = I2; D21 = I2; D22 = I2;
D11= I1+I2+m1*(lc1^2)+m2*l1^2;
J = (d22*d11-d21*d12)/d12; mbarra = m1*lc1+m2*l1;
mgl = mbarra*g; Vo = 2*mgl; d = (imax*Km)/(Kd*Vo);
V = 0.5*J*(q1p^2)+mgl*(1-cos(q1));
if (q1p > d)
satq1p = d;
elseif (q1p < -d)
satq1p = -d;
elseif (abs(q1p) <= d)
satq1p = q1p;
end
vel=0;
K1 = -7.54;
K2 = -0.169];
K3 = -0.00002;
K = [K1 K2 K3];
if((((q1-pi)^2) + q1p^2) < 0.5)
if(vel==0);
q2pd=q2p;
vel=1;
end
z= [q1-pi ;
q1p;
q2p-q2pd];
tau = -K*z;
elseif((((q1+pi)^2) + q1p^2) < 0.5)
if(vel==0)
q2pd=q2p;
vel=1;
end
z= [q1+pi ;
q1p;
q2p-q2pd];
tau = -K*z;
else
tau = Kd*(V-Vo)*satq1p;
end
4.4. EXPERIMENTACIÓN CONTROL HÍBRIDO 1 43

Tabla 4.4: Código para el controlador híbrido 1.


tau = control_hibrido1_experimentacion(q1,q10,q2p)
q1 = u(1); q1p = u(2); q2p = u(3)
m1 = 0.134; m2 = 0.116; lc1 = 0.0877; I2 = 1.685e-5;
I1 = 1.6052e-4; l1 = 0.125; g = 9.81;
Km = 34.6e-3; imax = 0.8092; Kd = 0.1;
D12 = I2; D21 = I2; D22 = I2;
D11= I1+I2+m1*(lc1^2)+m2*l1^2;
J = (d22*d11-d21*d12)/d12; mbarra = m1*lc1+m2*l1;
mgl = mbarra*g; Vo = 2*mgl; d = (imax*Km)/(Kd*Vo);
V = 0.5*J*(q1p^2)+mgl*(1-cos(q1));
if (q1p > d)
satq1p = d;
elseif (q1p < -d)
satq1p = -d;
elseif (abs(q1p) <= d)
satq1p = q1p;
end
vel=0;
K1 = -1.5084
K2 = -0.0055
K3 = -0.00000425
K = [K1 K2 K3];
if((((q1-pi)^2) + 0.2*q1p^2) < 0.05)
if(vel==0);
q2pd=q2p;
vel=1;
end
z= [q1-pi ;
q1p;
q2p-q2pd];
tau = -K*z;
elseif((((q1+pi)^2) + 0.2*q1p^2) < 0.05)
if(vel==0)
q2pd=q2p;
vel=1;
end
z= [q1+pi ;
q1p ;
q2p-q2pd];
tau = -K*z;
else
tau = Kd*(V-Vo)*satq1p;
end
44 CAPÍTULO 4. CONTROL HÍBRIDO 1
Capítulo 5

Control Híbrido 2

En este Capítulo se mostrará una breve descripción de los controladores que com-
ponen al segundo control híbrido, además, las simulaciones y los resultados experimen-
tales asociados a dichos controladores, así como los programas que se desarrollaron en
Matlab-Simulink para realizar la tareas de Swing-up y regulación. Para el diseño de los
controladores explicados en este capítulo se utilizó la segunda representación del modelo
para el péndulo con rueda inercial mostrada en el Capítulo 2.

5.1. Estrategia de control para el problema de swing-


up
Para el control híbrido 2 en la tarea del swing-up, se utilizó el controlador presentado
en [13] así como también el modelo considerado en el mismo (o sea el ya presentado
en las ecuaciones (2.8) y (2.9)). Dicho controlador, el cual también está basado en la
energía del péndulo es deducido de la siguiente manera: Partiendo del modelo lineal
aproximado obtenido de la misma manera que el modelo usado para el controlador de
retroalimentación del vector de estados. El modelo lineal aproximado está dado por:
 
x2
ẋ = f (x, τ ) =  − det
d22
D
d12
(−mg sin(x1 )) − det D
τ , (5.1)
d21 d11
det D
(−mg sin(x1 )) + det D τ

donde
   
x1 q1
x =  x2  =  q̇1  . (5.2)
x3 q̇2

Posteriormente se despeja τ de la tercera ecuación de (5.1) y se le añade el control u


para obtener:
d21 detD
τ = − (−mg sin(x1 )) + u, (5.3)
d11 d11

45
46 CAPÍTULO 5. CONTROL HÍBRIDO 2

tras sustituir la ecuación (5.3) en la tercera ecuación de (5.1), el sistema resultante es:
ẋ1 = x2 , (5.4)
1 d12
ẋ2 = − (−mg sin(x1 )) − u, (5.5)
d11 d11
ẋ3 = u. (5.6)
Ahora se representa al sistema cuando u = 0, esto es:
ẋ1 = x2 ,
1
ẋ2 = − (−mg sin(x1 )).
d11
Adicionalmente, se propone una entrada de control para estabilizar la velocidad angular
del péndulo (x2 ), esto se logra mediante el uso de la ecuación:
1
E0 = d11 x22 − mg(1 − cos(x1 )), (5.7)
2
que describe la energía total del péndulo cuando u = 0 (dicho de otro modo: cuando
no se le aplica control alguno), la cual, como se puede observar está dada por la suma
de la energía cinética más la potencial. Posteriormente se deriva la energía del péndulo,
que se calcula sustituyendo los valores de ẋ1 y ẋ2 de las ecuaciones (5.4) y (5.5) en (5.7)
para así obtener que:
Ė0 = −d12 x2 u,
la cual, es la propiedad pasiva del péndulo con d12 u como entrada y x2 como salida.
Ahora solo falta determinar u, para esto se propone una función de Lyapunov dada por:
1 1
V (x1 , x2 , x3 ) = ke E02 + kυ x23 ,
2 2
es fácil notar que V es positiva, posteriormente se deriva dicha función para obtener que:
V̇ = −(d12 ke E0 x2 − kυ x3 )u.
Por lo tanto se selecciona una entrada de control u de acuerdo a
u = d12 ke E0 x2 − kυ x3 ,
tal que
V̇ = −u2 ≤ 0,
no obstante, esto no asegura que el sistema opere con E0 = 0 y por lo tanto que x1 = 0,
para esto es necesario que u = d12 ke E0 x2 − kυ x3 = 0 y una manera de conseguirlo es
que x2 = x3 = 0, por lo tanto, utilizando el modelo original usado para la aproximación
lineal, se despeja q̇1 de la ecuación (2.8) y q̇2 de la ecuación (2.9) y se obtiene
1
q̈1 = − (−mg sin(x1 )) − 0,
d11
q̈2 = 0.
Por lo tanto, q̈1 = 0 solo si
sin(x1 ) = 0,
y eso se sucede cuando
q1 = ±nπ; n = 0, 1, 2, 3, ...,
5.2. ESTRATEGIA DE CONTROL PARA EL PROBLEMA DE REGULACIÓN 47

5.1.1. Simulación de la segunda estrategia para el Swing-up


Los resultados de la simulación del control híbrido 2 se muestran en la Figura 5.1
donde se puede observar que el péndulo llega a la posición invertida en 10 s con un
avance muy notorio entre cada oscilación, alcanzando una velocidad en el disco de hasta
450 rad/s y demandando un par máximo de 0.08 Nm. Las ganancias utilizadas para este
controlador son: ke=100000000 y Kv=8.

5.1.2. Diagrama de bloques en Matlab-Simulink


El diagrama de bloques utilizado es el presentado en el Capítulo 4 en la Figura 3.11,
pero cambiando el contenido del bloque control por el código contenido en la Tabla 5.1.

Tabla 5.1: Código del controlador para hacer oscilar al péndulo


tau = control_swing2(u)
q1 = u(1); q1p = u(2);
m1 = 0.134; m2 = 0.116; lc1 = 0.0877; I2 = 1.685e-5;
I1 = 1.6052e-4; l1 = 0.125; g = 9.81;
D12 = I2; D21 = I2; D22 = I2;
D11 = I1+I2+m1*(lc1^2)+m2*l1^2;
mbarra = m1*lc1+m2*l1;
ke = 100000000; kv = 8;
E0 = 0.5*d11*(q1p^2) - mbarra*g*(1-cos(q1));
u = (d12*ke*E0*(q1p) - kv*q2p)
tau = -(d21/d11)*(-mbarra*g*sin(q1))+(((d11*d22)-(d12*d21))/d11)*u;

5.1.3. Resultados obtenidos


Como se puede observar el controlador demanda un par máximo de 0.08 Nm, lo que
conlleva a que la ganancia entre cada oscilación es muy alta y por lo tanto, el péndulo
alzaba su posición invertida en 10 s. También se observa que el péndulo alcanza una
velocidad maxima de 10 rad/s y la rueda una velocidad maxima aproximada de 500
rad/s.

5.2. Estrategia de control para el problema de regu-


lación
Se recuerda que uno de los problemas a resolver para el péndulo con rueda inercial es
estabilizar el péndulo en la posición invertida inestable, es decir cuando q1 = 0. Para esta
tarea, se retoma el control lineal de la ecuación (4.17), es decir u = −K1 z1 − K2 z2 − K3 z3
donde K1 , K2 y K3 representan las ganancias de control.
48 CAPÍTULO 5. CONTROL HÍBRIDO 2

q1 q1 20
6 6
5 5 10

q̇1 [rad/s]
4 4
[rad]

[rad]
0
3 3
2 2
−10
1 1
0 0
t [s] t [s] −20
0 1 2 3 4 5 6 7
0 20 40 60 0 1 2 3 4 q1 [rad]
(a) (b) (c)

q̇1 q̇1
20 20

10 10
[rad/s]

[rad/s]
0 0

−10 −10

−20 t [s] −20 t [s]


0 20 40 60 0 1 2 3 4

(d) (e)

600 600 50
q̇2 q̇2 q̇2

300 300 25
[rad/s]

[rad/s]

[rad/s]

0 0 0

−300 −300 −25


t [s] t [s] t [s]
−600 −600 −50
0 20 40 60 0 1 2 3 4 4 6 8 10 12

(f) (g) (h)


−3
0.1 0.1 x 10
τ τ 2 τ

0.05 0.05 1
[N − m]
[N − m]

[N − m]

0 0 0

−0.05 −0.05 −1

t [s] t [s] t [s]


−0.1 −0.1 −2
0 20 40 60 0 1 2 3 4 4 6 8 10 12

(i) (j) (k)

Figura 5.1: Resultados de simulación del controlador para hacer oscilar al péndulo.

5.3. Integración de estrategias de control híbrido 2


Para la integración se utilizó la metodología empleada para el controlador híbrido
1. Por lo tanto, el programa de Matlab incluye el contenido de ambos controladores
5.3. INTEGRACIÓN DE ESTRATEGIAS DE CONTROL HÍBRIDO 2 49

mostrados en este capítulo.

5.3.1. Diagrama de bloques en Matlab-Simulink


El diagrama de bloques utilizado es el presentado en el Capítulo 4 en la Figura 3.11,
pero cambiando el contenido del bloque control por el código contenido en la Tabla 5.2.
Las ganancias utilizadas para este controlador son: Ke=100000000, Kv=8, K1=-7.54,
K2=-0.169 y K3-0.00002.

Tabla 5.2: Código del controlador híbrido 2 para simulación.


tau = control_atrapador(u)
q1 = u(1); q1p = u(2); q2p = u(3)
m1 = 0.134; m2 = 0.116; lc1 = 0.0877; I2 = 1.685e-5;
I1 = 1.6052e-4; l1 = 0.125; g = 9.81;
D12 = I2; D21 = I2; D22 = I2;
D11 = I1+I2+m1*(lc1^2)+m2*l1^2;
ke = 100000000; kv = 8;
mbarra = m1*lc1+m2*l1;
vel = 0;
K1 = -7.54;
K2 = -0.169];
K3 = -0.00002;
K = [K1 K2 K3];
if((((q1-0)^2) + q1p^2) < 0.10)
if(vel==0)
q2pd=q2p;
vel = 1;
end
z = [q1-0 ; q1p; q2p-q2pd ];
tau = -K*z;
elseif((((q1-6.2831)^2) + q1p^2) < 0.10)
if(vel==0)
q2pd=q2p;
vel = 1;
end
z = [q1-6.2831 ; q1p; q2p-q2pd ];
tau = -K*z;
else
E0 = 0.5*d11*(q1p^2) - mbarra*g*(1-cos(q1));
u = (d12*ke*E0*(q1p) - kv*q2p);
tau = -(d21/d11)*(-mbarra*g*sin(q1))+(((d11*d22)-(d12*d21))/d11)*u;
end
50 CAPÍTULO 5. CONTROL HÍBRIDO 2

5.3.2. Resultados obtenidos en simulación


Los resultados obtenidos de la simulación para el controlador híbrido 2 se muestran
en la Figura 5.2. Como se puede observar, que el péndulo se estabiliza en la posición

6 q1 6 q1 20
5 5
10
4 4

q̇1 [rad/s]
3 3
[rad]
[rad]

0
2 2
1 1 −10
0 0
t [s] t [s] −20
−1 −1 0 1 2 3 4 5 6
0 20 40 60 0 2 4 6 q1 [rad]
(a) (b) (c)

20 20 0.3
q̇1 q̇1 q̇1
0.2
10 10
0.1
[rad/s]

[rad/s]

[rad/s]
0 0 0
−0.1
−10 −10
−0.2
t [s] t [s] t [s]
−20 −20 −0.3
0 20 40 60 0 1 2 3 4 5 5 6 7 8 9 10

(d) (e) (f)

2100 2100
1800 q̇2 1800
q̇2
1500 1500
1200 1200
[rad/s]
[rad/s]

900 900
600 600
300 300
0 0
−300 −300
t [s] t [s]
−600 −600
0 20 40 60 0 2 4 6 8

(g) (h)

2 τ 0.1 τ 0.04 τ
1.5
0.05 0.02
[N − m]

[N − m]

[N − m]

1
0 0
0.5
−0.05 −0.02
0
t [s] t [s] t [s]
−0.5 −0.1 −0.04
0 20 40 60 0 1 2 3 4 5 6 7 8 9 10

(i) (j) (k)

Figura 5.2: Resultados de simulación del controlador híbrido 2.


5.4. EXPERIMENTACIÓN CONTROL HÍBRIDO 2 51

invertida cerca de los 6 s demandando un par de hasta 2 Nm, finalmente la rueda


permanece girando en un rango cercano a los 1800 rad/s.

5.4. Experimentación control híbrido 2


En está sección se presenta el controlador híbrido 2 aplicado al sistema péndulo
con rueda inercial. Así como el programa asociado a Matlab-Simulink para realizar los
experimentos.

5.4.1. Diagrama de bloques en Matlab-Simulink-ControlDesk


El diagrama de bloques utilizado es el presentado en el Capítulo 4 en la Figura 4.4,
pero cambiando el contenido del bloque control por el código contenido en la Tabla 5.3.

5.4.2. Resultados obtenidos


Para la experimentación del controlador híbrido 2 se realizaron cambios del mismo
modo que se hicieron para el control híbrido 1, esto es modificando las ganancias K para
tener que K1 = −1.5084 ,K2 = −0.0055 y K3 = −0.00000425 así como las condiciones
para el paso de swing-up a regulación con la intención de tomar al péndulo con menor
velocidad y las ganancias para el swing-up fueron las mismas que para el controlador
híbrido 1, esto es: Ke=100000000 y Kv=8. Los resultados experimentales se presentan
en la Figura 5.3. En los resultados experimentales se observó que el péndulo alcanza la
posición invertida de manera exitosa poco antes de los 30 s, esto se debe a que la ganancia
de energía del péndulo no fue tan alta como en el caso de la simulación, situación que
resulta conveniente para que el control para la tarea de regulación requiera un menor
par para atrapar al péndulo. Por otra parte se observa que la velocidad de la rueda se
dispara hasta los 700 rad/s y se mantiene en un rango cercano a este valor.

5.4.3. Discusión de resultados de simulaciones con resultados


experimentales del péndulo con rueda inercial con el uso
del controlador híbrido 2
Como se puede observar, al comparar resultados obtenidos por simulación con los
experimentales son bastante diferentes, principalmente en el tiempo en que se logra que
el péndulo llegue a su posición invertida, esto se debe a que en experimentación, está
presente la fricción que evita una ganancia tan alta de energía, también se observa que
el par máximo es de 1.5 Nm, esto gracias al arreglo propuesto para las condiciones de
intercambio de controlador que permite tomar al péndulo con menor velocidad pero a
una mayor distancia del punto de equilibrio inestable por lo tanto requiere de un par
alto.
52 CAPÍTULO 5. CONTROL HÍBRIDO 2

Tabla 5.3: Código del controlador híbrido 2 en experimentación.


function tau = control_hibrido 2(q1,q1p,q2p)
q1 = u(1); q1p = u(2);
m1 = 0.134; m2 = 0.116; lc1 = 0.0877; I2 = 1.685e-5;
I1 = 1.6052e-4; l1 = 0.125; g = 9.81;
vel = 0;
D12 = I2; D21 = I2; D22 = I2;
D11 = I1+I2+m1*(lc1^2)+m2*l1^2;
ke = 100000000; kv = 8;
mbarra = m1*lc1+m2*l1;
K1 = -1.5084
K2 = -0.0055
K3 = -0.00000425
K = [K1 K2 K3];
if((((q1-0)^2) + 0.2*q1p^2) < 0.05)
if(vel==0);
q2pd=q2p;
vel=1;
end
z= [q1 ;
q1p;
q2p-q2pd];
tau = -K*z;
elseif((((q1-6.2831)^2) + 0.2*q1p^2) < 0.05)
if(vel==0)
q2pd=q2p;
vel=1;
end
z= [q1-6.2831 ;
q1p ;
q2p-q2pd];
tau = -K*z;
else
E0 = 0.5*d11*(q1p^2) - mbarra*g*(1-cos(q1));
u =(d12*ke*E0*(q1p) - kv*q2p);
tau = -(d21/d11)*(-mbarra*g*sin(q1))+(((d11*d22)-(d12*d21))/d11)*u;
end
5.4. EXPERIMENTACIÓN CONTROL HÍBRIDO 2 53

1 0.1 2

q̇1 [rad/s]
q1 q1
0
−1 0.05 1

q̇1 [rad/s]
−2
[rad]

[rad]
0 0
−3
−4 −0.05 −1
−5
t [s] t [s] q1 [rad]
−6 −0.1 −2
0 20 40 60 26.7 28 29 30 −6 −5 −4 −3 −2 −1 0 1

(a) (b) (c)

1.6 0.2
q̇1 q̇1

0.8
[rad/s]

0 [rad/s] 0

−0.8
t [s] t [s]
−1.6 −0.2
0 20 40 60 27 28 29 30

(d) (e)

400 100
q̇2 q̇2

50
0
[rad/s]

[rad/s]

0
−400
−50

t [s] t [s]
−800 −100
0 20 40 60 0 7 14 21 28

(f) (g)

1 τ 0.02 0.3 τ
τ
0.5 0.2
0.01
0.1
[N − m]
[N − m]

[N − m]

0
0 0
−0.5
−0.1
−0.01
−1 −0.2
t [s] t [s] t [s]
−1.5 −0.02 −0.3
0 20 40 60 0 7 14 21 28 26 27 28 29 30

(h) (i) (j)

Figura 5.3: Resultados de experimentación del controlador híbrido 2.


54 CAPÍTULO 5. CONTROL HÍBRIDO 2
Capítulo 6

Conclusión y perspectiva a futuro

En este capítulo se presentan las conclusiones generales, así como las asociadas a
cada una de los objetivos particulares que se propusieron para la correcta finalización
de este trabajo. También incluye la comparación de desempeño entre los controladores
híbridos utilizados. Finalmente se incluyen algunas posibles propuestas para trabajos
futuros.

6.1. Conclusión
El trabajo propuesto fue concluido de manera satisfactoriamente ya que se modeló,
diseñó, construyó y se controló un péndulo con rueda inercial con dos controladores
híbridos que realizan la tarea del swing-up y regulación. Dados los objetivos mencionados
en el párrafo anterior, claramente involucran una participación de todas las áreas que
conforman la mecatrónica por lo que se explicarán las conclusiones relativas a cada una
de éstas.

De ingeniería mecánica
• Se dedujo el modelo dinámico del péndulo con rueda inercial mediante la formu-
lación de Lagrange.

• Una vez que fue deducido el modelo del péndulo con rueda inercial, se construyó
el prototipo el sistema del mismo. Esto fue realizado en tres etapas: 1) Selección
y adquisición del actuador, de los sensores y la etapa de potencia a utilizar, 2)
Diseño asistido por computadora del prototipo del péndulo con rueda inercial vía
SolidWorks, y 3) Manufactura de las partes mecánicas del prototipo.

De ingeniería electrónica
• Se comprendió el principio de operación de la tarjeta DS1104, lo cual permitió la
implementación de los controladores híbridos desarrollados.

• Se realizó la instrumentación necesaria para la medición de las variables de interés


del péndulo con rueda inercial.

55
56 CAPÍTULO 6. CONCLUSIÓN Y PERSPECTIVA A FUTURO

De ingeniería de control
• Se comprendieron los problemas de control a solucionar para el péndulo con rueda
inercial.

• Se diseñaron dos controladores híbridos para el péndulo con rueda inercial, es decir
en dos ocasiones se dio solución a los problemas de hacer oscilar el péndulo desde la
posición colgante hasta la posición vertical inestable y al problema de estabilización
del péndulo.

De ingeniería en computación
• Utilizando el software Matlab-Simulink, se simularon los dos controladores híbridos
propuestas, de tal forma que se observó el comportamiento del sistema bajo la
influencia de los diferentes controladores simulados.

• Se implementaron exitosamente los controladores híbridos propuestos, lo cual fue


logrado empleando Matlab-Simulink, ControlDesk y la tarjeta DS1104.

• Se realizó la adquisición y procesamiento de los resultados obtenidos tanto en


simulación como en experimentación.

6.2. Comparación de desempeño entre controladores


Al buen conocimiento del autor, propiamente no existe un método o parámetros
para medir o comparar cual de los controladores híbridos presentó mejores resultados;
no obstante, con la intención de hacer notar las diferencias observadas durante la ex-
perimentación, se presentan algunos aspectos que pudieran dar una idea general del
desempeño de los controladores híbridos implementados.

6.2.1. Control Híbrido 1


En el controlador híbrido 1, gracias a la correcta elección de imax y kd solo hace falta
una perturbación menor en el péndulo para que este tome energía suficiente y llegue a la
posición invertida con una velocidad muy cercana a cero (en relativamente poco tiempo),
lo que le permite al controlador lineal entrar en funcionamiento fácilmente y lograr man-
tener al péndulo en su posición invertida después de 20 s de experimentación y finaliza
con una velocidad en el disco de entre 500 y 600 rad/s demandando un par máximo
de 1.6 Nm. Por otra parte este controlador tiene una mayor probabilidad de atrapar al
péndulo en la posición invertida al primer intento que con el uso del controlador híbrido
2.

6.2.2. Control Híbrido 2


En el controlador híbrido 2, resultó más complicado seleccionar las ganancias Ke y
Kv y fue necesario sacar de la posición de reposo al péndulo con una mayor perturbación.
6.3. PERSPECTIVA A FUTURO 57

Además, se observó que la ganancia de energía del péndulo fue más lenta en el principio y
al final el péndulo ganaba tanta energía que algunas veces llegaba a la posición invertida
con una velocidad mayor a la deseada. El problema de la perturbación inicial y la lenta
ganancia de energía puede mejorarse aumentando Ke , pero esto aumenta la velocidad
con la que el péndulo llega a su posición invertida empeorando el resultado final; mientras
que si se aumenta el valor de Kv reducía la velocidad con que el péndulo llegaba a su
configuración invertida, pero existe cierto límite; ya que, si Kv era demasiado alta, el
péndulo jamás llegaba la posición invertida. Respecto al controlador lineal, este mantenía
al péndulo en su posición invertida después de aproximadamente 30 s con una velocidad
de la rueda de 700 rad/s y un par máximo de 1.5 Nm

6.2.3. Conclusiones de la comparativa


Según los aspectos mencionados, en general se obtuvieron mejores resultados con
el uso del controlador híbrido 1. Sin embargo, es muy importante aclarar que con estos
datos no se puede decir cual de los dos es mejor; ya que, tal vez existe una mejor selección
de ganancias para ambos controladores, las cuales permitan mejorar los resultados de
acuerdo a los aspectos considerados.

6.3. Perspectiva a futuro


Algunos trabajos futuros que podrían desprenderse de este tema de tesis son los
siguientes:

• Deducir un modelo dinámico del sistema péndulo con rueda inercial, donde se
consideren las fuerzas de fricción. Esto con la intención de obtener una predicción
del comportamiento del sistema más cercana a la real.

• Estudiar otras problemáticas de control asociadas con el sistema bajo estudio, tales
como seguimiento de trayectorias, generación de oscilaciones, control de posición
y de velocidad.

• Reemplazar la tarjeta DS1104 por otro recurso de hardware embebido lo que daría
lugar un prototipo económico y de menor tamaño e implementar sobre este nuevo
recurso de hardware, estrategias de control para el prototipo de péndulo con rueda
inercial.
58 CAPÍTULO 6. CONCLUSIÓN Y PERSPECTIVA A FUTURO
Referencias

[1] O. O. Gutiérrez Frías, “Diseño de controladores para sistemas subactuados del tipo
péndulo invertido", Tesis doctoral dirigida por C. Aguilar-Ibáñez, Centro de Inves-
tigración en Computación, Instituto Politécnico Nacional, dic. 2010.
[2] J. C. Maxwell. On Governors. Proc. R. Soc. London, 1868.
[3] E. J. Routh. A treatise on the Stability of a Given State of Motion. London: Macmil-
lan & Co. 1877.
[4] A.M. Lyapunov. “Problème général de la stabilité du movement", Ann. Fac. Sci.
Univ. Toulouse Sci. Math. Sci. Phys, 1893.
[5] A. Hurwitz. “On the conditions under which an equation has only roots with nega-
tive real parts", Mathematische Annalen, vol. 46, pp. 263-284, 1895.
[6] H. Nyquist. “Regeneration theory", Bell Syst. Technol. J., vol. 11, pp. 126-147, 1932.
[7] El Diccionario de la lengua española (DRAE). Disponible:
http://lema.rae.es/drae/?val=p
[8] K. J. Âström and K. Furuta, “Swinging up a pendulum by energy con-
trol,"Automatica, vol. 36, pp. 287-295, Feb. 2000.
[9] H. W. Bode, “Network Analysis and Feedback Amplifier Design", New York: Van
Nostrand, 1945.
[10] D. J. Block, K. J. Âström, and M. W. Spong, The Reaction Wheel Pendulum, 1st
ed., vol. 1, M. W. Spong, Ed. Morgan & Claypool, 2007, pp. 1-7.
[11] M. W. Spong and M. Vidyasagar. (28, Jan 2004), Robot Dynamics and Control.
(2nd, ed.) [Online]. Avalible: http://www.wiley.com
[12] C. Aguilar-Ibáñez and H. Sira-Ramírez, “A linear differential flatness approach to
controlling the Furuta pendulum,"IMA J. Math. Control Inf., vol. 24, pp. 31-45,
2007.
[13] M. W. Spong, P. Corke, and R. Lozano, “Nonlinear control of the reaction wheel
pendulum,"Automatica, vol. 37, pp. 1845-1851, 1999.
[14] K. Ogata, “Ingenieria de Control Moderno", 5th edición, Madrid, Pearson Edu-
cación, 2010, pp. 1-3.

59
60 REFERENCIAS

[15] B. C. Kuo, “Sistemas de Control Automático", 7th edición. México, Prentince-Hall,


1996, pp. 132-148.

[16] M. W. Spong, “The swing up control problem for the acrobot,"IEEE Control Sys-
tems, vol. 15, pp. 49-55, Feb. 1995.

[17] D. M. Alonso, E. E. Paolini, and J. L. Moiola, “Global bifurcation analysis of a


controlled underactuated mechanical system,"Springer Nonlinear Systems, vol. 40,
pp. 205-225, May. 2005.

[18] R. V. Carrillo-Serrano and V. M. Hérnandez-Guzmán, “Control of the inertia wheel


pendulum taking into account the actuator dynamics,"ICIC, vol. 6, no.12, pp. 5553-
5563, Dec. 2010.

[19] C. C. Chung and J. Hauser, “Nonlinear control of a swinging pendu-


lum,"Automatica, vol. 31, no.6, pp. 851-862, Jun. 1995.

[20] M. Reyhanoglu, A. V. Schaft, N.H. McClamroch, and I. Kolmanovsky, “Dynamics


and control of a class of underactuated mechanical systems,"IEEE Trans. on Au-
tomatic Control, vol. 44, no.9, pp. 1663-1671, Sep. 1999.

[21] L. Praly, R. Ortega, and G. Kaliora, “Stabilization of nonlinear systems via foward-
ing mod{Lg V }, IEEE Trans. on Automatic Control, vol. 46, no.9, pp. 1461-1466,
Sep. 2001.

[22] R. Ortega, M. W. Spong, F. Gómez-Estern, and G. Blankestein, “Stabilization of


a class of underactuated mechanical systems via interconnection and damping as-
signment,"IEEE Trans. on Automatic Control, vol. 47, no.8, pp. 1218-1233, Aug,
2002.

[23] N. Qaiser, N. Iqbal, A. Hussain, and N. Qaiser, “Exponential stabilization of a class


of underactuated mechanical systems using dynamic surface control,"International
Journal of Control Automation and Systems, vol. 5, no.5, pp. 547-558, Oct. 2007.

[24] H. Ye, H. Wang and H. Wang, “Stabilization of a PVTOL aircraft and an iner-
tia wheel pendulum using saturation technique,"IEEE Trans. on Control Systems
Technology, vol. 15, no.6, pp. 1143-1150, Nov 2007.

[25] H. Ye, W. Gui and Z. P. Jiang, “Backstepping design for cascade systems with
relaxed assumption on Lyapunov functions, IET Control Theory and Applications,
vol. 5, pp. 700-712, Mar. 2011.

[26] Y. F. Chen and A. C. Huang, “Controller design for a class of underactuated me-
chanical systems, IET Control Theory and Applications, vol. 6, pp. 103-110, Jan.
2012.

[27] M. T. Ravichandran and A. D. Mahindrakar, “Robust stabilization of a class of


underactuated mechanical systems using time scaling and Lyapunov redesign,"IEEE
Trans. on Industrial Electronics, vol. 58, no.9, pp. 4299-4313, Sep. 2011.
REFERENCIAS 61

[28] R. Iriarte, L. T. Aguilar, and L. Fridman, “Second order sliding mode tracking
controller for inertia wheel pendulum,"Journal of the Franklin Institute, vol. 350,
pp. 92-106, 2013.

[29] R. Martinez, J. Alvarez, and Y. Orlov, “Hybrid sliding-mode-based control of un-


deractuated systems with dry friction,"IEEE Trans. on Industrial Electronics, vol.
55, no.11, pp. 3998-4003, Nov. 2008.

[30] L. T. Aguilar, I. M. Boiko, L. M. Fridman, and L. B. Freidovich, “Generating os-


cillations in inertia wheel pendulum via two-relay controller,"IJRNC, vol. 22, pp.
318-330, Feb. 2011.

[31] J. She, A. Zhang, X. Lai, and M. Wu, “Global stabilization of 2-DOF underac-
tuated mechanical systems an equivalent input disturbance approach,"Nonlinear
Dynamics, vol. 69, pp. 495-509, Jan. 2012.

[32] M. López-Martínez, J. A. Acosta, and J. M. Cano, “Non-linear sliding mode surfaces


for a class of underactuated mechanical systems,"IET Control and Applications, vol.
4, pp. 2195-2204, Oct. 2010.

[33] R. Ortega and E. García-Canseco, “Interconnection and damping assignment


passivity-based control: a survey,"European Journal of Control, vol. 10, pp. 432-
450, 2004.

[34] J. W. Grizzle, C. H. Moog, and C. Chevallereau, “Nonlinear control of mechanical


systems with an unactuated cyclic variable,"IEEE Trans. on Automatic Control,
vol. 50, no.5, pp. 559-576, May. 2005.

[35] R. Martinez-Soto, A. Rofriguez, O. Castillo, and L. T. Aguilar, “Gain optimiza-


tion for inertia wheel pendulum stabilization using psrticle swarm optimization and
genetic algorithms,"ICIC, vol. 8, no.6, pp. 4421-4430, Jun. 2012.

[36] S. Andary, A. Chemori, and S. Krut, “Control of the underactuated inertia wheel
Inverted pendulum for stable limit cycle generation,"Advanced Robotics, vol. 23, pp.
1999-2004, Dec. 2009.

[37] Kelly, R. Santivañez, V. Control de Movimiento de Robots Manipuladores. Pearson


Education, S.A., Madrid, 2003.

[38] R. C. Hibbeler, Mecánica vectorial para ingenieros. Dinámica. Pearson Education,


México, 2004.

[39] V. M. Hernández-Guzmán, R. Silva-Ortigoza, and R. V. Carrillo-Serrano, Con-


trol Automático: Teoría de Diseño, Construcción de Prototipos, Modelado, Identi-
ficación y Pruebas Experimentales, México D.F.: Colección Cidetec, 2013.
62 REFERENCIAS
Apéndice A

Productos de investigación obtenidos

Es importante mencionar que, durante el desarrollo del presente trabajo, varios pro-
ductos de investigación fueron obtenidos. Tales productos son presentados a continuaci-
ón.

A.1. Capítulo de libro


1/1.- R. Silva-Ortigoza, M. Antonio-Cruz, M. Marcelino-Aranda, G. Saldaña-González,
C. A. Merlo-Zapata y P. Pérez-Romero, “DC/DC Boost-Boost power converter as
a didactic system: Experimental results with Matlab/Simulink via current and voltage
probes,” in MATLAB: Applications for the Practical Engineer, K. Bennett (Ed.), pp.
469-489, InTech Europe, Rijeka, CRO, 2014.

A.2. Artículos en revistas de arbitraje estricto


1/1.- M. Antonio-Cruz, R. Silva-Ortigoza, C. A. Merlo-Zapata, V. M. Hernández-
Guzmán, C. Márquez-Sánchez y J. Sandoval-Gutiérrez, “Modeling, computer aided de-
sign, and construction of a Furuta pendulum,” Research in Computing Science, vol. 83,
pp. 133–144, 2014.

A.3. Artículos en revistas de divulgación y difusión


científica y tecnológica
1/2.- C. A. Merlo-Zapata, M. Antonio-Cruz, R. Silva-Ortigoza, C. Y. Sosa-Cervantes
y M. Marciano Melchor, “Sistemas mecánicos subactuados pendulares”, Boletín UPIITA,
no. 42, 2014.
2/2.- M. Antonio-Cruz, C. Márquez-Sánchez, R. Silva-Ortigoza y C. A. Merlo-Zapata,
“Sistemas mecánicos subactuados: péndulos invertidos”, Boletín UPIITA, no. 41, 2014.

63
64 APÉNDICE A. PRODUCTOS DE INVESTIGACIÓN OBTENIDOS

A.4. Artículos en extenso (conferencias internacionales)


1/2.- M. Antonio-Cruz, R. Silva-Ortigoza, C. A. Merlo-Zapata, M. G. Villarreal-
Cervantes, D. Muñoz-Carrillo y V. M. Hernández-Guzmán, “Modeling and construction
of a Furuta pendulum prototype,” IEEE 2014 International Conference on Mechatron-
ics, Electronics and Automotive Engineering (ICMEAE 2014 ), Cuernavaca, Morelos,
México. 18-21 Nov. 2014.
2/2.- C. A. Merlo-Zapata, M. Antonio-Cruz, R. Silva-Ortigoza, H. Taud, I. Rivera-
Zárate, D. Muñoz-Carrillo y V. M. Hernández-Guzmán, “Modeling and construction of
an inertia wheel pendulum test-bed,”IEEE 2014 International Conference on Mecha-
tronics, Electronics and Automotive Engineering (ICMEAE 2014 ), Cuernavaca, More-
los, México. 18-21 Nov. 2014.
Apéndice B

Planos de la Estructura Mecánica

65
66 APÉNDICE B. PLANOS DE LA ESTRUCTURA MECÁNICA

B.1. Péndulo

DANIEL MUÑOZ CARRILLO


CARLOS MERLO ZAPATA
CIDETEC

RUEDA
IPN
B.1. PÉNDULO

CIDETEC No. 3
CARLOS MERLO ZAPATA
DANIEL MUÑOZ CARRILLO 07-09-14
IPN
FLECHA DEL PÉNDULO
67
68

CIDETEC
CARLOS MERLO ZAPATA
DANIEL MUÑOZ CARRILLO
IPN
P É NDULO PARA LA RUEDA
APÉNDICE B. PLANOS DE LA ESTRUCTURA MECÁNICA
B.2.
B.2. BRAZO

Brazo

3.2

CIDETEC No. 1
15.9
CARLOS MERLO ZAPATA
DANIEL MUÑOZ CARRILLO 07-09-14
IPN
BARRA DEL BRAZO
69
70

CIDETEC No. 2
6 mm
CARLOS MERLO ZAPATA
DANIEL MUÑOZ CARRILLO 07-09-14
IPN PLACA DEL BRAZO
APÉNDICE B. PLANOS DE LA ESTRUCTURA MECÁNICA
B.3.
B.3. BASE DE LA ESTRUCTURA

Base de la estructura

CIDETEC No. 5
CARLOS MERLO ZAPATA
DANIEL MUÑOZ CARRILLO 07-09-14
IPN PLACA SUPERIOR
71
72

CIDETEC No. 6
CARLOS MERLO ZAPATA
DANIEL MUÑOZ CARRILLO 07-09-14
IPN PLACA INFERIOR
APÉNDICE B. PLANOS DE LA ESTRUCTURA MECÁNICA
B.3. BASE DE LA ESTRUCTURA

MATERIAL: PLACA DE ALUMINIO T-6061DE 6 mm. CIDETEC No. 7

CARLOS MERLO ZAPATA


DANIEL MUÑOZ CARRILLO 07-09-14
IPN BRIDA
73
6 mm

MATERIAL: REDONDO DE ALUMINIO T-6061 CIDETEC No. 8


DE 16 mm DIA.
CARLOS MERLO ZAPATA
DANIEL MUÑOZ CARRILLO 07-09-14
IPN PERILLA
Apéndice C

Hojas de datos del motor de CD y del


encoder
C.1. 2642V0033 DC-micromotor con encoder de Faul-
haber

75
76 APÉNDICE C. MOTOR Y ENCODER
C.2. MINIENCODER ITD 01 A 4 Y 1 DE BAUMER 77

C.2. Miniencoder ITD 01 A 4 Y 1 de Baumer


78 APÉNDICE C. MOTOR Y ENCODER
Apéndice D

Hojas de Datos de la Etapa de


Potencia

79
80 APÉNDICE D. HOJAS DE DATOS DE LA ETAPA DE POTENCIA

D.1. Fuente HF100W-SF-24


D.2. DRIVER AZ12A8DDC 81

D.2. Driver AZ12A8DDC


82 APÉNDICE D. HOJAS DE DATOS DE LA ETAPA DE POTENCIA
D.3. TARJETA DE MONTAJE MC1XAZ01 83

D.3. Tarjeta de montaje MC1XAZ01


Apéndice E

Hoja de Datos de la Tarjeta DS1104

85
86 APÉNDICE E. HOJA DE DATOS DE LA TARJETA DS1104

E.1. DS1104
E.1. DS1104 87
88 APÉNDICE E. HOJA DE DATOS DE LA TARJETA DS1104
E.2. PANEL DE CONEXIONES CLP1104 89

E.2. Panel de conexiones CLP1104


90 APÉNDICE E. HOJA DE DATOS DE LA TARJETA DS1104
Apéndice F

Costos del prototipo construido

Descripción Cantidad Costo


Motor de CD/enc. 2642W024CR Micromo 1 pza. $ 4700.00
Encoder Baumer 1 pza. $ 4620.00
Fuente de alimentación 1 pza. $ 520.00
Servo drive 1 pza. $ 3234.00
Redondo de aluminio T–6061, 16 mm 1000 mm $ 75.00
Placa de aluminio T–6061, 6 mm 2 pza. x 100 mm × 50 mm $ 150.00
Rodamiento SKF 628-62z 1 pza. $ 65.00
Placa de aluminio T–6061, 8.5 mm 250 mm × 200 mm $ 165.00
Tubo de aluminio T–6061, 9.5 mm ext. 400 mm $ 50.00
Redondo AISI C-1018, 12.3 mm 300 mm $ 70.00
Perfil tubular Bosch, 30 mm × 30 mm 3000 mm $ 587.00
Lámina de acero inoxidable, # 16 1000 mm × 1000 mm $ 750.00
Pata niveladora Bosch, 16 mm 4 pzs. $ 60.00
Dispositivos de sujeción $ 230.00
Servicios profesionales de manufactura $ 8412.00
Portacable 200 mm $ 60.00
Total $ 23748.00

91

S-ar putea să vă placă și