miércoles, 7 de diciembre de 2011

Robot Destructor(trabajo en equipo)

Competencia:Trabajo en equipo.
Curso:Programacionde Robots(Grupo Terabytes)
Actividad: Robot Destructor.
Autor: Patricio Riquleme.



Descripcion de Actividad.

 La segunda actividad realizada por el grupo en la que 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.

En términos prácticos, ya que no se cuenta con un robot (ni un recinto de esta índole) a escala real, con ayuda de su robot NXT, deben simular esta actividad en la mesa de competición preparada para la ocasión.


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.



Estrategia de trabajo.­­



La estrategia de trabajo utilizada esta actividad consistio en asiganre a cada integrante del grupo una funcion, a excepcion de realizacion del codigo, que es lo principal de la actividad, ya q cada uno debe aportar y a la vez aprender de la programacion y los concocimentos adiquiridos.

El jefe de grupo realizo la tarea de  mantener el orden. El cual junto con el productor multimedia eran los que poseían un mejor control del lenguaje de programación para esta nueva actividad, llevando a cabo la realización del programa,  mientras que  los dos staff de apoyo se dedicaban a hacerles las modificaciones pertinentes al robot, como la instalación del sensor y  mejorando la estructura para que tuviera un mejor desempeño en el ejercicio.

La edición del video fue realizada por el productor multimedia en conjunto con uno de los staff de apoyo, este último recopilo las imágenes y grabo el ejercicio  para luego ser editado.

Para finalizar la actividad se tuvo que desarrollar el presente informe que presenciaria lo realizado en el laboratorio, siendo este realizado por todo el grupo para que de esta manera así como se realizó en la actividad anterior cada uno aportase con sus ideas y opiniones, pero siendo estructurado por el secretario para que en lo posible no presentara errores y se ajustara a lo requerido.

Modelo de solución



            La forma de llegar de mejor manera a una solución estable al problema fue  asignándole una función a cada de  integrante en lo que mejor se desempañaban.

            Junto con ello se planificaron las instrucciones que debía seguir el robot, hacerlo que avance y al momento de chocar con uno de los “pilares” realice otra serie de funciones, es decir desarrollar un pseudocódigo, como primer desafío

También en esta nueva actividad se planteo un segundo desafío, el uso de condiciones, es decir si ocurre una acción determinada realizar una función determinada, en este caso si se activa el sensor el robot debe realizar una determinada acción, si no seguirá avanzando. Es por esto que se tuvo que investigar el modo de desarrollar este nuevo comando, ya que gran parte de la solución al problema era  el uso de este


Código

//autor:GrupoTerabytes

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();

           }
        }
}
Video de la Actividad

Conclusión.

Los objetivos planteados en esta actividad  fueron superados en justa medida, ya que el trabajo en grupo fue fundamental para el desarrollo de la actividadres realizadas,ya que de esta manera poder  lograr el resultado final viendose reflejado en el video
Las habilidades de desarrollar videos e informes fue mejorada, junto con ello lo más importante era comprender y  desarrollar el nuevo desafío planteado en esta nueva actividad que era la utilización del sensor y a la vez el uso de condiciones en la programación del robot.



No hay comentarios:

Publicar un comentario