lunes, 10 de octubre de 2011

Robot Sumo

Autor: Martin berkhoff Jerez
Competencia: Desarrollo de software.
Palabras claves: Sensor, Pseudocodigo





Descripcion Trabajo
Bueno amigos vengo a enseñarles uno de los tantos proyectos de robotica. En proyecto tuvimos la libertad de hacer la programacion a nuestro gusto, esta tenia que ser acorde al tema, "robot sumo". en este blogg  robot  les enseñare bàsicamente el pseudocodigo de nuestro robot y el codigo de ataque y defenza  junto con los sensores que ocupamos, para que se hagan una idea de como funciona este.


Uso de sensores
Bueno los Sensores que decidimos usar esta ves fueron, finalmente 2. el de ultrasonido y el de luz ya que ellos son los dos sensores indispensables dentro de la lucha.

Sensor de ultrasonido

Este sensor lo construimos de tal manera que quedara al frente del robot(ver imagen 1.3), entre medio de la plataforma y mirando hacia adelante, lo cual nos permitía detectar de manera eficiente a los demás robots enemigos por que estaba bien adelante.

Sensor de Luz

Éste Sensor es indispensable si no queremos perder las batallas, ya que este nos mantendrá dentro de la zona delimitada( circulo negro). Este sensor lo ubicamos debajo de la plataforma, por qué ahí?

Patrón de ataque y defensa

Nuestro Dembers posee dos sensores establecidos correctamente al comienzo del programa con lo siguiente.

task main()

{

SetSensorLight (IN_1);

SetSensorLowspeed (IN_2);

}

Con esto inicializamos ambos sensores el de luz en el puerto 1 y el sensor de ultrasonido en el puerto 2.



Realizamos la descripción de cada una de las subrutinas.

sub domo ()
{
OnRev (OUT_AC, 100);

Wait (750);

OnFwd (OUT_A,100) ;

Wait (1000);
}
La subrutina que realizamos se llama domo y básicamente lo que hace es con el objetivo de mantenerse en el domo de modo de seguir luchando.

sub ataque ()
{
OnFwd (OUT_AC, 100);

Wait (750);

OnFwd (OUT_A, 100);

Wait (200);

OnFwd (OUT_AC, 100);

Wait (700);
}
sub defensa ()
{

OnRev (OUT_C, 100);

Wait (500);

OnFwd (OUT_AC, 100);

Wait (500);
}

Pseudocódigo es el siguente.

#Se define las variables de umbral en 40.

#Se define la variable cerca que es la que usa el sensor de ultra sonido.

Primera sub rutina domo()

{

  retrocede los dos motores a potencia maxima

  Espera un tiempo

  Retrocede una rueda a potencia maxima

  espera menos de 1 segundo

}
    Segunda sub rutina ataque()
{
  avanza a máxima potencia

  Durante un tiempo

  Luego retrocede una rueda

  Durante un tiempo corto

  Luego avanza nuevamente

  Durante poco tiempo
}
  tercera sub rutina defensa()
{
  Retrocederá con un motor C

  Durante un tiempo corto

  Avanzara hacia adelante a potencia maxima

  Medio segundo
}

Tarea principal()
{
  Declaramos sensor de luz

  Declaramos sensor de Ultrasonido

  Mientras( verdad) // siempre verdadero
{
  avanzara hacia adelante a una potencia de 100

  Si( encuentra algo negro)
{
  domo() ;
}
  si( sensor de ultra sonido detecta algo cerca)
{
  Ataque() ;

  Defensa() ;
}
}
}

A modo de reflexion sobre este proyecto de robotica tomo muy en cuenta el orden que hay que tener para realizar cualquier tipo de programacion,  pseudocodigo. Un buen orden nos llevara a buenos resultados.

No hay comentarios:

Publicar un comentario