Diferencia entre revisiones de «Ejemplo sumo»

De Proyecto Butiá
Saltar a: navegación, buscar
Línea 5: Línea 5:
 
<center>[[Archivo:Dibujo.PNG‎|250px]]</center>
 
<center>[[Archivo:Dibujo.PNG‎|250px]]</center>
  
Como podemos ver en la imagen, el dohyo está caracterizado por ser de color negro con una línea blanca en el contorno. Y con esta última característica es por donde empieza nuestro programa:
+
Como podemos ver en la imagen, el dohyo está caracterizado por ser de color negro con una línea blanca en el contorno. Y con esta última característica es por donde empieza nuestro programa.
  
<center>[[Archivo:Sin_título-1.png‎|200px]]</center>
+
Plantearemos los pasos que deben programarce para tener luchador de sumo:
 +
 
 +
[[Archivo:Pseudo.PNG‎|300px]]
  
 
En primer lugar, debemos evitar caer del escenario. Para ello utilizaremos el sensor de grises. Crearemos una constante que identifique el valor que nos muestra el sensor cuando se encuentra sobre la zona oscura del dohyo.  
 
En primer lugar, debemos evitar caer del escenario. Para ello utilizaremos el sensor de grises. Crearemos una constante que identifique el valor que nos muestra el sensor cuando se encuentra sobre la zona oscura del dohyo.  
 +
 +
<center>[[Archivo:Sin_título-1.png‎|200px]]</center>
 +
 
Esta constante es definida por el usuario, ya que debe ser calibrada según el valor arrojado por el modelo de sensor de cada Butiá.
 
Esta constante es definida por el usuario, ya que debe ser calibrada según el valor arrojado por el modelo de sensor de cada Butiá.
 
Una vez que tenemos esta constante, indicamos al programa la acción que debe de tomar según los valores arrojados.
 
Una vez que tenemos esta constante, indicamos al programa la acción que debe de tomar según los valores arrojados.
Línea 16: Línea 21:
  
  
Cuando el valor sobrepase los 100, debemos informarle al robot que se encuentra en peligro de caer del dohyo y que debe retirarse de ese lugar a uno más seguro. Para ello, lo hacemos girar 180 y avanzar una distancia de 10.
+
Cuando el valor sobrepase nuestra constante, debemos informarle al robot que se encuentra en peligro de caer del dohyo y que debe retirarse de ese lugar a uno más seguro. Para ello, lo hacemos retroceder una distancia de 10 y luego girar 180 grados.
  
 
<center>[[Archivo:Sin_título-2.png‎|400px]]</center>
 
<center>[[Archivo:Sin_título-2.png‎|400px]]</center>

Revisión del 11:19 1 nov 2011

A continuación desarrollaremos un programa para permitir al robot Butiá luchar al estilo sumo. Para ello utilizaremos la paleta Butiá que utilizamos comúnmente.

El sumo de robots, en pocas palabras, trata de una pelea de robots sobre un escenario o dohyo. La idea es dejar al enemigo fuera del dohyo mediante una programación inteligente. En este caso mostraremos un programa simple, pero eficaz.

Dibujo.PNG

Como podemos ver en la imagen, el dohyo está caracterizado por ser de color negro con una línea blanca en el contorno. Y con esta última característica es por donde empieza nuestro programa.

Plantearemos los pasos que deben programarce para tener luchador de sumo:

Pseudo.PNG

En primer lugar, debemos evitar caer del escenario. Para ello utilizaremos el sensor de grises. Crearemos una constante que identifique el valor que nos muestra el sensor cuando se encuentra sobre la zona oscura del dohyo.

Sin título-1.png

Esta constante es definida por el usuario, ya que debe ser calibrada según el valor arrojado por el modelo de sensor de cada Butiá. Una vez que tenemos esta constante, indicamos al programa la acción que debe de tomar según los valores arrojados.

Sin título-4x4.png


Cuando el valor sobrepase nuestra constante, debemos informarle al robot que se encuentra en peligro de caer del dohyo y que debe retirarse de ese lugar a uno más seguro. Para ello, lo hacemos retroceder una distancia de 10 y luego girar 180 grados.

Sin título-2.png

SI el valor es menor a nuestra constante, pasaremos a localizar al enemigo. Para ello utilizaremos un razonamiento simple, giramos hasta encontrarlo. Utilizaremos el sensor de distancia, que al indicar un valor menor a 1000, sabremos que nuestro objetivo se encuentra delante del robot. Al tenerlo delante del Butiá procederemos a avanzar hasta interceptarlo y empujarlo, arrojándolo fuera del dohyo. Esto siempre y cuando la distancia sea menor a 1000. De no ser así, nuestro enemigo ya no se encuentra delante del robot y procederemos a buscarlo nuevamente. El programa completo tendría el siguiente aspecto:

Sumo completo.png
  • (Aumentamos, en el comienzo del programa, la velocidad del Butiá para tener más fuerza al empujar).

Descargar este ejemplo para TortugarteButiá

El comportamiento en acción (El programa está cargado en el Butiá Verde):