Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ISSN: 0123-921X
tecnura@udistrital.edu.co
Universidad Distrital Francisco Jos de Caldas
Colombia
RESUMEN
Este artculo muestra el diseo de un sistema pndulo invertido, sobre la plataforma LEGO MINDSTORMS NXT, as como el diseo y la implementacin del controlador correspondiente. Como punto
de partida se realiza la medicin de parmetros fsicos necesarios para el modelamiento del sistema
en espacio de estados. Adicionalmente, el modelo
HVLGHQWLFDGRSRUPHGLRGHDOJRULWPRVJHQpWLFRV
empleando Matlab, donde la adquisicin de datos
de los sensores y el servomotor se realizan con el
toolbox RWTH - Mindstorms NXT. Luego se disea un controlador usando el mtodo de ubicacin
de polos, para ser posteriormente implementado en
Simulink, entorno desde el cual se ejecuta Embe-
76
ABSTRACT
This paper shows the inverted pendulum system
design using the LEGO MINDSTORMS NXT platform, 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 adGLWLRQWKHPRGHOLVLGHQWLHGWKURXJKJHQHWLFDO-
investigacin
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 Simulink, from which the Embedded Coder Robot NXT
is executed; this toolbox is responsible of the conversion, compilation and transfer of the controller
***
1. INTRODUCCIN
El pndulo invertido es uno de los sistemas inestables ms usado en la teora del control. En la educacin y en la industria tiene diversidad de aplicaciones y formas de estudio [1]. Las implemenWDFLRQHVGLHUHQHQODIRUPDGHFRQVWUXFFLyQ\HO
tipo de controlador planteado para su desempeo.
Teniendo en cuenta que, segn sea el diseo mecnico, puede ser vulnerable a agentes como friccin y banda muerta, lo cual lo hace un modelo no
FRQDEOH>@$GHPiVVXVDSOLFDFLRQHVQRVyORVH
basan en la construccin de prototipos, sino tamELpQHQODFUHDFLyQGHVLPXODFLRQHVJUiFDV\VXV
correspondientes anlisis [3]. La mayora de trabajos realizados con anterioridad utilizan diversas
piezas mecnicas tomadas de sistemas tales como
impresoras o piezas creadas a la medida.
La principal caracterstica de este trabajo es la utilizacin del kit de robtica LEGO MINDSTORMS NXT como base para el diseo y construccin de la planta fsica, creando una nueva estructura para el sistema carro-pndulo. Adems, hallar
el modelo matemtico del sistema por medio de
algoritmos genticos, ampliando de esta manera
HOWHPDGHLQYHVWLJDFLyQSDUDODLGHQWLFDFLyQGH
sistemas dinmicos, mediante algoritmos de inteOLJHQFLDDUWLFLDO
diseo de un sistema pndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDO MARTNEZ SANTA | CINDY ESTEFANY GUERRERO CIFUENTES | JOS DAVID PREZ RAMREZ
77
investigacin
2. METODOLOGA
2.1 Ensamble de la planta
En esta seccin se hace referencia al ensamble sobre 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 proporcionar equilibrio en el peso del mismo carro y
en el pndulo. Como criterio principal de diseo,
el sistema pndulo invertido debe permitir la adquisicin de cuatro seales como son: posicin y
velocidad del carro, as como posicin y velocidad
del pndulo. Inicialmente se instala en el extremo
superior del pndulo, un giroscopio HiTechnic
NXT, empleado como sensor de velocidad angular,
PHGLFLyQSURSRUFLRQDGDHQ>V@'HPDQHUDSUiFtica se puede usar este sensor para la obtencin de
posicin del pndulo, sin embargo es una medicin
indirecta, calculada por medio de una integral discreta. 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
FRQDEOH3RUORDQWHULRUVHXVDHOVHQVRUGHiQJXOR
HiTechnic NXT, este mide rotacin de un eje de
JUDGRVFRQJUDGRGHSUHFLVLyQ3DUDHO
ensamble de la planta el sensor se ubica en la base
del pndulo midiendo as la posicin de este en una
WUD\HFWRULDGHJUDGRV6HGHWHUPLQDGHjar slo este sensor de ngulo y obtener su derivada, lo cual representa tambin la velocidad angular
GHO SpQGXOR (Q OD JXUD VH SXHGH REVHUYDU OD
comparacin del valor medido por el giroscopio y
el valor resultante de derivar la posicin angular
.
De acuerdo a la comparacin con la seal obtenida
del giroscopio, la medicin indirecta de velocidad
angular tiene un error promedio del 9,6% en su amSOLWXG/DIRUPDJHQHUDOGHODJUiFDGHFRPSRUWDmiento es muy similar a la obtenida con el giroscoSLRSRVWHULRUPHQWHVHGHQHXVDU~QLFDPHQWHHVWD
medicin indirecta como la velocidad angular del
78
investigacin
posicin, con resolucin de un grado y de 170 rpm
para la velocidad de rotacin del eje [7]. Aprovechando la estructura del servo motor se pueden
adquirir las dos mediciones faltantes, sin embargo,
una medicin se hace indirecta. La posicin del carro , es proporcionada directamente del servomotor, en cambio la velocidad del carro , se obtiene derivando su posicin. Al conseguir el diseo
QDO GH OD SODQWD HVWD SHUPLWH TXH ORV VHQVRUHV
enven informacin de la ubicacin del carro y el
pndulo al bloque NXT, y ste consecuentemente
por comunicacin USB enva los datos a Matlab.
(QODJXUDVHHQFXHQWUDHOPRGHORQDOHQVDPblado para el sistema pndulo invertido.
2.2 Modelado del sistema
Un sistema pndulo invertido se considera como
XQVLVWHPDLQHVWDEOH\VHKDFHQHFHVDULRLGHQWLFDU
FDGDXQRGHORVIDFWRUHVTXHLQX\HQHQVXFRPportamiento y de qu manera lo hacen. Cada una
GHHVWDVYDULDEOHVLQX\HHQHOPRGHORGHODSODQWDVHJ~QVHDVXSODQWHDPLHQWR(QODJXUD6H
observan las variables fsicas que intervienen en el
sistema pndulo invertido de este artculo. En el
modelamiento matemtico se desarrolla el diagra-
dxt
dt
Ax t Bu t
Donde
[W=Vector de estados
XW= Kx, preserva la linealidad y da origen al sistema en lazo cerrado.
'HLJXDOPDQHUDHQODHFXDFLyQ\W es la salida del sistema.
y t C x du t
1
0
0
0
0
0
0
1
diseo de un sistema pndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDO MARTNEZ SANTA | CINDY ESTEFANY GUERRERO CIFUENTES | JOS DAVID PREZ RAMREZ
79
investigacin
Vector de entrada, B
0
1.1661
Matriz de resultados, C
1
0
0 0 0
1 0 0
0 1 0
0 0 1
0
0
0
0
Vector d
'RQGHGHVFULEHODLQXHQFLDGLUHFWDVREUHODVDOLGD
[10], se elige igual a cero para que no tenga transicin sobre el sistema.
El modelo calculado como funcin de transferencia, es un sistema de orden 3, como se muestra en
ODHFXDFLyQ
H s
s
s s s
80
investigacin
100
3RVLFLRQ$QJXODU>@
Consigna
Valor real
Valor estimado
-100
0 1 0
v v
0 0 0
0 v3 v 4
Vector de entrada, BB
0
1
0.3
0.4
0.6
0.7
Tiempo [s]
Poblacin
Tipo de poblacin
Tamao de poblacin
Rango inicial
Mutacin
Funcin de mutacin
Escala
Criterios de parada
Generaciones de estancamiento
0
v
0
v 6
e e e e
4
0.1
Doble vector
[0;1]
Gaussiana
100
/DIXQFLyQGHWQHVVVHGHQHFRPRHOSURPHGLR
de los errores medios cuadrticos entre las cuatro
salidas de los sistemas reales y los obtenidos por el
DOJRULWPRFRPRVHPXHVWUDHQODHFXDFLyQ
/RVYDORUHV\FRQJXUDFLyQGHSDUiPHWURVSDUDOD
estimacin del modelo se encuentran en la tabla 1
/XHJRGHLWHUDFLRQHVHOVLVWHPDREWHQLGRWLHQHXQYDORUGHWQHVVGHYDORUTXHSDUDHVWH
caso representa el error entre la seal medida y la
seal estimada por medio de algoritmos genticos,
FRPRVHREVHUYDHQODJXUD/XHJRGHOUHVXOWDGR
REWHQLGRHQODLGHQWLFDFLyQGHOVLVWHPDHQHVSDFLR
estados, este se transforma a funcin de transferenFLDODFXDOUHSUHVHQWDHOPRGHORQDO\VHSXHGH
REVHUYDUHQODHFXDFLyQ
H s
diseo de un sistema pndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDO MARTNEZ SANTA | CINDY ESTEFANY GUERRERO CIFUENTES | JOS DAVID PREZ RAMREZ
81
investigacin
2.4 Controlador
En esta seccin se presenta el diseo del controlador, para la sintonizacin de ste, se usa sisotool de
Matlab, en el cual se observa la ubicacin de los
polos del sistema, adems de su respuesta. Esta herramienta permite la adicin de polos y ceros, tanto
FRPR VHDQ QHFHVDULRV 3DUD OD HVWDELOL]DFLyQ GHO
sistema, consecuentemente es calculado el controlador. En la sintonizacin, el primero de los mejores resultados es un controlador con dos ceros. Sin
embargo, a pesar de ser un sistema con un tiempo
GHHVWDELOL]DFLyQGH>V@\XQDRVFLODFLyQGH
>FLFORVV@ DO PRPHQWR GH GLVFUHWL]DU HO FRQWURODdor, la seal de control se vuelve inestable. El segundo controlador sintonizado, presenta un polo y
dos ceros, con un tiempo de estabilizacin de 1 [s]
\XQDRVFLODFLyQGH>FLFORVV@VHFRQVLGHUDXQ
controlador rpido, pero de igual manera al discreWL]DUORVHDIHFWDODHIHFWLYLGDG3RU~OWLPRHOFRQtrolador seleccionado, cuenta con dos polos y dos
FHURVPRVWUDGRHQODHFXDFLyQ
H s
82
investigacin
3. RESULTADOS
Como principal resultado se obtiene un sistema
SpQGXORLQYHUWLGRWDOFRPRVHPRVWUyHQODJXUD
FRQXQSHVRGHJUDPRVFHQWtPHWURVGH
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 idenWLFDFLyQHQGRVHTXLSRVHOSULPHURFRQVWDGHXQ
SURFHVDGRU ,QWHO &RUH 'XR ( YHORFLGDG GHO
procesador de 3 G.Hz y memoria RAM de 3 GB,
con el cual se obtiene un tiempo de muestreo de
>V@(OVHJXQGRWLHQHXQSURFHVDGRUGH,QWHO
&RUHL\XQD5$0GH*+]\PHPRULD
5$0GH*%FRQHOTXHVHREWLHQHXQWLHPSRGHPXHVWUHRGH>V@SHUPLWLHQGRDGTXLULU
ms muestras del comportamiento y dando al sistema y al controlador mejores resultados.
Inicialmente al obtener el modelo calculado en espacio de estados se disea un controlador por realimentacin de estados o control LQR, donde se halla el vector, el cual contiene las cuatro constantes
de realimentacin, para cada una de las salidas del
VLVWHPDFRPRVHSXHGHYHUHQODHFXDFLRQHV
En la simulacin el sistema se estabiliza. Este comSRUWDPLHQWRVHSXHGHREVHUYDUHQODJXUD6LQ
embargo, al transferirse al bloque NXT, la planta
diseo de un sistema pndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDO MARTNEZ SANTA | CINDY ESTEFANY GUERRERO CIFUENTES | JOS DAVID PREZ RAMREZ
83
investigacin
El controlador diseado para el manejo de la posicin angular, sintonizado por ubicacin de polos,
cuenta con la respuesta en tiempo continuo ante
un impulso, ste comportamiento se presenta en la
JXUD (VWH PLVPR FRQWURODGRU HV GLVFUHWL]DGR
para analizar su comportamiento antes de transferirlo al bloque NXT. La respuesta del sistema ante
HOFRQWURODGRUVHPXHVWUDHQODJXUDGRQGHVH
aplica un impulso en el entorno discretizado, adems de estar simulados todos los componentes del
sistema, como los tipos de datos y la saturacin.
6HSXHGHPHMRUDUVLJQLFDWLYDPHQWHHOWLHPSRGH
UHVSXHVWD GHO VLVWHPD PRGLFDQGR OD SODQWD GLVHada bsicamente de dos formas: cambiando la
estructura de tipo carro a tipo riel, donde la masa
de la parte mvil sea nicamente la del pndulo, o
haciendo que la accin de control se realice directamente sobre el eje de giro del pndulo. Este ltiPRLPSOLFDFDPELDUXQSRFRHOPRGHORVHJZD\
4. CONCLUSIONES
El principal error a la hora de implementar el controlador sobre el bloque NXT se encuentra en la
saturacin que se debe anteponer al actuadorya
TXH HVWH HV GH WLSR ,QW \ ORV YDORUHV REWHQLGRV
son aproximadamente el doble. Razn por la cual
el controlador no logra emitir seales de control
al actuador, obteniendo un sistema con una seal
FRQWDQWHGHORTXHKDFHLPSRVLEOHSDUDHOPRdelo 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 programacin del bloque. Esto tambin hace que tome
mayor tiempo para su ejecucin, debido bsicamente a la doble compilacin generada, de SimuOLQND&\GHHVWHDOHQJXDMHPiTXLQD3RUORWDQWR
la implementacin del controlador directamente en
84
Se puede proponer un compensador para la banda muerta del sistema para hacer ms efectivo el
comportamiento. Este compensador podra ser utilizado antes o despus del clculo del controlador.
El clculo de controladores basados en sistemas
GLQiPLFRVLGHQWLFDGRVHVPiVHIHFWLYRTXHHOUHDlizado con sistemas modelados, porque trabajan
directamente sobre datos reales del sistema.
5. TRABAJO FUTURO
Dada la complejidad del sistema pndulo invertido 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.
3DUD WUDEDMRV IXWXURV VH SURSRQH FUHDU XQD PHWRGRORJtD FRPSOHWD SDUD OD LGHQWLFDFLyQ GH VLVWHmas dinmicos utilizando algoritmos genticos y,
a partir de estos, analizar los resultados obtenidos,
investigacin
abriendo as, la posibilidad de plantear otros proyectos enfocados a la investigacin en este tema.
Es posible seguir utilizando el embedded coder
GLUHFWDPHQWHVLQHOXVRGH(&5RERWGH0DWODE
SDUDJHQHUDUFyGLJR&&SDUDRWURVGLVSRVLWLYRV
WDOHV FRPR 6LVWHPDV HPEHELGRV '63V \ PLFURcontroladores. 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 MINDSTOR061;7UHDOL]DGRFRQHOQGHFRQWULEXLUDOD
formacin del laboratorio de control del proyecto
curricular Tecnologa en Electricidad e Ingeniera
(OpFWULFD(ODYDO\QDQFLDPLHQWRGHHVWHSUR\HFto fue otorgado por la Universidad Distrital Francisco Jos de Caldas, Facultad Tecnolgica.
REFERENCIAS
[1].
>@
[3].
[4].
>@
[6].
[7].
[9].
[10].
[11].
>@
85