Monografias.com > Tecnología
Descargar Imprimir Comentar Ver trabajos relacionados

Lenguajes de programación de los Robots




Enviado por scaronline



    Tecnología –
    Robótica

    TABLA DE CONTENIDO

    INTRODUCCION 3

    CLASIFICACIÓN DE LA PROGRAMACIÓN USADA EN ROBÓTICA 4

    PROGRAMACIÓN GESTUAL O
    DIRECTA 4

    PROGRAMACIÓN TEXTUAL
    EXPLICITA 5

    PROGRAMACIÓN TEXTUAL
    ESPECIFICATIVA 7

    LENGUAJES DE PROGRAMACIÓN GESTUAL PUNTO A
    PUNTO 7

    LENGUAJES DE PROGRAMACIÓN A NIVEL DE MOVIMIENTOS
    ELEMENTALES 8

    LENGUAJES ESTRUCTURADOS DE PROGRAMACIÓN
    EXPLÍCITA 9

    LENGUAJES DE PROGRAMACIÓN ESPECIFICATIVA A
    NIVEL

    OBJETo 11

    LENGUAJES DE PROGRAMACIÓN EN FUNCIÓN DE LOS
    OBJETIVOS 12

    CARACTERÍSTICAS DE UN LENGUAJE IDEAL
    PARA LA ROBÓTICA 13

    BIBLIOGRAFIA 16

    INTRODUCCIÓN

    En las máquinas controladas por sistemas
    informáticos, el lenguaje es
    el medio que utiliza el hombre para
    gobernar su funcionamiento, por lo que su correcta
    adaptación con la tarea a realizar y la sencillez de
    manejo, son factores determinantes del rendimiento obtenido en
    los robots industriales.

    Hay varias maneras de comunicarse con un robot, y tres
    soluciones
    generales para lograrlo, que son reconocimiento de palabras
    separadas, enseñanza y repetición y lenguajes de
    programación de alto nivel.

    Los sistemas de
    reconocimiento de la voz en la tecnología moderna
    son bastante primitivos y suelen depender de quien habla. Estos
    sistemas pueden
    reconocer un conjunto de palabras concretas de un vocabulario muy
    limitado y en general exigen al usuario una pausa entre las
    palabras, aunque en la actualidad es posible reconocer las
    palabras separadas en tiempo real
    debido a los cada vez más rápidos componentes de
    las computadoras y
    algoritmos de
    procesamiento más eficientes, la utilidad del
    reconocimiento de palabras separadas para describir la tarea de
    un robot es bastante limitada.

    La enseñanza y repetición, también
    conocido como guiado, es la solución más
    común utilizada en el presente para los robots
    industriales. Este método
    implica enseñar al robot dirigiéndole los
    movimientos que el usuario desea que realice. La enseñanza
    y repetición se lleva a cabo normalmente con los
    siguientes pasos: 1) dirigiendo al robot con un movimiento
    lento utilizando el control manual para
    realizar la tarea completa y grabando los ángulos del
    movimiento del
    robot en los lugares adecuados para que vuelva a repetir el
    movimiento;
    2) reproduciendo y repitiendo el movimiento
    enseñado; 3) si el movimiento
    enseñado es correcto, entonces se hace funcionar al robot
    a la velocidad
    correcta en el modo repetitivo.

    Guiar al robot en movimiento
    lento, puede ser en general llevado a cabo de varias maneras:
    usando un joystick, un conjunto de botones (uno para cada
    movimiento) o
    un sistema de
    manipulación maestro-esclavo.

    Los lenguajes de
    programación de alto nivel suministran una
    solución más general para resolver el problema de
    comunicación hombre-robot.
    En la década anterior, los robots fueron utilizados con
    éxito en áreas tales como soldadura por
    arco voltaico o pintura con
    spray utilizando el guiado (Engelberger [1980]). Estas tareas no
    requieren interacción entre el robot y su entorno y pueden
    ser programadas fácilmente por guiado. Sin embargo, la
    utilización de robots para llevar a cabo las tareas
    requieren técnicas de programación en lenguajes de alto nivel ya
    que el robot de la línea de producción suele confiar en la
    realimentación de los sensores y este
    tipo de interacción sólo puede solo puede ser
    mantenida por métodos de
    programación que contengan
    condiciones.

    Los lenguajes clásicos empleados en informática, como el FORTRAN, BASIC,
    PASCAL, etc.,
    no disponen de las instrucciones y comandos
    específicos que necesitan los robots, para aproximarse a
    su configuración y a los trabajos que han de realizar.
    Esta circunstancia, ha obligado a los constructores de robots e
    investigadores a diseñar lenguajes propios de la Robótica.
    Sin embargo, los lenguajes desarrollados hasta el momento, se han
    dirigido a un determinado modelo de
    manipulador y a una tarea concreta, lo que ha impedido la
    aparición de lenguajes transportables entre
    máquinas y por lo tanto de carácter
    universal.

    La estructura del
    sistema
    informático del robot varía notablemente,
    según el nivel y complejidad del lenguaje y de
    la base de datos que
    requiera.

    CLASIFICACIÓN DE LA PROGRAMACIÓN USADA EN
    ROBÓTICA

    La programación empleada en Robótica
    puede tener un carácter explícito, en el que
    el operador es el responsable de las acciones de
    control y de las
    instrucciones adecuadas que las implementan, o estar basada en la
    modelación del mundo exterior, cuando se describe la tarea
    y el entorno y el propio sistema toma las
    decisiones.

    La programación explícita es la
    utilizada en las aplicaciones industriales y consta de dos
    técnicas fundamentales:

    1. Programación Gestual.
    2. Programación Textual.

    La programación gestual consiste en guiar el
    brazo del robot directamente a lo largo de la trayectoria que
    debe seguir. Los puntos del camino se graban en memoria y luego
    se repiten. Este tipo de programación, exige el empleo del
    manipulador en la fase de enseñanza, o sea, trabaja
    "on-line".

    En la programación textual, las acciones que
    ha de realizar el brazo se especifican mediante las instrucciones
    de un lenguaje. En
    esta labor no participa la máquina (off-line). Las
    trayectorias del manipulador se calculan matemáticamente
    con gran precisión y se evita el posicionamiento a
    ojo, muy corriente en la programación
    gestual.

    Los lenguajes de
    programación textual se encuadran en varios niveles,
    según se realice la descripción del trabajo del
    robot. Se relacionan a continuación, en orden creciente de
    complejidad:

    1. Lenguajes elementales, que controlan directamente el
      movimiento
      de las articulaciones del manipulador
    2. Lenguajes dirigidos a posicionar el elemento terminal
      del manipulador.
    3. Lenguajes orientados hacia el objeto sobre el que
      opera el sistema.
    4. Lenguajes enfocados a la tarea que realiza el
      robot.

    PROGRAMACIÓN GESTUAL O DIRECTA

    En este tipo de programación, el propio brazo
    interviene en el trazado del camino y en las acciones a
    desarrollar en la tarea de la aplicación. Esta característica determina, inexcusablemente,
    la programación "on-line".

    La programación gestual se subdivide en dos
    clases:

    • Programación por aprendizaje
      directo.
    • Programación mediante un dispositivo de
      enseñanza.

    En el aprendizaje
    directo, el punto final del brazo se traslada con ayuda de un
    dispositivo especial colocado en su muñeca, o utilizando
    un brazo maestro o maniquí, sobre el que se
    efectúan los desplazamientos que, tras ser memorizados,
    serán repetidos por el manipulador.

    La técnica de aprendizaje
    directo se utiliza, extensamente, en labores de pintura. El
    operario conduce la muñeca del manipulador o del brazo
    maestro, determinando los tramos a recorrer y aquellos en los que
    la pistola debe expulsar una cierta cantidad de pintura. Con
    esta programación, los operarios sin conocimientos de
    "software", pero
    con experiencia en el trabajo a
    desarrollar, pueden preparar los programas
    eficazmente.

    La programación por aprendizaje
    directo tiene pocas posibilidades de edición, ya que, para
    generar una trayectoria continua, es preciso almacenar o definir
    una gran cantidad de puntos, cuya reducción origina
    discontinuidades. El "software" se organiza,
    aquí, en forma de intérprete.

    La programación, usando un dispositivo de
    enseñanza, consiste en determinar las acciones y
    movimientos del brazo manipulador, a través de un elemento
    especial para este cometido. En este caso, las operaciones
    ordenadas se sincronizan para conformar el programa de
    trabajo.

    El dispositivo de enseñanza suele estar
    constituido por botones, teclas, pulsadores, luces indicadoras,
    ejes giratorios o "joystick".

    Dependiendo del algoritmo de
    control que se
    utilice, el robot pasa por los puntos finales de la trayectoria
    enseñada. Hay que tener en cuenta que los dispositivos de
    enseñanza modernos no sólo permiten controlar los
    movimientos de las articulaciones
    del manipulador, sino que pueden, también, generar
    funciones
    auxiliares, como:

    Selección de velocidades

    – Generación de retardos

    – Señalización del estado de los
    sensores

    – Borrado y modificación de los puntos de
    trabajo

    – Funciones
    especiales

    Al igual que con la programación directa, en la
    que se emplea un elemento de enseñanza, el usuario no
    necesita conocer ningún lenguaje de
    programación. Simplemente, debe habituarse al empleo de los
    elementos que constituyen el dispositivo de enseñanza. De
    esta forma, se pueden editar programas, aunque
    como es lógico, muy simples.

    La estructura del
    "software" es del
    tipo intérprete; sin embargo, el sistema operativo
    que controla el procesador puede
    poseer rutinas específicas, que suponen la posibilidad de
    realizar operaciones muy
    eficientes.

    Los lenguajes de
    programación gestual, además de necesitar al
    propio robot en la confección del programa, carecen
    de adaptabilidad en tiempo real con
    el entorno y no pueden tratar, con facilidad, interaciones de
    emergencia.

    PROGRAMACIÓN TEXTUAL EXPLICITA

    El programa queda
    constituido por un texto de
    instrucciones o sentencias, cuya confección no requiere de
    la intervención del robot; es decir, se efectúan
    "off-line". Con este tipo de programación, el operador no
    define, prácticamente, las acciones del
    brazo manipulado, sino que se calculan, en el programa,
    mediante el empleo de las
    instrucciones textuales adecuadas.

    En una aplicación tal como el ensamblaje de
    piezas, en la que se requiere una gran precisión, los
    posicionamientos seleccionados mediante la programación
    gestual no son suficientes, debiendo ser sustituidos por
    cálculos más perfectos y por una comunicación con el entorno que rodea al
    sistema.

    En la programación textual, la posibilidad de
    edición es total. El robot debe intervenir, sólo,
    en la puesta a punto final.

    Según las características del lenguaje,
    pueden confeccionarse programas de
    trabajo complejos, con inclusión de saltos condicionales,
    empleo de
    bases de
    datos, posibilidad de creación de módulos
    operativos intercambiables, capacidad de adaptación a las
    condiciones del mundo exterior, etc.

    Dentro de la programación textual, existen dos
    grandes grupos, de
    características netamente
    diferentes:

    1. Programación textual
      explícita.
    2. Programación textual
      especificativa.

    En la programación textual explícita, el
    programa
    consta de una secuencia de órdenes o instrucciones
    concretas, que van definiendo con rigor las operaciones
    necesarias para llevar a cabo la aplicación. Se puede
    decir que la programación explícita engloba a los
    lenguajes que definen los movimientos punto por punto, similares
    a los de la programación gestual, pero bajo la forma de un
    lenguaje
    formal. Con este tipo de programación, la labor del
    tratamiento de las situaciones anormales, colisiones, etc., queda
    a cargo del programador.

    Dentro de la programación explícita, hay
    dos niveles:

    1º. Nivel de movimiento
    elemental

    Comprende los lenguajes dirigidos a controlar los
    movimientos del brazo manipulador. Existen dos
    tipos:

    1. Articular, cuando el lenguaje
      se dirige al control de
      los movimientos de las diversas articulaciones del brazo.
    2. Cartesiano, cuando el lenguaje
      define los movimientos relacionados con el sistema de
      manufactura,
      es decir, los del punto final del trabajo (TCP).

    Los lenguajes del tipo cartesiano utilizan
    transformaciones homogéneas. Este hecho confiere
    "popularidad" al programa,
    independizando a la programación del modelo
    particular del robot, puesto que un programa
    confeccionado para uno, en coordenadas cartesianas, puede
    utilizarse en otro, con diferentes coordenadas, mediante el
    sistema de
    transformación correspondiente. Son lenguajes que se
    parecen al BASIC, sin poseer una unidad formal y careciendo de
    estructuras a
    nivel de datos y de
    control.

    Por el contrario, los lenguajes del tipo articular
    indican los incrementos angulares de las articulaciones.
    Aunque esta acción es bastante simple para motores de paso a
    paso y corriente continua, al no tener una referencia general de
    la posición de las articulaciones
    con relación al entorno, es difícil relacionar al
    sistema con
    piezas móviles, obstáculos, cámaras de TV,
    etc.

    Los lenguajes correspondientes al nivel de movimientos
    elementales aventaja, principalmente, a los de punto a punto, en
    la posibilidad de realizar bifurcaciones simples y saltos a
    subrutinas, así como de tratar informaciones
    sensoriales.

    2º. Nivel estructurado

    Intenta introducir relaciones entre el objeto y el
    sistema del
    robot, para que los lenguajes se desarrollen sobre una estructura
    formal.

    Se puede decir que los lenguajes correspondientes a este
    tipo de programación adoptan la filosofía del
    PASCAL.
    Describen objetos y transformaciones con objetos, disponiendo,
    muchos de ellos, de una estructura de
    datos arborescente.

    El uso de lenguajes con programación
    explícita estructurada aumenta la comprensión del
    programa,
    reduce el tiempo de
    edición y simplifica las acciones
    encaminadas a la consecución de tareas
    determinadas.

    En los lenguajes estructurados, es típico el
    empleo de las
    transformaciones de coordenadas, que exigen un cierto nivel de
    conocimientos. Por este motivo dichos lenguajes no son populares
    hoy en día.

    PROGRAMACIÓN TEXTUAL
    ESPECIFICATIVA

    Se trata de una programación del tipo no
    procesal, en la que el usuario describe las especificaciones de
    los productos
    mediante una modelización, al igual que las tareas que hay
    que realizar sobre ellos.

    El sistema
    informático para la programación textual
    especificativa ha de disponer del modelo del
    universo, o
    mundo donde se encuentra el robot. Este modelo
    será, normalmente, una base de datos
    más o menos compleja, según la clase de
    aplicación, pero que requiere, siempre , computadoras
    potentes para el procesado de una abundante información.

    El trabajo de
    la programación consistirá, simplemente, en la
    descripción de las tareas a realizar, lo que supone
    poder llevar a
    cabo trabajos complicados.

    Actualmente, los modelos del
    universo son
    del tipo geométrico, no físico.

    Dentro de la programación textual especificativa,
    hay dos clases, según que la orientación del
    modelo se
    refiera a los objetos a los objetivos.

    Si el modelo se
    orienta al nivel de los objetos, el lenguaje
    trabaja con ellos y establece las relaciones entre ellos. La
    programación se realiza "off-line" y la conexión
    CAM es posible.

    Dada la inevitable imprecisión de los
    cálculos del ordenador y de las medidas de las piezas, se
    precisa de una ejecución previa, para ajustar el programa al
    entorno del robot.

    Los lenguajes con un modelo del
    universo
    orientado a los objetos son de alto nivel, permitiendo expresar
    las sentencias en un lenguaje
    similar al usado comúnmente.

    Por otra parte, cuando el modelo se
    orienta hacia los objetivos, se
    define el producto
    final.

    La creación de lenguajes de muy alto nivel
    transferirá una gran parte del trabajo de
    programación, desde el usuario hasta el sistema
    informático; éste resolverá la
    mayoría de los problemas,
    combinando la Automática y la Inteligencia
    Artificial.

    LENGUAJES DE PROGRAMACIÓN GESTUAL PUNTO A
    PUNTO

    Se aplican con el robot "in situ", recordando a las
    normas de
    funcionamiento de un magnetofón 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).

    Conceptualmente, ala estar el 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.

    En el lenguaje
    FUNKY se usa un mando del tipo "joystick" para el control de los
    movimientos, mientras que el T3 dispone de un dispositivo de
    enseñanza ("teach pendant").

    Como en un grabador de cassettes, y en los dos lenguajes
    mencionados, 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.

    El lenguaje
    FUNKY dispone de un comando especial para centrar a la pinza
    sobre el objeto.

    El procesador usado
    en T3 es el AMD 2900 ("bit slice"), mientras que en el FUNKY
    está constituido por el IBM SYSTEM-7.

    LENGUAJES DE PROGRAMACIÓN A NIVEL DE
    MOVIMIENTOS ELEMENTALES.

    Como ya menciono, se tratan los movimientos de punto a
    punto, expresados en forma de lenguaje. Se
    citan, entre los más importantes:

    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.

    FIG. 1

    VAL.- Fue diseñado por
    UNIMATION INC para sus robots UNIMATE y PUMA. (FIG. 1) 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.

    LENGUAJES 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

    Un sencillo ejemplo, de carácter
    didáctico, utilizando el lenguaje
    AL, puede mostrar el interés
    del control
    estructurado. Partiendo de la definición de unos objetos,
    se puede lograr una estructura
    superior que los relacione.

    Supongamos que se dispone de los objetos 01 y 02, y se
    intenta colocar al primero encima del segundo. En la siguiente
    figura se muestra la
    configuración del sistema de este ejemplo.

    Con referencia en la figura, 01T y 01B señalan,
    respectivamente, la parte superior e inferior del objeto 01,
    mientras que 01AS indica su posición de asimiento. Las
    partes del objeto 02 se denominan de la misma forma.

    Un programa
    "orientativo", en AL, que coloque 01 sobre 02, podría
    ser:

    MOVE ARM TO 01AS El brazo se desplaza hasta la
    posición de asimiento de 01.

    GRASP Aprehende a 01.

    AFFIX 01B TO ARM Fija el sistema de coordenadas de 01
    con el de la pinza

    del brazo.

    MOVE 01B TO 02T Mueve la parte inferior de 01 hasta la
    parte superior de 02.

    RELEASE Suelta 01 sobre 02.

    UNIFIX 01 Destruye la relación entre el sistema
    de coordenadas del

    brazo y 01.

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

    LENGUAJES DE PROGRAMACIÓN 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 = < x, 0, 0 >

    P2 = < 0, y, 0 >

    P3 = < x/2, y, 0 >

    P4 = < 0, 0, z >

    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:

    1º Creación de la función de trabajo.
    Operación inteligente.

    2º 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.

    LENGUAJES DE PROGRAMACIÓN 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

    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.

    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 ampliación e investigación.

    CARACTERÍSTICAS DE UN LENGUAJE IDEAL PARA LA
    ROBÓTICA

    Las seis características básicas de un
    lenguaje ideal, expuestas por Pratt, son:

    1. Claridad y sencillez.

    2. Claridad de la estructura del
    programa.

    3. Sencillez de aplicación.

    4. Facilidad de ampliación.

    5. Facilidad de corrección y mantenimiento.

    6. Eficacia.

    Estas características son insuficientes para la
    creación de un lenguaje "universal" de programación
    en la robótica,
    por lo que es preciso añadir las siguientes:

    – Transportabilidad sobre cualquier equipo
    mecánico o informático.

    – Adaptabilidad a sensores (tacto,
    visión, etc.).

    – Posibilidad de descripción de todo tipo de
    herramientas
    acoplables al manipulador.

    – Interacción con otros sistemas.

    En el aspecto de claridad y sencillez, la
    programación gestual es la más eficaz, pero impide
    la confección de programas
    propiamente dichos. Los lenguajes a nivel de movimientos
    elementales, como el VAL, disponen de bastantes comandos para
    definir acciones muy
    parecidas que fueron surgiendo según las necesidades y
    que, en gran medida, oscurecen su comprensión y conocimiento.

    Aunque, inicialmente, las técnicas de
    programación estructurada son más difíciles
    de dominar, facilitan, extraordinariamente, la comprensión
    y corrección de los programas.

    Respecto a la sencillez de aplicación, hay
    algunos lenguajes (como el MCL) dedicados a las máquinas
    herramienta (APT), que pueden ser valorados, positivamente, por
    los usuarios conocedores de este campo. El PAL, estructurado
    sobre la matemática
    matricial, sólo es adecuado para quienes están
    familiarizados con el empleo de este
    tipo de transformaciones.

    Uno de los lenguajes más fáciles de
    utilizar es el AUTOPASS, que posee un juego de
    comandos con
    una sintaxis similar a la del ingles corriente.

    Es imprescindible que los lenguajes para los robots sean
    fácilmente ampliables, por lo que se les debe dotar de una
    estructura
    modular, con inclusión de subrutinas definidas por el
    mismo usuario.

    La adaptabilidad a sensores externos
    implica la posibilidad de una toma de
    decisiones, algo muy interesante en las labores de
    ensamblaje. Esta facultad precisa de un modelo
    dinámico del entorno, así como de una buena dosis
    de Inteligencia
    Artificial, como es el caso del AUTOPASS.

    Aunque los intérpretes son más lentos que
    los compiladores, a
    la hora de la ejecución de un programa, resultan
    más adecuados para las aplicaciones de la robótica.
    Las razones son las siguientes:

    1a. El intérprete ejecuta el código como
    lo encuentra, mientras que el compilador recorre el programa
    varias veces, antes de generar el código
    ejecutable.

    2a. Los intérpretes permiten una ejecución
    parcial del programa.

    3a. La modificación de alguna instrucción
    es más rápida con intérpretes, ya que un
    cambio en una
    de ellas no supone la compilación de las
    demás.

    Finalmente, el camino para la superación
    de los problemas
    propios de los lenguajes actuales ha de pesar, necesariamente,
    por la potenciación de los modelos
    dinámicos del entorno que rodea al robot,
    acompañado de un aumento sustancial de la Inteligencia
    Artificial.

    B I B L I O G R A F Í A

    Robótica: Control, Detección,
    Visión e Inteligencia

    K.S. FU, R.C González, C.S.G.
    LEE

    McGraw Hill

    Robótica Practica Tecnología y Aplicaciones

    José Ma. Angulo

    Ed. Paraninfo

     

     

    Autor:

    Samuel Candelas Rodríguez E-mail:

    Edad: 25 años

    Escuela: UNAM Campus "Aragón"

    Carrera: Ingeniería en Computación

    Semestre: 10º.

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter