domingo, 2 de noviembre de 2014

Garra Trasnportador - Robotica

Garra Trasnportador - Robotica
Autor : René Curín
Competencia : Creatividad e innovación (nivel 1)
Asignatura: Prigramacion de Robots
Palabras clave: Programación, NQC, Lego
 Descripción de la actividad
 Adecuar un robot NQC con una garra que fuera lo suficiente mete resistente como para poder ir a tomar una carga y luego volver al mismo lugar con la carga entre la garra.

Enunciado de la actividad:
EL robot debe ir a buscar la carga(una lata)y llevarla hasta el punto de partida.
Herramientas utilizadas
- Editor de lenguaje NQC
- Robot Lego   
Implementaciones que debe tener el robot:
- 3 motores
- 1 sensor de tacto
- tener un contador
Solución de la actividad :
 Estrategia de solución

      Comenzamos por el análisis del problema que debía hacer el robot, el cual consistía en que debía salir a buscar un objeto en línea recta por un tiempo desconocido y traerlo de vuelta al punto de origen, entonces nos dimos cuenta de que debíamos crear algún mecanismo para poder agarrar dicho objeto, y el mecanismo que creamos fue una garra accionada por un tercer motor en la parte delantera de nuestro robot y también ubicar un sensor de tacto por el interior de las garras para poder sujetar el objeto, y traerlo de vuelta.


Modelo de solución

  El desarrollo de nuestro problema comenzó por analizar los tipo de movimientos que debía realizar el robot, verificar si estaba adecuadamente estructurado para soportar la tarea, por lo que tuvimos que implementar un nuevo equipamiento, esta vez fue una garra. el código empleado consiste en un WHILE con dos IF el primer if era que si el sensor de choque 1 era igual a cero sumara al contador TIEMPO, el segundo if consistía en que si el sensor 1 era igual a uno, que retroceda el motor B el cual cerraba la garra para poder sujetar el objeto, luego que giraran los motores A y C por un tiempo de 2 segundos, para que después avancen con una potencia de 5 por un tiempo igual a la variable tiempo, se apagan ambos motores y comienza a avanzar el motor B por un tiempo de 10 milisegundos para abrir la garra y dejar suelto el objeto, nuevamente se ejecutan ambos motores pero esta vez retrocediendo por 1 segundo y finaliza apagando todos los motores.
Código del programa

int tiempo ;
task main()
{
 SetSensor(SENSOR_1, SENSOR_TOUCH);
 SetPower(OUT_A+OUT_C,5);
 OnFwd(OUT_A+OUT_C);
     tiempo = 200;
     while (true)
     {
           if(SENSOR_1== 0)
           {
              tiempo ++;
 OnFwd(10);
           }
           if(SENSOR_1== 1)
           {
 OnRev(OUT_B);
 Wait(5);
 Off(OUT_A+OUT_C);
  Wait(30);
 SetPower(OUT_A+OUT_C,4);
 OnRev(OUT_A);
  OnFwd(OUT_C);
  Wait(200);
 SetPower(OUT_A+OUT_C,5);
 OnFwd(OUT_A+OUT_C);
 Wait(tiempo);
 Off(OUT_A+OUT_C);
 OnFwd(OUT_B);
 Wait(10);
 OnRev(OUT_A+OUT_C);
 Wait(100);
 Off(OUT_A+OUT_C);
           }
         }
}


Pseudocódigo
int tiempo ;
task main()
{
 Pocision_Sensor(Pocision 1, Sensor de tacto);
 Enciende_motores(A+C,potencia de 5);
 Avanza_motor(A+C);
     tiempo= 200 ;
     mientras (verdadero)
     {
           Si(Sensor_pocision 1 es igual a 0)
           {
              tiempo + 1;
  Avanza(por 10 milesimas);
           }
           Si(Sensor_pocision 1 es igua a 1)
           {
             Retrocede_motor(b);
             por un tiempo(de 5 milesimas);
             Apaga_motores(A+C);
             Por un tiempo (de 30 miesimas);
             Enciemde motores(A+C,con potencia de 4);
             Retrocede_motor(A);
             Avanza_motor(C);
             Por un tiempo de (2 segundos);
             Enciende motores(A+C,con potencia5);
             Avanza_motores(A+C);
             Por un tiempo de (tiempo);
             Apaga_motores(A+C);
             Avanza_motores(B);
             Por un tiempo(de 10 milisegundos);
             Retrocede motores(A+C);
             Por un tiempo de(1 segundos);
             Apaga Motores(A+C);
           }
         }

}
   
Funcionamiento de la actividad



De que me sirvió esta actividad 



El principal aporte que me genero esta actividad fue la de poder generar un soporte (garra) que fuera lo suficientemente fuerte como para sostenerlo y moverlo de un lugar a otro, el código del programa fue algo sencillo, por lo cual no ayudo mucho al aprendizaje sobre la programación.


Agradecimiento a Carla Moya  .

No hay comentarios:

Publicar un comentario