Robótics Programming

March 1, 2018 | Author: Guillermo Moran | Category: Robot, Technology, Programming Language, Computer Programming, Computer Program
Share Embed Donate


Short Description

Download Robótics Programming...

Description

Robótica. Unidad 2. Programación de Robots. Elabora: Guillermo Alan Moran Aguilar.

Introducción. Programar un robot consiste en indicar paso por paso las diferentes acciones como moverse a un punto, soltar o tomar algo, soldar y demás, que éste deberá realizar durante su funcionamiento, la flexibilidad en la aplicación del robot y, por lo tanto, su utilidad van a depender en gran parte de las características de su sistema de programación.

Programación no textual. En este tipo de programación no se cuenta con un Script o línea de instrucciones para ser introducidas al robot, Existen 2 métodos dentro de esta categoría por Hardware y mediante enseñanza. Programación por Hardware se divide a su vez en 2 categorías:  

Programa Cableado. Programa definido mecánicamente.

Por otra parte mediante enseñanza se divide en:    

En línea. Modo pasivo. Modo activo. Fuera de línea.

Programación por Hardware. La programación por hardware consta en esencia de conexiones físicas necesarias para que el robot realice los movimientos necesarios sin el apoyo de un programa informático que otorgue las instrucciones a los elementos de acción (actuadores). Se usa en robots simples y se requiere la puesta de diversos elementos como son fines de carrera, retenedores mecánicos, contactos, relevadores. Todos estos conectados a la parte de control, dada la simplicidad de este método se recomiendan su uso simplemente para operaciones simples. Actualmente se considera descontinuado, ya que este metodo ya no se le considera robot, dado que robot ahora implica ser reprogramable. Programa Cableado.

El programa por hardware mediante cableado no usa ninguno de los lenguajes de programación. Se considera como la primera generación de la robotica El “programa” se logra mediante la configuración del hardware en si para crear la secuencia dentro del controlador, usando interconexiones entre los cables así como componentes electrónicos básicos como relevadores. Se puede hacer que el robot realice las operaciones que sean necesarias. Mediante el uso de Switch como sensores para determinar la posición, la configuración del hardware nos permite movernos de una posición hasta otro dada la configuración del hardware usando los Switch y saber si ya está en el lugar designado o se tiene que seguir administrando voltaje al actuador. En esta programación también recae los “robots” manipuladores a distancia, que son accionados por cuerdas y poleas para la generación del movimiento necesario, como por ejemplo: el manipulador de materiales radioactivos tele-operado mediante acoplamientos mecánicos introducido en 1947¡8 por R.C. Goertz. Programa definido mecánicamente. Como el método por cableado este es uno de los primeros métodos así como los más simples. El definido mecánicamente como su nombre lo dice consta de topes mecánicos asi como engranajes, mecanismos, levas, etc.. Funciona de manera continua dado el movimiento de los actuadores cuentan ya sea con topes, mecanismos o engranajes. Todos estos configurados de tal manera que el movimiento d generan trayectorias y movimientos los cuales son considerados el programa por lo que estos se deben calcular y diseñar para su correcto funcionamiento. Esta forma de crear robots hoy en día se considera primitiva ya que un robot industrial debe ser reprogramable y este no permite reprogramación, teniendo que crear un nuevo diseño para cada aplicación que se necesite. El programa definido mecánicamente fue el primero en crearse. Los primeros robots eran echos por relojeros y constaban de complicados mecanismos constituidos por engranajes, tensores, poleas, etc. en un principo no eran aplicados a porcesos industiales si no a entretener, como lo son el hombre de hierro de Alberto Magno o el gallo de Estrasburgo. Los cuales eran conformados por engranajes y un sistema de cuerda lo cual generaba el giro necesario para hacer los movimientos.

Programación por enseñanza Consiste en mover el brazo manipulador, normalmente mediante un sistema de joystick o de botonera, a las posiciones por las que se desea que pase al ejecutar la tarea y memorizarlas para luego repetirlas, pudiendo también asignar velocidades a cada una de las articulaciones este tipo de programación es la más utilizada y todos los robots del mercado cuentan con este sistema para la programación de sus robots.

Ilustración 1. Ejemplo, programación por enseñanza. .

Ilustración 2. Botonera o Teach Pendant

Este también se le conoce como gestual, a pesar de sus características especiales, aun en este caso, el programa puede ser almacenado para tener un respaldo. Además de poder mover el brazo manipulador mediante la botonera a algunos robots se les puede enseñar mediante el aprendizaje directo el en cual el punto final del brazo es trasladado con ayuda de un dispositivo especial puesto en su muñeca, o usando un brazo maestro o maniquí, en el cual se efectúan los desplazamientos que, luego ser memorizados, serán repetidos por el manipulador. Esta programación Posee pocas posibilidades de edición. El software se organiza de forma de intérprete.

Ilustración 3. Ejemplo de aprendizaje directo.

Dependiendo de la forma en que se realice el proceso de enseñanza se tienen 4 tipos de programación:

   

En línea Modo pasivo Modo activo Fuera de línea

En línea: Un robot es programado “En línea” cuando durante el desarrollo del programa se hace uso del propio robot de forma que se haga que el extremo describa las trayectorias deseadas. Es necesario que durante el tiempo del desarrollo del programa se disponga del robot físicamente. Modo pasivo. También llamado aprendizaje directo manual o pasivo. En este caso, el programador, mueve físicamente el robot a lo largo de la trayectoria que se desea aprender. Este método se utiliza para trayectorias complejas como en aplicaciones de moldeado o de pintura en spray. Cuando el robot no es manipulable físicamente, se dispone de un dispositivo de enseñanza de la misma geometría y características que el robot real, para su manipulación, como puede ser una maqueta o modelo a escala del mismo. Modo activo. En este tipo de aprendizaje, se utiliza un dispositivo de enseñanza, cuya función es indicar al robot las acciones a realizar para describir la tarea deseada. A lo largo de la trayectoria, se seguirá una serie de puntos que se almacenarán en la memoria del controlador. Es más utilizado para programar trayectorias simples punto a punto, debido a la dificultad para utilizar el dispositivo de enseñanza para programar trayectorias complejas. Fuera de línea. La programación por enseñanza Fuera de línea, permite desarrollar los programas estando fuera de la estación de trabajo o dentro de esta, también es usado para pre-programar los robots antes de la instalación, se programa de la misma manera que los demás métodos ya sea con un teach pendant o guiado. También dentro de este tipo de programación esta se puede realizar utilizando paquetes software que permiten simular los movimientos del robot, utilizando para ello un modelo cinemático, y en ocasiones dinámico del robot.

Programación Textual. La programación textual utiliza lenguajes de programación, para indicar la tarea al robot. Puede ser clasificada en tres niveles: nivel robot, objeto y tarea. Dependiendo de que las órdenes se refieran a los movimientos a realizar por el robot, al estado en que deben ir quedando los objetos manipulados o al objetivo a conseguir. La programación textual podrá ser explícita o implícita. En el primer caso, los programas se componen de secuencias con instrucciones detalladas para su ejecución, mientras que, en el segundo, a partir de la especificación de las tareas que se vallan a efectuar o de los objetivos que se pretendan obtener, será el propio sistema de control el encargado de generar las órdenes concretas para su ejecución. Será necesario, en este caso, dotar al sistema de un modelo del entorno que le permite tomar las decisiones oportunas, así como de un conjunto de sensores adecuado para recibir información de dicho entorno.

Ilustración 4. Niveles de programación robots.

La evolución de los nuevos lenguajes empleados en robótica industrial conduce cada vez más hacia la programación textual, que permite la creación y depuración de programas sin necesidad de emplear el robot durante la fase de programación. Con ello e tendrán ventajas relativas al coste de las maquinas, al tiempo empleado en la creación de programas y a la posibilidad de que el dispositivo que se programa esté operando, conjuntamente, con otra serie de máquinas y robots. La programación textual Explicita se divide en 2 categorías.  

Nivel objeto Nivel robot.

Nivel Objeto.

En el caso de la programación explicita se le conoce como programación estructurada. Los lenguajes de este grupo permiten la definición de estructuras de datos y de control complejas, incorporando elementos de programación estructurada. Se dispone de la posibilidad de definición de puntos, líneas, planos… así como de transformaciones de coordenadas y de capacidad sensorial para interaccionar con el entorno. En este caso, se consigue una mayor facilidad para la comprensión del programa, existiendo asimismo disponibilidad total para su edición, ya que las acciones del manipulador quedan definidas como instrucciones textuales. En este grupo se encuentran los lenguajes: AL: Fue diseñado por el laboratorio de inteligencia Artificial de la Universidad de Stanford para su manipulador con dos brazos y con procesadores PDP 11/45 y PDP KL-10, indistintamente. Escrito en ALGOL, permite el movimiento simultáneo de dos brazos y es transportable. Trata de proporcionar definiciones acerca de los movimientos relacionados con los elementos sobre los que el brazo trabaja. Puede ser compilado e interpretado, así como ejecutado en un VAX. HELP: Creado por GENERAL ELECTRIC para su robot ALLEGRO con procesador PDP/11. Escrito en PASCAL/FORTRAN, permite el movimiento simultaneo de varios brazos (uno a cuatro) y es transportable. Puede ser compilado e interpretado. Dispone, asimismo, de un conjunto especial de subrutinas para la ejecución de cualquier tarea. MAPLE: Escrito, como intérprete, en lenguaje PL-1 por IBM para el robot de la misma empresa (procesador IBM 370/145 SYSTEM 7), tiene capacidad para soportar informaciones de sensores externos. Es transportable y permite manipulador un solo brazo. PAL: Desarrollado por la Universidad de Purdue para el manipulador de Stanford con procesador PDP 11/70, es un intérprete escrito en FORTRAN y Ensamblador que permite manipulador un solo brazo y aceptar sensores de fuerza y visión. Es transportable. MCL: Lo creó la compañía McDONALL 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¨. Permite la manipulación de varios brazos. 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. Es compilable.

Nivel Robot. Disminuye la complejidad del programa. La programación se realiza de manera más cómoda, ya que las instrucciones se dan en función de los objetos a manejar. Una planificación de la tarea se encargará de consultar una base de datos y generar las instrucciones a nivel de robot. En el caso de la programación explicita también se le conoce como elemental.

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). utilizan transformaciones homogéneas. indican los incrementos angulares de las articulaciones.

Lenguajes de programación incluidos en este grupo son: 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. (FIG. 1) Emplea, como CPU, un LSI-II, que se comunica con procesadores individuales que regulan el servo control de cada articulación. 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 Minimultiprocesador. 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.

La programación implícita a su vez se divide en 2 categorías.  

Nivel tarea Nivel objeto

Nivel Tarea. El sistema informático para la programación textual Implícita 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, 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.

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.). 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. 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 e Interpretación y desarrollo, de una forma interactiva, de una estrategia de realimentación para la adaptación al entorno de trabajo.

Nivel objeto. En la programación a nivel objeto, únicamente se define el producto final, trasfiriendo el trabajo de definición de los estados intermedios desde el usuario hasta el sistema informático de control. Los lenguajes de este tipo de programación son de muy alto nivel y se encuentran más en la fase de investigación y desarrollos que aplicados industrialmente, es necesario un incremento de la inteligencia del sistema robotizado para poder emplearlos, basado en elementos de la inteligencia artificial. Los lenguajes más conocidos de este grupo son: HILAIRE: Procedente del laboratorio de automática y análisis de sistemas de Toulouse para robots con procesadores IMS 80 C H, Está escrito en lenguaje LISP, interprete que permite la manipulación de varios brazos simultáneamente. 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.

Bibliografía. Por Hardware: *Hilario López García, Rafael González Librán, Universidad de Oviedo, 1996 * Lenguaje y programación de robots monografía presentada al curso de metodología del Trabajo universitario, autor: Victor Jhonathan Vera Zurita, http://lenguaje-programacion-robots.blogspot.mx/ * PROGRAMACION, PLANIFICACION Y CONTROL EN ROBOTICA, Raúl Suarez, https://iocnet.upc.edu/usuaris/raulsuarez/papers/ppc-de-robots99.pdf Por enseñanza: * Hilario López García, Rafael González Librán, Universidad de Oviedo, 1996 * PROGRAMACION, PLANIFICACION Y CONTROL EN ROBOTICA, Raúl Suarez, https://iocnet.upc.edu/usuaris/raulsuarez/papers/ppc-de-robots99.pdf *Programming Robots, http://thnet.co.uk/thnet/robots/33.htm

Explicita: *Hilario López García, Rafael González Librán, Universidad de Oviedo, 1996 *Lenguajes de programación de los robots. http://www.monografias.com/trabajos3/progrob/progrob.shtml *Programación de Robots, ITESCAM. www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r36961.DOC Implícita: *Hilario López García, Rafael González Librán, Universidad de Oviedo, 1996 *Lenguajes de programación de los robots. http://www.monografias.com/trabajos3/progrob/progrob.shtml * Programación de Robots, ITESCAM. www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r36961.DOC

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF