domingo, 20 de noviembre de 2016

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 computadorespalmstelé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







No hay comentarios:

Publicar un comentario