ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Lego Mindstorms RCX


Enviado por   •  28 de Mayo de 2012  •  Trabajos  •  1.060 Palabras (5 Páginas)  •  758 Visitas

Página 1 de 5

Introducción.

Durante el curso de inteligencia artificial que se desarrolló en el presente semestre, descubrimos conceptos básicos sobre sistemas con la capacidad de actuar de la misma manera en la que actuaría un humano a los que llamamos agentes.

Con el conocimiento adquirido se propuso desarrollar programas para simular la inteligencia y la forma de razonar de un agente, tales como un puzzle 8 que consiste en un tablero de 3 X 3 con ocho fichas numeradas del 1 al 8 y un espacio en blanco. Una ficha adyacente al espacio en blanco, puede deslizarse a éste, todo empieza con un estado final, donde la meta es alcanzar el estado objetivo.

El resolver este tipo de problemas nos lleva a formar ciertos algoritmos de búsqueda que nos lleven a la solución, basándonos en el análisis de resolución tratamos de programar mediante el uso de árboles. Los cuales nos ayudan a encontrar un resultado completo en pocos segundos.

Todo esto nos lleva a proponer otro reto, el sokoban, donde el objetivo es empujar objetos para llevarlos a un lugar en concreto. Sólo se pueden empujar no tirar de ellos, por lo que si el espacio de acción se nos reduce, la cosa se complica un poco conforme vamos pasando de niveles.

Para ello se debe crear un algoritmo de búsqueda para nuestro caso utilizaremos el Algoritmo de A* que nos permita llegar a una solución Completa, así mismo esta solución aplicarla a un agente, en este caso será nuestro robot RCX y demostrar que durante el curso aplicamos la inteligencia artificial en agentes con capacidad de razonar.

Lego Mindstorms RCX

Es el resultado de la colaboración de Lego con el MIT (Instituto Tecnológico de Massachusetts), Para enseñar los principios básicos de la robótica, con ayuda de programación y creatividad.

El bloque RCX es la pieza central del Lego Mindstorms, que contiene toda la parte lógica y electrónica que permite la acción del robot, es capaz de almacenar en su memoria hasta 5 programas diferentes, y aparte el firmware que establece la lógica que controla los circuitos electrónicos, indispensable para el control de los dispositivos que se conectan al bloque.

Los programas que recibirá el robot serán transferidos desde una computadora con la ayuda de una torre lego, esta se conectará a un puerto USB y mediante señal infrarroja transmitirá los datos al bloque.

La plataforma con la cual trabajaremos en la compilación, transmisión y ejecución de los programas en el robot será el sistema operativo lejos, apoyados con un gran lenguaje de programación que es java, con ayuda del compilador JCreator en su versión 4.5.

El bloque Consta de:

- Micro controlador Hitachi H8/3292, a 5 volts y una velocidad aproximada de 16 MHz.

- Una memoria ROM de 16 Kb.

- Una memoria RAM externa de 32 Kb.

- Decodificador analógico digital que permite transformar las distintas entradas de energía en bits.

Una vez calculada la solución mediante el algoritmo de A* el robot RXC servirá como nuestro agente, pues interpretará la solución arrojada y la desarrollará en un entorno dado.

Con ayuda de 2 motores y 2 sensores de luz, nuestro robot lego avanzará para lograr llegar a un estado meta dada la solución del algoritmo completo A*.

Algoritmo A*

- Es uno de los algoritmos más utilizados en inteligencia artificial para la búsqueda de caminos.

- Es un algoritmo eficiente y nos garantiza la ruta más corta o la menos costosa entre 2 nodos, siempre y cuando exista.

- El algoritmo A* utiliza una función de evaluación f(n) = g(n) + h‘(n), donde h‘(n) representa el valor heurístico del nodo a evaluar desde el actual, n, hasta el final, y g(n), el coste real del camino recorrido para llegar a dicho nodo, n.

- Este algoritmo es una combinación entre búsquedas del tipo primero en anchura con primero en profundidad: mientras que h‘(n) tiende a primero en profundidad, g(n) tiende a primero en anchura. De este modo, se cambia de camino de búsqueda cada vez que existen nodos más prometedores.

Problema a enfrentar

Deseamos conocer un algoritmo del tipo A* para resolver mediante un programa realizado con ayuda de la programación en lenguaje java, la solución de un tablero del tipo “Sokoban”, que este a su vez deberá de ser aplicado a un robot lego RCX, para interpretar la solución obtenida a través del algoritmo creado.

Solución del problema

Para solucionar el problema se desarrollaron las clases en Java, en las que se implementa la expansión de un árbol de búsqueda y una lista ordenada que contienen los nodos que dan solución a los problemas del Sokoban, dando como entradas, a través de una interfaz, el mapa a solucionar, la cantidad de filas, la cantidad de columnas y por último la cantidad de cajas, y obteniendo como salida la ruta que debe desarrollar el agente de Sokoban para resolver un

...

Descargar como (para miembros actualizados)  txt (7 Kb)  
Leer 4 páginas más »
Disponible sólo en Clubensayos.com