6 de diciembre de 2008

((= Programando Agentes Reflexivos con Lego NXT =))

Por fin logramos que Wall-e saliera del laberinto, he aquí el reporte:

Tras realizar las actividades uno a la tres con éxito decidimos construir lo que sería el laberinto de la actividad cuatro, que es la única que reportaremos aquí, ya que si sale de este laberinto, fácilmente lo hace de los anteriores.

El siguiente es el laberinto del cual tenemos que salir y el modelo real que construimos con bancas y cajas :P :P



Preguntas sobre la actividad:

¿Llego el agente a la meta?
Sí, el agente logró llegar a la meta.

¿Qué calificación obtuvo?
Depende de la forma en que se considere su calificación. Si calificáramos el algoritmo con el que sale del laberinto obtendría un 10 porque el algoritmo funciona para todos los casos y se le realizaron varios ajustes hasta pulirlo. Si consideramos en desempeño real del robot en el laberinto obtendría un 9 pues como todos sabemos el robot no iba completamente derecho, esto por problemas del medio externo que no podíamos controlar, como la rugosidad del piso, las líneas del piso, hasta la batería del lego.

¿Qué conclusiones obtienen de esto?
Algo que aprendimos y que nos quedo mucho es el ver como se deben considerar a la hora de diseñar un algoritmo (sobre todo si se trata de un sistema que se ve afectado por el medio físico) no solo la situación ideal o perfecta, sino como se vera afectado al interactuar con el medio ambiente. Muchas veces un algoritmo que parece funcional y bien diseñado tiene que ser ajustado a parámetros o rangos que ajusten el resultado al medio. Realizar ésta práctica fue muy divertido y emocionante, sobre todo el ver todo tu algoritmo, lógica y pensamiento funcionando en un objeto, no solo en una pantalla, aunque la imperfección del medio que mencione antes a veces lo hacia complicado, ya no encontrabas que cambiarle para que saliera bien.

Reglas Condición-Acción:

Las reglas condición acción que utilizamos para la construcción del algoritmo fueron sencillas. Básicamente el robot va caminando todo el tiempo mientras que revisa siempre su lado derecho, comprobando que tenga una pared. Mientras vea una pared de su lado derecho seguirá caminando en la misma dirección. En caso de que deje de detectar la pared se detiene y mira hacia la derecha para estar seguro de que haya camino. Si hay camino gira 90 grados hacia la derecha y continua siguiendo la pared derecha hasta encontrar la salida. De lo contrario t si hay camino gira a la izquierda pero continúa siguiendo su pared derecha. Si encuentra un obstáculo en frente de él, se detiene, comprueba ambos lados, si tiene camino del lado derecho opta por ese camino, si no, gira hacia la izquierda. En ambos casos continúa revisando la pared derecha.

Nuestro Wall-e

Después de múltiples de rediseño con tal de mejorar el robot y sobre todo el balance y distribución del mismo (para que fuera derecho) así fue como quedo nuestro Wall-e. El diseño estuvo a cargo de Ramiro, Ixai y Paco... a las nenas no nos dejaron desarmar y rearmar Wall-e's ¬¬.

Aquí algunas fotos:





El algoritmo

A continuación se muestran la imágen donde podemos ver el programa construido en el programa de Lego a partir de bloques, como se puede observar, en realidad es muy sencillo construir programas así.


La prueba final

A continuación muestro un video de como nuestro Wall-e logró salir del laberinto =)



See you next time... !*

No hay comentarios.: