Este documento presenta el diseño mecánico, eléctrico y electrónico de un robot móvil omnidireccional llamado "Mayabot". Se describe detalladamente los componentes mecánicos como el chasis, motores, ruedas y soportes utilizados. También se explican los circuitos eléctricos empleados como la tarjeta de control basada en un FPGA, la tarjeta de potencia para los motores y circuitos de sensores. Finalmente, se menciona que el robot fue probado en una olimpiada internacional de rob
1. DISEÑO DE ROBOT MÓVIL OMNIDIRECCIONAL “MAYABOT”
J. R. Atoche Enseñat, O. Sánchez Siordia, O. Moreno Franco, S. Narváez Samuel,
O. Carvajal Espinoza, A. Cortés Mánica, H. Pinto Ávila, E. Gaxiola Sosa, A. Collí Menchi,
D. Broca López, E. Espadas Aldana, A. A. Castillo Atoche, E. Uicab Santos
Instituto Tecnológico de Mérida, Km. 5 Carretera Mérida Progreso, Mérida, Yucatán, México
jatoche@itmerida.mx, oskrsasi@hotmail.com, kingalo@gmail.com, nassam10@hotmail.com,
ozzcarbajal@hotmail.com, acmanica@hotmail.com, hjpintoavila@hotmail.com,
payin747@hotmail.com, sierpe86@hotmail.com, miflaco75@hotmail.com,
dodonkeydonkey@hotmail.com, acastill@uady.mx, lossehelin@hotmail.com
RESUMEN I. INTRODUCCIÓN
En este trabajo se presenta el diseño En los últimos años la comunidad científica y
mecánico, eléctrico y electrónico de un robot las instituciones de educación han prestado
móvil omnidireccional, resaltando las ventajas un especial interés en el uso de competencias
que tendría hacer uso de el para la enseñanza de robots móviles autónomos para motivar el
de diversas disciplinas. Se describe a detalle interés de los estudiantes hacia el diseño y la
los elementos mecánicos utilizados, los investigación en diversas áreas de la
motores, baterías, y circuitos de control, ingeniería así como para promover el
potencia y sensores que se implementaron en desarrollo de nuevas tecnologías.
el robot. Se menciona también las ventajas de
utilizar un software de programación visual El empleo de pequeños robots que deban
diseñado para el robot, que permite a usuarios resolver tareas bien definidas como medio
sin experiencia en electrónica ni robótica para la enseñanza de materias de diseño
programar tareas complejas en un ambiente integral avanzado se encuentra bien
visual muy intuitivo, de manera fácil y rápida. documentado. Por ejemplo en [1] y [2] se
La plataforma Hardware-Software fue probada describen cursos en los cuales los alumnos
en el concurso de robótica realizado en el deben realizar el diseño completo de robóts
marco de la 18 Olimpiada Internacional de móviles inteligentes que cumplan
Informática llevada a cabo en Agosto de 2006. determinadas tareas, en [3] se destaca que
este tipo de actividad permite desarrollar en
ABSTRACT los alumnos habilidades esenciales para un
ingeniero que no pueden desarrollarse en el
In this work, the design of an omnidirectional aula normal, como son: identificación de
mobile robot is presented including the conceptos claves, adquisición de nuevos
mechanical, electrical and electronichal conocimientos, creatividad para utilizar
systems. With this kind of project, the students información incompleta o contradictoria. En [4]
can improved their skills in robotics and digital se trabaja con robots diseñados con Lego y se
design that is very difficult to obtain in a single describe un software de programación visual
course. We also describe in this work, the para programar robots móviles autónomos, en
elements implemented in the design like the el cual el usuario final no requiera ningún
mechanical elements, control circuits, power conocimiento sobre los métodos "internos" de
stages and different sensors. A visual control, en este caso redes neuronales
programming interface was also design with artificiales. En [5] se presenta el uso y reuso
the purpose to reduce the programming time de plataformas hardware basadas en tarjetas
for the students. This program allows to the de desarrollo para FPGAs de Xilinx y de
users without any experience in electronics or Altera, y en microprocesadores embebidos
robotics to program complex tasks in a very como el control de robots móviles autónomos
simple way. The Hardware-Software platform dentro del programa de una materia de diseño
was presented and used in the 18th avanzado. [6] presenta la construcción de un
International Olympiad in Informatics carried robot móvil muy simple que utiliza los motores
out in August 2006. y baterias de 2 desarmadores eléctricos como
2. etapa de potencia y una laptop como etapa de más de 25 países utilizaron el software
control destacando la potencia de computo presentado para programar robots con el
disponible gracias a este artilugio. En [7] se objetivo de resolver tareas específicas
utiliza una tarjeta de desarrollo de Altera como previamente definidas.
el control de un robot móvil autónomo capaz
de realizar diversas tareas, para enseñar 2. DISEÑO MECÁNICO
diseño avanzado en ingeniería.
El chasis del robot se diseñó para que formara
En el presente trabajo describe el diseño un cilindro de 18 cm de diámetro por 22 cm de
mecánico, eléctrico y electrónico de un alto, el cual está formado por una base
pequeño robot móvil que puede ser principal de aluminio, un separador y una tapa
programado mediante un software que protectora de acrílico. Las tres placas son
permite programar el comportamiento del circulares de 18 cm de diámetro y se
robots en un ambiente visual muy intuitivo. encuentran separadas entre sí por postes de
Dichos robots se han diseñado de manera aluminio roscados en sus dos extremos, los
que puedan ser útiles para la enseñanza de cuales se han fijado con tornillos a las placas.
diversas áreas de la ingeniería. Se eligió
como plataforma mecánica un sistema
omnidireccional basado en tres ruedas
independientes con sus correspondientes
motores (Fig. 3 a), debido a lo interesante que
resulta el control de trayectorias con este
sistema para materias de planificación de
movimientos. El control del mismo se basa en
tarjetas de desarrollo para FPGAs de Xilix,
debido a la gran flexibilidad de estos
elementos, lo cual permite utilizar dicha
plataforma para materias de diseño digital y
que el control del robot pueda ser modificado
fácilmente, ya sea para probar nuevos
controladores (materias de control), para a)
anexar nuevos sistemas de sensado
(instrumentación, optoelectrónica), o
capacidades de comunicación inalámbricas
(comunicaciones), por ejemplo.
Desde el punto de vista de la educación, el
software diseñado permite que alumnos
distintos niveles puedan acceder a la
plataforma robótica creada. A su vez, permite
la implementación de algoritmos para la
realización de tareas complejas, de manera
rápida y sencilla. Dichos algoritmos pueden
aprovechar para la toma de decisiones el
tiempo y el estado de una serie de sensores
b)
colocados alrededor de la estructura del robot Figura 1. a) Tapa protectora. b) Tapa protectora y
para medir las variables del entorno. separador colocados en el robot.
La prueba conjunta de la plataforma de 2.1. Tapa protectora de la tarjeta Spartan 3
programación visual y del agente autónomo
(robot móvil omnidireccional) se realizó La función de esta placa es proteger a la
durante un concurso en el marco de la 18th tarjeta de control que como se explica mas
Olimpiada Internacional de Informática (IOI), adelante es una “Spartan 3 Starter Board”.
realizada en la Ciudad de Mérida, Yucatán, Como podemos observar en la Figura 1 a,
México, durante la semana del 13 al 20 de esta placa cuenta con cortes que permiten
agosto de 2006, en el cual participantes de tener acceso a los siguientes componentes de
3. la tarjeta: los pulsadores, los interruptores, el uno de los otros, que permiten la ubicación de
pulsador que resetea la tarjeta y carga el las llantas dentro del chasis. Por debajo de la
programa de la memoria en el FPGA y la placa, utilizando segmentos angular de
conexión del J-TAG para la programación del aluminio se han fijado los motores de manera
robot. que sus ejes cacen con los ejes del soporte
principal, con 120º de separación entre ellos
2.2. Separador de aislamiento (Figura 3 a). Las llantas se han fijado a los
motores utilizando bujes de bronce a presión
El objetivo de esta placa es servir de soporte y (Figura 3 b). Arriba de la placa se sujeta la
aislamiento entre la tarjeta de potencia y la batería con Velero para evitar que se mueva
tarjeta de control. La tarjeta de potencia se fija durante el funcionamiento del robot, pero que
en la cara inferior de esta placa, con tornillos. sin embargo sea fácil y rápido cambiarla. Los
La tarjeta de control se fija en la cara superior motores utilizados cuentan con un reductor de
de esta placa, con tornillos. Esta placa cuenta velocidad con una conversión de 30:1, el eje
con un corte lateral (se muestra encerrado en de salida del reductor no se encuentre
un óvalo en la figura 1 b), que facilita la centrado, esto ayudó a que pudiéramos
conexión de un cable IDE que sirve como colocar los motores en apariencia
conexión entre ambas tarjetas. descentrados, como se aprecia en la figura 3
a, sin que los ejes de las llantas perdieran su
posición correcta.
Soportes para sensores: frontal y posterior
120º 120º
120º
a)
a)
b)
Figura 2. a) Soporte principal. b) Vista lateral del
b)
robot (sin batería ni placa de control)
Figura 3. a) Vista inferior, ubicación de los motores
y soportes para sensores frontal y posterior. b)
2.3 Soporte Principal Vista lateral, buje de bronce.
Este soporte es un círculo de 18 cm de 2.4 Soporte de sensores
diámetro hecho de aluminio calibre 16 y que,
como se puede observar en la figura 2 a, Adicionalmente, para la aplicación en la que
cuenta con tres cortes separados a 120º cada se probó, se adicionaron dos soportes para
4. sensores. Uno de ellos se colocó en la parte 3.2 Tarjeta de Control
frontal de robot y alberga 8 sensores
infrarrojos: 4 al frente para detección de La tarjeta de control utilizada en este prototipo
obstáculos, 3 hacia abajo para detección de como ya se había comentado antes es una
líneas en la pista y uno al costado izquierdo tarjeta de evaluación “Spartan 3 Starter Board”, la
(del robot) para detección de pared. El otro cual cuenta con un FPGA Xilinx Spartan 3 de
soporte se colocó en la parte trasera izquierda 200 mil compuertas lógicas, 3 conectores de
del robot y alberga un sensor infrarrojo para la expansión de 40 pines, puerto serial RS232, 1
detección de pared. A ambas placas se les MByte de memoria RAM, interruptores,
colocaron protectores de acrílico para evitar pulsadores, leds, etc. Dicha tarjeta se
que algún golpe pudiera doblar o dañar los alimenta con 5 Volts y sus puertos de entrada
sensores. y salida trabajan a 3.3 Volts.
a)
a) b)
b)
Figura 4. a) Protector de la placa frontal de
sensores. b) Protector lateral.
3. DISEÑO ELECTRICO Y ELECTRÓNICO
3.1 Alimentación y motores
c)
Como fuente de alimentación para el robot se Figura 5. a) Motor-reductor utilizado b) Batería
utilizan paquetes de baterías recargables de utilizada b) Tarjeta de control
Níquel Metal Hidruro de 2,000 mAh a 9.6
Volts, con un peso de 230 g., pudiendo 3.3 Tarjeta de Potencia
utilizarse una o hasta 2 baterías en un robot.
Una batería le permite al robot una autonomía La tarjeta de potencia en realidad encierra 3
a pleno funcionamiento de aproximadamente circuitos principales: regulación de voltaje
20 minutos. para alimentación de la tarjeta de control,
circuitos de potencia para alimentación de
Se utilizaron motores de CD con voltaje motores y adaptación de señal analógica a
nominal de 12 Volts, consumo a 12 Volts sin digital para los sensores. Cada uno de ellos
carga de 60 mA y con el eje frenado de 1500 es descrito a continuación.
mA. El motor tiene una velocidad de 6000 rpm
pero con el reductor 30:1 obtenemos 200 rpm Regulación de voltaje para alimentación de
en el eje de salida. El sistema motor reductor la tarjeta de control. Para este circuito se
tiene una fuerza de 4.6 Kg cm y pesa 152 g. utilizó un regulador lineal de 5 Volts
(LM7805T) en su configuración estándar. Se
La electrónica consta básicamente de tres añadió un pequeño disipador para evitar
elementos: la tarjeta de control, la tarjeta de calentamientos excesivos.
potencia y las tarjetas de los sensores. Cada
uno de ellos se describe a continuación:
5. Circuitos de potencia para alimentación de Adaptación de señal analógica a digital
motores. Para poder controlar el sentido de para los sensores. Para esta etapa se han
giro de los motores se utilizaron puentes H utilizado comparadores con salida de colector
integrados para manejar su alimentación. El abierto, esto permite alimentar los
circuito utilizado es el L293D, este CI contiene comparadores con los 5 Volts que obtenemos
2 puentes H completos, es capaz de manejar del regulador implementado para generar el
hasta 600 mA por canal y trae integrados los voltaje de la tarjeta de control (+Vcc=5volts, -
diodos de protección, con lo cual solo resta Vcc=GND) y utilizar la alimentación de 3.3
conectarle el motor. Además estos circuitos Volts proveniente de la propia tarjeta para
tienen un pin de habilitación para cada puente generar los voltajes de salida. Esta
H, alimentando una señal de PWM en este pin configuración garantiza señales digitales
podemos controlar la cantidad de potencia siempre en el rango de voltaje adecuado para
entregada al motor y con esto su velocidad. la tarjeta. Se han utilizado 3 CI con 4
comparadores cada uno (LM339), lo cual nos
permite leer hasta 12 sensores. A cada
comparador se encuentra asociado un preset
que nos permite fijar la calibración de cada
sensor de manera individual con lo cual, aún
con la misma configuración de los sensores,
se pueden obtener distintos comportamientos
de acuerdo a la calibración realizada. En la
figura 7a se muestran las conexiones para
uno de los CI, los otros 2 se conectan de
manera idéntica. Finalmente en la Figura 7b
podemos ver desde la ubicación de los
conectores hasta la ubicación de todos y cada
uno de los puentes, se puede observar el
conector que va hacia la SPARTAN-3 el cual
se encuentra casi en el centro, el conector
que viene de la placa de los sensores
delanteros y el conector del sensor trasero,
así como la disposición de nuestros circuitos
integrados, los potenciómetros de ajuste, los
conectores de los motores y la entrada de la
batería
a)
Figura 7. a)
b)
Figura 6. a) Circuito de potencia para los motores
b) Circuito de alimentación para la tarjeta de
control.
6. Transparente, 5 mm de
diámetro, longitud de
onda de 940 nanóme-
tros, 1,3 Volts típicos en
polarización directa, 1,7
Volts máximos, 20 mW
y ángulo de 27 grados.
b)
Fototransistor de silicón
de 5mm de diámetro,
con filtro de luz de día,
7 Volts de colector a
emisor y 5 microse-
gundos de tiempo de
recuperación.
b) c)
Figura 7. a) Circuito utilizado para convertir la Figura 8. a) LED infrarrojo IR383 b) LED Infrarrojo
señal analógica de los sensores en niveles lógicos IR333C c) Fototransistor PT1302B/C2
a 3.3Volts. b) Circuito impreso de la tarjeta de
potencia. 4. PRUEBA DEL SISTEMA
3.4. Tarjetas de Sensores El sistema se probó durante un concurso de
robótica en el marco de la 18th Olimpiada
Para la aplicación en la que se probó el Internacional de Informática (IOI), realizada en
diseño se utilizaron 9 sensores infrarrojos, la Ciudad de Mérida, Yucatán, México,
estos se distribuyeron en 2 tarjetas, una durante la semana del 13 al 20 de agosto de
delantera con 8 de ellos y una trasera con el 2006, en el cual participantes de más de 25
sensor restante. Se utilizaron 2 tipos de países utilizando un software de programación
emisores: uno de amplia iluminación (modelo visual diseñado junto con el robot,
IR333C) para los sensores frontales y de línea programaron 15 robots idénticos construidos
y uno de larga distancia (modelo IR383) para para el vento.
los laterales tanto delantero como trasero (Fig.
8). Se utilizó como receptor un fototransistor 4.1 Plataforma Hardware
con filtro de luz de día (modelo PT1302B/C2)
para todos los receptores debido a su En la tarjeta de control se implementado un
inmunidad ante la iluminación ambiental. Se sistema embebido, el cual es una
utilizaron resistencias de 220ohms en la combinación de hardware y software de
polarización de los emisores para tener una cómputo [8] ubicados en su totalidad dentro
corriente de 22mA. La potencia total que del dispositivo que controlan. El sistema
consume el circuito es de 636.5mW embebido está constituido básicamente por el
incluyendo los fototransistores, la corriente microprocesador MicroBlaze, sus respectivas
máxima es de 127.3mA (cuando los memorias de datos y de programa, módulos
transistores conducen). de entradas digitales y módulos
independientes de PWM para cada motor. El
control de todo el sistema lo realiza el
Azul, transparen te, 5 microprocesador, por lo tanto modificando la
mm de diámetro, con programación de este, se modifica el
longitud de onda de 940 funcionamiento del robot.
nm, 1,3 V. típicos en
polarización directa, 1,7
V. máximos, 20 mW y
ángulo de 12 grados.
a)
7. Figura 9. Diagrama de las tarjetas de sensores lateral y frontal y vista del montaje. Código de los sensores: F-
ER=Frontal, extremo derecho, F-R=Frontal derecho. F-EL=Frontal, extremo izquierdo, F-L=Frontal izquier do,
L-L=Línea izquierdo, L-C=Línea central, L-R=Línea derecho, W-F=Lateral frontal, W-R=Lateral trasero
Una carpeta muestra cada estado: Resúmenes de cada
Estado 1, 2, 3y 4 acción del estado activo
b)
Las acciones pueden: Los estados pueden:
borrarse, borrarse,
editarse, duplicarse,
agregarse renombrarse
y duplicarse y agregarse.
a) c)
Figura 10. Software de Programación Visual. a) Ventana principal. b) Visualización virtual de los sensores.
c) Ventana para selección de movimiento predefinido o edición de movimiento específico.
8. 4.2 Plataforma Software como objetivo que los participantes se
familiarizasen con los robots y con el
El microprocesador MicroBlaze puede software de programación visual,
programarse utilizando un lenguaje C adicionalmente serviría como etapa
modificado llamado “Xilinx C++” dentro del eliminatoria ya que se contaba únicamente
“Xilinx Plataform Studio”, por lo cual alguien con 3 pirámides de prueba para la siguiente
que quisiera programarlo necesitaría tener etapa, solo los 10 mejores equipos pasarían
conocimientos de programación en C++, a la etapa final. En esta segunda etapa los
programación en VHDL y saber manejar los concursantes deberían programar a sus
programas de Xilinx “ISE Fundation” y “Xilinx robots para que ascendieran por la pirámide
Plataform Studio”. Pero esto implicaría un (Fig. 11) y se detuvieran al llegar a la marca
tiempo de entrenamiento excesivo para de la cúspide. Para cada etapa los
poder llegar a programar el robot, motivo por participantes solo contaron con alrededor de
el cual se diseñó un software que permite, 3 horas para realizar sus algoritmos y
mediante un ambiente visual muy intuitivo, pruebas. Antes de comenzar la etapa
diseñar una máquina de estados que controle eliminatoria se proyectó un video en ingles de
el funcionamiento del robot. El software 20 minutos en el que se explicaban las reglas
diseñado compila la máquina de estados de la competencia, las características del
hacia un programa en Xilinx C++, se encarga robot y como utilizar el software de
de ejecutar automáticamente el sintetizador y programación visual (que nunca antes habían
finalmente descarga el algoritmo en el FPGA visto).
sin que el usuario tenga que tener
conocimiento de la manera en que se utilizan
estos programas.
El software de programación visual esta
estructurado en ventanas emergentes que
facilitan al usuario el uso de todas las
características del robot mediante
visualizaciones virtuales. En si, se trata de un
generador de máquina de estado que permite
controlar las acciones del robot dentro de
cada estado y el cambio entre estados. Un
programa puede constar de uno o más
estados, los cuales son creados, copiados o
eliminados desde una ventana inicial por
medio de botones (Fig. 10). A su vez cada
estado puede contener una o más acciones,
las cuales se evalúan para su ejecución en el
orden en que son creadas y de acuerdo a
sus condiciones de entrada y salida, todo
esto por medio de botones, pero permitiendo
al usuario avanzado modificar parámetros
importantes durante la creación del algoritmo
y después de creado el usuario tiene acceso
al codigo Xilinx C++ para modificarlo si
considera necesario.
Figura 11. Pirámide y pista utilizadas para el
4.2 El Concurso torneo.
El torneo se dividió en dos etapas: A la competencia se inscribieron 27 equipos
eliminatoria y final. En la etapa eliminatoria de entre 2 y 4 personas de 25 países (cabe
los participantes deberían lograr que sus destacar que en el equipo ganador un solo
robots eligieran el camino mas corto en la participante acudió a la final). Los diez
pista (Fig. 11) y se detuvieran al llegar a la mejores equipos de la etapa eliminatoria
marca del final. Esta primera etapa tenía acudieron a la final, durante tres horas, ante
9. la expectación de compañeros y dirigentes 6. CONCLUSIONES Y TRABAJOS
del evento, obtuvieron avances FUTUROS
impresionantes. Después de las pruebas vino
la competencia, en la cual se obtuvieron los En este documento se describe el desarrollo
siguientes resultados: en primer lugar el de un robot móvil omnidireccional que en
equipo de España logró ascender la mayor conjunto con un software de programación
distancia hacia lo más alto de la pirámide, visual fue puesto a prueba en el torneo de
más del 90% de la ruta, faltándole robótica llevado a cabo en el marco de la
únicamente las 3 vueltas finales, en segundo Olimpiada Internacional de Informática 2006.
lugar se colocó el equipo de Chile, cuyo
algoritmo logró que el robot completara mas Desde el punto de vista de la educación, el
del 60% del recorrido de la pirámide durante conjunto robot-software permite que alumnos
la competencia (en las pruebas habían del área de programación en distintos niveles
logrado más del 90%); finalmente el tercer puedan acceder a la plataforma robótica
lugar lo ocupó el equipo de Lituania con un creada, desde alumnos en niveles básicos
avance del 55% del recorrido total en la creando algoritmos para resolver tareas
pirámide. sencillas, hasta alumnos en niveles avanzado
que pudieran probar complejos algoritmos de
5. RESULTADOS navegación y reconocimiento de entornos, o
agregando un módulo de comunicación
La utilización del robot-software de inalámbrica algoritmos para la realización de
programación visual en este torneo demostró tareas en ambientes cooperativos, etc.
que por un lado, la plataforma robótica es
robusta y funcional, y por otro, que su La utilización de un FPGA como parte
utilización junto con el software permite que medular del sistema de control permite a su
usuarios, aún sin tener conocimientos vez utilizar al robot en materias de
profundos de robótica o electrónica, puedan electrónica digital, ya que proporcionando a
programar de manera rápida y sencilla tareas los alumnos la hoja técnica de las
específicas en los agentes autónomos. conexiones, sin necesidad de modificar el
hardware ya construido, los alumnos pueden
Cabe destacar que los participantes en la diseñar su propio sistema de control,
Olimpiada Internacional de Informática son pudiendo utilizar desde lógica combinacional,
alumnos de nivel medio superior, si bien es maquinas de estado, hasta
una selección de los mejores alumnos de microprocesadores embebidos. A su vez la
cada país en este nivel, aún así, fue muy flexibilidad de este tipo de plataformas
gratificante observar que, con tan solo un permite modificar fácilmente el sistema de
video de 20 minutos en el que se dedicaban control y anexar nuevos elementos, con lo
aproximadamente 10 min. a la explicación de cual el robot pude ser utilizado para plantear
la competencia, reglas del juego y problemas reales a alumnos de diversas
características del robot y únicamente 10 disciplinas en la electrónica, desde
min. a la explicación del software, los controladores de velocidad, redes de
participantes pudieron, sin excepción, comunicación inalámbricas, nuevos sistemas
generar algoritmos para controlar los robots de sensado, etc.
suministrados, logrando en el poco tiempo de
prueba que se les permitió usarlos, Actualmente se esta trabajando en agregar
resultados impresionantes. sensores de velocidad a cada una de las
llantas y en el módulo VHDL para el control
Pruebas en el laboratorio demostraron que la PID de velocidad. También se está
eficiencia de un programador, mejora mejorando el sistema de sensores utilizando
grandemente con la utilización de la convertidores analógico a digital, para que se
plataforma visual propuesta, ya que el tiempo puedan calibrar por software, evitando con
de elaboración de un algoritmo para una esto utilizar potenciómetros. Se está
tarea básica como lo es un seguimiento de trabajando en un módulo de comunicación
línea se redujo de 3 horas a tan solo 15 inalámbrica para anexarlo a cada robot.
minutos.
10. (VLHCC’04), IEEE, Sept. 2004, pp. 157-
7. REFERENCIAS 159.
[1] Jill D. Crisman, “System Design Via [5] Tyson S. Hall, O. Hamblen, “System-on-
Small Mobile Robots”, Transactions On a-Programmable-Chip Development
Education, IEEE, Vol. 39, No. 2, May Platforms in the Classroom”,
1996, pp. 275-280. Transactions On Education, IEEE, Vol.
47, No. 4, November 2004, pp. 502-507.
[2] Mark J. Paulik, Mohan Krishnan, “A
Competition-Motivated Capstone Design [6] Carlos Cardeira, José Sá da Costa, “A
Course: The Result of a Fifteen-Year Low Cost Mobile Robot for Engineering
Evolution”, Transactions On Education, Education”, 32nd Annual Conference of
IEEE, Vol. 44, No. 1, February 2001, pp. Industrial Electronics Society, IEEE,
67-75. Nov. 2005, pp. 2162-2167.
[3] Peter H. Gregson, Timothy A. Little, [7] David Jeff Jackson, Kenneth G. Ricks,
“Using Contests to Teach Design to EE “FPGA-Based Autonomous Vehicle
Juniors”, Transactions On Education, Competitions in a Capstone Design
IEEE, Vol. 42, No. 3, August 1999, pp. Course”, Proceedings of the
229-232. International Conference on
Microelectronic Systems Education,
[4] Shawn M. Best, Philip T. Cox, IEEE, June 2005, pp. 9-10.
“Programming an Autonomous Robot
Controller by Demonstration Using [8] Barr, Michael, Programming Embedded
Artificial Neural Networks”, Proceedings Systems in C & C++, O´Reilly, January
of the Symposium on Visual Languages 1999.
and Human Centric Computing