7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
1/11
Tecnura
ISSN: 0123-921X
Universidad Distrital Francisco Jos de Caldas
Colombia
MARTNEZ SANTA, FERNANDO; GUERRERO CIFUENTES, CINDY ESTEFANY; PREZ RAMREZ,
JOS DAVID
Diseo de un sistema pndulo invertido, sobre plataforma LEGO Mindstorms NXT, controladomediante MATLAB
Tecnura, vol. 16, octubre, 2012, pp. 76-85
Universidad Distrital Francisco Jos de Caldas
Bogot, Colombia
Disponible en: http://www.redalyc.org/articulo.oa?id=257025147007
Cmo citar el artculo
Nmero completo
Ms informacin del artculo
Pgina de la revista en redalyc.org
Sistema de Informacin Cientfica
Red de Revistas Cientficas de Amrica Latina, el Caribe, Espaa y Portugal
Proyecto acadmico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
http://www.redalyc.org/articulo.oa?id=257025147007http://www.redalyc.org/comocitar.oa?id=257025147007http://www.redalyc.org/fasciculo.oa?id=2570&numero=25147http://www.redalyc.org/articulo.oa?id=257025147007http://www.redalyc.org/revista.oa?id=2570http://www.redalyc.org/http://www.redalyc.org/revista.oa?id=2570http://www.redalyc.org/articulo.oa?id=257025147007http://www.redalyc.org/fasciculo.oa?id=2570&numero=25147http://www.redalyc.org/comocitar.oa?id=257025147007http://www.redalyc.org/articulo.oa?id=257025147007http://www.redalyc.org/revista.oa?id=25707/25/2019 DISEO DE PENDULO INVERTIDO.pdf
2/11
Tecnura | Vol. 16 | Edicin Especial | pp 76 - 85 | Octubre 201276
FERNANDOMARTNEZSANTAIngeniero en Control Electrnico e Instrumentacin, Magister en Ingeniera Electrnica yde computadores. Docente de la Universidad Distrital Francisco Jos de Caldas, Bogot,Colombia. Contacto:[email protected]
CINDYESTEFANYGUERREROCIFUENTESIngeniera Elctrica. Ingeniera de diseo elctrico de Schneider Electric S.A. Bogot,Colombia. Contacto: [email protected]
JOSDAVIDPREZRAMREZIngeniero Elctrico. Inspector de calidad de mantenimiento a redes de energa, enJMSedinko. Bogot, Colombia. Contacto:[email protected]
Fecha de recepcin: 24 Agosto de 2012 Clasificacin del artculo: Investigacin
Fecha de aceptacin: 1 de Octubre de 2012 Grupo de Investigacin: Control Electrnico
Palabras clave: -dulo invertido
Key words:
Design of an inverted pendulum system on LEGO MINDSTORMS NXT
platform, controlled by MATLAB
Diseo de un sistema pndulo invertido, sobreplataforma LEGO Mindstorms NXT, controladomediante MATLAB
RESUMEN
Este artculo muestra el diseo de un sistema pn-
dulo invertido, sobre la plataforma LEGO MINDS-
TORMS NXT, as como el diseo y la implementa-
cin del controlador correspondiente. Como punto
de partida se realiza la medicin de parmetros f-
sicos necesarios para el modelamiento del sistema
en espacio de estados. Adicionalmente, el modelo
empleando Matlab, donde la adquisicin de datosde los sensores y el servomotor se realizan con el
toolbox RWTH - Mindstorms NXT. Luego se dise-
a un controlador usando el mtodo de ubicacin
de polos, para ser posteriormente implementado en
Simulink, entorno desde el cual se ejecuta Embe-
dded Coder Robot NXT toolbox, encargado de la
conversin, compilacin y transferencia al bloque
NXT del controlador. Como resultado se tiene el
diseo de una planta fsica con un kit armable y el
diseo e implementacin de un controlador viable
para dicha planta.
ABSTRACT
This paper shows the inverted pendulum systemdesign using the LEGO MINDSTORMS NXT pla-
tform, as well as the design and implementation of
the corresponding controller. As a starting point,
the needed physical parameters measurement for
modeling the system on state space is made. In ad-
-
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
3/11
diseo de un sistema pndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDOMARTNEZSANTA| CINDYESTEFANYGUERREROCIFUENTES| JOSDAVIDPREZRAMREZ77
investigacin
1. INTRODUCCIN
El pndulo invertido es uno de los sistemas inesta-
bles ms usado en la teora del control. En la edu-
cacin y en la industria tiene diversidad de apli-caciones y formas de estudio [1]. Las implemen-
tipo de controlador planteado para su desempeo.
Teniendo en cuenta que, segn sea el diseo me-
cnico, puede ser vulnerable a agentes como fric-
cin y banda muerta, lo cual lo hace un modelo no
basan en la construccin de prototipos, sino tam-
correspondientes anlisis [3]. La mayora de tra-
bajos realizados con anterioridad utilizan diversas
piezas mecnicas tomadas de sistemas tales comoimpresoras o piezas creadas a la medida.
La principal caracterstica de este trabajo es la uti-
lizacin del kit de robtica LEGO MINDSTOR-
MS NXT como base para el diseo y construc-
cin de la planta fsica, creando una nueva estruc-
tura para el sistema carro-pndulo. Adems, hallar
el modelo matemtico del sistema por medio de
algoritmos genticos, ampliando de esta manera
sistemas dinmicos, mediante algoritmos de inte-
El kit educativo utilizado es de referencia 9797,
el bloque inteligente NXT [4]. Adicional a esto,
cuenta con dos procesadores, el primero es un mi-
-
Adems, el bloque cuenta con enlace bluetooth, un
-
da, para los sensores, y 3 puertos de salida para
los servomotores [6]. Adems, ste es compatible
con lenguajes de programacin tales como: JAVA,
-
mulink. Estos ltimos programas utilizados para el
desarrollo de este trabajo dado su facilidad de uso
y anlisis de resultados.
La construccin de la planta se realiza con un total
-
tor y el bloque NXT. El sistema pndulo invertido
sobre plataforma NXT, se compone de diferentes
etapas. La principal es el ensamble donde se tienen
en cuenta los parmetros fsicos y mecnicos para
el diseo. De igual manera se emplean tcnicas de
obtener el modelo matemtico de la planta. Luegose realiza la simulacin del controlador, as como
la transferencia de este al bloque NXT. Con el sis-
tema en funcionamiento se ejecuta el anlisis de
resultados y de esta manera se concluye acerca del
comportamiento de la planta.
gorithms using Matlab, when the data acquisition
from sensors and servo-motor is done through the
RWTH - Mindstorms NXT Toolbox. The next step
is the controller design, using the pole placement
method, to be subsequently implemented in Simu-
link, from which the Embedded Coder Robot NXT
is executed; this toolbox is responsible of the con-
version, compilation and transfer of the controller
to the NXT block. The result is a physical plant
design using a buildable kit, and the design and im-
plementation of a feasible controller for this plant.
the task of the rescue team. This paper presents the
position and to correct errors in the location of a
robot.
* * *
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
4/11
Tecnura | Vol. 16 | Edicin Especial | Octubre 201278
investigacin
2. METODOLOGA
2.1 Ensamble de la planta
En esta seccin se hace referencia al ensamble so-
bre la plataforma LEGO, en el cual se tienen en
cuenta los parmetros que constituyen un sistema
pndulo invertido. Como primer paso se realizan
pruebas para encontrar la ubicacin adecuada del
servomotor y las ruedas del carro, adems de pro-
porcionar equilibrio en el peso del mismo carro y
en el pndulo. Como criterio principal de diseo,
el sistema pndulo invertido debe permitir la ad-
quisicin de cuatro seales como son: posicin y
velocidad del carro, as como posicin y velocidaddel pndulo. Inicialmente se instala en el extremo
superior del pndulo, un giroscopio HiTechnic
NXT, empleado como sensor de velocidad angular,
-
tica se puede usar este sensor para la obtencin de
posicin del pndulo, sin embargo es una medicin
indirecta, calculada por medio de una integral dis-
creta. Al desconocer la constante de adicin para
el resultado, este mtodo genera un error el cual se
vuelve acumulativo y hace que la medicin no sea
HiTechnic NXT, este mide rotacin de un eje de
ensamble de la planta el sensor se ubica en la base
del pndulo midiendo as la posicin de este en una
-
jar slo este sensor de ngulo y obtener su deriva-
da, lo cual representa tambin la velocidad angular
comparacin del valor medido por el giroscopio y
el valor resultante de derivar la posicin angular
.
De acuerdo a la comparacin con la seal obtenidadel giroscopio, la medicin indirecta de velocidad
angular tiene un error promedio del 9,6% en su am-
-
miento es muy similar a la obtenida con el girosco-
medicin indirecta como la velocidad angular del
sistema, dado que el cambio entre el uso de esta o
-
cin del sistema.
el centro del chasis del carro, permitindole a este
igual fuerza para el desplazamiento hacia adelante
y hacia atrs en las dos ruedas laterales y, de esta
manera, las ruedas de los extremos continan con
el movimiento producido por el motor. Este ser-
vomotor tiene internamente un encoder, sensor de
Figura 1. Medicin de velocidad angular. Ante un impulsocomo valor de consigna, se realiza la compara-
cin del valor medido por el giroscopio y el valor
calculado mediante la derivada de la posicin,
medida por el sensor de ngulo.
Fuente: Elaboracin propia.
Figura 2. Modelo ensamblado. Sistema pndulo invertido,sobre la plataforma LEGO MINDSTORMS NXT,
digitalizado en LEGO digital designer
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
5/11
diseo de un sistema pndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDOMARTNEZSANTA| CINDYESTEFANYGUERREROCIFUENTES| JOSDAVIDPREZRAMREZ79
investigacin
posicin, con resolucin de un grado y de 170 rpm
para la velocidad de rotacin del eje [7]. Aprove-
chando la estructura del servo motor se pueden
adquirir las dos mediciones faltantes, sin embargo,
una medicin se hace indirecta. La posicin del ca-
rro, es proporcionada directamente del servo-
motor, en cambio la velocidad del carro , se ob-
tiene derivando su posicin. Al conseguir el diseo
enven informacin de la ubicacin del carro y el
pndulo al bloque NXT, y ste consecuentemente
por comunicacin USB enva los datos a Matlab.
-
blado para el sistema pndulo invertido.
2.2 Modelado del sistema
Un sistema pndulo invertido se considera como
-
portamiento y de qu manera lo hacen. Cada una
-
observan las variables fsicas que intervienen en el
sistema pndulo invertido de este artculo. En el
modelamiento matemtico se desarrolla el diagra-
ma de cuerpo libre e implementacin de las leyes
de Newton para obtener el modelo como funcin
nmero de entradas, salidas y estados. Estas varia-
bles deben ser expresadas de forma vectorial, don-
de un sistema de orden n, es separado en n ecua-
ciones de estado, por lo que siempre va a ser un
sistema de orden uno [9]. El modelo en espacio de
estados de este artculo, cuenta con cuatro salidas
-
espacio de estados puede representarse por medio
de la ecuacin de estado en el dominio del tiempo,
Donde
=Vector de estados
= Kx, preserva la linealidad y da origen al sis-
tema en lazo cerrado.
es la sali-
da del sistema.
y t C x du t
importa el sistema que se modele, ni la compleji-
dad que este pueda tener, puesto que por estar en
espacio de estados el sistema va a ser de orden uno.
A continuacin se muestra el modelo calculado en
espacio de estados.
Matriz de estados,A
dx t
Ax t Bu tdt
0 1 0 0
0 0 0 1
Figura 3. Diagrama del pndulo invertido. Contiene cadauno de los parmetros del sistema; a partir de
este se realiza el anlisis de fuerzas para obte-
ner el sistema de ecuaciones de la dinmica de
la planta y realizar el modelamiento en espacio
de estados.Fuente: Elaboracin propia
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
6/11
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
7/11
diseo de un sistema pndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDOMARTNEZSANTA| CINDYESTEFANYGUERREROCIFUENTES| JOSDAVIDPREZRAMREZ81
investigacin
decir, que dicha funcin simula el comportamiento
de un sistema dinmico con parmetros aleatorios
entregados por el algoritmo gentico, y lo compa-
ra con el comportamiento real del sistema, donde
entre ms similitud sea encontrada, menor ser el
minimizar esta funcin, se escoger un sistema lo
-
En el modelo calculado se presentaron 6 variables,
estas se encuentran en las matrices y, del modelo
en espacio de estados, y corresponden a la posicin
de los valores no nulos del sistema modelado, esto
-
delo por espacio de estados original.
Matriz de estados,AA
Vector de entrada,BB
de los errores medios cuadrticos entre las cuatro
salidas de los sistemas reales y los obtenidos por el
estimacin del modelo se encuentran en la tabla 1
.
Tabla 1. Parmetros para estimacin del modelo por AG.
Poblacin
Tipo de poblacin Doble vector
Tamao de poblacin
Rango inicial [0;1]
Mutacin
Funcin de mutacin Gaussiana
Escala Criterios de parada
Generaciones de estancamiento 100Fuente: Elaboracin propia.
-
caso representa el error entre la seal medida y la
seal estimada por medio de algoritmos genticos,
estados, este se transforma a funcin de transferen-
0 1 0 0
0 0 0 1
0 3 4 0
v v
v v
0
0
6
v
v
4
e e e ef
sH s
s s s
0 0.1 0.3 0.4 0.6 0.7
-100
0
100
Tiempo [s]
Consigna
Valor real
Valor estimado
Figura 4. Seal de salida del sensor de ngulo. Se buscaque el valor estimado, tenga el mismo comporta-
miento al valor real del sensor. Esto se realiza por
medio de la herramienta de algoritmos genticos
de Matlab, con la cual se logr una respuesta de
la funcin de fitnessde 6,05 de error, para este
caso.
Fuente: Elaboracin propia.
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
8/11
Tecnura | Vol. 16 | Edicin Especial | Octubre 201282
investigacin
2.4 Controlador
En esta seccin se presenta el diseo del controla-
dor, para la sintonizacin de ste, se usasisotoolde
Matlab, en el cual se observa la ubicacin de los
polos del sistema, adems de su respuesta. Esta he-
rramienta permite la adicin de polos y ceros, tanto
sistema, consecuentemente es calculado el contro-
lador. En la sintonizacin, el primero de los mejo-
res resultados es un controlador con dos ceros. Sin
embargo, a pesar de ser un sistema con un tiempo
-
dor, la seal de control se vuelve inestable. El se-
gundo controlador sintonizado, presenta un polo ydos ceros, con un tiempo de estabilizacin de 1 [s]
controlador rpido, pero de igual manera al discre-
-
trolador seleccionado, cuenta con dos polos y dos
El controlador cuenta con un tiempo de estabili-
considera apropiado para el sistema pndulo inver-
tido. En el proceso de diseo del controlador es im-
portante realizar la simulacin previa del sistema
-
terfaz de diseo y la recepcin de datos del sensor
y el servomotor.
El controlador se discretiza, ya que ECRobot, tra-
baja en tiempo discreto. El mtodo de discretiza-
cin implementado en Matlab es el mtodo tustin
o trapezoidal, el cual aproxima numricamente las
integrales, es decir, hace la sumatoria de reas bajo
Los datos adquiridos del sensor de ngulo son en-
-
en la simulacin esta clase de conversiones: la detipos de dato. En el diagrama de bloques en Simu-
link se adiciona una saturacin antes del bloque de
Este ltimo punto es crtico debido a la seal de
control. Cualquier prdida de datos puede ocasio-
nar fallas al controlar el sistema.
Otro aspecto importante a tener en cuenta es la
banda muerta del sistema, este fenmeno se pre-
-
carro. Dicha inercia se debe a la masa del carro ya la relacin de trasformacin existente por los en-
y 13% del valor de la potencia del motor, la cual
no es tenida en cuenta en el modelamiento ni en la
Al determinar el controlador adecuado para la
planta, basado en la respuesta del sistema, se pro-
cede a realizar el diagrama de bloques del contro-
lador en el entorno de ECRobot, donde el diagrama
realizado en Simulink, es convertido a un archivo
de extensin *.rxe por medio del compilador GNUARM GCC, archivo compatible con el bloque
el bloque para poder ejecutar el sistema operativo
NXTOsek, necesario para la realizacin del diagra-
ma de bloques de Simulink.
s sH s
s s
Figura 5. Diagrama de bloques del controlador. Se realizaen Simulink para la simulacin del controlador
sintonizado.Fuente: Elaboracin propia
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
9/11
diseo de un sistema pndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDOMARTNEZSANTA| CINDYESTEFANYGUERREROCIFUENTES| JOSDAVIDPREZRAMREZ83
investigacin
3. RESULTADOS
Como principal resultado se obtiene un sistema
altura, 36 centmetros de largo, 16 centmetros de
ancho y un pndulo de 34 centmetros.
El comportamiento del sistema mejora cuando el
tiempo de muestreo es menor, se realiz la iden-
procesador de 3 G.Hz y memoria RAM de 3 GB,
con el cual se obtiene un tiempo de muestreo de
-
ms muestras del comportamiento y dando al siste-
ma y al controlador mejores resultados.
Inicialmente al obtener el modelo calculado en es-
pacio de estados se disea un controlador por reali-
mentacin de estados o control LQR, donde se ha-
lla el vector, el cual contiene las cuatro constantes
de realimentacin, para cada una de las salidas del
En la simulacin el sistema se estabiliza. Este com-
embargo, al transferirse al bloque NXT, la planta
se hace inestable y no hay respuesta al controlador.
Esto puede ocurrir por diferentes aspectos que in-
de los parmetros fsicos del sistema, poca exacti-
tud del modelo utilizado, el mtodo de discretiza-
cin, la medicin indirecta de seal de velocidad y
obtenido puede no ser el apropiado, dado que el
sistema con el que fue calculado puede diferir sig-
]K
Figura 6. Respuesta del sistema, ante un controlador porrealimentacin de estados en tiempo contino.
Fuente: Elaboracin propia.
Figura 8. Respuesta de la posicin angular ante un impulso,luego de la discretizacin del controlador y simu-
lado en Simulink.Fuente: Elaboracin propia.
Figura 7. Respuesta de la posicin angular, controlada porun sistema de orden dos, hallado por medio de
ubicacin de polos, ante un impulso en tiempo
contino.Fuente: Elaboracin propia
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
10/11
Tecnura | Vol. 16 | Edicin Especial | Octubre 201284
investigacin
El controlador diseado para el manejo de la posi-
cin angular, sintonizado por ubicacin de polos,
cuenta con la respuesta en tiempo continuo ante
un impulso, ste comportamiento se presenta en la
para analizar su comportamiento antes de transfe-
rirlo al bloque NXT. La respuesta del sistema ante
aplica un impulso en el entorno discretizado, ade-
ms de estar simulados todos los componentes del
sistema, como los tipos de datos y la saturacin.
Al discretizar el controlador sintonizado se cambia
sus seales de control se hacen grandes, de valores
- -
-
dos a los lmites del saturador. Entonces, los va-
lores de las seales de control quedan recortados,
por lo tanto el controlador no actuaria de manera
adecuada sobre el sistema.
4. CONCLUSIONES
El principal error a la hora de implementar el con-trolador sobre el bloque NXT se encuentra en la
saturacin que se debe anteponer al actuadorya
son aproximadamente el doble. Razn por la cual
el controlador no logra emitir seales de control
al actuador, obteniendo un sistema con una seal
-
delo adquirido cambiar por medio del controlador
dichos valores mximos.
El cdigo generado por GNU GCC se hace extenso
al pasar del entorno Simulink al lenguaje de pro-gramacin del bloque. Esto tambin hace que tome
mayor tiempo para su ejecucin, debido bsica-
mente a la doble compilacin generada, de Simu-
la implementacin del controlador directamente en
lenguaje C podra mejorar el tiempo de ejecucin y
as el comportamiento del sistema.
Si el sistema fuera establecera posible mejorar la
-
-
cin de los datos para un sistema ms factible.
Se comprueba que la utilizacin de un algoritmo
-
ales de entrada y de salida desequilibradas.
-
ada bsicamente de dos formas: cambiando la
estructura de tipo carro a tipo riel, donde la masade la parte mvil sea nicamente la del pndulo, o
haciendo que la accin de control se realice direc-
tamente sobre el eje de giro del pndulo. Este lti-
Se puede proponer un compensador para la ban-
da muerta del sistema para hacer ms efectivo el
comportamiento. Este compensador podra ser uti-
lizado antes o despus del clculo del controlador.
El clculo de controladores basados en sistemas
-lizado con sistemas modelados, porque trabajan
directamente sobre datos reales del sistema.
5. TRABAJO FUTURO
Dada la complejidad del sistema pndulo inverti-
do es posible, en trabajos futuros, utilizar control
adaptativo y control ptimo, as como diversas
tcnicas bio-inspiradas por medio de inteligencia
computacional como: Algoritmos genticos, Redes
Neuronales, entre otros.
-
-
mas dinmicos utilizando algoritmos genticos y,
a partir de estos, analizar los resultados obtenidos,
7/25/2019 DISEO DE PENDULO INVERTIDO.pdf
11/11
Tecnura | Vol. 16 | Edicin Especial | pp 76 - 85 | Octubre 2012 85
investigacin
abriendo as, la posibilidad de plantear otros pro-
yectos enfocados a la investigacin en este tema.
Es posible seguir utilizando el embedded coder
-
controladores. De esta forma no se restringira la
investigacin al uso del kit NXT.
6. FINANCIAMIENTO
Este artculo surge del proyecto de investigacin
titulado Diseo y control de un sistema pndulo
invertido, sobre plataforma Lego MINDSTOR-
formacin del laboratorio de control del proyecto
curricular Tecnologa en Electricidad e Ingeniera
-
to fue otorgado por la Universidad Distrital Fran-
cisco Jos de Caldas, Facultad Tecnolgica.
REFERENCIAS
[1]. S. Mallo, V. Mazzone,
diseo de Controladores de un pndulo in-vertido rotante, Universidad Nacional de
F. Castaos, R. Carrera Levantamientoy control de un pndulo invertido con un Uni-versidad Nacional Autnoma de Mxico,
[3]. J. Beltran, -vertido, Universidad politcnica de Va-
[4]. LEGO Education LEGO MINDS-TORMS NXT , [En lnea]. Disponi-ble: - -
LEGO Education LEGO MINDS-TORMS NXT , [En lnea]. Disponi-ble: - -
[6]. M. Silva, -MS NXT,
[7].
de los Parmetros para el Servomotor
NXT LEGO Mindstorms con Tcnicas de UniversidadDistrital Francisco Jos de Caldas, Colom-
Control tutorials for Matlab, Modeling Michigan,[En lnea]. Disponible: -
[9]. Notas grupos, Espacio estado, [En li-nea]. Disponible:
-
[10]. D. Rairn,Anlisis de sistemas dinmicosy control PID Universidad Distrital Francisco Jos de
[11]. N. Gil, Algoritmos genticos, Univer-sidad Nacional de Colombia, Colombia,
C. Herrera, R. Romero, Controlador di- -
Top Related