PRACTICA
DE LABORATORIO (ROBOTICA)Nº 06: “BRICK INTELIGENTE”
I. CONTENIDO
En esta guia de laboratorio
se explicará todos los comandos para utilizar el ladrillo inteligente del NXT
2.0.
II.
OBJETIVOS ESPECIFICOS
·
Conocer la teoria y uso del
ladrillo NXT 2.0.
·
Utilización del multiprogramador
III.
MATERIAL Y EQUIPO
·
01 kit de LEGO Mindstorms NXT 2.0(8547)
·
01 Instructivo de Armado del Robot
Manty
·
01 Computador con NXT-G instalado
IV.
FUNDAMENTO TEORICO
El bloque NXT es
una versión mejorada a partir de Lego Mindstorms RCX, que generalmente se
considera la predecesora y precursora de los bloques programables de Lego.

Debido a la comercialización de los bloque programables,
Lego vendió la generación NXT en dos versiones: Retail Version y Education Base
Set. Una ventaja de la versión Educacional es que se incluía las baterías
recargables y el cargador, pero esta misma versión debía comprar el software
según el tipo de licencia: Personal, Sala de clases, Sitio.
16
Además, Lego dispuso de varios kits para desarrolladores
según las características de los programas que estuvieran desarrollando,
Software Developer Kit (SDK), que incluía los
controladores del puerto de USB, archivos ejecutables y referencia a los
bytecodes.
Hardware Developer Kit (HDK), incluía la documentación
y esquemas para los sensores de NXT.
Bluetooth Developer Kit (BDK), documentos de los
protocolos usados para la comunicación Bluetooth.
Exiten varias versiones Lego Mindstorm NXT : 1.0, 1.1,
2.0 y 2.1
Microcontrolador
El microcontrolador que posee es un
ARM7
de 32
bits,
que incluye 256 Kb de
memoria Flash y 64 Kb de RAM externa, la
cual a diferencia del bloque RCX, posee mayores capacidades de ejecución de
programas, evitando que los procesos inherentes de varios paquetes de datos
colisionen y produzcan errores y un posible error en la ejecución del software.
Su presentación es similar al Hitachi H8 ya que se encuentra en el
circuito
impreso del bloque, junto a la memoria FLASH.
Entradas y salidas
En el bloque de NXT existen cuatro entradas para los
sensores, pero los conectores son distintos de los del RCX, lo que impide la
conexión de sus motores o sensores, sin embargo, el kit de NXT incluye el
adaptador para que los sensores de RCX sean compatibles con NXT.
17
Las salidas de energía aún son tres localizadas en la parte
posterior del bloque, haciendo que la conexión para los motores y partes
móviles sean de más fácil acceso.
Comunicaciones
El bloque de NXT puede comunicarse con el computador
mediante la interfaz de
USB que posee, la cual ya viene en la versión 2.0.
Además, para comunicarse con otros robots en las cercanías posee una interfaz
Bluetooth que
es compatible con al Clase II v 2.0. Esta conectividad con Bluetooth no
tan solo permite conectarse con otros bloques, sino también con
computadores,
palms,
teléfonos móviles, y otros aparatos con esta
interfaz de comunicación.
18
Dentro de las posibilidades de conexión se encuentran
Conectar hasta tres dispositivos distintos,
Buscar y conectarse a otros dispositivos que posean
Bluetooth,
Recordar dispositivos con los cuales se ha conectado
anteriormente para conectarse más rápidamente,
Establecer el bloque NXT como visible o invisible para el
resto de los dispositivos.
Firmware
El
firmware del Lego Mindstorms consta de las instrucciones
básicas que posee el bloque para hacer las distintas tareas que se le pueden
programar en el bloque RCX. El firmware viene en el
CD-ROM que
se adjunta en el empaque original y debe ser cargado todas las veces que el
robot se inicialice o se cambien las baterías y la memoria se borra.
Si no se carga el firmware, el robot queda en modo de
arranque, lo cual hace que se pueda jugar con un programa que viene en forma
nativa dentro del robot. Para cargar el firmware debe ejecutarse el programa
adjunto y luego esperar cerca de 3 minutos para que se cargue completamente el
firmware básico.
Las versiones más
actuales de Lego Mindstorms RCX, como la versión 2.0, es compatible con las
versiones anteriores del bloque, haciendo que los programas escritos en
versiones más nuevas también puedan ser ejecutadas en las generaciones previas.
V.
PROCEDIMIENTO
Visualización
El bloque “Display”, nos
permite visualizar en pantalla texto, imágenes y tambien dibujar nuestros
porpios siseños. Acontinuación veremos el bloque y el panel de configuración
del bloque.
Ø ACTION: Se
puede elegir entre Imagen, texto o
dibujo.
Ø DISPLAY: Nos
indica se deseamos limpiar el display cuando se active el bloque.
Ø FILE: Indicaremos
que imagen de las tantas que hay mostraremos en la pantalla del ladrillo
nxt2.0.
Ø POSITION:
Indicaremos en qué posición queremos que se encuentre nuestra imagen o texto.
CASE
Hasta
ahora, los Switchs nos han permitido elegir entre dos alternativas que es verdad o falso, ahora veremos cómo
configurar los para seleccionar más posibilidades.
Para poder
elegir un número al azar utilizaremos el bloque “RANDOM”, y definiremos el
rango entre 0 y 1 para configurar el Switch, debemos elegir los siguientes
parámetros:
• Control --> Value(Valor)
• Type --> Number(Numerico)
• Display--> Desactivar Flat View( representación plana )
Utilizaremos los signos "+" para agregar y "-" para borrar.
El "*" se ocupa para definir la selección por defecto, es decir que evaluara si el numero no es 0, 1 tomará ese camino.
DATA HUB
Cada bloque tiene un controlador de parámetros que se superponen al panel de la configuración, este controlador de datos(DATA HUB) se expande presionando en la parte inferior de cada bloque. Cada uno de los conectores puede llevar información entre bloques, que puede ser numérica, lógica y de texto.
Para instalar los cables, sólo ponga el cursor en el conector, aparecerá un carrete haga clic en el mouse y vaya al destino del cable y haga nuevamente clic.
El color de los cables determina el tipo de información que viaja por ellos.
VARIABLES
Ocuparemos las variables para almacenar datos y hacer uso de ellos durante el programa.
Para poder definir una variable, tenemos que seleccionar Edit luego Define Variable en la parte superior del programa lego mindstorms NXT, luego le podemos dar un nombre a nuestra variable y definir el tipo de variable ya sea numérica, lógica o de texto.
Luego en el programa o en el panel de configuración debemos definir el valor que va a tomar nuestra variable, esta operación se llama grabar "Write", luego para utilizarla emplearemos un leer "Read"
Panel de configuración del bloque "Variable".
MULTIPROGRAMACIÓN
Algunas veces queremos que el robot realice varias acciones a la vez, para ello lo que tenemos que hacer es posicionar el mouse en cualquier rama (arriba o abajo) y con el botón izquierdo del mouse dibujamos una nueva linea de secuencia.
También es posible generar una viga de secuencia en medio de un programa, en este caso posicione el mouse en el medio de dos bloques y presione la tecla shift , luego jale para el lugar que crea mas conviente realizar una nueva secuencia.
Es importante recalcar que en las dos ramas secuenciales no se puede utilizar los mismos motores ya que puede causar problemas al momento de correr el programa.
MANTY ROBOT
Para la presente sesión, se realizara el armado del robot llamado Manty.
"Manty" es un robot multiprograma, es decir, funcionan dos o más procesos a la vez.
Para la siguiente programación se realizarán los siguientes pasos:
•Crear una secuencia en el cual el robot pueda avanzar hacia adelante.
•Crear un modulo "sincronización"
El modulo sincronización funcionará para que elija al azar por donde ir ya sea derecha o izquierda
•Crear otra secuencia en el que se mueva la cabeza de la mantis y pueda detectar un objeto para haci poder moverse al lado derecho o izquierdo.
Lo que hará este programa es hacer que el robot avance y ala vez mueva su cabeza para poder detectar si hay un objeto al frente de el, y si lo hay que elija al azar por que lugar moverse ya sea derecha o izquierda. Esto se realizará para siempre.
Esto es un video de como tiene que funcionar nuestro programa
CONCLUSIONES
Concluimos que podemos hacer que el robot pueda realizar más de dos acciones a la vez siempre y cuando no se repita con los mismo motores ya que puede ocasionar problemas
BIBLIOGRAFÍA
Ing. Hugo Barraza Vizcarra