You are on page 1of 3

FUNDAMENTOS DE INTELIGENCIA ARTIFICIAL Departamento de Ciencia de la Computacin e Inteligencia Artificial Universidad de Alicante

Curso 2010/2011

PRCTICA 3: Lgica Difusa

Objetivos
Comprender el funcionamiento de un sistema experto difuso. Desarrollar y probar un sistema experto, utilizando lgica difusa, que sea capaz de estabilizar un pndulo invertido (http://www.youtube.com/watch?v=CdIZmr8ZdRE).

Enunciado
Se pide implementar un sistema experto difuso utilizando el lenguaje FCL (Fuzzy controler language). Este lenguaje es prcticamente una transcripcin del lenguaje natural para la especificacin de sistemas difusos. Podis ver un ejemplo de FCL aqu: (http://jfuzzylogic.sourceforge.net/html/example_fcl.html) y ms informacin en la librera sobre la que se basa la prctica (http://jfuzzylogic.sourceforge.net/html/index.html). Se proporciona un cdigo base, a cargar en Netbeans, que muestra un entorno 2D en el que se representa un pndulo. La tarea a realizar se reduce a elaborar un controlador difuso que se encargue de disponer el pndulo formando 90 grados con la base, de manera que el pndulo mire hacia arriba. Se puede perturbar el pndulo o bien con los cursores o bien con el ratn. El controlador difuso ha de ser capaz de estabilizar el pndulo aunque existan perturbaciones.

Por defecto no est habilitado el controlador difuso (que debis programar en el fichero pendulo.fcl). Para activarlo debis pulsar la tecla 'S'. En cada instante de tiempo el pndulo recibir cuatro variables (que se deben llamar tal cual se describe a continuacin en el sistema experto difuso pendulo.fcl)
!

velocidad : valor angular del pndulo. Esta variable tendr un rango aproximado de -2 a 2 unidades angulo: angulo del pndulo respecto al eje Y (sentido horario +). Esta variable tendr un rango de -180 a 180 grados. posicion: posicin del la plataforma en le eje X respecto al origen. El origen se encuentra en el centro de la pantalla. velocidadlineal: velocidad lineal de la plataforma en el eje X. Esta variable tendr un rango aproximado de -100 a 100 unidades.

Adems, el sistema experto deber almacenar en una variable real llamada aceleracion la fuerza a aplicar a la plataforma para la estabilizacin.

Detalles de la implementacin
El cdigo base se puede descargar de (http://dl.dropbox.com/u/2440524/PenduloInvertidoFIA.zip) El nico fichero que se ha de modificar ser el fichero pendulo.fcl.

Parte adicional
Para obtener ms de un 8 se debe disear, utilizando las mismas libreras, un entorno en el cual se represente un coche (utilizando por ejemplo una caja) que se podr manejar aplicndole un giro y una velocidad. Este coche podr disponer de los sensores necesarios para realizar el aparcamiento en la zona indicada de manera satisfactoria. El diseo del entorno (a falta nicamente de agregar el controlador difuso) y un anlisis terico de que reglas y conjuntos se pueden utilizar valdr 1 punto. Por otra parte, construir completamente el sistema experto capaz de aparcar el coche valdr 2 puntos.

Entrega de la prctica

La fecha lmite de entrega es el lunes 10 de enero hasta las 12:00 de la noche. La entrega se realizar a travs de Campus Virtual en el apartado de Evaluacin>Controles. Para ello se seleccionar la asignatura FIA y el profesor correspondiente. La entrega constar de un fichero .ZIP que contendr dos o tres carpetas:
" "

"

'/src' donde se encontrar nica y exclusivamente el fichero pendulo.fcl '/adicional', carpeta optativa, donde se dispondrn las partes adicionales implementadas. Dentro de esta carpeta existir un fichero 'extra.pdf' donde se explicarn y documentarn convenientemente las partes adicionales de la prctica implementadas. En esta caso de debe adjuntar TODO el proyecto Netbeans que se haya utilizado. '/doc' donde estar disponible la documentacin en formato PDF explicando de forma detallada la implementacin del sistema experto y las pruebas realizadas.

El nombre del fichero ZIP tendr el siguiente formato: NombreApellido1Apellido2.ZIP. Un fichero de ejemplo sera RaulMartinezSerra.zip
"

IMPORTANTE!!! no cumplir cualquiera de las normas de formato/entrega anteriores puede suponer un suspenso en la prctica. Recordad que las prcticas son individuales y NO se pueden hacer en parejas o grupos. Cualquier cdigo copiado supondr un suspenso de la prctica para todas las personas implicadas en la copia. IMPORTANTE!!! la documentacin deber incluir una seccin de experimentacin en la que se describan las pruebas realizadas para determinar el funcionamiento del sistema experto, dejando bien claro el objetivo de las pruebas, cmo se han llevado a cabo, que informacin se ha recopilado a partir de las mismas, y qu conclusiones se han extrado. Una documentacin sin este apartado se considerar suspensa. Se debern tener las dos partes de la prctica (documentacin y cdigo) aprobadas por separado para poder aprobar la prctica.

"

Software til
Netbeans (www.netbeans.org/) JfuzzyLogic (http://jfuzzylogic.sourceforge.net/html/index.html) Phys2d (http://www.cokeandcode.com/phys2d/)

You might also like