Diferencia entre revisiones de «Ejemplo sumo»
Línea 1: | Línea 1: | ||
− | A continuación desarrollaremos un programa para permitir al robot Butiá luchar al estilo sumo. | + | 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. | 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. | ||
Revisión del 09:31 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.
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:
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. 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.
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.
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:
- (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):