diseño y construcción de un robot móvil -...

20
Diseño y construcción de un robot móvil Cadenas, Albert; Prof. Francisco, Viloria* Departamento de circuitos y medida Escuela de Eléctrica, Facultad de Ingeniería Universidad de los Andes, Mérida 5101, Venezuela [email protected] *[email protected] Resumen La robótica es hoy en día una herramienta fundamental para el desenvolvimiento y desarrollo del ser humano. Cada vez es necesario acudir a la tecnología de asistencia donde los robots permiten rapidez, confiabilidad y precisión. Para fomentar dicho trabajo se comienza creando una plataforma de desarrollo que permita crear una base de aplicación y es en donde los robots experimentales entran en juego. En este trabajo se diseñar un robot modular manejado por un microcontrolador debidamente programado el cual bajo la actuación de varios sensores permite su desenvolvimiento en un laberinto. Así mismo su diseño modular permita futuras expansiones. Como objetivo se logró diseñar una placa circuital modular con un microprocesador que se comunica con la PC mediante un puerto serial, la placa controla sensores y motores, lo cual todo descansa sobre un chasis con un sistema de “rueda loca”, servo-motores y alimentación independiente (baterías); el sistema esta programado en lenguaje C. Se construyó un laberinto donde se prueban los algoritmos implementados. Palabras clave: robot, plataforma, microcontrolador, programación.

Upload: hatuyen

Post on 25-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Diseño y construcción de un robot móvil

Cadenas, Albert; Prof. Francisco, Viloria*Departamento de circuitos y medida

Escuela de Eléctrica, Facultad de IngenieríaUniversidad de los Andes, Mérida 5101, Venezuela

[email protected]*[email protected]

Resumen

La robótica es hoy en día una herramienta fundamental para el desenvolvimiento y desarrollo del ser

humano. Cada vez es necesario acudir a la tecnología de asistencia donde los robots permiten rapidez,

confiabilidad y precisión. Para fomentar dicho trabajo se comienza creando una plataforma de

desarrollo que permita crear una base de aplicación y es en donde los robots experimentales entran en

juego. En este trabajo se diseñar un robot modular manejado por un microcontrolador debidamente

programado el cual bajo la actuación de varios sensores permite su desenvolvimiento en un laberinto.

Así mismo su diseño modular permita futuras expansiones. Como objetivo se logró diseñar una placa

circuital modular con un microprocesador que se comunica con la PC mediante un puerto serial, la

placa controla sensores y motores, lo cual todo descansa sobre un chasis con un sistema de “rueda

loca”, servo-motores y alimentación independiente (baterías); el sistema esta programado en lenguaje

C. Se construyó un laberinto donde se prueban los algoritmos implementados.

Palabras clave: robot, plataforma, microcontrolador, programación.

Page 2: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

1 INTRODUCCION

Una de las áreas más importantes en la asistencia humana y los avances tecnológicos es la robótica,

vista como un entorno de desarrollo que se utiliza para crear aplicaciones funcionales a las necesidades

que se planteen. Existen muchas áreas donde la robótica entra en juego, como ejemplo de esto se tiene

las máquinas industriales que ensamblan el chasis de un vehiculo con tal precisión y calidad que una

persona no podría realizar tan fácilmente. Hoy en día también vemos asistencia robótica en la

medicina, en la exploración espacial e incluso en el hogar.

En un primer paso a la creación de un robot móvil visto como plataforma de desarrollo, se debe

plantear un esquema que resuma la forma en que este va a estar constituido y lo que esperamos de el.

MOBOT es el seudónimo del robot móvil propuesto en este trabajo, el cual surge de la necesidad de

estudiar los problemas clásicos de robótica y de realizar un diseño que se comporte como plataforma de

desarrollo.

2 MODELO ESQUEMATICO

El planteamiento de un primer modelo robotico requiere de un esquema que resuma las características

que lo conforman, así como la forma en que este trabajara. En la figura 1 se refleja la propuesta de

Mobot y sus principales características.

Figura 1 Esquema gráfico de la conformación de MOBOT

El robot esta gobernado por un microcontrolador del cual se dispone de sus puertos de entrada y salida

para conectar los sensores y actuadores que le darán el “sentido” del espacio. Para moverse se usaran 2

motores DC en disposición de triciclo junto a una rueda multidireccional (Rueda loca). El robot tiene la

Page 3: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

capacidad de poder comunicarse con un computador a través del puerto serial y así poder descargar

instrucciones en el microcontrolador bajo código en leguaje C.

3 ELEMENTOS ELECTRÓNICOS

3.1 Microntrolador

Se seleccionó en primera instancia el modelo del “cerebro” que gobierna cada una de las partes de

Mobot, con lo cual se tendrán las ventajas y limitaciones que este posea y dará pie a la expansión de

nuevos elementos. El microcontrolador seleccionado es el modelo PIC 18F452 de la marca

MICROCHIP el cual posee 32 Kbytes de memoria, convertidor A/D, 5 puertos de E/S, 2 módulos

PWM y manejado a 20MHZ de velocidad.

La programación del PIC 18f452 se hace a través del puerto serial del estándar RS-232 del modulo

USART. Bajo esta conexión con el PC se puede almacenar en el PIC un código (Bootloader) que

permite la descarga directa de los programas que se quieran ejecutar (el Bootloader no interfiere con el

desenvolvimiento del programa descargado). A través de un compilador y un software de programación

en computadora se dan las instrucciones al PIC 18F452.

3.2 Sensores medidores de distancia

Una de las características que poseer MOBOT es la exploración y el reconocimiento de obstáculos, este

tiene sensores que permiten advertirle del entorno para dar una determinada reacción. Los sensores de

medir distancia son una buena opción en este caso, brindando el sentido del espacio que necesita el

robot. Los sensores opto-electrónicos GP2D12 de la marca Sharp son muy usados en el campo de la

electrónica y robótica debido a sus prestaciones y bajo costo. Tienen como característica medir

distancias usando luz infrarroja y devolver el valor de forma analógica.

La forma en que el sensor GP2D12 realiza la medición es por medio de la triangulación entre el emisor,

receptor y el objeto que tiene al frente. El receptor forma un ángulo con el emisor para garantizar el

triangulo de medición (figura 2).

Page 4: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Figura 2 Triangulación del sensor Sharp GP2D12

Una característica importante a tomar en cuenta en el uso de estos sensores es la respuesta no lineal de

su señal de salida (figura 3) la cual podemos corregir usando un proceso de linealización por software

(Ref).

Figura 3 Característica de la tensión de salida y la distancia reflectada del sensor GP2D12 (Sharp, 2005)

Otro sensor muy utilizado es el sensor CNY70 el cual por medio de escaneo optoelectrónico detecta

objetos por la reflexión de luz infrarroja (ref). A diferencia del sensor infrarrojo Sharp, el CNY70

detecta objetos a escasos milímetros de distancia permitiendo llevar a un alto (nivel lógico TTL) su

salida en presencia de poca reflexión (superficie oscura) y a un bajo en presencia de una superficie

reflectante o viceversa dependiendo de su configuración. Por esta característica es utilizado en la

Page 5: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

lectura de un disco codificado montado en cada rueda del robot, así como también en la detección de

pistas como una de las actividades planteadas para MOBOT.

3.3 Servomotores

Otro elemento usado es el servo-motor, estos son pequeños motores DC que vienen encapsulados junto

a una pequeña electrónica de control, un driver y un potenciómetro que va conectado usando engranes

al eje del motor. El control se hace a través de una modulación de ancho de pulso (PWM). Las

características principales de un servo es permitir posicionar el eje de rotación del motor a partir de un

punto de referencia que es dado por la señal de control y el potenciómetro. La velocidad para un servo

es constante y varia cuando se le aplica carga, aunque se puede controlar su velocidad realizando una

modificación en su estructura (ref), la cual fue implementada para este diseño.

4 DISEÑO Y CONSTRUCCIÓN

El primer paso fue la creación del circuito electrónico que maneja todos los sensores, actuadores y

motores del robot. Para esto se escogió el software de diseño y simulación electrónica PROTEUS

PROFESSIONAL versión 7.2 de la compañía LABCENTER ELECTRONICS. Con PROTEUS no

solamente se logra diseñar y simular circuitos electrónicos; también se puede realizar el esquema de

montaje y circuito impreso para hacer la placa que contendrá los elementos electrónicos. El modelo

definitivo del esquema electrónico (figura 4), se realizó sobre una base redonda, al igual que el resto de

la estructura del robot con lo cual se le da ventaja a la hora de girar en atascamientos con obstáculos.

Page 6: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Figura 4 Diagrama del circuito enrutado y modelo en 3D

Pasando este diseño a una placa física de Baquela (Placa para impresión de circuitos), se realiza el

montaje de todos los elementos electrónicos (figura 5).

Figura 5 Placa circuital con los componentes soldados

Page 7: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Se diseña una base (chasis) de acrílico (figura 6), la cual contendrá 2 servo-motores, una rueda loca, 2

sensores CN70 para el escaneo de pistas y un espacio para un set de baterías. Sobre esta base reposara

el resto de la estructura, sensores y placa circuital.

Figura 6 Diagrama de Base principal (chasis) y montaje

Una segunda base de acrílico (figura 7) apoyada sobre la principal contiene 3 sensores medidores de

distancia Sharp. Su disposición permite evitar la distancia muerta que estos sensores poseen en su

medición la cual es aproximadamente de 8cm (figura 8).

Page 8: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Figura 7 Diagrama de la segunda base y los sensores Sharp

Figura 8 Vista de la segunda base, separadores y los sensores Sharp

Sobre la segunda base reposa la placa circuital (figura 9) por medio de 4 separadores a medida y donde

se agrega un casco protector para evitar manipulaciones, quedando la versión final del hardware de

MOBOT completada.

Page 9: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Figura 9 Vistas del casco protector y de MOBOT completado

4.1 Codificador

Para asegurar que MOBOT realice los giros correctamente y tener un poco más de control sobre las

ruedas se implementó un sistema de codificación en función de la lectura de 2 sensores CNY70. Estos

sensores infrarrojos permiten tener una lectura binaria en función de la ausencia o no de un objeto. Su

sensibilidad permite que la variación del color de un objeto claro a uno oscuro cambie la lectura, así

implementando un rayado espaciado entre blanco y negro cierta distancia, haría esta función (figura

10).

Figura 10 Secuencia para decodificar por sensor CNY70

Llevando este rayado a la rueda en un elemento circular de tamaño no mayor a esta y se distribuye de

manera radial uniforme (figura 11). El número de rayos representará la resolución de la lectura. Los

sensores están ubicados lo más cerca posibles del decodificador. El decodificador radial posee 32 rayos

equidistantes 11.8 grados, con lo cual se logra 16 pasos/vuelta. Luego para realizar giros de 90 grados

Page 10: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

en MOBOT se cuenta por software la cantidad de pasos que da cada rueda experimentalmente

(activando los motores hasta que el número de pasos permita el giro deseado).

Figura 11 Disco decodificador binario para las ruedas de MOBOT

5 ALGORITMOS IMPLEMENTADOS

La programación de MOBOT se desarrolla en la exploración de laberintos. La exploración de un

laberinto y su solución es la actividad que realizar MOBOT. Existen muchas técnicas para resolver un

laberinto y estas dependen netamente de las capacidades y limitaciones que posea el robot, ya sea el

número de sensores o el poder de cómputo del microcontrolador así como de toda la estructura en

general. Resolver un laberinto significa no solo conseguir la salida sino que al volver a empezar a

recorrerlo se llegue a esta por el camino aprendido.

Existen varias formas de resolver un laberinto, las cuales se basan fundamentalmente en que el robot

conozca o no el entorno. Si el robot conoce de antemano el laberinto basta con hacer una pequeña

exploración y debería saber su posición, luego llegar a la salida u objetivo por la vía aprendida. Si el

robot no conoce el laberinto, las técnicas se basan en realizar una exploración y encontrar la salida.

Para MOBOT se empleó el método de árboles el cual se basa en el principio de no conocer el laberinto.

5.1 Método de “árboles” para solución de laberinto

La teoría de árboles es un hibrido de seguir la pared derecha y de encontrar la ruta a la salida

aprendiendo el trayecto. Primero se hace una exploración del laberinto con un giro prioritario (como

ejemplo girar a la derecha), hasta encontrar la salida. Paralelo a esto se crea un “árbol” a partir de las

Page 11: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

intersecciones para hallar la salida y así se comienza de nuevo el recorrido con la ruta directa

aprendida (también puede a partir de la salida del laberinto, devolverse hasta el comienzo). Los árboles

son una teoría de organización utilizada para manejar y acceder a un conjunto de datos, que bien se

puede utilizar como algoritmo en la exploración del laberinto. Este planteamiento simula la

conformación de un árbol partiendo de la raíz, pasando por las ramas hasta llegar a las hojas, o un árbol

genealógico donde el primer miembro familiar representa la raíz de todos los descendientes hasta llegar

a la última persona o personas.

Dando una definición más formal al planteamiento, “Un árbol consta de un conjunto finito de

elementos, llamados nodos y un conjunto finito de líneas dirigidas, llamadas ramas, que conectan los

nodos” (Zahonero, 2009). La forma de crearlo es partiendo de un nodo raíz por el cual se van formando

otros nodos “hijos” y sus respectivas conexiones (ver figura 12)

Figura 12 Representación de un árbol

Llevando el concepto a un laberinto, se crea un nodo cuando partimos la exploración y los nodos hijos

se formaran en cada punto donde se deba tomar una decisión (intersección); la interconexión de estos

representara el camino recorrido. Cada nodo debe poseer la información de interconexión con los

demás nodos, ya sea la dirección o coordenadas de orientación así como el nombre que lo identifica,

como en la figura 13 donde se presenta el seudo código generalizado para la creación de un nodo

dependiendo de las posibilidades en la intersección, este guardara en memoria las direcciones así como

el nombre del nodo. Cuando se termine la exploración del laberinto y se consigue la salida, se debe

haber formado un árbol en el programa de MOBOT con los nodos de interconexión que permiten su

recorrido, donde se puede conseguir la ruta entre el nodo de partida y el nodo que representa la salida.

Page 12: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Teniendo el árbol formado, se puede volver a comenzar la exploración del laberinto accediendo a la

información de los nodos y localizando la ruta a la salida.

Figura 13 Seudo código para crear un nodo que guarda las coordenadas de ubicación

No necesariamente se debe recorrer todo el laberinto para formar el árbol, ya que si se establece una

dirección de giro prioritaria en las intersecciones, algunas partes quedarán sin explorar, haciendo más

eficiente el recorrido en cuando a cómputo y tiempo.

Para la aplicación de la técnica de árboles se toma la figura 15 como algoritmo base, este consta del uso

de los motores controlados por 2 sensores CNY70 como seguidor de líneas. Estableciendo como

condición inicial el desplazamiento hacia delante dentro de la pista, a medida que esta cambia los

sensores responden para tomar decisiones básicas como ir a la derecha o izquierda para poder

mantenerse en la pista (figura 14).

Figura 14 Casos para las detecciones de los sensores CNY70 sobre una pista

Page 13: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

La decisiones pueden cambiar dependiendo si la línea que se sigue es negra o blanca junto a la

superficie que la contiene (recordemos que los sensores detectan estas variaciones al enviar un 0 o 1

lógico). Un caso especial se tiene cuando ambos sensores detectan la pista blanca, donde se tiene una

intersección de esta (1 lógico en ambos casos), lo cual entra en la rutina C de la figura 16, donde se

crea un nodo por cada intersección que guarda la información sobre las coordenadas y ubicación de

éste respecto a otros nodos para formar el árbol. Se comienza con un nodo raíz (nodo 0) y a medida que

se avanza se forman los nodos sucesores. La condición inicial de partida establece como coordenada el

norte al frente del robot. Se conserva las mismas condiciones de giro que en la técnica anterior donde la

derecha es prioridad. Para el caso donde se detecta un callejón sin salida, se devuelve explorando el

árbol creado y buscando aquel nodo que permite una segunda alternativa de camino.

Cuando se consigue el nodo salida se entra en el algoritmo D (figura 17) que permite la revisión del

árbol creado. En este se devuelve en los nodos que conectan la salida con el nodo de partida. Aquí se

utiliza de nuevo el seguidor de líneas pero realizando los giros y avances con las condiciones ya

establecidas en los nodos creados. Para esto se crea un bloque (figura 18) donde se asigna las

condiciones de giro y avance ya no controladas por los sensores sino por la información que guarda

cada nodo del árbol (exploración del árbol). Al retornar al nodo 0 se detiene los motores finalizando

todo el algoritmo.

Page 14: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Figura 15 Algoritmo para seguidor de líneas

Page 15: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Figura 16 Rutina para la creación de nodos en intersecciones

Page 16: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Figura 17 Algoritmo D para explorar los nodos del árbol creado

Figura 18 Algoritmo de avance para la asignación del sentido y orientación

Page 17: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

6 PRUEBAS Y RESULTADOS

6.1 LABERINTO

Para construir el laberinto que se empleó en todas las pruebas, se planteó el diseño de la figura 19, el

cual cumple con tener todas las condiciones de cruce; posee el nivel de dificultad para giros continuos

y diferentes rutas sin salida.

Figura 19 Diseño de laberinto planteado

Para la construcción del laberinto se utilizó segmentos de madera MDF adaptados al tamaño del robot

(figura 20), dentro del cual se realizo una pista con la cual se garantiza que MOBOT se mantenga en el

centro y tome las decisiones de giros correctas en cada intersección.

Figura 20 Laberinto propuesto terminado

Page 18: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

6.2 Pruebas de laberinto

Luego de tener el laberinto construido, se programa el código correspondiente al algoritmo del método

de “árboles”. Siguiendo el esquema de la figura 15, el robot comienza la exploración siguiendo la pista,

donde a medida que se consigue una intersección toma una decisión de camino dependiendo de las

opciones presentes. Si existe camino a la derecha, se tomará el giro hacia este como prioridad, seguido

del avance hacia delante y por último el giro a la izquierda. Un callejón sin salida requiere girar 180

grados para continuar explorando. Los números representan para este método las intersecciones por las

que se pasa primero, una flecha anaranjada representa un giro de 180 respecto a la trayectoria que se

traía (figura 21).

Figura 21 Recorrido del laberinto con el método de “árboles”

En esta técnica se recurre al árbol de nodos que se crea en el programa durante el recorrido hasta llegar

a la salida y poder encontrar la ruta entre comienzo y final. En cada intersección de crea un nodo que

guarda la coordenada de ubicación del mismo así como la de los nodos que lo conectan y un nombre

identificador. Cuando se comienza la exploración se toma como punto de referencia de coordenada el

norte que apunta al frente de MOBOT; la primera intersección representara el nodo raíz y a la vez se

crea tantos números de nodos como posibilidades de camino se tenga.

Page 19: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

Al llegar a la salida se culmina la exploración del laberinto y la creación del árbol en el programa.

Ahora se procede a devolverse por el mismo camino revisando el árbol y llegar al comienzo por la ruta

directa (figura 22)

Figura 22 Recorrido del laberinto con el árbol construido

Se comprueba experimentalmente que la aplicación del algoritmo con la técnica de árboles en MOBOT

resuelve satisfactoriamente el laberinto cumpliendo con la ruta de exploración y recorrido del árbol de

la figura 22.

Para ver una prueba de los algoritmos implementados se recomienda visitar los siguientes enlaces

donde se aprecia los videos correspondientes a las pruebas finales con el modelo construido de

MOBOT:

- http://www.youtube.com/watch?v=mFnp0JXZbF8

- http://www.youtube.com/watch?v=uG-81XPv_9M

Page 20: Diseño y construcción de un robot móvil - api.ning.comapi.ning.com/files/YkMGSh34CeERB*41bsb*Kl2HBgk-CwfIhirtfx-WQ98... · Resolver un laberinto significa no solo conseguir la

REFERENCIAS

Angulo J. (2005). Introducción a la robótica. (pp. 1 – 147). Madrid, España: Thomson

Carletti E. (2009). Servos, características básicas. Información consultada en la página web:http://robots-argentina.com.ar/MotorServo_basico.htm. (Enero 2009)

Dunford G. (2002). PAC-MAN (pdf). Información consultada en la página web:www.todorobot.com.ar/proyectos/robot-pacman/robot-pacman.pdf. (Marzo 2009)

Martínez Z. (2001). Programación en C (pp. 408-536). Madrid, España: McGraw-Hill.

MicroCom Solution (2009). Sensores ultrasónicos. Información consultada en la página web:http://www.microcomsolutions.com /productos- /componentes/sensoresultras-onicos/ind ex.html.(Enero 2009)

Pérez C. (2006). Robots de laberinto (pdf). Información consultada en la página web:www.depeca.uah.es/docencia/.../Robots_laberinto_grupo_E.pdf. (Mayo 2009)

Pololu CO. (2008). Tamiya motors and gearboxes. Información consultada en la página web:http://www.pololu.com/catalog/category/34 (Noviembre 2008)

Sánchez A. (2004). Métodos lineales y estimación por mínimos cuadrados. Información consultada enla página web: http://www.- monografias.com/trabajos16/metodos-lineales/metodos-lineales.shtml.(Diciembre 2008)

Shane T (2009). PIC18Fx52 bootloader v1.5. Información tomada de la página web:http://www.microchipc.com/PIC18bootload/. (Enero 2009)

Sharp CO. (2005). Sharp GP2D12 optoelectronic device (pdf). Información consultada en la páginaweb: http://www.alldatasheet.com- /datase tpdf/pdf/84019/SHARP/ GP2D12.html. (Noviembre2008)

The tech trax group (2005 serie). Servo magazines. T & L Publications. (Noviembre 2008)

Ucontrol (2009). Modificación de un servo. Información consultada en la página web:http://www.ucontrol.com.ar/wiki/index.php/Como_trucar_un_servo. (Abril 2009)

UNB (2008). EE4333 Robotics – fall 2008. Información consultada en la pagina web:http://www.ee.unb.ca/Courses/EE4333/CPD/Subsystems/C%20JustinRyan08/calibration. (Abril2009)