Documentos de Académico
Documentos de Profesional
Documentos de Cultura
J.E. Gil Lozano, A.J. Muñoz Ramı́rez, V. Torres López, y J.M. Gómez de Gabriel
1. Introducción
El aprendizaje basado en proyectos es un método
de enseñanza que implica a los estudiantes en la
resolución de problemas de ingenierı́a reales [10].
Para que sea eficaz, el profesor debe identificar un
problema de una extensión adecuada y con una Figura 1: Plataforma robótica educativa PIERO
dificultad suficiente para estimular el proceso de basada en Arduino programable mediante Simu-
aprendizaje. Si además, el proyecto está apoyado link
con equipos fı́sicos, frente a los modelos de simu-
Entre las materias impartidas por el Departamen-
lación, se proporciona al alumno una versión com-
to de Ingenierı́a de Sistemas y Automática de la
pleta del problema a resolver, en lugar de limitar
Universidad de Málaga, existen diversas asigna-
su trabajo a un modelo simplificado, a la vez que
turas relacionadas con la robótica, y el modelado
aumenta su motivación [11]. Desafortunadamente,
y control de robots móviles y manipuladores. En
muchos sistemas de desarrollo hardware son com-
éstas se incluyen prácticas de control, cinemática
plejos y distraen al alumno y al profesor con la
y dinámica, que a menudo se realizan mediante
resolución de problemas hardware de bajo nivel
cálculos y simulación en MATLAB y Simulink.
que no suelen estar relacionados con el objeto de
estudio. El principal beneficio esperado es que el entorno
de desarrollo elegido, al resultar familiar tanto a
Sin embargo, recientemente ciertas herramien-
profesores como a alumnos, reduzca el tiempo ne-
tas reconocidas en el ámbito académico, como
cesario de preparación de prácticas y de aprendi-
MATLAB y Simulink, usadas en el diseño y si-
zaje debido a que no se requiere el aprendizaje de
mulación de sistemas de control de robots, se han
otros lenguajes ni herramientas de programación
visto potenciadas por la incorporación de capaci-
adicionales [8]. Asimismo se espera que la realiza-
dades para programar de forma transparente las
ción de las prácticas en laboratorio sea más eficien-
plataformas de desarrollo hardware de bajo cos-
te debido a que el mismo modelo que se construye
te más populares, como son los sistemas Arduino
para simular el robot se utiliza para controlarlo.
[5], Lego NXT, Beaglebone y Raspberry Pi, entre
Por último un beneficio adicional esperado con-
otras [4].
siste en el reducido coste económico del hardware
La solución ideal tanto para el profesor como pa- utilizado. Además, éste artı́culo pretende servir de
ra el alumno es disponer de una herramienta de ayuda o referencia a los profesores interesados en
2. La Plataforma Móvil
Se ha diseñado la PieroShield. Una placa de co- El microcontrolador cuenta con cuatro puertos se-
nexiones compatible con Arduino Mega2560 que rie, de los cuales uno es utilizado por Simulink pa-
se ha diseñado usando el software de diseño de ra la carga de programas y la ejecución en modo
circuitos impresos Eagle [6]. A esta placa de co- externo.
nexiones se le han añadido los siguientes puertos
La ejecución en modo externo permite ejecutar el
de conexión (todos ellos con lı́neas de tierra y ali-
modelo de simulación simultáneamente en el hard-
mentación incorporadas):
ware externo (el robot) y en el computador para
16 puertos digitales dobles hacer la simulación (ejecución) interactiva, mos-
8 puertos analógicos dobles trando valores y gráficas de evolución de las varia-
2 puertos para encoders bles, y también para modificar valores de paráme-
1 puerto de mando para el módulo del L298 tros del modelo, lo que permite depuración y ajus-
3 puertos UARTS te de controladores durante el funcionamiento del
4 puertos I2C sistema. Esto se efectúa de manera transparente,
r.p.m.
179 180
100 178 160
90 177 140
80 120
176
70 100
175
60 ms ms(Di) µs(Di) µs ms ms(Di) µs(Di) µs
50
ms ms(Di) µs(Di) µs
Figura 15: Dispersión en los valores de velocidad
Figura 14: Desviación del valor del reloj para un angular máxima del motor con o sin compensación
tiempo de muestreo de 100 ms durante 100 seg. de jitter para un tiempo de muestreo de 100 ms
(ms indica el uso de la instrucción millis(), µs indi- durante 10 seg (ms indica el uso de la instrucción
ca el uso de la instrucción micros(), (Di) indica la millis(), µs indica el uso de la instrucción micros(),
deshabilitación de interrupciones en el Arduino). (Di) indica la deshabilitación de interrupciones en
el Arduino).