Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
***
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
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
dxt
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 XW= 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
ª 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;7YHU¿JXUDWHQLHQGRHQFXHQWDODDOLPHQWD-
¬ ¼
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
3RVLFLRQ$QJXODU>@
ra con el comportamiento real del sistema, donde
entre más similitud sea encontrada, menor será el
YDORUGHVDOLGDGHODIXQFLyQGH¿WQHVVWDQWRTXHDO 0
ª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
3. RESULTADOS
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, PRLPSOLFDFDPELDUXQSRFRHOPRGHORVHJZD\
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.
REFERENCIAS