• No se han encontrado resultados

ÍNDICE 1INTRODUCCIÓN AL ROBOT LEGO-MINDSTORMS NXT CÓMO ACTÚA UN ROBOT?...3 3COMPONENTES DEL LEGO MINDSTORMS NXT Piezas Lego...

N/A
N/A
Protected

Academic year: 2021

Share "ÍNDICE 1INTRODUCCIÓN AL ROBOT LEGO-MINDSTORMS NXT CÓMO ACTÚA UN ROBOT?...3 3COMPONENTES DEL LEGO MINDSTORMS NXT Piezas Lego..."

Copied!
17
0
0

Texto completo

(1)

Í

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

(2)

1

1

INTRODUCCIÓN AL ROBOT LEGO-MINDSTORMS

INTRODUCCIÓN AL ROBOT LEGO-MINDSTORMS

NXT 2.0.

NXT 2.0.

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.

(3)

2

2

¿CÓMO ACTÚA UN ROBOT?

¿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.

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.

Para poder realizar todas estas acciones, el robot necesita unos componentes físicos y unos programas cargados.

GUAU, GUAU

¡!!!

GUAU, GUAU

¡!!!

(4)

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.

(5)

3

3

COMPONENTES DEL LEGO MINDSTORMS NXT 2.0

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.

(6)

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.

(7)

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.

(8)

3.4 Ladrillo NXT

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: Puertos de salida A, B y C. Puertos de entrada 1,2,3 y 4. Puerto USB P a Botones menú

(9)

• 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.

(10)

4

4

LENGUAJE DE PROGRAMACIÓN NXT-G

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 DE INICIO

(11)

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.

1

2

3

(12)

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:

5

(13)

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.

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.

(14)

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

Paleta común

Acciones.

Sensores

Flujo del programa

Datos

(15)

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.

(16)

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.

(17)

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

Referencias

Documento similar

 Conocer en profundidad todas las opciones que ofrece el robot Lego Mindstorms NXT con el firmware LejOS.  Pruebas de velocidad de la comunicación vía Bluetooth entre

En este proyecto se ha propuesto simular un modelo de robot real en el entorno de desarrollo Unity, y de entrenar esta simulación aplicando aprendizaje por refuerzo para que

Para esta proyecto se han desarrollado todos los subsistemas de la arquitectura mediante componente Java Beans y se ha intentado dar a cada uno de los componentes una

frontal, debido al peso de la plancha de metacrilato, he desestimado la idea de que la apertura se efectuase mediante unas bisagras colocadas en uno de los dos

El sensor debe conectarse en el puerto 1 para utilizar este c´ odigo tal y como aqu´ı se ofrece; si bien puede modificarse para utilizar cualquier otro. La escritura de texto

Gran parte de la información básica y características del LEGO Mindstorms NXT y de sus distintos componentes, necesarias para la elaboración de este proyecto, se

La idea inicial era utilizar este sistema PIC-WEB como servidor, para alojar una página web desde la cual poder realizar el control de robot, pero debido a

Esta aplicación permite controlar un robot Lego Mindstorms desde un Smartphone con Android, aportando un módulo de inteligencia mediante la utilización de