1175 3660 1 PB
1175 3660 1 PB
1175 3660 1 PB
128 (SENIE 2017), febrero 2018, México, Tecnológico Nacional de México en Celaya
Resumen
En este trabajo se presenta el desarrollo de un simulador “Hardware-In-the-
Loop” (HIL) de un sistema carro-péndulo invertido con base en la tarjeta
Hercules™ RM57Lx Launchpad de Texas Instruments. Para su implementación se
obtiene el modelo dinámico del sistema con las ecuaciones de Euler-Lagrange,
posteriormente se programa en el MCU, el cual lo ejecuta en tiempo real con un
periodo de muestreo de 1 ms. Desde una interfaz gráfica en LabVIEW se capturan
la respuesta del sistema además de que se pueden cambiar los parámetros del
sistema. Para incrementar el realismo, en un entorno virtual Unity3D se hizo un
modelo gráfico del sistema, en el cual se observan los movimientos del carro
péndulo. Para verificar la correcta implementación del sistema se hace una
comparación con una simulación desarrollada en Matlab/Simulink.
Palabras Claves: Carro-péndulo invertido, microcontrolador, simulador HIL,
Unity3D.
Pistas Educativas Vol. 39 - ISSN: 2448-847X
Reserva de derechos al uso exclusivo No. 04-2016-120613261600-203
http://itcelaya.edu.mx/ojs/index.php/pistas
~1042~
Pistas Educativas No. 128 (SENIE 2017), febrero 2018, México, Tecnológico Nacional de México en Celaya
Abstract
This paper presents the development of a "Hardware-In-the-Loop" (HIL)
simulator of an inverted pendulum-cart system based on the Texas Instruments
Hercules ™ RM57Lx Launchpad. For its implementation, the dynamic model of the
system is obtained with the Euler-Lagrange equations, later it is programmed in the
MCU, which executes it in real time with a sample period of 1 ms. From a graphical
interface in LabVIEW, the system response is captured and the system parameters
can be changed. To increase the realism, in a virtual environment Unity3D was
made a graphic model of the system, in which the movements of the pendulum car
are observed. To verify the correct implementation of the system, a comparison is
made between a simulation made with Matlab / Simulink.
Keywords: HIL simulator, microcontroller, pendulum-cart, Unity3D.
1. Introducción
El trabajo en el laboratorio es indispensable en la formación de cualquier
estudiante de ingeniería, sin esta experiencia es difícil que se comprenderían
plenamente sus aplicaciones y limitaciones [Usenmez, 2014]. A pesar de sus
virtudes, la formación de un laboratorio convencional tiene problemas tales como:
espacio, costo, disponibilidad, límite de plantas, etc. Una solución a éstas es
implementar controladores reales sobre hardware en interacción con modelos
físicos simulados en tiempo real, que permitan dar una idea muy aproximada al
comportamiento de un sistema [Martinez, 2013]. Este tipo de implementación es
comúnmente llamada Hardware-In-The-Loop (HIL), un simulador HIL es una
técnica de prueba que simula el comportamiento de entradas y salidas de un
sistema físico que es conectada a un controlador en tiempo real [Washington,
2008]. Una de sus aplicaciones más importantes es simular sistemas que son
difíciles de construir o bien su costo de fabricación es extremadamente alto
[Kruckenberg, 2011], [Subramanian, 2012], [Brito, 2014]. Ésta técnica de
simulación es ideal para sustituir a una planta real en un laboratorio.
Una simulación HIL requiere de hardware que se encargue de procesar las
entradas, analógicas o digitales, ejecutar el algoritmo en tiempo real del modelo
Pistas Educativas Vol. 39 - ISSN: 2448-847X
Reserva de derechos al uso exclusivo No. 04-2016-120613261600-203
http://itcelaya.edu.mx/ojs/index.php/pistas
~1043~
Pistas Educativas No. 128 (SENIE 2017), febrero 2018, México, Tecnológico Nacional de México en Celaya
que emula y generar las salidas. En el mercado existen diversas tecnologías que
permiten realizar esta tarea como son la xPC target de mathworks [Romero, 2017]
y dSPACE [Zhu, 2009], si bien son tarjetas especializadas para trabajar en tiempo
real son altamente costosas. Actualmente se tiene en el mercado plataformas de
desarrollo con microcontroladores de bajo costo, las que son muy rápidas y se
pueden usar para la realización de sistemas HIL. Un dispositivo de este tipo es la
tarjeta de evaluación Hercules Launchpad RM57L de la firma Texas Instruments.
El carro-péndulo es una de las plantas de laboratorio más utilizados para mostrar
técnicas de control no lineal. Este sistema es la base para aplicaciones como el
control de cohetes y control antisísmico de edificios [Fantoni, 2002]. Muchos
sistemas robóticos se han diseñado con base en el péndulo invertido sobre ruedas
tal como el Segway. Contar con una planta de este tipo es costoso y difícil de
construir. Una alternativa es realizar este sistema en una plataforma HIL, el cual
responde en tiempo real. Para incrementar su realismo se puede mostrar en un
ambiente gráfico, los movimientos del mismo lo que mejora la experiencia del
usuario. Algunos ambientes para el desarrollo ambientes gráficos virtuales es
Unity3D y para el intercambio de información y configuración es el LabVIEW.
LabVIEW (Laboratory Virtual Instrument Engineering Workbench), es un entorno
de programación desarrollado por National Instruments en el cual se crean
programas usando una notación gráfica (Lenguaje G). Es un programa interactivo
diseñado específicamente para científicos e ingenieros que desarrollan sistemas
de medidas y control. Puede tomar mediciones, adquirir y analizar datos y
presentar resultados al usuario. Como LabVIEW tiene una interfaz gráfica muy
fácil de manejar, se puede crear exactamente el tipo de instrumento virtual que se
necesite [Travis, 2006].
Unity 3D es un software para desarrollar videojuegos, permite la creación de
juegos en múltiples plataformas como son PlayStation, Xbox, PC, iOS, Android,
etc. Los resultados que se obtienen se da un gran realismo y sin demasiadas
complicaciones en su programación. Aun teniendo una versión gratuita del
software, la calidad de los juegos que se puede desarrollar es excelente. Estas
características convierten a Unity en una excelente opción para los
2. Métodos
En la figura 1 se muestra el diagrama a bloques utilizado para el simulador HIL
del sistema carro-péndulo, el bloque de color azul representa la tarjeta de
desarrollo Hercules Launchpad RM57Lx. Los bloques de color blanco son los
módulos internos que se programaron en el microcontrolador, los bloques externos
de color verde son los módulos con los que la tarjeta interactúa y compartirá datos
a través del puerto serial. Los datos que se compartirán son la posición del
péndulo y la posición del carro. El módulo ADC convierte el voltaje (de control)
analógico a digital para su posterior uso en las ecuaciones. El bloque Modelo
dinámico contiene el modelo en variables de estado donde la entrada de control es
. El bloque siguiente soluciona estas ecuaciones diferenciales mediante el
Modelo Dinámico
Un sistema carro-péndulo invertido consiste en un péndulo colocado sobre un
carro, el péndulo oscila libremente sobre un eje y el carro se mueve a través de
una banda a lo largo del eje x, esta banda lo mueve un motor de CD tal como se
muestra en la figura 2. El objetivo de control es mantener al péndulo en una
posición vertical superior.
1 1
L (M m )x 2 mxl cos( ) (I m )l 2 2 mgl cos( ) (1)
2 2
d L L D
F (2)
dt x x x
d L L D
0 (3)
dt
Un motor de DC, es quien produce la fuerza (F) necesaria para mover al carro, por
lo tanto, se acopla el modelo dinámico del motor en el modelo del carro-péndulo.
La ecuación 6 y 7 son del modelo dinámico de un motor de DC.
dia
La u Raia k (6)
dt
dw
J kia B L (7)
dt
J k2 B k
( M m) x 2 2 Fc x ml cos( ) sin( ) u
2
R2 (8)
R Ra R RRa
x1 x2
a2 a F a2 a
x2 x2 3 * p x4 3 x42 sin( x3 )cos( x3 ) 5 sin( x3 )
a1 a1 a1
a2a3 ab b
cos( x3 )x2 3 1 cos( x3 )* u cos( x3 ) x 42 sin( x3 ) 1 u
a1 a1 a1 (11)
x3 x4
F a2 a aa
x4 p x4 3 x42 sin( x3 )cos( x3 ) 5 sin( x3 ) 2 3 cos( x3 )x2
a1 a1
a3b1
cos( x3 )u
a1
R5F de punto flotante, operando en tiempo real, el cual ofrece una velocidad de
1.66 DMIPS/MHz y una frecuencia de operación de hasta 330 MHz. El dispositivo
tiene 4 MB de flash, 512 kB de RAM de datos, dos módulos convertidores
analógico digital de 12 bits, siete módulos mejorados ePWM, Interfaces múltiples
de comunicación (Ethernet, CAN, MibSPI, UART), entre otras [Texas Instruments,
2017]. Por lo cual es capaz de resolver el modelo dinámico del carro péndulo en 1
ms. Para que el simulador HIL funcione correctamente, la transmisión ejecución
del modelo dinámico debe ser en tiempo real. La comunicación entre el Hércules y
la interfaz gráfica o el Unity no tienen este requerimiento y pueden funcionar como
sniffer.
Un sistema en tiempo real es capaz de realizar varias operaciones simultaneas al
mismo tiempo. Usualmente en el uso de microcontroladores, la ejecución en
paralelo se consigue como la sucesión rápida de actividades secuenciales. Se
cuenta con varias técnicas para ejecutar tareas en paralelo, una de ellas es
mediante interrupciones, con base a ésta se pueden comunicar los módulos de la
tarjeta, mediante banderas (flags), variables, contadores (timers).
En la figura 3 se muestran las variables de entrada y salidas que emula la tarjeta
Hercules RM57Lx. El microcontrolador recibe la señal de control, que en este caso
es el voltaje del motor de CD y en función de ésta resuelve el modelo dinámico
para obtener las posiciones y velocidades del carro y del péndulo, ambas
posiciones son enviadas a una interfaz gráfica, donde muestra los movimientos del
carro-péndulo como historial o los movimientos en la interfaz de Unity. Si la
entrada de control es cero, el modelo se resuelve a partir de las condiciones
iniciales.
cos( x3a) ((a5* sin( x3a))/ ) ((a2* a3)/(a1* ))* cos( x3a)* x 2a
((a3* b1)/(a1* ))* cos( x3a)* u);
Donde a1, a2, a3, a4, a5, b1 y son constantes. x1k , x2k , x3k , x4k son las variables
actuales por calcular, son las variables anteriores calculadas, las condiciones
iniciales de estas variables son 0. u es la entrada de control, x 1k es la posición
del carro, x 2k velocidad del carro, x 3k es la posición angular del péndulo, x 4k
es la velocidad angular del péndulo.
Estas ecuaciones se programaron en la tarjeta Hercules RM57Lx, se usó una
interrupción del contador, de tal manera que cada 1 ms se produzca una
interrupción. El MCU resuelve el sistema de ecuaciones con la que calcula la
posición del carro y la posición del péndulo. Fuera de la interrupción por puerto
serie envía estos datos a LabVIEW o a Unity3D. En el diagrama de bloques de la
figura 4 se muestra este proceso de interrupción.
Como se observa en la figura 3, la tarjeta de desarrollo recibe una señal de
control, esta señal es un voltaje analógico que proviene de un controlador externo.
Es necesario convertir esta señal analógica a digital para poder procesarla junto al
modelo dinámico del sistema carro-péndulo, entonces se utiliza el módulo
mejorado ADC de la tarjeta para llevar a cabo este proceso.
3. Resultados
Para verificar el desempeño del simulador, se diseña el modelo dinámico en
MATLAB/Simulink como lo muestra la figura 8, con la finalidad de comparar la
posición del péndulo que entrega Simulink y la que entrega el simulador HIL.
4. Discusión
En las gráficas comparativas obtenidas con 10 ms y 1 ms son muy semejantes,
significa que los resultados de los cálculos de senos, cosenos, sumas y divisiones
realizadas por Matlab/Simulink y el microcontrolador son muy cercanas y en
ocasiones iguales, en Matlab/Simulink estas operaciones no son problema puesto
que el software corre en un procesador AMD A6, en el microcontrolador una
Pistas Educativas Vol. 39 - ISSN: 2448-847X
Reserva de derechos al uso exclusivo No. 04-2016-120613261600-203
http://itcelaya.edu.mx/ojs/index.php/pistas
~1056~
Pistas Educativas No. 128 (SENIE 2017), febrero 2018, México, Tecnológico Nacional de México en Celaya
5. Conclusiones
Se desarrolló un simulador HIL del sistema carro-péndulo con una interfaz
gráfica desarrollada en LabVIEW y Unity3D, se probó de manera satisfactoria el
funcionamiento en lazo abierto del sistema, dando mejores resultados al configurar
el tiempo de muestreo en 1 ms.
Un aporte importante es el desarrollo de la simulación del sistema en tiempo real
sobre la tarjeta Hercules Lacunhpad RM57Lx, se aprovecha la capacidad de este
procesador que es de muy bajo costo a diferencia de hardware especializado pero
costoso.
Al desarrollar el entorno virtual en Unity3D da un mejor realismo al simulador
puesto que el diseño es en 3D, además permite explorar todo el escenario, se
puede dar un giro de 360 grados visualizando cada detalle del carro-péndulo, con
ello se logra que el usuario o alumno tenga mayor interés en el área de control.
Como trabajo a futuro, se propone realizar toda la interfaz en Unity3D o bien que
LabVIEW transmita los datos a través del protocolo TCP/IP a Unity para que el
simulador sea más funcional.
6. Bibliografía y Referencias
[1] Arrioja, N. Unity, Fox Andina. Buenos Aires, 2013.
[2] Brito, M. A. & Gonzalez, S. A. R., Simulación en tiempo real del campo
magnético terrestre para una misión orbital. pp. 322–327, 2014.
[3] Fantoni, I., Lozano, R. & Sinha, S., Non-linear Control for Underactuated
Mechanical Systems. vol. 55. no. 4. Londres: Springer, 2002.
[4] Feedback Instruments, Digital Pendulum System. vol. 44. no. 1160. FI Ltd,
England. pp. 18.
[5] Martinez, J. C. & Andrade, J., Implementación de controladores en
Sistemas Retroalimentados usando electrónica embebida y simulación
Hardware In The Loop. Universidad Tecnológica de Pereira. Pereira, 2013.
Pistas Educativas Vol. 39 - ISSN: 2448-847X
Reserva de derechos al uso exclusivo No. 04-2016-120613261600-203
http://itcelaya.edu.mx/ojs/index.php/pistas
~1057~
Pistas Educativas No. 128 (SENIE 2017), febrero 2018, México, Tecnológico Nacional de México en Celaya
[6] Kruckenberg, J., Fault Diagnosis and Hardware in the Loop Simulation for
the EcoCAR Project.Ohio State University, 2011.
[7] Romero, J., Rodríguez, E. & Bernal, E., Desarrollo de una planta piloto
basada en xpc target. Rev. Ingeniería, Matemáticas y Ciencias de la
Información. vol. 4. pp. 35–46, 2017.
[8] Subramanian, S., George, T. & Thondiyath, A., Hardware-in-The-Loop
verification for 3D obstacle avoidance algorithm of an underactuated flat-fish
type AUV. 2012 IEEE Int. Conf. Robot. Biomimetics. ROBIO 2012 - Conf.
Dig. pp. 545–550, 2012.
[9] Texas Instruments, Hercules RM57Lx LaunchPad Development Kit. 2016.
[Online]. Available: http://www.ti.com/tool/LAUNCHXL2-RM57L, Accessed:
02-May-2017.
[10] Travis, J. & Kring, J., LabVIEW For Everyone: Graphical Programming
Made Easy and Fun. 3rd ed. Prentice Hall, 2006.
[11] Usenmez, S., Yaman, U., Dolen, M. & Koku, A. B., A new hardware-in-the-
loop simulator for control engineering education. IEEE Glob. Eng. Educ.
Conf. EDUCON, pp. 1–8, 2014.
[12] Washington, C. & Delgado, S., Improve Design Effici iency and Test
Capabilities with HIL Si imulation. IEEE Autotestcon. no. September, pp. 8–
11, 2008.
[13] Zhu, Y., Hu, H., Xu, G. & Zhao, Z., Hardware-in-the-Loop Simulation of Pure
Electric Vehicle Control System. Int. Asia Conf. Informatics Control. Autom.
Robot. pp. 254–258, 2009.