domingo, 13 de noviembre de 2011

Robot Destructor

Competencia: Gestion en TI
Curso:Programacion de robot
Actividad: Robot Destructor

Descripcion

La presente actrividad es unproyecto en el cualse puede extraer una idea clara para el futuro, ya que existe un mezcla perfecta en sofware(la progrmacion del robot) y el hadware(el mismo robot) , para ejercer una funcioon peligrosa como lo seria el derrumbe de estructuras, donde no se pueda derrumbar con dinamitas
En caso paracticos, como no se encuentra la superfuicie y dicha estructura, sera llevado a tamaño escala en un mezon, con paredes de madera que simularan la estructura.
Se pide programar un robot destructor, para que deambule por un área delimitada por paredes de granito reforzadas con titanio, en la cual se han colocado al azar una serie de pilares. Este robot debe avanzar a ciegas usando un sensor de tacto, de manera que cada vez que detecte algún obstáculo (sea un pilar o la pared) detone un explosivo y se aleje del lugar usando un patrón al azar.

Objetivos



Resolver un problema simple de utilización de sensor de tacto, incluyendo el uso

de ciclos, operaciones matemáticas y condicionales, y ocupando el lenguaje de programación NXC.

 Obtener una solución efectiva del problema utilizando el conocimiento aportado por las clases atendidas y la creatividad del grupo. 

  

Modelo de solucion/pseudocodigo   


El pseudocódigo realizado es el siguiente:



Avanzar indeterminadamente hasta que se active el sensor;

Una vez activado el sensor retroceder 0,5s;

Detenerse por 2 segundos;

Emitir un sonido;

Realizar un giro;

Avanzar nuevamente hasta que se active el sensor;

Una vez de que el sensor se halla activado 5 veces;

Apagar los motores;

Emitir un sonido;

Finalización del programa.

 Codigo Fuente
//autor:Grupo Terabytes

int Giro;

int contador=0;



task main()

{    SetSensorTouch(IN_1);

     OnFwd (OUT_BC, 80)             //avanzar indeterminadamene

     while(true)

        {

        if(SENSOR_1==1)             //condicion si se activa el sensor

           {                        //se realiza lo siguiente:

           Giro=Random (1832)+268;

           OnRev(OUT_BC, 80);       //marcha atras por

           Wait(500);

           PlayTone(4000, 500);     //emite un sonido.

           Off(OUT_BC);             //se detiene por 2.0s.

           Wait(2000);

           OnFwd(OUT_C, 80);        //realiza un giro.

           OnRev(OUT_B, 80);

           Wait(Giro);

           OnFwd(OUT_BC, 80);  //avanza hasta que se active el sensor.

           contador++;

           }

        if(contador==5)  //condición si el sensor se ha activado 5 veces.

           {Off(OUT_BC);            //apagar motores

           PlayTone(5000, 500);     //emitir un sonido

           Wait(500);

           StopAllTasks();



           }

        }

}








Conclusión.



Los objetivos planteados en esta actividad  fueron superados en justa medida, luego que el trabajo en grupo bien realizado nos llevo a desarrollar de mejor manera el ejercicio para que con ello el resultado final de nuestra actividad se viera reflejado en el video.
El desarrollo del robot esun modelo a escala de lo que seria en realidad,.
La actividad desarrollada en el primer semestre puso en practica lo aprendido en clases y combina la programacion con el diseño del robot, lo q se podria ver com el hadware.

No hay comentarios:

Publicar un comentario