Descargar

Estudio sobre los lenguajes de programación para la robótica

Enviado por mileidys.gonzalez


Partes: 1, 2

    Indice1. Introducción2. Desarrollo3. Lenguajes de programación4. Conclusiones

    1. Introducción

    Origen de la palabra robot y su significado A través de la historia el hombre a soñado con seres capaces de realizar movimientos y hasta comportarse parecido a animales y hasta seres humanos; en el fondo el ser humano lo que piensa es librarse de tareas indeseables, peligrosas o demasiados tediosas. La primera vez que se hablo de estos seres utilizando el término por el que es hoy mundialmente conocido, robot, fue en 1923 por el escritor Karel Capek en su comedia R.U.R..("Rossum`s Universal Robots"), palabra que proviene del término checo robotnik que significa siervo.

    Hoy la palabra robot tiene diferentes significados: La del Robot Institute of América: "un manipulador multifuncional y reprogramable, diseñado para mover materiales piezas, herramientas o dispositivos especiales, mediante movimientos programables y variables que permitan llevar a cabo diversas tareas". La del Oxford English dictionary: "un aparato mecánico que se parece y hace el trabajo de un ser humano".

    Cronograma sobre la historia de la robótica

    FECHA

    DESARROLLO

    SigloXVIII.

    A mediados del J. de Vaucanson construyó varias muñecas mecánicas de tamaño humano que ejecutaban piezas de música

    1801

    J. Jaquard invento su telar, que era una máquina programable para la urdimbre

    1805

    H. Maillardet construyó una muñeca mecánica capaz de hacer dibujos.

    1946

    El inventor americano G.C Devol desarrolló un dispositivo controlador que podía registrar señales eléctricas por medio magnéticos y reproducirlas para accionar un máquina mecánica. La patente estadounidense se emitió en 1952.

    1951

    Trabajo de desarrollo con teleoperadores (manipuladores de control remoto) para manejar materiales radiactivos. Patente de Estados Unidos emitidas para Goertz (1954) y Bergsland (1958).

    1952

    Una máquina prototipo de control numérico fue objetivo de demostración en el Instituto Tecnológico de Massachusetts después de varios años de desarrollo. Un lenguaje de programación de piezas denominado APT (Automatically Programmed Tooling) se desarrolló posteriormente y se publicó en 1961.

    1954

    El inventor británico C. W. Kenward solicitó su patente para diseño de robot. Patente británica emitida en 1957.

    1954

    G.C. Devol desarrolla diseños para Transferencia de artículos programada. Patente emitida en Estados Unidos para el diseño en 1961.

    1959

    Se introdujo el primer robot comercial por Planet Corporation. estaba controlado por interruptores de fin de carrera.

    1960

    Se introdujo el primer robot ‘Unimate’’, basada en la transferencia de articulaciones programada de Devol. Utilizan los principios de control numérico para el control de manipulador y era un robot de transmisión hidráulica.

    1961

    Un robot Unimate se instaló en la Ford Motors Company para atender una máquina de fundición de troquel.

    1966

    Trallfa, una firma noruega, construyó e instaló un robot de pintura por pulverización.

    1968

    Un robot móvil llamado ‘Shakey’’ se desarrollo en SRI (standford Research Institute), estaba provisto de una diversidad de sensores así como una cámara de visión y sensores táctiles y podía desplazarse por el suelo.

    1971

    El ‘Standford Arm’’, un pequeño brazo de robot de accionamiento eléctrico, se desarrolló en la Standford University.

    1973

    Se desarrolló en SRI el primer lenguaje de programación de robots del tipo de computadora para la investigación con la denominación WAVE. Fue seguido por el lenguaje AL en 1974. Los dos lenguajes se desarrollaron posteriormente en el lenguaje VAL comercial para Unimation por Víctor Scheinman y Bruce Simano.

    1974

    ASEA introdujo el robot Irb6 de accionamiento completamente eléctrico.

    1974

    Kawasaki, bajo licencia de Unimation, instaló un robot para soldadura por arco para estructuras de motocicletas.

    1974

    Cincinnati Milacron introdujo el robot T3 con control por computadora.

    1975

    El robot ‘Sigma’’ de Olivetti se utilizó en operaciones de montaje, una de las primitivas aplicaciones de la robótica al montaje.

    1976

    Un dispositivo de Remopte Center Compliance (RCC) para la inserción de piezas en la línea de montaje se desarrolló en los laboratorios Charles Stark Draper Labs en estados Unidos.

    1978

    El robot T3 de Cincinnati Milacron se adaptó y programó para realizar operaciones de taladro y circulación de materiales en componentes de aviones, bajo el patrocinio de Air Force ICAM (Integrated Computer- Aided Manufacturing).

    1978

    Se introdujo el robot PUMA (Programmable Universal Machine for Assambly) para tareas de montaje por Unimation, basándose en diseños obtenidos en un estudio de la General Motors.

    1979

    Desarrollo del robot tipo SCARA (Selective Compliance Arm for Robotic Assambly) en la Universidad de Yamanashi en Japón para montaje. Varios robots SCARA comerciales se introdujeron hacia 1981.

    1980

    Un sistema robótico de captación de recipientes fue objeto de demostración en la Universidad de Rhode Island. Con el empleo de visión de máquina el sistema era capaz de captar piezas en orientaciones aleatorias y posiciones fuera de un recipiente.

    1981

    Se desarrolló en la Universidad de Carnegie- Mellon un robot de impulsión directa. Utilizaba motores eléctricos situados en las articulaciones del manipula dor sin las transmisiones mecánicas habituales empleadas en la mayoría de los robots.

    1982

    IBM introdujo el robot RS-1 para montaje, basado en varios años de desarrollo interno. Se trata de un robot de estructura de caja que utiliza un brazo constituido por tres dispositivos de deslizamiento ortogonales. El lenguaje del robot AML, desarrollado por IBM, se introdujo también para programar el robot SR-1.

    1983

    Informe emitido por la investigación en Westinghouse Corp. bajo el patrocinio de National Science Foundation sobre un sistema de montaje programable adaptable (APAS), un proyecto piloto para una línea de montaje automatizada flexible con el empleo de robots.

    1984

    Robots 8. La operación típica de estos sistemas permitía que se desarrollaran programas de robots utilizando gráficos interactivos en una computadora personal y luego se cargaban en el robot.

    Propiedades características de los robots Versatilidad: Potencialidad estructural de ejecutar tareas diversas y/o ejecutar una misma tarea de forma diversa. Esto impone al robot una estructura mecánica de geometría variable.

    Autoadaptabilidad al entorno: Significa que un robot debe, por sí solo, alcanzar su objetivo(ejecutar su tarea) a pesar de las perturbaciones imprevistas del entorno a lo largo de la ejecución de su tarea. Esto supone que el robot sea consciente de su entorno y que por lo tanto posea sentidos artificiales.

    El robot y su funcionamient Un robot operacional puede estar constituido por cuatro entidades unidas entre sí(ver anexo no.4 Descripción de un robot en funcionamiento): Sistema mecánico articulado dotado de sus motores(eléctricos, hidráulicos o neumáticos) que arrastran a las articulaciones del robot mediante las transmisiones(cables, cintas, correas con muescas). Para conocer en todo instante la posición de las articulaciones se recurre a los captadores(codificadores ópticos) que se denominan propioceptivos. Estos dan el valor a las articulaciones, que no es más que la configuración o el estado del robot. El entorno es el universo en que está sumergida la primera entidad. Si los robots están sobre un puesto fijo se reduce al espacio alcanzable por el robot. En él el robot puede encontrar obstáculos que ha de evitar y objetos de interés, o sea los objetos con los que tiene que actuar. Por todo esto existe interacción entre la parte física y el entorno. Mediante los captadores exteroceptivos(cámaras, detectores de fuerzas, detectores de proximidad, captadores táctiles) se toman informaciones sobre el entorno. Las tareas a realizar es el trabajo que se desea que haga el robot. La descripción de estas tareas se hace mediante lenguajes que pueden ser a través de los gestos, en el que se le enseña al robot lo que se debe hacer; orales, se le habla; por escrito en el que se le escriben las instrucciones en un lenguaje compatible con el robot. El cerebro del robot es el órgano de tratamiento de la información. Este puede ser desde un autómata programable para los menos avanzados hasta un miniordenor numérico o microprocesador para los más avanzados. El cerebro, es el que tiene el papel principal, contiene en sus memorias: Un modelo del robot físico: las señales de excitación de los accionadores y los desplazamientos que son consecuencia de ellas. Un modelo del entorno: descripción de lo que se encuentra en el espacio que puede alcanzar. Programas: permite comprender las tareas que se le pide que realice. Algoritmos de control.

    Clasificación de los robots

    CRITERIO

    CLASIFICACIÓN

    Geometría

    Se basa en la forma del área de trabajo producida por el brazo del robot: rectangular, cilíndrica o esférica.

    Configuraciones

    La configuración polar utiliza coordenadas polares para especificar cualquier posición en términos de una rotación sobre su base, un ángulo de elevación y una extensión lineal del brazo.

    La configuración cilíndrica sustituye un movimiento lineal por uno rotacional sobre su base, con los que se obtiene un medio de trabajo en forma de cilindro.

    La configuración de coordenadas cartesianas posee tres movimientos lineales, y su nombre proviene de las coordenadas cartesianas, las cuales son más adecuadas para describir la posición y movimiento del brazo. Los robots cartesianos a veces reciben el nombre de XYZ, donde las letras representan a los tres ejes del movimiento.

    Grados de libertad

    Consiste en contar el número de grados de libertad que tengan. Se considera un grado de libertad cada eje a lo largo del cual se puede mover el brazo de un robot.

    Área de aplicación

    Ensamblaje

    No ensamblaje: soldar, pintar, revestir, manejo de materiales y carga y descarga de maquinaria.

    Técnica de control

    Lazo cerrado: se monitorea continuamente la posición del brazo del robot mediante un sensor de posición, y se modifica la energía que se manda al actuador de tal forma que el movimiento del brazo se obedece al camino deseado, tanto en dirección como en velocidad. Éste control se puede usar cuando la tarea que se ha de llevar a cabo está dirigida mediante un camino definido por la misma pieza, tal como sería soldar, revestir y ensamblar.

    En un sistema de lazo abierto, el controlador no conoce la posición de la herramienta mientras el brazo se mueve de un punto a otro. Éste tipo de control es muy usado cuando el movimiento que debe seguir el brazo se encuentra determinado previamente, al ser grabado con anterioridad y reproducido sin cambio alguno, lo cual es útil cuando todas las piezas a ser tratadas son exactamente iguales.

    Fuente de energía

    De energía hidráulica: En los actuadores hidráulicos fluye un líquido, comúnmente aceite. Tienen como ventaja que son pequeños comparados con la energía que proporcionan, y como desventajas que son propensos a fugas, el líquido puede incendiarse y que se requiere numeroso equipo adicional, lo cual incrementa los costos de mantenimiento del robot. Los sistemas hidráulicos están asociados a un mayor nivel de ruido.

    De energía neumática: En los actuadores neumáticos se transfiere gas bajo presión. Generalmente sólo tienen dos posiciones: retraídos y extendidos, si posibilidad de utilizar retroalimentación para usar un control proporcional. La energía neumática tiene las siguientes ventajas: está disponible en la mayoría de las áreas de manufactura, no es cara y no contamina el área de trabajo. La desventaja es que no se puede utilizar retroalimentación ni múltiples pasos.

    De energía eléctrica: Los actuadores eléctricos incluyen una fuente de poder y un motor eléctricos. La mayoría de las aplicaciones utilizan servomotores, el cual generalmente utiliza corriente directa. Las ventajas de esta fuente de energía son que no se requiere transformar la energía eléctrica en otras formas de energía como la hidráulica o neumática, no se contamina el espacio de trabajo y el nivel de ruido se mantiene bajo. La desventaja es la baja potencia que se consigue en comparación con su contraparte hidráulica.

    Campos de la robótica El campo de la robótica es muy amplio, así por ejemplo la vemos ligada a la esfera productiva, a la investigación científica, a la medicina. De acuerdo a su uso y aplicación estos tienen diversas características. En la producción los robot se destacan por traer consigo una disminución de la mano de obra; además ayuda a una mayor calidad del producto acabado, a la rapidez de la producción. Casi siempre, en la industria, los robot se unen a otras máquinas aportando mayor eficiencia en la producción.(Ver anexo no1 ) En la esfera científica, muchos de ellos son utilizados para hacer investigaciones en el campo donde el hombre se le hace difícil ir, tal vez por un medio hostil o tal vez demasiado peligroso: submarino, espacial, irradiado por centrales nucleares(Ver anexo no2 Robot para Investigaciones Científicas). Así se han diseñado dos tipos de robot de acuerdo a su misión y a su sentido de operacionalidad:

    • Robot autónomo: Se le programa su misión, casi siempre con trabajos sencillos y sin necesidad de reflexionar, de comprender su entorno.
    • Teleoperación o telepresencia: Esta máquina está controlada a distancia por un puesto maestro monitoreado por el operador(hombre).

    En el campo de la medicina, o bien podríamos llamarle asistencia individual se destacan por la ayuda en la asistencia médica de personas paralíticas, personas con partes del cuerpo amputadas(Ver anexo no1 Robot en el campo de la medicina). La robótica entonces cubre campos como:

    • Prótesis: creación de manos y piernas artificiales.
    • Órtesis: estructuras rígidas motorizadas que se ponen alrededor del miembro paralizado y lo arrastran en su movimiento.
    • Telétesis: destinadas a los paralíticos de los cuatro miembros(tetrapléjicos) y son robots que el afectado controla a distancia a partir de las zonas de motrocidad voluntaria que haya podido conservar(por ejemplo: la lengua, los músculos de los ojos).

    2. Desarrollo

    El lenguaje siempre ha sido una vía eficaz de comunicación, las relaciones robótica-hombre también utilizan estos mecanismos para una comunicación eficaz. Entre las formas que existen de comunicación con los robots se encuentran: Reconocimiento de palabras separadas: actualmente este sistema es bastante primitivo y suelen depender de quien hablan. Estos sistemas pueden reconocer un conjunto de palabras concretas de un vocabulario muy limitado. Enseñanza y repetición: es la más comúnmente utilizada en los robots industriales. Implica el enseñar al robot todos los movimientos que necesita realizar. Normalmente la enseñanza se lleva atendiendo a los siguientes pasos: Dirigiendo al robot con un movimiento lento utilizando el control manual(joystick, conjunto de botones, uno para cada movimiento, o un sistema de manipulación maestro esclavo) para realizar la tarea completa y grabando los ángulos del movimiento del robot en los lugares adecuados para que vuelva a repetir el movimiento.

    Reproduciendo y repitiendo el movimiento enseñado. Si el movimiento enseñado es correcto, entonces se hace funcionar al robot a la velocidad correcta en el modo repetitivo. Lenguajes de programación de alto nivel: suministran una solución más general en la comunicación hombre-robot. Los lenguajes clásicos(FORTRAN, BASIC, PASCAL) no disponen de los comandos e instrucciones específicas que se necesitan para la programación en la robótica. Hasta ahora los lenguajes utilizados han sido diseñados para un modelo específico de manipulador, una tarea concreta, por lo que en estos momentos no existe ningún lenguaje universal.

    Programación Usada En La Robótica La programación que se emplea en la robótica tiene caracteres diferentes: 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 más utilizada en las aplicaciones industriales y consta de dos técnicas fundamentales: Programación Gestual. Este tipo de programación, exige el empleo del manipulador en la fase de enseñanza, o sea, trabaja "on-line". Programación Textual. 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

    Programación Gestual O Directa Es en este tipo de programación donde el propio brazo interviene en el trazado del camino y en las acciones a desarrollar en la tarea de la aplicación; lo que determina la programación "on-line". Esta está dividida en dos clases: Programación por 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. Esta programación 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. Programación mediante 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. Los dispositivos de enseñanza modernos permiten generar funciones auxiliares, además del control de los movimientos: – 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 Estos programación tiene como característica común que 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. 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, interacciones de emergencia.

    Programación Textual 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 esta 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.

    Esta programación textual está dividida en dos grandes grupos de diferencias marcadas:

    • Programación textual explícita.
    • Programación textual especificativa.

    Programación textual explícita 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: Nivel de movimiento elemental que comprende los lenguajes dirigidos a controlar los movimientos del brazo manipulador. Existen dos tipos:

    • Articular, cuando el lenguaje se dirige al control de los movimientos de las diversas articulaciones del brazo.
    • 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, lo que hace que se independice 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. 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. Nivel estructurado, el que 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 La programación textual explícita es 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(actualmente, los modelos del universo son del tipo geométrico, no físico), 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.

    Partes: 1, 2
    Página siguiente