You are on page 1of 10

DISEO DE ROBOT MVIL OMNIDIRECCIONAL MAYABOT

J. R. Atoche Enseat, O. Snchez Siordia, O. Moreno Franco, S. Narvez Samuel, O. Carvajal Espinoza, A. Corts Mnica, H. Pinto vila, E. Gaxiola Sosa, A. Coll Menchi, D. Broca Lpez, E. Espadas Aldana, A. A. Castillo Atoche, E. Uicab Santos
Instituto Tecnolgico de Mrida, Km. 5 Carretera Mrida Progreso, Mrida, Yucatn, Mxico 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 En este trabajo se presenta el diseo mecnico, elctrico y electrnico de un robot mvil omnidireccional, resaltando las ventajas que tendra hacer uso de el para la enseanza de diversas disciplinas. Se describe a detalle los elementos mecnicos utilizados, los motores, bateras, y circuitos de control, potencia y sensores que se implementaron en el robot. Se menciona tambin las ventajas de utilizar un software de programacin visual diseado para el robot, que permite a usuarios sin experiencia en electrnica ni robtica programar tareas complejas en un ambiente visual muy intuitivo, de manera fcil y rpida. La plataforma Hardware-Software fue probada en el concurso de robtica realizado en el marco de la 18 Olimpiada Internacional de Informtica llevada a cabo en Agosto de 2006. ABSTRACT In this work, the design of an omnidirectional mobile robot is presented including the mechanical, electrical and electronichal systems. With this kind of project, the students can improved their skills in robotics and digital design that is very difficult to obtain in a single course. We also describe in this work, the elements implemented in the design like the mechanical elements, control circuits, power stages and different sensors. A visual programming interface was also design with the purpose to reduce the programming time for the students. This program allows to the users without any experience in electronics or robotics to program complex tasks in a very simple way. The Hardware-Software platform was presented and used in the 18th International Olympiad in Informatics carried out in August 2006.

I. INTRODUCCIN En los ltimos aos la comunidad cientfica y las instituciones de educacin han prestado un especial inters en el uso de competencias de robots mviles autnomos para motivar el inters de los estudiantes hacia el diseo y la investigacin en diversas reas de la ingeniera as como para promover el desarrollo de nuevas tecnologas. El empleo de pequeos robots que deban resolver tareas bien definidas como medio para la enseanza de materias de diseo integral avanzado se encuentra bien documentado. Por ejemplo en [1] y [2] se describen cursos en los cuales los alumnos deben realizar el diseo completo de robts mviles inteligentes que cumplan determinadas tareas, en [3] se destaca que este tipo de actividad permite desarrollar en los alumnos habilidades esenciales para un ingeniero que no pueden desarrollarse en el aula normal, como son: identificacin de conceptos claves, adquisicin de nuevos conocimientos, creatividad para utilizar informacin incompleta o contradictoria. En [4] se trabaja con robots diseados con Lego y se describe un software de programacin visual para programar robots mviles autnomos, en el cual el usuario final no requiera ningn conocimiento sobre los mtodos "internos" de control, en este caso redes neuronales artificiales. En [5] se presenta el uso y reuso de plataformas hardware basadas en tarjetas de desarrollo para FPGAs de Xilinx y de Altera, y en microprocesadores embebidos como el control de robots mviles autnomos dentro del programa de una materia de diseo avanzado. [6] presenta la construccin de un robot mvil muy simple que utiliza los motores y baterias de 2 desarmadores elctricos como

etapa de potencia y una laptop como etapa de control destacando la potencia de computo disponible gracias a este artilugio. En [7] se utiliza una tarjeta de desarrollo de Altera como el control de un robot mvil autnomo capaz de realizar diversas tareas, para ensear diseo avanzado en ingeniera. En el presente trabajo describe el diseo mecnico, elctrico y electrnico de un pequeo robot mvil que puede ser programado mediante un software que permite programar el comportamiento del robots en un ambiente visual muy intuitivo. Dichos robots se han diseado de manera que puedan ser tiles para la enseanza de diversas reas de la ingeniera. Se eligi como plataforma mecnica 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 planificacin 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 diseo digital y que el control del robot pueda ser modificado fcilmente, ya sea para probar nuevos controladores (materias de control), para anexar nuevos sistemas de sensado (instrumentacin, optoelectrnica), o capacidades de comunicacin inalmbricas (comunicaciones), por ejemplo. Desde el punto de vista de la educacin, el software diseado permite que alumnos distintos niveles puedan acceder a la plataforma robtica creada. A su vez, permite la implementacin de algoritmos para la realizacin de tareas complejas, de manera rpida y sencilla. Dichos algoritmos pueden aprovechar para la toma de decisiones el tiempo y el estado de una serie de sensores colocados alrededor de la estructura del robot para medir las variables del entorno. La prueba conjunta de la plataforma de programacin visual y del agente autnomo (robot mvil omnidireccional) se realiz durante un concurso en el marco de la 18th Olimpiada Internacional de Informtica (IOI), realizada en la Ciudad de Mrida, Yucatn, Mxico, durante la semana del 13 al 20 de agosto de 2006, en el cual participantes de

ms de 25 pases utilizaron el software presentado para programar robots con el objetivo de resolver tareas especficas previamente definidas. 2. DISEO MECNICO El chasis del robot se dise para que formara un cilindro de 18 cm de dimetro por 22 cm de alto, el cual est formado por una base principal de aluminio, un separador y una tapa protectora de acrlico. Las tres placas son circulares de 18 cm de dimetro y se encuentran separadas entre s por postes de aluminio roscados en sus dos extremos, los cuales se han fijado con tornillos a las placas.

a)

b) Figura 1. a) Tapa protectora. b) Tapa protectora y separador colocados en el robot.

2.1. Tapa protectora de la tarjeta Spartan 3 La funcin de esta placa es proteger a la tarjeta de control que como se explica mas adelante es una Spartan 3 Starter Board. Como podemos observar en la Figura 1 a, esta placa cuenta con cortes que permiten tener acceso a los siguientes componentes de

la tarjeta: los pulsadores, los interruptores, el pulsador que resetea la tarjeta y carga el programa de la memoria en el FPGA y la conexin del J-TAG para la programacin del robot. 2.2. Separador de aislamiento El objetivo de esta placa es servir de soporte y aislamiento entre la tarjeta de potencia y la tarjeta de control. La tarjeta de potencia se fija en la cara inferior de esta placa, con tornillos. La tarjeta de control se fija en la cara superior de esta placa, con tornillos. Esta placa cuenta con un corte lateral (se muestra encerrado en un valo en la figura 1 b), que facilita la conexin de un cable IDE que sirve como conexin entre ambas tarjetas.

uno de los otros, que permiten la ubicacin de las llantas dentro del chasis. Por debajo de la placa, utilizando segmentos angular de aluminio se han fijado los motores de manera que sus ejes cacen con los ejes del soporte principal, con 120 de separacin entre ellos (Figura 3 a). Las llantas se han fijado a los motores utilizando bujes de bronce a presin (Figura 3 b). Arriba de la placa se sujeta la batera con Velero para evitar que se mueva durante el funcionamiento del robot, pero que sin embargo sea fcil y rpido cambiarla. Los motores utilizados cuentan con un reductor de velocidad con una conversin de 30:1, el eje de salida del reductor no se encuentre centrado, esto ayud a que pudiramos colocar los motores en apariencia descentrados, como se aprecia en la figura 3 a, sin que los ejes de las llantas perdieran su posicin correcta. Soportes para sensores: frontal y posterior

120 120

120

a)

a)

b) Figura 2. a) Soporte principal. b) Vista lateral del robot (sin batera ni placa de control)

2.3 Soporte Principal Este soporte es un crculo de 18 cm de dimetro hecho de aluminio calibre 16 y que, como se puede observar en la figura 2 a, cuenta con tres cortes separados a 120 cada

b) Figura 3. a) Vista inferior, ubicacin de los motores y soportes para sensores frontal y posterior. b) Vista lateral, buje de bronce.

2.4 Soporte de sensores Adicionalmente, para la aplicacin en la que se prob, se adicionaron dos soportes para

sensores. Uno de ellos se coloc en la parte frontal de robot y alberga 8 sensores infrarrojos: 4 al frente para deteccin de obstculos, 3 hacia abajo para deteccin de lneas en la pista y uno al costado izquierdo (del robot) para deteccin de pared. El otro soporte se coloc en la parte trasera izquierda del robot y alberga un sensor infrarrojo para la deteccin de pared. A ambas placas se les colocaron protectores de acrlico para evitar que algn golpe pudiera doblar o daar los sensores.

3.2 Tarjeta de Control La tarjeta de control utilizada en este prototipo como ya se haba comentado antes es una tarjeta de evaluacin Spartan 3 Starter Board, la cual cuenta con un FPGA Xilinx Spartan 3 de 200 mil compuertas lgicas, 3 conectores de expansin de 40 pines, puerto serial RS232, 1 MByte de memoria RAM, interruptores, pulsadores, leds, etc. Dicha tarjeta se alimenta con 5 Volts y sus puertos de entrada 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. DISEO ELECTRICO Y ELECTRNICO 3.1 Alimentacin y motores Como fuente de alimentacin para el robot se utilizan paquetes de bateras recargables de Nquel Metal Hidruro de 2,000 mAh a 9.6 Volts, con un peso de 230 g., pudiendo utilizarse una o hasta 2 bateras en un robot. Una batera le permite al robot una autonoma a pleno funcionamiento de aproximadamente 20 minutos. Se utilizaron motores de CD con voltaje nominal de 12 Volts, consumo a 12 Volts sin carga de 60 mA y con el eje frenado de 1500 mA. El motor tiene una velocidad de 6000 rpm pero con el reductor 30:1 obtenemos 200 rpm en el eje de salida. El sistema motor reductor tiene una fuerza de 4.6 Kg cm y pesa 152 g. La electrnica consta bsicamente de tres elementos: la tarjeta de control, la tarjeta de potencia y las tarjetas de los sensores. Cada uno de ellos se describe a continuacin:
c) Figura 5. a) Motor-reductor utilizado b) Batera utilizada b) Tarjeta de control

3.3 Tarjeta de Potencia La tarjeta de potencia en realidad encierra 3 circuitos principales: regulacin de voltaje para alimentacin de la tarjeta de control, circuitos de potencia para alimentacin de motores y adaptacin de seal analgica a digital para los sensores. Cada uno de ellos es descrito a continuacin. Regulacin de voltaje para alimentacin de la tarjeta de control. Para este circuito se utiliz un regulador lineal de 5 Volts (LM7805T) en su configuracin estndar. Se aadi un pequeo disipador para evitar calentamientos excesivos.

Circuitos de potencia para alimentacin de motores. Para poder controlar el sentido de giro de los motores se utilizaron puentes H integrados para manejar su alimentacin. El circuito utilizado es el L293D, este CI contiene 2 puentes H completos, es capaz de manejar hasta 600 mA por canal y trae integrados los diodos de proteccin, con lo cual solo resta conectarle el motor. Adems estos circuitos tienen un pin de habilitacin para cada puente H, alimentando una seal de PWM en este pin podemos controlar la cantidad de potencia entregada al motor y con esto su velocidad.

Adaptacin de seal analgica a digital para los sensores. Para esta etapa se han utilizado comparadores con salida de colector abierto, esto permite alimentar los comparadores con los 5 Volts que obtenemos del regulador implementado para generar el voltaje de la tarjeta de control (+Vcc=5volts, Vcc=GND) y utilizar la alimentacin de 3.3 Volts proveniente de la propia tarjeta para generar los voltajes de salida. Esta configuracin garantiza seales digitales siempre en el rango de voltaje adecuado para 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 calibracin de cada sensor de manera individual con lo cual, an con la misma configuracin de los sensores, se pueden obtener distintos comportamientos de acuerdo a la calibracin realizada. En la figura 7a se muestran las conexiones para uno de los CI, los otros 2 se conectan de manera idntica. Finalmente en la Figura 7b podemos ver desde la ubicacin de los conectores hasta la ubicacin 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 disposicin de nuestros circuitos integrados, los potencimetros de ajuste, los conectores de los motores y la entrada de la batera

a)

Figura 7. a) b) Figura 6. a) Circuito de potencia para los motores b) Circuito de alimentacin para la tarjeta de control.

Transparente, 5 mm de dimetro, longitud de onda de 940 nanmetros, 1,3 Volts tpicos en polarizacin directa, 1,7 Volts mximos, 20 mW y ngulo de 27 grados.

b)

Fototransistor de silicn de 5mm de dimetro, con filtro de luz de da, 7 Volts de colector a emisor y 5 microsegundos de tiempo de recuperacin.

b) Figura 7. a) Circuito utilizado para convertir la seal analgica de los sensores en niveles lgicos a 3.3Volts. b) Circuito impreso de la tarjeta de potencia.

c) Figura 8. a) LED infrarrojo IR383 b) LED Infrarrojo IR333C c) Fototransistor PT1302B/C2

4. PRUEBA DEL SISTEMA El sistema se prob durante un concurso de robtica en el marco de la 18th Olimpiada Internacional de Informtica (IOI), realizada en la Ciudad de Mrida, Yucatn, Mxico, durante la semana del 13 al 20 de agosto de 2006, en el cual participantes de ms de 25 pases utilizando un software de programacin visual diseado junto con el robot, programaron 15 robots idnticos construidos para el vento. 4.1 Plataforma Hardware En la tarjeta de control se implementado un sistema embebido, el cual es una combinacin de hardware y software de cmputo [8] ubicados en su totalidad dentro del dispositivo que controlan. El sistema embebido est constituido bsicamente por el microprocesador MicroBlaze, sus respectivas memorias de datos y de programa, mdulos de entradas digitales y mdulos independientes de PWM para cada motor. El control de todo el sistema lo realiza el microprocesador, por lo tanto modificando la programacin de este, se modifica el funcionamiento del robot.

3.4. Tarjetas de Sensores


Para la aplicacin en la que se prob el diseo se utilizaron 9 sensores infrarrojos, estos se distribuyeron en 2 tarjetas, una delantera con 8 de ellos y una trasera con el sensor restante. Se utilizaron 2 tipos de emisores: uno de amplia iluminacin (modelo IR333C) para los sensores frontales y de lnea y uno de larga distancia (modelo IR383) para los laterales tanto delantero como trasero (Fig. 8). Se utiliz como receptor un fototransistor con filtro de luz de da (modelo PT1302B/C2) para todos los receptores debido a su inmunidad ante la iluminacin ambiental. Se utilizaron resistencias de 220ohms en la polarizacin de los emisores para tener una corriente de 22mA. La potencia total que consume el circuito es de 636.5mW incluyendo los fototransistores, la corriente mxima es de 127.3mA (cuando los transistores conducen).

Azul, transparen te, 5 mm de dimetro, con longitud de onda de 940 nm, 1,3 V. tpicos en polarizacin directa, 1,7 V. mximos, 20 mW y ngulo de 12 grados.

a)

Figura 9. Diagrama de las tarjetas de sensores lateral y frontal y vista del montaje. Cdigo de los sensores: FER=Frontal, extremo derecho, F-R=Frontal derecho. F-EL=Frontal, extremo izquierdo, F-L=Frontal izquier do, L-L=Lnea izquierdo, L-C=Lnea central, L-R=Lnea derecho, W-F=Lateral frontal, W-R=Lateral trasero Una carpeta muestra cada estado: Estado 1, 2, 3y 4 Resmenes de cada accin del estado activo

b)

Las acciones pueden: borrarse, editarse, agregarse y duplicarse

Los estados pueden: borrarse, duplicarse, renombrarse y agregarse.

a) c) Figura 10. Software de Programacin Visual. a) Ventana principal. b) Visualizacin virtual de los sensores. c) Ventana para seleccin de movimiento predefinido o edicin de movimiento especfico.

4.2 Plataforma Software El microprocesador MicroBlaze puede programarse utilizando un lenguaje C modificado llamado Xilinx C++ dentro del Xilinx Plataform Studio, por lo cual alguien que quisiera programarlo necesitara tener conocimientos de programacin en C++, programacin en VHDL y saber manejar los programas de Xilinx ISE Fundation y Xilinx Plataform Studio. Pero esto implicara un tiempo de entrenamiento excesivo para poder llegar a programar el robot, motivo por el cual se dise un software que permite, mediante un ambiente visual muy intuitivo, disear una mquina de estados que controle el funcionamiento del robot. El software diseado compila la mquina de estados hacia un programa en Xilinx C++, se encarga de ejecutar automticamente el sintetizador y finalmente descarga el algoritmo en el FPGA sin que el usuario tenga que tener conocimiento de la manera en que se utilizan estos programas. El software de programacin visual esta estructurado en ventanas emergentes que facilitan al usuario el uso de todas las caractersticas del robot mediante visualizaciones virtuales. En si, se trata de un generador de mquina 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 ms 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 ms acciones, las cuales se evalan para su ejecucin 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 parmetros importantes durante la creacin del algoritmo y despus de creado el usuario tiene acceso al codigo Xilinx C++ para modificarlo si considera necesario. 4.2 El Concurso El torneo se dividi en dos etapas: eliminatoria y final. En la etapa eliminatoria los participantes deberan lograr que sus robots eligieran el camino mas corto en la pista (Fig. 11) y se detuvieran al llegar a la marca del final. Esta primera etapa tena

como objetivo que los participantes se familiarizasen con los robots y con el software de programacin visual, adicionalmente servira como etapa eliminatoria ya que se contaba nicamente con 3 pirmides de prueba para la siguiente etapa, solo los 10 mejores equipos pasaran a la etapa final. En esta segunda etapa los concursantes deberan programar a sus robots para que ascendieran por la pirmide (Fig. 11) y se detuvieran al llegar a la marca de la cspide. Para cada etapa los participantes solo contaron con alrededor de 3 horas para realizar sus algoritmos y pruebas. Antes de comenzar la etapa eliminatoria se proyect un video en ingles de 20 minutos en el que se explicaban las reglas de la competencia, las caractersticas del robot y como utilizar el software de programacin visual (que nunca antes haban visto).

Figura 11. Pirmide y pista utilizadas para el torneo.

A la competencia se inscribieron 27 equipos de entre 2 y 4 personas de 25 pases (cabe destacar que en el equipo ganador un solo participante acudi a la final). Los diez mejores equipos de la etapa eliminatoria acudieron a la final, durante tres horas, ante

la expectacin de compaeros y dirigentes del evento, obtuvieron avances impresionantes. Despus de las pruebas vino la competencia, en la cual se obtuvieron los siguientes resultados: en primer lugar el equipo de Espaa logr ascender la mayor distancia hacia lo ms alto de la pirmide, ms del 90% de la ruta, faltndole nicamente las 3 vueltas finales, en segundo lugar se coloc el equipo de Chile, cuyo algoritmo logr que el robot completara mas del 60% del recorrido de la pirmide durante la competencia (en las pruebas haban logrado ms del 90%); finalmente el tercer lugar lo ocup el equipo de Lituania con un avance del 55% del recorrido total en la pirmide. 5. RESULTADOS La utilizacin del robot-software de programacin visual en este torneo demostr que por un lado, la plataforma robtica es robusta y funcional, y por otro, que su utilizacin junto con el software permite que usuarios, an sin tener conocimientos profundos de robtica o electrnica, puedan programar de manera rpida y sencilla tareas especficas en los agentes autnomos. Cabe destacar que los participantes en la Olimpiada Internacional de Informtica son alumnos de nivel medio superior, si bien es una seleccin de los mejores alumnos de cada pas en este nivel, an as, fue muy gratificante observar que, con tan solo un video de 20 minutos en el que se dedicaban aproximadamente 10 min. a la explicacin de la competencia, reglas del juego y caractersticas del robot y nicamente 10 min. a la explicacin del software, los participantes pudieron, sin excepcin, generar algoritmos para controlar los robots suministrados, logrando en el poco tiempo de prueba que se les permiti usarlos, resultados impresionantes. Pruebas en el laboratorio demostraron que la eficiencia de un programador, mejora grandemente con la utilizacin de la plataforma visual propuesta, ya que el tiempo de elaboracin de un algoritmo para una tarea bsica como lo es un seguimiento de lnea se redujo de 3 horas a tan solo 15 minutos.

6. CONCLUSIONES FUTUROS

TRABAJOS

En este documento se describe el desarrollo de un robot mvil omnidireccional que en conjunto con un software de programacin visual fue puesto a prueba en el torneo de robtica llevado a cabo en el marco de la Olimpiada Internacional de Informtica 2006. Desde el punto de vista de la educacin, el conjunto robot-software permite que alumnos del rea de programacin en distintos niveles puedan acceder a la plataforma robtica creada, desde alumnos en niveles bsicos creando algoritmos para resolver tareas sencillas, hasta alumnos en niveles avanzado que pudieran probar complejos algoritmos de navegacin y reconocimiento de entornos, o agregando un mdulo de comunicacin inalmbrica algoritmos para la realizacin de tareas en ambientes cooperativos, etc. La utilizacin de un FPGA como parte medular del sistema de control permite a su vez utilizar al robot en materias de electrnica digital, ya que proporcionando a los alumnos la hoja tcnica de las conexiones, sin necesidad de modificar el hardware ya construido, los alumnos pueden disear su propio sistema de control, pudiendo utilizar desde lgica combinacional, maquinas de estado, hasta microprocesadores embebidos. A su vez la flexibilidad de este tipo de plataformas permite modificar fcilmente el sistema de control y anexar nuevos elementos, con lo cual el robot pude ser utilizado para plantear problemas reales a alumnos de diversas disciplinas en la electrnica, desde controladores de velocidad, redes de comunicacin inalmbricas, nuevos sistemas de sensado, etc. Actualmente se esta trabajando en agregar sensores de velocidad a cada una de las llantas y en el mdulo VHDL para el control PID de velocidad. Tambin se est mejorando el sistema de sensores utilizando convertidores analgico a digital, para que se puedan calibrar por software, evitando con esto utilizar potencimetros. Se est trabajando en un mdulo de comunicacin inalmbrica para anexarlo a cada robot.

7. REFERENCIAS [1] Jill D. Crisman, System Design Via Small Mobile Robots, Transactions On Education, IEEE, Vol. 39, No. 2, May 1996, pp. 275-280. Mark J. Paulik, Mohan Krishnan, A Competition-Motivated Capstone Design Course: The Result of a Fifteen-Year Evolution, Transactions On Education, IEEE, Vol. 44, No. 1, February 2001, pp. 67-75. Peter H. Gregson, Timothy A. Little, Using Contests to Teach Design to EE Juniors, Transactions On Education, IEEE, Vol. 42, No. 3, August 1999, pp. 229-232. Shawn M. Best, Philip T. Cox, Programming an Autonomous Robot Controller by Demonstration Using Artificial Neural Networks, Proceedings of the Symposium on Visual Languages and Human Centric Computing [5]

(VLHCC04), IEEE, Sept. 2004, pp. 157159. Tyson S. Hall, O. Hamblen, System-ona-Programmable-Chip Development Platforms in the Classroom, Transactions On Education, IEEE, Vol. 47, No. 4, November 2004, pp. 502-507. Carlos Cardeira, Jos S da Costa, A Low Cost Mobile Robot for Engineering Education, 32nd Annual Conference of Industrial Electronics Society, IEEE, Nov. 2005, pp. 2162-2167. David Jeff Jackson, Kenneth G. Ricks, FPGA-Based Autonomous Vehicle Competitions in a Capstone Design Course, Proceedings of the International Conference on Microelectronic Systems Education, IEEE, June 2005, pp. 9-10. Barr, Michael, Programming Embedded Systems in C & C++, OReilly, January 1999.

[2]

[6]

[3]

[7]

[4]

[8]