domingo, 8 de enero de 2017

Lego Designer

==================================================================
LEGO DIGITAL DESIGNER
 ==================================================================
Este software nos permite armar nuestro Lego de forma virtual, cuenta con casi todas las versiones de Lego.


En esta imagen podemos ver los distintos modelos de lego que hay.
el cuadro emergente, es donde se filtra la busqueda de las piezas.

El panel 1: es donde hay opciones de guardado, retroceder, avanzar, editar, herramientas, etc.

El panel 2: es el que nos permite mover las piezas, rotarlas, clonarlas, pintarlas, esconder detalles, etc.

El panel 3: tambien el lego designer nos da la opcion de tomar Screenshoots del robot, ponerle fondo, y hasta una building guide, que es la guia de construccion virtual del robot que se diseño, ademas de generar en un archivo HTML, la guia paso a paso de construccion del lego.





Fondo
Building Guide
El panel 4: es donde se filtra la busqueda de las piezas para los distintos modelos que posee.

El panel 5: es de donde sacaremos las piezas para unirlas y armar nuestro robot, se puede buscar por su nombre, o desplegandolas al darle click en el '+' de cada bloque.

Hay muchas mas opciones para realizar nuestro robot virtual, para ello hay que interactuar con este software y aprender todas sus utilidades.

Nos ayuda a generar guias de armado para la construccion a mano de los modelos que se diseñen.
=============================================
=====================
Mi Robot
 ==================================================================
Screenshot:


Este modelo lo cree teniendo la idea de un escorpion, pues le hice una cola que se mueve fantasticamente con un motor, el robot puede programarse para imitar a un escorpion, el motor trasero estara activado girando en sentido horario con una potencia baja, el escorpion va a moverse con tranquilidad por el campo, gracias a su sensor de ultrasonido incorporado, tiene un sensor de color incorporado en la parte inferior, para seguir una linea de color, o simplemente tomar acciones de detener o avanzar si alcanza a detectar un color segun el programador, si se activa uno de sus touch sensores, entonces el escorpion empezara a movilizarse aleatoriamente por unos segundos, aumentando al 100% sus motores, haciendo girar su cola atractivamente y emitiendo sonidos.

Este robot pues es muy divertido para los mas pequeños, desde el armado, hasta su programacion, puede simular a un escorpion, puede ser un modelo muy atractivo para los mas pequeños e insentivarlos a la construccion de mas modelos.

Adrian Alex Paria Quispe      2016-119061















 

domingo, 11 de diciembre de 2016

MorphBot

Fecha de la Clase: Lunes 21 de Noviembre 2016

Trabajos en Clase:


-Armado del Robot Lego MindStorm (NXT) Versión MorphBot.
-Usaremos Touch Sensor, Color Sensor, Sensor de UltraSonido.
-Desarrollo de las Actividades.

========================================

Armado del Robot Lego MindStorm (NXT)(MorphBot):

Armado del Robot (MorphBot):

Armaremos el robot Sorter Bot, según la guia de ayuda que se dio en clase.

Foto del MorphBot

Este robot esta equipado con:
-Color Sensor (1 unidad).
-Touch Sensor (2 unidades).
-Sensor de UltraSonido (1 unidad).

Armaremos el MorphBot, empezando con la base con la que se va a desplazar, tomamos los tres motores para que el robot se desplaze libremente.


Colocamos los cables en cada motor y lo colocamos de manera conveniente para el programa:
Izquierda: Puerto A.
Derecha: Puerto C.
Medio: Puerto B.



Armaremos un mecanismo de soporte para los Touch Sensor y el Color Sensor.


Luego le añadimos el Sensor de UltraSonido para que el robot tome acciones si detecta un objeto cercano.


Colocamos todas las piezas de forma adecuada verificando que nada obstruya al robot cuando funcione.


Finalmente el MorphBot fue armado con éxito:


Para ver mejor los Acabados del Robot lo mostramos en un video:



====================================================

Desarrollo del Programa en el Software Lego MindStorm (NXT):

Objetivo: Seguir una determinada orden según el color que detecte:

Rojo: MorphBot se detiene.
Verde: MorphBot avanza, si detecta un objeto, girar hacia un lado.
Azul: MorphBot se Transforma.
Amarillo: MorphBot Baila.
Sensor de Contacto 1: Gira a un lado.
Sensor de Contacto 2: Gira al lado contrario.

Para esta actividad se uso MultiProgramacion, donde interactuan varios procesos, no necesariamente al mismo tiempo.
  • Screenshot del Programa (Sorter Bot):


  • Explicación de lo Programado (MorphBot) (Proceso 1,2,3,4):

Para cada uno de estos proceso se utilizo una
misma forma de programarlo:

Rojo: Variable (Number) = 1

Verde: Variable (Number) = 2

Azul: Variable (Number) = 3

Amarillo: Variable (Number) = 4

  • Explicación de lo Programado (MorphBot) (Proceso 5):
Todos los pasos siguientes están dentro de un loop que repetira los pasos (Ilimitadamente).

Paso 1: Esperar hasta que se detecte un color excepto el Blanco y el Negro:


Paso 2: Mover ilimitadamente hacia adelante Motor A y C (Forever).
Pase 3: Se Observa la Variable Number conectado a un Switch del tipo Value:


Esta Variable tiene un parámetro de llegada, el cual recibe y lee el valor que se le asigna a la Variable Number.

Paso 4: Se observa un Switch del tipo Value con cuatro opciones:


La variable Number leerá el numero que se escribirá al detectarse un color determinado.

si (Variable "Number" = 1)
{     
      Emitir Sonido "Good Bye".
      Detener motores A y C.
      Esperar con un Wait Block (3 segundos).
}
si (Variable "Number" = 2)
{     
      Detener Motores A,B y C.
      Girar el motor B (60 Degrees)
      para levantar el Sensor de UltraSonido.
      Avanzar (Motor A y C).


      Switch con Sensor de UltraSonido, verificara si hay un objeto (<30 centímetros) si lo hay, girar a la derecha (      segundos).
      Girara el motor B para que el Sensor de UltraSonido regrese a su posición inicial (60 Degress).
      Seguidamente avanzará (Motor A y C).
}

si (Variable "Number" = 3) 
{
       
        Detener Motores A,B y C.
        Girar el motor B (180 Degrees).
        Girar el motor B sentido contrario (180 Degrees).
        se hace estos pasos para que el robot logre levantarse por       completo.

}
si (Variable "Number" = 4)
{
        Detener Motores A,B y C.
        Activaremos el Motor C (2 segundos).
        para que el robot gire hacia la derecha.     
       
 Activaremos el Motor A (4 segundos).
        para que el robot gire hacia la izquierda.
        Girar el Motor B (120 Degrees).
        para que el robot se levante.
        Activaremos el Motor A (8 segundos).
        para que el robot gire hacia la izquierda.
       
Girar el Motor B sentido contrario (120 Degrees).
        para que el robot baje a su posición inicial.
}
  • Explicación de lo Programado (MorphBot) (Proceso 6):
Todos los pasos siguientes están dentro de un loop que repetirá los pasos (Ilimitadamente).



si (Touch Sensor es presionado "Puerto 1")
{   
      Detener los Motores A,B y C.
      Girar hacia la Derecha (4 segundos).
}
si (Touch Sensor es presionado "Puerto 2")
{   
      Detener los Motores A,B y C.
      Girar hacia la Izquierda (8 segundos).
}

====================================================
  • Aquí un Video del Programa Ejecutándose (MorphBot):




Conclusiones:

-El MorphBot depende mucho de los colores que logre detectar, pues todas las acciones que tome, iniciar solo si detecta un color, o si sus Touch Sensor son presionados.
-Necesitamos buena batería para hacer funcionar este robot.
-Hicimos tarjetas de color Rojo, Verde, Azul y Amarillo (8cm x 5cm) para realizar las distintas funciones que se ve en el video.



Adrian Alex Paria Quispe                        2016-119061

domingo, 4 de diciembre de 2016

Sorter Bot

Fecha de la Clase: Lunes 21 de Noviembre 2016

Trabajos en Clase:


-Armado del Robot Lego MindStorm (NXT) Versión Sorter Bot .
-Usaremos Touch Sensor y Color Sensor.
-Desarrollo de las Actividades.

========================================

Armado del Robot Lego MindStorm (NXT)(Sorter Bot):

Armado del Robot (Sorter Bot):

Armaremos el robot Sorter Bot, según la guia de ayuda que se dio en clase.


Foto de la guía de armado Sorter Bot

Este robot esta equipado con:
-Color Sensor (1 unidad).
-Touch Sensor (2 unidades).

Utilizaremos 2 Touch Sensor y un Color Sensor para que el robot cumpla nuestro objetivo.


Armaremos el mecanismo que viene en la guia para el primer Touch Sensor, que se encargara de dar la orden de cuando las esferas de colores deben bajar.


Luego para el segundo Touch Sensor, el cual permitira mover y reestablecer el giro de el Sorter Bot, le añadimos los motores para controlar los giros.



Terminaremos de armar el robot colocando cada pieza con cuidado y verificando que todas las funciones que tomara el Sorter Bot, las haga con normalidad y sin dificultad.



Como se ve en la foto el armado del robot fue un éxito, todos los cables fueron conectados donde es mas oportuno para el programador y para el propio robot.

Para ver mejor que el armado en clase fue un éxito, lo veremos en video.
Sorter Bot:




====================================================

Desarrollo del Programa en el Software Lego MindStorm (NXT):

Objetivo: Las esferas serán cargadas en orden aleatorio, el robot con este programa debe ordenar cada esfera y colocarla según su color en un determinado lugar.

En esta actividad tuvimos que pensar bastante, pues para colocar las esferas según su color tuvimos que crear varios mecanismos para alcanzar este objetivo.
  • Screenshot del Programa (Sorter Bot):



  • Explicación de lo Programado (Mantys 5)(Proceso 1):
Paso 1: Todos los pasos de este programa estarán dentro de un Loop (Forever).
Paso 2: Moveremos el Motor C que se encargara de regular los espacios en donde se colocara las esferas de colores (Forever).
Paso 3: Hasta que, gracias al mecanismo armado, se active el Touch Sensor (Puerto 2).


Paso 4: Luego haremos que el Motor solo gire 60º para que vuelva a su estado inicial (Motor C).


con estos pasos se lograra que el Motor C este en su posición inicial cada vez que se repita el programa.

Paso 5: Seguidamente haremos que gire el Motor B (Forever).
Paso 6: Hasta que el Touch Sensor sea presionado y despulsado (Puerto 1).


Paso 7: Al ser activado el Touch Sensor, se dará pase al bloque que detendrá al Motor B.
Paso 8: Luego se observa varios Switch con Color Sensor:

Para explicar mejor este paso, lo pondremos en un algoritmo:

si (Esfera = Azul)
{

      
      Emitir Sonido "Blue".
      Bajara la esfera en el espacio de las esferas Azules ().
}
else
{
     si (Esfera = Amarillo)
     {


            Emitir Sonido "Yellow".
            Se Moverá el Motor C para que la esfera caiga en el espacio de esferas Amarillas (90º).
     }
     else
     {
            si (Esfera = Rojo)
            {
                 

                   Emitir Sonido "Red".
                   Mover al Motor C para alojar a la esfera en el espacio de esferas Rojas (180º)
            }
            else
            {
                  si (Esfera = Verde)
                  {
                        

                        Emitir Sonido "Green".
                        Girar el Motor C para dar lugar en el espacio de esferas Verdes (270º)                 
                  }
                  else //En caso de que no se detecte la esfera. 
                 {
                        

                        Emitir Sonido "Try Again".
                  }
            }
      }
 }
Paso 9: En cada uno de los Switch hay un Motor Block B (360º) el cual hará que el soporte de las esferas desordenadas, vuelva a su posición inicial.


Paso 10: Finalmente hay un Stop, que detendrá al Motor B finalizando los 360º.

Este programa nos ayudara a Ordenar las esferas que están colocadas aleatoriamente en la parte superior del Sorter Bot, gracias al Color Sensor y Touch Sensor se pudo lograr nuestro Objetivo.

====================================================
  • Aquí un Video del Programa Ejecutándose (Mantys 5):




Conclusiones:

-En este programa se tuvo analizar y pensar bastante, para con exactitud saber en cuantos grados debe girar, donde sera posición inicial, cuando llegara a su posicion inicial, y muchos detalles mas.
-Como se ve en el Video, el robot ordena las esferas, podemos crear un programa para multitud de aplicaciones, cambiando el diseño del robot, y aumentarle la complejidad en el objetivo que se quiera.


Adrian Alex Paria Quispe                        2016-119061

sábado, 26 de noviembre de 2016

Robot Mantis

Fecha de la Clase: Lunes 14 de Noviembre 2016

Trabajos en Clase:


-Armado del Robot Lego MindStorm (NXT) Versión Mantis .
-Usaremos Sensor de Ultrasonido y Touch Sensor.
-Desarrollo de las Actividades.


Armado del Robot Lego MindStorm (NXT)(Mantis):

Armado del Robot (Mantis):

Armaremos el robot versión mantis, tomaremos de referencia la guia de armado de la mantis.

Foto de la guía de armado Mantis

Este robot esta equipado con el Sensor de Ultra Sonido y con el Touch Sensor, armaremos delicadamente cada parte del robot y verificaremos que funcione sin problemas y con total normalidad al momento de caminar.

Una vez terminado de armar un mecanismo con el cual pueda caminar el robot, con ayuda del Touch Sensor, comenzaremos a añadirle el sensor de Ultra Sonido para que nuestra mantis tome distintas acciones al detectar un objeto.


Como se ve en la foto el armado del robot fue un éxito, las piezas encajaban sin problema alguno, una vez terminado el armado, comenzaremos con la programacion de los movimientos que tendrá nuestro robot Mantis.

====================================================

Desarrollo del Programa en el Software Lego MindStorm (NXT):

Para desarrollar esta actividad tuvimos que hacer un programa con dos procedimientos que funcione al mismo tiempo.

Objetivo: Lograr que el Robot Camine sin problemas por un área, para esto tenemos que sincronizar los pies de la mantis con ayuda del Touch Sensor, el otro objetivo es que si detecta un objeto a una distancia determinada girar a un lado cualquiera.

  • Screenshot del Programa (Mantis5):



  • Explicación de lo Programado (Mantys 5)(Proceso 1):
Paso 1: Hay un primer bloque de Variable llamado objeto:


Se guardara en esta Variable, el valor (False) para que mas adelante controle cuanto debe caminar el robot mantis.

Paso 2: Se observa un Bloque Encapsulado llamado Sincronizacion:



Lo que hace este programa es sincronizar los pies del robot mantis para que pueda caminar con normalidad como lo hacen los animales, con estos bloques hará que los pies se encuentren en la posición ideal.

a) Hacer girar los motores A y C hacia adelante (Forever)
b) Hasta que el Touch Sensor sea despulsado (Released):


c) Lo que sigue es detener el proceso anterior.
d) Luego hará girar el motor C ilimitadamente (Forever).
e) Hasta que el Touch Sensor sea Presionado (Pressed):


f) Luego seguirá girando el motor C pero esta ves por (180º).


g) Después girara el motor A ilimitadamente (Forever).
h) Hasta que sea presionado nuevamente el Touch Sensor.
i) Al final un bloque para detener el motor A (Stop).

Una vez terminado la sincronizacion empieza el paso 3.

Paso 3: Después de la sincronizacion haremos que el robot camine, para esto primeramente abrimos un Loop donde estarán todos los pasos (Forever).
Paso 4: Dentro de este Loop encontramos otro Loop (Value):


Esto se encargara de que el robot camine hasta que la Variable objeto tome el valor (True).

Paso 5: Seguidamente se encuentra un Bloque Random:


Este bloque generara números del 0 al 100 como se muestra en la imagen.

Paso 6: Luego encontramos un Bloque de Comparación:


Este bloque se encargara de recibir en el parámetro A el valor que genere el bloque random y verificara si el valor generado es mayor a 35, de ser así, el switch siguiente ira por la rama verdadera, en caso contrario, ira a la rama falsa.

Paso 7: Se observa un Switch del tipo (Logic):


Este switch hará que el robot gire a la derecha o izquierda, dependiendo del valor que tome de la comparación anterior.

Paso 8: En caso de tomar el valor True que recibirá de la comparación, el robot mantis girara hacia la derecha, en caso Falso, girara hacia la izquierda (7 segundos en ambos casos).


Paso 9: La siguiente acción es cambiar la Variable objeto a False para que vuelva a caminar hasta que el otro proceso cambie la variable.


Paso 10: Finalizamos este proceso con el modulo Sincronizacion, para posicionar los pies de la mantis y que vuelva a caminar sin problemas.



Todos estos pasos son parte del primer proceso de lo programado.
Concluido el proceso 1, pasamos al proceso 2.

================================================

  • Screenshot del Programa (Mantys 5)(Proceso 2):

  • Explicación de lo Programado (Mantys 5)(Proceso 2):
Paso 1: Se observa un Loop con Sensor de Ultra Sonido:

Dentro de este Loop se encuentra la función Orejas:


Esta funcion permite que el robot mantis mueva su cabeza 45º hacia arriba y 45º hacia abajo, al estar dentro de este Loop, repetirá esta acción hasta que detecte un objeto a (< 50cm).

Paso 2: Seguidamente hay un bloque que detendrá al motor B con el cual trabaja la función Orejas.
Paso 3: Luego se encuentra la Variable objeto:


Se guardara en la Variable objeto el valor True, para que en el proceso 1 al momento de leer esta variable salga del Loop del cual se encuentra y continué los demás pasos.

Paso 4: Se vuelve a llamar a la función Orejas.
Paso 5: Después encontramos un Loop, el cual contiene un Wait Block y a la Variable objeto:


En este Loop encontramos al Wait Block la cual hara que el robot espere (1 segundo) y esperara a que la variable objeto cambie al valor (False) que recibira del proceso 1:


Al leer el valor (False) hará que salga del Loop y continué el proceso.

Todos estos pasos se encuentran dentro de un Loop que los repetira ilimitadamente.
Con esto se concluye el proceso 2 de lo programado.

  • Aquí un Video del Programa Ejecutándose (Mantys 5):



Conclusiones:

-Para este programa  se uso 2 procesos, cada uno depende del otro.
-Estos 2 procesos no funcionan al mismo tiempo, pero la velocidad del software es tan veloz que pareciera que si funciona al mismo tiempo.
-Para una mejor experiencia se puede reducir o aumentar la potencia de los motores al momento de ser activados.


Adrian Alex Paria Quispe                        2016-119061