Você está na página 1de 11

Universidad Politcnica Salesiana

Ingeniera Elctrica

El Pndulo Invertido
Guamn Telmo

I.

Resumen

El objetivo del este proyecto es realizar un estudio del pndulo invertido sobre vehculo mvil que
se encuentra implementado en los laboratorios de Simulacin de la Universidad Politcnica
Salesiana (Sede Cuenca) empleando un modelado grfico del sistema mediante inventor y Matlab.
Dicho estudio consistir en una primera parte en la que se realice un modelado estructural del
sistema mediante inventor para posteriormente en la segunda etapa efectuar el diseo de la
estrategia de control usando la herramienta Simulink de Matlab.

II.

Introduccin

Un mecanismo muy utilizado hoy en da para realizar tanto prcticas como proyectos de
investigacin es el pndulo invertido. El sistema ms comn es el que est compuesto por un
carro que se mueve libremente a lo largo de un eje y una barra que pende de l, pero tambin los
hay del tipo rotacional, de doble articulacin en un plano inclinado y otros. [1]
El pndulo invertido es un sistema mecnico, de fase no mnima inestable en lazo abierto, que
emula la dinmica de un artefacto volador, como puede ser un cohete o un misil. Este tipo de
sistema dinmico no lineal es ampliamente utilizado para probar nuevas tcnicas de control, tanto
en simulacin como en la planta real. [2]
Es por ello que hemos seleccionando el sistema fsico clsico del pndulo invertido (carro-rielpeso) para desarrollar la temtica de este trabajo dentro del mbito de la robtica empleando
herramientas de modelado tanto grficas como de programacin.

III.

Fundamento Terico

III-A. El pndulo invertido


Los pndulos invertidos constituyen un banco de pruebas completo e interesante para la
ingeniera de control. Uno de los ms estudiados de esta familia de artefactos es el denominado
pndulo invertido sobre un vehculo. [1]

Figura 1. Esquema del pndulo invertido con movimiento horizontal

Desde los aos 70 se han realizado varios proyectos con pndulos invertidos. Un investigador lder
en esta rea es el Profesor Furuta (Figura 2), quien desde entonces ha realizado notables aportes
tericos y experimentales concernientes a este problema de control [Furuta, 1976].

Universidad Politcnica Salesiana

Ingeniera Elctrica

Figura 2. Pndulo de Furuta

Los investigadores Grasser et al. (2002) del Laboratorio de Electrnica Industrial del Swiss Federal
Institute of Technology, construyeron un prototipo de un vehculo de dos ruedas basado en un
pndulo invertido llamado Joe, al cual le colocaron pesos en la varilla del pndulo para simular el
peso de un ser humano en baja escala (Figura 3) [Grasser, 2002].

Figura 3. Joe

Sherman (2003), construy el pndulo invertido sobre dos ruedas que tienen su centro de
gravedad por encima de las ruedas llamado Balibot (Figura 4) [Sherman, 2003].

Figura 4. Balibot

Anderson (2003), construy un robot de balanceo sobre dos ruedas denominado nBot. El robot
utiliza el controlador del robot HC11 desarrollado para el MIT 6.270 Curso de Robtica, el
controlador del robot mismo que se utiliza en la LegoBot y SR04. (Figura 5) [Anderson, 2003].

Universidad Politcnica Salesiana

Ingeniera Elctrica

Figura 5. nBot

Tambin se han construido pndulos invertidos sobre dos ruedas utilizando la plataforma Lego
Mindstorm, Hassenplug (2002), construy un robot pndulo invertido sobre dos ruedas que
constantemente intenta ajustar su punto de equilibrio, utilizando un acelermetro para detectar la
inclinacin, llamado Legway [Hassenplug, 2002] (Figura 6).

Figura 6. Legway

Hurbains (2007), construy el NXTwat [Hurbains]. Watanabe (2007) (Figura 7), de la Universidad
de Waseda en Japn, construy el NXRway-G. Yamamoto (2008), construy el NXTway-GS, el cual
balancea y adems desplaza el robot con la utilizacin de un control remoto [Watanabe, 2007].

Figura 7. Watanabe

III-B. Descripcin del problema


El pndulo invertido es conocido por ser uno de los problemas ms importantes y clsicos de la
teora de control. El sistema se compone de un carro sobre el cual se monta un pndulo que puede
girar libremente. El carro deber moverse para compensar el desplazamiento del pndulo y
mantenerlo en equilibrio. [2]

Universidad Politcnica Salesiana

Ingeniera Elctrica

Figura 8. Esquema del pndulo invertido

Su aplicacin en la vida cotidiana se da desde en el control de estabilidad de gras, hasta la


construccin de vehculos de desplazamiento para humanos que implementan este problema,
como es el caso de famoso vehculo segway ( segway: es un vehculo de transporte ligero
giroscpico elctrico de dos ruedas, con auto balanceo controlado por ordenador. El usuario se
debe inclinar hacia la direccin que quiera tomar.) [3]

Figura 9. Ejemplo de segway

El problema aborda el control de un sistema inestable y altamente no lineal. A menudo es utilizado


como ejemplo acadmico, principalmente por ser un sistema de control accesible, y por otro lado,
permite mostrar las principales diferencias del sistema en lazo abierto y de su estabilizacin en
bucle cerrado. Pese a existir diferentes tcnicas a la hora de disear el regulador ptimo capaz de
estabilizar el pndulo, no todas representan la mejor opcin, aunque en muchas de ellas podamos
encontrar ventajas que las dems no presentan. [4]
El presente documento describe las instrucciones para la construccin de un pndulo invertido en
la plataforma grafica de Inventor, as como las estrategias que se pretenden seguir para el diseo
mediante diagramas de bloque en Simulink de Matlab.

IV.

Desarrollo

IV-A. Diseo del pndulo


IV-A.1 Diseo de las partes del pndulo en inventor
Primero vamos a definir las partes que constituyen al pndulo invertido para poder disearlas en
inventor, para lo cual procedimos a fotografiar el sistema que tenemos disponible en el Laboratorio
de Control de la Universidad.

Universidad Politcnica Salesiana

Ingeniera Elctrica

Figura 10. Estructura del sistema de pndulo invertido del Laboratorio de Control-UPS

Una vez definidas las partes del sistema procedemos a efectuar el diseo de cada una de ellas por
separado, para lo cual empleamos el programa Inventor 2015.
Las figuras se podrn observar en mayor detalle en los Anexos 1, 2 y 3.
IV-A.2 Ensamble del pndulo
1. Abrimos un nuevo archivo en inventor y seleccionamos la opcin Standard (mm).iam que
est dentro de la pestaa Ensamblaje: ensamblar componentes 2D y 3D.

Figura 11. Pestaa para Ensamblaje en Inventor

2.

Ahora nos dirigimos a la opcin insertar y seleccionamos las 3 piezas que deseamos
ensamblar:

Figura 12. Pestaa para insertar las piezas a ensamblar en Inventor

3. Ahora solo nos queda restringir a nuestras piezas para que formen un solo sistema:
-La primera pieza a restringir es la mesa, para lo cual aplicaremos una restriccin angular
un vrtice con el plano Z para que quede en posicin vertical

de

-Ahora restringimos al carro, para lo cual aplicamos 2 restricciones de coincidencia


de los
vrtices laterales del carro con los de la mesa, para que el carro se mantenga sobre la mesa.
-Finalmente restringimos al pndulo, para lo cual aplicamos una restriccin de insertar
unir el eje del pndulo al carro.

para

Universidad Politcnica Salesiana

Ingeniera Elctrica

Figura 13. Ensamble del sistema de Pndulo invertido en Inventor

La figura se puede observar con mayor claridad en el Anexo 4.


IV-A.3 Exportar el archivo de inventor a xml' y a slx en MatLab
Para exportar el archivo ensamblado de inventor a Matlab nos dirigimos a la pestaa de
complementos y damos clic en la opcin Export SimMechanics First Generation y guardamos el
archivo tipo .xml.

Figura 14. Pestaa para exportar el ensamblaje a un archivo xml.

Ahora ejecutamos Matlab como administrador y abrimos la carpeta donde tenemos los archivos
antes mencionados y digitamos el comando:>> mech_import ('pendulo.xml')

Figura 15. Pestaa para exportar el archivo xml a diagrama de bloques en Simulink.

Y automticamente se abre una ventana en Simulink con los diagramas de bloque del sistema del
pndulo invertido.

Figura 16. Diagrama de bloques del sistema de Pndulo invertido en Simulink

Por lo tanto procederemos a aguardar el diagrama de bloques en un archivo .slx de Matlab para as
poder efectuar la animacin del sistema.
IV-A.4 Animacin del pndulo en Simulink
A) Primero vamos a determinar los valores lmites del recorrido del carro sobre el riel para poder
aplicar nuestras restricciones, para lo cual trabajaremos sobre el bloque denominando
prismtico, al cual aplicaremos una fuerza pequea al actuador (en el extremo izquierdo) para

Universidad Politcnica Salesiana

Ingeniera Elctrica

que mueva el carro y mediante un sensor (en el extremo derecho) podremos determinar la
posicin del recorrido del carro que se visualizara en un scope, como se muestra a continuacin:

Figura 17. Diagrama de bloques del sistema para determinar los valores lmites de la mesa.

Por lo tanto para determinar los valores solo mandamos a correr y visualizamos en el scope el valor
que toma cuando el carro haya llegado al lmite izquierdo y derecho de la mesa como se observa a
continuacin:

Figura 18. Determinacin del valor lmite izquierdo (-).

Como se puede observar el lmite izquierdo es de aproximadamente -0,0228.

Universidad Politcnica Salesiana

Ingeniera Elctrica

Figura 19. Determinacin del valor lmite derecho (+).

Como se puede observar el lmite izquierdo es de aproximadamente 0,0228.


B) Una vez determinados los valores lmites de la mesa podemos aplicar las restricciones para que
el carro no salga del riel, para lo cual vamos a trabajar sobre el bloque prismtico, al cual le vamos
a colocar un sensor de posicin para tener un dato del recorrido del carro y poder aplicarle un
bloque condicional que me restrinja dicha trayectoria para que en ningn momento supere los
limites izquierdo y derecho.
Dicha accin se efectuar mediante un bloque condicional If el cual involucra 3 condiciones:
1.
2.
3.

Cuando el carro llegue al lmite izquierdo (if u<-0,0228)


Cuando el carro llegue al lmite derecho (elseif u>0,0228)
Cuando el carro este entre los 2 valores anteriores (else)

Figura 20. Bloque condicional If y sensor de posicin conectados al prismtico.

Estas condiciones deben estar vinculadas a una accin, es decir cuando se cumpla una de ellas, se
debe ejecutar una accin, para lo cual emplearemos el bloque If Action, el cual se activa cuando
una de las acciones anteriores sucede, por lo tanto vamos a necesitar 3 bloques de accin en los
cuales se ejecutara las siguientes acciones:

Bloque If Action 1: este funcionara cuando se cumpla la 1ra condicin, es decir cuando el
carro llegue al lmite izquierdo, para lo cual colocaremos una sensor de fuerza o
aceleracin al prismtico para que me entregue el valor de la fuerza del carro (que en este
caso deber ser negativa para que el carro avance hacia la izquierda) y multiplicarlo por

Universidad Politcnica Salesiana

Ingeniera Elctrica

una ganancia negativa para que se produzca una fuerza contraria que contrarreste el
avance del carro y no supere el valor lmite izquierdo.
Bloque If Action 2: este funcionara cuando se cumpla la 2da condicin, es decir cuando
el carro llegue al lmite derecho, y de igual manera que en el caso anterior el sensor
colocado en el prismtico nos va entregar el valor de la fuerza del carro (que esta vez debe
ser positivo para que el carro avance hacia la derecha) y multiplicarlo por una ganancia
negativa y as tendremos una fuerza de igual valor que la del carro pero en sentido
contrario.
Bloque If Action 3: este funcionara cuando se cumpla la 3ra condicin, es decir cuando el
carro este ente los 2 valores anteriores, para lo cual vamos aplicar un pulso generado por
el producto de 2 Steps, uno positivo y otro negativo.

Las salidas de los 3 bloques anteriores debern estar entrelazadas por un mismo bloque
denominado Merge, el cual combina mltiples seales y ejecuta una sola accin hacia actuador
conectado al prismtico que se encarga del movimiento del carro.
Dicho procedimiento se muestra a continuacin mediante un diagrama de bloques en Simulink:

Figura 21. Bloques condicionales y sus acciones para restringir el recorrido del carro.

Ahora solo resta darle movilidad al pndulo para lo cual trabajaremos sobre el bloque denominado
revolute, al cual le aplicaremos una seal sinusoidal mediante un actuador, pero necesitamos una
ganancia u*K de matriz 1x3, debido a que en el actuador estamos manejando 3 variables: posicin
angular, velocidad angular y aceleracin angular, como se muestra a continuacin:

Figura 22. Seal sinusoidal actuando sobre el bloque revolute para dar movilidad al pndulo.

Con lo cual nuestro diagrama de bloques final del sistema quedara:

Universidad Politcnica Salesiana

Ingeniera Elctrica

Figura 23. Diagrama de bloques del todo el sistema del pndulo invertido

El diagrama de bloques completo se muestra en el anexo 5.

IV-B. Simulacin
Para comprobar el funcionamiento de nuestro sistema vamos a emplear el bloque scope para
observar el comportamiento del sistema, con lo cual obtendremos 3 graficas; seal del pndulo,
seal del movimiento del carro y seal de la actuacin de la fuerza de oposicin que limita el
recorrido del carro.

Figura 24. Seales del movimiento del carro, el pndulo y la fuerza de oposicin.

V.

Conclusiones y Recomendaciones

Universidad Politcnica Salesiana

Ingeniera Elctrica

Luego de haber efectuado el diseo y control de nuestro sistema del pndulo invertido podemos
concluir que el control del sistema depende en gran medida de la correcta determinacin de las
restricciones de los lmites del recorrido del carro en Matlab y que las medidas con que nosotros
hayamos construido nuestras piezas en inventor influyen de gran manera en los bloques
actuadores al momento de aplicar una fuerza, debido a que si nosotros aplicamos una fuerza muy
grande en un sistema de (mm) el carro se desplazara rpidamente hacia el infinito, lo cual nos
imposibilita poder determinar los lmites de recorrido del mismo.
Otro de los procesos complicados fue el adaptar el movimiento del pndulo al desplazamiento del
carro debido a que este afectaba en gran medida a la trayectoria del mismo.
Se recomienda efectuar un correcto ensamble de las piezas en inventor con las restricciones
necesarias, adems de que las piezas que conforman el sistema sean lo ms simples posible para
que el diagrama de bloques en Simulink no sea muy complejo.

VI.

Referencias

[1] F. Castaos, R. Carrera, Levantamiento y control de un pndulo invertido con un esquema de control
reconfigurable, Facultad de Ingeniera, UNAM, Coyoacn, D.F., Mxico.
[2] F. Bote. O, Modelamiento y control del pndulo invertido sobre carro mediante sistemas hbridos,
Escuela Tcnica Superior de Ingenieros, Universidad de Sevilla.
[3] A. Hernndez, M. Legaspi, J. Pelez, Control inteligente del pndulo invertido, Facultad de Informtica,
Universidad Complutense de Madrid, Espaa.
[4] C. Osorio, Diseo, construccin y control de un pndulo invertido rotacional utilizando tcnicas lineales
y no lineales, Facultad de ingeniera, Universidad Nacional de Colombia.

CITAS
[Anderson,
2003]
D.
P.
Anderson
Nbot
http://geology.heroy.smu.edu/~dpa-www/robo/nbot.

Balancing

Robot,

2003.

Disponible

en

[Furuta, 1976] K. Furuta, H. Nishihara and S. Mori. Control of Unstable Mechanical Systems: Control of
Pendulum. International Journal of Control, Vol. 23, pp. 673-692, 1976.
[Grasser, 2002] F. Grasser, A. DArrigo, S. Colombi and A. Rufer. Joe: A Mobile, Inverted Pendulum. Swiss
Federal
Institute
of
Technology,
2002.
http://leiwww.epfl.ch/publications/grasser_darrigo_colombi_rufer_mic_01.pdf.
[Hassenplug,
2002]
S.
Hassenplug.
http://www.teamhassenplug.org/robots/legway.

Legway,

2002.

Disponible

[Sherman, 2003] B. Sherman. Balibot, an Inverted Pendulum Robot, 2003.


http://home.comcast.net/~botronics/balibot.html.

en

Disponible en

[Watanabe, 2007] R. Watanabe. Motion Control of Nxtway Lego Segway. Universidad de Waseda, Japn,
2007. http://web.mac.com/ryo_watanabe/

Você também pode gostar