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.