1 introducción al robot lego-mindstorms nxt 2.0.

Transcripción

1 introducción al robot lego-mindstorms nxt 2.0.
ÍNDICE
1INTRODUCCIÓN AL ROBOT LEGO-MINDSTORMS NXT 2.0....................................2
2¿CÓMO ACTÚA UN ROBOT? ................................................................................3
3COMPONENTES DEL LEGO MINDSTORMS NXT 2.0..............................................5
3.1Piezas Lego...................................................................................................5
3.2Sensores.......................................................................................................5
3.3Motores y lámparas.......................................................................................6
3.4Ladrillo NXT...................................................................................................8
4LENGUAJE DE PROGRAMACIÓN NXT-G..............................................................10
4.1Requerimientos hardware para la instalación.............................................10
4.2Qué es un lenguaje de programación.........................................................10
4.3El entorno de desarrollo NXT-G..................................................................10
1 INTRODUCCIÓN
NXT 2.0.
AL
ROBOT
LEGO-MINDSTORMS
Lego Mindstorms es una herramienta de robótica educacional, pertenece a la marca
LEGO.
Los orígenes del robot se remontan al año 1998, cuando la compañía LEGO crea un
microcontrolador programable basándose en una idea desarrollada en el MIT, a este
modelo lo llaman RCX, no es hasta el año 2006 cuando se crea el nuevo modelo NXT.
El microcontrolador es fácilmente programable y permite la conexión de sensores y
actuadores, por lo que está especialmente ideado para que los estudiantes realicen sus
primeros proyectos de robótica. La realización de cada proyecto abordará tres fases:

Fase 1: diseño y construcción del robot.
 Fase 2: programación del robot para realizar una tarea concreta.
 Fase 3: prueba y ajuste de los programas realizados.
Para la fase de diseño se pueden utilizar los modelos predeterminados que aporta la
propia marca o bien, idear nuevos modelos. Para la construcción del robot, siguiendo la
filosofía de la marca LEGO, se usarán sus piezas interconectables.
En la fase de programación, existen una gran variedad de formas de programarlo,
desde lenguajes de alto nivel como son Java o C, o bien, el propio lenguaje gráfico
aportado por Lego, NXT-G, donde no se requiere ningún conocimiento previo de
programación.
El objetivo del presente grupo de trabajo es centrarnos en la fase de programación y
prueba, por lo que el diseño del robot será único para todas las prácticas planteadas.
Asimismo, puesto que las actividades están contextualizadas en el currículum del 2º
curso de PCPI de Informática, este hecho condiciona la elección del lenguaje de
programación. Se descartan lenguajes de programación de alto nivel y se decide que el
lenguaje gráfico de Lego es pedagógicamente mucho más adecuado para este perfil de
estudiante.
2
2 ¿CÓMO ACTÚA UN ROBOT?
Podríamos definir que el comportamiento de un robot es el siguiente:
1. El robot recibe estímulos de su entorno.
GUAU, GUAU
¡!!!
2. El robot procesa toda la información que recibe de su entorno y toma decisiones
(dependiendo de para que ha sido programado).
3. El robot responde actuando: moviéndose, emitiendo sonidos...etc.
GUAU, GUAU
¡!!!
Para poder realizar todas estas acciones, el robot necesita unos componentes físicos y
unos programas cargados.
3
Los componentes físicos necesarios son:
• Para percibir estímulos de su entorno utiliza sensores. Por ejemplo: un sensor
de sonido permitirá al robot “oir”.
• Para procesar toda la información y actuar en consecuencia, necesita un
procesador, como si fuese un ordenador.
• Para responder a los estímulos, por ejemplo, moviéndose necesita motores que
muevan las ruedas del robot.
Los programas deben ordenar al robot cómo comportarse o reaccionar ante
determinadas situaciones. Hay que recordar que el robot no es inteligente, no puede
decidir por sí mismo que hacer en cada situación, debe tener un programa diseñado
por un humano que le indique paso a paso lo que debe realizar.
4
3 COMPONENTES DEL LEGO MINDSTORMS NXT 2.0
Los componentes físicos del robot son:
•
Piezas lego
•
Sensores
•
Motores y lámparas
•
Ladrillo NXT
3.1 Piezas Lego
Barras, conectores, engranajes, ejes, ruedas… son las piezas que permitirán ensamblar
los sensores y motores para construir el robot. El kit educativo contiene un total de 431
elementos.
3.2 Sensores
2 SENSORES
TÁCTILES O DE CONTACTO .
El sensor táctil le da al robot el sentido del tacto. Es un interruptor que puede
presionarse y liberarse. Permite saber si el robot ha colisionado con algún objeto.
1 SENSOR
ACÚSTICO .
El sensor acústico detecta sonidos. Es capaz de discriminar tonos. Permite distinguir
patrones de sonidos, por lo que es capaz de reconocer órdenes de personas.
5
1 SENSOR
FOTOSENSIBLE .
El sensor fotosensible permite al robot distinguir entre luminosidad y oscuridad. Mide
las variaciones del nivel de luz y de color en los materiales.
Detecta la intensidad de luz de superficies coloreadas.
1 SENSOR
ULTRASÓNICO .
El sensor ultrasónico permite al robot ver. Utiliza el mismo mecanismo que los
murciélagos, es decir, mide la distancia que hay a un objeto emitiendo un sonido y
midiendo el tiempo que tarda el sonido en ir y volver (como el eco).
Esto le permitirá al robot, reconocer obstáculos, detectar movimiento e inclusive medir
distancias. Es capaz de medir distancias de 0 a 255 cm con una precisión de +/- 3 cm.
Los objetos grandes y con superficie dura son detectados mucho mejor por el sensor,
aquellos que son curvos, delgados o suaves, a veces presentan problemas para ser
detectados.
3.3 Motores y lámparas
3 SERVOMOTORES
INTERACTIVOS .
Los 3 servomotores proporcionan al robot la capacidad de moverse. Los servomotores
disponen de un sensor de rotación integrado, lo que permite que los movimientos sean
muy precisos.
6
Puede medir rotaciones del motor en grados o rotaciones completas, tiene una
desviación de +/- 1º. Por ejemplo, si una rotación del motor son 360º, si se le configura
girar 180º, el motor hará medio giro.
LÁMPARAS.
Son pequeñas bombillas que pueden apagarse y encenderse.
7
3.4 Ladrillo NXT
Puertos de salida A, B y
Pa
C.
Puerto USB
Botones menú
Puertos
de
entrada
1,2,3 y
4.
En el ladrillo NXT reside todo el control del robot, es el cerebro del robot. Dispone de:


Microprocesador ARM-7 de 32 bits, su arquitectura Risc incluye:
•
256 KB de memoria flash (no volátil)
•
64 KB de RAM
•
48 MHz de velocidad
Pantalla LCD de 100x64 pixels en blanco y negro con un área de visión de 26x40.6
mm.

Altavoz para la emisión de sonidos.

7 puertos de entrada/salida con conectores muy similares a los de tipo telefónico.
•
Los puertos de salida son A,B y C, sirven para conectar los motores.
•
Los puertos de entrada son 1,2,3 y 4, sirven para conectar los sensores.

Puerto USB para descargar los programas del ordenadora al ladrillo.

BlueTooth para comunicación inalámbrica.

Fuente de alimentación: batería recargable de litio.

Botones para poder instalar, configurar y ejecutar programas. Las funciones de los
botones son:
8
•
Botón naranja: encendido (ON), confirmar acciones (enter) y comenzar
(start).
•
Flechas de color gris: moverse por los menús.
•
Botón gris: limpiar pantalla (clear) y volver atrás.
La conexión de los motores y sensores al ladrillo NXT se realizará mediante unos cables
proporcionados en el kit de Lego.
Para la descarga de programas desde el pc al ladrillo NXT, usaremos un cable
USB.
9
4 LENGUAJE DE PROGRAMACIÓN NXT-G
4.1 Requerimientos hardware para la instalación
El
software de programación Mindstorms NXT-G, es compatible con las plataformas
Windows y Mac. Los requerimientos mínimos son:
• Para sistemas operativos Windows: Windows XP Professional o Home Edition con
Service Pack 2 o posterior, procesador Intel Pentium 800 Mhz (recomendado 1,5
GHz). Windows Vista Service Pack 1 o posterior, procesador Intel Pentium 1 GHz
(recomendado 1,5 GHz). Unidad de CD-ROM. 512 Mb de RAM. 700 Mb de espacio
libre en disco. Resolución XGA de 1024x768. 1 puerto USB. Opcionalmente
adaptador Bluetooth.
• Para sistemas operativos Mac: Apple MacOS X v10.3.9, v10 o v10.5. Power PC
procesardor G3, G4, G5, 600 MHz mínimo (recomendado 1,3 GHz). Unidad de
DVD. 512 Mb de RAM. 700 Mb de espacio libre en disco. Resolución XGA de
1024x768. 1 puerto USB. Opcionalmente adaptador Bluetooth.
4.2 Qué es un lenguaje de programación
Un lenguaje de programación está formado por un conjunto de símbolos, reglas
sintácticas y semánticas que nos permiten construir programas. Los programas están
compuestos por instrucciones que indicarán las acciones que tiene que llevar a cabo un
ordenador para resolver un problema determinado.
4.3 El entorno de desarrollo NXT-G
Lego Mindstorms NXT incluye un software de desarrollo de tipo gráfico, basado en NI
Labview.
PANTALLA
La siguiente figura muestra la pantalla principal del programa NXT-G.
10
DE INICIO
2
1
3
4
Pantalla de inicio NXT-G
A cada componente del entorno gráfico se le ha asociado un número (véase la figura
anterior):
1. Robot Educator: se trata de un tutorial con videos y diapositivas donde se
explica cómo programar determinadas acciones del robot. Por ejemplo, cómo
hacer un cambio de sentido.
2. Menú y barra de tareas: como en cualquier software las funcionalidades
generales están disponibles a través de su menú y barra de tareas.
3. Comenzar a programar: elegir entre la opción de “Crear un nuevo programa”
o bien “Editar un programa ya existente”.
4. Ayuda técnica.
EDICIÓN
DE UN NUEVO PROGRAMA
Tal y como hemos visto en el apartado anterior, desde la ventana principal del
programa podemos comenzar a crear un nuevo programa o editar uno ya existente.
Para crear un nuevo programa, el primer paso es darle un nombre. El fichero asociado
al programa tendrá la extensión “.rbt”.
En la siguiente figura se muestra la pantalla de edición, a cada componente del entorno
gráfico se le asocia un número.
11
5
6
Edición de un programa
El modo de edición de un nuevo programa nos abre el área de trabajo (5) donde
“dibujaremos” el programa. Además, en la parte izquierda dispondremos de las
paletas de trabajo (6), donde se encuentran todos los bloques básicos de los que
disponemos para programar.
Existen tres tipos de paletas:
• Paleta común: contiene los bloques de programación para crear un programa
básico.
• Paleta completa: contiene todos los bloques de programación existentes en la
herramienta para crear programas complejos.
• Paleta personalizada: permite crear bloques de programación propios que
podrán ser reutilizados en diversos programas.
La siguiente imagen se corresponde con la paleta común, la funcionalidad de los
bloques que contiene son:
12
Realiza el movimiento de los motores.
Graba una acción para posteriormente poder reproducirla.
Reproduce sonidos, un tono o un archivo de sonido.
Visualiza en la pantalla LCD del ladrillo una imagen o texto
Espera hasta que se produzca un evento en un sensor.
Bucle: repetir secuencias de bloques.
Bifurcación: decidir entre ejecutar una secuencia u otra de
bloques.
La siguiente figura muestra la paleta completa. Cada una de sus opciones abre un
menú con distintos bloques de programación. Cada opción de la paleta representa una
funcionalidad concreta.
En las próximas unidades se estudiarán en profundidad.
13
Paleta común
Acciones.
Sensores
Flujo del programa
Datos
Avanzado
Para crear un programa, seguiremos los pasos:
1. Nos posicionamos en la paleta
2. Seleccionaremos el bloque de la paleta de trabajo, lo arrastraremos y lo
soltaremos sobre el área de trabajo.
Dependiendo del bloque de programación que hayamos seleccionado, podremos
realizarle ajustes en el panel de configuración. En la figura siguiente se muestra una
14
imagen del panel de configuración, este se visualiza en la parte inferior de la pantalla
una vez hemos seleccionado un bloque.
Panel de configuración
Los parámetros a configurar son específicos del tipo de bloque seleccionado. En la
figura anterior, se muestra un bloque que sirve para mover los motores, por lo que se
le pueden realizar ajustes como: la dirección de movimiento, el número de rotaciones,
la potencia ..etc.
El programa completo estará formado por varios bloques en secuencia.
Una vez agregados todos los bloques que compondrán el programa, guardaremos
los cambios con el botón Guardar de la barra de herramientas. Para cambiar la carpeta
donde guardar el programa, usaremos el menú Archivo , la opción Guardar como:
El paso siguiente será descargar el programa al ladrillo y probarlo.
DESCARGA
DEL PROGRAMA AL LADRILLO
NXT
Previamente a la descarga debemos conectar obligatoriamente el ladrillo NXT al
ordenador con el cable USB que viene con el kit de Lego.
15
En la parte inferior derecha del área de trabajo, dispondremos de un controlador que
nos permitirá comunicarnos con el robot.
Existen varias formas de transmitir al robot los programas.
El botón Descargar, nos permite copiar el fichero “.rbt” al ladrillo NXT para
posteriormente ejecutarlo.
16
El resto de opciones ,”descargar y ejecutar”, “ejecutar”, “detener” también permite
ejecutar el programa en el robot, pero se desaconsejan para evitar accidentes, ya que
es preferible ejecutar el programa una vez el robot está en el suelo, por tanto una vez
transmitido desconectaremos el cable USB y lo ejecutaremos a través del software
existente en el ladrillo.
El botón ventana NXT permite acceder a la memoria del ladrillo y cambiar el tipo de
conexión así como borrar y renombrar programas.
Otro mecanismo para transferir el programa es vía BlueTooth, para lo cual el ordenador
debe disponer de este dispositivo.
EJECUCIÓN
DEL PROGRAMA EN EL LADRILLO
NXT
Para probar el programa y verificar que realiza la función esperada, colocaremos el
robot en el suelo o en un espacio donde no pueda sufrir daños.
Encendemos el robot presionando el botón naranja del ladrillo NXT y accedemos al
programa siguiendo el menú:
1. My files
2. Software files
3. NXT files
4. Seleccionamos el programa en cuestión
5. Finalmente elegimos la opción Run
17

Documentos relacionados