Story Transcript
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 ~