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