Está en la página 1de 10

Diseño de un sistema péndulo invertido, sobre

plataforma LEGO Mindstorms NXT, controlado


mediante MATLAB
Design of an inverted pendulum system on LEGO MINDSTORMS NXT
platform, controlled by MATLAB

FERNANDO MARTÍNEZ SANTA


Ingeniero en Control Electrónico e Instrumentación, Magister en Ingeniería Electrónica y
de computadores. Docente de la Universidad Distrital Francisco José de Caldas, Bogotá,
Colombia. Contacto: fmartinezs@udistrital.edu.co
CINDY ESTEFANY GUERRERO CIFUENTES
Ingeniera Eléctrica. Ingeniera de diseño eléctrico de Schneider Electric S.A. Bogotá,
Colombia. Contacto: cindy510g@gmail.com
JOSÉ DAVID PÉREZ RAMÍREZ
Ingeniero Eléctrico. Inspector de calidad de mantenimiento a redes de energía, en
JMSedinko. Bogotá, Colombia. Contacto: jdperez2682@gmail.com
Fecha de recepción: 24 Agosto de 2012 Clasificación del artículo: Investigación
Fecha de aceptación: 1 de Octubre de 2012 Grupo de Investigación: Control Electrónico

Palabras clave: $OJRULWPRVJHQpWLFRVHVSDFLRHVWDGRVLGHQWL¿FDFLyQORFDOL]DFLyQGHSRORVSpQ-


dulo invertido
Key words: JHQHWLFDOJRULWKPVLGHQWL¿FDWLRQLQYHUWHGSHQGXOXPSROHORFDWLRQVSDFHVWDWHV

RESUMEN dded Coder Robot NXT toolbox, encargado de la


conversión, compilación y transferencia al bloque
Este artículo muestra el diseño de un sistema pén- NXT del controlador. Como resultado se tiene el
dulo invertido, sobre la plataforma LEGO MINDS- diseño de una planta física con un kit armable y el
TORMS NXT, así como el diseño y la implementa- diseño e implementación de un controlador viable
ción del controlador correspondiente. Como punto para dicha planta.
de partida se realiza la medición de parámetros fí-
sicos necesarios para el modelamiento del sistema
en espacio de estados. Adicionalmente, el modelo ABSTRACT
HVLGHQWL¿FDGRSRUPHGLRGHDOJRULWPRVJHQpWLFRV
empleando Matlab, donde la adquisición de datos This paper shows the inverted pendulum system
de los sensores y el servomotor se realizan con el design using the LEGO MINDSTORMS NXT pla-
toolbox RWTH - Mindstorms NXT. Luego se dise- tform, as well as the design and implementation of
ña un controlador usando el método de ubicación the corresponding controller. As a starting point,
de polos, para ser posteriormente implementado en the needed physical parameters measurement for
Simulink, entorno desde el cual se ejecuta Embe- modeling the system on state space is made. In ad-
GLWLRQWKHPRGHOLVLGHQWL¿HGWKURXJKJHQHWLFDO-

76 Tecnura | Vol. 16 | Edición Especial | pp 76 - 85 | Octubre 2012


investigación

gorithms using Matlab, when the data acquisition to the NXT block. The result is a physical plant
from sensors and servo-motor is done through the design using a buildable kit, and the design and im-
RWTH - Mindstorms NXT Toolbox. The next step plementation of a feasible controller for this plant.
is the controller design, using the pole placement
method, to be subsequently implemented in Simu- the task of the rescue team. This paper presents the
link, from which the Embedded Coder Robot NXT LPSOHPHQWDWLRQ RI WKH .DOPDQ ¿OWHU WR HVWLPDWH
is executed; this toolbox is responsible of the con- position and to correct errors in the location of a
version, compilation and transfer of the controller robot.

***

1. INTRODUCCIÓN el bloque “inteligente” NXT [4]. Adicional a esto,


XQDFDMDGHUHIHUHQFLDODFXDOFRQWLHQH
El péndulo invertido es uno de los sistemas inesta- ¿FKDV GH GLIHUHQWHV IRUPDV >@ (O EORTXH 1;7
bles más usado en la teoría del control. En la edu- cuenta con dos procesadores, el primero es un mi-
cación y en la industria tiene diversidad de apli- FURSURFHVDGRU$50GHELWVPHPRULDÀDVKGH
caciones y formas de estudio [1]. Las implemen- N%%LWVGHPHPRULD5$0\HOVHJXQGR
WDFLRQHVGL¿HUHQHQODIRUPDGHFRQVWUXFFLyQ\HO HV XQ PLFUR FRQWURODGRU$95 GH  ELWV FRQ PH-
tipo de controlador planteado para su desempeño. PRULDÀDVKGHN%%LWVGHPHPRULD5$0
Teniendo en cuenta que, según sea el diseño me- Además, el bloque cuenta con enlace bluetooth, un
cánico, puede ser vulnerable a agentes como fric- SXHUWR86%GH0ELWVVFXDWURSXHUWRVGHHQWUD-
ción y banda muerta, lo cual lo hace un modelo no da, para los sensores, y 3 puertos de salida para
FRQ¿DEOH>@$GHPiVVXVDSOLFDFLRQHVQRVyORVH los servomotores [6]. Además, éste es compatible
basan en la construcción de prototipos, sino tam- con lenguajes de programación tales como: JAVA,
ELpQHQODFUHDFLyQGHVLPXODFLRQHVJUi¿FDV\VXV && /$%9,(: 1;7* 1;& 0DWODE \ 6L-
correspondientes análisis [3]. La mayoría de tra- mulink. Estos últimos programas utilizados para el
bajos realizados con anterioridad utilizan diversas desarrollo de este trabajo dado su facilidad de uso
piezas mecánicas tomadas de sistemas tales como y análisis de resultados.
impresoras o piezas creadas a la medida.
La construcción de la planta se realiza con un total
La principal característica de este trabajo es la uti- GH  ¿FKDV XQ VHQVRU GH iQJXOR XQ VHUYRPR-
lización del kit de robótica “LEGO MINDSTOR- tor y el bloque NXT. El sistema péndulo invertido
MS NXT®” como base para el diseño y construc- sobre plataforma NXT, se compone de diferentes
ción de la planta física, creando una nueva estruc- etapas. La principal es el ensamble donde se tienen
tura para el sistema carro-péndulo. Además, hallar en cuenta los parámetros físicos y mecánicos para
el modelo matemático del sistema por medio de el diseño. De igual manera se emplean técnicas de
algoritmos genéticos, ampliando de esta manera LGHQWL¿FDFLyQ \D VHD XVDQGR DOJRULWPRV HVWiQGDU
HOWHPDGHLQYHVWLJDFLyQSDUDODLGHQWL¿FDFLyQGH RDOJRULWPRVGHLQWHOLJHQFLDDUWL¿FLDOFRQHO¿QGH
sistemas dinámicos, mediante algoritmos de inte- obtener el modelo matemático de la planta. Luego
OLJHQFLDDUWL¿FLDO se realiza la simulación del controlador, así como
la transferencia de este al bloque NXT. Con el sis-
tema en funcionamiento se ejecuta el análisis de
El kit educativo utilizado es de referencia 9797, resultados y de esta manera se concluye acerca del
FRQWLHQH¿FKDVVHQVRUHVVHUYRPRWRUHV\ comportamiento de la planta.

diseño de un sistema péndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDO MARTÍNEZ SANTA | CINDY ESTEFANY GUERRERO CIFUENTES | JOSÉ DAVID PÉREZ RAMÍREZ
77
investigación

2. METODOLOGÍA

2.1 Ensamble de la planta

En esta sección se hace referencia al ensamble so-


bre la plataforma LEGO, en el cual se tienen en
cuenta los parámetros que constituyen un sistema
péndulo invertido. Como primer paso se realizan
pruebas para encontrar la ubicación adecuada del
servomotor y las ruedas del carro, además de pro-
porcionar equilibrio en el peso del mismo carro y Figura 1. Medición de velocidad angular. Ante un impulso
en el péndulo. Como criterio principal de diseño, como valor de consigna, se realiza la compara-
el sistema péndulo invertido debe permitir la ad- ción del valor medido por el giroscopio y el valor
quisición de cuatro señales como son: posición y calculado mediante la derivada de la posición,
velocidad del carro, así como posición y velocidad medida por el sensor de ángulo.
Fuente: Elaboración propia.
del péndulo. Inicialmente se instala en el extremo
superior del péndulo, un giroscopio HiTechnic sistema, dado que el cambio entre el uso de esta o
NXT, empleado como sensor de velocidad angular, ODVHxDOGLUHFWDHVPtQLPDHQFXDQWRDODLGHQWL¿FD-
PHGLFLyQSURSRUFLRQDGDHQ>žV@'HPDQHUDSUiF- ción del sistema.
tica se puede usar este sensor para la obtención de
3RU RWUR ODGR HO VHUYRPRWRU /HJR HV XELFDGR HQ
posición del péndulo, sin embargo es una medición
el centro del chasis del carro, permitiéndole a este
indirecta, calculada por medio de una integral dis-
igual fuerza para el desplazamiento hacia adelante
creta. Al desconocer la constante de adición para
y hacia atrás en las dos ruedas laterales y, de esta
el resultado, este método genera un error el cual se
manera, las ruedas de los extremos continúan con
vuelve acumulativo y hace que la medición no sea
el movimiento producido por el motor. Este ser-
FRQ¿DEOH3RUORDQWHULRUVHXVDHOVHQVRUGHiQJXOR
vomotor tiene internamente un encoder, sensor de
HiTechnic NXT, este mide rotación de un eje de
JUDGRV ž FRQJUDGRGHSUHFLVLyQ3DUDHO
ensamble de la planta el sensor se ubica en la base
del péndulo midiendo así la posición de este en una
WUD\HFWRULDGH±JUDGRV ž 6HGHWHUPLQDGH-
jar sólo este sensor de ángulo y obtener su deriva-
da, lo cual representa también la velocidad angular
GHO SpQGXOR (Q OD ¿JXUD  VH SXHGH REVHUYDU OD
comparación del valor medido por el giroscopio y
el valor resultante de derivar la posición angular
ș .
De acuerdo a la comparación con la señal obtenida
del giroscopio, la medición indirecta de velocidad
angular tiene un error promedio del 9,6% en su am-
SOLWXG/DIRUPDJHQHUDOGHODJUi¿FDGHFRPSRUWD-
miento es muy similar a la obtenida con el girosco- Figura 2. Modelo ensamblado. Sistema péndulo invertido,
SLRSRVWHULRUPHQWHVHGH¿QHXVDU~QLFDPHQWHHVWD sobre la plataforma LEGO MINDSTORMS NXT,
digitalizado en LEGO digital designer
medición indirecta como la velocidad angular del

78 Tecnura | Vol. 16 | Edición Especial | Octubre 2012


investigación

posición, con resolución de un grado y de 170 rpm ma de cuerpo libre e implementación de las leyes
para la velocidad de rotación del eje [7]. Aprove- de Newton para obtener el modelo como función
chando la estructura del servo motor se pueden GHWUDQVIHUHQFLD\HQHVSDFLRGHHVWDGRV>@
adquirir las dos mediciones faltantes, sin embargo,
una medición se hace indirecta. La posición del ca- /DLQWHUDFFLyQFRQHOVLVWHPDSHUPLWHLGHQWL¿FDUHO
rro Ȥ , es proporcionada directamente del servo- número de entradas, salidas y estados. Estas varia-
motor, en cambio la velocidad del carro Ȥլ , se ob- bles deben ser expresadas de forma vectorial, don-
tiene derivando su posición. Al conseguir el diseño de un sistema de orden n, es separado en n ecua-
¿QDO GH OD SODQWD HVWD SHUPLWH TXH ORV VHQVRUHV ciones de estado, por lo que siempre va a ser un
envíen información de la ubicación del carro y el sistema de orden uno [9]. El modelo en espacio de
péndulo al bloque NXT, y éste consecuentemente estados de este artículo, cuenta con cuatro salidas
por comunicación USB envía los datos a Matlab. PHGLEOHVTXHVRQiQJXORGHOSpQGXOR ș YHORFL-
(QOD¿JXUDVHHQFXHQWUDHOPRGHOR¿QDOHQVDP- GDGDQJXODU șࡆ SRVLFLyQGHOFDUUR Ȥ \YHORFLGDG
blado para el sistema péndulo invertido. GHO FDUUR Ȥ ࡆ  'H PDQHUD JHQHUDO XQ VLVWHPD SRU
espacio de estados puede representarse por medio
de la ecuación de estado en el dominio del tiempo,

Ax t  Bu t
2.2 Modelado del sistema FRPRVHREVHUYDHQODHFXDFLyQ  
dx t
Un sistema péndulo invertido se considera como  
dt
XQVLVWHPDLQHVWDEOH\VHKDFHQHFHVDULRLGHQWL¿FDU Donde
FDGDXQRGHORVIDFWRUHVTXHLQÀX\HQHQVXFRP-
portamiento y de qué manera lo hacen. Cada una [ W =Vector de estados
GHHVWDVYDULDEOHVLQÀX\HHQHOPRGHORGHODSODQ-
WDVHJ~QVHDVXSODQWHDPLHQWR(QOD¿JXUD6H X W = Kx, preserva la linealidad y da origen al sis-
observan las variables físicas que intervienen en el tema en lazo cerrado.
sistema péndulo invertido de este artículo. En el 'HLJXDOPDQHUDHQODHFXDFLyQ  \ W es la sali-
modelamiento matemático se desarrolla el diagra-

y t C x  du t
da del sistema.

'HODVHFXDFLRQHV  \  VHSXHGHGHFLUTXHQR
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 continuación se muestra el modelo calculado en
espacio de estados.
Matriz de estados, A
ª0 0º
«    »
1 0
« »
«0 1»
Figura 3. Diagrama del péndulo invertido. Contiene cada

« »
uno de los parámetros del sistema; a partir de 0 0
¬    ¼
este se realiza el análisis de fuerzas para obte-
ner el sistema de ecuaciones de la dinámica de
la planta y realizar el modelamiento en espacio
de estados.
Fuente: Elaboración propia

diseño de un sistema péndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDO MARTÍNEZ SANTA | CINDY ESTEFANY GUERRERO CIFUENTES | JOSÉ DAVID PÉREZ RAMÍREZ
79
investigación

Vector de entrada, B controlados y programados desde Matlab. En este

ª 0 º
artículo la adquisición de datos se realiza mediante
FRQH[LyQ86%/XHJRGHUHDOL]DUODFRQ¿JXUDFLyQ
«1.1661 »
« »
de la comunicación con Matlab, es enviada una

« 0 »
señal de pulso de duración determinada al bloque

« »
1;7 YHU¿JXUD WHQLHQGRHQFXHQWDODDOLPHQWD-
¬ ¼
ción del motor en un rango de 1 a 100% de poten-
FLD/DSRWHQFLDVHOHFFLRQDGDHVFRPRYDORU
neutro para ser multiplicado por la señal de con-
Matriz de resultados, C
ª1 0 0 0º
signa y de esta manera generar movimiento en el

«0 1 0 0 »»
carro, y consecuentemente un cambio de posición
GHOVHQVRUGHiQJXOR3DUDODWRPDGHPXHVWUDVHO
«
«0 0 1 0»
péndulo es ubicado geométricamente a 90 grados

« »
ž SHURSDUDHOVLVWHPDHVWDSRVLFLyQHVXQiQJXOR
¬0 0 0 1¼ cero.
Ahora, para la generación de los datos se declara la

ª0 º
Vector d apertura del sensor de ángulo, la potencia de entra-

«0 »
da para el motor y la función para la generación de
« »
la señal de consigna. Luego se realiza un ciclo don-
«0 »
de se calcula la cantidad de datos según el intervalo
« »
¬0 ¼
de tiempo asignado. En el momento de arranque
del carro, el péndulo cae generando una variación
en la posición del mismo péndulo, capturada den-
'RQGHGHVFULEHODLQÀXHQFLDGLUHFWDVREUHODVDOLGD tro del ciclo por el sensor de ángulo. En la adqui-
[10], se elige igual a cero para que no tenga transi- sición de datos se calcula el tiempo de muestreo
ción sobre el sistema. GHOVLVWHPDYDORULPSRUWDQWHSDUDODLGHQWL¿FDFLyQ
e implementación del controlador. El tiempo cal-
El modelo calculado como función de transferen- FXODGRSDUDODDGTXLVLFLyQHVGH>V@9DORU
cia, es un sistema de orden 3, como se muestra en propio del toolbox y la comunicación USB, que a
ODHFXDFLyQ   VXYH]GHSHQGHGHOSURFHVDGRUGHO3&HQHOTXHVH

H s
  s  esté realizando la toma de datos.
s    s    s   


/DLGHQWL¿FDFLyQGHOPRGHORVHUHDOL]DSRUPHGLR
de algoritmos genéticos, método adaptativo basado
2.3 Identificación del modelo en el proceso evolutivo de los organismos vivos,
para la solución de problemas de la vida real [11].
3DUD OD LGHQWL¿FDFLyQ GHO PRGHOR VH WRPD FRPR La herramienta de Matlab utilizada para la identi-
base el modelo calculado en espacio de estados. Es ¿FDFLyQGHOVLVWHPDVHGHQRPLQD“gatool”. Los al-
necesario obtener el comportamiento real del siste- goritmos genéticos optimizan una función objetivo
ma péndulo invertido ante una perturbación y cap- RIXQFLyQGH¿WQHVVODFXDOUHSUHVHQWDHOSUREOHPD
turarlo en el computador. En este proceso se utiliza que se quiere minimizar o solucionar. En este caso
el RWTH - Mindstorms NXT, toolbox que cuenta OD IXQFLyQ GH ¿WQHVV WLHQH HQ FXHQWD HO JUDGR GH
con protocolos de comunicación bluetooth y USB VLPLOLWXG HQWUH ODV VHxDOHV UHDOHV DGTXLULGDV SRU
con los robots LEGO MINDSTORMS NXT, más PHGLRGHOVHUYRPRWRU\ORVVHQVRUHV \FDGDXQD
exactamente con el bloque NXT, permitiendo ser de las iteraciones generadas por el algoritmo, es

80 Tecnura | Vol. 16 | Edición Especial | Octubre 2012


investigación

decir, que dicha función simula el comportamiento


100
de un sistema dinámico con parámetros aleatorios
entregados por el algoritmo genético, y lo compa-

3RVLFLRQ$QJXODU>ž@

ra con el comportamiento real del sistema, donde
entre más similitud sea encontrada, menor será el
YDORUGHVDOLGDGHODIXQFLyQGH¿WQHVVWDQWRTXHDO 0

minimizar esta función, se escogerá un sistema lo


VX¿FLHQWHPHQWHFHUFDQRHQFRPSRUWDPLHQWRDOVLV-  Consigna
Valor real
WHPDUHDO\DVtKDFHUXQSURFHVRGHLGHQWL¿FDFLyQ Valor estimado
-100
0 0.1  0.3 0.4  0.6 0.7 
En el modelo calculado se presentaron 6 variables, Tiempo [s]
estas se encuentran en las matrices y, del modelo
en espacio de estados, y corresponden a la posición Figura 4. Señal de salida del sensor de ángulo. Se busca
que el valor estimado, tenga el mismo comporta-
de los valores no nulos del sistema modelado, esto miento al valor real del sensor. Esto se realiza por
FRQHO¿QGHFRQVHUYDUODHVWUXFWXUDEiVLFDGHOPR- medio de la herramienta de algoritmos genéticos
delo por espacio de estados original. de Matlab, con la cual se logró una respuesta de
la función de fitness de 6,05 de error, para este
Matriz de estados, AA caso.

ª0 1 0 0º
Fuente: Elaboración propia.

« v v   »»
Tabla 1. Parámetros para estimación del modelo por AG.

«
«0 0 0 1»
Población

« »
Tipo de población Doble vector
¬ 0 v3 v 4 0¼ Tamaño de población 
Rango inicial [0;1]
Vector de entrada, BB

ª0º
Mutación

«v»
Función de mutación Gaussiana

« »
Escala 
«0»
« »
Criterios de parada

¬v 6 ¼
Generaciones de estancamiento 100
Fuente: Elaboración propia.
/DIXQFLyQGH¿WQHVVVHGH¿QHFRPRHOSURPHGLR /XHJRGHLWHUDFLRQHVHOVLVWHPDREWHQLGRWLH-
de los errores medios cuadráticos entre las cuatro QHXQYDORUGH¿WQHVVGHYDORUTXHSDUDHVWH
salidas de los sistemas reales y los obtenidos por el caso representa el error entre la señal medida y la
DOJRULWPRFRPRVHPXHVWUDHQODHFXDFLyQ   señal estimada por medio de algoritmos genéticos,
FRPRVHREVHUYDHQOD¿JXUD/XHJRGHOUHVXOWDGR
e  e  e  e REWHQLGRHQODLGHQWL¿FDFLyQGHOVLVWHPDHQHVSDFLR
f estados, este se transforma a función de transferen-
4  
FLDODFXDOUHSUHVHQWDHOPRGHOR¿QDO\VHSXHGH
REVHUYDUHQODHFXDFLyQ  
 s  
H s
/RVYDORUHV\FRQ¿JXUDFLyQGHSDUiPHWURVSDUDOD
s  s   s  
 
estimación del modelo se encuentran en la tabla 1 

diseño de un sistema péndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDO MARTÍNEZ SANTA | CINDY ESTEFANY GUERRERO CIFUENTES | JOSÉ DAVID PÉREZ RAMÍREZ
81
investigación

2.4 Controlador portante realizar la simulación previa del sistema


HQHOGLDJUDPDGHEORTXHVGHOD¿JXUDWHQLHQGR
En esta sección se presenta el diseño del controla- HQFXHQWDFDGDXQDGHODVFRQ¿JXUDFLRQHVHQODLQ-
dor, para la sintonización de éste, se usa sisotool de terfaz de diseño y la recepción de datos del sensor
Matlab, en el cual se observa la ubicación de los y el servomotor.
polos del sistema, además de su respuesta. Esta he-
rramienta permite la adición de polos y ceros, tanto El controlador se discretiza, ya que ECRobot, tra-
FRPR VHDQ QHFHVDULRV 3DUD OD HVWDELOL]DFLyQ GHO baja en tiempo discreto. El método de discretiza-
sistema, consecuentemente es calculado el contro- ción implementado en Matlab es el método tustin
lador. En la sintonización, el primero de los mejo- o trapezoidal, el cual aproxima numéricamente las
res resultados es un controlador con dos ceros. Sin integrales, es decir, hace la sumatoria de áreas bajo
embargo, a pesar de ser un sistema con un tiempo ODFXUYDVXPDQGRWUDSHFLRV>@
GHHVWDELOL]DFLyQGH>V@\XQDRVFLODFLyQGH Los datos adquiridos del sensor de ángulo son en-
>FLFORVV@ DO PRPHQWR GH GLVFUHWL]DU HO FRQWUROD- WHURVGHELWV\HOVHUYRPRWRUUHFLEHYDORUHVHQ-
dor, la señal de control se vuelve inestable. El se- WHURVGHELWV3RUHVWDUD]yQVHGHEHQFRQVLGHUDU
gundo controlador sintonizado, presenta un polo y en la simulación esta clase de conversiones: la de
dos ceros, con un tiempo de estabilización de 1 [s] tipos de dato. En el diagrama de bloques en Simu-
\XQDRVFLODFLyQGH>FLFORVV@VHFRQVLGHUDXQ link se adiciona una saturación antes del bloque de
controlador rápido, pero de igual manera al discre- FRQYHUVLyQ,QWSDUDHQYLDUODVHxDODOVHUYRPRWRU
WL]DUORVHDIHFWDODHIHFWLYLGDG3RU~OWLPRHOFRQ- Este último punto es crítico debido a la señal de
trolador seleccionado, cuenta con dos polos y dos control. Cualquier pérdida de datos puede ocasio-
FHURVPRVWUDGRHQODHFXDFLyQ  
 s     s  
H s
nar fallas al controlar el sistema.

s    s  


Otro aspecto importante a tener en cuenta es la
 banda muerta del sistema, este fenómeno se pre-
VHQWDSRUODLQHUFLDTXHGHEHURPSHUHOPRWRU DF-
WXDGRU KDVWDDOFDQ]DUHOPRYLPLHQWRHIHFWLYRGHO
carro. Dicha inercia se debe a la masa del carro y
a la relación de trasformación existente por los en-
JUDQDMHV(VWDEDQGDPXHUWDVHGH¿QHHQWUH
y 13% del valor de la potencia del motor, la cual
no es tenida en cuenta en el modelamiento ni en la
LGHQWL¿FDFLyQGHOSUREOHPD
Al determinar el controlador adecuado para la
planta, basado en la respuesta del sistema, se pro-
Figura 5. Diagrama de bloques del controlador. Se realiza cede a realizar el diagrama de bloques del contro-
en Simulink para la simulación del controlador
lador en el entorno de ECRobot, donde el diagrama
sintonizado.
Fuente: Elaboración propia
realizado en Simulink, es convertido a un archivo
de extensión *.rxe por medio del compilador GNU
ARM GCC, archivo compatible con el bloque
El controlador cuenta con un tiempo de estabili- 1;7 3DUD HVWR HV QHFHVDULR LQVWDODU XQD YHUVLyQ
]DFLyQGH>V@\XQDRVFLODFLyQGH>FLFORVV@ PRGL¿FDGD GHO ¿UPZDUH RULJLQDO SUHYLDPHQWH HQ
DGHPiVGHXQVREUHSLFRGH(VWH~OWLPRVH el bloque para poder ejecutar el sistema operativo
considera apropiado para el sistema péndulo inver- NXTOsek, necesario para la realización del diagra-
tido. En el proceso de diseño del controlador es im- ma de bloques de Simulink.

82 Tecnura | Vol. 16 | Edición Especial | Octubre 2012


investigación

3. RESULTADOS

Como principal resultado se obtiene un sistema


SpQGXORLQYHUWLGRWDOFRPRVHPRVWUyHQOD¿JXUD
FRQXQSHVRGHJUDPRVFHQWtPHWURVGH
altura, 36 centímetros de largo, 16 centímetros de
ancho y un péndulo de 34 centímetros.
El comportamiento del sistema mejora cuando el
tiempo de muestreo es menor, se realizó la iden-
WL¿FDFLyQHQGRVHTXLSRVHOSULPHURFRQVWDGHXQ
SURFHVDGRU ,QWHO &RUH 'XR ( YHORFLGDG GHO
procesador de 3 G.Hz y memoria RAM de 3 GB,
Figura 7. Respuesta de la posición angular, controlada por
con el cual se obtiene un tiempo de muestreo de un sistema de orden dos, hallado por medio de
>V@(OVHJXQGRWLHQHXQSURFHVDGRUGH,QWHO ubicación de polos, ante un impulso en tiempo
&RUHL\XQD5$0GH*+]\PHPRULD continúo.
5$0GH*%FRQHOTXHVHREWLHQHXQWLHP- Fuente: Elaboración propia
SRGHPXHVWUHRGH>V@SHUPLWLHQGRDGTXLULU se hace inestable y no hay respuesta al controlador.
más muestras del comportamiento y dando al siste- Esto puede ocurrir por diferentes aspectos que in-
ma y al controlador mejores resultados. ÀX\HQHQHOVLVWHPDFRPRHUURUHVHQODPHGLFLyQ
de los parámetros físicos del sistema, poca exacti-
Inicialmente al obtener el modelo calculado en es- tud del modelo utilizado, el método de discretiza-
pacio de estados se diseña un controlador por reali- ción, la medición indirecta de señal de velocidad y
mentación de estados o control LQR, donde se ha- ODEDQGDPXHUWD3RUHVWDVUD]RQHVHOFRQWURODGRU
lla el vector, el cual contiene las cuatro constantes obtenido puede no ser el apropiado, dado que el
de realimentación, para cada una de las salidas del sistema con el que fue calculado puede diferir sig-
VLVWHPDFRPRVHSXHGHYHUHQODHFXDFLRQHV   QL¿FDWLYDPHQWHGHOUHDO
En la simulación el sistema se estabiliza. Este com-
SRUWDPLHQWRVHSXHGHREVHUYDUHQOD¿JXUD6LQ K >       ] 
embargo, al transferirse al bloque NXT, la planta

Figura 8. Respuesta de la posición angular ante un impulso,


Figura 6. Respuesta del sistema, ante un controlador por luego de la discretización del controlador y simu-
realimentación de estados en tiempo continúo. lado en Simulink.
Fuente: Elaboración propia. Fuente: Elaboración propia.

diseño de un sistema péndulo invertido, sobre plataforma lego mindstorms nxt, controlado mediante matlab
FERNANDO MARTÍNEZ SANTA | CINDY ESTEFANY GUERRERO CIFUENTES | JOSÉ DAVID PÉREZ RAMÍREZ
83
investigación

El controlador diseñado para el manejo de la posi- lenguaje C podría mejorar el tiempo de ejecución y
ción angular, sintonizado por ubicación de polos, así el comportamiento del sistema.
cuenta con la respuesta en tiempo continuo ante
un impulso, éste comportamiento se presenta en la Si el sistema fuera establecería posible mejorar la
¿JXUD  (VWH PLVPR FRQWURODGRU HV GLVFUHWL]DGR LGHQWL¿FDFLyQ\SRUWDQWRORVUHVXOWDGRVGHODIXQ-
para analizar su comportamiento antes de transfe- FLyQGH¿WQHVVRHQVXGHIHFWRODIRUPDGHDGTXLVL-
rirlo al bloque NXT. La respuesta del sistema ante ción de los datos para un sistema más factible.
HOFRQWURODGRUVHPXHVWUDHQOD¿JXUDGRQGHVH
aplica un impulso en el entorno discretizado, ade- Se comprueba que la utilización de un algoritmo
más de estar simulados todos los componentes del JHQpWLFR FRPR PpWRGR GH LGHQWL¿FDFLyQ SXHGH
sistema, como los tipos de datos y la saturación. LGHQWL¿FDUVLVWHPDVGLQiPLFRVLQHVWDEOHVRFRQVH-
ñales de entrada y de salida desequilibradas.
Al discretizar el controlador sintonizado se cambia
GHPDQHUDVLJQL¿FDWLYDVXIRUPD(QODVLPXODFLyQ 6HSXHGHPHMRUDUVLJQL¿FDWLYDPHQWHHOWLHPSRGH
sus señales de control se hacen grandes, de valores UHVSXHVWD GHO VLVWHPD PRGL¿FDQGR OD SODQWD GLVH-
HQWUH\6LWHQHPRVHQFXHQWDTXHHOVHU- ñada básicamente de dos formas: cambiando la
YRPRWRUHVXQDFWXDGRUGHELWV\TXHSDUDVXIXQ- estructura de tipo carro a tipo riel, donde la masa
FLRQDPLHQWRVHDQWHSRQHXQDVDWXUDFLyQGHD de la parte móvil sea únicamente la del péndulo, o
ORVYDORUHVVXSHULRUHVDpVWHVHUiQDSUR[LPD- haciendo que la acción de control se realice direc-
dos a los límites del saturador. Entonces, los va- tamente sobre el eje de giro del péndulo. Este últi-
lores de las señales de control quedan recortados, PRLPSOLFDFDPELDUXQSRFRHOPRGHOR VHJZD\ 
por lo tanto el controlador no actuaria de manera
Se puede proponer un compensador para la ban-
adecuada sobre el sistema.
da muerta del sistema para hacer más efectivo el
comportamiento. Este compensador podría ser uti-
4. CONCLUSIONES lizado antes o después del cálculo del controlador.

El cálculo de controladores basados en sistemas


El principal error a la hora de implementar el con-
GLQiPLFRVLGHQWL¿FDGRVHVPiVHIHFWLYRTXHHOUHD-
trolador sobre el bloque NXT se encuentra en la
lizado con sistemas modelados, porque trabajan
saturación que se debe anteponer al actuadorya
directamente sobre datos reales del sistema.
TXH HVWH HV GH WLSR ,QW \ ORV YDORUHV REWHQLGRV
son aproximadamente el doble. Razón por la cual
el controlador no logra emitir señales de control 5. TRABAJO FUTURO
al actuador, obteniendo un sistema con una señal
FRQWDQWHGHORTXHKDFHLPSRVLEOHSDUDHOPR- Dada la complejidad del sistema péndulo inverti-
delo adquirido cambiar por medio del controlador do es posible, en trabajos futuros, utilizar control
dichos valores máximos. adaptativo y control óptimo, así como diversas
técnicas bio-inspiradas por medio de inteligencia
El código generado por GNU GCC se hace extenso
computacional como: Algoritmos genéticos, Redes
al pasar del entorno Simulink al lenguaje de pro-
Neuronales, entre otros.
gramación del bloque. Esto también hace que tome
mayor tiempo para su ejecución, debido básica- 3DUD WUDEDMRV IXWXURV VH SURSRQH FUHDU XQD PHWR-
mente a la doble compilación generada, de Simu- GRORJtD FRPSOHWD SDUD OD LGHQWL¿FDFLyQ GH VLVWH-
OLQND&\GHHVWHDOHQJXDMHPiTXLQD3RUORWDQWR mas dinámicos utilizando algoritmos genéticos y,
la implementación del controlador directamente en a partir de estos, analizar los resultados obtenidos,

84 Tecnura | Vol. 16 | Edición Especial | Octubre 2012


investigación

abriendo así, la posibilidad de plantear otros pro- 6. FINANCIAMIENTO


yectos enfocados a la investigación en este tema.
Este artículo surge del proyecto de investigación
Es posible seguir utilizando el embedded coder titulado “Diseño y control de un sistema péndulo
GLUHFWDPHQWHVLQHOXVRGH(&5RERW GH0DWODE invertido, sobre plataforma Lego MINDSTOR-
SDUDJHQHUDUFyGLJR&&SDUDRWURVGLVSRVLWLYRV 061;7´UHDOL]DGRFRQHO¿QGHFRQWULEXLUDOD
WDOHV FRPR 6LVWHPDV HPEHELGRV '63V \ PLFUR- formación del laboratorio de control del proyecto
controladores. De esta forma no se restringiría la curricular “Tecnología en Electricidad e Ingeniería
investigación al uso del kit NXT. (OpFWULFD´(ODYDO\¿QDQFLDPLHQWRGHHVWHSUR\HF-
to fue otorgado por la Universidad Distrital Fran-
cisco José de Caldas, Facultad Tecnológica.

REFERENCIAS

[1]. S. Mallo, V. Mazzone, ³&RQVWUXFFLyQ \ de los Parámetros para el Servomotor


diseño de Controladores de un péndulo in- NXT LEGO Mindstormspcon Técnicas de
vertido rotante,” Universidad Nacional de ,GHQWL¿FDFLyQ GH 6LVWHPD´ Universidad
4XLOPHV$UJHQWLQD Distrital Francisco José de Caldas, Colom-
ELD
>@ F. Castaños, R. Carrera “Levantamiento
y control de un péndulo invertido con un >@ Control tutorials for Matlab, “Modeling
HVTXHPDGHFRQWUROUHFRQ¿JXUDEOH´ Uni- DQ ,QYHUWHG 3HQGXOXP E\ 8QLYHUVLW\ RI
versidad Nacional Autónoma de México, Michigan,” [En línea]. Disponible: KWWS
0p[LFR ZZZHQJLQXPLFKHGXJURXSFWPH[DP-
SOHVSHQGLQYSHQKWPO
[3]. J. Beltran, ³6LPXODFLyQGHXQSpQGXORLQ-
vertido,” Universidad politécnica de Va- [9]. Notas grupos, “Espacio estado,” [En li-
OHQFLD(VSDxD nea]. Disponible: KWWSJHPLQLXGLVWULWDO
HGXFRFRPXQLGDGSURIHVRUHVGUDLUDQIUH-
[4]. LEGO Education “LEGO MINDS- FXHQFLDBB,,KWP
TORMS NXT ®,” [En línea]. Disponi-
ble: KWWSHGXFDWLRQOHJRFRPHQXV [10]. D. Rairán, Análisis de sistemas dinámicos
OHJRHGXFDWLRQSURGXFWGDWDEDVHPLQGV- y control PID3ULPHUDHGLFLyQ&RORPELD
WRUPVOHJRPLQGVWRUPVHGXFD- Universidad Distrital Francisco José de
WLRQEDVHVHW &DOGDV
>@ LEGO Education “LEGO MINDS- [11]. N. Gil, “Algoritmos genéticos,” Univer-
TORMS NXT ®,” [En línea]. Disponi- sidad Nacional de Colombia, Colombia,
ble: KWWSHGXFDWLRQOHJRFRPHQXV 
OHJRHGXFDWLRQSURGXFWGDWDEDVHPLQGV-
WRUPVOHJRPLQGVWRUPVHGXFD- >@ C. Herrera, R. Romero, “Controlador di-
WLRQUHVRXUFHVHW JLWDOSDUDXQDSODQWDGHOHYLWDFLyQPDJQp-
WLFDFRQXQJUDGRGHOLEHUWDG´3RQWL¿FLD
[6]. M. Silva, ³&RQVWUXFFLyQ \ SURJUDPDFLyQ 8QLYHUVLGDG-DYHULDQD&RORPELD
GH XQ JUXSR GH URERWV PyYLOHV VREUH OD
EDVH GHO SURGXFWR /(*2 0,1'6725-
MS NXT,” (VFXHOD 3ROLWpFQLFD 1DFLRQDO
(FXDGRU
[7]. / 3LQWR * %HUP~GH] ³'HWHUPLQDFLyQ

Tecnura | Vol. 16 | Edición Especial | pp 76 - 85 | Octubre 2012 85

También podría gustarte