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

sábado, 12 de noviembre de 2016

Ponencia Peru SAT:

Organiza: CIIS - Congreso Internacional de Informática y Sistemas.

Lugar: AUDITORIO BIBLIOTECA UNJBG

Tema: Satélite Peruano

Ponente: Ing. Jorge Pacheco Linares Director Técnico de Ciencias y Aplicaciones espaciales de la CONIDA - Comisión Nacional de Investigación y Desarrollo Aeroespacial.

Desarrollo: 

Este satélite peruano fue lanzado al espacio el jueves 15 de septiembre, el nombre del satélite es Perú SAT-1.
Según el Ministerio de Defensa, se trata del más potente equipo satelital de su clase en 
Latinoamérica y el primer satélite de observación submétrico (con resolución de 0.7 metros) de la región. Es decir, puede identificar con precisión objetos con dimensiones menores a un metro, además de vehículos, aeronaves, pistas de vuelo, trochas, viviendas, etc.

El satélite costo 600 millones de soles, hubo criticas y denuncias por este elevado costo, puesto que había satélites con menor precio.
¿Por que se eligió un satélite mas caro?
El Ing. Jorge Pacheco dijo que al Perú se le da lo mejor, y se le esta dando lo mejor con este satélite, satélites de esta generación en toda latinoamerica no hay en ningún país que tiene ese tipo de resolución.
El Ing. Jorge Pacheco explico que por medio de la televisión y los medios de comunicación, los llamaron traidores a la patria a el y a sus colegas por no haber escogido un satélite que querían venderles.


Explico que en los años 2012-2013 se proyectaba un satélite de observación en la tierra  de 2 metros y medio de proyección, iba a costar muy caro, se hizo un análisis y decían, si van a tener un satélite de 2 metros de resolución, que sentido tiene que compremos un satélite con 2 metros y medio de resolución, se hizo una consulta a las instituciones que trabajan con imágenes satélites y el resultado fue que les pedían imágenes submetricas, las instituciones no trabajan con imágenes submetricas, pero las necesitaban.

La explicación es la siguiente, las instituciones se ahogaban en el precio de las imágenes, puso un ejemplo de que el costo de una imagen de 60x60 km (3600km^2) era de 30 mil euros, si querían cubrir esos 3600km^2 con imágenes de 50 cm de resolución (20x20km 400km^2) el costo seria 9 veces el precio. Entonces las instituciones no usaban imágenes submetricas. Al tener un satélite propio, el costo de la imagen se va al suelo, son nuestras imágenes, es nuestro satélite, ya hemos pagado este satélite, solo debemos usar las imágenes, ahora estamos en eso. Dice un dicho: "Lo grande chico se puede hacer, de chico a grande, Imposible".


En esta imagen se observa parte de la infraestructura del Data Center que es el Software y Hardware para el almacenamiento de imágenes del satélite, el cual tiene 80 TeraBytes de espacio de almacenamiento. Solo es una parte puesto a que la otra parte se encuentra en el quinto piso del CONIDA, donde ademas se hace la programacion, monitoreo y la descarga de estas imágenes.



Algunas Imágenes tomadas en la Ponencia CIIS:




El satélite estará orbitando a la tierra a una distancia de 680 km de distancia aproximadamente. Desde esa distancia nos enviará las imágenes que se le solicite cada día con una perfecta visión pancromática a 0.70 m y 2.8 m multiespectral. Sus imágenes serán útiles para múltiples sectores productivos del país como por ejemplo: el sector minero, agrícola, así como para el control de la tala ilegal, narcotráfico, previsión de desastres naturales, deforestación, ubicación de derrames de petróleo, entre otras múltiples aplicaciones para decisiones estratégicas del Estado Peruano.

El satélite PERUSAT-1 orbitará la Tierra enviándonos imágenes como si las observáramos a 70 centímetros de distancia. Tiene un peso de 400 kg y viaja a una velocidad de 7km/s.
Proporciona 300 imágenes por día su tiempo de servicio útil será de 10 años tendrá un ancho de barrido de 14.5 km y su área de cobertura es todo el territorio peruano incluyendo el dominio marítimo, así como otras áreas de interés. Sus beneficios llegarán a campos como la seguridad, defensa nacional, actividades productivas y prevención de desastres.






Adrian Alex Paria Quispe 2016-119061


Sensor de Tacto:

Fecha de la Clase: Lunes 31 de Octubre 2016

Trabajos en Clase:

-Armado del Robot Lego MindStorm (NXT) versión CastorBot-BumperCar-Explorer.
-Touch Sensor.
-Programar el robot explorer con las indicaciones del profesor.


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

Breve Descripción del Touch Sensor:

-El sensor táctil le da a su robot un sentido del tacto.
-El sensor táctil detecta cuando está siendo presionado por algo y cuando es liberado de nuevo.
-Es capaz de detectar las pulsaciones del botón simple o múltiple.
-Es excelente para tomar acciones después de que entra en contacto con algún objeto.

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

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

Nota:
Para llegar al modelo EXPLORER necesitamos armar al robot en la versión Castor-Bot y Bumper-Car.

Armado del Robot (Castor-Bot):

Foto de la guía de armado Castor-Bot

Para esto utilizamos los dos cables de longitud media para conectar los dos motores de accionamiento a los puertos B y C en el NXT.

Importante: Mantener el cable de la izquierda a la izquierda y el cable de la derecha a la derecha (no cruzar los cables).

Fotos del Armado en clase (Castor-Bot):




Este modelo solo tiene tres ruedas,tal y como se muestra en la imagen de la guía al comienzo de el armado.
Armamos al Castor-Bot paso a paso según la guía, fue armado exitosamente, después de armar este modelo, procederemos a construir el Bumper-Car.

Armado del Robot (Bumper-Car):

Foto de la guía de armado Bumper-Car

Comenzaremos a partir del modelo del Castor Bot ya desarrollado para completar el robot propuesto (Bumper-Car).

Importante: Asegúrese de que los cables se mantienen fuera del camino del Bumper-Car.

Fotos del Armado en clase (Bumper-Car):


Armamos un mecanismo que ayudara a que se active el Touch Sensor para darle distintos usos.
Conectamos el sensor de contacto al puerto 1 del ladrillo NXT.
Con estos pasos terminamos el Bumper-Car que solo incluye el Touch Sensor como se ve en la foto de la guía.


Armado del Robot (Explorer-Car):

Foto de la guía de armado Explorer

A partir del Bumper-Car le implementamos el Sensor de Ultra Sonido

Importante: Asegúrese de que los Cables se mantienen fuera del camino del parachoques y que hay suficiente espacio para que la cabeza puede girar todo el camino a la izquierda y la derecha.

Fotos del Armado en clase (Explorer-Bot):



Tomamos el Tercer Motor y armamos como dice en la guía para adherir el Sensor de Ultra Sonido.
Conectamos el Cable del Motor del cuello al puerto A en el ladrillo NXT, y el Cable del Sensor de Ultrasonido al puerto 4 en el NXT.
Con esto finaliza el Explorer-Bot y comenzamos a implementar el programa.

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

Programa del Explorer-Bot:



  • Screenshot del Programa (Explorer-Bot):

  • Explicación de lo Programado (Explorer-Bot):
Los siguientes pasos están dentro de un Loop repetitivo (Forever).

Paso 1: En el primer bloque de movimiento, avanzara hacia adelante (Forever).

Paso 2: 

Switch Sensor de Ultra Sonido (Puerto 4).


Se observa un Switch con Sensor de Ultrasonido, el cual mandara a la rama verdadera cuando detecte un objeto (<40 cm), una vez dentro de la rama verdadera, hay un bloque que fue creado anticipadamente para hacer una serie de acciones, el bloque se llama giro ya que su función principal es girar el Sensor de Ultra Sonido que esta en la parte superior del robot.

Paso 4: 

Switch Touch Sensor (Puerto 1).



En caso de que no detecte al objeto con el Sensor de Ultra Sonido, pasara al siguiente Switch con Touch Sensor, el cual contiene en la rama verdadera el mismo bloque giro para que haga la misma función, para que esto suceda, el robot deberá chocar con un objeto para que se active este Switch (Pressed Touch Sensor).

Paso 5:

El bloque giro contiene los siguientes movimientos:
  • Screenshot del Bloque (Giro):


  • Explicación del Programa (Bloque-Giro):
a) Hay un bloque que detiene a los motores A y C que estaban siendo usados para movilizar ilimitadamente al robot hacia adelante (Stop Block).

b) El siguiente bloque hará que el robot retroceda, ya que detecto o chocó a un objeto (2 segundos).

c) Luego se observa un Motor Block:



Es eficaz cuando se trata de accionar un solo motor, en este caso se accionara el motor B, el cual hará girar el Sensor de Ultra Sonido 90º hacia la derecha. (90 Degrees).

d) Luego se observa un Bloque de Sensor de Ultra Sonido:



El cual emitirá las ondas cuando este mirando a la derecha (<30 cm) y enviara la distancia que detecte al Bloque de Comparación en el parámetro de llegada B.

e) Seguidamente hay un Motor Block, el cual hará que gire el Sensor de Ultra Sonido 180º hacia la izquierda. (180 Degrees).

f) Nos encontramos otra vez con un Bloque de Sensor de Ultra Sonido, el cual emitirá las ondas cuando este mirando hacia la izquierda (<30 cm) y enviara el dato de la distancia que detecte al Bloque de Comparación en el parámetro de llegada A.

e) Se observa un Motor Block y tiene la función de regresar al Sensor de Ultra Sonido a su posición inicial, para ello deberá girarlo 90º hacia la derecha (90 Degrees).

f) Después de los pasos ya mencionados, entraremos al Bloque de Comparación:


Este bloque sirve para Comparar Datos ("Less than" o "menor que") ya recibidos anteriormente, para este programa enviamos datos del Sensor de Ultra Sonido en el Parámetro de Llegada A y B, en caso de que el valor de la distancia de A sea menor que la del B, ira por la rama verdadera del Switch que se vera a continuación.

g) Finalmente se observa un Switch:



Este Switch es del tipo (Logic), el cual entrara por la rama verdadera (True) si los datos del Bloque de Comparación cumplen su condición ("Less than" o "menor que" A<B), en la rama verdadera de este switch tenemos un Motor Block (Puerto C), el cual hará que el robot completo, gire hacia la izquierda 45º, en caso de que B>A entrara a la rama falsa donde se encuentra otro Motor Block, el cual hará girar hacia la derecha 45º al robot.

Aquí termina el programa, recordar que todos estos pasos estan dentro del Loop Repetitivo, el cual hara estos pasos (Forever), este programa sirve para que el robot transite libremente un ambiente ya que cuenta con un sensor de tacto y ultra sonido para explorar dicho ambiente.
  • Video 1 del Programa Ejecutándose (Explorer-Bot):


Explicación del video 1:

En este caso el robot simplemente transita por el salo de clases, si detecta un objeto con el Sensor de Ultra Sonido en su camino retrocederá y verificara si hay objetos a su izquierda y derecha, en este caso no hay nada, entonces los datos que van al bloque de comparación son (0 < 0) y esto es falso, lo cual hará que el robot gire hacia la derecha, pasara lo mismo cuando se active el Touch Sensor.
  • Video 2 del Programa Ejecutándose (Explorer-Bot):

Explicación del video 2:

Este video tiene el mismo programa que el anterior, aquí se ve que al girar haca la derecha, el sensor de ultra sonido, detecta al objeto, el cual mandara el dato "x" de distancia al parámetro de llegada B y al girar hacia la izquierda no detecta nada, por tanto mandara el dato "0" al parámetro de llegada A, entonces la comparación seria 0 < x, entonces lo que hará es ir girar hacia la izquierda, y seguirá su camino, el programa esta diseñado para que si el robot detecta un objeto a la derecha, se mueva hacia la izquierda, y viceversa con el fin de explorar todos los lugares.

Conclusiones:
-El Touch Sensor en este modelo nos ayuda a detectar objetos que el Sensor de Ultra Sonido no detecta, del lugar que se va a explorar.
-Con este Robot Explorer podemos explorar todo un ambiente tomando las acciones que el programado desee.
-La rueda que va en el medio del Explorer distorciona un poco en la direccion de donde se mueve, hay que tener buena batería para este modelo.

Adrian Alex Paria Quispe 2016-119061