lunes, 7 de noviembre de 2016

PRÁCTICA DE LABORATORIO (robotica) N05:"SENSOR DE CONTACTO"


I. OBJETIVOS

              ► Conocer la teoria  del sensor de contacto. 
              ► Conocer el uso del sensor de contacto.
              ► Implementación del sensor de contacto  en un diseño de robot.

II. MATERIALES Y EQUIPO

             ► 01 Kit de LEGO  Mindstorms NXT 2.0.
             ► 01 Instructivo de Armado del Robot Castor bot, Auto de choque y Robot Explorer. 
             ►Computador con NXT-G Instalado.

III.FUNDAMENTO TEORICO

             
El sensor de contacto permite detectar si el bloque que lo posee ha colisionado o no con algún objeto que se encuentre en su trayectoria inmediata. Al tocar una superficie, una pequeña cabeza externa se contrae, permitiendo que una pieza dentro del bloque cierre un circuito eléctrico comience a circular energía, provocando una variación de energía. Util para hacer alguna ación manualmente (un boton).


                                                                                                                        (fig. 1)
IV. PROCEDIMIENTO

            Para la Utilización del sensor de contacto, se puede hacer por el medio del bloque "Touch                   Sensor "
(fig. 2)
           O  también por el medio del bloque "Wait", configurando como control el "Touch Sensor" 

(fig. 3)

(fig. 4)


            Para la presente práctica, se hará el armado de tres "bonus models" del NXT. Para cada uno de             ellos se propondrá una secuencia de pasos que deberá terminar en el diseño de una programa               para cada uno.

CASTOR BOT 

(fig. 5)
            El Castor Bot es un robot de tracción en dos básico de motores con una construcción robusta que se                   convierte con facilidad. Se puede utilizar como punto de partida para sus propios proyectos, y                             programar.
  
            Empezamos con el armado


            El programa sugerido para el funcionamiento del robot , es el siguiente.
(fig. 6)


BUMPER CAR

Utilice el programa del coche de parachoques de su auto de choque. Este sencillo programa le dice al robot para seguir recto hasta el parachoques golpea algo, a continuación, una copia de seguridad un poco, gire a la derecha, a continuación, volver a ir directamente de nuevo (repetir para siempre). Este programa sería fácil de modificar con sus propias ideas de qué hacer cuando el robot choca contra algo.

Empezamos con el armado




 El programa sugerido para el funcionamiento del robot , es el siguiente.
(fig. 7)

 Como podemos apreciar Todo el programa se realizara en un bucle infinito.

a) El robot Avanzará hasta que se presione el sensor de contacto para después retroceder 1 segundo.
b) Luego hará un giro de 450 grados hacia el lado derecho.
c)Esto se repitiera infinitamente ya que vemos que todo el programa esta encerrado en un bucle infinito.



EXPLORER

La misión"Eplorer"s explorar todo el alrededor, en cualquier lugar que se le suelte. Se trata de que el robot "vea " las paredes 
y otros obstáculos antes de toparse con ellos, y luego vuelve a girar la cabeza para mirar de izquierda a derecha para determinar en qué dirección debe dirigirse. En caso de que accidentalmente se chocase con algo, su parachoques en la parte delantera activa el sensor tactil para realizar la parda del robot y luego qué camino debe tomar.

Empezamos con el Armado


Para este Robot serán los siguientes RETOS:
•Avanzar hasta que el sensor de contacto sea pulsado o hasta que se detecte un obstáculo a 15 cm.
•Si el sensor de contacto fue presionado, enviar el sonido "Sorry" y retroceder.
•Girar el cuello del robot 90 grados, y medir con el sensor ultrasónico la distancia, girar el cuello del robot 180    grados y medir nuevamente con el sensor ultrasónico la distancia. Comparar. 
•Girar el robot hacia el lado donde no haya obstáculos.

El programa sugerido para el funcionamiento del robot, es el siguiente: 
 
(fig. 8)
Explicación del diagrama:

•Antes que nada todo el programa se realizara en un bucle infinito, el cual también podemos modificarlo y ponerlo cuantas veces queremos o cuanto tiempo.
•Entrará al programa y nos encontraremos con un comando el cual es un servomotor con formado por los puertos By C que avanzara hasta que detecte un objeto a 15 cm o puede ser que se haya topado cun objeto con su parachoque  la cual realizara otra acción. 
•Después de haber detectado el objeto preguntara si esta a una distancia de 15 cm, si es verdad se detendrá por un momento, emitirá un sonido de "Sorry" para luego llamar a la función MIRADOR(fig. 9), y si es falso preguntara Si el sensor de contacto fue presionado, si es verdad se dentendra por un momento  para después emitir un sonido "Sorry"y llamara a la función PARACHOQUE(fig. 10), y si es falso no hará nada.
•Esto se repitiera infinitamente.


FUNCIÓN MIRADOR

(fig. 9)

Explicación del diagrama (MIRADOR):

•Antes que nada este diagrama es secuencial por lo cual no se repitiera varias veces
•Empezará con el motor A el cual dara un giro de 90 grados y medirá una distancia de 15 cm.
•Dará otro giro de 180 grados y medirá una  distancia de 15 cm , luego regresará a su lugara correspondiente con un giro de 90 grados.
•Luego Comparará la primera medición con la segunda (A < B), después de haber comparado preguntará si es verdad o falso , si es verdad dará un giro hacia el lado derecho de 4 segundos y si es falso dará un giro hacia el lado izquierdo de 4 segundos.  


FUNCIÓN PARACHOQUE

(fig. 10)

Explicación del diagrama (PARACHOQUE):

•Antes que nada este programa también es secuencial por lo cual tampoco se realizara en un bucle infinito.
•Primero Retrocederá un segundo para después llamar a la función MIRADOR(fig. 9) 


Este es un vídeo con el primer caso el cual es de detectar un objeto y mirar para que lado debe dirigirse. 

Así es como nos debe correr el Programa.





lunes, 24 de octubre de 2016

Cuarto día de clases.
Para este día se realizara 3  actividades, las cuales son:
Antes que nada empezaremos el Armando de nuestro robot "LLAMA"


 1) Realizar un programa el cual la llama lance una bola al detectar un objeto a 20 centímetros de distancia.

Vídeo de un ejemplo


2)El robot avanzará hasta detectar un objeto a 30 centímetros de distancia.
Vídeo de un ejemplo



3)La tercera actividad trata de una secuencia que hay que realizar
(Primero tendrá que avanzar hasta detectar un objeto luego de eso tendrá que girar a la izquierda, avanzar hasta detectar un objeto, luego de haber detectado el objeto tendrá que girar  hacia el lado derecho,avanzar hasta detectar otro objeto  para después girar nuevamente al lado derecho avanzar y detectar otro objeto, para así poder girar al lado izquierdo. Esto se realizara en un bucle. )
Vídeo de un ejemplo





       Con esto concluimos la clase.
Quien dijo que programar es aburrido? Hasta la siguiente clase :).




lunes, 17 de octubre de 2016

Tercer día de clases. Hoy pondremos a practica lo aprendido en las anteriores clases, con los siguientes desafíos.
Antes que nada tendremos que Armar nuestro robot shooterbot.












Listo, Ya terminado empezamos con los desafíos 



1)Nuestro primer desafió sera  mover el robot en un patrón de ocho como se muestra en la figura utilizando una serie de bloques de movimiento, EMPECEMOS 



 En este desafió empezaremos a programar con un bucle ya que tienes que hacer la figura del ocho varias veces, luego de ello empezaremos a introducir los servomotores de manera que cumpla la función de dibujar la figura del ocho.

Este algoritmo hará lo siguiente  :
a)Avanzar 3 rotations hacia adelante con un 75% de energía para después doblar hacia la derecha con un total de 1500 degrees ,un 75% y el level de 9 right turn, luego de ello avanzara hacia adelante 5 rotation, dara una vuelta hacia la izquiera con con un total de 1500 degrees y un 75% , el level de 9 right turn .
   b)Ya ubicado  a la misma recta del punto de inicio hará la misma operación que el primero, dará 3 rotations hacia adelanta para despues doblar hacia el lado izquierdo con un total de13050 degrees, un 75% y el level de 9 right turn, en esta vuelta le dimos 1350 ya que no daba una vuelta exacta para que pueda completar la figura del ocho. Luego de ello avanzara hacia adenlante con 5 rotations y con un  75% de power para despues doblar hacia el lado derecho con un total de 1500 degrees ,un 75% y el level de 9 right turn.
c)Terminado todo ese proceso lo que hará seguidamente es la repetición del procedo mencionado ya que va ha estar en un bucle dependiendo de cauntas veces o tiempo quieres que haga.
HE AQUÍ LA PRUEBA DE NUESTRO ALGORITMO 

2) Nuestro segundo desafió sera: un robot seguidor de linea negra.
Para este desafió necesitaremos el sensor de los luz lo cual implementamos  en la primera parte 
En este desafió lo que haremos sera que el robot pase por el borde del color negro en forma de sig sag para así poder avanzar y seguir la linea negra . 

En este algoritmo hara lo siguiente:
a)Entrar al bucle para poder detectar cualquier color y luego preguntara si es de color blanco, si es verdadero, dara una vuelta hacie l lado izquierdo con un power de 75% y un  level de 9 right turn hasta que encuentre otro color, y si es falso preguntara si el color detectado es negro y si es verdadero dara una vuelta hacia el lado derecho   con un power de 75% y un  level de 9 right turn hasta que encuentre otro color en este caso sera otro color porque entrara de nuevo en el bucle el cual sera infinito.
   
 Buenos Amigos eso es todo por hoy.
Quien dijo que programar es aburrido? Hasta la siguiente clase :)

domingo, 9 de octubre de 2016



Segundo día de clases. Lo que aremos en esta clase sera la implementación  de sensores al robot, ya que el quid del lego mindstor nxt 2.0 cuenta con 4 sensores y tres motores  los cuales son :
Resultado de imagen para sensores de lego mindstorms nxt 2.0
Sensor de contacto: dispone de un interruptor que al ser presionado envia una señal al NXT. Este sensor es útil para detectar obstáculos.
Sensor de ultrasonido: al igual que los murciélagos, este sensor emite un ultrasonido imperceptible para el oido humano, que hace rebotar en los objetos más proximos y con el cuál calcula la proximidad de los mismos.


Sensor de Luz: se utiliza para sensar la luz ambiente o para medir el rebote de su propia luz como por ejemplo contra el piso. Tambien se lo utiliza para sensar colores en un piso ya que cada color emite un reflejo diferente.


Sensor de sonido: se lo utiliza para reaccionar a sonidos del ambiente. Por ejemplo para que accione sus motores cuando percibe un aplauso.



Link:TUTORIAL DE LOS ROBOTS  (http://www.neoacmchapter.org/robot-files/shooter-bot.pdf)
1.Empecemos, ya Armado anteriormente el robot shooterbot, implementaremos el primer sensor llamado: sensor de luz.

Hicimos la primera prueba de un bucle en el cual cada vez que el sensor de luz detecte el color negro que gire media vuelta y siga recorriendo su camino . INTERESANTE VERDAD !!
Aqui Les dejo el PROGRAMA del bucle
2, Luego de eso Implementaremos el sensor de visión. con el cañoncito.


3.Ya armado el robot solo nos queda programar con nuestras maravillosas ideas.
En este caso nuestro grupo hizo  que el robot disparara cuando vea un objeto a una determinada distancia.


4. El objetivo de esta clase fue probar  la acción  de cada uno de los sensores y ver sus funciones como pudimos ver en los videos. 
Quien dijo que programar es aburrido ? Hasta La siguiente clase :)  




Primer día de las clases de PG(Programacion Grafica), con los Legos Mindstor nxt 2.0 .




Resultado de imagen para lego mindstorms nxt 2.0
link: TUTORIAL DE LOS ROBOTS =>
http://www.neoacmchapter.org/robot-files/shooter-bot.pdfEmpezamos Armando  El Primer Robot Llamado Shooterbot
1. Seguimos el tutorial paso a paso del armado del robot shooterbot

2.Ya armado el robot, empezamos con nuestras maravillosas IDEAS(A PROGRAMAR SE HA DICHO :)! )





3.Primera prueba del programa que realizamos yo y mis compañeros 
4.RESULTADO FINAL DE NUESTRO PROGRAMA.(con la "macarena")
Tengo que admitir que es una bonita experiencia armar y programar los robots. Bueno AMIGOS con eso concluimos el primer día de clases en PG. Quien dijo que programar es aburrido ? Hasta La siguiente clase :)