sábado, 31 de enero de 2009

El Sensor de Sonido

El sensor de sonido incluido en el kit de Lego Mindstorms NXT es bastante interesante y tiene varias aplicaciones muy padres.


El sensor solo detecta la "cantidad" de sonido y no ningún tipo de tono o modulación, pero aun así hay muchas aplicaciones ingeniosas que se le pueden dar.

Este sensor lee el sonido ambiental y nos regresa una medida de 0 a 100%. Podemos configurarlo para que lea Decibeles o Decibeles Ajustados. En terminos muy simples los decibeles ajustados solo incluye sonidos que el oido humano puede escuchar, al contrario de los decibeles normales que podria incluir frecuencias que no podemos escuchar pero que el sensor de sonido capta.

Poner el sensor de sonido en modo dBA es mas complicado de lo que debería hacer. Lo que tenemos que hacer es conectar una variable lógica puesta en TRUE al conector dBA del bloque del sensor de sonido como se ve en esta pantalla (click para agrandar).


Ambos bloques se sacan de la paleta la "Complete Palette" uno de "Sensor" y el otro de "Data".

Los decibeles se miden en una escala logarítmica medio complicada, por lo cual este sensor por defecto nos regresa, como ya dije, valores entre 0 y 100%. Estos valores corresponden mas o menos a:

  • 4-5% Una casa silenciosa.
  • 5-10% Alguien hablando lejos.
  • 10-30% Es una conversación cerca del sensor o música en un volumen normal.
  • 30-100% Gente gritando o música a volumen alto.

Lo mas fácil para probar que lectura nos da este sensor es conectarlo a algun puerto de nuestro bloque programable y seleccionar la opción de "View" y dentro ya sea "Sound Sensor dB" o "Sound Sensor dBA" esto nos indicara la lectura continua que esta teniendo el sensor.



Calibración

Una cosa importante es calibrar nuestro sensor para que no le afecte mucho el ruido del ambiente. Esto se puede hacer desde el software incluido en el kit (NXT-G) desde el menú de "Tools" hay una opcion de "Calibration" con la cual podemos programar el sonido mínimo y máximo que queremos que nuestro sensor detecte.

Aplicaciones

La aplicación mas sencilla es una que ya viene precargada en el bloque es que los motores conectados al puerto B y C (como en el Tribot) se muevan en linea recta a una velocidad de acuerdo a la cantidad de sonido que escuche. Este programa ya viene precargado en el menu "Try Me" y luego "Try Sound".

Otra idea muy común es hacer que el robot reaccione a comandos de voz cuando escuche sonidos fuertes. Para esto se puede usar el bloque de Wait-> Sound Sensor.

Cosas mas avanzadas incluyen un contador de aplausos y robots que pueden detectar la direccion del sonido usando dos o mas sensores (calculando a cual de los dos sensores le llega primero el sonido).

Una cosa a tener en cuenta y que me di cuenta al estar construyendo un robot que sigue el sonido usando un solo sensor (que se mueve de un lado para otro) es que los motores del kit hacen mucho ruido y muchas veces pueden saturar al sensor, por lo cual es recomendable montar el sensor lo mas alejado de los motores que se pueda.

Otros reportes en internet es que aveces si el sensor no esta en modo dBA el sensor ultrasónico puede interferir con el sensor de sonido así que es algo mas a considerar.


martes, 27 de enero de 2009

Lego Mindstorms NXT 2.0


¡ Paren la prensa ! ¡ Detengan sus compras !

Parece que esta en camino una versión nueva del kit Lego NXT. El modelo 8547. Todavía no hay mucha información pero al parecer mucha de la tecnología robótica de su predecesor permanece. En las fotos podemos ver que el bloque programable no tiene muchos cambios. Vemos los motores muy similares y el familiar sensor ultrasónico.

De las cosas nuevas parece que viene un nuevo sensor de color, probablemente incluya la nueva versión del software NXT-G 2.0. ¡Y el sensor de sonido se va!

La información llega vía The NXT STEP Blog.

Mas información a medida que vaya sabiéndose mas.

UPDATE:

Al parecer este nuevo kit incluye 2 sensores táctiles, uno de colores (que reemplaza al de luz) y el ultrasónico. Por lo cual el de sonido queda fuera, pero aun funcionaria si tienes uno ya que el bloque es el mismo. Otro rumor es que probablemente incluya la nueva versión del software NXT-G 2.0 (solo disponible en la versión para escuelas actualmente).

Mucha gente lo esta llamando un Lego NXT 1.5 ya que no tiene muchos cambios. Solo piezas nuevas, por lo tanto el kit actual sigue siendo valido y muy buena opcion, sobre todo si se empieza a sacar en ofertas interesantes cuando ya este disponible el nuevo.

La fecha de lanzamiento que se esta manejando es a mediados de este 2009.

Aquí se pueden ver mas imágenes y les dejo un vídeo del nuevo modelo clasificador de pelotitas de colores que se puede construir con el nuevo kit:




lunes, 19 de enero de 2009

Ligas - Proyectos para el Mindstorms NXT

Hola, les dejo unas ligas interesantes con proyectos para armar con tu kit Lego Mindstorms NXT.

NXT Programs

Esta liga esta bastante interesante, por medio de fotografías te va indicando los pasos para armar las creaciones del sitio. ¡Muy completo e interesante!


LEGO.com MINDSTORMS NXTLOG

Esta es la comunidad oficial de lego. Podrás encontrar muchos diseños aportados por miembros de la comunidad. Aquí hay de todo, desde los muy malos hasta los extraordinarios. Desafortundamente no todos incluyen programas y/o instrucciones de construcción. Otra cosa muy interesante es que cada cierto tiempo organizan concursos para ver quien construye el mejor robot con un tema en especifico.


Lego Digital Designer

Este es un programa que no puede faltar en tu colección. En NXTLOG veras muchas veces un archivo LDD este es el programa para abrirlo. Te permite crear y ver creaciones de otros en 3D así como las instrucciones de construcción en 3D.

Programando al Tribot

Una vez que ya construimos el Tribot básico el siguiente paso es agregarle los sensores para poder empezar a programarle funciones.

El otro manual que viene con nuestro kit Lego Mindstorms NXT trae, al final, instrucciones para agregarle todos los demás sensores al Tribot.




Igual que el manual de inicio todo es con ilustraciones y no trae ninguna palabra en ningún lenguaje, por lo cual la barrera del idioma no debe ser un impedimento para poderlas seguir.

Después de que le agregamos el primer sensor (El "Bumper" con el sensor táctil) es hora, finalmente, de instalar el Software. Este viene en un CD que esta dentro de una cajita de cartón.



La instalación, para Windows, es muy sencilla y básicamente basta con introducir el CD y darle siguiente a todo hasta que ya tenemos el software instalado. Entonces lo corremos y veremos algo como esto:


Las tres secciones que marco son:

  • 1. Al presionar en la flecha de la sección Getting Started veras un pequeño vídeo con instrucciones sencillas de como utilizar el software.
  • 2. En la parte de Start New Program es donde escribirás el nombre que quieras darle a tu programa y al darle click en Go se abrira la pantalla de programación propiamente.
  • 3. En el robot center se incluyen las instrucciones para construir varios robots (incluido el Tribot) y para su programación. Muy recomendable que hagas los ejercicios que vienen ahí.
Lo que vamos a hacer entonces es introducir un nombre (el que sea) en la sección de Start New Program y presionar Go. Entonces no va a mandar a esta pantalla:


Aquí ya empezamos propiamente a trabajar en nuestro programa y tenemos diversos elementos. El primero (1) es la Paleta de Herramientas. La parte (2) es nuestra área de programa. La 3 las herramientas del bloque y la (4) son las propiedades de las herramientas.

El primer ejercicio que viene en el Robot Center es hacer que tu robot avance hasta que golpee con algo (se recomienda armar la base de pelotita y usar esto, esta viene unas paginas mas adelante) y después que sintió esto hacer que retroceda.

Lo primero que vamos a hacer es agregar el bloque de movimiento en la parte que dice Start. Solo lo arrastramos con el mouse y lo soltamos sobre esta. Nos va a quedar algo como esto:



La parte de abajo nos indica las propiedades del bloque. Ahí viene ya por defecto y le vamos a decir que avance con los motores B y C (la configuración del Tribot) , que avance en linea recta (esto en la parte que dice Steering), la velocidad con la que va a avanzar (75% del poder total de los motores) y que distancia, o tiempo va a avanzar, en este caso va a avanzar de manera ilimitada, hasta que no le digamos otra cosa en el programa.


Después de la paleta de "Wait" (la que es un reloj de arena) vamos a agregar el bloque de "Touch". Esto nos indica que vamos a esperar (mientras el robot sigue moviendose) hasta que el sensor táctil sea presionado (configurado en la parte de abajo).


Finalmente, cuando el el sensor táctil sea presionado pasara al siguiente bloque donde retrocederá 3 rotaciones del motor y a una velocidad del 100%.



¡Ahora si! Podemos subirle nuestro programa al bloque y probarlo.


Para esto prendemos el ladrillo programable y luego lo conectamos a la computadora por medio del cable USB, si es la primera vez que lo hacemos Windows tardara un rato en reconocer y configurar el hardware. Una vez que nos avise que ya todo esta listo presionamos el botón de flecha hacia abajo de las herramientas del bloque y listo, nuestro programa esta en el ladrillo programable.

Después solo nos vamos a "My Files" y luego en "Software Files" debe aparecer nuestro programa, presionamos sobre el con el boton central y luego de nuevo para correrlo y listo. Hemos creado nuestro primer robot que puede interactuar con el ambiente.

El programa lo puedes bajar aqui: Primer Programa de Tribot

Les dejo un par de vídeos y sus programas para que vean lo que se puede hacer, estos los explicare en otra ocasión. Pero los pueden ir bajando y viendo como son:

Robot seguidor de lineas.

Este robot puede seguir la linea negra que viene en el tapete de pruebas que esta incluido en el Kit.

Programa: Seguidor de Lineas.rbt







Robot Agarra Pelotas

Este robot da vueltas sobre si mismo hasta que detecta una pelota con el sensor ultrasónico y entonces la agarra retrocede y se rie.

Programa: AgarraPelotas.rbt



domingo, 11 de enero de 2009

Lego Mindstorms NXT + Bluetooth

El bloque programable del Lego Mindstorms NXT trae soporte para Bluetooth. Por medio de esta tecnología se pueden descargar nuestros programas desde la computadora al bloque sin necesidad de estar conectando y desconectando el cable USB.


Pero otra de las ventajas que nos da esta tecnología es la posibilidad de poder controlar nuestro robot remotamente de manera inalámbrica. Esto nos permite probar la parte mecánica de nuestros robots antes de programarlo para verificar que todas las partes móviles funcionen bien juntas.

También nos convierte nuestras creaciones robóticas en creaciones de radio control con la cual los mas pequeños de la casa se pueden divertir.

Entonces, ¿Qué opciones tenemos para controlar nuestro robot por Bluetooth?

A grandes rasgos tenemos de dos sopas: Controlar el robot desde una computadora con un adaptador Bluetooth o hacerlo desde un celular con soporte de esta tecnología.

Celular

Si lo que quieres es controlar el robot desde tu celular hay un par de aplicaciones. La primera y la oficial de lego es la NXT Mobile Application esta aplicación te permitirá controlar robots como el TriBot. Desafortunadamente tiene soporte limitado para solo algunos tipos de celulares. Que vienen siendo:

Nokia: 6680, 3230
Sony Ericson: W800i, W550i, K610i, K800i, K750i, Z710i, Z550i, K510i
BenQ-Siemens: CX75, X75


Como puedes ver no hay mucha variedad de teléfonos. Yo trate de hacerla funcionar en un Nokia 5300 sin éxito. Intente con la versión para el 6680 y para el 3230 y ambas me daban un error de memoria.

Pero no te preocupes, hay otra aplicación que puedes usar es FunkNXT, esta aplicación en teoría funciona con cualquier teléfono que pueda ejecutar aplicaciones de Java (compatible con MIDP 2.0). Yo la probé con un Nokia 5300 y un LG MG810 (El chocolate de almeja) y funcionó solo en el Nokia. En el Nokia se comporto muy bien, permitiendome controlar todos los motores y dandome la lectura de los sensores en todo momento.







Computadora

También podemos controlar nuestros robots desde la computadora para esto necesitamos que nuestra computadora ya traiga soporte para Bluetooth (hay algunas laptops que ya lo tienen).

Si tu computadora como la mia no traé este soporte necesitamos un adaptador USB a Bluetooth. Estos los puedes comprar en cualquier tienda de computación, incluso en linea. En México se encuentra en tiendas como Office Depot, PC Domino o PC en Linea, donde los puedes encontrar hasta por $200 pesos.


Una vez que tengas el adaptador tenemos que asociarnos con el bloque, para eso tenemos que activar el soporte de Bluetooth de este. En el menú principal del bloque programable tenemos que irnos a Bluetooth y encenderlo, ademas de también poner la opción de visibilidad en On.

Después en nuestra computadora haces una búsqueda de los dispositivos Bluetooth disponibles y nos conectamos a este. Probablemente nos va a dar unos números llamados PIN que tendremos que poner en el bloque (este nos los pedirá automáticamente) para que podamos terminar la conneción. Procura introducirlos rápido en el NXT por que luego hace timeout y tienes que empezar de nuevo. Una vez echo esto ya podemos utilizar una de las varias aplicaciones para controlar al NXT remotamente.

Una aplicación especialmente diseñada para controlar al Tribot (o diseños similares) es NXT Vehicle Remote se puede controlar usando el mouse y el teclado, es gratis y no requiere instalación y ha mi me funciono muy bien.



Eso es todo, no se te olvide que una vez que configuraste el Bluetooth ya también puedes usarlo para subirle los programas a tu NXT. Tampoco se te olvide que si no vas a usar el esta funcionalidad apagarla en la configuracion por que con Bluetooth activado el bloque gasta muchas mas baterias.

Por ultimo les dejo una liga con mas informacion de software de control remoto (la segunda tabla) para el bloque. Aquí solo hablé de lo que yo probé personalmente, pero existen mas opciones para Palms, PDAs con Windows Mobile y mas opciones para computadoras.

Estoy todo por hoy ¡ Happy Bluetoothing!

viernes, 2 de enero de 2009

Como organizar las piezas de tu NXT

Despues de contruir el TriBot uno de los primeros problemas que nos topamos es que el kit trae muchas piezas chiquitas (mas de 500 de hecho) y las probabilidades de que se me empezaran a perder abajo del sillón y/o fueran pisadas por mi novia y sus sobrinas eran muy altas.

Las piezas dentro de la caja del kit vienen en unas bolsas plásticas que después de abiertas no sirven mucho para contener las piezas adentro y no son muy recomendables para mantener tus elementos.


Siendo que el kit está muy caro y no quería perder mis piezas mi novia y yo empezamos a buscar alternativas para organizar las piezas de tal manera que no se perdieran y fueran fácilmente accesibles a la hora de estar construyendo otros robots.

Nuestra primera idea fue ponerlas en bolsas ziploc (de esas que traen una bandita plástica para abrirlas y sellarlas nuevamente). La desventaja de esta idea fue que tener muchas bolsas para cada tipo de elemento es complicado por que son muchos. Y si empiezas a meter todo en dos o tres bolsitas se vuelve incomodo a la hora de estar construyendo algo ya que todas las piezas están juntas.

La segunda idea y la que tenemos implementada actualmente fue comprar un separador plástico con varios compartimentos para poder separar cada pieza por tipo y poder tomar cada una fácilmente. Si vas a comprar un separador de estos fíjate que:

  1. Tenga bastantes compartimentos (mínimo unos 35)
  2. Tenga un espacio grande para el Bloque Programable.

Los elementos mas difíciles de acomodar son sin duda:
  1. El bloque programable.
  2. Los motores.
  3. Los sensores.
  4. Las pelotas.
  5. Las llantas.
  6. Dos engranes que vienen juntos uno adentro de otro (turntable gear).


Específicamente compramos un organizador Plano 5231 que en un Home Depot de Monterrey (México) nos salió en $159 Pesos. Tiene dos compartimientos, uno arriba donde se acomodamos las piezas mas pequeñas y otro abajo donde pusimos las mas grandes. Este sirvió muy bien para acomodar todas las piezas del kit y tiene la ventaja de ser fácilmente transportable (siempre estoy llevando mi kit a la casa de mi novia).

(Nota: en esta foto no está todas las piezas por
que tenemos el TriBot armado actualmente)

Lo único que después no nos gusto es que no tiene espacio (¡obviamente!) para guardar las creaciones ya terminadas. Para esto necesitarías una caja de herramientas de las que incluyen organizadores lo cual fué una opción que consideramos pero el tamaño era muy grande.

Al momento de estar separando todos los elementos te sirve para familiarizarte con todas las piezas que tienes, e irle poniendo tus propios nombres (palitos, monitos, niños, palitos dobles, etc.), despues haré un post con los nombres oficiales de las piezas que tambien es bueno saberlos, aun cuando los que nosotros inventemos sean mas divertidos :-).