DISEÑO LÓGICO

Los microcontroladores contienen internamente y en forma virtual, bloques de código llamados "máquinas de estado finito aumentadas"o por brevedad MEFA. Cada una de ellas almacena información numérica destinada a controlar diversos aspectos de la conducta del robot ; como los movimientos de las patas, accionadas por 2 motores, uno para el movimiento de alzada vertical y otro para el desplazamiento horizontal. La posición relativa de los motores a efectos de su control es sensada con precisos potenciómetros que son leídos sincrónicamente por los microcontroladores adaptando la posición real con la buscada por la lógica del conjunto. La información -el estado- de una MEFA puede cambiar de un instante a otro en función de las señales que procedente de otros módulos , ingresen en ella . El estado de la mefa determinará tambien sus reacciones ante tales señales.
El sistema encargado de la locomoción y de la interacción del robot con el medio ambiente, ha sido almacenado en microcontroladores ubicados en la estructura del robot que son programados con un software especial cuya función es actuar como intermediario entre la PC, en donde se raliza el programa, y el microcontrolador que al compilar el programa, lo traduce, a lenguaje de máquina, Assembler. El controlador cuenta con un conjunto de comandos reducidos, pero potentes en el manejo de puertos de entrada y de salida, algunas de las instrucciones y comandos que posee nos permiten : lectura de las entradas de resistores y potenciómetros. verificar el estado de un pin, cálculo de funciones trigonométricas y funciones lógicas de alta complejidad, soportar comunicaciones seriales, transmisiones a altas velocidades, deefinición de variables, subrutinas y registros en la EEPROM.(memoria regrabable por tensión).
En un primer intento de estrategias de programación se utilizaba al módulo cordinador general como organizador de los movimientos y traductor de las señales que recibía del módulo de Merodeo. Lo que hacía, desde que se le daba energía, era esperar una señal del módulo de Merodeo (adelante, izquierda, etc.) y juzgar la dirección que debía tomar basándose en la respuesta y el estado de los sensores. Luego de establecerla, la buscaba en una tabla de donde obtenía la secuencia de instrucciones para enviarle a cada pata; de a tres y esperar a que se cumplan (señal de listo), continuando entonces el ciclo hasta terminar la secuencia y volver a pedir una señal desde el módulo de merodeo. Mientras tanto siempre contemplaba el estado de los sensores por si se encuentraba frente a un objeto.
En la etrategia de programación distribuida actual se establecen una serie de comportamientos directos tales como "deambular" , "esquivar cosas", y "retroceder" y, de modo tal que el robot, no tiene un cerebro central que decida cuál de estos comportamientos adoptar en un momento dado; todos ellos actúan como elementos independientes que compiten por el control del robot. Lo que determina al ganador es lo que éste ve y siente en el mundo que lo rodea. Si uno de los sonares infrarrojos detecta un objeto que se mueve en su campo de visión, el sensor gatilla el comportamiento "esquivar cosas", y en este punto todas las otras modalidades temporalmente se "subsuman". En este diseño lógico el acto reflejo lo es todo.
El robot bajo el control de la arquitectura de subsunción, es capaz de mucho más que la suma de sus comportamientos individuales. Los robots tradicionales están limitados a conductas preprogramadas, que pueden resultar inadecuadas frente a una situación no anticipada por el diseñador . Nuestro robot por su parte puede improvisar y, en cierto sentido, inventar: las reglas que hacen detonar un proceder en particular son directas; pero el modo siempre cambiante con que el torrente de informacion sensorial proveniente del mundo real las invoca, produce comportamientos "emergentes"; ésto es , las rutinas más simples terminan operando juntas de modos impredecibles y sorprendentemente complejos. .
El truco entero de la deambulación gira en torno al hecho siguiente: si cinco de las patas se encuentran tocando el suelo y se provoca la elevación de la sexta, el insectoide podrá desplazarse un poquito hacia adelante, con solo llevar un poco hacia atrás todas las patas apoyadas. Después si el robot hace que la pata alzada trace un arco hacia adelante y regrese hacia el suelo habra dado un paso.


Página Principal