lunes, 8 de diciembre de 2008

Practica Final - MUNDO WUMPUS

IGNACIO VICENTE PEÑA FREGOSO
GONZALO NORIEGA LANDEROS
JUAN PADILLA PEREZ

PRACTICA DE AGENTES DELIVERATIVOS

Documento Word del proyecto


CODIGO FUENTE DEL AGENTE


Tuvimos complicaciones con la sensibilidad del sensor de luz por lo que únicamente logramos la resolución de la práctica probando con la consola. Por esto otorgamos en lugar de un video, el archivo ejecutable de la resolución del programa.

DESCARGAR ARCHIVO

martes, 2 de diciembre de 2008

LEGO NXT - Practica Laberinto

INTEGRANTES

Gonzalo Noriega
Ignacio Peña
Juan Padilla

EL ROBOT





VIDEO DE LA ACTIVIDAD 4



Preguntas

Preguntas actividad 1.

¿Llegó el agente a la meta?



¿Por qué crees que haya sucedido esto?

Porque las reglas acción condición que tenía programadas fueron adecuadas para resolver el problema.



Actividad 2: Utilizando el mismo ambiente anterior, construye un agente reflexivo que tengauna memoria lo más simple posible que le permita salir del laberinto (llegar a la posición F). Una opción es que la memoria del agente contenga un contador de las veces que ha girado a la derecha.


Preguntas actividad 2:

¿Llegó el agente a la meta?



¿Cómo es la memoria del agente?

Recuerda cuando encontró una pared a la izquierda, derecha y enfrente, con lo que determina que el siguiente paso a seguir es dar un giro de 180 grados

¿Notas alguna diferencia con el agente reflexivo simple?

El tener una memoria le permite tomar decisiones más acertadas



Actividad 3: Utiliza el agente reflexivo con memoria construido en la actividad dos ypruébalo en el ambiente modificado para que el laberinto tenga la forma siguiente:


Preguntas actividad 3:

¿Llegó el agente a la meta?



Si no llegó a la meta ¿Qué le falta para eventualmente encontrar la salida?


Actividad 4: Haz las modificaciones pertinentes para que tu agente reflexivo con memoria pueda salir del laberinto anterior. Una vez que lo hayas terminado, pruébalo con el siguiente laberinto:

Preguntas actividad 4:

¿Pudo llegar el agente a la meta?



¿Qué calificación obtuvo?
9, en general, aunque bien el algoritmo de resolución podría tener un 10, la implementación del robot no es excelente ya que los recorridos no son del todo derechos y suele desviarse.

Prueba el agente cambiando la posición y la dirección iniciales y compara el desempeño cada vez.

¿Qué conclusiones obtienes de esto?

Si un agente está bien programado puede cumplir su objetivo aunque las circunstancias sean ligeramente distintas.


Reglas Condición-Acción

Las reglas que utilizamos están basadas en el algoritmo de la “mano derecha”:


Si adelante esta libre y a la derecha hay pared, avanzar hacia adelante

Si a la derecha está libre, avanzar hacia la derecha

Si tanto a la derecha como adelante hay pared guardar en memoria esto

Si está guardado en memoria y a la izquierda hay pared, dar giro de 180 grados

Si está guardado en memoria y a la izquierda no hay pared, avanzar a la izquierda

sábado, 29 de noviembre de 2008

Si el Lego se moviera asi....

Aquí estan dos videos de la resolución de un laberinto mucho mas complejo y grande con un robot muy diferente al LEGO...



Interesante solucion al laberinto

Aquí esta un video de una solución al laberinto con el sensor de choque del LEGO y el sensor ultrasonico. Si observamos bien, el recorrido del robot no es derecho, es decir hace unos giros los cuales al parecer permiten que tenga una especie de balance.

jueves, 27 de noviembre de 2008

Windows vista 64 bits

Han aparecido numerosas complicaciones con este sistema operativo y con las aplicaciones que podemos utilizar para la programación del LEGO.

La primer aplicacion que presento complicación fue el Microsoft ROBOTICS en su simulación. Marca un error y no levanta la simulación del mudo por default. Al parecer deben buscarse algunas librerías especiales para 64 bits. Por cuestiones de tiempo decidimos intentar mejor con java.

LEJOS para java presento también una complicación pero en este caso no se busco una solución al problema e igualmente por cuestiones de tiempo, decidimos trabajar con una computadora que tuviera windows 32 bits.

Al parecer aun hay complicaciones con sistemas operativos de 64 bits pero se espera que en los próximos meses esto se vaya regularizando, a medida que vayan aumentando los usuarios de estas arquitectura.

miércoles, 1 de octubre de 2008

Practica 2 - Planeación


Practica 2. Parte 1.

EL MUNDO DE LOS BLOQUES.

Formalización.

Estado inicial: serie de bloques sobre una mesa.

Estado objetivo: bloques apilados.

OP(ACTION: Apilar(bloque),

PRECOND: brazo_libre ^ bloque_libre,

EFFECT: Levantar(bloque) ^ Mover(bloque) ^ Bajar(bloque) ^ ¬bloque_libre)

OP(ACTION: Levantar(bloque)

PRECOND: brazo_libre ^ bloque_libre

EFFECT: ¬brazo_libre)

OP(ACTION: Mover(bloque),

PRECOND: ¬brazo_libre

EFFECT:)

OP(ACTION: Bajar(bloque)

PRECOND: ¬brazo_libre

EFFECT: brazo_libre)

EL MUNDO DE SHAKEY.

ESTADO INICIAL.

Luz (habitación1, encendida).

Luz (habitacion2, apagada).

Luz (habitacion3, apagada).

Luz (habitacion4, encendida).

Caja1 (habitacion1).

Caja2 (habitacion1).

Caja3 (habitacion1).

Caja4 (habitacion1).

Shakey (estatico, sin_carga, habitacion3, encendido).

Estas son las definiciones de los estados de cada uno de los objetos envueltos en el problema según la imagen de la presentación.

Op ( Action: moverse (shakey),

Precond: shakey (estatico, sin_carga, habitacionx, encendido),

Effect: shakey(en_movimiento, sin_carga, ¬habitacionx, encendido)).

Op ( Action: mover_caja (shakey,cajax),

Precond: shakey (estatico, sin_carga, habitacionx, encendido) ˆ cajax (habitacionx),

Effect: shakey(en_movimiento, sin_carga, ¬habitacionx, encendido)).

Op ( Action: apagar (habitación x)

Precond: shakey (estatico, sin_carga, habitacionx, encendido) ˆ cajax (habitacionx) ˆ luz (habitación x, encendida)

Effect: shakey(apagar_luz , sin_carga, ¬habitacionx, encendido) ˆ luz (habitación x, apagada).

Op ( Action: apagars (shakey)

Precond: shakey (estatico, sin_carga, habitacion1, encendido) ˆ luz (habitación 1, apagada) ˆ luz (habitación 2, apagada) ˆ luz (habitación 3, apagada) ˆ luz (habitación 4, apagada)

Effect: shakey(apagar_luz , sin_carga, habitacionx, apagado).

EN COMPARACION A MI RESOLUCION.

¿En qué se parecen? ¿En qué son diferentes?

Mi solución a la del applet, se parecen la operaciones de levantar y de bajar alguna caja, pero la operación que yo definí de mover, no esta incluida ya que en las operación de bajar se especifica la posición.

¿Ventajas y desventajas de una y otra?

Las ventajas de mi solución es que quizás sea más fácil de entender lo que se desea hacer pero, es mas compleja en el momento de poner la serie de pasos para ver la solución. Y la ventaja de la propuesta en el applet es que es mas simplificado y de alguna manera es mucho mas eficiente a la hora de resolver el problema.

jueves, 18 de septiembre de 2008

Un gran musico

Aquí esta un robot presentado por Toyota el cual tiene la capacidad de tocar una pieza de violín. Esta no es la única tarea que puede realizar pero con esto quieren demostrar lo delicado de la actividad que este robot puede realizar.