martes, 11 de octubre de 2011

Robot Turista

Robot Turista


Alumno: Juan Francisco Mendoza Martínez
Competencia: Desarrollo de software
Palabras claves: Robot, turista.




Descripción de la actividad:


  -   A través de un programa predefinido llamado Brick Commander, podremos configurar al robot que por medio de un código, cumpla las funcionas solicitadas en la actividad. El Robot deberá evadir una serie de obstáculos para realiza un tour en un parque de diversiones, y detenerse por dos segundos.




Solución:


  -  La solución al problema fue un mínima diferencia de potencia en cada rueda del robot (2) mientras hacia su recorrido en linea recta. En la primera y tercera curva fue programado para que la rueda derecha fuese con mayor potencia, así realizar la curva de manera precisa, en tanto, en la segunda curva y primera estación se diseño en el código de fuente, que debiera retroceder y aumentar la potencia para continuar su camino en linea recta.




Pseudocodigo:



1) Avanza en línea recta durante 6 segundos aprox.
2) Se apagan los motores durante 2 segundos.
3) Se encienden los motores
4) Avanza durante 0,6 segundos
5) Retrocede
6) Avanza 1,5 segundos
7) Se apagan los motores durante 2 segundos
8) Se encienden los motores
9) Retrocede
10) Avanza durante 2,5 segundos
11) Realiza leve giro hacia la izquierda
12) Avanza durante 1,5 segundos
13) Realiza un leve giro hacia la derecha
14) Se apagan los motores durante 2 segundos
15) Se encienden los motores
16) Retrocede
17) Avanza durante 2.5 segundos
18) Se apagan los motores durante 0,8 segundos
19) Se encienden los motores
20) Retrocede
21) Avanza durante 0,7 segundos
22) Se apagan los motores.




Código de fuente en NXC:



task main ()
{  
      OnFwd (OUT_A,68);
      
OnFwd (OUT_C,67);
      
Wait (6400);             // Avanza 6,4 segundos
      
Off (OUT_AC);            // Se apagan motores
      
Wait (2000);                
//Llega Estación 1

      
OnFwd(OUT_A,68);   //Avanza
      
OnFwd(OUT_C,67);
     
 Wait(600); //
      
OnRev(OUT_A,50);  // Retrocede
      
Wait(450);    
      
OnFwd(OUT_A,68);
      
OnFwd(OUT_C,67); //Avanza
      
Wait(1500);      //Avanza 1,5 sgdos.
       
Off (OUT_AC);   // Se apagan motores  
//Llega estación 2

      
OnFwd(OUT_A,68);
     
 OnFwd(OUT_C,67);
      
Wait (2000);      //Espera dos segundos
      
OnRev(OUT_C,50);  //Retrocede
      
Off(OUT_AC);
      
Wait(2500);
      
OnRev(OUT_A,55);
      
Wait(900);
      
OnFwd(OUT_A,72);
      
OnFwd(OUT_C,70);
      
Wait(2500);

    
     OnFwd(OUT_A,60);      //Avanza
     
OnFwd(OUT_C,65);
    
 Wait(1500);
     
OnFwd(OUT_A,65);    //Gira levemente Izquierda
     
OnFwd(OUT_C,60);
    
 Wait(2000);
    
 OnFwd(OUT_A,60);   //Gira levemente Derecha     OnFwd(OUT_C,65);
     
Wait(1800);     OnFwd(OUT_A,72);
    
 OnFwd(OUT_C,65);
    
 Wait(56);
    
 Off(OUT_AC);
//Llega Estación 3





Reflexión:

  - A pesar de que el robot se tuvo problemas al principio con la potencia de las ruedas, hasta que al final se pudo encontrar la solución para que el robot realizara sin ningún problema lo encomendando por la actividad.










No hay comentarios:

Publicar un comentario