Yatay

De Proyecto Butiá
Saltar a: navegación, buscar

Yatay es un IDE creado por Andres Nebel y Renzo Rozza como proyecto de grado en la facultad de ingeniería UdelaR; tutoriados por Andrés Aguirre y Santiago Sisto. El proyecto Butiá trabaja sobre dicho IDE agregándole funcionalidades.

Yatay1a.png

Enlace a página de Yatay


Cómo controlar al robot Butiá Detí a través de Yatay

Te mostramos paso a paso cómo programar al Butiá 3.0 usando el IDE Yatay

1) Prendemos el Robot Butiá Detí

2) Dede nuestra pc, vamos a ver en conexiones wifi, que tendremos una nueva: butia_default. Una vez que aparece disponible, nos conectamos

3) Abrimos un navegador

4) Escribimos: 192.168.1.2:8080/apps/yatay y vamos a dicha dirección.

Si todo salió bien tendremos todo listo para empezar a programar a nuestro Butiá Detí.

BienvenidoYatay.jpeg

Empezando a programar

El IDE Yatay se basa en la programación de comportamientos (Yatay las llama Acciones). Es decir, para controlar al robot se deben definir distintos comportamientos, donde cada uno tendrá:

  • Un número único que representa su prioridad
  • Un evento disparador, que en el caso de que suceda tal evento, el robot comenzará a ejecutar el comportamiento asociado



AccionesYatay.jpeg

En la imagen de arriba podemos ver que se pueden definir dos tipos de comportamientos. El de la izquierda es un comportamiento único que el robot va a ejecutar siempre que no se cumpla el evento disparador de otro comportamiento. El de la derecha es el tipo de comportamiento que se ejecuta en caso de que su evento disparador sea verdadero. Entonces la prioridad sirve para decidir cuál comportamiento ejecutar en el caso de que se cumpla al mismo tiempo, más de un evento disparador. En ese caso se ejecutará el comportamiento de mayor prioridad.
En conclusión: se puede tener un sólo comportamiento del tipo de la izquierda que se va a estar ejecutando constantemente, y N comportamientos del tipo de la derecha que van a estar esperando a que su evento disparador sea verdadero. A la hora de elegir entre un comportamiento y otro, el programa se basará en la prioridad. Si hay más de un comportamiento con la misma prioridad, se elige uno al azar.

Ejemplo sencillo: Supongamos que queremos hacer que nuestro robot esquive obstáculos. Queremos que nuestro robot siempre avance, pero si se cruza algo por delante lo debe esquivar. Intuitivamente podemos definir dos comportamientos:

  • Avanzar: El que no tiene evento disparador sería el comportamiento de ir hacia adelante, porque lo debe hacer siempre (al menos que algo se interponga en su camino).
  • Esquivar: El otro comportamiento sería retroceder y girar; y su evento disparador sería que se cruce algo por delante.

¿Cómo asignamos la prioridad? En este caso el comportamiento con más prioridad es Esquivar porque cada vez que se le cruce algo, lo debe ejecutar sí o sí. Pasemos esta solución a Yatay:

  • Definimos el comportamiento Avanzar, con prioridad 1:

AvanzarYatay.png

  • Generamos el comportamiento haciendo click en TicYatay.png Ahora podremos crear un nuevo comportamiento.

  • Definimos el comportamiento Esquivar, con prioridad 2. Su evento disparador es que el sensor distancia conectado en el puerto 5, devuelva una valor mayor a 33000. Eso significa que se ha puesto algo por delante. Lo que hace este comportamiento es retroceder (antes de chocarse) durante 1 segundo y girar (para cambiar de dirección) durante 1 segundo.

EsquivarYatay.png