Diferencia entre revisiones de «Yatay»

De Proyecto Butiá
Saltar a: navegación, buscar
(Empezando a programar)
(Empezando a programar)
Línea 21: Línea 21:
 
[[Archivo:AccionesYatay.jpeg]]<br><br>
 
[[Archivo:AccionesYatay.jpeg]]<br><br>
  
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 decir 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.<br><br>
+
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.<br> En definitiva se puede tener un sólo comportamiento del tipo de la izquierda, y N comportamientos del tipo de la derecha; cada uno con su prioridad. <br><br>
Ejemplo sencillo: Supongamos que queremos hacer que nuestro robot esquive obstáculos. Es decir que el robot siempre vaya hacia adelante pero si se cruza algo en frente, que se detenga, retroceda y gire, y luego vuelva a ir hacia adelante. Entonces podemos definir dos comportamientos: <br>
+
'''Ejemplo sencillo:''' Supongamos que queremos hacer que nuestro robot esquive obstáculos. . Es decir que el robot siempre vaya hacia adelante pero si se cruza algo en frente, que se detenga, retroceda y gire, y luego vuelva a ir hacia adelante. Entonces podemos definir dos comportamientos: <br>
 
1)El que no tiene evento disparador sería el comportamiento de ir hacia adelante, porque lo debe hacer siempre que nada se interponga en su camino.<br>
 
1)El que no tiene evento disparador sería el comportamiento de ir hacia adelante, porque lo debe hacer siempre que nada se interponga en su camino.<br>
 
2)El otro comportamiento sería retroceder y girar; y su evento disparador sería que se cruce algo por delante.<br>
 
2)El otro comportamiento sería retroceder y girar; y su evento disparador sería que se cruce algo por delante.<br>
 
¿Cómo asignamos la prioridad? En este caso el comportamiento con más prioridad es el 2) porque si su evento disparador es verdadero lo debe ejecutar sí o sí.
 
¿Cómo asignamos la prioridad? En este caso el comportamiento con más prioridad es el 2) porque si su evento disparador es verdadero lo debe ejecutar sí o sí.

Revisión del 18:18 8 sep 2015

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


Empezando a programar

El IDE Yatay se basa en la programación de comportamientos. 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 definitiva se puede tener un sólo comportamiento del tipo de la izquierda, y N comportamientos del tipo de la derecha; cada uno con su prioridad.

Ejemplo sencillo: Supongamos que queremos hacer que nuestro robot esquive obstáculos. . Es decir que el robot siempre vaya hacia adelante pero si se cruza algo en frente, que se detenga, retroceda y gire, y luego vuelva a ir hacia adelante. Entonces podemos definir dos comportamientos:
1)El que no tiene evento disparador sería el comportamiento de ir hacia adelante, porque lo debe hacer siempre que nada se interponga en su camino.
2)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 el 2) porque si su evento disparador es verdadero lo debe ejecutar sí o sí.