ES2361404T3 - Método y sistema de control para controlar una pluralidad de robots. - Google Patents
Método y sistema de control para controlar una pluralidad de robots. Download PDFInfo
- Publication number
- ES2361404T3 ES2361404T3 ES04007908T ES04007908T ES2361404T3 ES 2361404 T3 ES2361404 T3 ES 2361404T3 ES 04007908 T ES04007908 T ES 04007908T ES 04007908 T ES04007908 T ES 04007908T ES 2361404 T3 ES2361404 T3 ES 2361404T3
- Authority
- ES
- Spain
- Prior art keywords
- controller
- movement
- reference system
- robot
- controllers
- 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
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1656—Program controls characterised by programming, planning systems for manipulators
- B25J9/1669—Program controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1679—Program controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31157—Star network, hub
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39109—Dual arm, multiarm manipulation, object handled in cooperation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39124—Grasp common rigid object, no movement end effectors relative to object
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39131—Each of the manipulators holds one of the pieces to be welded together
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39132—Robot welds, operates on moving workpiece, moved by other robot
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39139—Produce program of follower from path of leader and desired relative position
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39142—Moving time between positions in follower program coordinated online with leader
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39144—Scale moving time of all robots, machines to match slowest, no waiting
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39145—Follower path is the same as leader path and superposed desired relative movement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40307—Two, dual arm robot, arm used synchronously, or each separately, asynchronously
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10T—TECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
- Y10T74/00—Machine element or mechanism
- Y10T74/20—Control lever and linkage systems
- Y10T74/20207—Multiple controlling elements for single controlled element
- Y10T74/20305—Robotic arm
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
Método para controlar un sistema de una pluralidad de robots, comprendiendo dicho sistema: una pluralidad de controladores, que tienen cada uno de ellos un sistema de movimiento asociado que controla robots vinculados y que reciben instrucciones de movimiento desde por lo menos una fuente de instrucciones de movimiento, y una red de ordenadores a través de la cual se comunican dichos controladores; caracterizado porque un programa de control define y ejecuta instrucciones de movimiento coordinadas en el tiempo, estando asociada a una etiqueta exclusiva cada una de estas instrucciones de movimiento coordinadas en el tiempo, de tal manera que se comunica información entre dicha pluralidad de controladores; y en donde el movimiento de robots producido por instrucciones de movimiento coordinadas en el tiempo, con la misma etiqueta, ejecutadas en cualquiera de dicha pluralidad de controladores, se ejecuta de tal manera que comienzan conjuntamente en un primer instante de tiempo, siguen un perfil común de velocidad relativa, y finalizan conjuntamente en un segundo instante de tiempo.
Description
[0001] La presente invención se refiere a un sistema para controlar una pluralidad de robots y a un método para controlar un sistema de una pluralidad de robots, según preámbulos de las reivindicaciones 1 y 16.
[0002] Al usar un único controlador para la coordinación de múltiples robots, la “localidad de control coordinado” queda limitada al número de robots controlable por ese controlador. Por ejemplo, un problema de coordinación típico con múltiples robots es la transferencia de una pieza entre robots sin usar dispositivos de sujeción intermedios. Un controlador capaz de controlar solamente cuatro robots permitiría la entrega coordinada de piezas entre los cuatro robots, aunque requeriría una estación de sujeción convencional u otra solución cuando se entregase la pieza a un quinto robot controlado por un controlador independiente. Por otro lado, una pluralidad de robots que presenten cada uno de ellos su propio controlador, con todos los controladores conectados mediante una línea de comunicación, no presenta esta limitación de localidad.
[0003] El documento US 6.330.493 B1 muestra un sistema de control aplicado a varios controladores de robots, conectados mediante una línea de comunicación. Esta solución resuelve el problema específico de la limitación de los robots que pueden ser coordinados por un controlador, aunque resuelve este problema únicamente con una precisión marginal, y deja otros problemas de coordinación sin resolver.
[0004] Dichos problemas de coordinación de varios robots incluyen:
- -
- Compartición de carga – La capacidad de dos o más máquinas robóticas de llevar la misma pieza o carga requiere que los robots mantengan una relación espacial fija mientras llevan la carga. Este problema de coordinación particular se resuelve también en la técnica anterior, aunque se introduce en el presente caso como antecedentes a los otros problemas de coordinación.
- -
- Acoplamiento de piezas durante el procesado – Además del requisito de una relación espacial fija entre dos o más robots, uno o más robots adicionales deben realizar un proceso con respecto al conjunto, y uno o más robots pueden entrar en y abandonar el conjunto durante el procesado (compárese con la explicación adicional posteriormente).
- -
- Transferencia sin dispositivos de sujeción – Uno o más robots pueden necesitar encontrarse con otro u otros robots mientras todos ellos están en movimiento continuo.
- -
- Movimiento manual de operaciones coordinadas – Cuando una línea de producción se detiene debido a un error, con dos o más robots llevando la misma pieza o sujetando múltiples piezas en acoplamiento, puede que sea necesario mover manualmente los múltiples robots en coordinación para evitar que la pieza se rompa o se caiga.
- -
- Aprendizaje de operaciones coordinadas – En actividades en las que se mantiene una relación espacial fija, tales como acoplamiento de piezas o compartición de carga, resulta útil cuando a los diversos robots es necesario hacerles aprender únicamente una o unas pocas posiciones de agarre con respecto a las piezas. No se debería hacer aprender a cada robot la trayectoria completa de la pieza, y si la trayectoria de la pieza se cambia, únicamente se debería volver a enseñar a uno de los robots para lograr el cambio de trayectoria.
- -
- Movimiento coordinado en el tiempo – Múltiples robots pueden necesitar llevar a cabo procesos idénticos o de simetría especular con una temporización mutua al unísono. No existe relación espacial entre los robots, pero puede ser necesaria una alineación en el tiempo de sus movimientos.
[0005] El más complejo de los problemas anteriores es el acoplamiento simultáneo de piezas mientras se está realizando el procesado. Un ejemplo es el proceso de unir dos piezas pequeñas a una pieza grande mediante soldadura por arco usando tres robots sin dispositivos de sujeción fijos: el Robot 1 lleva la pieza grande. El Robot 2 lleva las dos piezas pequeñas, una cada vez, y el Robot 3 lleva el soplete de soldadura por arco y realiza el proceso de soldadura. Un proceso de este tipo requiere normalmente que la pieza grande se mueva simultáneamente y coordinada en el tiempo con el robot soldador, de manera que el robot soldador pueda llegar hasta la pieza completa y las costuras fundidas mantengan una orientación casi horizontal. A su vez, esto requiere una coordinación espacial de los movimientos de los Robots 1, 2 y 3. El Robot 2 debe mantener una posición fija con respecto al Robot 1, de manera que la pieza pequeña permanezca acoplada correctamente a la pieza grande, y el Robot 3 debe llevar a cabo su proceso de soldadura con respecto a las piezas en movimiento sujetadas por los Robots 1 y 2.
[0006] A medida que la soldadura avanza, es posible que el Robot 2 libere su agarre de la pieza pequeña, debido a que la pieza haya sido fijada en posición. El Robot 2 puede abandonar el conjunto mientras el movimiento del conjunto está en marcha y puede ir a buscar a la segunda pieza pequeña. El Robot 2 vuelve con la segunda pieza pequeña para encontrarse con el conjunto. El Robot 3 suelda la segunda pieza pequeña a la pieza grande, nuevamente mientras la totalidad de los tres robots se mueve con coordinación espacial.
[0007] Las características interesantes de dicho proceso, además de las relaciones espaciales variables de los tres robots, son las siguientes:
I. El Robot 2 puede tanto abandonar como unirse al conjunto mientras este último puede estar en movimiento y cambia de un movimiento coordinado espacialmente a un movimiento independiente, o viceversa, mientras el conjunto puede estar en movimiento.
II. Típicamente, una porción de las costuras soldadas está definida con respecto a las piezas pequeñas. Para dichas porciones, el robot de soldadura por arco se está moviendo con respecto a las piezas pequeñas, que al mismo tiempo deben mantener una posición fija con respecto a la pieza grande. A esto se le hace referencia como “cadena de dependencias espaciales”.
[0008] En el documento US 6.330.493 B1 antes mencionado, se define una “operación cooperativa síncrona”. Esta operación se produce entre un robot maestro y uno o más robots esclavos. La definición de qué robot es maestro y cuáles son esclavos se guarda en “patrones de vinculación” basados en software. Los patrones de vinculación cambian únicamente entre conjuntos de programas. De este modo, para cambiar un robot determinado del funcionamiento coordinado con otro robot al funcionamiento independiente es necesario poner en marcha un programa nuevo en una secuencia, y no se prevé el movimiento continuo entre programas. De este modo, no es posible hacer que un robot cambie de funcionamiento de esclavo a independiente y que vuelva nuevamente a esclavo todo ello mientras el robot maestro permanece en movimiento, según se requiere en el punto 1 anterior. De forma más general, el encuentro y la separación de un robot con otro en movimiento no es posible con una única “operación cooperativa síncrona” según se define en el documento US 6.330.493 ó ni siquiera con múltiples operaciones de este tipo.
[0009] La transferencia de piezas, sin dispositivos de sujeción, requiere también una capacidad de encuentro y un cambio del funcionamiento coordinado al independiente según se ha descrito anteriormente. La técnica anterior tampoco es adecuada para dicha actividad de coordinación, excepto cuando todos los robots son controlados por un único controlador, lo cual a su vez limita la localidad de control coordinado.
[0010] Tal como se ha indicado anteriormente, en la técnica relacionada la designación de robots maestros y esclavos se guarda en patrones de vinculación, que únicamente pueden ser cambiados cambiando de programa. De este modo, no es posible que un robot sea tanto maestro como esclavo en el mismo programa, y no es posible que un robot sea tanto maestro como esclavo simultáneamente. De este modo, no hay ninguna manera de implementar la “cadena de dependencias espaciales” requerida por el anterior punto 2 usando la técnica relacionada.
[0011] Un ejemplo de las actividades de coordinación enumeradas anteriormente es la compartición de carga. Una vez que comienza la actividad coordinada, no existe movimiento relativo entre las garras de los diversos robots que llevan la pieza, de modo que cualquier método que pueda proporcionar una relación espacial fija durante el movimiento programado puede llevar a cabo satisfactoriamente esta actividad con cierto nivel de precisión. No obstante, si una operación de producción se detiene en mitad de dicha actividad, y es necesario apartar el conjunto compartido o acoplado, debe ser posible disponer de una capacidad de movimiento manual para mover el conjunto compartido.
[0012] Usando la compartición de carga como ejemplo sencillo, se puede examinar la actividad de aprendizaje de una operación coordinada. Considérese una pieza pesada que requiere de tres o más robots para llevar la pieza. Una posibilidad es proporcionar una maqueta ligera, de manera que el aprendizaje se pueda llevar a cabo con un robot cada vez. Sería deseable que la trayectoria de esta pieza se aprendiese de una manera convencional, por ejemplo, simplemente mediante el uso del sistema de movimiento y aprendizaje, manual, normalizado, del primer robot para guiar al robot que lleva la pieza a lo largo de la trayectoria requerida, grabando posiciones requeridas de la trayectoria e instrucciones del programa de control a lo largo del camino. En la mayoría de sistemas de robots industriales en la actualidad, se proporciona una técnica de este tipo.
[0013] Una primera etapa en esta técnica es determinar un sistema de referencia sobre la pieza, que se pueda usar como base para mover gradualmente (jogging) la pieza sujetada por el robot. Con la mayoría de robots industriales fabricados en la actualidad, es posible hacer aprender un sistema de referencia, conocido como Punto Central de la Herramienta (TCP) en una posición fija con respecto a la placa de montaje de herramientas del robot. En este caso, el sistema de referencia común sobre la pieza se convierte en el TCP para el primer robot. La trayectoria aprendida de la pieza usando el primer robot es en realidad la trayectoria del sistema de referencia de esa pieza. Haciendo que se aprenda un TCP para el primer robot, y dos puntos de agarre para los otros dos robots con respecto al sistema de referencia común (TCP) de la pieza, los tres robots pueden permanecer ligados entre sí tanto durante el movimiento manual como durante la reproducción de la trayectoria deseada de la pieza.
[0014] Una vez que se han preparado el programa y sus posiciones aprendidas asociadas, y otros datos, se debe instruir a los dos robots restantes sobre cómo compartir la carga. Idealmente, esto se debería realizar simplemente haciendo que se aprenda un punto de agarre para cada uno de los dos robots restantes en dos puntos sobre la pieza. Es deseable hacer esto mediante el aprendizaje de estas posiciones de agarre con respecto al sistema de referencia común sobre la pieza, es decir, el TCP del primer robot. De esta manera, con independencia de la trayectoria de la pieza que lleva el primer robot, si los otros dos robots conocen la posición sobre el sistema de referencia, únicamente necesitan mover sus posiciones de agarre respectivas con respecto a ese sistema de referencia para agarrar la pieza, y permanecer en sus posiciones de agarre respectivas con respecto a sistema de referencia para llevar la pieza.
[0015] La técnica resulta particularmente útil durante el tedioso proceso de aprendizaje, cuando la trayectoria aprendida de la pieza puede cambiar frecuentemente. Una vez que la pieza pesada real reemplaza a la pieza sustituta ligera, es crítico que los dos robots “ayudantes” mantengan su posición de agarre relativa durante cualquier movimiento de retoque, de nuevo aprendizaje o movimiento manual de la trayectoria llevada a cabo por el primer robot.
[0016] Los dos requisitos principales de la técnica anterior son la capacidad de un movimiento manual coordinado y la capacidad de que se aprendan posiciones para un robot con respecto a sistemas de referencia definidos en otro robot. En la técnica anterior no se proporciona ninguna de estas capacidades, excepto cuando los robots involucrados son controlados por un controlador común.
[0017] El movimiento coordinado en el tiempo, entre dos o más robots es una forma útil de coordinación en la que los robots no presentan una relación espacial directa, pero deben ejecutar movimientos idénticos en programas independientes al unísono. Por ejemplo, cuando cada uno de dos robots sigue una trayectoria idéntica o especularmente simétrica sobre una pieza común o dos piezas y las piezas están montadas en una mesa móvil, entonces los dos robots deben permanecer juntos durante la ejecución, de modo que mantengan la misma posición relativa con respecto a la mesa en movimiento. Esto es bastante común en la industria de la automoción en la que se deben ensamblar y soldar simultáneamente versiones izquierda y derecha de una pieza. Es común que las piezas sean grandes y deban ser llevadas sobre un único posicionador de mesa grande para hacerlas girar mientras los dos robots sueldan las piezas independientes izquierda y derecha. Si los dos programas de control de los robots no se ejecutan al unísono, entonces es posible que la mesa mueva la pieza fuera del alcance de un robot, mientras el otro está soldando correctamente, o que una costura fundida sobre una pieza se desvíe de su recorrido deseado sobre esa pieza mientras la otra se suelda correctamente. La resolución de este problema poniendo en marcha un robot y deteniéndolo para mantenerlo sincronizado con el otro no es posible en la soldadura por arco u otros procesos en los que la costura se debe soldar continuamente.
[0018] El problema anterior se puede generalizar a más de dos robots en casos en los que muchas piezas se llevan sobre una mesa móvil o eje de rotación común, de tal manera que existe un robot de procesado para cada pieza, y todos los robots se deben coordinar en el tiempo para igualar la posición relativa con respecto a la mesa o eje común. En esta forma general, cada robot debe mantener una relación espacial con la mesa (aunque no necesariamente con los otros robots), y los movimientos generados por los programas de control de robot deben permanecer coordinados mutuamente en el tiempo.
[0019] La coordinación en el tiempo del movimiento de dos o más robots significa que los movimientos deben comenzar y finalizar conjuntamente, y, en general, seguir el mismo perfil relativo de aceleración y velocidad en cada robot. Puesto que las distancias de los movimientos pueden ser ligeramente diferentes para cada robot, esta no es una tarea simple, y la capacidad de sincronizar el movimiento de este modo entre robots controlados por controladores independientes no se ha implementado en la técnica anterior.
[0020] El documento EP 1468791 A1 da a conocer un sistema de control cooperativo de este tipo para robots, en el que unidades de control destinadas a un funcionamiento individual de robots están conectadas en una red. Las unidades de control se fijan selectivamente en un modo de ejecución de función maestra y esclava. Los robots se sincronizan en sus movimientos corrigiendo un periodo de interrupción mínimo de dicha unidad de control esclava, en donde un tiempo de control de una unidad de control maestra se retarda en un tiempo predeterminado con el fin de lograr un funcionamiento cooperativo, tal como el levantamiento de una pieza pesada con dos robots.
[0021] Otra cuestión importante común para la totalidad de los tipos anteriores de movimiento coordinado es la precisión. Cuando dos o más robots llevan múltiples piezas en acoplamiento, o una pieza común, no es deseable que exista ningún movimiento relativo entre los robots, ya que esto podría provocar tensión en la pieza o desalineación de las piezas en acoplamiento. En la técnica anterior, controladores independientes, conectados únicamente mediante una línea de comunicación, pueden presentar una desalineación entre sus relojes internos, y puede que la salida de sus sistemas de movimiento respectivos hacia sus servosistemas respectivos no se produzca exactamente al mismo tiempo. Un error de este tipo en la concordancia de los tiempos de actualización puede provocar tensión o desalineación. Por ejemplo, si el intervalo de interpolación de los controladores es 16 milisegundos, y los relojes de interpolación de dos controladores están desalineados en casi un ciclo de reloj completo, entonces los servosistemas respectivos usarán una salida de cada interpolador con una separación de hasta 16 milisegundos. A una velocidad de un metro por segundo, esto induce 16 milímetros de desalineación entre las máquinas robóticas. Un error de este tipo no es tolerable en aplicaciones tales como las que se observan en la industria de automoción, por ejemplo, en donde se esperan precisiones de los robots de casi 1 milímetro.
[0022] En el documento US 6.330.493 B1, en el que múltiples robots son controlados por diferentes controladores, las aplicaciones se limitan a baja velocidad o aplicaciones en las que se permite una desalineación entre máquinas robóticas coordinadoras.
[0023] Existen varios métodos y normas para alinear relojes entre sistemas. Algunos métodos prevén una alineación de relojes de ordenador usando líneas de comunicación normalizadas tales como Ethernet. Por ejemplo, la nueva norma IEEE 1588 proporciona esta capacidad. Varias publicaciones, tales como Harmonius internal clock synchronization, de Horst F. Wedde y Wolfgang Freud, en EUROMICRO Workshop on Real-Time-Systems 2000 (ERST’00), IEEE Computer Society Press, págs.175 a 182, sugieren también métodos similares. No obstante, el problema en un controlador de robot típico es que existen varios relojes que deben estar alineados todos ellos para la concordancia de movimientos entre dos o más controladores. Por ejemplo, en el hardware de bucles de servosistemas se usa típicamente un reloj de hardware para controlar la velocidad de cierre de bucles digitales de los servosistemas. Puede existir también un subinterpolador que funcione a un múltiplo del intervalo del reloj del bucle del servosistema y un interpolador que funcione a otro múltiplo del intervalo del subinterpolador. Estos intervalos habitualmente deben mantenerse fijos y precisos.
[0024] Los algoritmos y métodos publicados, tales como el IEEE 1588, describen cómo alinear la ejecución de tareas o algoritmos de ordenador entre sistemas conectados por una línea de comunicación, aunque esto no hace nada para alinear los relojes de hardware reales de los sistemas individuales conectados por la línea de comunicación. Así, por ejemplo, los interpoladores podrían estar alineados entre sí mediante estos métodos, pero los subinterpoladores podrían basarse en los relojes de hardware individuales, y estos no estarían alineados. Además de los métodos sugeridos por las normas y algoritmos publicados, son necesarios métodos adicionales para alinear TODOS los relojes, incluyendo los relojes de hardware.
[0025] En resumen, a continuación se presenta una lista de requisitos para actividades coordinadas entre robots controlados por controladores independientes, que no se resuelven en la técnica anterior y, por lo tanto, constituyen un objetivo para la presente invención:
-encuentro y separación de un robot con una pieza o conjunto sujetados por otro u otros robots con el fin de sustentar piezas en acoplamiento, con conjuntos, y de soportar la transferencia de piezas, sin dispositivos de sujeción, entre robots;
-movimiento manual de piezas o conjuntos sujetados por múltiples robots con el fin de servir de soporte para el mantenimiento y el aprendizaje;
-aprendizaje de posiciones para un robot con respecto a un sistema de referencia en otro robot con el fin de conseguir que las aplicaciones coordinadas resulten más sencillas de aprender y más fiables;
-coordinación en el tiempo de movimientos similares en robots diferentes con el fin de permitirles seguir simultáneamente ejes auxiliares y de soportar movimientos relativos y repetibles del proceso; y
-alineamiento de relojes entre controladores de robots con el fin de conseguir que la concordancia de movimientos entre robots resulte precisa.
[0026] Debería entenderse que la totalidad de las características previas en la técnica anterior existe únicamente en controladores de robots, individuales, disponibles comercialmente, capaces de controlar múltiples robots a partir del controlador único. Cuando se usan controladores individuales para cada robot, y los controladores se comunican mediante una línea de comunicación normalizada tal como Ethernet, estas características no existen.
[0027] Existe una necesidad de una solución de múltiples controladores para usuarios industriales, ya que las celdas de robots son cada vez mayores, y, por lo tanto, la “localidad de control” requerida se está siendo cada vez mayor de lo que resultaría práctico para un único controlador. Por ejemplo, para soportar una o más de las actividades coordinadas enumeradas anteriormente en una celda con ocho robots se requiere un controlador capaz de controlar más de 48 ejes, lo cual no está disponible comúnmente y no resulta práctico. Con la presente invención, no es necesario un controlador de este tipo.
[0028] Por consiguiente, el objetivo general de la invención es proporcionar un método y un sistema de control de robots para controlar múltiples robots, donde se requieren varias formas de movimiento coordinado entre los robots, y los controladores para dichas máquinas están conectados a través de una línea de comunicación normalizada de ordenadores.
[0029] La invención resuelve los problemas antes mencionados de coordinación de movimiento entre los robots proporcionando un método del tipo antes mencionado según las características de la reivindicación 1.
[0030] Para resolver los problemas antes mencionados, la invención proporciona adicionalmente un sistema del tipo antes mencionado de acuerdo con las características de la reivindicación 16.
[0031] Preferentemente, dicha fuente de instrucciones de movimiento es local con respecto al controlador. No obstante, en una realización alternativa, dicha fuente de instrucciones de movimiento que puede ser un programa de control, puede ser también remota con respecto al controlador.
[0032] Cada controlador de robot contiene por lo menos un sistema de movimiento capaz de controlar máquinas robóticas (robots) vinculadas. No obstante, la invención se refiere en particular a problemas de coordinación entre robots controlados por controladores independientes. Cada controlador puede contener también por lo menos una fuente de instrucciones de movimiento, o puede no contener ninguna fuente de instrucciones de movimiento, y las instrucciones de movimiento para ese controlador se pueden originar de manera remota. La invención se refiere específicamente a problemas de coordinación en los que las fuentes de instrucciones de movimiento se encuentran en controladores independientes.
[0033] Una fuente de instrucciones de movimiento incluye, entre otras, fuentes de instrucciones como un intérprete de programas de control, un programa de control compilado, ejecutado directamente, un dispositivo de caja de mandos de movimiento manual, o cualquier dispositivo de operario diseñado para proporcionarle a un operario humano el control del movimiento del robot.
[0034] Otro aspecto de la invención es la capacidad de enlazar el movimiento de un “sistema de referencia dependiente” asociado a algún punto en un robot con un “sistema de referencia independiente” asociado a algún punto en un robot diferente controlado por un controlador diferente. El movimiento del sistema de referencia dependiente depende del movimiento del sistema de referencia independiente. Cuando se mueve el sistema independiente, así lo hace el sistema dependiente. No obstante, si se mueve el sistema dependiente, no se mueve necesariamente el sistema independiente.
[0035] Con este fin, la invención se refiere particularmente a un sistema para controlar una pluralidad de robots, comprendiendo dicho sistema una pluralidad de controladores, presentando cada uno de ellos un sistema de movimiento asociado, adaptado para controlar robots vinculados; presentando por lo menos uno de dichos controladores por lo menos una fuente de instrucciones de movimiento; una red de ordenadores a través de la cual se comunican dichos controladores; presentando por lo menos un primer controlador de dicha pluralidad de controladores un sistema emisor de posiciones para enviar una posición ordenada de dicho robot vinculado, a través de dicha red; presentando por lo menos un segundo controlador de dicha pluralidad de controladores un sistema receptor de posiciones para recibir dicha posición ordenada, a través de dicha red, desde por lo menos uno de dichos primeros controladores; estando dispuesto dicho segundo controlador para definir por lo menos un primer sistema de referencia de robot con una posición fija con respecto a algún punto en dicho robot vinculado a dicho primer controlador (sistema de referencia independiente) y por lo menos un segundo sistema de referencia de robot con una posición fija con respecto a algún punto en dicho robot vinculado a dicho segundo controlador; estando dispuesto dicho segundo controlador para mantener una cierta relación de transformación espacial (relación de dependencia) entre dicho segundo sistema de referencia de robot (sistema de referencia dependiente) y dicho sistema de referencia independiente; siendo especificada dicha relación por dicha fuente de instrucciones de movimiento de dicho segundo controlador.
[0036] En relación con el mismo aspecto de la invención, esta última se refiere adicionalmente a un método para controlar un sistema de una pluralidad de robots, comprendiendo además dicho sistema una pluralidad de controladores, presentando cada uno de ellos un sistema de movimiento asociado, adaptado para controlar robots vinculados; presentando por lo menos uno de dichos controladores por lo menos una fuente de instrucciones de movimiento; y una red de ordenadores a través de la cual se comunican dichos controladores, en donde por lo menos un primer controlador de dicha pluralidad de controladores envía una posición ordenada de su robot vinculado, a través de dicha red, en donde por lo menos un segundo controlador de dicha pluralidad de controladores recibe dicha posición ordenada, a través de dicha red, desde dicho primer controlador, en donde dicho segundo controlador define por lo menos un primer sistema de referencia de robot con una posición fija con respecto a algún punto en dicho robot vinculado de dicho primer controlador (sistema de referencia independiente) y por lo menos un segundo sistema de referencia de robot con una posición fija con respecto a algún punto en dicho robot vinculado de dicho segundo controlador, en donde dicho segundo controlador, usando dicha posición ordenada, mantiene una relación de transformación espacial (relación de dependencia) entre dicho segundo sistema de referencia de robot (sistema de referencia dependiente) y dicho sistema de referencia independiente moviendo su robot vinculado para mantener dicha relación de transformación, y en donde dicha relación de dependencia es definida por una fuente de instrucciones de movimiento de dicho segundo controlador. Preferentemente, dicha relación de transformación espacial es una relación de transformación Cartesiana.
[0037] Aunque en la técnica anterior la asociación de un movimiento de un robot al de otro robot se ha realizado, los sistemas anteriores o bien se han centrado en someter la totalidad de los robots al control de un controlador común, o bien, cuando los robots se encuentran en controladores independientes, dicha asociación era únicamente posible durante la ejecución de programas de control específicos (consúltese más arriba).
[0038] Según la invención, un sistema de referencia dependiente mantiene en todo momento su relación con un sistema de referencia independiente, incluso mientras el controlador correspondiente conmuta entre fuentes de instrucciones. Esto es particularmente importante cuando se conmuta de una operación de producción a una operación manual mientras dos robots están llevando una pieza. Preferentemente, dicha relación espacial es una relación de transformación Cartesiana.
[0039] La invención proporciona esta capacidad manteniendo el conocimiento del sistema de referencia independiente en el controlador en el que está definido el sistema de referencia dependiente. De esta manera, cualquier fuente de instrucciones que proporcione instrucciones de movimiento al sistema de movimiento de ese controlador puede proporcionar dichas instrucciones con respecto al sistema de referencia independiente.
[0040] Para lograr esto, en una realización preferida del sistema de la invención, dicho segundo controlador está dispuesto para mantener dicha relación de dependencia de transformación entre un sistema de referencia dependiente y un sistema de referencia independiente mientras no hay ninguna orden de ninguna de dichas fuentes de instrucciones de movimiento de dicho segundo controlador y/o cuando dicho segundo controlador cambia de una de dichas fuentes de instrucciones a otra. El conocimiento persistente del sistema de referencia independiente se mantiene en segundo plano mediante una transmisión de información de estado entre el controlador del robot PARA el cual se define el sistema de referencia independiente y el controlador EN el que está definido al sistema de referencia independiente. A su vez, esto se realiza usando una suscripción, por parte del controlador EN el que está definido el sistema de referencia independiente, al controlador del robot PARA el que está definido el sistema. Además, un controlador correspondiente a un robot puede mantener múltiples suscripciones simultáneamente con sistemas de referencia independientes diferentes.
[0041] En una realización preferida del método de la invención, dicho segundo controlador mantiene dicha relación de dependencia de transformación entre dicho sistema de referencia dependiente y dicho sistema de referencia independiente mientras no hay ninguna orden de ninguna de dichas fuentes de instrucciones de movimiento de dicho segundo controlador y/o cuando dicho segundo controlador está cambiando de una de dichas fuentes de instrucciones de movimiento a otra.
[0042] De esta manera, usando el método y el sistema de control de la invención, se pueden resolver varios problemas de coordinación con respecto a la técnica anterior en donde los robots son controlados por controladores independientes:
-Se pueden aprender posiciones con respecto a un sistema de referencia independiente para su uso en movimientos del robot en el que está definido el sistema dependiente. Es decir, según una realización adicional del método de la invención, un sistema de aprendizaje de dicho segundo controlador, que usa dicha posición ordenada, graba una posición aprendida definida con respecto a dicho sistema de referencia independiente para su uso posterior, de tal manera que, al producirse el uso posterior, dicho segundo controlador provoca que dicho segundo sistema de referencia de robots siga una trayectoria preestablecida por una fuente de instrucciones de movimiento de dicho segundo controlador hacia dicha posición aprendida. En una realización preferida del sistema de la invención, un sistema de aprendizaje de dicho segundo controlador está dispuesto para grabar posiciones aprendidas, definidas con respecto a un sistema de referencia independiente, para su uso posterior.
-Al mover el TCP de un robot a una posición definida con respecto a un sistema de referencia independiente, el TCP se convierte en un sistema de referencia dependiente, y esta dependencia permanece persistente. Incluso después de finalizar el movimiento, el TCP permanece dependiente, y se moverá automáticamente siempre que se mueva el sistema de referencia independiente. En general, según una realización adicional del método de la invención, dicha dependencia se crea por medio de un movimiento de dicho segundo sistema de referencia de robot a una posición definida con respecto a dicho sistema de referencia independiente desde una posición definida con respecto a un sistema de referencia diferente de dicho sistema de referencia independiente. Por consiguiente, en el sistema de la invención, dicha fuente de instrucciones de movimiento de dicho segundo controlador está dispuesta preferentemente para crear dicha relación de dependencia entre un segundo sistema de referencia de robot y dicho sistema de referencia independiente.
-El movimiento hacia un destino se lleva a cabo automáticamente con respecto al sistema de referencia independiente. El robot para el cual se define el sistema de referencia independiente puede ser movido en cualquier momento, y el movimiento emitido por la fuente de instrucciones para el sistema de referencia dependiente seguirá el movimiento relativo correcto. En otra realización del sistema de la invención, dicha fuente de instrucciones de movimiento de dicho segundo controlador está dispuesta para emitir una instrucción de movimiento relativo de tal manera que dicha relación de dependencia de dicho segundo controlador es un movimiento de dicho sistema de referencia dependiente definido con respecto a dicho sistema de referencia independiente.
-Puesto que el sistema de referencia independiente se mantiene constantemente, también se pueden llevar a cabo movimientos manuales con respecto a ese sistema de referencia. Cuando se detiene el movimiento manual, el sistema de referencia dependiente se detendrá con respecto al sistema de referencia independiente.
-Es posible llevar a cabo un movimiento de un robot desde un sistema fijo, por ejemplo, definido con respecto al mundo, hacia un sistema independiente definido en un robot en movimiento. Para evitar un cambio instantáneo de velocidad desde 0 a la velocidad del sistema de referencia independiente en movimiento, también se puede mantener información de estado, tal como velocidad y aceleración del sistema independiente. De este modo, se puede planificar un movimiento suave hacia o alejándose del sistema independiente. Por lo tanto, también es posible emitir movimientos del TCP de un primer robot desde un sistema independiente en un segundo robot hacia un sistema independiente en tercero robot. El movimiento del TCP comenzará a velocidad 0 con respecto al segundo robot, se moverá suavemente y se detendrá a velocidad 0 con respecto al tercer robot. Esta capacidad es importante para permitir que un robot se encuentre con y se separe de un sistema de referencia definido en un segundo robot. Históricamente, en la técnica anterior, esto es similar a robots que se mueven hacia y alejándose de sistemas de transportadores en movimiento. No obstante, en dichos sistemas, los sensores de los transportadores están conectados directamente al mismo controlador que los robots. En la técnica anterior en la que los robots están en controladores independientes, no se prevé dicho encuentro y separación entre un robot y otro.
-Según otra evolución del método de la invención, dicho sistema de referencia dependiente definido con respecto a un robot vinculado a un primer controlador se define como un sistema de referencia independiente con respecto a dicho robot por un controlador diferente. Esto es cierto debido a que un controlador se puede abonar a información del sistema de referencia de otro controlador al mismo tiempo que publica la misma información hacia un tercero. Por ejemplo, esto permite conseguir que un robot aprenda puntos de soldadura sobre una pieza pequeña que, a su vez, es sujetada por un segundo robot con respecto a una pieza grande sujetada por un tercero.
[0043] Aunque el aspecto previo de la invención soporta actividades de coordinación espacial entre robots, en ocasiones también es necesaria una coordinación temporal. En la técnica anterior, en la que dos o más robots son controlados por el mismo controlador, es posible mover un robot simultáneamente con otro simplemente emitiendo el movimiento desde una instrucción de un programa de control hacia ambos robots. Esto es necesario para coordinar un movimiento relativo espacial de un robot R2 con respecto a un robot R1 simultáneamente con un movimiento del robot R1. Por ejemplo, en la técnica anterior de soldadura por arco, es muy común mover un robot con respecto a un posicionador de mesa en coordinación temporal con el movimiento de ese posicionador. Así es cómo un baño fundido se puede mantener en su recorrido deseado, por ejemplo, horizontal mientras el robot atraviesa la costura de soldadura.
[0044] No obstante, cuando las fuentes de instrucciones residen en controladores independientes, no se puede emitir una única instrucción. Por lo tanto, otro aspecto de esta invención es permitir movimientos sincronizados temporalmente desde múltiples fuentes de instrucciones de movimiento. Tal como se ha indicado anteriormente, la invención implica por tanto un tipo nuevo de sentencia, comunicación y coordinación de movimientos entre controladores para llevar a cabo movimientos sincronizados en los robots independientes. Con este fin, el sistema según la invención está caracterizado porque dicho programa de control está dispuesto para definir y ejecutar una instrucción de movimiento coordinado en el tiempo, etiquetada de forma exclusiva, para comunicar información entre dicha pluralidad de controladores, y en donde dichos controladores están dispuestos para la ejecución sincronizada de instrucciones de movimiento coordinadas en el tiempo, con la misma etiqueta, de tal manera que dichas instrucciones se ejecutan de tal modo que comienzan conjuntamente en un primer instante de tiempo, siguen un perfil relativo de velocidad común, y finalizan conjuntamente en un segundo instante de tiempo.
[0045] Tal como se ha mencionado anteriormente, la sentencia de movimiento sincronizado usa una etiqueta exclusiva en la sentencia. Cada programa de control que se ejecuta en su propio controlador esperará en la sentencia de movimiento sincronizado a que los programas de control en la totalidad del resto de controladores lleguen a la misma sentencia etiquetada. A continuación, cada sistema de movimiento que se ejecuta en su propio controlador coordinará la planificación de movimiento correspondiente a su movimiento, junto con la totalidad del resto de controladores, de manera que todos los robots lleven a cabo sus movimientos con el mismo perfil de movimiento. Es decir, todos ellos se ponen en marcha, aceleran, se mueven a velocidad constante, y deceleran juntos, llegando de este modo a sus destinos exactamente al mismo tiempo. El robot que requiere la mayor cantidad de tiempo para su movimiento gobernará a la totalidad del resto para que consuman el mismo tiempo.
[0046] Otro aspecto de la invención es la mejora de la precisión mediante el uso de alineación de relojes. En la actualidad existen varios métodos y normas para alinear relojes a través de una línea de comunicación, tal como se ha descrito anteriormente. No obstante, es necesario que se alineen interpoladores y subinterpoladores de manera que la salida real de los servosistemas se produzca al mismo tiempo.
[0047] Por lo tanto, el sistema según la invención comprende preferentemente un reloj asociado para cada controlador, que produce información de temporización basada en un sistema de referencia temporal; y un sistema para suministrar una señal de sincronización a dichos controladores, que alinea periódicamente los sistemas de referencia temporales de dichos relojes; estando dispuestos dichos controladores para usar dichos relojes con el fin de controlar dichos sistemas de movimiento asociados de tal manera que dichos robots vinculados controlados por dichos sistemas de movimiento funcionen con alineación de los relojes.
[0048] Por consiguiente, el método de la invención está caracterizado preferentemente porque un reloj asociado en cada controlador produce información de temporización basándose en un sistema de referencia temporal; en donde un sistema para suministrar una señal de sincronización a dichos controladores alinea periódicamente los sistemas de referencia temporales de dichos relojes; y en donde dichos controladores usan dichos relojes para controlar dichos sistemas de movimiento asociados de tal manera que dichos robots vinculados controlados por dichos sistemas de movimiento funcionan con alineación de los relojes.
[0049] De este modo, la invención prevé que los relojes de hardware en la pluralidad de controladores de robot se alineen entre sí de manera que los intervalos de subinterpolación queden alineados, y prevé también una alineación de los intervalos del interpolador.
[0050] En una realización preferida del sistema de la invención, dichos relojes están conectados de forma permanente a dichos controladores.
[0051] En otra realización preferida del método de la invención, se usa una señal con una primera frecuencia y fase para ajustar la fase de uno de dichos relojes que funciona a una segunda frecuencia superior en cada una de la pluralidad de controladores con el fin de conseguir que las fases de dichos relojes de frecuencia superior sean iguales en la totalidad de dicha pluralidad de controladores; y en donde dicha señal de la primera frecuencia es proporcional al desfase. Con este fin, en otra realización del sistema de la invención, dichos relojes se conectan a dichos controladores a través de unos medios de enganche de fase, comprendiendo dichos medios de enganche de fase una conexión de sincronización en serie y/o una conexión de Ethernet.
[0052] El resultado es que la coordinación temporal en movimientos sincronizados en el tiempo es prácticamente perfecta, y no se introduce ningún error de alineación de posición, debido a la alineación de los relojes, en movimientos coordinados espacialmente.
[0053] A continuación se describirá más detalladamente la invención en referencia a los dibujos adjuntos, que muestran realizaciones preferidas del método y el sistema de la invención.
- La Fig. 1
- es un diagrama de la arquitectura general del sistema, soportada por la invención;
- la Fig. 2
- muestra un ejemplo de movimiento enlazado de dos robots;
- la Fig. 3
- es un diagrama que muestra la arquitectura, a nivel de tareas, de la realización preferida;
- las Figs. 4a, 4b
- muestran un diagrama de flujo para la tarea del Editor de Estados de Movimientos;
- las Figs. 5a, 5b
- muestran un diagrama de flujo para la tarea del Servicio de Suscripción de Sistemas de Referencia
- Independientes de Movimiento;
- las Figs. 6a, 6b
- muestran un diagrama de flujo para la tarea del Planificador de Movimientos;
- la Fig. 7
- es un diagrama de flujo para la tarea del Interpolador de Movimientos;
- la Fig. 8
- muestra mensajes y temporización para un movimiento enlazado típico; y
- las Figs. 9a, 9b
- muestran mensajes escenarios. y temporización para movimientos sincronizados típicos bajo varios
[0054] La Fig. 1 ilustra la arquitectura general de un sistema de control según la invención. Dentro de una celda 1 de trabajo hay presentes múltiples robots R1 a R4. Cada robot R1 a R4 está conectado para la transmisión de señales a un controlador de robots RC a RC’’, con lo cual múltiples robots R3, R4 pueden estar conectados a un controlador común RC’’. Cada controlador RC a RC’’ tiene un sistema de movimiento asociado MS a MS’’ y está dispuesto para recibir instrucciones de movimiento de por lo menos una fuente de instrucciones de movimiento MIS a MIS(3) que puede ser o bien local con respecto al controlador, por ejemplo, las fuentes de instrucciones de movimiento MIS, MIS’, MIS(3), o bien remota con respecto al controlador tal como el caso del controlador RC’ de la Fig. 1.
[0055] Por lo menos una MIS’’ de las fuentes de instrucciones de movimiento se puede concebir como un programa de control.
[0056] Los controladores individuales están enlazados físicamente a través de una red 2 de ordenadores, que, en la realización mostrada en la Fig. 1, comprende un concentrador 3 para servicios de distribución de comunicaciones. Un punto importante que ofrece la Fig. 1 es que todos los aspectos de la invención son válidos, ya estén las fuentes de instrucciones de movimiento MIS a MIS(3) en el mismo controlador o en controladores diferentes. Adicionalmente, un controlador de robot RC’ tiene un sistema emisor de posiciones PSS para comunicar posiciones de su robot vinculado R2 a través de la red 2. Otro controlador RC’’ tiene un sistema receptor de posiciones PRS correspondiente para recibir dichas posiciones a través de la red 2.
[0057] La Fig. 2 muestra un ejemplo de movimiento enlazado que involucra a dos robots R1, R2. Un robot R1 lleva una pieza 4 a lo largo de una trayectoria de movimiento T (aunque no es necesario que esta última sea una línea recta), mientras que otro robot R2 lleva a cabo un proceso con respecto a la pieza 4, tal como una soldadura por arco a lo largo de una línea de soldadura W. Un aspecto importante de la invención ilustrado en la Fig. 2 es que el robot de proceso R2 puede encontrarse con (movimiento de encuentro RM) y separarse de (movimiento de separación DM) la pieza 4 mientras esta última está en movimiento a lo largo de la trayectoria T. Durante el procesado de la pieza 4 por parte del robot R2, los dos robots están en movimiento relativo enlazado, el robot R1 a lo largo de la trayectoria T y el robot R2 a lo largo de una trayectoria en general curvada L.
[0058] En la Fig. 3 se muestra la arquitectura global de tareas de la realización preferida. La misma considera una arquitectura de tareas que puede ser soportada por muchos sistemas operativos comerciales de tiempo real disponibles en la actualidad. La arquitectura de tareas de los sistemas de movimiento se divide entre fuentes de instrucciones de movimiento MIS a MIS’’ (compárese con la Fig. 1) que están conectadas de manera interna remota a un sistema de movimiento MS asociado a un controlador de robot RC (Fig. 1).
[0059] El sistema de movimiento MS comprende un generador de movimientos manuales MS.1 en conexión con fuentes de instrucciones de movimientos manuales MIS, por ejemplo, cajas de mando de aprendizaje, etcétera, en caso de que estas últimas estén presentes. Fuentes de instrucciones implementadas por software, es decir, programas de control MIS’, MIS’’, están conectadas a un planificador de movimientos MS.2 que retransmite información a un gestor y editor de estados de movimiento MSP a través de un interpolador de movimiento MS.3. La información generada por el generador de movimientos MS.1 se retransmite directamente al MSP.
[0060] El MSP comprende una lista de abonados MS.4 que contiene información, por ejemplo, direcciones de red de múltiples abonados en los otros controladores que han definido sistemas de referencia independientes asociados a robots vinculados al presente controlador. Estos abonados pueden incluir sistemas de movimiento manual, planificadores, e interpoladores tales como, respectivamente, MS.1, MS.2 y MS.3.
[0061] En la Fig. 3 se muestra adicionalmente un servicio de suscripción de sistemas de referencia independientes IFSS para recopilar mensajes de estados de robots provenientes de editores individuales, es decir, los MSPs de sistemas de movimiento MS en otro controlador tal como se muestra en la Fig. 3. A través de una lista de suscripción MS.5, el IFSS relaciona sistemas de referencia independientes definidos en el controlador actual con editores de estados de movimiento de robots de otros controladores.
[0062] Son aspectos clave de las arquitecturas que soporta la invención:
-la tarea del Servicio de Suscripción de Sistemas de Referencia Independientes IFSS en segundo plano para
mantener información de estados actualizada sobre editores de sistemas de referencia remotos con independencia
de si están ejecutando o no programas y con independencia si hay movimientos relativos o no en marcha;
-una tarea de Gestor de Estados de Movimiento para mantener la posición de un robot con respecto a un sistema de referencia independiente remoto, con independencia de si hay programas en ejecución o no y de si hay movimientos relativos en marcha o no; y
-el estado de movimiento de un robot que se mantiene persistente con respecto a un sistema de referencia independiente remoto o bien para movimientos manuales o bien para movimientos programados o durante transiciones entre ellos.
[0063] Deben señalarse los siguientes puntos con respecto a la realización mostrada en la Fig. 3: [0064] Puede haber presentes simultáneamente múltiples fuentes de instrucciones MIS a MIS’’. Esto incluye una fuente de movimientos manuales MIS y múltiples fuentes de instrucciones de programas de control MIS’, MIS’’. La línea de punto por debajo de las mismas en la Fig. 3 indica que las fuentes de instrucciones pueden residir en el mismo controlador o un controlador diferente que el sistema de movimiento que controla el robot (Fig. 1).
[0065] La arquitectura mostrada permite un enlace continuo y persistente entre un sistema de referencia dependiente en un robot y el sistema de referencia independiente definido en otro robot mientras se cambia entre fuentes de instrucciones de movimiento situadas en cualquier lugar y que incluyen o bien fuentes de movimientos manuales o bien fuentes de instrucciones de programas de control, e incluye dicha persistencia incluso mientras no está viniendo ninguna instrucción de movimiento de ninguna fuente de movimiento.
[0066] Se pueden planificar o ejecutar varios movimientos que hacen uso simultáneamente de múltiples sistemas de referencia independientes diferentes, tal como se muestra mediante mensajes provenientes de múltiples editores hacia el Servicio de Suscripción de Sistemas de Referencia Independientes IFSS y mediante la capacidad de ese servicio para actualizar planificadores, interpoladores, y sistemas de movimiento manual simultáneamente. Posteriormente se describe de forma detallada el funcionamiento del IFSS. De esta manera, es posible planificar un movimiento desde un sistema de referencia independiente que se esté moviendo en ese momento hacia otro sistema de referencia independiente que se esté moviendo, en donde dicho movimiento comenzará en algún momento en el futuro.
[0067] El Gestor de Estados de Movimiento puede publicar la posición del plato de sujeción de un robot para múltiples abonados simultáneamente.
[0068] Para la planificación de movimientos, el Planificador MS.2 usa una estimación de la posición futura de un sistema de referencia independiente. De esta manera, cuando comienza el movimiento real en ese sistema de referencia, se pone en marcha un factor de corrección y el mismo se interpola a cero por medio del Gestor de Estados de Movimiento MSP. Así es cómo se pueden gestionar uniformemente y con una planificación de antemano, movimientos entre varios sistemas de referencia que se mueven. Estos tipos de movimientos son en general movimientos de transición que no requieren una precisión sustancial. Los movimientos de precisión se generan en general en el mismo sistema de referencia, en donde no es necesaria ninguna corrección entre movimientos.
[0069] La arquitectura de los sistemas de movimiento puede funcionar en presencia de sincronización de relojes de interpolación y de servosistemas entre controladores de robots o en ausencia de dicha sincronización. Tampoco existe ningún requisito de que el intervalo de interpolación de dos controladores de robots sea el mismo. Cada componente de la arquitectura supone que dondequiera se necesite un sistema de referencia independiente, su estado completo está disponible, incluyendo por lo menos su velocidad y posición. Puede haber presentes opcionalmente otras derivadas, por ejemplo, la aceleración.
[0070] En presencia de sincronización de relojes, se supone que cada controlador de robot genera actualizaciones de su plato de sujeción a la misma velocidad y prácticamente en los mismos tiempos relativos dentro de su intervalo de interpolación. El encadenamiento se soporta entonces de la siguiente manera: el MSP de cada robot espera durante hasta una cantidad fija de tiempo a la actualización del sistema de referencia de su editor remoto, a la cual está abonado. Este retardo es suficiente para que dos o más controladores de robot sucesivos calculen la posición de su plato de sujeción y la trasladen a sus abonados. A continuación, todos los controladores actualizarán sus servosistemas exactamente al mismo tiempo en la pulsación de reloj subsiguiente.
[0071] En ausencia de sincronización de relojes, se puede producir un agotamiento de un tiempo límite con respecto al retardo anterior. En este caso, se realiza una estimación del estado del sistema de referencia del editor, basándose en posiciones y velocidades actualizadas previamente y en el intervalo de tiempo conocido desde el tiempo de actualización al tiempo actual.
[0072] En la práctica, se usa siempre la estimación del estado del sistema de referencia. No obstante, cuando se usa la sincronización de relojes, el intervalo de tiempo entre la actualización y el uso de dicha estimación es 0 intervalos de reloj, y por lo tanto la posición es precisa.
[0073] A continuación se presentan en los siguientes párrafos detalles de estas ideas generales:
[0074] El Editor de Estados de Movimiento MSP puede actuar también como gestor de estados de movimiento. Una de las ideas clave de la invención es que debe resultar posible que un robot permanezca en movimiento mientras no se está generando realmente ningún movimiento en el controlador para ese robot particular. En un controlador de robot típico según la técnica anterior, cuando el interpolador ha acabado de interpolar un movimiento particular, se detiene el movimiento del robot. De forma similar, si se está bajo un control de movimiento manual, cuando el operario suelta un botón que provoca movimiento, el movimiento se detiene.
[0075] En la realización preferida según la invención, el MSP permite que un movimiento enlazado continúe en ausencia de movimiento de las entidades anteriores. Junto con el IFSS, que se describe de forma detallada posteriormente, estos dos componentes proporcionan una diferencia significativa con respecto a la técnica anterior, que permite la solución de todos los problemas de coordinación descritos previamente.
[0076] La planificación de movimientos se realiza en general de antemano con respecto a su ejecución real: por lo tanto es posible que una posición de inicio supuesta sea ligeramente diferente a la posición de inicio real, puesto que, en el caso en el que el movimiento nuevo es relativo a un sistema de referencia diferente al del movimiento actual, ese sistema de referencia nuevo podría haber tomado una trayectoria ligeramente diferente a la supuesta por el Planificador
o Generador de Movimientos manuales.
[0077] El MSP genera una transformación de corrección pequeña en el comienzo de cada movimiento, de manera que dicho movimiento de transición desde un sistema de referencia a otro sistema de referencia es uniforme. A continuación, la transformada de corrección se interpola a cero durante el movimiento usando un algoritmo bien conocido de interpolación de un solo ángulo, de manera que la posición terminal es exactamente correcta con respecto al sistema de referencia nuevo. El algoritmo de interpolación de un solo ángulo determina el vector normal común entre coordenadas afines de la posición de inicio supuesta y real y, a continuación, interpola la rotación en torno a ese vector desde la posición de inicio real a la supuesta. Esta interpolación se produce linealmente durante todo el transcurso del movimiento.
[0078] Adicionalmente, el MSP es responsable del cálculo final de la posición del plato de sujeción y los ángulos de articulación del robot para cada intervalo de interpolación. De este modo, es responsable de publicar esa posición para abonados que han definido sistemas de referencia independientes, con respecto al plato de sujeción de este robot. Esto sirve como soporte para el encadenamiento de sistemas de referencia.
[0079] El MSP soporta adicionalmente el enlace y el encadenamiento con y sin sincronización de relojes de interpolación y de servosistemas de la siguiente manera: cuando solicita la actualización del estado de un sistema de referencia independiente desde el IFSS, lo hace especificando un valor de tiempo límite permisible. A continuación, el IFSS satisfará la solicitud de actualización con la actualización real si la misma se produce antes del tiempo límite (el caso normal con sincronización de relojes) o con una estimación si el tiempo límite se agota antes de que tenga lugar una actualización (posible sin sincronización de relojes).
[0080] En referencia a los detalles del diagrama de flujo de la Fig. 4a, 4b, el MSP realiza las siguientes operaciones:
[0081] Después de que el MSP se ponga en marcha en la etapa S1 (Fig. 4a), la tarea del MSP en primer lugar espera al siguiente ciclo de interpolación del control del robot en la etapa S2, por ejemplo, comprobando repetidamente una señal correspondiente emitida por un interpolador de movimientos u otras fuentes de movimiento (no mostradas) tal como se ilustra mediante el bucle S2’. Ciclos previos del MSP pueden haber generado mensajes para tareas de abonados, y, en una respuesta Q, se pueden haber introducido entradas para esos mensajes. En la etapa S3, se comprueba esta respuesta Q. Las respuestas positivas de mensajes previos simplemente se eliminan. No obstante, si no ha llegado ninguna respuesta antes de un periodo de tiempo límite crítico para una entrada en esta Q, esto es un error importante. En caso de que se produzca un tiempo límite para una entrada en esta Q, se enviará un mensaje PARADA a la fuente de movimientos (interpolador o generador de movimientos manuales).
[0082] En una etapa S4 posterior, el MSP comprueba movimientos relativos que están en marcha y movimientos relativos nuevos venideros, que se caracterizan por actualizaciones en Q. Si dichos movimientos están presentes, la posición está siendo actualizada y el MSP obtendrá el siguiente estado Cartesiano deseado de un sistema de referencia dependiente a partir de un interpolador u otro generador de movimientos (etapa S5). Preferentemente, el mensaje de estado contiene también una descripción del sistema de referencia (por ejemplo, en términos de orientación de los ejes) así como información sobre herramientas, velocidades y el porcentaje de movimiento que ya se ha llevado a cabo. La ausencia de dichos movimientos caracteriza un estado estacionario con respecto a un sistema de referencia independiente de tal manera que se pueden usar valores previos para la corrección y la posición deseada, y la tarea prosigue directamente hacia la etapa S6, en donde el MSP solicita del IFSS una actualización del estado del sistema de referencia independiente (Fig. 3) usando un tiempo límite posible máximo. En el caso en el que se use sincronización de relojes entre controladores, el IFSS responderá antes de que transcurra este periodo de tiempo límite con una actualización que representa un sistema de referencia independiente desde un controlador diferente en el mismo intervalo de reloj. Cuando no se usa la sincronización de relojes, habitualmente se producirá una superación del tiempo límite en el IFSS, y, en ese caso, el mismo realizará una estimación de la posición de sistema de referencia independiente para el tiempo actual.
[0083] En una etapa S7 posterior, el MSP comprueba si este es o no el inicio de un movimiento nuevo. En caso de un movimiento nuevo, el MSP supone una posición de inicio nueva y calcula, para un sistema de referencia nuevo, una transformada de corrección inicial nueva (etapa S8). Posteriormente, si el movimiento nuevo usa un sistema de referencia nuevo, entonces se envía un mensaje al IFSS (Fig. 3) para liberar (cancelar la suscripción) el sistema de referencia antiguo (etapa S9). Si no hay ningún movimiento nuevo, o bien no hay ningún movimiento en marcha, o bien un movimiento activo todavía no se ha completado (en algún lugar entre el 0 y el 100 % de completarse). En este caso, la tarea se reanuda directamente en la etapa S10 (Fig. 4b), en donde se interpola la transformada de corrección (etapa S8; Fig. 4a) basándose en el porcentaje de movimiento desde un interpolador u otro generador de movimientos. En etapas posteriores S11 a S14 (Fig. 4b), el MSP calcula una posición sucesiva del plato de sujeción con respecto al Mundo (etapa S11); para cada controlador externo en la lista de suscripción (Fig. 3), envía el siguiente estado Cartesiano previsto del plato de sujeción a través de la red de comunicaciones (consúltese Fig. 1) y realiza las entradas correspondientes en una Q (etapa S12) para comprobar respuestas de los mensajes de platos de sujeción en un ciclo posterior (etapa s3 del siguiente ciclo); calcula ángulos de articulación sucesivos a partir de la siguiente posición del plato de sujeción (consúltese etapa S11) usando ecuaciones de cinemática inversa y envía ángulos de articulación a un servo-subsistema (no mostrado; etapa S13); y envía cualquier respuesta de error e información de reducción a escala hacia el editor del sistema de referencia actual (etapa S14).
[0084] El IFSS es el segundo componente junto con el MSP que diferencia significativamente la arquitectura de la presente invención con respecto a la técnica anterior.
[0085] El IFSS realiza las siguientes funciones básicas:
-mantiene una lista de sistemas de referencia independientes que están definidos con respecto a uno o más platos de sujeción remotos de robots. Puede haber múltiples sistemas de referencia definidos para cada plato de sujeción. Por ejemplo, el Planificador MS.2 (Fig. 3) puede estar planificando un movimiento al mismo tiempo que el interpolador está llevando a cabo un movimiento. El planificador podría estar planificando un movimiento con respecto a una garra, mientras el interpolador está realizando un movimiento con respecto a una pieza en la garra. Tanto la garra como la pieza representan sistemas de referencia independientes que son mantenidos por el IFFS para un uso simultáneo por parte del sistema. O el Planificador puede estar planificando un movimiento con respecto a una garra en un robot mientras el interpolador está llevando a cabo un movimiento con respecto a la garra en otro robot;
-mantiene una lista de suscripción de platos de sujeción remotos de robots. El IFSS se abona a un plato de sujeción remoto cuando el Planificador MS.2 ó el Generador de Movimientos Manuales MS.1 está planificando un movimiento nuevo hacia un sistema de referencia nuevo usando un plato de sujeción nuevo. El IFSS cancela la suscripción de un plato de sujeción remoto cuando el MSP ha finalizado un movimiento con respecto al último sistema de referencia definido con respecto a ese plato de sujeción. Obsérvese que esto no se produce habitualmente al final de la interpolación de un movimiento por parte del interpolador, sino, por el contrario, cuando se inicia un movimiento nuevo hacia un sistema de referencia con respecto a un plato de sujeción diferente.
[0086] Cada solicitud nueva de sistema de referencia genera una ID de suscripción nueva, incluso si el sistema de referencia ya está siendo usado. Esa ID se difunde desde el Planificador al Interpolador, y al MSP. Cuando el MSP ha finalizado con una ID de sistema de referencia, envía un mensaje de liberación de suscripción al IFSS. Si dicha ID es la última ID que queda para un sistema de referencia particular, ese sistema de referencia se libera, y si el sistema de referencia es el último que remite a un plato de sujeción particular, se envía una orden de cancelación de suscripción al editor, y se libera el plato de sujeción;
-actualiza todos los sistemas de referencia que remiten a un cierto plato de sujeción. Esto incluye transformar la posición y la velocidad del plato de sujeción entrantes, y cualquier otra información de estado, al sistema de referencia independiente y grabar el tiempo de actualización. A continuación, esta información se puede usar para la estimación posterior del estado de sistemas de referencia en un tiempo futuro; y
-responde a solicitudes de actualización de sistemas de referencia del Planificador, el Generador de Movimientos Manuales, o el MSP.
[0087] En referencia a los detalles del diagrama de flujo de la Fig. 5a, 5b, el IFSS realiza las siguientes operaciones:
[0088] El IFSS se pone en marcha en la etapa S1 (Fig. 5a). A continuación espera un mensaje en la etapa S2 (bucle S2’), que puede ser 1) un mensaje de suscripción nueva de sistema de referencia desde un movimiento manual o de planificadores (etapa S3; Fig. 5a); 2) un mensaje de eliminación de suscripción de sistema de referencia desde el MSP (etapa S4; Fig. 5a); 3) un mensaje de actualización de plato de sujeción desde un editor remoto (etapa S5; Fig. 5b); ó 4) una solicitud del último mensaje de información de sistemas de referencia independientes desde el MSP, un movimiento manual o el planificador (etapa S6; Fig. 5b).
[0089] Si el mensaje en la etapa S2 es un mensaje de suscripción nueva de sistema de referencia (etapa S3; Fig. 5a), entonces el IFSS comprueba en una etapa S3.1 posterior si ya existe o no una suscripción a ese sistema de referencia. Si existe una suscripción, la tarea se reanuda en la etapa S3.5 (consúltese más abajo). En cualquier otro caso, en la etapa S3.2 se crea una entrada nueva en una lista de sistemas de referencia independientes. A continuación, en la etapa S3.3, se comprueba si ya existe o no una referencia al plato de sujeción al que remite ese sistema de referencia independiente. Si existe dicha referencia, la tarea se reanuda en la etapa S3.5, en cualquier otro caso, en la etapa S3.4 se crea una entrada en una tabla de datos de platos de sujeción remotos y se envía un mensaje de suscripción al editor de platos de sujeción. En la etapa S3.5 posterior, el IFSS crea una ID de suscripción para el sistema de referencia, con más de una ID posible para el mismo sistema de referencia. Adicionalmente, se devuelve la ID nueva al solicitante, que puede ser un planificador de movimientos o una interfaz de movimientos manuales. A continuación se continúa con la tarea en la etapa S2.
[0090] Si el mensaje en la etapa S2 es un mensaje de eliminación de suscripción (etapa S4; Fig. 5a), entonces la ID de suscripción se elimina del sistema de referencia (etapa S4.1) y el IFSS comprueba si se han eliminado o no todas las IDs para ese sistema de referencia (etapa S4.2). Si quedan todavía algunas IDs, la tarea se reanuda en la etapa S2. En cualquier otro caso, su entrada se elimina de la lista de sistemas de referencia independientes (etapa S4.3). Si se han suprimido todas las referencias a ese plato de sujeción particular (etapa S4.4), entonces, en la etapa S4.5, se envía un mensaje de cancelación de suscripción al editor de platos de sujeción, y el plato de sujeción remoto se elimina de la tabla de datos de platos de sujeción. En cualquier otro caso o después de esto, se reanuda la tarea en la etapa S2.
[0091] Si el mensaje en la etapa S2 es un mensaje de actualización de plato de sujeción (etapa S5; Fig. 5b), entonces los datos de platos de sujeción remotos se actualizan en la tabla de datos de platos de sujeción, y se envía un mensaje al editor para confirmar la actualización (etapa S5.1). A continuación, se reanuda la tarea en la etapa S2.
[0092] Si el mensaje en la etapa S2 es un mensaje de solicitud de sistema de referencia independiente (etapa S6; Fig. 5b), entonces el IFSS espera, con un tiempo límite especificado, un mensaje de actualización de un plato de sujeción descrito. Cualquier otro mensaje se sitúa en otra cola de espera (etapa S6.1). La etapa S6.1 se repite hasta que se recibe el mensaje de actualización, según se ilustra mediante el bucle S6.1’. A continuación, en una etapa S6.2 posterior, los datos de platos de sujeción remotos en la tabla de datos de platos de sujeción se actualizan para una actualización dentro de un tiempo límite (etapa S6.2). A continuación, el IFSS calcula la posición actual del plato de sujeción en la etapa S6.3 usando: (última actualización de velocidad) x (tiempo desde la última actualización) + (última posición de actualización). En la etapa S6.4, se calcula el estado del sistema de referencia independiente solicitado usando el plato de sujeción actual calculado en la etapa S6.3 más la desviación almacenada del plato de sujeción con respecto al sistema de referencia independiente solicitado. En la etapa S6.5, la actualización solicitada del estado del sistema de referencia se devuelve al solicitante. A continuación, se reanuda la tarea en la etapa S2.
[0093] La tarea de Planificador (MS.2; Fig. 3) presta servicio a la función básica de calcular varios parámetros del movimiento para un uso posterior por parte del interpolador. La planificación de un movimiento se realiza típicamente con una antelación de un movimiento completo con respecto a la ejecución real de un movimiento por parte del interpolador. Esta planificación se produce normalmente en paralelo con la ejecución del movimiento previamente planeado, por parte del interpolador. En el caso de que haya varios movimientos en cola, es decir, esperando a su ejecución, la planificación se puede producir con una antelación de varios movimientos con respecto a la interpolación real del movimiento.
[0094] Entre las variables necesarias para planificar un movimiento se encuentran los estados de comienzo y finalización del movimiento, incluyendo por lo menos la posición y la velocidad de inicio y la posición y velocidad de finalización. Puesto que un movimiento se planifica para un punto central de herramienta TCP (herramienta) particular, y un sistema de referencia particular, los estados de la herramienta y el sistema de referencia para el movimiento deben ser también conocidos en el momento de la planificación. En un único controlador, planificando movimientos solamente para el robot vinculado a ese controlador y sin influencias de sensores exteriores, toda la información requerida de herramientas, sistemas de referencia, y estados de inicio es estática y por lo tanto se puede usar en cualquier momento antes del movimiento.
[0095] No obstante, la suposición en la presente invención es que cada movimiento se puede definir con respecto a un sistema de referencia nuevo, el cual a su vez se puede definir con respecto a un plato de sujeción en movimiento de un robot remoto. Además, el estado del sistema de referencia necesario para la planificación puede no estar actualizado precisamente en el momento en el que se realiza la planificación. Incluso si la planificación se realizase precisamente en el inicio de la interpolación, a no ser que se use la sincronización de relojes, la información de sistemas de referencia independientes puede no estar exactamente actualizada en ese momento.
[0096] Un aspecto clave de la arquitectura en la realización preferida según la invención es el IFSS, que soporta la estimación de valores futuros de sistemas de referencia independientes definidos con respecto a un plato de sujeción remoto. El IFSS se abonará a y recibirá actualizaciones para el robot remoto requerido. Convertirá también el estado actualizado del plato de sujeción remoto al sistema de referencia independiente requerido por el Planificador MS.2 (Fig. 3). Puesto que se mantiene información completa de los estados, incluyendo posición y por lo menos velocidad del sistema de referencia independiente, el Planificador puede predecir entonces la posición del sistema de referencia en el momento en el que el movimiento será ejecutado por el interpolador.
[0097] En referencia a los detalles del diagrama de flujo en la Fig. 6a, 6b, el Planificador realiza las siguientes operaciones:
[0098] Después de la puesta en marcha del Planificador de Movimientos en la etapa S1 (Fig. 6a), el mismo espera a una Instrucción de Movimiento de Programa de Control sucesiva en la etapa S2. Nuevamente, la espera se ilustra mediante el bucle S2’. Después de que se haya dado dicha instrucción, la tarea comprueba en la etapa S3 si se ha añadido o no un sistema de referencia o herramienta nuevos. Si no se ha producido un cambio de este tipo, entonces calcula parámetros para el siguiente movimiento en la etapa S4. Si el siguiente movimiento se va a fusionar, es decir, se va a realizar una transición uniforme entre estados de movimiento antiguo y nuevo, se define un movimiento final nuevo, el mismo se sitúa atrás en la cola de espera, y el movimiento actual se planifica como un movimiento fusionado, es decir, un movimiento que unirá el movimiento final nuevo uniformemente en por lo menos algunos de sus parámetros. A continuación, en la etapa S5, se envía a la cola del interpolador un registro de instrucciones de interpolación, y se continúa con la tarea en la etapa S2.
[0099] Si en la etapa S3 se detecta un sistema de referencia o herramienta nuevos, entonces la tarea distingue además entre situaciones con un sistema de referencia nuevo y situaciones sin un sistema de referencia nuevo en la etapa S6 (Fig. 6b): si se detecta un sistema de referencia nuevo, entonces, en la etapa S7, para un sistema de referencia remoto, se envía la información nueva de sistema de referencia al IFSS junto con una solicitud de una ID de suscripción. A continuación, en la etapa S8, la tarea espera y realiza comprobaciones repetidamente (bucle S8’) en busca de una actualización de sistema de referencia desde el IFSS antes de realizar la estimación de un sistema de referencia independiente en el tiempo de inicio en la etapa S9.
[0100] A continuación, o en caso de que se no se hallase ningún sistema de referencia nuevo en la etapa S6, en la etapa S10 se reinicializa un estado de inicio en el sistema de referencia y/o herramienta nuevos. A continuación se reanuda la tarea en la etapa S4 (Fig. 6a).
[0101] Los cálculos realizados en el Interpolador de la realización preferida son típicos de controladores de robot existentes. No obstante, en lugar de enviar información de estado intermedia a un servo-subsistema, en este caso la información de estado se envía al MSP, que a su vez puede aplicar un factor de corrección. El Interpolador traslada su porcentaje actual de compleción del movimiento, de manera que el MSP puede aplicar su factor de corrección interpolado para el mismo porcentaje de compleción. Adicionalmente, el Interpolador traslada la ID de suscripción del sistema de referencia independiente y la herramienta a usar. El MSP continuará usando este mismo sistema de referencia y herramienta para evaluar y actualizar el estado de sistemas de referencia dependientes después de que el Interpolador haya completado el movimiento.
[0102] En referencia a los detalles del diagrama de flujo en la Fig. 7, el Interpolador según la invención realiza las siguientes operaciones:
[0103] Después del inicio en la etapa S1, la tarea de interpolador espera un movimiento nuevo en la cola Q (etapa S2), la cual es comprobada repetidamente (bucle S2’). Cuando se ha detectado dicho movimiento, el interpolador espera a la siguiente pulsación de un reloj de intervalos (etapa S3; bucle S3’) y, a continuación, calcula la siguiente posición interpolada de una herramienta actual en un sistema de referencia actual (etapa S4). A continuación, se envían al MSP el sistema de referencia, la herramienta, la posición, y la velocidad actuales en el sistema de referencia y el porcentaje de movimiento (porcentaje de movimiento ya realizado) junto con una ID de suscripción para cualquier sistema de referencia remoto (etapa S5). En una etapa S6 posterior, la tarea realiza una comprobación en relación con si el movimiento ha finalizado o no. Si es así, la tarea va a buscar otro de la cola de espera en la etapa S2, si no la tarea se reanuda en la etapa S3.
[0104] Se supone que la función del Generador de Movimientos Manuales (MS.1; Fig. 3) es típica de controladores de robot existentes, con la excepción de que se ha modificado exactamente de la misma manera que la descrita previamente para el Planificador con el fin de hacer uso de sistemas de referencia estimados desde el IFSS y de trasladar información interpolada de estados y de ID de suscripción hacia el MSP de una manera similar al Interpolador.
[0105] La Fig. 8 muestra un diagrama de temporización (escala de tiempo t) y el movimiento enlazado simple de dos robots R1, R2. El robot R1 lleva una pieza 4 a lo largo de una línea recta T entre los puntos extremos P0Mundo, P1Mundo los cuales se han definido en coordenadas del Mundo. El Robot R2 mueve un soplete 5 de soldadura hacia la pieza 4 mientras esta última está en movimiento, se detiene con respecto a la pieza 4, a continuación se separa de la pieza 4, y se mueve de vuelta a un punto P2Mundo definido con respecto al Mundo. La siguiente es una descripción de la comunicación que se produce durante estos movimientos:
-el movimiento de R1 a lo largo de la línea T viene provocado por “Mover PiezaEnGarra hacia P1Mundo@mundo”,
donde “X@y” indica en general una posición X (punto) definida en un sistema de referencia y particular. Esto hace
que la pieza sujetada en la garra de R1 se mueva a lo largo de la línea recta T hacia la posición P1Mundo que está definida con respecto a las coordenadas del Mundo, por ejemplo, coordenadas de la celda de trabajo. Este movimiento no provoca ninguna comunicación;
-un programa en R2 emite “Mover Soplete a P1Pieza@PiezaEnGarra”. Puesto que PiezaEnGarra es un sistema de referencia independiente definido en un robot remoto (R1), el IFSS de R2 envía un mensaje a R1 para abonarse a información de estados del plato de sujeción de R1. A partir de ese momento en adelante, R1 envía cíclicamente su plato de sujeción a R2 tal como se ha descrito previamente. La tarea de IFSS del R2 responderá con mensajes de acuse de recibo;
-la tarea de Planificador de R2 planificará un movimiento desde velocidad 0 con respecto al Mundo hasta velocidad 0 con respecto a “PiezaEnGarra”, y desde una posición de inicio Pinicio hasta la posición final, P1Pieza, definida con respecto a la Pieza. Este movimiento es llevado a cabo conjuntamente por las tareas de MSP y de interpolador de R2;
-cuando se ha completado el movimiento de R2, las tareas de R2 mantienen el soplete 5 en una posición fija con respecto a la pieza 4 y a una velocidad relativa tendente a cero hacia la pieza. Los mensajes de estado y respuestas periódicos continúan entre R1 y R2;
-R2 emite “Mover Soplete a P2Mundo@Mundo”. El Planificador de R2 planifica un movimiento desde velocidad 0 con respecto a la pieza hasta la velocidad 0 con respecto al Mundo y hacia la posición final P2Mundo definida en las coordenadas del Mundo. Este movimiento lo llevan a cabo conjuntamente las tareas de MSP y de Interpolador de R2;
-la tarea de MSP del R2 cancela la suscripción del sistema de referencia PiezaEnGarra en cuanto comienza el movimiento hacia P2Mundo, puesto que PiezaEnGarra ya no está siendo usado, y el plato de sujeción para el cual se ha definido no tiene otros sistemas de referencia definidos con respecto al mismo que estén siendo usados actualmente;
-se detiene todo el tráfico de mensajes. Los dos robots son de nuevo completamente independientes entre sí.
[0106] Aspectos importantes del diagrama mostrado en la Fig. 8 incluyen:
-Los mensajes fluyen en ambas direcciones entre los dos robots involucrados en el movimiento enlazado: el mensaje de actualización de estado desde el editor al abonado y mensajes de respuesta desde el abonado al editor. De esta manera, el editor puede detectar un fallo de comunicación, o se puede detectar un fallo en el robot abonado, y se puede detener el robot que soporta el sistema de referencia independiente.
-Se muestran movimientos de encuentro y separación, respectivamente, RM y DM. El robot con el sistema de referencia dependiente debe planificar movimientos hacia posiciones no estacionarias durante el encuentro, acelerar hacia objetivos que se mueven, y decelerar desde posiciones de inicio que se mueven, cuando se separa hacia posiciones estacionarias.
[0107] Las Figs. 9a, 9b muestran diagramas de temporización para dos conjuntos diferentes de movimientos sincronizados en el tiempo, uno simple y uno complejo.
[0108] El movimiento sincronizado simple en la Fig. 9a involucra dos robots R1, R2, que ejecutan cada uno de ellos un movimiento sincronizado en el tiempo. El robot R1 se va a mover a una posición R1P1 al mismo tiempo que el robot R2 se mueve a una posición R2P1 (posiciones no mostradas en el diagrama). Los dos programas de control están dispuestos para reconocer que se deben sincronizar entre sí para el movimiento con una misma etiqueta, por ejemplo, “Etapa 1”. Saben también, cada uno de ellos, que se van a sincronizar entre sí debido a la lista de sincronización, “R1R2” (R1 sabe que su socio es R2, R2 sabe que su socio es R1). Las sentencias correspondientes del código de programa se proporcionan por encima y por debajo, respectivamente, de las escalas temporales t.
[0109] El ejemplo de la Fig. 9a supone que el programa de control de R1 llega a su sentencia de movimiento en primer lugar, y su Planificador emite un mensaje hacia R2 diciendo que se encuentra en la etiqueta “Etapa1” y necesitará 3,4 s para ejecutar su movimiento. A continuación, el Planificador de R1 espera por un mensaje de R2.
[0110] Posteriormente, R2 llega a su sentencia de movimiento. Su Planificador emite un mensaje hacia R1 diciendo que se encuentra en la etiqueta “Etapa1”, y que necesitará 2,8 s para ejecutar su movimiento. R2 ya tiene su mensaje proveniente de R1. Su lista de sincronización se ha cumplido, y sabe que el movimiento de R1 tardará el tiempo mayor de entre los dos periodos de tiempo, es decir, 3,4 s (en comparación con 2,8 s para R2). Su Planificador finaliza y emite una planificación de movimiento escalado con una duración de 3,4 s hacia su interpolador. La planificación de movimiento escalado significa que la velocidad de cada robot se escala ligeramente hacia abajo desde su valor programado para mantener la coordinación temporal con los otros robots. El robot que tarde más en ejecutar su movimiento dictaminará la modificación a escala para la totalidad del resto de robots. A continuación, el Interpolador espera una señal “Adelante” de R1. (El robot que tarde más tiempo emite la señal “Adelante”).
[0111] Cuando el Planificador de R1 recibe el mensaje de R2, se cumple entonces su lista de sincronización y emite un 5 movimiento hacia su Interpolador para 3,4 s. El Interpolador de R1 envía “Adelante” hacia R2, y los dos comienzan la interpolación.
[0112] Cuando se usa la sincronización de relojes, la señal “Adelante” se proporciona al comienzo de los ciclos de interpolación de ambos robots, y los dos interpolan al unísono (sin necesidad de ninguna otra comunicación que no sea
10 la sincronización de relojes). La concordancia entre robots es extremadamente precisa, tan precisa como la propia sincronización de los relojes.
[0113] En la Fig. 9b se ilustra una serie de movimientos sincronizados mucho más compleja. Muestra nueve movimientos emitidos por programas de control sobre tres robots diferentes R1 a R3. El robot R1 emite cuatro
15 movimientos, dos de los cuales están sincronizados con otros robots. El robot R2 emite tres movimientos, estando sincronizados todos ellos con otros robots, y el robot R3 emite dos movimientos, ambos sincronizados con otros robots.
[0114] Las tres etiquetas de sincronización son “Etapa1”, “Etapa2” y “Etapa3”. Los robots R1 y R2 participan juntos en Etapa1. Los robots R2 y R3 participan juntos en Etapa2. Los robots R1, R2 y R3 participan juntos en Etapa3.
20
Claims (32)
- REIVINDICACIONES
- 1.
- Método para controlar un sistema de una pluralidad de robots, comprendiendo dicho sistema:
una pluralidad de controladores, que tienen cada uno de ellos un sistema de movimiento asociado que controla robots vinculados y que reciben instrucciones de movimiento desde por lo menos una fuente de instrucciones de movimiento, y una red de ordenadores a través de la cual se comunican dichos controladores; caracterizado porque un programa de control define y ejecuta instrucciones de movimiento coordinadas en el tiempo, estando asociada a una etiqueta exclusiva cada una de estas instrucciones de movimiento coordinadas en el tiempo, de tal manera que se comunica información entre dicha pluralidad de controladores; y en donde el movimiento de robots producido por instrucciones de movimiento coordinadas en el tiempo, con la misma etiqueta, ejecutadas en cualquiera de dicha pluralidad de controladores, se ejecuta de tal manera que comienzan conjuntamente en un primer instante de tiempo, siguen un perfil común de velocidad relativa, y finalizan conjuntamente en un segundo instante de tiempo. -
- 2.
- Método según la reivindicación 1, en el que un reloj asociado en cada controlador produce información de temporización basándose en un sistema de referencia temporal; en donde un sistema destinado a suministrar una señal de sincronización a dichos controladores alinea periódicamente los sistemas de referencia temporales de dichos relojes; y en donde dichos controladores usan dichos relojes para controlar dichos sistemas de movimiento asociados de tal manera que dichos robots vinculados controlados por dichos sistemas de movimiento funcionan con alineación de los relojes.
-
- 3.
- Método según la reivindicación 2, en el que una señal con una primera frecuencia y fase se usa para ajustar una fase de uno de dichos relojes que funcionan a una segunda frecuencia superior en cada uno de la pluralidad de controladores para conseguir que las fases de dichos relojes de frecuencia superior sean iguales en la totalidad de dicha pluralidad de controladores; y en donde dicha señal de primera frecuencia es proporcional al desfase.
-
- 4.
- Método para controlar un sistema de una pluralidad de robots, comprendiendo además dicho sistema:
una pluralidad de controladores, presentando cada uno de ellos un sistema de movimiento asociado, adaptado para controlar robots vinculados; presentando por lo menos uno de dichos controladores por lo menos una fuente de instrucciones de movimiento; y una red de ordenadores a través de la cual se comunican dichos controladores; en donde por lo menos un primer controlador de dicha pluralidad de controladores envía una posición ordenada de su robot vinculado, a través de dicha red; en donde por lo menos un segundo controlador de dicha pluralidad de controladores recibe dicha posición ordenada, a través de dicha red, desde dicho primer controlador; en donde dicho segundo controlador define por lo menos un sistema de referencia independiente, que es un primer sistema de referencia de robot con una posición fija con respecto a algún punto en dicho robot vinculado de dicho primer controlador, y por lo menos un sistema de referencia dependiente, que es un segundo sistema de referencia de robot con una posición fija con respecto a algún punto en dicho robot vinculado de dicho segundo controlador; en donde dicho segundo controlador, usando dicha posición ordenada, mantiene el sistema de referencia independiente, que es una relación de transformación espacial entre dicho sistema de referencia dependiente y dicho sistema de referencia independiente moviendo su robot vinculado para mantener dicha relación de transformación; y en donde dicha relación de dependencia está definida por una fuente de instrucciones de movimiento de dicho segundo controlador; caracterizado porque dicho sistema de referencia dependiente definido con respecto a un robot vinculado a un primer controlador se define como un sistema de referencia independiente con respecto a dicho robot por un controlador diferente. -
- 5.
- Método según la reivindicación 4, en el que dicha relación de transformación espacial es una relación de transformación Cartesiana.
-
- 6.
- Método según la reivindicación 4 ó 5, en el que un sistema de aprendizaje de dicho segundo controlador, que usa dicha posición ordenada, graba una posición aprendida definida con respecto a dicho sistema de referencia independiente para su uso posterior, de tal manera que, al producirse el uso posterior, dicho segundo controlador provoca que dicho segundo sistema de
referencia de robot siga una trayectoria preestablecida por una fuente de instrucciones de movimiento de dicho segundo controlador hacia dicha posición aprendida. -
- 7.
- Método según una de las reivindicaciones 4 a 6, en el que dicha dependencia se crea por medio de un movimiento de dicho segundo sistema de referencia de robot a una posición definida con respecto a dicho sistema de referencia independiente desde una posición definida con respecto a un sistema de referencia diferente de dicho sistema de referencia independiente.
-
- 8.
- Método según una de las reivindicaciones 4 a 7, en el que dicho segundo controlador mantiene dicha relación de dependencia de transformación entre dicho sistema de referencia dependiente y dicho sistema de referencia independiente mientras no hay ninguna orden de ninguna de dichas fuentes de instrucciones de movimiento de dicho segundo controlador y/o cuando dicho segundo controlador está cambiando de una de dichas fuentes de instrucciones de movimiento a otra.
-
- 9.
- Método según una de las reivindicaciones 4 a 8, en el que la relación de transformación espacial, es decir, la relación de dependencia, del por lo menos segundo controlador es un movimiento de un segundo sistema de referencia de robot definido con respecto a un sistema de referencia independiente, siendo emitida dicha instrucción de movimiento relativo por una fuente de instrucciones de movimiento de dicho por lo menos segundo controlador.
-
- 10.
- Método según una de las reivindicaciones 4 a 9, en el que la relación de transformación espacial, es decir, la relación de dependencia, del por lo menos un segundo controlador es un movimiento de un segundo sistema de referencia de robot, definido con respecto a un sistema de referencia independiente, siendo emitida dicha instrucción de movimiento relativo por una fuente de instrucciones de movimiento de dicho por lo menos un segundo controlador.
-
- 11.
- Método según la reivindicación 4, en el que además un reloj asociado en cada controlador produce información de temporización basándose en un sistema de referencia temporal; en donde un sistema destinado a suministrar una señal de sincronización a dichos controladores alinea periódicamente los sistemas de referencia temporales de dichos relojes; y en donde dichos controladores usan dichos relojes para controlar dichos sistemas de movimiento asociados de tal manera que dichos robots vinculados controlados por dichos sistemas de movimiento funcionan con alineación de los relojes.
-
- 12.
- Método según la reivindicación 11, en el que un sistema de aprendizaje de dicho segundo controlador, que usa dicha posición ordenada, graba una posición aprendida definida con respecto a dicho sistema de referencia independiente para su uso posterior, de tal manera que, al producirse el uso posterior, dicho segundo controlador provoca que dicho segundo sistema de referencia de robot siga una trayectoria preestablecida por una fuente de instrucciones de movimiento de dicho segundo controlador hacia dicha posición aprendida.
-
- 13.
- Método según la reivindicación 11 ó 12, en el que dicha dependencia se crea por medio de un movimiento de dicho segundo sistema de referencia de robot a una posición definida con respecto a dicho sistema de referencia independiente desde una posición definida con respecto a un sistema de referencia diferente de dicho sistema de referencia independiente.
-
- 14.
- Método según una de las reivindicaciones 11 a 13, en el que dicho segundo controlador mantiene dicha relación de dependencia de transformación fija entre dicho sistema de referencia dependiente y dicho sistema de referencia independiente mientras no hay ninguna orden de ninguna de dichas fuentes de instrucciones de movimiento de dicho segundo controlador y/o cuando dicho segundo controlador está cambiando de una de dichas fuentes de instrucciones de movimiento a otra.
-
- 15.
- Método según una de las reivindicaciones 11 a 14, en el que dicho sistema de referencia dependiente definido con respecto a un robot vinculado a un primer controlador se define como un sistema de referencia independiente con respecto a dicho robot por parte de un controlador diferente.
-
- 16.
- Sistema para controlar una pluralidad de robots, comprendiendo dicho sistema:
imagen1 una pluralidad de controladores de movimiento, presentando cada uno de ellos un sistema de movimiento asociado que controla un robot vinculado, pudiendo recibir, cada uno de dichos controladores de movimiento, instrucciones de movimiento de por lo menos una fuente de instrucciones de movimiento, y siendo, por lo menos una de dichas fuentes de instrucciones de movimiento, un programa de control; y una red de ordenadores a través de la cual se comunican dichos controladores; caracterizado porque dicho programa de control está dispuesto para definir y ejecutar una instrucción de movimiento coordinado en el tiempo, con una etiqueta exclusiva, para comunicar información entre dicha pluralidad de controladores; y en donde dichos controladores están dispuestos para la ejecución sincronizada de instrucciones de movimiento coordinadas en el tiempo, con la misma etiqueta, de tal manera que dichas instrucciones se ejecutan de tal modo que comienzan conjuntamente en un primer instante de tiempo, siguen un perfil común de velocidad relativa, y finalizan conjuntamente en un segundo instante de tiempo.imagen2 -
- 17.
- Sistema según la reivindicación 16, en el que dicha fuente de instrucciones de movimiento es local con respecto a dicho controlador.
-
- 18.
- Sistema según la reivindicación 16 ó 17, en el que dicha fuente de instrucciones de movimiento es remota con respecto a dicho controlador.
-
- 19.
- Sistema según una de las reivindicaciones 16 a 18, que comprende además:
un reloj asociado para cada controlador, que produce información de temporización basada en un sistema de referencia temporal; y un sistema para suministrar una señal de sincronización a dichos controladores que alinea periódicamente los sistemas de referencia temporales de dichos relojes; estando dispuestos dichos controladores para usar dichos relojes con el fin de controlar dichos sistemas de movimiento asociados de tal manera que dichos robots vinculados controlados por dichos sistemas de movimiento funcionan con alineación de relojes. -
- 20.
- Sistema según la reivindicación 19, en el que dichos relojes están conectados de forma permanente a dichos controladores.
-
- 21.
- Sistema según la reivindicación 19 ó 20, en el que dichos relojes están conectados a dichos controladores a través de medios de enganche de fase, comprendiendo dichos medios de enganche de fase una conexión de sincronización en serie y/o una conexión de Ethernet.
-
- 22.
- Sistema para controlar una pluralidad de robots, comprendiendo dicho sistema:
una pluralidad de controladores, que presentan cada uno de ellos un sistema de movimiento asociado que controla robots vinculados; presentando por lo menos uno de dichos controladores por lo menos una fuente de instrucciones de movimiento; una red de ordenadores a través de la cual se comunican dichos controladores; presentando por lo menos un primer controlador de dicha pluralidad de controladores un sistema emisor de posiciones para enviar una posición ordenada de dichos robots vinculados, a través de dicha red; presentando, por lo menos un segundo controlador de dicha pluralidad de controladores, un sistema receptor de posiciones para recibir dicha posición ordenada, a través de dicha red, desde por lo menos uno de dichos primeros controladores; estando dispuesto dicho segundo controlador para definir por lo menos un sistema de referencia independiente, que es un primer sistema de referencia de robot con una posición fija con respecto a algún punto en dicho robot vinculado a dicho primer controlador, y por lo menos un sistema de referencia dependiente, que es un segundo sistema de referencia de robot con una posición fija con respecto a algún punto en dichos robots vinculados a dicho segundo controlador; estando dispuesto dicho segundo controlador para mantener una relación de dependencia, que es una cierta relación de transformación espacial entre dicho sistema de referencia dependiente y dicho sistema de referencia independiente; caracterizado porque dicho sistema de referencia dependiente definido con respecto a un robot vinculado a un primer controlador está definido como un sistema de referencia independiente con respecto a dicho robot por un controlador diferente; siendo especificada dicha relación por dicha fuente de instrucciones de movimiento de dicho segundo controlador. -
- 23.
- Sistema según la reivindicación 22, en el que dicha relación espacial es una relación de transformación Cartesiana.
-
- 24.
- Sistema según la reivindicación 22 ó 23,
en el que un sistema de aprendizaje de dicho segundo controlador está dispuesto para grabar posiciones aprendidas definidas con respecto a un sistema de referencia independiente para su uso posterior. -
- 25.
- Sistema según una de las reivindicaciones 22 a 24, en el que dicha fuente de instrucciones de movimiento de dicho segundo controlador está dispuesta para crear dicha relación de dependencia entre un segundo sistema de referencia de robot y dicho sistema de referencia independiente.
-
- 26.
- Sistema según una de las reivindicaciones 22 a 25, en el que dicha fuente de instrucciones de movimiento de dicho segundo controlador está dispuesta para emitir una instrucción de movimiento relativo de tal manera que dicha relación de dependencia de dicho segundo controlador es un movimiento de dicho sistema de referencia dependiente definido con respecto a dicho sistema de referencia independiente.
-
- 27.
- Sistema según una de las reivindicaciones 22 a 26, en el que dicho segundo controlador está dispuesto para mantener dicha relación de dependencia de transformación entre dicho sistema de referencia dependiente y dicho sistema de referencia independiente mientras no hay ninguna orden de ninguna de dichas fuentes de instrucciones de movimiento de dicho segundo controlador y/o cuando dicho segundo controlador cambia de una de dichas fuentes de instrucciones a otra.
-
- 28.
- Sistema según la reivindicación 22, comprendiendo además dicho sistema:
un reloj asociado para cada controlador, que produce información de temporización basada en un sistema de referencia temporal; y un sistema para suministrar una señal de sincronización a dichos controladores que alinea periódicamente los sistemas de referencia temporales de dichos relojes; estando dispuestos dichos controladores para usar dichos relojes con el fin de controlar dichos sistemas de movimiento asociados de tal manera que dichos robots vinculados controlados por dichos sistemas de movimiento funcionan con alineación de relojes. -
- 29.
- Sistema según la reivindicación 28, en el que un sistema de aprendizaje de dicho segundo controlador está dispuesto para grabar posiciones aprendidas definidas con respecto a un sistema de referencia independiente para su uso posterior.
-
- 30.
- Sistema según la reivindicación 28 ó 29, en el que dicha fuente de instrucciones de movimiento de dicho segundo controlador está dispuesta para crear dicha relación de dependencia entre un segundo sistema de referencia de robot y dicho sistema de referencia independiente.
-
- 31.
- Sistema según una de las reivindicaciones 28 a 30, en el que dicha fuente de instrucciones de movimiento de dicho segundo controlador está dispuesta para emitir una instrucción de movimiento relativo de tal manera que dicha relación de dependencia de dicho segundo controlador es un movimiento de dicho sistema de referencia dependiente definido con respecto a dicho sistema de referencia independiente.
-
- 32.
- Sistema según una de las reivindicaciones 28 a 31, en el que dicho segundo controlador está dispuesto para mantener dicha relación de dependencia de transformación entre dicho sistema de referencia dependiente y dicho sistema de referencia independiente mientras no hay ninguna orden de ninguna de dichas fuentes de instrucciones de movimiento de dicho segundo controlador y/o cuando dicho segundo controlador cambia de una de dichas fuentes de instrucciones a otra.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/406,521 US6804580B1 (en) | 2003-04-03 | 2003-04-03 | Method and control system for controlling a plurality of robots |
| US406521 | 2003-04-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2361404T3 true ES2361404T3 (es) | 2011-06-16 |
Family
ID=32850647
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES04007908T Expired - Lifetime ES2361404T3 (es) | 2003-04-03 | 2004-04-01 | Método y sistema de control para controlar una pluralidad de robots. |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6804580B1 (es) |
| EP (1) | EP1464452B1 (es) |
| AT (1) | ATE499184T1 (es) |
| DE (1) | DE602004031476D1 (es) |
| ES (1) | ES2361404T3 (es) |
Families Citing this family (170)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020138246A1 (en) * | 2001-03-08 | 2002-09-26 | Czora Gregory J. | System and method for simulating conciousness |
| JP4739556B2 (ja) * | 2001-03-27 | 2011-08-03 | 株式会社安川電機 | 制御対象の遠隔調整及び異常判断装置 |
| US6925357B2 (en) | 2002-07-25 | 2005-08-02 | Intouch Health, Inc. | Medical tele-robotic system |
| US20040162637A1 (en) | 2002-07-25 | 2004-08-19 | Yulun Wang | Medical tele-robotic system with a master remote station with an arbitrator |
| DE10236392A1 (de) * | 2002-08-08 | 2004-02-19 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten |
| FR2853983A1 (fr) * | 2003-04-17 | 2004-10-22 | Philippe Bellanger | Procede et dispositif d'interaction pour l'assistance au geste "metier-matiere" |
| SE0301910L (sv) * | 2003-06-26 | 2004-12-27 | Abb Ab | Datorstyrd arbetsplats med robotar |
| DE10351670A1 (de) * | 2003-11-05 | 2005-06-30 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern von Robotern |
| US7813836B2 (en) | 2003-12-09 | 2010-10-12 | Intouch Technologies, Inc. | Protocol for a remotely controlled videoconferencing robot |
| SE0303384D0 (sv) * | 2003-12-15 | 2003-12-15 | Abb Ab | Control system, method and computer program |
| JP4325407B2 (ja) * | 2004-01-08 | 2009-09-02 | パナソニック株式会社 | 産業用ロボット |
| SE0400091D0 (sv) * | 2004-01-16 | 2004-01-16 | Abb Ab | Control system, method and computer program |
| KR100590549B1 (ko) * | 2004-03-12 | 2006-06-19 | 삼성전자주식회사 | 3차원 포인팅 방법을 이용한 로봇의 원격 제어 방법 및이를 구현한 로봇 제어 시스템 |
| DE102004026185A1 (de) * | 2004-05-28 | 2005-12-22 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Betreiben einer Maschine, wie eines Mehrachs- Industrieroboters |
| US8077963B2 (en) | 2004-07-13 | 2011-12-13 | Yulun Wang | Mobile robot with a head-based movement mapping scheme |
| EP1657552A1 (en) * | 2004-11-12 | 2006-05-17 | The Automation Partnership (Cambridge) Limited | Vessel loading/unloading |
| US7983769B2 (en) * | 2004-11-23 | 2011-07-19 | Rockwell Automation Technologies, Inc. | Time stamped motion control network protocol that enables balanced single cycle timing and utilization of dynamic data structures |
| US7904184B2 (en) * | 2004-11-23 | 2011-03-08 | Rockwell Automation Technologies, Inc. | Motion control timing models |
| US7149606B2 (en) * | 2005-03-01 | 2006-12-12 | Fanul Robotics America, Inc. | Synchronizing controllers linked by a communications network |
| JP4382003B2 (ja) * | 2005-03-23 | 2009-12-09 | 川崎重工業株式会社 | ロボット制御装置およびロボット制御方法 |
| JP2006277120A (ja) * | 2005-03-28 | 2006-10-12 | Toshiba Corp | オブジェクト管理装置、オブジェクト管理方法およびオブジェクト管理プログラム |
| US7860609B2 (en) | 2005-05-06 | 2010-12-28 | Fanuc Robotics America, Inc. | Robot multi-arm control system |
| US7904182B2 (en) * | 2005-06-08 | 2011-03-08 | Brooks Automation, Inc. | Scalable motion control system |
| US9198728B2 (en) | 2005-09-30 | 2015-12-01 | Intouch Technologies, Inc. | Multi-camera mobile teleconferencing platform |
| US7174474B1 (en) * | 2005-10-12 | 2007-02-06 | Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. | Distributed autonomous control system for multi-axis motion control |
| US9794533B2 (en) | 2006-01-31 | 2017-10-17 | Andrew Flessas | Robotically controlled entertainment elements |
| US8356704B2 (en) | 2006-01-31 | 2013-01-22 | Andrew Flessas | Robotically controlled entertainment elements |
| ATE441885T1 (de) * | 2005-12-07 | 2009-09-15 | Sap Ag | Verfahren und system zum automatischen organisieren und ausführen einer vordefinierten aufgabe durch roboterfunktionalitäten |
| US11284048B2 (en) | 2006-01-31 | 2022-03-22 | Andrew Flessas | Robotically controlled display |
| US20100145512A1 (en) * | 2006-01-31 | 2010-06-10 | Andy Flessas | Method and system for transmitting robot control instructions |
| US9195233B2 (en) * | 2006-02-27 | 2015-11-24 | Perrone Robotics, Inc. | General purpose robotics operating system |
| US9833901B2 (en) | 2006-02-27 | 2017-12-05 | Perrone Robotics, Inc. | General purpose robotics operating system with unmanned and autonomous vehicle extensions |
| US10331136B2 (en) | 2006-02-27 | 2019-06-25 | Perrone Robotics, Inc. | General purpose robotics operating system with unmanned and autonomous vehicle extensions |
| US20070271002A1 (en) * | 2006-05-22 | 2007-11-22 | Hoskinson Reed L | Systems and methods for the autonomous control, automated guidance, and global coordination of moving process machinery |
| US8849679B2 (en) | 2006-06-15 | 2014-09-30 | Intouch Technologies, Inc. | Remote controlled robot system that provides medical images |
| US8355818B2 (en) | 2009-09-03 | 2013-01-15 | Battelle Energy Alliance, Llc | Robots, systems, and methods for hazard evaluation and visualization |
| US8073564B2 (en) * | 2006-07-05 | 2011-12-06 | Battelle Energy Alliance, Llc | Multi-robot control interface |
| US7801644B2 (en) * | 2006-07-05 | 2010-09-21 | Battelle Energy Alliance, Llc | Generic robot architecture |
| US7211980B1 (en) | 2006-07-05 | 2007-05-01 | Battelle Energy Alliance, Llc | Robotic follow system and method |
| US8965578B2 (en) | 2006-07-05 | 2015-02-24 | Battelle Energy Alliance, Llc | Real time explosive hazard information sensing, processing, and communication for autonomous operation |
| US7668621B2 (en) * | 2006-07-05 | 2010-02-23 | The United States Of America As Represented By The United States Department Of Energy | Robotic guarded motion system and method |
| US7974738B2 (en) * | 2006-07-05 | 2011-07-05 | Battelle Energy Alliance, Llc | Robotics virtual rail system and method |
| US8271132B2 (en) | 2008-03-13 | 2012-09-18 | Battelle Energy Alliance, Llc | System and method for seamless task-directed autonomy for robots |
| US7620477B2 (en) * | 2006-07-05 | 2009-11-17 | Battelle Energy Alliance, Llc | Robotic intelligence kernel |
| US7587260B2 (en) * | 2006-07-05 | 2009-09-08 | Battelle Energy Alliance, Llc | Autonomous navigation system and method |
| US7584020B2 (en) * | 2006-07-05 | 2009-09-01 | Battelle Energy Alliance, Llc | Occupancy change detection system and method |
| US8265793B2 (en) | 2007-03-20 | 2012-09-11 | Irobot Corporation | Mobile robot for telecommunication |
| US8086551B2 (en) | 2007-04-16 | 2011-12-27 | Blue Oak Mountain Technologies, Inc. | Electronic system with simulated sense perception and method of providing simulated sense perception |
| US9160783B2 (en) | 2007-05-09 | 2015-10-13 | Intouch Technologies, Inc. | Robot system that operates through a network firewall |
| KR100912874B1 (ko) * | 2007-06-28 | 2009-08-19 | 삼성전자주식회사 | 이동 로봇의 리로케이션 방법 및 장치 |
| IL185124A0 (en) * | 2007-08-08 | 2008-11-03 | Wave Group Ltd | A generic omni directional imaging system & method for vision, orientation and maneuver of robots |
| KR100945884B1 (ko) * | 2007-11-14 | 2010-03-05 | 삼성중공업 주식회사 | 내장형 로봇 제어 시스템 |
| US10875182B2 (en) | 2008-03-20 | 2020-12-29 | Teladoc Health, Inc. | Remote presence system mounted to operating room hardware |
| US8179418B2 (en) | 2008-04-14 | 2012-05-15 | Intouch Technologies, Inc. | Robotic based health care system |
| US8170241B2 (en) | 2008-04-17 | 2012-05-01 | Intouch Technologies, Inc. | Mobile tele-presence system with a microphone system |
| EP2824526B1 (de) * | 2008-05-21 | 2020-08-19 | FFT Produktionssysteme GmbH & Co. KG | Spannrahmenloses Fügen von Bauteilen |
| US9193065B2 (en) | 2008-07-10 | 2015-11-24 | Intouch Technologies, Inc. | Docking system for a tele-presence robot |
| US9842192B2 (en) | 2008-07-11 | 2017-12-12 | Intouch Technologies, Inc. | Tele-presence robot system with multi-cast features |
| US8948906B2 (en) * | 2008-08-14 | 2015-02-03 | Spectra Logic Corporation | Robotic storage library with queued move instructions and method of queuing such instructions |
| US8457778B2 (en) * | 2008-08-15 | 2013-06-04 | Spectra Logic Corp. | Robotic storage library with queued move instructions and method of queuing such instructions |
| US9046890B2 (en) * | 2008-09-05 | 2015-06-02 | Fanuc Robotics America, Inc. | Line tracking data over Ethernet |
| US8340819B2 (en) | 2008-09-18 | 2012-12-25 | Intouch Technologies, Inc. | Mobile videoconferencing robot system with network adaptive driving |
| US8996165B2 (en) | 2008-10-21 | 2015-03-31 | Intouch Technologies, Inc. | Telepresence robot with a camera boom |
| US8666537B2 (en) * | 2008-10-31 | 2014-03-04 | Spectra Logic, Corporation | Robotic storage library with queued move instructions and method of queing such instructions |
| US8340810B2 (en) * | 2008-10-31 | 2012-12-25 | Spectra Logic Corp. | Robotic storage library with queued move instructions and method of queuing such instructions |
| US8463435B2 (en) | 2008-11-25 | 2013-06-11 | Intouch Technologies, Inc. | Server connectivity control for tele-presence robot |
| US9138891B2 (en) | 2008-11-25 | 2015-09-22 | Intouch Technologies, Inc. | Server connectivity control for tele-presence robot |
| US20100180711A1 (en) | 2009-01-19 | 2010-07-22 | Comau, Inc. | Robotic end effector system and method |
| US8849680B2 (en) | 2009-01-29 | 2014-09-30 | Intouch Technologies, Inc. | Documentation through a remote presence robot |
| WO2010098030A1 (ja) * | 2009-02-25 | 2010-09-02 | パナソニック株式会社 | 溶接方法および溶接システム |
| US20100241260A1 (en) * | 2009-03-17 | 2010-09-23 | Comau, Inc. | Industrial communication system and method |
| US8676466B2 (en) * | 2009-04-06 | 2014-03-18 | GM Global Technology Operations LLC | Fail-safe speed profiles for cooperative autonomous vehicles |
| US8897920B2 (en) | 2009-04-17 | 2014-11-25 | Intouch Technologies, Inc. | Tele-presence robot system with software modularity, projector and laser pointer |
| US8384755B2 (en) * | 2009-08-26 | 2013-02-26 | Intouch Technologies, Inc. | Portable remote presence robot |
| US11399153B2 (en) | 2009-08-26 | 2022-07-26 | Teladoc Health, Inc. | Portable telepresence apparatus |
| WO2011029476A1 (en) | 2009-09-11 | 2011-03-17 | Abb Technology Ab | Improved pick and place |
| DE102009050646A1 (de) * | 2009-10-26 | 2011-04-28 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Steuern einer Mehrmaschinenanordnung |
| CA2785558C (en) * | 2010-01-12 | 2016-05-10 | Comau, Inc. | Distributed control system |
| US11154981B2 (en) | 2010-02-04 | 2021-10-26 | Teladoc Health, Inc. | Robot user interface for telepresence robot system |
| US8670017B2 (en) | 2010-03-04 | 2014-03-11 | Intouch Technologies, Inc. | Remote presence system including a cart that supports a robot face and an overhead camera |
| US9012853B2 (en) | 2010-05-13 | 2015-04-21 | Flir Detection, Inc. | Radiation measurement using timing-over-ethernet protocol |
| US8918213B2 (en) | 2010-05-20 | 2014-12-23 | Irobot Corporation | Mobile human interface robot |
| US9014848B2 (en) | 2010-05-20 | 2015-04-21 | Irobot Corporation | Mobile robot system |
| US8935005B2 (en) | 2010-05-20 | 2015-01-13 | Irobot Corporation | Operating a mobile robot |
| US10343283B2 (en) | 2010-05-24 | 2019-07-09 | Intouch Technologies, Inc. | Telepresence robot system that can be accessed by a cellular phone |
| US10808882B2 (en) | 2010-05-26 | 2020-10-20 | Intouch Technologies, Inc. | Tele-robotic system with a robot face placed on a chair |
| DE102010029745A1 (de) * | 2010-06-07 | 2011-12-08 | Kuka Laboratories Gmbh | Werkstück-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren |
| US8731714B2 (en) * | 2010-09-22 | 2014-05-20 | GM Global Technology Operations LLC | Concurrent path planning with one or more humanoid robots |
| US8615322B2 (en) | 2010-09-27 | 2013-12-24 | Spectra Logic Corporation | Efficient moves via dual pickers |
| US8682471B2 (en) | 2010-09-27 | 2014-03-25 | Spectra Logic Corporation | Efficient magazine moves |
| US9264664B2 (en) | 2010-12-03 | 2016-02-16 | Intouch Technologies, Inc. | Systems and methods for dynamic bandwidth allocation |
| US8930019B2 (en) | 2010-12-30 | 2015-01-06 | Irobot Corporation | Mobile human interface robot |
| US12093036B2 (en) | 2011-01-21 | 2024-09-17 | Teladoc Health, Inc. | Telerobotic system with a dual application screen presentation |
| CN103459099B (zh) | 2011-01-28 | 2015-08-26 | 英塔茨科技公司 | 与一个可移动的远程机器人相互交流 |
| US9323250B2 (en) | 2011-01-28 | 2016-04-26 | Intouch Technologies, Inc. | Time-dependent navigation of telepresence robots |
| DE102011010505A1 (de) * | 2011-02-07 | 2012-08-09 | Dürr Systems GmbH | Anpassung der Dynamik zumindest eines Roboters |
| US11482326B2 (en) | 2011-02-16 | 2022-10-25 | Teladog Health, Inc. | Systems and methods for network-based counseling |
| US10769739B2 (en) | 2011-04-25 | 2020-09-08 | Intouch Technologies, Inc. | Systems and methods for management of information among medical providers and facilities |
| US20140139616A1 (en) | 2012-01-27 | 2014-05-22 | Intouch Technologies, Inc. | Enhanced Diagnostics for a Telepresence Robot |
| US9098611B2 (en) | 2012-11-26 | 2015-08-04 | Intouch Technologies, Inc. | Enhanced video interaction for a user interface of a telepresence network |
| US8639364B2 (en) * | 2011-07-13 | 2014-01-28 | KUKA Robotics Corporation | Uniform synchronizing robot control and deadlock detection in uniform synchronization |
| US8836751B2 (en) | 2011-11-08 | 2014-09-16 | Intouch Technologies, Inc. | Tele-presence system with a user interface that displays different communication links |
| US9251313B2 (en) | 2012-04-11 | 2016-02-02 | Intouch Technologies, Inc. | Systems and methods for visualizing and managing telepresence devices in healthcare networks |
| US8902278B2 (en) | 2012-04-11 | 2014-12-02 | Intouch Technologies, Inc. | Systems and methods for visualizing and managing telepresence devices in healthcare networks |
| US9361021B2 (en) | 2012-05-22 | 2016-06-07 | Irobot Corporation | Graphical user interfaces including touchpad driving interfaces for telemedicine devices |
| WO2013176758A1 (en) | 2012-05-22 | 2013-11-28 | Intouch Technologies, Inc. | Clinical workflows utilizing autonomous and semi-autonomous telemedicine devices |
| DE102012012184A1 (de) * | 2012-06-19 | 2013-12-19 | Kuka Roboter Gmbh | Vorgabe synchronisierter Roboterbewegungen |
| US9517556B2 (en) * | 2012-06-29 | 2016-12-13 | Mitsubishi Electric Corporation | Robot control apparatus and robot control method |
| EP3670112B1 (en) * | 2013-02-15 | 2025-10-29 | Intuitive Surgical Operations, Inc. | Systems and methods for synchronizing nodes of a robotic system |
| JP6548662B2 (ja) * | 2014-03-17 | 2019-07-24 | インテュイティブ サージカル オペレーションズ, インコーポレイテッド | 処置中再始動の間の器具制御入力位置/向きの回復 |
| US9841749B2 (en) | 2014-04-01 | 2017-12-12 | Bot & Dolly, Llc | Runtime controller for robotic manufacturing system |
| US9555545B2 (en) * | 2014-05-21 | 2017-01-31 | Bot & Dolly, Llc | Systems and methods for time-based parallel robotic operation |
| US9050723B1 (en) | 2014-07-11 | 2015-06-09 | inVia Robotics, LLC | Human and robotic distributed operating system (HaRD-OS) |
| US9823693B2 (en) | 2014-08-26 | 2017-11-21 | Andrew Flessas | Robotically controlled convertible display |
| US9415512B2 (en) * | 2014-08-28 | 2016-08-16 | Fanuc America Corporation | System and method for enhancing a visualization of coordinate points within a robots working envelope |
| ES2654335T3 (es) | 2014-10-23 | 2018-02-13 | Comau S.P.A. | Sistema para monitorizar y controlar una instalación industrial |
| GB201509341D0 (en) | 2015-05-29 | 2015-07-15 | Cambridge Medical Robotics Ltd | Characterising robot environments |
| US10379007B2 (en) | 2015-06-24 | 2019-08-13 | Perrone Robotics, Inc. | Automated robotic test system for automated driving systems |
| DE102015008188B3 (de) * | 2015-06-25 | 2016-06-16 | Kuka Roboter Gmbh | Abfahren einer vorgegebenen Bahn mit einem Roboter |
| KR101962889B1 (ko) * | 2015-07-27 | 2019-03-28 | 한국전자통신연구원 | 작업환경 변화에 적응적인 로봇 동작 데이터 제공장치 및 그 방법 |
| WO2017121457A1 (en) * | 2016-01-11 | 2017-07-20 | Abb Schweiz Ag | A collaboration system and a method for operating the collaboration system |
| WO2017121456A1 (en) * | 2016-01-11 | 2017-07-20 | Abb Schweiz Ag | A robot system and a method for operating the robot system |
| DE102016000850B4 (de) * | 2016-01-27 | 2025-07-10 | Kuka Roboter Gmbh | Steuern eines Roboterverbands |
| US10393534B2 (en) | 2016-05-25 | 2019-08-27 | Here Global B.V. | Determining speed information |
| US10131361B2 (en) * | 2016-05-25 | 2018-11-20 | Here Global B.V. | Determining speed information |
| US10539967B2 (en) | 2016-08-23 | 2020-01-21 | King Fahd University Of Petroleum And Minerals | GPS-free robots |
| US10354526B2 (en) | 2016-12-01 | 2019-07-16 | Here Global B.V. | Determining lane specific speed information |
| JP6484213B2 (ja) * | 2016-12-09 | 2019-03-13 | ファナック株式会社 | 複数のロボットを含むロボットシステム、ロボット制御装置、及びロボット制御方法 |
| EP3366409B1 (en) | 2017-02-23 | 2019-08-07 | Comau S.p.A. | Articulated robot carrying an electric resistance welding head with electrodes located on the same side ; corresponding method of resistance electric welding on a component to be welded |
| US20180272526A1 (en) * | 2017-03-21 | 2018-09-27 | Seiko Epson Corporation | Control device, teaching device, and robot system |
| US11862302B2 (en) | 2017-04-24 | 2024-01-02 | Teladoc Health, Inc. | Automated transcription and documentation of tele-health encounters |
| WO2018201240A1 (en) * | 2017-05-03 | 2018-11-08 | Taiga Robotics Corp. | Systems and methods for remotely controlling a robotic device |
| EP3403772B1 (en) * | 2017-05-18 | 2022-11-16 | KUKA Hungária Kft. | Robot motion planning for avoiding collision with moving obstacles |
| US10483007B2 (en) | 2017-07-25 | 2019-11-19 | Intouch Technologies, Inc. | Modular telehealth cart with thermal imaging and touch screen user interface |
| US11636944B2 (en) | 2017-08-25 | 2023-04-25 | Teladoc Health, Inc. | Connectivity infrastructure for a telehealth platform |
| US12138778B1 (en) | 2017-09-13 | 2024-11-12 | AI Incorporated | Control system for robotic devices |
| JP6662926B2 (ja) * | 2018-01-31 | 2020-03-11 | ファナック株式会社 | ロボットおよびロボットに関する保守時期の報知方法 |
| US10617299B2 (en) | 2018-04-27 | 2020-04-14 | Intouch Technologies, Inc. | Telehealth cart that supports a removable tablet with seamless audio/video switching |
| 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" | |
| US11000950B2 (en) | 2018-06-01 | 2021-05-11 | X Development Llc | Robotic motion planning |
| SG11202010173TA (en) * | 2018-06-22 | 2020-11-27 | Soft Servo Systems Inc | Motion control program, motion control method, and motion control device |
| JP7173765B2 (ja) * | 2018-06-25 | 2022-11-16 | 川崎重工業株式会社 | ロボット制御システム |
| US11110606B2 (en) * | 2019-01-02 | 2021-09-07 | The Boeing Company | Coordinating work within a multi-robot cell |
| US11154986B2 (en) | 2019-01-24 | 2021-10-26 | Intrinsic Innovation Llc | Local replanning of robot movements |
| JP7417356B2 (ja) * | 2019-01-25 | 2024-01-18 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
| JP7309371B2 (ja) | 2019-01-25 | 2023-07-18 | 株式会社ソニー・インタラクティブエンタテインメント | ロボット制御システム |
| JP7190919B2 (ja) | 2019-01-25 | 2022-12-16 | 株式会社ソニー・インタラクティブエンタテインメント | 画像解析システム |
| DE102019102427B4 (de) * | 2019-01-31 | 2022-02-10 | Franka Emika Gmbh | Koordination von Bahnen zweier Robotermanipulatoren |
| JP7205972B2 (ja) * | 2019-05-24 | 2023-01-17 | 川崎重工業株式会社 | 教示システム |
| JP7318406B2 (ja) * | 2019-08-07 | 2023-08-01 | オムロン株式会社 | 制御装置 |
| WO2021040714A1 (en) | 2019-08-29 | 2021-03-04 | Flessas Andrew | Method and system for moving cameras using robotic mounts |
| CN113021330B (zh) * | 2019-12-24 | 2022-04-05 | 沈阳智能机器人创新中心有限公司 | 一种分布式网络下的多机器人同步随动控制方法 |
| US11526823B1 (en) | 2019-12-27 | 2022-12-13 | Intrinsic Innovation Llc | Scheduling resource-constrained actions |
| JP7436659B2 (ja) * | 2020-05-25 | 2024-02-21 | ファナック株式会社 | ロボットシステム |
| WO2022016152A1 (en) | 2020-07-17 | 2022-01-20 | Path Robotics, Inc. | Real time feedback and dynamic adjustment for welding robots |
| JP2023533919A (ja) | 2020-08-19 | 2023-08-07 | 北京術鋭機器人股▲ふん▼有限公司 | ロボットシステムおよび制御方法 |
| CN112247985B (zh) * | 2020-09-21 | 2021-12-14 | 珠海格力电器股份有限公司 | 时钟同步方法、机器人控制系统和机器人 |
| US11425308B2 (en) | 2020-12-02 | 2022-08-23 | Andrew Flessas | Robotically movable display synchronously movable with robotically movable camera for displaying captured images in identical orientation |
| US11518024B2 (en) | 2021-02-10 | 2022-12-06 | Intrinsic Innovation Llc | Extensible underconstrained robotic motion planning |
| MX2023009878A (es) | 2021-02-24 | 2024-01-08 | Path Robotics Inc | Robots soldadores autonomos. |
| US12589485B2 (en) * | 2021-03-02 | 2026-03-31 | Fanuc Corporation | Teaching point generation device that generates teaching points on basis of output of sensor, and teaching point generation method |
| EP4313501A1 (en) * | 2021-03-25 | 2024-02-07 | ABB Schweiz AG | Robotic system trajectory planning |
| US12277369B2 (en) | 2021-10-18 | 2025-04-15 | Path Robotics, Inc. | Generating simulated weld paths for a welding robot |
| CA3239078A1 (en) | 2021-11-19 | 2023-05-25 | Path Robotics, Inc. | Machine learning logic-based adjustment techniques for robots |
| KR102785447B1 (ko) * | 2021-11-24 | 2025-03-25 | 알에스오토메이션주식회사 | 통신 환경용 모션 생성 알고리즘을 구비한 모션 제어 장치 |
| US12115670B2 (en) | 2021-12-15 | 2024-10-15 | Intrinsic Innovation Llc | Equipment specific motion plan generation for robotic skill adaptation |
| US12508665B2 (en) * | 2022-04-19 | 2025-12-30 | Path Robotics, Inc. | Autonomous assembly robots |
| US12521884B2 (en) | 2022-07-26 | 2026-01-13 | Path Robotics, Inc. | Techniques for multipass welding |
| DE202022105610U1 (de) | 2022-10-04 | 2024-01-05 | Kuka Deutschland Gmbh | Robotersteuerungssystem |
| CN117348501B (zh) * | 2023-12-05 | 2024-02-13 | 深圳市大族封测科技股份有限公司 | 一种多运动控制卡的联动控制方法及联动控制系统 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5125298A (en) * | 1983-11-14 | 1992-06-30 | Smith Chalmers O | Automatic wheel assembly mounting system |
| WO1999067067A1 (en) * | 1998-06-23 | 1999-12-29 | Sony Corporation | Robot and information processing system |
| JP3951079B2 (ja) * | 1998-09-14 | 2007-08-01 | 株式会社安川電機 | オフラインティーチング方法、オフラインティーチング装置および記録媒体 |
| US6560511B1 (en) * | 1999-04-30 | 2003-05-06 | Sony Corporation | Electronic pet system, network system, robot, and storage medium |
| DE60035651T2 (de) * | 1999-09-16 | 2008-05-21 | Fanuc Ltd. | Steuerungssystem zum synchronen kooperativen Betreiben einer Mehrzahl von Robotern |
| JP4122652B2 (ja) * | 1999-09-27 | 2008-07-23 | 松下電器産業株式会社 | ロボットの制御装置 |
| US6374155B1 (en) * | 1999-11-24 | 2002-04-16 | Personal Robotics, Inc. | Autonomous multi-platform robot system |
| JP2001252884A (ja) * | 2000-03-06 | 2001-09-18 | Matsushita Electric Ind Co Ltd | ロボット、ロボットシステムおよびロボットの制御方法 |
| JP2001269884A (ja) * | 2000-03-28 | 2001-10-02 | Matsushita Electric Ind Co Ltd | 産業用ロボット |
| DE10032096A1 (de) * | 2000-07-01 | 2002-01-24 | Kuka Roboter Gmbh | Geräteverbund und Steuerschrank für einen solchen |
| US6442451B1 (en) * | 2000-12-28 | 2002-08-27 | Robotic Workspace Technologies, Inc. | Versatile robot control system |
| US6516248B2 (en) * | 2001-06-07 | 2003-02-04 | Fanuc Robotics North America | Robot calibration system and method of determining a position of a robot relative to an electrically-charged calibration object |
| JP3577028B2 (ja) * | 2001-11-07 | 2004-10-13 | 川崎重工業株式会社 | ロボットの協調制御システム |
-
2003
- 2003-04-03 US US10/406,521 patent/US6804580B1/en not_active Expired - Lifetime
-
2004
- 2004-04-01 ES ES04007908T patent/ES2361404T3/es not_active Expired - Lifetime
- 2004-04-01 EP EP04007908A patent/EP1464452B1/en not_active Expired - Lifetime
- 2004-04-01 DE DE602004031476T patent/DE602004031476D1/de not_active Expired - Lifetime
- 2004-04-01 AT AT04007908T patent/ATE499184T1/de not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| EP1464452B1 (en) | 2011-02-23 |
| EP1464452A2 (en) | 2004-10-06 |
| US6804580B1 (en) | 2004-10-12 |
| US20040199290A1 (en) | 2004-10-07 |
| EP1464452A3 (en) | 2008-08-13 |
| DE602004031476D1 (de) | 2011-04-07 |
| ATE499184T1 (de) | 2011-03-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2361404T3 (es) | Método y sistema de control para controlar una pluralidad de robots. | |
| JP5530479B2 (ja) | 少なくとも2本のロボットアームの同期化システムおよびその制御方法 | |
| JP6903687B2 (ja) | 乏しいネットワーク接続下でのマルチエージェント調和 | |
| EP3483684B1 (en) | Control system | |
| US7282882B2 (en) | Robot controller | |
| US7149606B2 (en) | Synchronizing controllers linked by a communications network | |
| US9579794B2 (en) | Articulated robot and method for controlling the same | |
| US20160023355A1 (en) | Robot system control method and robot system | |
| JP5814231B2 (ja) | 共有項ベースの分散型タスクの実行 | |
| JP2018187746A (ja) | ロボット制御装置及びロボット制御プログラム | |
| JP2015134396A (ja) | 産業用ロボットを制御する制御システム、制御装置、溶接物製造方法およびプログラム | |
| CN111742298B (zh) | 用于互连机器人的方法 | |
| EP1704025B1 (en) | Control system, method and computer program for sychronizing several robots. | |
| US20220286267A1 (en) | Control system, information processing device, and non-transitory computer readable medium | |
| JP6859914B2 (ja) | 通信システム、通信装置および通信方法 | |
| JP2018058172A (ja) | ロボットシステム及びその運転方法 | |
| JP7143776B2 (ja) | 制御システム、及び、制御システムの制御方法 | |
| CN116922387B (zh) | 一种摄影机器人的实时控制方法及系统 | |
| JP2005014150A (ja) | ロボットシステム | |
| US20220118628A1 (en) | Technique for Controlling Wireless Command Transmission to a Robotic Device | |
| CN116945176B (zh) | 一种摄影机器人的半自动控制方法及系统 | |
| WO2021033358A1 (ja) | 制御システム、制御装置およびプログラム | |
| JP2006346756A (ja) | ロボットを制御する方法およびシステム | |
| JP2012196759A (ja) | 移動物体の位置管理方法、該方法を適用したロボットコントローラ | |
| JP2018055562A (ja) | 移動作業支援装置、移動作業支援方法、及び移動作業支援プログラム |