miércoles, 2 de marzo de 2011

GUIA 6: SIGNIFICADOS

ROBOT

Un robot es una entidad virtual o mecánica artificial. En la práctica, esto es por lo general un sistema electromecánico que, por su apariencia o sus movimientos, ofrece la sensación de tener un propósito propio. La palabra robot puede referirse tanto a mecanismos físicos como a sistemas virtuales de software, aunque suele aludirse a los segundos con el término de bots.

No hay un consenso sobre qué máquinas pueden ser consideradas robots, pero sí existe un acuerdo general entre los expertos y el público sobre que los robots tienden a hacer parte o todo lo que sigue: moverse, hacer funcionar un brazo mecánico, sentir y manipular su entorno y mostrar un comportamiento inteligente, especialmente si ése comportamiento imita al de los humanos o a otros animales. Actualmente podría considerarse que un robot es una computadora con la capacidad y el propósito de movimiento que en general es capaz de desarrollar múltiples tareas de manera flexible según su programación; así que podría diferenciarse de algún electrodoméstico específico


SISTEMAS GUIADOS:

Sistemas guiados, en el cual el usuario conduce el robot a través de los movimientos

a ser realizados.


SISTEMAS DE PROGRAMACION DE NIVEL ROBOT:

sistemas de programación de nivel-robot, en los cuales el usuario escribe un

programa decomputadora al especificar el movimiento y el sensado


SISTEMAS DE PROGRAMACIÓN DE NIVEL-TAREA

Sistemas de programación de nivel-tarea, en el cual el usuario especifica la

operación por sus acciones sobre los objetos que el robot manipula.


VEHÍCULO AUTÓNOMO

Es cualquier vehículo no tripulado con cierto nivel de autonomía integrada

(ello incluye desde vehículos teleoperadoshasta vehículos totalmente inteligentes).


LENGUAJES DE PROGRAMACIÓN

A continuación se realiza una descripción 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").

El procesador usado en T3 es el AMD 2900 ("bit slice"), mientras que en el FUNKY

está constituido por el IBM SYSTEM-7.

A NIVEL DE MOVIMIENTOS ELEMENTALES.

Los movimientos de punto a punto también se expresan en forma de lenguaje:

    • ANORAD
    • EMILY
    • RCL
    • RPL
    • SIGLA
    • VAL
    • MAL

Todos ellos mantienen el énfasis en los movimientos primitivos, ya sea en

coordenadas articulares, o cartesianas. En comparación, tienen, como ventajas

destacables, los saltos condicionales y a subrutina, además de un aumento de

las operaciones con sensores, aunque siguen manteniendo pocas posibilidades

de programación "off-line".

Estos lenguajes son, por lo general, del tipo intérprete, con excepción del RPL,

que tiene un compilador. La mayoría dispone de comandos de tratamiento a

sensores básicos: tacto, fuerza, movimiento, proximidad y presencia. El RPL

dispone de un sistema complejo de visión, capaz de seleccionar una pintura y

reconocer objetos presentes en su base de datos.

Los lenguajes EMILY y SIGLA son transportables y admiten el proceso en paralelo

simple.

Otros datos interesantes de este grupo de lenguajes son los siguientes:

ANORAD

Se trata de una transformación de un lenguaje de control numérico de la casa

ANORAD CORPORATION, utilizado para robot ANOMATIC. Utiliza, como procesador,

al microprocesador 68000 de Motorola de 16/32 bits.

VAL

Fue diseñado por UNIMATION INC para sus robots UNIMATE y PUMA.

Emplea, como

CPU, un LSI-II, que se comunica con procesadores individuales que regulan el

servocontrol de cada articulación. Las instrucciones, en idioma inglés, son sencillas

e intuitivas, como se puede apreciar por el programa siguiente:

LISPT

PROGRAM PICKUP

1. APRO PART, 25.0

2. MOVES PART

3. CLOSE, 0.0.0

4. APRO PART, -50.0

5. APRO DROP, 100.0

6. MOVES DROP

7. OPEN, 0.0.0

8. APRO DROP, -100.0

END

RPL

Dotado con un LSI-II como procesador central, y aplicado a los robots PUMA, ha

sido diseñado por SRI INTERNATIONAL.

EMILY

Es un lenguaje creado por IBM para el control de uno de sus robots. Usa el

procesador IBM 370/145 SYSTEM 7 y está escrito en Ensamblador.

SIGLA

Desarrollado por OLIVETTI para su robot SUPER SIGMA, emplea un mini-ordenador

con 8 K de memoria. Escrito en Ensamblador, es del tipo intérprete.

MAL

Se ha creado en el Politécnico de Milán para el robot SIGMA, con un

Mini-multiprocesador. Es un lenguaje del tipo intérprete, escrito en FORTRAN.

RCL

Aplicado al robot PACS y desarrollado por RPI, emplea, como CPU, un PDP 11/03.

Es del tipo intérprete y está escrito en Ensamblador.

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.

A continuación, se exponen las características más representativas de los lenguaje

s

dedicados a la programación estructurada.

AL

Trata de proporcionar definiciones acerca de los movimientos relacionados con

los elementos sobre los que el brazo trabaja. Fue diseñado por el laboratorio de

Inteligencia Artificial de la Universidad de Stanford, con estructuras de bloques

y de control similares al ALGOL, lenguaje en el que se escribió. Está dedicado

al manipulador de Stanford, utilizando como procesadores centrales, a un

PDP 11/45 y un PDP KL-10.

HELP

Creado por GENERAL ELECTRIC para su robot ALLEGRO y escrito en

PASCAL/FORTRAN, permite el movimiento simultáneo de varios brazos. Dispone,

asimismo, de un conjunto especial de subrutinas para la ejecución de cualquier

tarea. Utilizando como CPU, a un PDP 11.

MAPLE

Escrito, como intérprete, en lenguaje PL-1, por IBM para el robot de la misma

empresa, tiene capacidad para soportar informaciones de sensores externos.

Utiliza, como CPU a un IBM 370/145 SYSTEM 7.

PAL

Desarrollado por la Universidad de Purdure para el manipulador de Stanford,

es un intérprete escrito en FORTRAN y Ensamblador, capaz de aceptar sensores

de fuerza y de visión. Cada una de sus instrucciones, para mover el brazo del

robot en coordenadas cartesianas, es procesada para que satisfaga la ecuación

del procesamiento. Como CPU, usan un PDP 11/70.

MCL

Lo creó la compañía MC DONALL DOUGLAS, como ampliación de su lenguaje de

control numérico APT. Es un lenguaje compilable que se puede considerar apto

para la programación de robots "off-line".

MAL EXTENDIDO

Procede del Politécnico de Milán, al igual que el MAL, al que incorpora elementos

de programación estructurada que lo potencian notablemente. Se aplica, también

, al robot SIGMA.

ESPECIFICATIVA A NIVEL OBJETO.

En este grupo se encuentran tres lenguajes interesantes:

    • RAPT
    • AUTOPASS
    • LAMA

RAPT

Su filosofía se basa en definir una serie de planos, cilindros y esferas, que dan

lugar a otros cuerpos derivados. Para modelar a un cuerpo, se confecciona una

biblioteca con sus rasgos más representativos. Seguidamente, se define los

movimientos que ligan a los cuerpos a ensamblar (alinear planos, encajar

cilindros, etc.).

Así, si se desea definir un cuerpo C1, se comienza definiendo sus puntos más

importantes, por ejemplo:

P1 = <>

P2 = <>

P3 = <>

P4 = <>

Si, en el cuerpo, existen círculos de interés, se especifican seguidamente:

C1 = CIRCLE/P2, R;

C2 = CIRCLE/P4, R;

A continuación, se determinan sus aristas:

L1 = L/P1, P2;

L2 = L/P3, P4;

Si, análogamente al cuerpo C1, se define otro, como el C2, una acción entre

ambos podría consistir en colocar la cara inferior de C1 alineada con la superior

de C2. Esto se escribiría.

AGAINST / BOT / OF C1, TOP / OF C2;

El lenguaje RAPT fue creado en la Universidad de Edimburgo, departamento de

Inteligencia Artificial; está orientado, en especial, al ensamblaje de piezas.

Destinado al robot FREDY, utiliza, como procesador central, a un PDP 10. Es un

intérprete y está escrito en lenguaje APT.

AUTOPASS

Creado por IBM para el ensamblaje de piezas; utiliza instrucciones, muy

comunes, en el idioma inglés. Precisa de un ordenador de varios Megabytes de

capacidad de memoria y, además de indicar, como el RAPT, puntos específicos,

prevé, también, colisiones y genera acciones a partir de las situaciones reales.

Un pequeño ejemplo, que puede proporcionar una idea de la facilidad de

relacionar objetos, es el programa siguiente, que coloca la parte inferior del

cuerpo C1 alineada con la parte superior del cuerpo C2. Asimismo, alinea

los orificios A1 y A2 de C1, con los correspondientes de C2.

PLACE C1

SUCH THAT C1 BOT CONTACTS C2TOP

AND B1 A1 IS ALIGNED WITH C2A1

AND B1 A2 IS ALIGNED WITH C2A2

El AUTOPASS realiza todos sus cálculos sobre una base de datos, que define

a los objetos como poliedros de un máximo de 20,000 caras. Está escrito en

PL/1 y es intérprete y compilable.

LAMA

Procede del laboratorio de Inteligencia Artificial del MIT, para el robot SILVER,

orientándose hacia el ajuste de conjuntos mecánicos. Aporta más inteligencia

que el AUTOPASS y permite una buena adaptación al entorno. La operatividad

del LAMA se basa en tres funciones principales:

    • Creación de la función de trabajo. Operación inteligente.
    • Generación de la función de manipulación.
    • Interpretación y desarrollo, de una forma interactiva, de una estrategia
    • de realimentación para la adaptación al entorno de trabajo.

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. Estos lenguajes,

de tipo natural, suponiendo una potenciación extraordinaria de la Inteligencia

Artificial, para descargar al usuario de las labores de programación. Prevén,

incluso, la comunicación hombre-máquina a través de la voz.

Los lenguajes más conocidos de este grupo son:

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. Es intérprete y compilable, utilizando, como procesadores,

a un PDP-10 y un PDP-15.

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 amp

liación e investigación.


ALGORITMO

GENÉTICO

El algoritmo genético es una técnica de búsqueda basada en la teoría de la

evolución de Darwin, que ha cobrado tremenda popularidad en todo el mundo

durante los últimos años. Se presentarán aquí los conceptos básicos que se

requieren para abordarla, así como unos sencillos ejemplos que permitan a

los lectores comprender cómo aplicarla al problema de su elección.

Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse

para resolver problemas de búsqueda y optimización. Están basados en el

proceso genético de los organismos vivos. A lo largo de las generaciones,

las poblaciones evolucionan en la naturaleza de acorde con los principios

de la selección natural y la supervivencia de los más fuertes, postulados

por Darwin. Por imitación de este proceso, los Algoritmos Genéticos son

c

apaces de ir creando soluciones para problemas del mundo real. La evolución

de dichas soluciones hacia valores óptimos del problema depende en buena

medida de una adecuada codificación de las mismas.

Un algoritmo genético consiste en una función matemática o una rutina de

software que toma como entradas a los ejemplares y retorna como salidas

cuales de ellos deben generar descendencia para la nueva generación.


TERAFIM

Hombres artificiales que pueden ser fabricados en serie.

No hay comentarios:

Publicar un comentario