grupo zenith Mayo 31, 2009
Posted by robotlego in Laberinto, Uncategorized.add a comment

foto del grupo
Nombre E-mail
Julio Cesar Contreras Arana julio4048@gmail.com
Pedro Antonio Sinay Hernandez antonisina@hotmail.com
Sergio Oswaldo Polanco Valdez spnito_20@hotmail.com
Pablo Estuardo Quiñónez Arias pablo-p@hotmail.es
Oscar René Choc Quán orcq10@gmail.com
Guatemala 30 de mayo 2009
Descripción del proyecto
El proyecto del curso de lenguajes de programación aplicados a la ingeniería eléctrica consistió en la programación del robot de la empresa LEGO Mindstorm NXT para que siga un laberinto y que almacene el camino que recorrió para que no lo recorra de nuevo o lo recorra de nuevo.
El laberinto consta con 8 posibles entradas para el robot y 8 posibles salidas para el robot, el robot debe de seguir el camino del laberinto desde que entre al laberinto hasta que salga.
Solución
Se construyó el laberinto con papel construcción, en fondo se utilizo papel construcción negro, y para los caminos que debe de seguir de color amarillo, donde debía de cruzar se coloco papel aluminio para que detectará los contrastes de luz el sensor de luz, ya que el sensor de luz se puede graduar con cierto porcentaje de luz que refleja cada color.
Se utilizo el software Mindstore NTX, es un programa que trabaja básicamente por bloques, es el software que trae el robot para su programación. En el programa se utilizaron ciclos, switch para el sensor de luz, bloques para mover los motores en ambas direcciones.

Fotografía Laberinto

fotografia del robot
Comentarios
Lo más sencillo del laberinto fue que detectara los distintos tipos de luz y calibrar los motores para que caminara para adelante, lo que nos complico un poco fue la elaboración del laberinto ya que costo deducir que necesitaríamos tres colores para que nos funcionara como debía de recorrer el camino amarillo del laberinto, otra situación que nos hizo que se dificultara el programa era que si el robot lego NTX se saliera del camino y detectara el papel constricción negro debía de regresar para recomponerse para continuar en el camino amarillo
Recomendaciones
Verificar si las baterías están a su máxima carga ya que ni no se tiene por lo menos el 80% de la carga los sensores ya no detecta la misma cantidad de luz reflejada y los motores no se mueven con la misma velocidad.
Tener en cuenta la luz que se encuentra en el ambiente ya que eso podría variar los decibeles de luz que recibe el sensor de luz.
Conclusiones
• Se debe elaborar primero el laberinto para adecuar el programa al laberinto y no el laberinto adecuarlo al programa ya que eso fue uno de los errores que
tuvimos al inicio de la elaboración del proyecto
• El interactuar con un robot nos ha servido ya que es primera vez que programamos un robot, nos ha introducido a la investigación de la mega trónica.
• Si se calibra el sensor de luz en un lugar con bastante luz y luego se desea probar el robot en otro lugar donde haiga menos intensidad de luz entoces
se debe de calibrar de nuevo el sensor de luz.
Hemos publicado nuestro proyecto en un video en www.You-Tube.com
Link video http:// www.youtube.com/watch?v=K8FEDAEGV9Y
Referencias
http://www.serdis.dis.ulpgc.es/~ii-srm/MatDocen/notas_practicas/Prac_1-2/Practica1New.pdf
http://www.lego.itam.mx/misc/manuales/NXT.ppt
http://www.thenxtstep.blogspot.com
http://mindstorms.lego.com/eng/Egypt_dest/default.aspx
http://www.nxtprograms.com/
ELECTROLEGO Mayo 31, 2009
Posted by robotlego in Uncategorized.2 comments

| Juan Luis Vega Stalling | Ing_Vega003@hotmail.com |
|
Carlos Andrés Pérez Noriega |
Andres.thewizard@hotmail.com |
| Benjamín Francisco Arriola Rodas | Benjamin.Arriola@hotmail.com |
| Vandria Eunice Álvarez Álvarez | vandria22@hotmail.com |
| Marco Vinicio Soto Cortez | marquin_14@hotmail.com |
| Jepser Ambrosio | Jepsersr8@hotmail.com |
Guatemala 30 de mayo 2009
Descripción del proyecto
El proyecto es una idea interesante de llevar la clase Lenguajes de Programación Orientados a la Ingeniería Eléctrica a otro nivel, “rompiendo un paradigma” – dice Ing. Gramajo. Pues en vez de estar en un clase teoría y siguiendo esas reglas, se pensó en utilizar la tecnología a fin de aprovechar medios más modernos de aprendizaje. Y es así como se empezó el proyecto donde utilizamos los famosos y conocidos Lego, en su división Mindstorm, que cosiste en piezas de lego modificadas, con sensores (luz, sonido, tacto, ultrasonido) para que nuestro robot interactúe con el medio ambiente y reaccione a ciertas condiciones según lo hemos programado. Nuestro proyecto consiste en 2 cosas en general:
- Hacer que el robot Lego Mindstorm, siga una ruta aleatoria buscando la salida a un laberinto. Que hemos trazado.
- Con el otro robot Lego Mindstorm, tenemos que hacer que siga una ruta distinta al primero, haciendo que llegue, igualmente, a la salida del laberinto.
Solución
En resumidas cuentas hicimos lo siguiente:
Modificamos el laberinto para que las intersecciones de los caminos tuvieran una especie de semicírculo, ya que así el robot tendría menos posibilidades de equivocarse y tomar otro camino.
La pista fue hecha de aluminio ya que tenía un reflectancia >80 y de papel construcción negro el fondo tenía una reflectancia de <45, con esto ya teníamos un margen amplio para poder manipular ambas condiciones en el robot.
Los robots fueron modificados para que utilizaran dos servo-motors para que tuvieran menor peso y se les subió la parte trasera para que no topara la base (el robot original, estaba muy bajo).
Les instalamos sensores de tacto para saber cuándo le robot llega al otro lado.
El sensor de luz verifica el ambiente en todo momento, para tener una especie de reacciones más efectivas.
Fotografía Laberinto

Comentarios
En cuanto al proyecto, pensamos que hubiera sido más educativo el hecho de poder utilizar java en la programación de los robots; que, en un principio hubiera sido un mejor aprovechamiento de tiempo. No importando que no hubiéramos tenido para esas fechas el robot, ya que en ese tiempo se hubiera aprendido en sí java, como base.
Así después el manejo del robot pudo haber sido mejor y los objetivos del proyecto se hubieran cumplido.
Sin embargo ha sido una buena experiencia para todos, nos vimos frente a una programación distinta, ya que era visual y no escrita.
Recomendaciones
Al usar el sensor de luz tenemos dos posibilidades de uso:
- Usar la luz reflectada por el materia que “mira”
- Utilizar la luz infrarroja
Descartamos la idea 2 por que dependemos mucho de la luz de ambiente, por tanto debemos tener una luz que no esté directamente arriba para que el sensor no cree su propia sombra, pero tenemos que elegir un ángulo en el cual no interfería la sombra con la lectura.
Al elegir la primera opción sabemos que es luz reflectada, por tanto; un papel mate no refleja tanto como uno lustre por ejemplo. Utilizamos el papel aluminio (por ser metal refleja casi el 100%) y papel construcción que además es color negro (según una teoría física) absorbe todas las ondas lumínicas.
Los cruces tienen que ser más delgados, para que el robot no siga el camino de enfrente, al igual que las intersecciones tienen que ser menos prolongadas. NO deben de ser cuadradas, ya que eso hace que el movimiento del robot tenga que ser más preciso y el tener un camino mas ancho no ayuda, de hecho todo lo contrario.
Para empezar de mejor manera, es hacerlo con una pista más delgada, y probar primero el programa solo en vueltas y condiciones que se pueden presentar en el laberinto antes de completarlo.
En el programa, va a estar creado con loops y switches, así que no es necesario armar el robot completo.
Utilicen los motores con potencia de +/- 25, así cuando le pongan condicionales, este reaccionará de manera aceptada, con motores muy rápidos los movimientos se entorpecen.
Conclusiones
En cuanto a la programación, sabemos ahora que al crear un buen algoritmo, no dependemos tanto de las condiciones externas, para que el robot se desempeñe como queremos.
Además de eso, la misma lógica que tenemos, puede ser transmitida (en forma de programación) para que el robot que programamos haga lo que nosotros queremos. Es decir que, lo difícil del proyecto no radicaba tanto en tener la idea y proyectarla, sino en saber manejar el programa de bloques, ya que no tuvimos ninguna guía previa para saber manipular más que el conocimiento empírico y tutoriales en la web que nos brindaron soporte.
Pudimos hacer que los robots se comunicaran, sin embargo no encontramos la forma que uno guardara la ruta como tal, ya que no daba vueltas seguidas y no habían indicadores de rotación entre otras cosas.
Pudimos encontrar una manera más práctica de utilizar la programación ya no solo para un software; sino también para la manipulación de un mecanismo por medio de un software.

Link Video
http://www.youtube.com/watch?v=pANK-STNt2g
Referencias
- http://robotlego.wordpress.com/2009/05/31/nxt-mobile-application/
- http://mindstorms.lego.com/eng/Egypt_dest/default.aspx
- http://www.nxtprograms.com/
- http://books.google.com/books?id=sj7Ams_F15sC&printsec=frontcover
- http://books.google.com/books?id=D9Xgyw6_qV8C&printsec=frontcover
|
Juan Luis Vega Stalling |
Ing_Vega003@hotmail.com |
|
Carlos Andrés Pérez Noriega Benjamín Francisco Arriola Rodas |
Andres.thewizard@hotmail.com Benjamin.Arriola@hotmail.com |
|
Vandria Eunice Álvarez Álvarez |
vandria22@hotmail.com |
|
Marco Vinicio Soto Cortez |
marquin_14@hotmail.com |
|
Jepser Ambrosio |
Jepsersr8@hotmail.com |
NXT MOBILE APPLICATION Mayo 31, 2009
Posted by robotlego in Configuracion, General, Información general, Uncategorized.1 comment so far
Aquí explicaremos como instalar y utilizar el software NXT MOBILE APPLICATION, el cual sirve para controlar tu ROBOT LEGO desde el celular. Este programa es una aplicación que se le instala al celular (la cual esta en java y se instala en el celular como si se estuviera instalando un juego) y permite una comunicación entre el bloque y el celular por medio del bluetooth.
Existen además ciertos requerimientos de sistema para poder lograr la comunicación entre el brick y el celular.
MINDSTORM NXT
El NXT Mobil Application es compatible con bricks NXT con una de las siguientes versiones de software (o superior):
- FW 1.03
- AVR 1.01
- BC4 1.01
CELULAR
El celular debe tener bluetooth y tener la plataforma de Java (JSR-82). Desafortunadamente esta aplicación no se puede correr en cualquier celular con bluetooth, sino solo en muy pocos modelos. Los modelos compatibles son los siguientes:
Nokia
- 6680
- 3230
Sony Ericsson
- W800i
- W550i
- K610i
- K800i
- K750i
- Z710i
- Z550i
- K510i
BenQ-Siemens
- CX75
- S65
Los archivos correspondientes al NXT Mobile application se pueden descargar desde el siguiente link http://mindstorms.lego.com/overview/Mobile%20Application.aspx
Lo primero que se hace al tener el archivo .rar descargado es descomprimirlo; luego se busca la carpeta correspondiente al modelo de tu celular y se envían los archivos “.jar” o “.jad” a tu celular (tal y como lo haces cuando le pasas juegos al cel). Ahora la aplicación esta lista para usarse.
Finalmente hay que correr la aplicación y esperar a que cargue. Cuando este proceso termine, aparecerá la siguiente imagen.

Esta imagen nos recuerda que debemos de tener activado el blotooth del brick y del celular para poder entablar una comunicación, y que es recomendable desactivar la función Sleep en el brick. Presionamos OK y el celular buscara los dispositivos bluetooth a su alcance.

Cuando el celular detecte el brick, lo seleccionamos y esperamos a que establezcan contacto. La primera vez que se hace este procedimiento, se debe establecer una contraseña que debemos introducir tanto en el brick como en el celular (debe de ser la misma en los dos aparatos y de preferencia lo mas fácil posible para que no se nos olvide por cualquier cosa, la contraseña predefinida es 1234 y lo mas recomendable es no cambiarla).
Seguidamente, el celular nos pregunta si queremos permitir o no la conexión y presionamos SI.
Debemos esperar a que reconozca por completo el dispositivo y a que cargue los archivos que se encuentren en el brick. Cuando termina de cargar los archivos nos muestra el menú del programa, el cual es como el siguiente:

En el menú tenemos 4 opciones, las cuales sirven para lo siguiente:
- Info: nos da una descripción sencilla de las funciones que ofrece NXT Mobile Application
- Remote Control: como su nombre lo indica es para utilizar el robot como un dispositivo RC y nos da la opción de controlar el robot como si fuera un carro de control, ofreciendo la opción de ir hacia adelante, hacia atrás y hacia los lados. Además podemos controla los servos por separado (dirección, velocidad, potencia).
- Program Control: esta función sirve para poder correr los programas previamente descargados al brick por medio del celular, es decir que no es necesario usar los botones del brick para que el robot siga las instrucciones del código que hayamos previamente programado.
- Collection Data: En esta opción encontramos los datos que se hayan recolectado como las fotos y los archivos.
BONO
Una vez instalado NXT Mobile Application, podemos hacer que el brick le indique al celular que tome una foto en determinado momento por medio de instrucciones escritas en código.
El truco esta en usar el bloque de SEND MESSAGE, el cual envía un mensaje via bluetooth. Se configuran las casillas Connection, Message (tipo numero) y Mailbox. El numero que debemos mandar es el 1 (uno).

De esta manera, el celular recibirá el mensaje y entenderá que debe tomar una foto.
NOTA: no con todos los celulares es posible capturar fotos. Los celulares con los que se puede utilizar esta opción son los siguientes
- Nokia
- 3230
- Sony Ericsson
- K510i
- K610i
- K750i
- K800i
- Z550i
- BenQ-Siemens
- CX75

Grupo Hp Mayo 30, 2009
Posted by robotlego in Laberinto, Uncategorized.1 comment so far
La realizacin del proyecto estuvo basada en diseños tanto de robots como programacion ya que hay diferentes cosas de hacer lo qeu se pidio, Es increible la cantidad de ideas que se le ocurren a uno y eso en verdad es lo dificil porqeu al ocurrir idea tras ideas tras idea se va haciendo mas grande el proyecto hasta el punto que se quieren mas partes mas robots, esto puede al final ser malo dado qeu son demasiadas ideas que uno quiere meter tanto qeu al final no es posible …
En lo que se considera sencillo podria ser el dibujo del laberinto ado qeu no toma mucho timepo si espacio pero es d emanera rapida de hacer,
Recomendaciones:
Se recomienda calibrar los sensores antes de usarlos para tener un mejor funcionamiento de los mismos
Conclusiones:
Al terminar a practica se concluyo qeu es mejor minimizar y economizar tanto en partes como en tiempo dado qeu al poner tantas ideas juntas se puede hacer bastante dificil logar la correcta comunicacion entre software, maquina.
El link de you tube esta procesando ahoria pero en nomas esteyo lo publico gracasi por la opurtunidad de los robots
Hector
AUTOMATAS – ROBOTLEGO – LABERINTO – USAC Mayo 30, 2009
Posted by robotlego in Uncategorized.add a comment
El curso de lenguajes de programacion aplicados a la ingenieria electrica tuvimos el privilegio de adquirir el lego NXT para la escuela de mecanica electrica, con la ayuda de los compañeros y la idea del ingeniero Javier Gramajo.
Como proyecto final se programo el robot lego para que recorriera un laberinto de cuatro entradas y cuatro salidas. Se coloca al robot en una entrada este recorre el laberinto y al llegar a la salida, gira para regresar por la misma ruta que ya habia recorrido.
Para realizar dicho recorrido se utilizo la programacion en bloque del programa lego mindstorm NXT, para esto se crearon bloques personalizados: giro a la derecha, giro a la izquierda, vueltas, sensores que reconocian los colores negro, plateado, amarillo. Se integraron estos bloques en ciclos o loop como los llama el programa, para condicionar se utilizo swith utilizado sensores para activarlos.
Al tener estos loop y swicht se crearon nuevos bloques, para por ultimo solo programar un loop con un bloque personalizado.
RECOMENDACIONES
carnet 200818929
Tener conocimientos basicos de la programacion en bloque.
Hacer las lineas del laberinto a manera que no retenga las llantas del robot.
calibrar bien el sensor de Luz.
Utilizar la cantidad menor de colores para no complicar el programa.
utilizar los loop y swicht para ahorrar espacion en la memoria del robot.
Considerar que la potencia de los motores dependen de la carga de la bateria por tanto hay que tener las baterias a una misma potencia.
considerar que los grados y rotaciones son de los motores, al colocar las llantas serian las de esta, Por ejemplo al poner 1 rotacion, la llanta gira una vuelta completa, 360 seria igual a una rotacion de la llanta. para hacer giro detener un motor y girar el otro.
CONCLUSIONES, Carnet 200819329
La programacion en bloque es muy limitada en cuanto a poder tener un control estricto sobre el programa.
al crear nuestros propios bloques podemos facilitarno la tarea de crear grandes secuencias de programacion.
conclucion :200630638
la programacion en el robot es muy interesante ya que se aprende a utilizar comandos por medio de bloques, el uso de variables para programar los colores en el uso del laberinto.
en la estructura del robot se pueden hacer varias formas desde un escorpion hasta un robot humanoide.
Conclusiones: 2004 13151
Siendo uno de los primeros cursos en donde se experimento con estos robots, se puede decir que existieron una serie de limitantes pero que no tienen nada que ver en si con el dispositivo, mas bien con la poca experiencia que tenemos nosotros en el manejo de este tipo de dispositivos, la limitante del tiempo es un factor importante asi como de la falta de recursos, es decir, la disponibilidad de los robots para poder experimentar.
Al final del proyecto se obtuvieron resultados satisfactorios apesar de lo mencionado anteriormente, gracias a las herramientas poco complejas con las que cuenta el robot, dando la posibilidad de aplicar el ingenio para armar lo que se nos ocurra, asi tambien el entorno de programacion con la que cuenta siendo esta muy amigable y de facil de aprender, algo que de cierta manera implica una desventaja pues su manipulacion queda muy limitada pero que
- laberinto y robot lego
- grupo automatas
apesar de esto es posible lograr una infinidad de aplicaciones.
Yo recomendaria para futuros proyectos, que a los estudiantes se les permita realizar practicas con estos robots y asi familiarizarlos con estos dispositivos. He incentivar y motivar a los estudiantes para que se entusismen para trabajar con los robots
video del proyecto en
Grupo Cibertron Laberinto Mayo 28, 2009
Posted by robotlego in Uncategorized.3 comments
LABERINTO CON ROBOT LEGO NXT
El proyecto consiste en enviar al robot lego NXT a través de un laberinto con 16 entradas y 16 salidas.
Se debe de cumplir que el robot no recorra una misma trayectoria, esto quiere decir que si el NXT es colocado en una de las entradas y termina su recorrido por una de las salidas, al volverlo a colocar en la misma entrada, éste no debe terminar en la misma salida.
Para conseguir esto se tendría que almacenar en memoria las trayectorias posibles que se pueden obtener de una misma situación, pero en estas condiciones se tiene el inconveniente de la poca capacidad de memoria que posee el robot lego NXT.
Una solución parcial –por la que nosotros optamos- es generar un número aleatorio –cero ó uno- con el cual el robot elegirá si cruzar a la izquierda ó hacerlo hacia la derecha y así evitar que se repita la trayectoria.
Con esta alternativa únicamente podemos jugar con las estadísticas y no tenemos la certeza de que no seguirá el mismo camino dos veces seguidas.
Para determinar la probabilidad de que el robot siga un determinado trayecto, por ejemplo el mostrado en negrilla a continuación:
Observamos que para este caso particular -y también para cualquier otro- para llegar al medio del laberinto desde la entrada se tiene solamente un camino posible –un único camino para cada uno de los posibles casos-, por lo que el NXT siempre seguirá la misma trayectoria hasta llegar al medio del laberinto para una misma entrada. Por lo tanto para calcular la probabilidad de que el NXT siga un trayecto completo determinado se tomará en cuenta únicamente el lado derecho del laberinto. Observamos que en la mitad derecha del laberinto, para llegar a una de las salidas existen cuatro puntos de decisión, por lo que la probabilidad de que el robot siga uno de los dos caminos posibles en cada uno de los puntos de decisión es de 1/2. Con lo cual calculamos la probabilidad de que el robot siga la trayectoria en negrilla:
Lo cual determina que la probabilidad de que el NXT siga un determinado camino es de 6.25%.
Así por ejemplo si colocáramos al robot en el laberinto y este realizara el recorrido en negrilla, la probabilidad que al volver a colocar el robot en la misma entrada y este siguiera el mismo camino es de 1/16 o 6.25%.
Para montar el laberinto tomamos en cuenta las experiencias que han tenido otros grupos de semestres anteriores en proyectos similares, en cuanto a que sensor utilizar y la mejor manera de construir el laberinto, si era conveniente que tuviera paredes o no, cual forma utilizar para los caminos, si era mejor que fueran curvos ó con ángulos de 90°, etcétera.
Usamos el sensor de luz para seguir los caminos que serían de color negro sobre un fondo blanco. Después pensamos en que lenguaje hacer el programa, solo teníamos dos opciones: Java o Lego Mindstorms NXT. Ninguno de los integrantes del grupo había utilizado ninguno de los dos lenguajes. Sabíamos que Java es más difícil de utilizar, pero se podía programar de mejor manera; estábamos al tanto que el Lego Mindstorms NXT se programa con bloques y contar con poco tiempo nos decidimos por el segundo.
Además tuvimos que determinar si utilizar en las pistas de los caminos nodos –en los puntos de decisión- con papel de otro color como lo han hecho grupos en semestres anteriores. Para las especificaciones del proyecto no nos pareció relevante pues en nuestro diseño, al llegar a un punto de decisión el NXT se saldría de la pista y al buscarla por medio del sensor de luz, al utilizarse la función random en algunas ocasiones buscaría el lado derecho y en otras ocasiones preferiría el izquierdo.
el link del video es: http://www.youtube.com/watch?v=-_HFQcwxPMw&feature=related
RECOMENDACIONES
• Tener calibrado el sensor de luz al ambiente en el cual se trabajará.
• Se deben de tener baterías de repuesto, pues el NXT no responde de la misma manera con baterías nuevas que con baterías con carga baja.
• Trabajar en una superficie plana.
MEJORAS RECOMENDADAS
• Buscar y determinar mejores diseños para el laberinto.
• Utilizar otros sensores, por ejemplo podría usarse el sensor de tacto colocando bordes para los puntos de decisión.
• Encontrar un mejor diseño para el armado del robot Lego.
OPINIÓN PERSONAL DEL PROYECTO
• Aunque es una buena idea el trabajar con los robots, también es cierto que se tienen ciertas limitaciones que se deben tratar de corregir; como por ejemplo el poco tiempo que cada grupo pudo tener el robot para trabajar con el, creo que esto es una limitante considerable para que el proyecto pudiera ser mejor.
Ronald Peren 2001-12958
Edgar Alexander 2002-13037


