Proyecto Tuareg-Explorer Robot explorador VIII Edición de los Premios Jóvenes Investigadores

PROFESOR JOSÉ LUIS ANDRÉS GARCÍA

ALUMNOS LAURA FERNÁNDEZ ARANA MIGUEL GONZÁLEZ GÓMEZ ALFREDO PEÑA ALONSO EDUARDO PEREZ MUÑOZ

ÍNDICE 1. INTRODUCCIÓN 1.1. Lego Mindstorm NXT 1.2. Proyecto Tuareg 1.3. Definición del proyecto 2. OBJETIVOS DEL PROYECTO 2.1. Objetivos Pedagógicos 2.2. Objetivos Científicos 2.3. Objetivos Divulgativos 3. PLANIFICACIÓN 4. EL ROBOT 4.1. Introducción 4.2. Brick o Ladrillo 4.3. Motores 4.4. Sensores 4.5. Cámara 4.6. Carcasa 4.7. Montaje 5. SOFTWARE 6. LA WEB 7. PRESUPUESTO 8. DOCUMENTACIÓN 8.1. Componentes 8.2. Información general 8.3. Direcciones de interés

~1~

1. INTRODUCCIÓN 1.1.

Lego Mindstorm

Lego Mindstorms es un kit de robótica que posee los elementos básicos de esta ciencia, como la interacción de piezas mecánicas y la programación de acciones. La compañía Lego empezó a comercializar este producto en septiembre de 1998. La creación de la línea Mindstorm es fruto de un acuerdo entre Lego y el Massachusetts Institute of Tecnology (MIT), según el cual la empresa de juguetes financiaría al MIT estudios sobre el aprendizaje infantil a cambió de ideas comerciales, reservando todos los derechos a Lego. Una de esas ideas acabó en el desarrollo del Programable Brick (Ladrillo Programable). Las versiones más conocidas de dichos Ladrillos son el RCX y el NXT (utilizado en la realización del proyecto Tuareg). La función principal de los Ladrillos Programables es la de controlar los movimientos de un desmontable Lego, así como recopilar la información de los sensores que posea. También funciona como emisor/receptor con otros dispositivos, como pueda ser un PC que envíe ordenes al robot o reciba los datos que este recoja. Como consecuencia de la aparición de los Mindstorms, distintas compañías fabricantes de sensores han adaptados algunos para que sean compatibles con los productos Lego de esta línea, ampliando la utilidad y funciones de estos robots según su capacidad de recogida de datos.

1.2.

Proyecto Tuareg

En el año escolar 08/09, el IES Comercio, a petición del profesor José Luis Andrés García, adquiere el robot Lego Mindstorm NXT. Su intención: que sus alumnos se interesen por la robótica y su entorno. Tras una experiencia de un grupo de alumnos haciendo moverse a este robot dentro de un perímetro establecido, cuatro jóvenes estudiantes cogen el testigo de sus compañeros, proponiéndose juntar esa experiencia previa y los sensores que ofrece el mercado con un propósito más completo y útil al hombre. La idea inicial era la construcción de un robot equipado con los sensores necesarios para reunir información en entornos donde el ser humano no podría subsistir de forma natural, así como en aquellos entornos donde ese hecho sea una incógnita. Así nace el proyecto Tuareg, cuyo nombre toma prestado de los Targuí (plural de tuareg), ya que al igual que esta ancestral tribu nómada desafía la inclemencias del clima

~2~

desértico, nuestro pequeño amigo mecánico puede adentrarse donde la sustentación de vida es difícil o incluso nula.

1.3.

Definición del proyecto

Encontrada la idea, es el momento de darle forma, de decidir sus funciones y de definir sus objetivos, es decir, de convertir un juguete electrónico en un auténtico proyecto de ciencia. Tras estudiarlo, se define el proyecto tuareg en tres bloques principales: el Robot, el Software y la Web. EL ROBOT: Es la parte del proyecto más física. Sus componentes básicos el ordenador ladrillo y los sensores. Su misión será recibir las órdenes humanas a distancia, recolectar datos del entorno en que se encuentre y enviarlos para su procesamiento y estudio. EL SOFTWARE: Es la parte lógica del proyecto. Aquí el equipo desarrollará los programas necesarios para el manejo remoto del robot, así como las utilidades para gestinar los datos recibidos y la interacción con la web. LA WEB: En este bloque el proyecto se comunica con el exterior, con el mundo, dando a conocer sus hallazgos en Internet y ofreciendo la oportunidad de conocer la opinión exterior sobre el proyecto.

Estos son los Objetivos directos del proyecto Tuareg, los indirectos, aquellos más relacionados con el certamen, la ciencia y el progreso han sido desglosados en otros tres bloques: pedagógicos, científicos y divulgativos. Su contenido viene ampliado en el siguiente apartado.

~3~

2. OBJETIVOS 2.1.

Objetivos Pedagógicos

Motivar el aprendizaje fuera del centro, interesando a los alumnos implicados por contenidos no incluidos en sus planes de estudio. Aprender las bases de la robótica y sus interacciones con la informática. También el lenguaje de Lego para sus robots. Estudiar los lenguajes de programación software y web, así como la relación entre estos y un objeto físico.

2.2.

Objetivos Científicos

Información científica, obtención de datos por medio del robot en magnitudes manejables y útiles para el estudio requerido. Investigación, estudio de la información obtenida par alcanzar conclusiones científicas.

2.3.

Objetivos Divulgativos

Concienciar a la sociedad de la importancia de la robótica en el mundo moderno, ya que queramos o no es una ciencia que ya rodea casi todo lo que conocemos actualmente. Promover la investigación en los jóvenes.- La ciencia avanza, y con ella la educación de la sociedad, un motor de ello es la juventud emprendedora, de modo que es importante instarles a no limitarse a una educación base, a que se planteen retos como el de este proyecto y así ampliar su cultura.

~4~

3. PLANIFICACIÓN

ACTIVIDAD

HORAS

Reuniones de grupo

50

Decisiones de compras

6

Gestión del proyecto

60

Programación software

140

Montaje del robot

20

Programación Web

130

Configuración componentes

15

Actualización Robot

10 TOTAL HORAS

431

1% Reuniones de grupo

4%

15%

Decisiones de compras

2%

27%

Gestión del proyecto Programación software 18%

Montaje del robot Programación Web

4%

Configuración componentes

29%

Actualización Robot

~5~

4. EL ROBOT 4.1.

Introducción

El proyecto está formado esencialmente por un pack de Lego NXT Mindstorms compuesto por un brick (ladrillo), sensores, motores y piezas de lego. Además de este pack se ha comprado una cámara wireless para la toma de imágenes y una carcasa para crear una estructura al robot.

4.2.

Brick o ladrillo

Es un microcontrolador ARM7 de 32 bits que se encarga de procesar todas las entradas y salidas de datos. En él se conectan los sensores hasta un máximo de cuatro, limitado por el número de puertos de salida de datos. Y también los motores hasta un máximo de tres, limitado por los puertos de salida. Además, la conectividad es por cable USB hasta una transferencia de datos de 12Mbits/s o mediante Bluetooth, conectividad que se emplea en este proyecto. Otras características es la inclusión de una pantalla LCD de 100x64 pixels junto con un altacoz de 8kHz. Y en cuanto a la energía emplea 6 pilas 2A dándole un voltaje de 9 voltios.

~6~

4.3.

Motores

Se han montado dos motores para el movimiento del robot. Estos transmiten su fuerza a las ruedas delanteras y las combinaciones de ambos dan lugar al movimiento de avance, retroceso y giros. La rueda trasera, con autonomía de giro de 360º, ha sido montada para conseguir mayor equilibrio del robot en movimiento.

4.4.

Sensores

Sensor de tacto Devuelve un valor booleano según su estado, pulsado o no, siendo este de Verdad o Falso.

Sensor de sonido Devuelve la intensidad del sonido ambiente.

Sensor de distancia Devuelve la distancia en un rango de 0 a 2 metros empleando ultrasonidos, es un sensor que a diferencia del resto es más complejo ya que lleva en su interior un propio microcontrolador.

~7~

Sensor de luz Devuelve la intensidad de la luz ambiente en luminarias.

Otros sensores Otras casas que no son de Lego han creado sensores compatibles con el Brick para añadir nuevas funcionalidades. Algunos ejemplos de estos sensores son los siguientes: 1. 2. 3. 4.

4.5.

Brújula Acelerómetro Sensor CO2 Sensor de temperatura

Cámara

Transmite imágenes mediante tecnología wireless en un rango de 50 metros si no hay interferencias, además, permite cambiar su frecuencia de una manera fácil. Para recibir los datos en el ordenador se emplea una capturadora USB al que se conecta el receptor wireless que viene con la cámara.

~8~

4.6.

Carcasa

Se ha comprado una carcasa de material Lexan (empleada para el montaje en coches de gasolina) debido a su alta resistencia a impactos.

4.7.

Montaje

El montaje del robot se ha realizado en varias etapas, empezando por conseguir los materiales necesarios y concluyendo por su ensamblado. Además, se han tenido que emplear diferentes herramientas para el corte del material (sierra, taladro, etc.) o su soldadura (soldador, estaño, etc.). La parte que más ha costado ha sido el corte de la carcasa ya que es un material muy resistente y los huecos para los sensores tenían que cortarse con precisión para que encajaran correctamente. A continuación se muestran unas imágenes del montaje del robot.

~9~

~ 10 ~

5. SOFTWARE 5.1.

Introducción

La aplicación software en este proyecto será la encargada de transmitir las órdenes al robot, así como de recibir los datos de sus sensores y enviarlos a la web. Para ello crearemos el programa.

El software permite conectar con el robot por medio de bluetooth, mediante un puerto COM. Una vez establecida la conexión, el programa se puede dividir en dos apartados diferentes. El primero permite controlar el robot, a la vez que recibe video desde la cámara incorporada en el robot. El segundo, permite recibir datos, y gestionar las grabaciones almacenadas en la base de datos. En esta sección también se puede visualizar una gráfica con los datos de la grabación en curso.

5.2.

Problemáticas

Al empezar el proyecto, nos decidimos por una serie de librerías para VB.Net 2008 de código libre (bram.fokke). Empezamos a desarrollar el programa basándolo en ellas. Tras ello, averiguamos que estas librerías son muy limitadas, por lo que nos decidimos por desarrollar el protocolo de conexión mediante conexiones por puertos COM. Para desarrollar la conexión, nos basamos en las librerías oficiales proporcionadas por Lego. El grafico mostrado a continuación muestra el diagrama de clases empleado.

~ 11 ~

5.3.

Imágenes de la realización del Software

~ 12 ~

6. LA WEB 6.1.

Introducción

El propósito de la creación de una página web es el acercamiento de la gente al proyecto Tuareg, pudiendo no solo ver desde su casa las misiones realizadas, sino realizar comentarios, participar en el foro, etc.

6.2.

Mapa Web

La página web se puede dividir en diferentes zonas específicas que cubren su misión, son las siguientes: Usuarios: En la página uno se puede registrar para poder participar en el foro, intercambiar mensajes con el resto de usuarios, recibir noticias del proyecto Tuareg, etc. Calendario: Permite ver las fechas de las misiones que se van a realizar. Galerías: Se muestran todas las fotos subidas sobre las misiones u otros proyectos. Además, se guarda las veces que han sido vistas para mostrar las más visitadas. Noticias: La página permite la creación de noticias. Este módulo se emplea para poner pequeños resúmenes de las misiones realizadas, de los sensores añadidos al robot así como sus modificaciones, etc. Datos robot: Es la zona donde se pueden consultar las misiones realizadas y sus

~ 13 ~

grabaciones. Además, se muestran gráficas de los datos y se permiten los comentarios de los usuarios. Foro: Es un foro abierto a diferentes temas, tanto sobre las misiones del robot como temas de informática, electrónica, etc.

6.3

Desarrollo

Se ha empleado el portal XOOPS (Sistema de portal extensible orientado a objetos) escrito en PHP y manejando una conexión con la base de datos en MySQL, además de la gestión de los temas con Smarty. En la parte de desarrollo se ha creado un módulo para aprovechar todas las conexiones de XOOPS dedicando todo el esfuerzo a obtener los datos y visualizarlos a través de plantillas con Smarty. Finalmente se han creado varias pantallas para mostrar los datos que se diferencian básicamente en dos: 1. Cargar misiones: Esta pantalla carga las misiones existentes al abrir la página, y mediante ajax se pueden cargar las grabaciones de cada misión sin tener que recargar la Web. Además, se pueden borrar tanto las misiones como las grabaciones de forma recursiva, es decir, se borran los datos asociados a dichas grabaciones (datos de los sensores, comentarios, capturas, etc.)

~ 14 ~

2. Cargar grabaciones: Esta pantalla carga los datos de una grabación mostrando su descripción, gráfica con los datos tomados, capturas y comentarios.

~ 15 ~

6. PRESUPUESTO

CONCEPTO

ESTABLECIMIENTO

IMPORTE

Adaptador Bluetooth (2)

PC Box

16,09 €

Cámara y adaptador

La tienda del espía

Carcasa plástica

Juguetecas

Dominio

1and1 (Plataforma Web)

5,79 €

Leds

Sel

3,70 €

Pilas 9v

Sel

13,67 €

Pilas AA

Ferretería

36,08 €

Conector pilas 9V

Sel

116,00 € 29,95 €

0,86€ TOTAL

~ 16 ~

222,14 €

8. DOCUMENTACIÓN 8.1. Componentes Librerías para la aplicación software http://lego.fokke.net/ Actualizaciones Software NXT http://mindstorms.lego.com/Support/Updates/

8.2. Información General Información general sobre lego y Mindstorm sacada de http://es.wikipedia.org/ y mindstorms.lego.com/

8.3. Direcciones de interés Aplicaciones y ejemplos en NXT. http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_tutorial.pdf Librería Comunicación Bluetooth para NXC http://daniele.benedettelli.com/BT_NXC.htm Blog con noticias y comentarios sobre robótica recreativa y educativa http://robotikas.blogspot.com/ Página repleta de enlaces interesantes de LEGO y robótica http://robotics.megagiant.com/robotfun.html

~ 17 ~