Garra Trasnportador - Robotica
Autor : René Curín
Competencia : Creatividad e innovación (nivel 1)
Asignatura: Prigramacion de Robots
Palabras clave: Programación, NQC, Lego
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
De que me sirvió esta actividad
Agradecimiento a Carla Moya .
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