ES2324791T3 - Sistema de control, procedimiento y programa informatico para sincronizar una pluralidad de robots. - Google Patents

Sistema de control, procedimiento y programa informatico para sincronizar una pluralidad de robots. Download PDF

Info

Publication number
ES2324791T3
ES2324791T3 ES05704717T ES05704717T ES2324791T3 ES 2324791 T3 ES2324791 T3 ES 2324791T3 ES 05704717 T ES05704717 T ES 05704717T ES 05704717 T ES05704717 T ES 05704717T ES 2324791 T3 ES2324791 T3 ES 2324791T3
Authority
ES
Spain
Prior art keywords
mechanical
program
unit
mechanical unit
programs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES05704717T
Other languages
English (en)
Inventor
Hakan Fortell
Sven-Erik Johansson
Sven-Erik Lindstrom
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB AB
Original Assignee
ABB AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ABB AB filed Critical ABB AB
Application granted granted Critical
Publication of ES2324791T3 publication Critical patent/ES2324791T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1679Program controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39139Produce program of follower from path of leader and desired relative position
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Control Of Position Or Direction (AREA)
  • Programmable Controllers (AREA)

Abstract

Un sistema (5) de control para controlar los movimientos de una pluralidad de unidades (1, 2, 3) mecánicas, comprendiendo además el sistema de control: - un medio de programa que comprende una pluralidad de programas (6, 7, 8) de unidad mecánica, comprendiendo cada programa instrucciones que incluyen instrucciones de movimiento para al menos una de dichas unidades mecánicas, - una pluralidad de planificadores (9, 10, 11) de trayectoria, estando adaptado cada planificador de trayectoria para recibir instrucciones de al menos uno de dichos programas de unidad mecánica y, basándose en las mismas, determinar cómo la unidad mecánica debe moverse para poder ejecutar la instrucción de movimiento, caracterizado porque al menos uno de dichos planificadores de trayectoria está adaptado para recibir instrucciones de al menos dos de dichos programas de unidad mecánica y, basándose en las mismas, determinar cómo las unidades mecánicas deben moverse para sincronizar sus movimientos, y - un medio (22) de conmutación adaptado para conmutar un programa de unidad mecánica desde un planificador de trayectoria a otro, por lo que los movimientos de las unidades mecánicas están sincronizados cuando sus programas de unidad mecánica están conectados al mismo planificador de trayectoria y los movimientos de las unidades mecánicas son independientes cuando sus programas de unidad mecánica están conectados a diferentes planificadores de trayectoria.

Description

Sistema de control, procedimiento y programa informático para sincronizar una pluralidad de robots.
Campo técnico de la invención
La presente invención se refiere a un sistema de control para controlar los movimientos de una pluralidad de unidades mecánicas, concretamente robots y ejes externos, tales como estaciones de trabajo o carriles de transporte.
La presente invención también se refiere a un procedimiento para controlar una pluralidad de unidades mecánicas y a un programa informático que contiene medios de código de programa informático para hacer que un ordenador o un procesador ejecute las etapas de un procedimiento de este tipo.
Técnica anterior
Un robot industrial incluye un manipulador y un sistema de control que presenta medios para hacer funcionar el manipulador. El sistema de control comprende una unidad de almacenamiento para almacenar uno o más programas de control para controlar el movimiento del manipulador. El programa de control comprende instrucciones de programa, incluyendo instrucciones de movimiento para el manipulador. El sistema de control comprende además un ejecutador de programas para ejecutar los programas de control y para proporcionar instrucciones basadas en dichas instrucciones de movimiento, y un planificador de trayectoria adaptado para recibir dichas instrucciones desde el ejecutador de programas y, basándose en las mismas, determinar cómo el manipulador debe moverse con el fin de poder ejecutar las instrucciones de movimiento. Llevando a cabo una interpolación del movimiento, el planificador de trayectoria planifica cómo debe realizarse el movimiento indicado. La interpolación incluye dividir el movimiento indicado en una pluralidad de pequeños incrementos y calcular los ángulos de articulación de todos los ejes del robot para cada incremento. Los ángulos de articulación se convierten después en referencias de motor. El planificador de trayectoria transmite las referencias de motor calculadas a uno o más módulos de accionamiento, tales como servomecanismos, para accionar el manipulador según las instrucciones de movimiento.
Muchas plantas industriales utilizan sistemas que comprenden una pluralidad de unidades mecánicas, tales como un sistema de múltiples robots o un sistema que comprende un robot que actúa conjuntamente con uno o más ejes externos. En muchas aplicaciones es deseable que las unidades mecánicas realicen movimientos coordinados entre sí, es decir, movimientos síncronos.
Para esta finalidad, es conocido el tener un único programa de control general para controlar que las unidades mecánicas realicen movimientos síncronos. El único programa de control general comprende instrucciones de programa, incluyendo instrucciones de movimiento para todas las unidades mecánicas. Las unidades mecánicas están conectadas a un sistema de control que comprende un ejecutador de programas para ejecutar el único programa de control general y un planificador de trayectoria para determinar cómo las unidades mecánicas deben moverse con el fin de poder ejecutar las instrucciones de movimiento del programa de control.
La solicitud de patente europea número 89309635.4 desvela un sistema de control de robots para controlar un conjunto robots industriales para un funcionamiento coordinado y conjunto según un único programa de control general. El único programa de control general comprende instrucciones de movimiento para el conjunto de robots industriales. El sistema de control comprende una única unidad de lectura/compilación para leer por separado las instrucciones de movimiento de la unidad de almacenamiento y extraer las instrucciones de movimiento para cada robot industrial.
Sin embargo, cuando se ejecuta un programa de este tipo para múltiples unidades mecánicas, a veces es necesario interrumpir el programa y mover, o articular, un robot de manera independiente con respecto a los otros robots con el fin de realizar tareas de mantenimiento o de reparación, por ejemplo cuando es necesario limpiar o sustituir la boquilla de un pulverizador o de una pistola de soldar sujetada por un robot. Cuando hayan finalizado las tareas de mantenimiento o de reparación, el robot que se movió de manera independiente debe volver exactamente a la misma posición y debe obtener de nuevo exactamente el mismo estado que tenía antes de moverse de manera independiente, es decir, debe volver al mismo nivel de trayectoria para que pueda seguir trabajando de manera síncrona con los otros robots.
Si las instrucciones de movimiento se proporcionan mediante un único programa de control general, mover un robot de manera independiente con respecto a los otros robots se hace imposible. Además, un único programa de control general de este tipo tiene también que reescribirse cada vez que se cambien las tareas o las unidades mecánicas de un sistema, por ejemplo cuando se añade un robot al sistema.
Una solución conocida para este problema es tener un programa de control aparte para controlar cada unidad mecánica, y conectar cada unidad mecánica a un sistema de control aparte que comprenda un planificador de trayectoria que planifique el movimiento de la unidad mecánica conectada. Con el fin de llevar a cabo la sincronización de las unidades mecánicas, los distintos programas de control se ejecutan al mismo tiempo. Los sistemas de control están conectados para comunicarse entre sí. Con el fin de sincronizar los movimientos, una de las unidades mecánicas se selecciona como la unidad maestra y las otras unidades mecánicas se seleccionan como las unidades subordinadas. El planificador de trayectoria de la unidad maestro interpola los movimientos y después transmite datos de posición y datos de interpolación a las unidades subordinadas. El planificador de trayectoria de las unidades subordinadas interpola los movimientos de la unidad mecánica conectada basándose en los datos recibidos desde la unidad maestra. Para poder conmutar entre movimientos sincronizados y movimientos independientes de las unidades mecánicas, los programas de control de las unidades mecánicas cooperantes contienen instrucciones de sincronización específicas, las cuales son traducidas por un programa intérprete que traduce el programa de control a instrucciones de máquina específicas y después en secuencias de procedimiento específicas para sincronizar las unidades mecánicas correspondientes. Un sistema que utiliza un concepto maestro-subordinado se desvela, por ejemplo, en la solicitud de patente europea número EP 1 090 722.
El concepto maestro-subordinado muestra una pluralidad de desventajas. Una desventaja es que la precisión de la sincronización se reduce significativamente debido a retrasos en la transmisión de datos desde la unidad maestra a las unidades subordinadas y debido al hecho de que cada movimiento se planifica por separado sin considerar posibles limitaciones de las otras unidades mecánicas. Para mantener una elevada precisión de la sincronización en un concepto maestro-subordinado debe reducirse la velocidad de las unidades mecánicas sincronizadas. Sin embargo, en muchas aplicaciones se necesita una elevada velocidad.
Normalmente, las unidades mecánicas están programadas para ejecutar una pluralidad de tareas. Determinadas tareas requieren que dos o más de las unidades mecánicas se muevan sincrónicamente, por lo que las instrucciones de movimiento en distintos programas de unidad mecánica se ejecutan al mismo tiempo para coordinar los movimientos de las unidades mecánicas. Durante una tarea coordinada, cuando una de las unidades mecánicas, o parte de una unidad mecánica, tal como un brazo manipulador, se desplaza o rota, el sistema de coordenadas en el que trabajan las otras unidades mecánicas se desplaza o gira. Es importante conocer exactamente cómo se ha desplazado o girado el sistema de coordenadas para que las otras unidades mecánicas puedan dirigirse hacia las posiciones programadas.
La patente US2003/0220715 desvela un sistema de control de robots que incluye una pluralidad de controladores de robot, controlando cada controlador una máquina robótica. El sistema de control de robots incluye además una fuente de instrucciones remota que suministra comandos de control de movimiento a los controladores de robot. Este sistema de control permite un cambio de control dinámico de un robot dado entre varios programas de control que se ejecutan en diferentes controladores. Esto hace posible que los robots trabajen de manera independiente cuando cada robot se controle mediante su propio programa de control que se ejecuta en su propio controlador de robot, así como de manera coordinada con otros robots cuando un único programa de control controle los robots. Por tanto, los robots trabajarán independientemente cuando los robots se controlen mediante una pluralidad de diferentes programas de control y trabajarán de manera coordinada cuando un único programa de control los controle.
Resumen de la invención
El objeto de la presente invención es proporcionar un sistema de control mejorado para una pluralidad de unidades mecánicas que permita que las unidades mecánicas funcionen de manera individual así como en cooperación síncrona.
Este objeto se consigue mediante el sistema de control definido inicialmente, caracterizado porque el sistema de control comprende: un medio de programa que comprende una pluralidad de programas de unidad mecánica, comprendiendo cada programa instrucciones que incluyen instrucciones de movimiento para al menos una de dichas unidades mecánicas, una pluralidad de planificadores de trayectoria, estando adaptado cada planificador de trayectoria para recibir instrucciones de al menos uno de dichos programas de unidad mecánica y, basándose en las mismas, determinar cómo la unidad mecánica debe moverse para poder ejecutar la instrucción de movimiento, en el que al menos uno de dichos planificadores de trayectoria está adaptado para recibir instrucciones de al menos dos de dichos programas de unidad mecánica y, basándose en las mismas, determinar cómo las unidades mecánicas deben moverse para sincronizar sus movimientos, y un medio de conmutación adaptado para conmutar un programa de unidad mecánica desde un planificador de trayectoria a otro, por lo que los movimientos de las unidades mecánicas están sincronizados cuando sus programas de unidad mecánica están conectados al mismo planificador de trayectoria y los movimientos de las unidades mecánicas son independientes cuando sus programas de unidad mecánica están conectados a diferentes planificadores de trayectoria.
Un programa de unidad mecánica es un programa de control que incluye instrucciones para controlar una o más unidades mecánicas. El sistema de control está adaptado para almacenar una pluralidad de programas de unidad mecánica y para ejecutar los programas en paralelo. Para que el sistema de control pueda llevar a cabo esto, comprende una pluralidad de planificadores de trayectoria que crean referencias de motor a partir de posiciones programadas. Los movimientos de una pluralidad de unidades mecánicas están sincronizados cuando sus programas de unidad mecánica están conectados al mismo planificador de trayectoria y son independientes cuando están conectados a diferentes planificadores de trayectoria.
El sistema de control comprende unos medios para conmutar al menos un programa de unidad mecánica desde un planificador de trayectoria a otro. Conmutando un programa de unidad mecánica desde un primer planificador de trayectoria a un segundo planificador de trayectoria, la unidad mecánica puede conmutar entre un movimiento independiente y un movimiento sincronizado. Los movimientos de dos o más unidades mecánicas se llevan a cabo en cooperación síncrona conectando sus programas de unidad mecánica al mismo planificador de trayectoria, y las unidades mecánicas se hacen funcionar de manera individual conectándolas a diferentes planificadores de trayectoria. Debido al hecho de que el estado de sincronización es local a cada uno de los niveles de trayectoria implicados, la unidad mecánica ocupa la misma posición y el mismo estado como cuando su programa fue conmutado desde el primer planificador de trayectoria al segundo planificador de trayectoria.
Gracias al hecho de que los programas de unidad mecánica que han de sincronizarse están conectados al mismo planificador de trayectoria, el planificador de trayectoria puede realizar una interpolación paralela de los movimientos de las unidades mecánicas que han de sincronizarse y, por lo tanto, se evitan los retrasos mencionados anteriormente del concepto maestro-subordinado. Otra ventaja obtenida conectando los programas de unidad mecánica que han de sincronizarse al mismo planificador de trayectoria, es que se hace posible que el planificador de trayectoria considere limitaciones, tales como una corriente, el par motor y la velocidad del motor, para todos los ejes de las unidades mecánicas que han de sincronizarse. Por lo tanto, aumenta la precisión de la sincronización y, por consiguiente, es posible aumentar la velocidad del movimiento sincronizado.
La expresión "movimiento de una unidad mecánica" no sólo significa el desplazamiento de toda o parte de una unidad mecánica, sino que también incluye cambiar la orientación de toda o parte de una unidad mecánica.
Según una realización preferida de la invención, cada programa de unidad mecánica está conectado a uno de dichos planificadores de trayectoria, y dicho medio de conmutación está adaptado para, bajo comando, desconectar el programa de unidad mecánica del planificador de trayectoria conectado y para conectar el programa de unidad mecánica a otro planificador de trayectoria. Siempre que no haya un comando de sincronización, cada programa de unidad mecánica está conectado a un planificador de trayectoria diferente, lo que significa que las unidades mecánicas se hacen funcionar de manera individual. Al detectar uno o más comandos de sincronización, y en base a la información de sincronización disponible, el medio de conmutación desconecta el (los) programa(s) de unidad mecánica del (de los) planificador(es) de trayectoria conectado(s) y conecta el (los) programa(s) de unidad mecánica a otro planificador de trayectoria. Los comandos de sincronización están previstos, por ejemplo, en el programa de unidad mecánica. Cada programa de unidad mecánica está conectado a uno de los planificadores de trayectoria al mismo tiempo, es decir, cada programa de unidad mecánica está conectado solamente a un planificador de trayectoria en un momento determinado.
Según una realización de la invención, el sistema de control comprende un medio de almacenamiento de datos central y al menos una unidad mecánica está dispuesta para transmitir datos relacionados con su posición, tales como la posición de un brazo de robot, sus ángulos de articulación o la orientación de una herramienta montada en el robot, y/o el estado, es decir, el estado de funcionamiento, al medio de almacenamiento de datos central. Los datos de posición se proporcionan o bien como una posición absoluta con referencia a, por ejemplo, un sistema de coordenadas mundial, o bien como una posición relativa con respecto a la posición anterior de la unidad mecánica. Esta realización permite un fácil acceso a la información relacionada con las unidades mecánicas del sistema, de manera que las demás unidades mecánicas del sistema saben exactamente qué es lo que están haciendo las otras unidades
mecánicas.
Esto significa que la información relacionada con la posición y el estado de al menos una o todas las unidades mecánicas o partes de las mismas es fácilmente accesible y que es posible ver qué programa y/o qué parte de un programa está ejecutándose por una unidad mecánica. Por lo tanto, el sistema de control proporciona información actualizada acerca de la posición y el estado de al menos una o todas las unidades mecánicas bajo la solicitud de un programa de unidad mecánica, un planificador de trayectoria o un operario que esté supervisando el sistema o que esté programando una de las unidades mecánicas del sistema. Por lo tanto, un programa de unidad mecánica no tiene que modificarse cuando se mueva una de las unidades mecánicas. Un sistema de este tipo permite, por ejemplo, que un robot encuentre un objeto ubicado en un manipulador estacionario incluso si la ubicación del manipulador ha cambiado desde que se escribió el programa del robot. Además, los datos de posición y de estado de cada unidad mecánica son accesibles por todas las demás unidades mecánicas del sistema, de manera que cada unidad mecánica puede averiguar exactamente qué es lo que están haciendo las otras unidades mecánicas incluso si todas las unidades mecánicas están funcionando de manera independiente.
Según una realización preferida de la invención, dicha al menos una unidad mecánica está dispuesta para transmitir datos de posición y/o de estado al medio de almacenamiento de datos central cuando está estática, es decir, cuando ha dejado de moverse, y/o mientras se mueve hacia una nueva ubicación. Según otra realización preferida de la invención, dichos datos de posición comprenden información relacionada con el desplazamiento y/o la rotación del sistema de coordenadas de dicha al menos una unidad mecánica.
Según una realización preferida adicional de la invención, el medio de almacenamiento de datos central está dispuesto de manera que los datos almacenados en el mismo sean accesibles por un operario, por un programa de unidad mecánica o por los medios de planificación de trayectoria. Según todavía otra realización preferida de la invención, el medio de almacenamiento de datos central está dispuesto de manera que los datos almacenados en el mismo sean accesibles de manera local y/o remota a través de una red tal como Internet.
La presente invención también se refiere al procedimiento para controlar una pluralidad de unidades mecánicas, tal y como se define en la reivindicación 9.
El procedimiento comprende conectar una pluralidad de programas de unidad mecánica al mismo planificador de trayectoria con el fin de sincronizar los movimientos de la pluralidad de unidades mecánicas y conectar una pluralidad de programas de unidad mecánica a diferentes planificadores de trayectoria si las unidades mecánicas correspondientes han de moverse de manera independiente entre sí.
Según una realización preferida de la invención, el procedimiento comprende conectar cada programa de unidad mecánica a uno de dichos planificadores de trayectoria y, bajo comando, desconectar al menos uno de los programas de unidad mecánica del planificador de trayectoria conectado y conectar el programa de unidad mecánica a otro planificador de trayectoria.
Según una realización preferida de la invención, el procedimiento comprende almacenar datos de posición y/o de estado de al menos una de la pluralidad de unidades mecánicas en un medio de almacenamiento de datos central.
La presente invención se refiere también a un programa informático que contiene medios de código de programa informático para hacer que un ordenador o un procesador ejecute las etapas de un procedimiento según cualquiera de las realizaciones preferidas de la invención, y un programa informático de este tipo está almacenado en un medio legible por ordenador.
El sistema de control, el procedimiento y el programa informático según la presente invención están destinados a usarse en cualquier sistema que comprenda una pluralidad de unidades mecánicas, concretamente robots y/o ejes externos, que estén programadas para ejecutar al menos una tarea en la que al menos dos de dichas unidades mecánicas se muevan de manera síncrona. La presente invención también puede aplicarse a sistemas que comprendan unidades mecánicas que estén montadas en bases estáticas, así como a sistemas que comprendan unidades mecánicas que estén montadas en bases móviles.
Ventajas adicionales así como las características ventajosas de la invención aparecerán a partir de la siguiente descripción y de las demás reivindicaciones dependientes.
Breve descripción de los dibujos
La fig. 1 muestra un diagrama esquemático de un sistema de dos robots en el cual puede aplicarse la presente invención, y
la fig. 2 muestra un diagrama de bloques de un sistema de control según una realización preferida de la invención.
La siguiente descripción y dibujos no pretenden limitar la presente invención a la realización desvelada. La realización desvelada simplemente ejemplifica los principios de la presente invención.
Descripción detallada de una realización preferida de la invención
La figura 1 muestra un sistema de dos robots que comprende dos robots 1, 3 y un eje 2 externo, tal como una estación de trabajo que transporta y coloca piezas de trabajo montadas en la misma. El eje 2 externo gira alrededor de un eje a. El robot 1 es un robot de soldadura montado en una base móvil. Montando un robot sobre una base móvil se amplía el alcance del brazo de robot y se incrementa el tamaño del espacio de trabajo del robot. Sin embargo, los grados de libertad adicionales en la movilidad de la unidad mecánica no son un problema si se utiliza un sistema de control según la presente invención para controlar la unidad mecánica móvil. De hecho, los grados de libertad adicionales se convierten en una ventaja usándolos para realizar tareas adicionales especificadas por un operario.
El robot 3 está montado en una base estática y comprende una herramienta, tal como una pistola de soldadura, montada en el robot para realizar un trabajo especificado en piezas de trabajo montadas sobre el eje 2 externo giratorio. Las piezas de trabajo en el eje 2 externo se mueven durante la soldadura y su ubicación se expresa en los programas de robot usando el sistema 4 de coordenadas del eje 2 externo.
A medida que gira el eje 2 externo, su sistema 4 de coordenadas gira de manera correspondiente.
El sistema comprende medios de sensor en el eje a para medir la rotación del eje 2 externo y medios para transmitir esta información a un medio de almacenamiento de datos central del sistema de control del sistema de dos robots. Por lo tanto, las coordenadas proporcionadas en los programas de los robots se actualizan cuando los planificadores de trayectoria de los robots requieren tal información mediante referencia al medio de almacenamiento de datos central. Por lo tanto, los robots 1, 3 pueden moverse a las posiciones programadas y ejecutar de manera precisa cada tarea programada ya que las herramientas sujetadas por los robots tendrán la orientación adecuada y se guiarán hacia el lugar adecuado sobre la pieza de trabajo que va a soldarse.
La figura 2 muestra un sistema 5 de control instalado en un ordenador. El sistema 5 de control controla un sistema de tres unidades mecánicas, tal como el sistema mostrado en la figura 1, que comprende dos robots 1, 3 y un eje 2 externo. El sistema 5 de control comprende un almacenamiento 21 de programas para almacenar una pluralidad de programas (6, 7, 8) de unidad mecánica, comprendiendo cada programa instrucciones que incluyen instrucciones de movimiento para una de las unidades (1, 2, 3) mecánicas. El sistema 5 de control comprende además una pluralidad de ejecutadores de programas (no mostrados) adaptados para ejecutar en paralelo dichos programas de unidad mecánica y para proporcionar instrucciones, basadas en dichas instrucciones de movimiento, y una pluralidad de planificadores (9, 10, 11) de trayectoria adaptados para recibir dichas instrucciones desde los ejecutadores de programas y, basándose en las mismas, determinar cómo la unidad mecánica debe moverse para poder ejecutar las instrucciones de movimiento. En esta realización, todos los planificadores de trayectoria están adaptados para recibir instrucciones a partir de una pluralidad de ejecutadores de programas y, basándose en las mismas, determinar cómo las unidades mecánicas deben moverse para sincronizar sus movimientos. Cada uno de los planificadores de trayectoria está adaptado para realizar una interpolación paralela de los movimientos de las unidades mecánicas que han de sincronizarse.
El sistema de control comprende un ejecutor de programas y un planificador de trayectoria para cada unidad mecánica controlada por el sistema. Cada ejecutador de programas está conectado a uno de los planificadores de trayectoria, lo cual significa que las instrucciones del ejecutador de programas se envían al planificador de trayectoria conectado. El sistema de control comprende un medio 22 de conmutación adaptado para, bajo comando, desconectar un ejecutador de programas de un planificador de trayectoria y, en cambio, para conectar el ejecutador de programas a otro planificador de trayectoria. Esto significa que las instrucciones del ejecutador de programas se redirigen desde el primer planificador de trayectoria al segundo planificador de trayectoria. Los movimientos de las unidades mecánicas están sincronizados cuando las instrucciones de los ejecutadores de programas están dirigidas al mismo planificador de trayectoria, y los movimientos de las unidades mecánicas son independientes cuando las instrucciones de los ejecutadores de programas están dirigidas a diferentes planificadores de trayectoria.
Además, el sistema de control comprende un medio 16 de almacenamiento para almacenar información el cual indica qué unidades mecánicas han de sincronizarse y qué planificador de trayectoria ha de utilizarse para determinar los movimientos sincronizados. El medio 22 de conmutación está adaptado para redirigir las instrucciones en base a la información almacenada. El medio 22 de conmutación está adaptado para recibir comandos de sincronización desde los ejecutadores de programas y, tras recibir al menos un comando de sincronización, para redirigir las instrucciones a otro planificador de trayectoria. El ejecutador de programas envía el comando de sincronización al detectar una instrucción de sincronización en el código de programa del programa de unidad mecánica.
El medio 22 de conmutación está adaptado para, en base a la información que indica qué unidades han de sincronizarse, esperar hasta que se hayan recibido los comandos de sincronización desde todos los ejecutadores de programas que ejecutan programas de robot para las unidades mecánicas que han de sincronizarse, y después para redirigir las instrucciones desde los ejecutadores de programas, los cuales ejecutan programas de robot para las unidades mecánicas que han de sincronizarse, al mismo planificador de trayectoria. El medio 22 de conmutación está adaptado para enviar información relacionada con la finalización del redireccionamiento a los ejecutadores de programas, los cuales ejecutan programas de robot para las unidades mecánicas que han de sincronizarse, y los ejecutadores de programas están adaptados para, tras recibir la misma, ejecutar la siguiente instrucción de programa del programa de
robot.
El sistema 1 de control comprende tres programas 6, 7, 8 de unidad mecánica que contienen instrucciones tales como "DETENER", "INICIAR" y "ESPERAR" y también instrucciones de movimiento tales como "MOVER HACIA" para cada unidad mecánica. El sistema 1 de control también comprende una pluralidad de planificadores 9, 10, 11 de programa que indican a al menos una unidad mecánica cómo moverse para poder ejecutar una tarea programada.
Cada programa 6, 7, 8 de unidad mecánica está conectado solamente a un planificador 9, 10, 11 de trayectoria en un momento dado. Las flechas 12, 13, 14 de la figura 2 muestran que cada programa 6, 7, 8 de unidad mecánica está conectado a un planificador 9, 10, 11 de trayectoria diferente, de manera que cuando se ejecuten los programas de unidad mecánica, cada unidad mecánica se moverá de manera independiente. El sistema 1 de control comprende unos medios para conmutar las unidades mecánicas desde un movimiento independiente a un movimiento sincronizado. Si los programas 6 y 7 de unidad mecánica van a sincronizarse, el sistema de control desconecta el programa 7 de unidad mecánica del planificador 10 de trayectoria y conecta el programa 7 al planificador 9 de trayectoria. Cuando los programas 6 y 7 de unidad mecánica necesitan estar sincronizados, ambos se conectan al planificador 9 de trayectoria tal y como se indica mediante las flechas 12 y 15 de la figura 2.
En el sistema de dos robots mostrado en la figura 1, el robot 1 de soldadura está programado para ejecutar al menos una tarea en la que sus movimientos están sincronizados con los movimientos del eje 2 externo giratorio. Sin embargo, el robot 1 de soldadura puede necesitar moverse de manera independiente con respecto al eje 2 externo giratorio para tareas de mantenimiento tales como desbloquear la boquilla de la pistola de soldadura sujetada por el robot. Por lo tanto se interrumpen los programas de robot correspondientes y el programa del robot 1 se conecta a un planificador de trayectoria diferente para permitir que se mueva de manera independiente con respecto al eje 2 externo giratorio.
Una vez que hayan finalizado las tareas de mantenimiento, el robot 1 vuelve a la posición anterior, su programa se conecta de nuevo al mismo planificador de trayectoria que el del eje 2 externo y se reinician los programas del robot 1 y del eje 2 externo.
Los planificadores 9, 10, 11 de trayectoria se comunican con un medio 16 de almacenamiento de datos central que contiene datos de posición y de estado transmitidos desde cada una de las tres unidades mecánicas. El intercambio de mensajes, o la comunicación, entre los planificadores de trayectoria y el medio de almacenamiento de datos central se indica mediante flechas de dos puntas en la figura 2. De este modo, los planificadores 9, 10, 11 de trayectoria reciben información actualizada acerca de si, y cómo, las tres unidades mecánicas se han movido así como acerca del estado de las unidades mecánicas. Si una unidad mecánica se ha desplazado y/o ha girado, entonces el planificador de trayectoria calcula la posición y/u orientación del sistema de coordenadas de esa unidad mecánica antes de proporcionar instrucciones de movimiento a una unidad mecánica que trabaje en ese sistema de coordenadas.
Después, las instrucciones de movimiento se transmiten a módulos 18, 19, 20 de accionamiento asociados con cada unidad mecánica a través de una interfaz 17 informática principal de manera que las unidades mecánicas correspondientes pueden moverse hacia las posiciones programadas y ejecutar una tarea programada.
Aunque las realizaciones desveladas describen un sistema de tres unidades mecánicas, el sistema de control según la presente invención puede utilizarse para controlar cualquier número de unidades mecánicas a partir de un único controlador. La adición de una unidad mecánica a un sistema particular requiere solamente añadir un archivo de configuración al sistema de control inventivo.
El sistema de control comprende el hardware necesario para llevar a cabo la invención, tal como una o más unidades de procesamiento, medios de entrada y salida y medios de almacenamiento.
Por supuesto, la invención no está limitada de ninguna manera a las realizaciones de la misma descritas anteriormente, sino que muchas posibles modificaciones de la misma se harán evidentes a un experto en la materia sin apartarse de la idea básica de la invención definida en las reivindicaciones adjuntas.
\vskip1.000000\baselineskip
Documentos indicados en la descripción
En la lista de documentos indicados por el solicitante se ha recogido exclusivamente para información del lector, y no es parte constituyente del documento de patente europeo. Ha sido recopilada con el mayor cuidado; sin embargo, la EPA no asume ninguna responsabilidad por posibles errores u omisiones.
Documentos de patente indicados en la descripción
\bullet EP 89309635 A [0006]
\bullet US 20030220715 A [0002]
\bullet EP 1090722 A [0009]

Claims (14)

1. Un sistema (5) de control para controlar los movimientos de una pluralidad de unidades (1, 2, 3) mecánicas, comprendiendo además el sistema de control:
-
un medio de programa que comprende una pluralidad de programas (6, 7, 8) de unidad mecánica, comprendiendo cada programa instrucciones que incluyen instrucciones de movimiento para al menos una de dichas unidades mecánicas,
-
una pluralidad de planificadores (9, 10, 11) de trayectoria, estando adaptado cada planificador de trayectoria para recibir instrucciones de al menos uno de dichos programas de unidad mecánica y, basándose en las mismas, determinar cómo la unidad mecánica debe moverse para poder ejecutar la instrucción de movimiento,
caracterizado porque al menos uno de dichos planificadores de trayectoria está adaptado para recibir instrucciones de al menos dos de dichos programas de unidad mecánica y, basándose en las mismas, determinar cómo las unidades mecánicas deben moverse para sincronizar sus movimientos, y
-
un medio (22) de conmutación adaptado para conmutar un programa de unidad mecánica desde un planificador de trayectoria a otro, por lo que los movimientos de las unidades mecánicas están sincronizados cuando sus programas de unidad mecánica están conectados al mismo planificador de trayectoria y los movimientos de las unidades mecánicas son independientes cuando sus programas de unidad mecánica están conectados a diferentes planificadores de trayectoria.
2. Un sistema de control según la reivindicación 1, caracterizado porque cada programa de unidad mecánica está conectado a uno de dichos planificadores de trayectoria, y dicho medio de conmutación está adaptado para, bajo comando, desconectar el programa de unidad mecánica del planificador de trayectoria conectado y conectar el programa de unidad mecánica a otro planificador de trayectoria.
3. Sistema de control según la reivindicación 1 ó 2, caracterizado porque el sistema (5) de control comprende un medio (16) de almacenamiento de datos central y porque al menos una unidad (1, 2, 3) mecánica está dispuesta para transmitir datos relacionados con su posición y/o estado al medio (16) de almacenamiento de datos central.
4. Sistema de control según la reivindicación 3, caracterizado porque dicha al menos una unidad (1, 2, 3) mecánica está dispuesta para transmitir datos de posición y/o de estado al medio (16) de almacenamiento de datos central cuando está estático, es decir, cuando ha dejado de moverse.
5. Sistema de control según la reivindicación 3 ó 4, caracterizado porque dicha al menos una unidad (1, 2, 3) mecánica está dispuesta para transmitir datos de posición y/o de estado al medio (16) de almacenamiento de datos central mientras está moviéndose hacia una nueva ubicación.
6. Sistema de control según la reivindicación 4 ó 5, caracterizado porque dichos datos de posición comprenden información relacionada con el desplazamiento y/o con la rotación del sistema (4) de coordenadas de dicha al menos una unidad (1, 2, 3) mecánica.
7. Sistema de control según cualquiera de las reivindicaciones anteriores, caracterizado porque el medio (16) de almacenamiento de datos central está dispuesto para que los datos almacenados en el mismo sean accesibles por un operario, por un programa (6, 7, 8) de unidad mecánica o por los medios (9, 10, 11) de planificación de trayectoria.
8. Sistema de control según cualquiera de las reivindicaciones anteriores, caracterizado porque el medio (16) de almacenamiento de datos central está dispuesto para que los datos almacenados en el mismo sean accesibles de manera local y/o remota a través de un red tal como Internet.
9. Un procedimiento para controlar los movimientos de una pluralidad de unidades (1, 2, 3) mecánicas, que comprende:
-
almacenar una pluralidad de programas (6, 7, 8) de unidad mecánica, comprendiendo cada programa instrucciones que incluyen instrucciones de movimiento para una de dichas unidades mecánicas,
caracterizado porque comprende además:
-
conectar dichos programas de unidad mecánica a una pluralidad de planificadores de trayectoria de manera que al menos dos de los programas de unidad mecánica estén conectados a diferentes planificadores de trayectoria, en el que cada uno de dichos al menos dos planificadores de trayectoria recibe instrucciones del programa de unidad mecánica conectado y, basándose en las mismas, determina cómo la unidad mecánica debe moverse para poder ejecutar las instrucciones de movimiento del programa,
-
conmutar al menos uno de los programas de unidad mecánica a otro planificador de trayectoria de manera que más de uno de los programas de unidad mecánica estén conectados al mismo planificador de trayectoria, el cual recibe instrucciones de los programas de unidad mecánica conectados y, basándose en las mismas, determina cómo las unidades mecánicas deben moverse con el fin de sincronizar sus movimientos.
10. Procedimiento según la reivindicación 9, que comprende conectar cada programa de unidad mecánica a uno de dichos planificadores de trayectoria y, bajo comando, desconectar al menos uno de los programas de unidad mecánica del planificador de trayectoria conectado y conectar el programa de unidad mecánica a otro planificador de trayectoria.
11. Procedimiento según la reivindicación 9 ó 10, que comprende almacenar datos de posición y/o de estado de al menos una de la pluralidad de unidades (1, 2, 3) mecánicas en un medio (16) de almacenamiento de datos central.
12. Un programa informático que contiene medios de código de programa informático para hacer que un ordenador o un procesador ejecute las etapas del procedimiento según cualquiera de las reivindicaciones 9 a 11.
13. Un medio legible por ordenador, que presenta un programa grabado en el mismo, donde el programa hace que un ordenador realice las etapas según cualquiera de las reivindicaciones 9 a 11 cuando dicho programa se ejecuta en un ordenador.
14. Utilización de un sistema (5) de control según cualquiera de las reivindicaciones 1 a 8, de un procedimiento según cualquiera de las reivindicaciones 9 a 11 o de un programa informático según la reivindicación 12 en un sistema que comprende una pluralidad de unidades (1, 2, 3) mecánicas, concretamente robots y/o ejes externos, que están programados para ejecutar al menos una tarea en la que al menos dos de dichas unidades mecánicas se mueven sincrónicamente.
ES05704717T 2004-01-16 2005-01-14 Sistema de control, procedimiento y programa informatico para sincronizar una pluralidad de robots. Expired - Lifetime ES2324791T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE2004100091 2004-01-16
SE0400091A SE0400091D0 (sv) 2004-01-16 2004-01-16 Control system, method and computer program

Publications (1)

Publication Number Publication Date
ES2324791T3 true ES2324791T3 (es) 2009-08-14

Family

ID=31493062

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05704717T Expired - Lifetime ES2324791T3 (es) 2004-01-16 2005-01-14 Sistema de control, procedimiento y programa informatico para sincronizar una pluralidad de robots.

Country Status (7)

Country Link
US (1) US7620478B2 (es)
EP (1) EP1704025B1 (es)
AT (1) ATE430002T1 (es)
DE (1) DE602005014197D1 (es)
ES (1) ES2324791T3 (es)
SE (1) SE0400091D0 (es)
WO (1) WO2005068138A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1763421A1 (en) * 2004-03-16 2007-03-21 Abb Ab System of manupulators and method for controlling such a system
FR2896716B1 (fr) * 2006-01-31 2009-06-26 Abb Mc Soc Par Actions Simplif Procede de pilotage d'une station de travail robotisee et station de travail robotisee correspondante
JP2009264840A (ja) 2008-04-23 2009-11-12 Mitsutoyo Corp 形状測定装置
US20100180711A1 (en) 2009-01-19 2010-07-22 Comau, Inc. Robotic end effector system and method
EP2409457A4 (en) * 2009-03-17 2012-12-19 Comau Inc INDUSTRIAL COMMUNICATION SYSTEM AND METHOD
JP5532760B2 (ja) 2009-08-31 2014-06-25 株式会社安川電機 搬送システム,ロボット装置及びワークの製造方法
WO2011088079A2 (en) * 2010-01-12 2011-07-21 Comau, Inc. Distributed control system
CN104379308B (zh) * 2012-06-29 2016-05-18 三菱电机株式会社 机器人控制装置以及机器人控制方法
JP5768829B2 (ja) * 2013-03-15 2015-08-26 株式会社安川電機 ロボットシステム、ロボット制御方法及び被加工物の製造方法
JP5873140B2 (ja) * 2014-06-25 2016-03-01 ファナック株式会社 同期制御装置
EP3012695B1 (en) 2014-10-23 2017-10-11 Comau S.p.A. System for monitoring and controlling an industrial plant
DE102015008188B3 (de) * 2015-06-25 2016-06-16 Kuka Roboter Gmbh Abfahren einer vorgegebenen Bahn mit einem Roboter
ES2800321T3 (es) * 2016-01-05 2020-12-29 Univ Carnegie Mellon Arquitectura de seguridad para vehículos autónomos
PL3366409T3 (pl) 2017-02-23 2019-12-31 Comau S.P.A. Przegubowy robot przenoszący głowicę zgrzewająca do elektrycznego zgrzewania oporowego z elektrodami zlokalizowanymi po tej samej stronie; odpowiedni sposób zgrzewania elektrycznego oporowego komponentu do zgrzania
IT201800005091A1 (it) 2018-05-04 2019-11-04 "Procedimento per monitorare lo stato di funzionamento di una stazione di lavorazione, relativo sistema di monitoraggio e prodotto informatico"
CN113631326B (zh) * 2019-04-05 2024-10-22 Abb瑞士股份有限公司 优化机器人性能的系统
DE112021001923T5 (de) * 2020-05-12 2023-01-12 Fanuc Corporation Robotersteuerung
JP7575691B2 (ja) * 2021-05-31 2024-10-30 株式会社デンソーウェーブ ロボットの制御装置及びロボットシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377939B1 (en) 1989-01-10 1996-05-08 Kabushiki Kaisha Kobe Seiko Sho Robot control system for controlling a set of industrial robots
JP2514490B2 (ja) * 1991-07-05 1996-07-10 株式会社ダイヘン 産業用ロボットの連動手動操作による教示制御方法
JP2880590B2 (ja) * 1991-07-24 1999-04-12 株式会社不二越 産業用ロボットの同期制御方法
CN100507780C (zh) * 1994-03-23 2009-07-01 株式会社安川电机 机器控制器
JP3327123B2 (ja) * 1996-06-04 2002-09-24 トヨタ自動車株式会社 作業用ロボットの統合制御システム
EP1090722B1 (en) 1999-09-16 2007-07-25 Fanuc Ltd Control system for synchronously cooperative operation of a plurality of robots
US6807461B2 (en) 2002-05-22 2004-10-19 Kuka Roboter Gmbh Coordinated robot control from multiple remote instruction sources
SE524929C2 (sv) * 2002-06-07 2004-10-26 Abb Ab Ett styrsystem med fysiskt åtskilda moduler för styrning av en eller flera manipulatorer
DE10235943A1 (de) * 2002-08-06 2004-02-19 Kuka Roboter Gmbh Verfahren und Vorrichtung zum synchronen Steuern von Handhabungsgeräten
DE10236392A1 (de) * 2002-08-08 2004-02-19 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten
US6804580B1 (en) * 2003-04-03 2004-10-12 Kuka Roboter Gmbh Method and control system for controlling a plurality of robots
DE602004019781D1 (de) * 2003-06-20 2009-04-16 Fanuc Robotics America Inc Mehrfach-roboterarm-verfolgung und spiegel-jog
US7010390B2 (en) * 2003-07-17 2006-03-07 Kuka Roboter Gmbh Method and system for controlling robots
US7149606B2 (en) * 2005-03-01 2006-12-12 Fanul Robotics America, Inc. Synchronizing controllers linked by a communications network

Also Published As

Publication number Publication date
WO2005068138A1 (en) 2005-07-28
EP1704025A1 (en) 2006-09-27
US7620478B2 (en) 2009-11-17
SE0400091D0 (sv) 2004-01-16
EP1704025B1 (en) 2009-04-29
ATE430002T1 (de) 2009-05-15
DE602005014197D1 (de) 2009-06-10
US20080234861A1 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
ES2324791T3 (es) Sistema de control, procedimiento y programa informatico para sincronizar una pluralidad de robots.
ES2361404T3 (es) Método y sistema de control para controlar una pluralidad de robots.
US11103322B2 (en) Remote control robot system
EP3705236B1 (en) Robot system
JP5530479B2 (ja) 少なくとも2本のロボットアームの同期化システムおよびその制御方法
ES2458429T5 (es) Procedimiento de control de una célula de trabajo automatizada
ES2458430T5 (es) Procedimiento de control de una célula de trabajo automatizada
ES2932880T3 (es) Instalación de coordinación, dispositivo de manipulación y procedimiento
JP6793278B1 (ja) 工具搬送システム、工具搬送システムの制御方法、および、工具搬送システムの制御プログラム
CN109382839A (zh) 机器人系统以及机器人控制装置
CN103403637B (zh) 用于教导机器人移动的系统
US11618165B2 (en) Method and system for operating a robotic arm
CN110471338A (zh) 一种多主机控制的天文望远镜系统
US8588981B2 (en) System of manipulators and method for controlling such a system
KR102681939B1 (ko) 로봇시스템
TW202239555A (zh) 具備具有顯示部之機器人之機器人系統
CN110936377A (zh) 一种机器人的动作传感与电脑编程互换控制系统
WO2005091090A2 (en) Industrial robot system, method and computer program
KR20240005478A (ko) 3 핑거 스마트 그리퍼 및 그를 이용한 시스템
KR101467896B1 (ko) 작업 로봇의 위치 및 자세 측정 시스템
KR20260007913A (ko) 군집 자율주행 이동로봇을 제어하는 전자장치 및 이의 동작방법
Novak-Marcincin et al. Augmented reality aided control of industrial robots
RO129121B1 (ro) Sistem pentru programarea traiec- toriilor de mişcare ale articulaţiilor unui braţ robotic
UA140446U (uk) Мобільний робототехнічний комплекс з дистанційним керуванням
JPH10333749A (ja) 複数自由度パラレルリンク機構駆動制御装置