Robótica

Desarrollo Histórico. Cinemática y Dinámica. Grados de Libertad. Articulaciones. Estructuras del Robot. Matrices Homogeneas. Programación por guiado

  • Enviado por: Lalo
  • Idioma: castellano
  • País: España España
  • 17 páginas
publicidad

ROBÓTICA

INFORMÁTICA DE GESTIÓN.

Asignatura: Robótica.

Salamanca - diciembre - 1999.

BIBLIOGRAFIA:

  • Nueva Enciclopedia Larousse, Editorial Planeta Barcelona 1984

  • Control Robótico P. M. Taylor; Edición CEAC, 1991

  • HISTORIA VISUAL DEL MUNDO, Unidad Editorial 1994 Barcelona

INDICE:

  • DESARROLLO HISTORICO.

  • DEFINICIONES DEL ROBOT.

  • COMO FUNCIONAN LOS ROBOTS.

  • Cinemática y Dinámica.

  • Grados de Libertad.

  • Movilidad.

  • Articulaciones.

  • e) Eslabones.

  • ESTRUCTURAS DEL ROBOT.

  • Robots Móviles

  • Robots Cartesianos.

  • Robots Giratorios.

  • Robots Mezclados giratorios - prismáticos

  • Robots Distribuidos.

  • Robots en Paralelo.

  • Robots de eslabones flexibles.

  • ANALISIS CINEMÁTICO.

  • SISTEMA DE COORDENADAS Y TRANSFORMACIONES.

  • MATRICES HOMOGENEAS.

  • TRANSFORMACIONES DE LAS ARTICULACIONES.

  • ACCIONADORES Y SENSORES.

  • 10- ENSEÑANZA O PROGRAMACION POR GUIADO.

    11- PRAGRAMACION OFFLINE.

    12- REQUERIMIENTOS DEL LENGUAJE.

  • USOS DE LOS ROBOTS.

  • IMPACTO DE LOS ROBOTS.

  • TECNOLOGÍAS DEL FUTURO.

  • ROBÓTICA:

    En el contexto actual, la noción de robótica atiende a una idea de estructura mecánica universal capaz de adaptarse, como el hombre, a muy diversos tipos de acciones y en las que concurran, en mayor o menor medida según los casos, las características de movilidad, gobernabilidad, autonomía y polivalencia. La robótica, tomada en sentido general abarca una amplia gama de dispositivos con muy diversas cualidades físicas y funcionales asociada a la particular estructura mecánica de aquellos, a sus características operativas y al campo de aplicación para el que se a concebido.

    Todos estos factores están íntimamente relacionados, de forma que la configuración y el comportamiento de un robot condicionan su adecuación para un campo de aplicación especifico. La robótica se apoya en gran medida en los progresos de la microelectrónica y la microinformática, así como en nuevas disciplinas como el reconocimiento de formas y la inteligencia artificial; en este sentido la robótica cuneta con valiosos recursos a su alcance: electrónica, servomecanismos, controladores, sensores y equipos de comunicación entre otros. Las investigaciones actuales se orientan especialmente a la construcción de maquinas capaces de trabajar en medios parcialmente desordenados y de responder con eficacia ante situaciones no totalmente previstas o sea que el robot sea capaz de relacionarse con el mundo que le rodea a través de sensores y de tomar decisiones en tiempo real.

    DESARROLLO HISTORICO:

    El comienzo de la revolución industrial proporcionó un medio potencialmente poderoso de mover las maquinas: “el vapor”. Sin embargo también eran potencialmente peligrosas las explosiones de las calderas y maquinas y existía una gran necesidad de alguna forma de regular automáticamente el suministro de vapor según la carga. Por ello el regulador centrífugo de bolas de Sir James Watt, introducido en 1787, proporciono la solución. Como se muestra si la carga sobre el árbol disminuye bruscamente y el árbol se acelera haciendo que la fuerza centrífuga mueva las bolas giratorias hacia fuera, esto hace que se eleve la pieza deslizante conectada a la válvula de vapor disminuyendo con ello el suministro de vapor y finalmente reduciendo la velocidad de árbol de salida. Este principio fue de hecho utilizado primitivamente en los molinos de viento (Mayr, 1970). El desarrollo clave en la década de los 30 fue el análisis de estabilidad de los nuevos amplificadores electrónicos (Nyquist, 1932), mas tarde mediante la teoría del control han sido reunidos por MacFarlane (1979) que se aplico rápidamente a los dispositivos mecánicos.

    El robot industrial incluye el principio de secuenciación y retroalimentación para proporcionar movimientos rápidos y precisos. La razón de por qué la aparición de robots es relativamente reciente reside en la evolución de ordenadores rápidos y seguros que forman el corazón del robot y proporcionan tanto el control como la reprogramabilidad. La disponibililad de ordenadores ha significado también un desarrollo paralelo de sensores y procesamiento sensorial, esto junto con la flexibilidad inherente, proporcionada por tener los movimientos del robot, mandados a partir de un ordenador de control hacen que los movimientos de un robot pueden modificarse de acuerdo con la información sensorial. La posición se transmite al robot, el cual entonces agarra la pieza correctamente.

    El concepto de máquinas automatizadas se remonta a la antigüedad, con mitos de seres mecánicos vivientes. Los autómatas, o maquinas semejantes a personas, ya aparecían en los relojes de las iglesias medievales, y los relojeros del siglo XVIII eran famosos por sus ingeniosas criaturas mecánicas.

    Algunos de los primeros robots empleaban mecanismos de realimentación, para corregir errores, mecanismos que siguen empleándose actualmente. Un ejemplo de control por realimentación es un bebedero que emplea un flotador para determinar el nivel del agua. Cuando el agua cae por debajo de un nivel determinado, el flotador baja, abre una válvula y deja entrar mas agua en el bebedero. Al subir el agua, el flotador también sube, y al llegar a cierta altura se cierra la válvula y se cota el paso del agua.

    Aunque el primer auténtico controlador realimentado fue el regulador de Watt, inventado en 1788 por el ingeniero mecánico británico James Watt. Este dispositivo constaba de dos bolas metálicas unidas al eje motor de una maquina de vapor y con una válvula que regulaba el flujo del vapor. A medida que aumentaba la velocidad de maquina de vapor, las bolas se alejaban del eje debido a la fuerza centrífuga, con la que cerraban la válvula. Esto hacia que disminuyera el flujo de vapor a la máquina y por tanto la velocidad.

    El control por realimentación, el desarrollo de herramientas especializadas y la división del trabajo en las tareas más pequeñas que pudieran realizar obreros o máquinas fueron ingredientes esenciales en la automatización de las fábricas en el siglo XVIII. A medida que mejoraba la tecnología se desarrollaron máquinas especializadas para tareas como poner tapones a las botellas o verter caucho líquido en moldes para neumáticos. Sin embargo, ninguna de estas máquinas tenia la versatilidad del brazo humano, y no podian alcanzar objetos alejados y colocarlos en la posición deseada.

    El desarrollo del brazo artificial multiarticulado, o manipulador, llevó al moderno robot. El inventor estadounidense George Devol desarrolló en 1954 un brazo primitivo que se podía programar para realizar tareas específicas. En 1975, el ingeniero mecánico estadounidense Victor Scheinman, cuando estudiaba la carrera, desarrollo un manipulador polivalente realmenete flexible conocido como Brazo Manipulador Universal Programable (PUMA). El PUMA era capaz de mover un objeto y colocarlo en cualquier orientación en un lugar deseado que estuviera a su alcance. El concepto básico multiarticulado del PUMA es la base de la mayoría de los robots actuales.

    DEFINICIONES DE ROBOT:

    Máquina controlada por ordenador y programada para moverse, manipular objetos y realizar trabajos a la vez que interacciona con su entorno. Los robots son capaces de realizar tareas repetitivas de forma más rápida, barata y precisa que los seres humanos. El término procede de la palabra checa robota, que significa “trabajo obligatorio”, fue empleado por primera vez en la obra teatral de 1921 R.U.R (Robots Universales de Rossum) por el novelista y dramaturgo checo Karel Capek. Desde entonces se ha empleado la palabra robot para referirse a una máquina que realiza trabajos para ayudar a las personas o efectúa tareas difíciles o desagradables para los humanos.

    Un robot es una manipulador multifuncional reprogramable diseñado para mover material, piezas, herramientas o dispositivos especializados a través de movimientos programados variables para la realización de tareas variadas. Para realizar cualquier tarea útil el robot debe interactuar con el entorno, el cual puede incluir dispositivos de alimentación, otros robots y, lo más importante, gente. Consideramos que la robótica abarca no solamente el estudio del robot en sí, sino también las interfaces entre él y sus alrededores.

    Ingenio electrónico que puede ejecutar automáticamente operaciones o movimientos muy variados, y capaz de llevar a cabo todos los trabajos normalmente ejecutados por el nombre.

    COMO FUNCIONAN LOS ROBOTS:

    El diseño de un manipulador robótico se inspira en el brazo humano, aunque con algunas diferencias. Por ejemplo, un brazo robótico puede extenderse telescópicamente, es decir, deslizando unas secciones cilíndricas dentro de otras para alargar el brazo. También pueden construirse brazos robóticos de forma que puedan doblarse como la trompa de un elefante. Las pinzas están diseñadas para imitar la función y estructura de la mano humana. Muchos robots están equipados con pinzas especializadas para agarrar dispositivos concretos, como una gradilla de tubos de ensayo o un soldador de arco.

    Las articulaciones de un brazo robótico suelen moverse mediante motores eléctricos. En la mayoría de los robots, la pinza se mueve de una posición a otra cambiando su orientación. Una computadora calcula los ángulos de articulación necesarios para llevar la pinza a la posición deseada, un proceso conocido como cinemática inversa.

    CINEMATICA Y DINAMICA:

    Como ya hemos dicho, la finalidad esencial de un robot es trasladar objetos o herramientas de una posición a otra en el espacio. Para controlar los movimientos de las diferentes partes de la estructura es necesario estudiar las ecuaciones cinemática. También debe de estudiarse el comportamiento dinámico del robot.

    GRADOS DE LIBERTAD:

    Para definir la posición de orientación de un objeto en general en un espacio tridimensional (3D) son necesarios y suficientes seis parámetros. La posición del objeto puede definirse en coordenadas cartesianas (x, y, z) en relación con un punto de referencia fijado. También son alternativas a esto definir la posición en coordenadas cilíndricas o esféricas. Utilizando las coordenadas cartesianas la orientación puede definirse por una secuencia de tres rotaciones alrededor de los ejes x, y, z. Si se usan los mismos términos que para un barco o un avión las rotaciones corresponden al, balanceo, inclinación guiñada. La orientación puede también definirse por los ángulos de Euler (ð, ð, ððð Si se fija a un objeto un sistema de coordenadas rectangulares su orientación puede expresarse como una sucesión de giros alrededor de cada eje. Si el objeto se gira primero alrededor del eje “z” en un ángulo “ð”, luego alrededor del eje y (girado) en un ángulo “ð” y luego de nuevo alrededor de eje “z” (girado) en un ángulo “ð”, su orientación puede describirse por el juego de ángulos de Euler (ð, ð, ðð. Un robot por lo tanto necesita seis grados de libertad si se ha de desplazar el efector terminal a cualquier posición de orientación arbitraria. Si hay menos de seis grados de libertad la serie de posiciones y orientaciones alcanzables será limitada.

    MOVILIDAD:

    Normalmente los robots están construidos a partir de una serie de eslabones rígidos conectados por juntas o articulaciones. El tipo correcto de articulación define como puede moverse un eslabón en relación al otro. Sin embargo hay alternativas al enfoque de las series eslabón - articulación - eslabón.

    ARTICULACIONES:

    Son comunes dos tipos de articulaciones: la prismática y la giratoria. Una junta prismática, también conocida como junta deslizante, posibilita a un eslabón deslizarse en línea recta sobre otro. Una junta giratoria, si consideramos el caso de un grado de libertad, toma la forma de una bisagra entre un eslabón y el próximo. Dos o más articulaciones de éstas puede combinarse estrechamente.

    ESLABONES:

    Con objeto de lograr la respuesta más rápida posible para un movimiento dado y un sistema de accionamiento, los eslabones que forman las estructura deben de mantenerse lo más ligeros posibles. Los eslabones deben también tan rígidos como sea posible. En la practica hay que considerar muchos otros factores tales como el coste, las necesidades para alojar los accionadores, árboles de transmisión y cajas de engranaje, el comportamiento vibracional, el comportamiento no elástico tal como el pandeo y la necesidad de alcanzar un espacio de trabajo determinado.

    ESTRUCTURAS DE ROBOTS:

    Robots móviles: Tienen por definición algún medio de desplazarse tal como ruedas u orugas. Sin embargo, se considera mas a un robot de base fija con las características adicionales de ser capaces de desplazar la base. Tales medios incluyen vehículos de oruga y la locomoción bípeda y multípoda. La movilidad permite al robot desplazarse de uno a otro lugar de trabajo o trasladar objetos a distancias largas sin necesidad de un sistema de transporte especial. En definitiva los robots de base fija convencionales se han montado sobre raíles elevados para darles mayor movilidad, (normalmente en una sola dirección).

    Robots cartesianos (de coordenadas rectangulares): Las primeras tres articulaciones son del tipo prismático proporcionando un espacio de trabajo en forma de caja. Hay tres ejes de las juntas que son ortogonales situado a lo largo de ejes x, y, z de un sistema de coordenadas cartesianas. Las posiciones de las articulaciones son por lo tanto idénticas a las coordenadas de la posición del efector final, haciendo que este robot sea de los más sencillos de controlar.

    Robots giratorios: Todas las articulaciones son de tipo giratorio. Se le denomina antropomórfico debido a las similitudes entre su estructura y el brazo humano. Estos robots tienen un gran espacio de trabajo y son muy populares, pero su control es mucho más complejo que el robot cartesiano, debido a su análisis dinamico.

    Robots mezclados giratorios- prismáticos: La característica principal es el uso de dos o tres articulaciones giratorias con ejes verticales. La complejidad de su manejo se sitúa entre la del robot cartesiano y el robot completamente giratorio.

    Robots distribuidos: En lugar de utilizar un robot rápido con seis grados de libertad para realizar una tarea complicada, puede ser más económico dividir la tarea en una serie de operaciones llevadas a cabo en paralelo por robots más sencillos y baratos. Incluso algunos dispositivos pueden tener un solo grado de libertad.

    Robots en paralelo: Estos, tienen los eslabones dispuestos en paralelo en lugar de en serie. Normalmente tienen un espacio de trabajo pequeño, pero sus errores de posicionamiento ya no son acumulativos como en un robot de eslabones en serie. La principal desventaja de los mecanismos puramente paralelos es su limitado campo de movimiento giratorio.

    Robots de eslabones flexibles: Todos los eslabones de los robots se flexionarán en algún grado bajo cargas estáticas o dinámicas. La aplicación más corriente de eslabones deliberadamente flexibles se encuentran en el diseño de dedos de agarre.

    ANÁLISIS CINEMÁTICA:

    Es necesario conocer la localización y orientación del efector terminal dados los estados de todas las articulaciones, esto se conoce como el problema de cinemática directa. El problema de cinemática inverso es encontrar los estados de todas las articulaciones para una localización y orientación dadas del efector terminal. En el anterior estado significa la posición angular de una articulación giratoria o el desplazamiento de una articulación prismática.

    SISTEMAS DE COORDENADAS Y TRANSFORMACIONES:

    Se puede describir la posición de cualquier punto en el espacio con respecto a algún sistema de coordenadas arbitrario fijo. Si el sistema de coordenadas se fija a una línea horizontal o bien al suelo las coordenadas de este punto en este sistema se dicen que están definidas en coordenadas universales. Por conveniencia es corriente fijar este sistema de coordenadas a la base del robot.

    También esta el sistema “efector terminal”. Para un juego de ángulos de articulación dado, se relacionarán los sistemas de coordenadas universales y del efector terminal, un punto descrito en un sistema puede transformarse a una descripción en el otro sistema. Situemos un punto localizado en las coordenadas (Xo, Yo, Zo) en el sistema base (coordenadas universales). Aunque es mas conveniente utilizar una notación vectorial de manera que describiremos la localización de Q por el vector qo =[Xo, Yo, Yo] en coordenadas universales. En forma similar, Q puede describirse por el vector q1=[X1, Y1, Z1] en el sistema de coordenadas del efector terminal.

    MATRICES HOMOGENEAS:

    Se utilizara mediante una serie de formulas que se obtiene generalizando los vectores qo y q1 y la matriz B para dar:

    vo = Ao1v1

    en la que

    vo = [qo/1] v1 = [q1/1] y Ao1 = [B/ooo | p/1]

    La ventaja de esta forma reside en que la traslación y rotaciones se combinan en una sola matriz Ao1, la matriz de transformación homogénea relacionando el sistema 1 al sistema 0. Esta forma fue propuesta originalmente para los mecanismos por Denavit y Hartenberg (1955) pero solamente se popularizó siguiendo el trabajo de Paul (1981).

    Si la matriz Ao1 es inversible, su inversa Ao1 ^-1 puede utilizarse para premultiplicar ambos lados de la ecuación, con el objeto que pueda encontrarse v1 a partir de un vo dado.

    Se fijara el sistema de coordenadas rectangulares 0 a la base del robot, el sistema 1 al extremo final del eslabón 1, el sistema 2 al extremo final del eslabón 2, etc.. Tendremos.

    vo = A01 v1, v1 = A12 v2, v2 = A23 v3

    v3 = A34 v4, v4 = A45 v5, v5 = A56 v 6

    luego

    v0 = A01 A12 A23 A34 A45 A56 v6

    Por lo tanto calculando las matrices A para cada par del sistema fijados a los eslabones adyacentes puede calcularse la matriz de transformación total como:

    T = A01 A12 A23 A34 A45 A56

    TRANSFORMACIONES DE LAS ARTICULACIONES:

    El paso siguiente es determinar la matriz A para un par completo de eslabones y un estado determinado de la articulación (rotación o traslación).

    La matriz A para una articulación giratoria se define como:

    [ cos ði -cos ði senði sen ð sen ði ði cos ði ]

    [ sen ði cos ði cosði -sen ði cos ði ði sen ði ]

    Ai -1,i = [ 0 sen ði cosði di ]

    [ 0 0 0 1 ]

    y para una articulación prismática la matriz A resulta:

    [ cos ði -cos ði senði sen ð sen ði 0 ]

    [ sen ði cos ði cosði -sen ði cos ði 0 ]

    Ai -1,i = [ 0 sen ði cos ði di ]

    [ 0 0 0 1 ]

    Ahora puede llevarse a cabo una análisis cinemático total para un robot completo. Se deducen las matrices de transformación para cada articulación y se toma su producto para dar la matriz de transformación total como se ha bosquejado en la ecuación.

    ACCIONADORES Y SENSORES:

    Se pueden describir los principios básicos de los accionadores neumáticos, hidráulicos y eléctricos con especial atención a aquellos aspectos que pueden limitar el funcionamiento de un robot.

    ACCIONADORES HIDRÁULICOS:

    Los sistemas de accionamiento hidráulico comprenden el accionador en sí mismo, que puede proporcionar movimiento lineal o rotatorio, las valvulas que controlan el flujo del fluido hidráulico y el suministro que proporciona una fuente de fluido a alta presión.

    LOS ACCIONADORES:

    Son de uso corriente tanto los tipos de simple efecto como los de doble efecto. También se encuentran formas rotativas. En los accionadores de simple efecto debe de haber siempre una fuerza externa positiva F aplicada para hacer retornar el émbolo después de la extensión.

    SUMINISTROS HIDRÁULICOS:

    Normalmente la fuente de potencia es un motor hidráulico de velocidad constante impulsando un abomba hidráulica. El aceite a elevada presión se almacena en un deposito también conocido como acumulador y de allí conocido a las válvulas de control. Los problemas es más probable que surjan cuando todas las articulaciones son repentina y simultánemente comandadas a funcionar a plena velocidad. Si el acumulador es demasiado pequeño o el motor eléctrico tiene una potencia inadecuada el suministro no puede abastecer energía a razón de la perdida por el controlador. Cae la presión de aceite produciendo una respuesta lenta.

    CONTROL DE TAREA:

    Para seguir el siguiente aspecto admitiremos que disponemos de un robot que puede ser comandado para moverse a determinadas posiciones y a lo largo de determinadas trayectorias. Se han conjuntado todos los componentes del hardware y software necesarios y que no es necesario sensar el entorno exterior. Sin embargo deben de proporcionarse algunos medios de programar el robot para realizar la serie de movimientos requerida.

    ENSEÑANZA O PROGRAMACIÓN POR GUIADO (ENSEÑANZA POR DEMOSTRACIÓN):

    Esta es la forma más sencilla de programar o enseñar a un robot. El robot es guiado manualmente a través de una serie de puntos que representan la tarea. El operador indica al controlador del robot cuándo debe ser recordado un punto. La serie de puntos recordados en la forma de posiciones de articulación forma el programa almacenado en la memoria del controlador. La ejecución del programa consiste en el movimiento del robot a cada punto almacenado sucesivamente.

    El guiado del robot durante la enseñanza se efectúa a menudo por medio de una caja de enseñanza o botonera de enseñanza. La caja de enseñanza del robot Adept I, seria, la caja se conecta al armario de control mediante un cordón umbilical, y contiene todas las funciones necesarias para mover el robot alrededor de una célula. El pulsado a mano de las teclas de la caja hace que se envíen señales al controlador que de nuevo activa a la articulación o serie de articulaciones concretas. Cuando el robot alcanza una posición deseada, la localización se almacena pulsando otra tecla.

    En algunos robots especialmente en los utilizados para pintura por proyección, el operador mueve el brazo contrapesado del robot a lo largo de la trayectoria deseada. Las coordenadas a lo largo de la trayectoria pueden almacenarse automáticamente.

    Algunos robots permiten que los movimientos sean comandados en uno o varios sistemas de coordenadas, típicamente en modo de articulación y modo universal, pero a veces, adicionalmente, en modo de herramienta. El modo de articulaciones permite moverse las articulaciones individualmente. El modo universal permite especificar los movimientos en coordenadas cartesianas y corrientemente en ángulos de balanceo, inclinación y guiñada. El modo de herramienta permite a los movimientos emprenderse con respecto a un sistema de coordenadas fijado al efector terminal. Esta última facilidad es especialmente útil en problemas de “ clavija en agujero” cuando el agujero no está alienado con ninguno de los sistemas de coordenadas universales o de articulación.

    En la mayoría de los robots existentes la enseñanza por guiado es la única manera de especificar la tarea. En robots más avanzados la descripción de la tarea principal se introduce en el controlador como un programa de ordenador, sin embargo en este caso distintas posiciones de referencia dentro de la célula de trabajo, pueden no ser conocidas de antemano con la precisión necesaria. Estas posiciones pueden tratarse en el programa como variables. Sus valores pueden ser luego colocados.

    PROGRAMACIÓN OFFLINE (nivel de manipulación):

    La enseñanza por guiado define la tarea en términos de una serie de puntos geométricos a través de los cuales debe de pasar el efector terminal. Con la programación offline la tarea se define por un programa de ordenador que comprende una secuencia de órdenes a obedecer por el robot. Los puntos pueden definirse como variables permitiendo separar la información geométrica de la descripción de la tarea.

    La programación a nivel de manipulador, llamada así porque la descripción de la tarea se define en términos del movimientos del robot. La programación a nivel de objeto define la tarea en términos de lo que debe hacerse con los distintos objetos en el espacio de trabajo. La programación de nivel de objetivo describe el resultado deseado de la tarea. Estos últimos niveles están a un nivel mas alto que el nivel de manipulador y son aún sujeto de investigación.

    REQUERIMIENTOS DEL LENGUAJE:

    Un buen lenguaje de programación del robot debe de tener todos los tipos de datos y constructos estructurales necesarios para la descripción y ejecución de la tarea. No deberá tener suficientes características superfluas. Por ejemplo es confuso para el lector de un programa si hay demasiados comandos que dan casi el mismo resultado. Las características más fundamentales de cualquier programa de ordenador son: primeramente que el programa realice la función prevista y en segundo lugar que el programa sea fácil de comprender y modificar por persona diferente del programador original. Los programas escritos con claridad y teniendo en mente la mantenibilidad es también mas probable que funcionen. Otro factor que también es importante es la eficacia del código, aunque la velocidad de ejecución del programa es probablemente mucho más rápida que la velocidad mecánica del robot. La transportabilidad será mucho más importante ene futuro. Sería deseable si una descripción de tarea hubiese de ejecutarse sobre robots diferentes con el mismo resultado. Sin embargo, probablemente esto será mejor hacerlo en programación a nivel objeto y objetivo. Puesto que las estructuras cinemáticas y los espacios de trabajo de robots diferentes pueden ser muy distintos, un programa a nivel de manipulador escrito para un robot puede ser muy bien inadecuado para otro.

    No existe un lenguaje normalizado utilizado para la programación a nivel del manipulador. Algunos fabricantes de robots proporcionan su propio lenguaje con la compra del robot, un ejemplo es el lenguaje VAL (Unimation, Inc, 1985) suministrado con varios robots de la Unimation, otro es el ALM (Taylor, R.H et al, 1983) utolizado con el robot IBM 7565. Bonner y Shin dan un estudio comparativo de tales lenguajes. Otra opción es utilizar un lenguaje existente de uso general, tales como el Pascal o el Forth, como base al lenguaje del nivel del manipulador. Se suministra un a librería de procedimientos que proporcionan los comandos básicos y la interface con el sistema de control del robot. Este enfoque es adoptado por la Universal Machine Intelligence Ltd con su robot RTX.

    Deben proporcionarse desde luego comandos para el control del movimiento. La manera más corriente de hacer esto es disponer de un comando de tipo MOVE, con una serie de argumentos defiendo la posición a la que ha de desplazar el robot. Es útil tener la capacidad de especificar esta posición objetivo en uno o varios sistemas de coordenadas, las más valiosas son las del modo universal y las del modo articulaciones. Corrientemente pueden ser definidos tanto los movimientos absolutos como los relativos (con respecto a la posición actual). El programa se hace más legible y más fácil de mantener si se dan nombres a estas posiciones. Las que son fijas pueden definirse al comienzo del programa. Las que no lo son pueden tratarse como variables ordinarias del programa. Para tales variables se utilizan tipos de datos integrales y reales. Para pasar un mensaje se utilizan cadenas de caracteres.

    Incluso en los programas que no han de responder a datos sensoriales, son útiles las ramificaciones y los bucles. Un ejemplo es una tarea de paletización en que los componentes se suministran desde un punto fijo y deben colocarse en el palet en un posición o una serie de posiciones regularmente espaciadas. Un metodo de programar

    esta tarea es disponer dos bucles variando la posición X en un bucle que es seguido dentro del segundo bucle que varía la posición Y.

    En el control del bucle puede implicarse cualquiera de las estructuras corrientes DO-WHILE-REPEAT-UNTIL. Las posiciones reales pueden computarse dentro del bucle, necesitando esto apoyo de las posiciones aritméticas tales como la suma, resta, multiplicación y división.

    Otras declaraciones del control del flujo del programa son útiles son de los tipos de ramificación condicional o incondicionales tales como IF- THEN- ELSE- GOTO, el uso de ramificaciones implica algún medio de definir el punto en el programa por el que debe de pasar el control. Pueden utilizarse números como en los lenguajes sencillos similares al BASIC o pueden utilizarse preferentemente etiquetas.

    Las características anteriores dan al programador gran flexibilidad. Los argumentos del comando MOVE pueden ser definidos explícitamente en el programa, pueden definirse a través de una fase de enseñanza o deducirse matemáticamente de otras variables, minimizando así el número posiciones a enseñar. Además el programador puede cambiar el uso de variables, con constructos de bucle y ramificación dando un control de flujo de programa muy adaptable.

    Con objeto de mejorar la claridad y mantenibilidad del programa, es beneficioso utilizar procedimientos y funciones. Además si estos procedimientos pueden coleccionarse juntos en librerías, estas pueden utilizarse por otros programadores. La existencia de librerías de procedimientos bien escritos, documentados y totalmente depurados pueden mejorar grandemente la productividad del programador y hacer tanto más fácil su tarea.

    Los programas bien escritos contienen muchas líneas de comentarios, preferentemente alrededor de tantas líneas de comentario como líneas de codificación de ejecución. Los programas bien escritos también están bien estructurados. Esta es principalmente una función de planeamiento de buen offline de la organización del programa y el uso de un estilo de programación consecuente, dirigido a realizar el programa fácil de comprender, mantener y ampliar. Es bueno hacer notar que el uso de un lenguaje estructurado.

    La primera herramienta esencial es el editor que proporciona los medios de entrar y modificar el programa. Puede utilizarse un editor de línea, como indica su nombre requiere que los programas sean entrados y cambiados sobre una base de línea por línea. Los editores de texto están orientados al texto en lugar de a la línea y permiten comandos más potentes, por ejemplo cambiar una entidad característica en otra todas las veces que esté presente. Los editores de pantalla permiten al programador visualizar partes del texto sobre un a pantalla de VDU mientras se están haciendo los cambios. Un cuadro parpadeante, el cursor, puede utilizarse para indicar en el texto el punto de edición actual.

    Una vez el programa se ha entrado en la memoria del ordenador, pueden pedirse distintas utilidades de gestión de la tarea. Estas permiten por ejemplo almacenar los programas como nombre de fichero en un medio de almacenamiento tal como un disco o imprimirse sobre una pantalla VDU o impresora del usuario.

    Luego los programas deben de probarse. La simulación offline no es corriente por el momento, la mayoría de los programas de robot actualísimos son relativamente sencillos y requieren la enseñanza online de muchos puntos.

    Si la disposición es indisponible o inadecuada, el programa se prueba en vivo sobre el robot. Con seguridad es una buena práctica hacer funcionar el robot a una baja velocidad, sosteniendo el botón de paro de emergencia listo para cualquier movimiento peligroso. El robot, una vez conectado, deberá verse como siendo totalmente impredecible.

    Para ejecutar o pasar el programa deben de suministrarse algunos medios. Se llama a una utilidad que lee las declaraciones del programa y las convierte en órdenes internas que se envían al controlador del robot para mover los accionadores de las articulaciones. Se reservan posiciones de memoria internas para las variables concretas utilizadas. Este proceso lo es realizado lo más corrientemente por un intérprete.

    La unidad intérprete lee secuencialmente la línea del programa. Comprueba que la sintaxis de la línea sea correcta y si no lo es para la interpretación, con un mensaje de error para al operador. Si la sintaxis es valida realiza la ejecución de las declaraciones de la línea, sean ordenes del movimiento del robot, declaraciones del control del flujo del programa u operaciones aritméticas. El proceso de comprobar la sintaxis y convertir las declaraciones en formas internas puede ser lenta cuando se dispone de un gran número de órdenes y cualificadores. Esto es particularmente así si el formato de comando no esta rígidamente limitado. En programación a nivel de manipulador esto no es corrientemente importante, pues la velocidad de los movimientos mecánicos del robot es a menudo la limitación principal del tiempo de ejecución de la tarea. Un enfoque alternativo es compilar offline el programa de tarea en código interno, que puede luego ejecutarse más rápidamente. Los errores de sintaxis pueden también detectarse en esta etapa. Son también posibles distintos esquemas en los que se combinan los dos enfoques.

    Para ayudar a encontrar defectos en el programa puede utilizarse ayudas de depuración. Hay tres tipos de faltas. La mala programación o mecanografiado pueden traducirse en una línea del programa con una sintaxis inadmisible. Esto se encontraría por el interprete o compilador, como anteriormente. Sin embargo, un error de mecanografiado, o programación, puede dar como resultado por ejemplo, dar un nombre incorrecto para una variable. Si el nombre en sí mismo es valido, el interprete o el compilador no encontrara el error. El error se encontrara solamente cuando se ejecute este trozo de codificación. Este tipo de errores puede se difícil de encontrar y rectificar, especialmente cuando esta parte concreta de codificación se ejecuta infrecuentemente. Debe hacerse resaltar que la validación del programa, seto es, comprobar que el programa describe correctamente la tarea tal como la requiere el programador, debe de ser rigurosa con tal de mantener los errores en un mínimo.

    Un tercer tipo de error es el de error de especificación de la tarea. Este es especialmente corriente cuando se utilizan robots sensoriales, ya que el programador puede no haber pensado en todos los problemas que pueden presentarse durante la ejecución de la tarea. Aunque el programa en sí sea correcto, puede no cumplir los objetivos de la tarea completa. Este error se encontrara también durante la ejecución de la tarea.

    Con el fin de ayudar al usuario a depurar un programa en el momento de la ejecución, algunos fabricantes de robots proporcionan una capacidad de un solo paso. Cada paso del programa se ejecuta solamente después de que el usuario da un apuntamiento. En programas largos es útil que esta opción pueda ser conectada y desconectada dentro del programa. Algunos fabricantes proporcionan facilidades de pistas mediante las cuales después de una interrupción o un error fatal se le dice al usuario en que línea del programa se ha producido un error. Si el error se produce dentro de un procedimiento la facilidad de pista posterior dará el nombre del procedimiento llamado con el número de línea en que se hizo la llamada. Esto puede repetirse para cada nivel de procedimiento llamando al programa principal en el nivel más alto.

    Es fundamental un buen informe de error. El usuario necesita que se diga tan clara y precisa como sea posible la naturaleza del error detectado, si es un simple error de sintaxis en la línea del programa o si se le ha pedido al robot moverse a una posición fuera del espacio del trabajo. No debe de ser necesario tener que recurrir a un manual de programación con objeto de encontrar el significado de un número de código de error concreto.

    Finalmente la necesidad de una buena documentación se extiende a los manuales que deben de ser suministrados con el robot. Estos y cualquier documentación offline y las facilidades de ayuda que puedan disponerse deben suministrar un guía introductoria de fácil comprensión, un manual de consulta para el usuario experimentado y ejemplos de trabajo, ilustrativos. Estas indicaciones se aplican no solamente a los manuales de programación, sino también a la documentación del hardware.

    USOS DE LOS ROBOTS:

    En 1995 funcionaban unos 700000 robots en el mundo industrializado. Mas de 500000 se empleaban en Japón, unos 120000 en Europa Occidental y unos 60000 en Estados Unidos. Muchas de las aplicaciones del robot corresponden a tareas peligrosas o desagradable para los humanos. En los laboratorios médicos, los robots manejan materiales que conllevan posibles riesgos, como muestras de sangre u orina. En otros casos los robots se emplean en tareas en tareas repetitivas y monótonas en las que el rendimiento de una persona podría disminuir con el tiempo. Los robots pueden realizar estas operaciones repetitivas de alta precisión durante 24 horas al día sin cansarse. Uno de los principales usuarios del robot es la industria del automóvil. La empresa General Motors utiliza apoximadamente 16000 robots para trabajos como soldadura por puntos, pintura, carga de maquinas, transferencias de piezas y montaje. El montaje es una de las aplicaciones industriales de la robótica que más está creciendo. Exige una mayor precisión que la soldadura o la pintura y emplea sistemas de sensores de bajo coste y ordenadores potentes y baratas. Los robots se utilizan por ejemplo en el montaje de aparatos electrónicos, para montar microchips en placas de circuitos.

    Las actividades que entrañan gran peligro para las personas, como la localización de barcos hundidos, la búsqueda de depósitos minerales submarinos o la exploración de volcanes activos, son esencialmente apropiados para el robot. Tambien pueden explorar planetas distantes. La sonda espacial no tripulada Galileo, de la NASA, viajó a Júpiter en 1996 y realizó tareas como la detección del contenido químico de la atmósfera joviana.

    Ya se emplean a los robots para ayudar a los cirujanos a instalar caderas artificiales, y ciertos robots especializados de altísima precisión pueden ayudar en operaciones quirúrgicas delicadas en los ojos. La investigación en telecirugía emplea robots controlados de forma remota por cirujanos expertos; estos robots podrían algún día efectuar operaciones en campos de batalla distantes.

    IMPACTO DE LOS ROBOTS:

    Los manipuladores robóticos crean productos manufacturados de mayor calidad y menor coste. Sin embargo, también pueden provocar la pérdida de empleos no cualificados, especialmente en cadenas de montaje industriales. Aunque crean trabajos en los sectores de soporte lógico y desarrollo de sensores, en la instalación y mantenimiento de robots y en la conversión de fábricas antiguas y el diseño de fábricas nuevas, estos nuevos empleos exigen mayores niveles de capacidad y formación. Las sociedades orientales hacia la tecnología deben enfrentarse a la tarea de volver a formar los trabajadores que pierden su empleo debido a la automatización y enseñarles nuevas capacidades para que puedan tener un puesto de trabajo en las industrias del siglo XXI.

    TECNOLOGÍAS DEL FUTURO:

    Las maquinas automatizadas ayudarán cada vez más a los humanos en la fabricación de nuevos productos, el mantenimiento de las infraestructuras y el cuidado de hogares y empresas. Los robots podrán fabricar nuevas autopista, construir estructuras de acero para edificios, limpiar construcciones subterráneas o cortar el césped. Ya existen prototipos que realizan esas tareas.

    Una tendencia importante es el desarrollo de sistemas microelectromecánicos, cuyo tamaño va desde centímetros a milímetros. Estos robots minúsculos podrían emplearse para avanzar por vasos sanguíneos con el fin de suministrar medicamentos o eliminar bloqueos arteriales. También podrían trabajar en el interior de grandes máquinas para diagnosticar con antelación posibles problemas mecánicos.

    Puede que los cambios más espectaculares en los robots del futuro provengan de su capacidad de razonamiento cada vez mayor. El campo de la inteligencia artificial está pasando rápidamente de los laboratorios universitarios a la aplicación práctica de la industria, y se están desarrollando maquinas capaces de realizar tareas cognitivas como la planificación estratégica o el aprendizaje por experiencia. El diagnóstico de fallos en aviones o satélites, el mando de un campo de batalla o el control de grandes fábricas correrán cada vez más a cargo de ordenadores inteligentes.