viernes 10 de julio de 2009

Sistemas generadores de planes: Introduccion

Muchas tareas de deducción se resuelven mediante sistemas de producción. Otros problemas para su solución requieren de sistemas más complejos, ejemplos de estos dominios: la resolución de problemas de robot y la programación automática, los cuales están ligados a los sistemas de resolución de problemas.

 

La programación de un robot implica:

 

·        La percepción del mundo circundante.

·        La formación de planes de acción.

·        El control de la ejecución de esos planes

 

A la hora de resolver un problema se parte de sintetizar una secuencia de acciones que permitan alcanzar un objetivo dado una situación inicial.

 

Donde la  síntesis de las acciones se resuelve mediante un sistema de producción que estaría compuesto por:

 

La base de datos globales o base de hechos: Es una descripción actual de la situación o estado del mundo en que se encuentra el robot.

 

Las reglas: son cálculos que representan las acciones del robot.

 

En los sistemas basados en reglas de producción, cuando una regla de implicación se aplica a la base de datos global, este se modificaba mediante la adición de una estructura, pero no era suprimido de esa base de datos.

 

 

miércoles 1 de julio de 2009

La programacion de robot

Veremos algunos de los lenguajes de programación más usados en la robótica.


Gestual Punto A Punto

 

Se aplican con el robot "in situ", recordando a las normas de funcionamiento de un magnetófono doméstico, ya que disponen de unas instrucciones similares: PLAY (reproducir), RECORD (grabar), FF (adelantar), FR (atrasar), PAUSE, STOP, etc. Además, puede disponer de instrucciones auxiliares, como INSERT (insertar un punto o una operación de trabajo) y DELETE (borrar). Este manipulador en línea funciona como un digitalizador de posiciones.


Los lenguajes más conocidos en programación gestual punto a punto son el FUNKY, creado por IBM para uno de sus robots, y el T3, original de CINCINNATI MILACROM para su robot T3. Los movimientos pueden tener lugar en sistemas de coordenadas cartesianas, cilíndricas o de unión, siendo posible insertar y borrar las instrucciones que se desee. Es posible, también, implementar funciones relacionadas con sensores externos, así como revisar el programa paso a paso, hacia delante y hacia atrás. En el lenguaje FUNKY se usa un mando del tipo "joystick", que dispone de un comando especial para centrar a la pinza sobre el objeto para el control de los movimientos, mientras que el T3 dispone de un dispositivo de enseñanza ("teach pendant").

 

Estructurados De Programación Explícita


Teniendo en cuenta las importantísimas características que presenta este tipo de programación, merecen destacarse los siguientes lenguajes:

·        AL

·        HELP

·        MAPLE

·        PAL

·        MCL

·        MAL EXTENDIDO

Con excepción de HELP, todos los lenguajes de este grupo están provistos de estructuras de datos del tipo complejo. Así, el AL utiliza vectores, posiciones y transformaciones; el PAL usa, fundamentalmente, transformaciones y el MAPLE permite la definición de puntos, líneas, planos y posiciones. Sólo el PAL, y el HELP carecen de capacidad de adaptación sensorial. Los lenguajes AL, MAPLE y MCL, tienen comandos para el control de la sensibilidad del tacto de los dedos (fuerza, movimiento, proximidad, etc.). Además, el MCL posee comandos de visión para identificar e inspeccionar objetos.


En función de los objetivos.


La filosofía de estos lenguajes consiste en definir la situación final del producto a fabricar, a partir de la cual se generan los planes de acción tendentes a conseguirla, obteniéndose, finalmente, el programa de trabajo. Han surgido dentro del campo de la Inteligencia Artificial  y los  lenguajes más conocidos de este grupo son:

·        STRIPS

·        HILAIRE

 

STRIPS

Fue diseñado, en la Universidad de Stanford, para el robot móvil SHAKEY. Se basa en un modelo del universo ligado a un conjunto de planteamientos aritmético-lógicos que se encargan de obtener las subrutinas que conforman el programa final.

 

HILAIRE
Procedente del laboratorio de Automática Y Análisis de Sistemas (LAAS) de Toulouse, está escrito en lenguaje LISP. Es uno de los lenguajes naturales más interesantes, por sus posibilidades de ampliación e investigación.

 

Ambos se originan dentro de la IA y están basados en el dominio de aplicación de los sistemas de resolución de problemas.

 

 

martes 16 de junio de 2009

ROBOTS CON CAPACIDADES SENSORIALES

 

Aún se pueden añadir a este tipo de robots capacidades sensoriales: sensores ópticos, codificadores, etc. Los que no poseen estas capacidades sólo pueden trabajar en ambientes donde los objetos que se manipulan se mantienen siempre en la misma posición. En el caso de la cadena de soldadura de carrocerías de automóviles, las carrocerías están en movimiento hasta que llegan delante del robot, donde quedan inmóviles hasta que éste termina su trabajo; en este momento la cadena se vuelve a poner en movimiento hasta que vuelve a detenerse cuando otra carrocería está delante del robot, y así sucesivamente. Si estos robots tuvieran capacidades sensoriales, podrían suprimirse las paradas en la cadena. Supongamos que hay un codificador sujeto a la línea de movimiento y que el robot está provisto de un sensor óptico. El primero indicaría  al robot la velocidad de la carrocería y con el segundo el robot sabrá cuándo esta carrocería se mueve en su área de trabajo, momento en que empezará a ejecutar las órdenes que le llegan de la computadora. A partir de este momento, la computadora del robot irá transformando el sistema de coordenadas con respecto a la carrocería en movimiento para que el robot pueda efectuar las soldaduras en el lugar apropiado.

 

Los robots con capacidades sensoriales constituyen la última generación de este tipo de máquinas. El uso de estos robots en los ambientes industriales es muy escaso debido a su elevado coste. Actualmente, las compañías industriales están valorando si económicamente les resulta más ventajoso mantener los robots que necesitan tener inmóviles los objetos o bien este último tipo de robots. La razón del encarecimiento de estas máquinas es el alto coste de los aparatos sensoriales y del software utilizado para el manejo.

 

A pesar de todo, la investigación sobre los aparatos sensoriales está en pleno apogeo, lo que conducirá seguramente a un abaratamiento de éstos y a un aumento de su potencia y de sus capacidades.

 

Estos robots se usan en cadenas de embotellado para comprobar si las botellas están llenas o si la etiqueta está bien colocada.

 

 

jueves 4 de junio de 2009

Robots controlados por computadora

Un cuarto tipo de robots comprende aquellos que se pueden controlar mediante computadora. Con ella es posible programar el robot para que mueva sus brazos en línea recta o describiendo cualquier otra figura geométrica entre puntos preestablecidos. La programación se realiza mediante una caja de control o mediante el teclado de la computadora. El movimiento de sus brazos se especifica mediante varios sistemas de coordenadas según la referencia que se tome: la mesa de trabajo en la que se encuentra apoyado el robot o el extremo del brazo del robot. La computadora permite además acelerar más o menos los movimientos del robot, para facilitar la manipulación de objetos pesados.

 

jueves 21 de mayo de 2009

Robots punto a punto

Añadiendo a los servomecanismos una memoria electrónica capaz de almacenar programas y un conjunto de circuitos de control digital, se obtienen robots más potentes y de más fácil manejo.

 

La programación de este tercer tipo de robots se efectúa mediante una caja de control que posee un botón de control de velocidad, mediante el cual se puede ordenar al robot la ejecución de los movimientos paso a paso. Se clasifican, por orden de ejecución, los pasos que el robot debe seguir, al mismo tiempo que se puede ir grabando en la memoria la posición de cada paso. Este será el programa que el robot ejecutará. Una vez terminada la programación, el robot inicia su trabajo según las instrucciones del programa. A este tipo de robots se les llama punto a punto, porque el camino trazado para la realización de su trabajo está definido por pocos puntos. Para ejemplificar este método de programación pensemos en un niño que dirige un automóvil por control remoto. Si el vehículo dirigido tuviera una memoria que grabase los movimientos que el niño le ordena, podría realizar los mismos movimientos sin control y ser dirigido por la circuiteria electrónica que ejecutaría el programa grabado en memoria.

 

Gracias a la memoria electrónica que poseen estos robots, se pueden tener almacenados varios programas. El modo de elegir uno de los programas almacenados se hace a través de los recogidos por algún sensor o por una señal de input que les llega a través de las órdenes dadas por el programador.

 

Estos robots se usan por ejemplo en las cadenas de soldadura de carrocerías de automóviles. Los robots están programados para soldar automóviles de varios modelos distintos. El programador, o un sensor, reconoce el tipo de automóvil y decide el programa que se ha de aplicar en cada caso.

 

Estos programas constan de pocos pasos, muchas veces sólo cien; esto significa que no sirven como controladores de robots para trabajos de continuo movimiento. Para solventar este inconveniente, se usa una cinta en la que se almacenan miles de pasos de programa que el robot leerá y ejecutará; en estos casos la cinta actúa de memoria. Robots de este tipo, que se pueden encontrar en cadenas de pintura por spray, ya empiezan a trabajar como si fueran computadoras propiamente dichas.

 

viernes 15 de mayo de 2009

ROBOTS EQUIPADOS CON SERVOMECANISMOS

 

Otro tipo de robots más sofisticados desde el punto de vista del control y de las prestaciones que ofrecen son los que llevan servomecanismos.

 

El uso de servomecanismos va ligado al uso de sensores, como los potenciómetros, que informan de la posición del brazo o la pieza que se ha movido del robot, una vez éste ha ejecutado una orden transmitida. Esta posición es comparada con la que realmente debería adoptar el brazo o la pieza después de la ejecución de la orden; si no es la misma, se efectúa un movimiento más hasta llegar a la posición indicada.

 

viernes 8 de mayo de 2009

ROBOTS IMPULSADOS NEUMATICAMENTE:

 

La programación de estos robots consiste en la conexión de tubos de plástico a unos manguitos de unión de la unidad de control neumático. Esta unidad está formada por dos partes: una superior y una inferior. La parte inferior es un secuenciador que proporciona presión y vacío al conjunto de manguitos de unión en una secuencia controlada por el tiempo. La parte superior es el conjunto de manguitos de unión que activan cada una de las piezas móviles del robot. Las conexiones entre manguitos determinan qué piezas intervendrán en el movimiento, en qué dirección se moverán y los diferentes pasos que deberán efectuar. Modificando las conexiones de los manguitos de unión se podrán programar otras secuencias de pasos distintas.

Los robots del tipo descrito son los más simples que existen. Hay quien opina que a este tipo de máquinas no se les debería llamar robots; sin embargo, en ellas se encuentran todos los elementos básicos de un robot: estas máquinas son programables, automáticas y pueden realizar gran variedad de movimientos.