lunes, 14 de noviembre de 2011

"Programación de robots con MRU"

Autor: Jorge Henriquez Romero
Competencia: Aplica las Ciencias de la ingeniería. (Nivel 1)
Palabras claves: Física, Robot, NXT,Lego.



Descripción de la actividad
En esta actividad se trabajó en la programación de robot, implementada con aspectos de la Física.
La actividad consistía en medir el MRU (movimiento rectilíneo uniforme) de un robot lego NXT, para ello se le implemento un código para que pudiera cumplir con la tarea. Cada vez que el robot pasaba sobre una línea negra, guardaba el tiempo que se demoró en llegar desde el punto de partida.
Después de tomar todas las líneas negras, las cuales eran 6, entregaba los tiempos en la pantalla. A estos tiempos se les debía sacar la pendiente.
Solución
En el siguiente código se muestra la forma en que se obtuvieron los datos, y como se logró mantener el robot con ambas ruedas a la misma velocidad.
Codigo:
task main()
{
    PlayTone(5000,30);      //Emitir un sonido al inicio de la ejecución del programa.
    Wait(2000);             //Pausa de 2 segundos.
    i = 1;
    SetSensorLight(IN_3);   //Definir y encender el sensor de luz, Puerto 3.
    j = 1;
    while (i<6)
    {
        luz = Sensor(IN_3);                      //Luz recibe info del sensor de luz.
        OnFwdReg(OUT_BC,30,OUT_REGMODE_SPEED);   //Iniciar los motores con control de velocidad.
        Wait(10);
        if(luz < 40)
        {
            if(j==1)
            {
                tiempo_ini = CurrentTick();
                tiempo = 0;
                NumOut(20,i*10,tiempo);
            }
            else
            {
                tiempo1 = CurrentTick();
                tiempo = tiempo1 - tiempo_ini;
                NumOut(20,i*10,tiempo);
            }
            i = i+1;
            j = j+1;
            Wait(200);                        //Tiempo de espera para que tome 1 dato por marca.
        }
        Wait(10);
    }
    Float(OUT_BC);
    Wait(60000);
    Wait(50000);
}


A través del código “OnFwdReg(OUT_BC,30,OUT_REGMODE_SPEED);” se puede obtener el resultado de que ambas ruedas avancen a la misma velocidad.


En este grafico distancia función del tiempo, se muestra que el robot anduvo en forma recta, a una misma velocidad.


Reflexión
Este trabajo fue de gran ayuda en mis estudios, ya que me permitió aprender sobre los MRU, lo cual solo lo había visto muy poco. Además, como todos los trabajos en programación de robots son en grupos, uno aprende mucho como trabajar con otras personas, lo cual ayuda mucho a la tolerancia.
Espero esta materia les ayude como me ayudo  mí, espero les sirva de mucho a los fututos ingenieros.

No hay comentarios:

Publicar un comentario