Sie sind auf Seite 1von 13

Mquinas de Estado y

Resolucin de Problemas

Mquinas de Estados

Mquinas de estados permiten resolver problemas en forma automtica sobre una entrada para producir una salida. Este tipo de modelos utilizado para resolver un problema se denomina autmata. Note que la capacidad de ser automtico es diferente de la de ser autnomo. Todos los robots realizan tareas en forma automtica, pero NO todos son autnomos.

- Mquinas de Estados y Autmatas -

Para qu se utilizan autmatas?


Para disear circuitos digitales Para disear partes de un lenguaje de programacin (compilador) Bsqueda de palabras claves en textos o en Internet. Para construir protocolos de comunicacin. Para programar tareas simples de robots. Etc.

- Mquinas de Estados y Autmatas -

Un Ejemplo Simple
Una mquina de estados (autmata) que modela el encendido/apagado de un interruptor
presionar
estados

Apagado

Prendido

presionar
- Mquinas de Estados y Autmatas -

condiciones

Autmatas: algunos conceptos

Un problema se puede modelar utilizando mquinas de estados (autmatas) cuando el siguiente estado depende de alguna forma del estado anterior. En otras palabras, si la mquina est en un estado y se cumple una condicin, esta cambiar su estado (y siempre tendr el mismo comportamiento). Esta forma de operar es la base de TODOS los dispositivos automticos (incluidos robots). Sin embargo, el mismo modelo no se podra aplicar a problema como prediccin del tiempo, porqu?.
- Mquinas de Estados y Autmatas -

Autmatas y Robots

En general, podemos utilizar autmatas para modelar el problema que resolver un robot. Necesitamos definir:

El problema mismo Los estados (un nmero finito) Las condiciones (o acciones a realizar) para cambiar de un estado a otro.

Sin embargo, no todos los problemas de robots pueden ser resueltos con autmatas!!.
- Mquinas de Estados y Autmatas -

Autmatas y Problemas

Un autmata es entonces una mquina de estados que permite modelar el problema del robot en trminos lgicos, es decir, independiente de los aparatos fsicos. Note que existe mucha teora matemtica y computacional tras el diseo de autmatas, de modo que uno podra comprobar formalmente sus propiedades (no se har en este curso).

Intuitivamente, un autmata es una funcin matemtica que transforma estados y entradas en los prximos estados.
- Mquinas de Estados y Autmatas -

Autmatas y Problemas
Por lo anterior, si se logra disear un autmata para un problema, quiere decir que puedo construir un programa computacional que lo resuelva. Note que existen problemas complejos para los cuales NO es factible construir un autmata simple, por lo que se dice que el problema no es computable.

- Mquinas de Estados y Autmatas -

Autmatas de Ejercicio
Mquina de estados para robot que escapa de los obstculos.
Estado
inicial Sensor izq Salida d=der Sensor der Salida d=izq
Obstculo Detectado

Giro

Mover Distancia b En Movimiento Girar en

ngulo

- Mquinas de Estados y Autmatas -

Ejercicio

Implementar la mquina de estados anterior SOLO utilizando el ambiente de Software LEGO

- Mquinas de Estados y Autmatas -

Actividad: Mover objetos


Objetivo: aprender el diseo e implementacin de robots con mquinas de estados y la utilizacin de sensores bsicos reales.
Ud. ha aprendido lo bsico de mquinas de estados, robots, sensores, etc. Deber construir un robot LEGO que sea capaz de moverse en el ambiente y mover un de objeto. - Mquinas Estados y Autmatas

Actividad: Mover objetos

Cada grupo deber seguir entonces los siguientes pasos:

Se sugieren las siguientes tareas a definir e implementar en el robot:

Construir (si es que no est listo) el soporte fsico mvil del robot. Disear la mquina de estados que controlar el robot en base a los estmulos que percibe el robot utilizando el ambiente de software LEGO. Cargar el programa en el Robot, y probar su funcionamiento para detectar y luego mover un objeto en la mesa o en el suelo.

Avanzar, Retroceder, Detectar objeto, Mover objeto, etc, etc.


- Mquinas de Estados y Autmatas -

Actividad: Mover objetos


Algunas indicaciones:
El

robot debe moverse en cualquier direccin al comienzo (Ud. determina el orden) para buscar donde puede haber un objeto. Una vez que el robot detecta el objeto y lo empuja, la tarea termina despus de 5 segundos de haber empujado.

- Mquinas de Estados y Autmatas -

Das könnte Ihnen auch gefallen