Diferencia entre revisiones de «Ejemplo sumo»

De Proyecto Butiá
Saltar a: navegación, buscar
 
(No se muestran 4 ediciones intermedias del mismo usuario)
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.
 +
 +
Para comenzar, plantearemos los detalles a tener en cuenta y los pasos que el robot debe seguir para ser un completo  luchador de sumo:
  
<center>[[Archivo:Sin_título-1.png‎|200px]]</center>
+
[[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>
Línea 22: Línea 27:
 
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.  
 
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:
 
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:
 +
  
 
<center>[[Archivo:Sumo_completo.png‎|500px]]</center>
 
<center>[[Archivo:Sumo_completo.png‎|500px]]</center>
 
   
 
   
 
*(Aumentamos, en el comienzo del programa, la velocidad del Butiá para tener más fuerza al empujar).
 
*(Aumentamos, en el comienzo del programa, la velocidad del Butiá para tener más fuerza al empujar).
 +
 
   
 
   
 +
¿Dónde debo colocar los sensores?
 +
 +
<center>[[Archivo:Sensores.png‎]]</center>
 +
 +
Como podemos ver en la imagen anterior, el sensor de Distancia debe colocarse señalando hacia adelante, en la parte delantera del robot Butiá. Mientras que el sensor de Grises también debe ir colocado en la parte delantera pero señalando hacia abajo.
 +
 
[http://www.box.net/shared/166qyrrnuuuvojuqvt4f Descargar este ejemplo para TortugarteButiá]
 
[http://www.box.net/shared/166qyrrnuuuvojuqvt4f Descargar este ejemplo para TortugarteButiá]
  

Revisión actual del 20:18 2 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.

Para comenzar, plantearemos los detalles a tener en cuenta y los pasos que el robot debe seguir para ser un completo 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).


¿Dónde debo colocar los sensores?

Sensores.png

Como podemos ver en la imagen anterior, el sensor de Distancia debe colocarse señalando hacia adelante, en la parte delantera del robot Butiá. Mientras que el sensor de Grises también debe ir colocado en la parte delantera pero señalando hacia abajo.

Descargar este ejemplo para TortugarteButiá

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