ES2306161T3 - Metodo y sistema para la programacion fuera de linea de multiples robots interactuantes. - Google Patents

Metodo y sistema para la programacion fuera de linea de multiples robots interactuantes. Download PDF

Info

Publication number
ES2306161T3
ES2306161T3 ES05751706T ES05751706T ES2306161T3 ES 2306161 T3 ES2306161 T3 ES 2306161T3 ES 05751706 T ES05751706 T ES 05751706T ES 05751706 T ES05751706 T ES 05751706T ES 2306161 T3 ES2306161 T3 ES 2306161T3
Authority
ES
Spain
Prior art keywords
robot
robots
path
computer
program
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.)
Active
Application number
ES05751706T
Other languages
English (en)
Inventor
Jonas Anselmby
Volker Miegel
Jochen Bargfrede
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB AB
Original Assignee
ABB AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ABB AB filed Critical ABB AB
Application granted granted Critical
Publication of ES2306161T3 publication Critical patent/ES2306161T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Selective Calling Equipment (AREA)

Abstract

Un sistema para la programación fuera de línea de múltiples robots interactuantes (100), que comprende: al menos un robot de manipulación que sujeta una pieza (240) y al menos robot de tratamiento que tiene una herramienta para tratar la pieza, un ordenador (110) para la programación fuera de línea y la verificación de los códigos (111) de programa para múltiples robots interactuantes, en el que el ordenador está adaptado para: definir una celda de robots virtual que incluya el robot de manipulación, el robot de tratamiento y la pieza, Incorporar parámetros definidos como restricciones que deben ser tomados en consideración en el control de los múltiples robots, crear al menos un trayecto (302) de robot en relación con las características geométricas de la citada pieza definidas en la celda de robots virtual en base a una trayectoria definida en relación con la citada pieza y con el citado parámetro, generar automáticamente un código de programa en base al trayecto generado, verificar el trayecto de robot en una simulación (305) que ejecuta el código del programa y un controlador (120) de robot para controlar los robots, estando conectado dicho controlador al ordenador para recibir una descarga de código de programa para su ejecución.

Description

Método y sistema para la programación fuera de línea de múltiples robots interactuantes.
Antecedentes
Se expone un sistema para la programación fuera de línea de múltiples robots interactuantes. El código de programación fuera de línea puede ser verificado en una simulación por ordenador y descargado para controlar múltiples robots interactuantes.
Los robots son flexibles, precisos, de coste moderado y están bien adaptados para efectuar secuencias de tareas complejas en un ambiente de fabricación. Pero hay muchas tareas que son demasiado complejas para un único robot. Se pueden utilizar robots extra para aliviar algunos de estos problemas de fabricación.
El documento US-B1-6 330 495 expone un sistema para la programación fuera de línea de una pluralidad de robots y la verificación, por medio de simulación, de que la coordinación de los robots es tal que no entrarán en colisión.
El estado de la técnica en la fabricación no aborda la verificación, por medio de simulación, de que movimientos robóticos simultáneos estén coordinados adecuadamente para, por ejemplo, asegurar que los trayectos de múltiples robots que interactúan unos con los otros no entrarán en colisión cuando ejecutan interacciones complejas, tales como cuando un robot ejecuta un trabajo en una pieza sujeta por otro robot. La programación y la coordinación de varios movimientos robóticos simultánea y eficientemente pueden ser un reto significativo.
Sumario
Se exponen un método y aparato para la programación fuera de línea de múltiples robots interactuantes. Por ejemplo, un sistema para la programación fuera de línea de múltiples robots interactuantes incluye un ordenador para la programación fuera de línea y la verificación de códigos de programa para múltiples robots interactuantes y un controlador de robot conectado al ordenador para recibir una descarga de al menos uno de los códigos de programa para su ejecución, estando controlado por el controlador de robot al menos uno de los múltiples robots interactuantes.
Un método ejemplar para la programación fuera de línea de múltiples robots interactuantes incluye definir una celda de robots virtual en un programa para robot, crear un trayecto relacionado con las características geométricas de una pieza definida en la celda de robots virtual del programa para robot y definir los parámetros. Al menos un trayecto de robot es generado y verificado automáticamente en una simulación. El programa para robot es descargado a un controlador de robot para controlar al menos uno de los múltiples robots interactuantes.
Breve descripción de las figuras de los dibujos
Características y ventajas adicionales serán evidentes a los expertos en la técnica con la lectura de la descripción detallada que sigue de realizaciones preferidas en conjunto con los dibujos que se acompañan, en los que los elementos similares han sido designados por los mismos números de referencia, y en los que:
la figura 1 muestra un sistema ejemplar para la programación fuera de línea de múltiples robots interactuantes;
la figura 2 muestra una configuración ejemplar de celda de robot de múltiples robots interactuantes que pueden situar flexiblemente piezas;
la figura 3 muestra una vista general ejemplar del flujo de trabajo para la programación fuera de línea de múltiples robots interactuantes;
la figura 4 muestra un diagrama de flujo ejemplar de rutinas de nivel alto para la programación fuera de línea de múltiples robots interactuantes; y
la figura 5 muestra un diagrama funcional ejemplar de bloques para la programación fuera de línea de múltiples robots interactuantes.
Descripción detallada
La figura 1 muestra un sistema ejemplar 100 para la programación fuera de línea de múltiples robots interactuantes 131-133. El sistema 100 incluye un ordenador 110 para la programación fuera de línea y la verificación de códigos 111 de programa para múltiples robots interactuantes 131-133 y un controlador 120, tal como un controlador de robot separado fuera de tablero y/o en tablero, conectado al ordenador 110 para recibir una descarga de al menos uno de los códigos de programa para ejecución. El controlador 120 de robot puede controlar múltiples robots interactuantes
131-133 en una celda de producción real en la cual los robots interactúan y funcionan como una unidad de producción.
El ordenador 110 puede ser utilizado para la programación fuera de línea y la verificación de cualquiera o más de los códigos de programa. Los códigos de programa según se verifican se pueden descargar para controlar múltiples robots interactuantes, por ejemplo una pluralidad de robots 131, 132 de tratamiento en combinación con un robot 133 de manipulación configurado diferentemente para tratamientos múltiples. Cada uno de los múltiples robots interactuantes está definido por una configuración de robot y asignado un tipo de tarea, por ejemplo, identificando el robot respectivo como un robot de tratamiento o como un robot de manipulación. Por ejemplo, un usuario puede interactuar con el ordenador 110 para definir una celda virtual 130 de robot en un programa 111 para robot. El usuario puede interactuar con el ordenador 110 para definir parámetros, generar automáticamente al menos un trayecto de robot en relación con una pieza, y verificar el al menos un trayecto de robot en una simulación por ordenador que ejecuta el programa para robot. Como se ilustra en los bloques 101 y 102, las actividades de programación puede ser ejecutadas fuera de línea, en su totalidad o en parte, y verificadas en un ambiente de simulación por ordenador.
En el bloque 103, uno o más del código (códigos) ejecutable del programa para robot pueden ser descargados desde el ordenador 110 a un controlador 120 de robot para controlar múltiples robots interactuantes 131-133. Uno o más de los múltiples robots interactuantes 131-133 pueden ser controlados por al menos un controlador 121, 122 que ejecuta el código (códigos) de programa 111 para procesar al menos una parte 140 por los múltiples robots interactuantes 131-133. Por ejemplo, un controlador 121 de robot puede estar configurado para controlar simultáneamente hasta cuatro o más robots múltiples interactuantes. Alternativamente, los controladores 121, 122 de robot individuales en un bastidor 120 de control de robot pueden controlar, cada uno de ellos, un robot respectivo.
El programa para robot puede controlar una variedad de tipos de robot, por ejemplo, robots de tratamiento o de manipulación, en una variedad de modos de movimiento, incluyendo movimiento independiente, movimiento coordinado sincronizado, y movimiento coordinado. Los múltiples robots interactuantes 231-233 pueden ser una variedad de tipos de robot y de configuraciones. Por ejemplo, un robot de tratamiento es típicamente un robot de ejes múltiples (por ejemplo, 6 ejes) que puede realizar movimientos de traslación y/o de rotación. Un robot de tratamiento puede contener una variedad de herramientas para procesar, y un robot de manipulación manipula una pieza que va a ser procesada. El proceso robótico puede estar dirigido a una pieza para ejecutar, por ejemplo, soldadura, soldadura por arco, pegado, pintado, corte, etc. en relación con la pieza.
La figura 2 muestra una configuración ejemplar de celda de robot de múltiples robots interactuantes que pueden situar flexiblemente las piezas. Una pluralidad de robots proceso 231, 232 son mostrados en combinación con un robot 133 de manipulación movible de manera similar para el posicionado flexible de la pieza 240 mientras los robots de tratamiento 231-232 manipulan individualmente una herramienta 250, 260 para el proceso de la pieza, por ejemplo, soldadura, soldadura por arco, pegado, pintado, corte, perforación y/o taladrado. La programación fuera de línea puede crear un trayecto 251 de una herramienta 250 en relación con las características geométricas de una pieza 240 definida en una celda virtual 230 de robot del programa para robot. El espacio virtual del robot es un área en la cual los múltiples robots interactúan unos con los otros utilizando los códigos del programa para robot. La programación fuera de línea utilizada para producir los códigos de programa para robot puede definir atributos a una herramienta 250, 260, por ejemplo, velocidad de la herramienta y una orientación de la herramienta en relación con una pieza, y puede facilitar la optimización del usuario del código (códigos) de programa.
La figura 3 muestra una vista general ejemplar del flujo de trabajo para la programación fuera de línea de múltiples robots interactuantes. Como está ejemplarizado por la vista general 300 del flujo de trabajo, el método para la programación fuera de línea de múltiples robots interactuantes para generar un programa descargable para robot, puede incluir una definición de usuario de una celda virtual de robot en un programa para robot como se muestra en el bloque 301.
La definición del usuario de una celda virtual de robot en el bloque 301 puede incluir importar robots a una celda virtual de robot en un ambiente de simulación, e importar datos de diseño que capturan las características geométricas de una pieza. Una celda virtual de robot incluye el espacio virtual de robot en el cual es modelada como una unidad de producción, múltiples robots interactuantes. Por ejemplo, las dimensiones del área de producción real en la cual operan los robots pueden ser definidas en el programa para robot en relación con los robots virtuales importados a, o modelados en, una celda de robots virtual. Objetos adicionales (objetos virtuales) pueden ser modelados en la celda de robots virtual, por ejemplo, transportadores, pistas y piezas que van a ser procesadas.
Un robot virtual puede ser definido en base a, por ejemplo, sus características geométricas y la lógica del movimiento. Por ejemplo, empezando con una base de un robot, un bastidor de base puede ser definido en base a, por ejemplo, las coordenadas de la posición y la orientación de la base en una celda de robots virtual. Un robot de ejes múltiples puede tener uno o más brazos articulados, por ejemplo tres o más brazos articulados, teniendo cada uno de ellos una longitud de brazo. Una junta robótica puede ser activa (movible) o estar desactivada (bloqueada) y puede ser un tipo específico de junta, tal como de rotación o de translación. El extremo de desplazamiento de un robot de ejes múltiples puede ser referenciado con respecto a un punto central de la herramienta.
Los datos de diseño que representan características geométricas capturadas de una pieza pueden ser importados a un ambiente de programación fuera de línea. Cuando se importan datos de diseño que capturan las características geométricas de una pieza, un usuario puede utilizar, por ejemplo, técnicas conocidas de diseño asistido por ordenador (CAD) para crear e importar una geometría modelada por separado de una pieza real a un ambiente de programación fuera de línea para definir las características geométricas con relación a un robot en una celda de robots virtual. Por ejemplo, habiendo importado las características geométricas en relación con un robot en una celda de robots virtual, se puede crear un trayecto a lo largo de la geometría de una pieza modelada para el procesamiento.
Para hacer la simulación fuera línea lo más realista posible, se pueden modelar juntos tantos objetos virtuales como se requiera en una celda de robots virtual. De esta manera, un usuario puede evaluar posiciones diferentes de los objetos virtuales y detectar posibles colisiones y otras anomalías modeladas entre objetos que se mueven. El usuario también puede evaluar si un robot, tal como está modelado, puede alcanzar todos los objetivos (posiciones de la pieza) necesarios para la tarea de procesar la pieza.
En el bloque 302, un trayecto puede ser creado en relación con las características geométricas de una pieza definida en la celda de robots virtual. En el bloque 302, la creación de un trayecto en relación con una pieza puede incluir la creación de al menos un trayecto a lo largo de una característica geométrica de la pieza definida en la celda de robots virtual, y definir un tratamiento que va a ser ejecutado sobre la pieza a lo largo del trayecto. Por ejemplo, con la ayuda de una presentación de gráficos visuales de una orientación de una pieza, un usuario puede crear visualmente una trayectoria destinada a trasladarla a lo largo de un trayecto de robot, a través de o en relación con, una característica de superficie geométrica modelada de un objeto (pieza) que va a ser procesado. Los medios reales de entrada del usuario pueden ser una amplia gama de métodos existentes, incluyendo el uso de una entrada de datos por teclado, posicionamiento de cursor utilizando un ratón o dispositivo periférico similar, una manipulación de pluma en la misma pantalla, o cualquier combinación de tales dispositivos de interfaz y técnicas de usuario. El tratamiento de una pieza puede incluir, pero no está limitado a, soldadura, soldadura por arco, pegado, pintado, corte, perforación y/o
taladrado.
En el bloque 303, un usuario puede definir parámetros. La definición del usuario de los parámetros en el bloque 303 puede incluir, por ejemplo, definir un tipo de tarea del robot, identificar al menos uno de entre un robot de tratamiento y un robot de manipulación. Si una herramienta está asociada con un robot, el usuario puede definir los parámetros de operación, por ejemplo, la velocidad de herramienta a lo largo del trayecto y una orientación de la herramienta en relación con la pieza. La configuración del robot puede ser definida dependiendo de que el robot esté modelado para el control. Los parámetros pueden ser optimizados para el tratamiento que está siendo modelado. Por ejemplo, los parámetros definidos por usuario pueden ser optimizados con respecto al menos a uno de entre el tiempo de ciclo, tiempo de vida y consumo de energía.
En el bloque 304, al menos un trayecto de robot es automáticamente generado fuera de línea en el ambiente de simulación por ordenador. La generación automática utilizando cinemática inversa en el bloque 304 puede incluir generar automáticamente al menos un trayecto para al menos un robot importado en base a los parámetros definidos, y el ordenador genera automáticamente un programa para robot para los robots importados en la celda de robots virtual. En el bloque 305, el al menos un trayecto de robot puede ser verificado en la simulación. En el bloque 306, el programa para robot (por ejemplo, al menos un código de controlador de robot) puede ser descargado, por ejemplo, a un controlador de robot para controlar múltiples robots interactuantes en un ambiente de producción real.
Después de que los parámetros hayan sido definidos para el trayecto, un método ejemplar puede generar automáticamente el trayecto del robot en el bloque 304, utilizando, por ejemplo, soluciones matemáticas utilizadas para solucionar los problemas de cinemática inversa. Por ejemplo, soluciones matemáticas adecuadas son descritas en el documento "Effizienter Industrieller Einsatz bahnsynchron kooperierender Roboter" (traducido, Una Aplicación industrial Más Eficiente para Robots Cooperantes Síncronos en trayectos), por Herlbert Münch et al., de fecha 13 de agosto de 2001 (10 páginas) que se incorpora a la presente memoria descriptiva por referencia en su totalidad.
La cinemática inversa, tal como se define en el artículo de Münch et al., se refiere en general al tratamiento para controlar el movimiento en base a las posiciones calculadas en el espacio de un punto en una estructura articulada, tal como un robot o robots, dadas la posición y los ángulos de todas las juntas en el robot o robots. La cinemática inversa se aplica a la planificación de movimientos para la cinemática cooperante que incluye una transformación entre las tareas y las coordenadas del robot, síntesis de movimientos para la cinemática redundante arbitrariamente, y síntesis de movimientos para la cinemática cooperante continuamente mientras se utiliza la redundancia del sistema para la optimización de los movimientos.
Para solucionar un problema de cinemática inversa, una ecuación condicional es linealizada:
(1)\underline{x} = \underline{f} (\underline{q})
x\varepsilonR^{m} representa coordenadas de la tarea y \underline{q} \varepsilonR^{n} representa las coordenadas del robot. El problema de sustitución lineal resultante:
(2)\Delta\underline{x} = \underline{J} . \Delta\underline{q}
se puede solucionar describiendo la cinemática de acuerdo con la convención de Denavit-Hartenberg. Denavit y Hartenberg utilizaron la teoría del tornillo para mostrar que la representación más compacta de una transformación general entre dos juntas de robot requiere cuatro parámetros. Las soluciones locales son determinadas para los sistemas no redundantes (m = n) de acuerdo con el método de eliminación de Gauss. La solución global necesaria del problema de cinemática inversa puede ser generada utilizando un método de Newton-Raphson modificado.
Aplicando la cinemática inversa a la programación fuera de línea actualmente expuesta de múltiples robots interactuantes, la solución cinemática puede ser calculada en una dirección hacia delante. Un cálculo cinemático hacia delante es una secuencia de cálculos, puesto que se refiere a un movimiento robótico. Por ejemplo, un cálculo cinemático hacia delante puede iniciarse desde un bastidor de base que está referenciado a la base de un robot, a través de los brazos robóticos de ejes múltiples articulados, y derivar la síntesis del movimiento final para la tarea de tratamiento. La síntesis del movimiento puede estar basada en un bastidor de referencia del centro de la herramienta. Una solución cinemática hacia delante de este tipo para el código del programa del robot incorpora uno o más de los siguientes parámetros:
un número de robots;
un número de juntas activas en un robot de ejes múltiples, incluyendo un valor de penalización asignado por cada junta activa identificada;
un tipo de junta (de translación o de rotación);
valores de coordenadas para un bastidor de referencia de base de robot y un bastidor de referencia de centro de herramienta;
tipo cinemático o una regla cinemática;
identificación de juntas bloqueadas o desactivadas para los cálculos cinemáticos hacia delante rápidos; y
una elección de movimientos de ejes escalonados alternativos.
El movimiento de la herramienta puede ser, por ejemplo, un movimiento de traslación, de rotación o una combinación de los mismos. Cada una de las juntas del brazo robótico puede estar designada como activada (móvil) o desactivada (bloqueada), para conseguir una solución cinemática hacia delante rápida. En el caso de evaluar una elección de movimiento, varios movimientos de ejes alternativos pueden ser investigados por el usuario, por ejemplo, movimientos de ejes por ejes diferentes, para evaluar y elegir el movimiento escalonado (delta).
Factores de penalización únicos pueden ser aplicados a una solución cinemática hacia delante para mejorar la consecución de la síntesis de movimiento deseada. Por ejemplo, al movimiento de eje de un eje activo con un valor de penalización asignado se le puede dar un peso mayor para controlar el movimiento, en comparación con el movimiento del eje con otro valor de penalización asignado. Estos valores de penalización asignados ayudan como factor en la operación real y/o a los factores ambientales que afectan a los movimientos robóticos. Por ejemplo, el efecto de la gravedad y el momento de inercia de las articulaciones de brazos robóticos pueden desviar de diferente manera el trayecto transversal de un brazo en una dirección dada. Una solución es simplemente desactivar o bloquear un cierto número de ejes o brazos en una orientación para incrementar la estabilidad deseada y la velocidad de la solución. Sin embargo, en otro ejemplo, un uso mayor de un brazo movible (activo) más próximo a la herramienta de tratamiento, o a la pieza que está siendo trabajada, para conseguir una síntesis de movimiento refinado, puede demostrar una precisión y estabilidad incrementadas en la síntesis de movimiento, en comparación con tratar de conseguir el mismo movimiento utilizando solamente la activación/desactivación de articulaciones elegidas en un robot de ejes múltiples. Como consecuencia, la utilización de valores de penalización con cálculos de ejes activos, por ejemplo, según los movimientos de ejes individuales (activos), se puede utilizar para mejorar la eficiencia y la calidad del rendimiento del tratamiento.
El programa para robot abarca varios modos de movimiento de múltiples robots interactuantes, incluyendo movimiento independiente, movimiento coordinado sincronizado y movimiento coordinado. Los trayectos de robot pueden ser verificados 305 en una simulación del programa para robot utilizando un ordenador. Por medio de la simulación por ordenador, puede ser verificado el comportamiento esperado de los múltiples robots interactuantes. El programa para robot puede ser utilizado para controlar los robots en una celda para efectuar un tratamiento, por ejemplo, una operación de soldadura por arco, el programa para robot puede definir las tareas que deben ejecutar cada uno de los robots, y definir la relación entre los robots controlables independientemente.
El programa para robot puede ser reprogramado y reevaluado para descargarlo y ejecutar las interacciones de robots programadas. En el caso de que el comportamiento simulado por ordenador de los múltiples robots interactivos no cumpla las expectativas del usuario, por ejemplo, los parámetros del sistema pueden ser redefinidos en lo necesario para cambiar el comportamiento simulado y volver a simularlo para conseguir el comportamiento esperado deseado de los múltiples robots interactivos antes de la descarga 306, por ejemplo, desde un ordenador a un controlador de robot. El código (códigos) ejecutable del programa para robot pueden ser ejecutados en el controlador de robot para controlar múltiples robots interactuantes en una celda de producción real.
Como se ilustra en la figura 4, un código (o códigos) de programa legible por ordenador puede poner en la práctica funciones ejecutables para la programación fuera de línea interactiva y la simulación, por ejemplo definiendo una configuración de celda de robots virtual en un código (códigos) de programa para robot, definir una trayectoria de un trayecto de robot en relación con la configuración de la celda de robots virtual del código (códigos) de programa, para definir parámetros de sistema, generar automáticamente al menos un trayecto de robot, simular el al menos un trayecto de robot para verificar el código (códigos) de programa para robot. El código (códigos) de programa para robot puede ser reprogramado y reevaluado, en caso necesario. Al menos un código de controlador de robot es generado para un controlador de robot.
Un medio legible por ordenador que tiene un código de programa legible por ordenador almacenado en el mismo se describe para la programación fuera de línea de múltiples robots interactuantes. El código de programa legible por ordenador pone en la practica: una rutina para definir una celda de robots virtual como un espacio en el cual múltiples robots interactúan entre si utilizando un código de programa para robot; una rutina para definir una trayectoria de un trayecto de robot en relación con la celda de robots virtual; una rutina para definir los parámetros del sistema; y una rutina para generar automáticamente al menos un trayecto de robot. Una rutina simula el al menos un trayecto de robot para verificar el código de programa para robot.
Una rutina en el código (códigos) de programa legible por ordenador para definir una celda 401 de robots virtual puede incluir una rutina para importar robots a una celda de robots virtual en un ambiente de simulación y una rutina para importar datos CAD que capturan las características geométricas de una pieza en relación con los robots en el ambiente de simulación. Otros objetos modelados, por ejemplo, transportadores y vías, pueden ser importados a la celda de robots virtual.
Una rutina en el código (códigos) de programa legible por ordenador para definir una trayectoria de un trayecto 402 de robot en relación con la configuración de celda del robots virtual del código (códigos) del programa para robot puede incluir una rutina para crear el al menos un trayecto a lo largo de una característica geométrica de una pieza definida en una celda de robots virtual y una rutina para definir un tratamiento que va a ser ejecutado sobre la pieza a lo largo del trayecto. El tratamiento que va a ser ejecutado puede incluir, pero sin estar limitado, al menos uno de entre soldadura, soldadura por arco, pegado, pintado, corte, perforado y taladrado.
Una rutina en el código (códigos) de programa legible por ordenador para definir parámetros 403 del sistema puede incluir, pero sin estar limitado a, una rutina para definir una tipo de tarea del robot, identificar al menos uno de entre un robot de tratamiento y un robot de manipulación; una rutina para definir una velocidad de herramienta a lo largo del trayecto; una rutina para definir una orientación de la herramienta en relación con la pieza; una rutina para definir una configuración de robot; y una rutina para establecer una optimización del tratamiento.
Una rutina en el código (códigos) de programa legible por ordenador para la generación automática de al menos un trayecto de robot 404 puede incluir, pero sin limitarse a, una rutina para generar automáticamente los trayectos, al menos un trayecto para al menos un robot importado en base a los parámetros del sistema definidos y una rutina para generar un programa para robot para los robots importados en la celda del robots virtual. Un cálculo de cinemática inversa puede ser aplicado para generar al menos un trayecto de robot. En una realización, se pone en la práctica un cálculo cinemático hacia delante como se ha indicado previamente.
Una rutina en el código (códigos) de programa legible por ordenador para simular 405 el al menos un trayecto de robot puede incluir, pero sin estar limitado a, una rutina para una simulación por ordenador de un comportamiento de los múltiples robots interactivos y una rutina para la redefinición por el usuario de los parámetros del sistema para cambiar el comportamiento simulado por ordenador. Hacer funcionar la simulación 405 facilita la evaluación visual de los resultados, la verificación del código (códigos) de programa para robot en un ambiente de simulación por ordenador y la redefinición de los parámetros del sistema para la reprogramación. Dependiendo de los resultados de la evaluación, en el bloque 406, un usuario puede redefinir los parámetros del sistema para reiterar el proceso de programación fuera de línea y producir resultados de evaluación modificados antes de la generación del código (códigos) del controlador del robot en el bloque 407.
El código (códigos) de programa legible por ordenador puede incorporar características de control avanzadas, incluyendo, pero sin limitación:
-
modelización dinámica de control robótico de ejes múltiples, incorporando características de control avanzadas, por ejemplo, ajustes del valor de penalización para los parámetros físicos de funcionamiento real, servocontrol avanzado, mantenimiento del trayecto preciso, trayecto independiente de velocidad, trayecto estabilizado electrónicamente, control de aceleración de auto-optimización y protección contra las sobrecargas.
-
optimización simultanea del mantenimiento y ciclo del trayecto;
-
programación y verificación precisas fuera de línea; y
-
otras características de optimización automatizadas para mejorar la eficiencia robótica interactuante general, por ejemplo, tiempo de ciclo, tiempo de vida y consumo de energía.
Otras características de control avanzado incorporadas en el código (códigos) de programa legible por ordenador incluyen, pero no están limitados a, movimiento independiente, movimiento coordinado sincronizado y movimiento coordinado.
La figura 5 muestra un diagrama de bloques funcional ejemplar de un sistema de software de ordenador ejecutado en la práctica para la programación fuera de línea de múltiples robots interactuantes. El software 510 de control de robots interactuantes múltiples se muestra como un software de conexión con una interfaz 511 a una programación de ordenador y un software 520 de simulación con propósitos ilustrativos. Conjuntamente, la programación fuera de línea de múltiples robots interactuantes 500 permite una herramienta integrada basada en ordenador para la planificación fuera de línea, programación y simulación de múltiples robots interactuantes. El software 510 de control de robots interactuantes múltiples y el software 520 de programación y simulación por ordenador hacen que el control de múltiples robots interactuantes sea fácil de planificar, fácil de programar y fácil de usar. Beneficios ejemplares del sistema de software de ordenador incluyen una programación simplificada del control de los múltiples robots interactuantes y la integración de restricciones técnicas de producción en la programación.
La programación fuera de línea de múltiples robots interactuantes 500 se puede utilizar para definir una celda de robots virtual. Como se ha expuesto previamente, un trayecto es creado a lo largo de la geometría de una pieza. Este trayecto puede estar asociado, por ejemplo, con la geometría de la pieza de trabajo que va a ser soldada por arco. Los parámetros del sistema pueden entonces ser definidos como restricciones que deben ser consideradas en el control de los robots en la celda. Las restricciones predeterminadas pueden incluir, entre otros, la orientación de la herramienta, el tiempo de ciclo y la orientación del robot. La optimización puede estar basada en criterios de calidad tales como: utilización de la velocidad máxima reduciendo la carga en los ejes limitantes, minimizar los tiempos de ciclo, reducir las tensiones mecánicas en el sistema completo o en los ejes individuales. Después de que las restricciones hayan sido definidas, la programación fuera de línea de múltiples robots interactuantes 500 genera automáticamente los trayectos del robot.
Usando la figura 2 con propósitos de ilustración, un programa ejemplar para múltiples robots interactuantes puede incluir una celda de soldadura por arco de dos robots. En una tarea de este tipo, el tratamiento de generar automáticamente los trayectos del robot define qué tareas tienen que realizar cada uno de los dos robots 231, 233 y define la relación entre los dos robots controlables independientemente. Uno de los robots 233 puede sujetar un objeto 240 en una orientación deseada, mientras que el segundo robot 231 ejecuta la soldadura por arco a lo largo del trayecto especificado.
Volviendo a la figura 5, el módulo matemático y algorítmico 512 puede incorporar parámetros del sistema definidos como restricciones que se deben tomar en consideración en el control de los múltiples robots incluidos en una celda para operar sobre la pieza. Por ejemplo, las restricciones predeterminadas pueden incluir la orientación de la herramienta, la velocidad de operación, la orientación del robot, o cualquier otra restricción deseada. Una solución cinemática hacia delante del código del programa del robot incorpora uno o más de los siguientes parámetros:
un número de robots;
un número de juntas activas en un robot de ejes múltiples, incluyendo un valor de penalización asignado por junta activa identificada;
un tipo de junta (de translación o de rotación);
valores de coordenadas del bastidor de referencia de base del robot y de un bastidor de referencia del centro de la herramienta;
tipo cinemático o una regla cinemática;
identificación de juntas bloqueadas o desactivadas para los cálculos cinemáticos hacia delante; y
una elección de movimientos de ejes escalonados alternativos.
Otros sucesos que afectan a los múltiples robots interactuantes pueden ser tomados en consideración, incluyendo:
-
cambiar, borrar o insertar un robot desde la celda de robots;
-
cerrar o cargar una celda de robots; y
-
cambiar el trayecto.
Los trayectos programados resultantes pueden ser leídos, creados, modificados con la ayuda de una interfaz gráfica 513 de usuario. El trayecto programado puede ser especificado adicionalmente con, por ejemplo, la velocidad, tipo de movimiento y tipo de carga deseados. Los parámetros se guardan.
Estando definidas las restricciones para el trayecto, el módulo matemático y algorítmico 512 puede generar automáticamente el trayecto del robot utilizando, por ejemplo, soluciones matemáticas que son conocidas para su uso en la solución de los problemas de cinemática inversa, tales como los descritos en "Effizienter Industrieller Einsatz bahnsynchron kooperierender Roboter", por Heribert Münch et al., con fecha 13 de agosto de 2001 (10 páginas) que se incorporan a la presente memoria descriptiva como referencia en su totalidad.
Después de generar automáticamente el trayecto del robot, los trayectos de los robots pueden ser verificados en una simulación. Los programas de robot producidos sobre la base de la simulación pueden ser descargados y, por ejemplo, almacenados en un controlador de robot utilizado para controlar los robots incluidos en la celda.
Aunque la realización ejemplar anterior ejecuta en la práctica el software 510 de control de múltiples robots interactivos como un software de conexión a una programación de ordenador y un software 520 de simulación, las delineaciones funcionales descritas y el método de ejecución en la práctica pretenden ser ejemplares, pero no limitativos. Todas las ejecuciones prácticas equivalentes, incluyendo realizaciones de software, firmware y hardware de algunos o todas las funciones similares se encuentran dentro del alcance de la presente invención.
Los códigos de programa legible por ordenador anteriores, incluyendo los códigos de controlador de robot, pueden ser incorporados en cualquier medio legible por ordenador para utilizar por o en conexión con un sistema, aparato, o dispositivo de ejecución de instrucciones, tal como un sistema basado en ordenador, un sistema que contiene un procesador, u otro sistema que pueda buscar las instrucciones del sistema aparato o dispositivo de ejecución de instrucciones, y ejecutar las instrucciones.
Como se usa en la presente memoria descriptiva, un "medio legible por ordenador" puede ser cualquier medio que pueda contener, almacenar, comunicar, propagar, o transportar el programa para el uso por o en conexión con el sistema, aparato o dispositivo de ejecución de instrucciones. El medio legible por ordenador puede ser, por ejemplo, pero sin estar limitado, un sistema, aparato, dispositivo o medio de programación electrónico, magnético, óptico, electromagnético, de infrarrojos o de semiconductor. Más ejemplos específicos (no siendo completa esta lista) del medio legible por ordenador pueden incluir lo siguiente: una conexión eléctrica que tenga uno o más cables, un disquete de ordenador portátil, una memoria de acceso aleatorio (RAM), una memoria de sólo lectura (ROM), una memoria de sólo lectura programable borrable (EPROM o memoria FLASH), una fibra óptica, una memoria de solo lectura en disco compacto portátil (CD-ROM), un almacenamiento masivo, una memoria de servidor, un dispositivo de almacenamiento independiente, un disco duro, una agrupación de discos, y un dispositivo de almacenamiento virtual.
Aquellos de conocimiento ordinario en la técnica podrán apreciar que los conceptos y técnicas descritos en la presente memoria descriptiva pueden ser realizados en varias formas específicas sin separarse de las características esenciales de la misma. Las realizaciones actualmente descritas son consideradas en todos los aspectos como ilustrativas y no restrictivas. El alcance de la invención está indicado por las reivindicaciones adjuntas, y no por la descripción anterior, y todos los cambios que se encuentren en el sentido y en el margen de equivalencia de la misma pretenden ser incluidos.

Claims (32)

1. Un sistema para la programación fuera de línea de múltiples robots interactuantes (100), que comprende:
al menos un robot de manipulación que sujeta una pieza (240) y al menos robot de tratamiento que tiene una herramienta para tratar la pieza,
un ordenador (110) para la programación fuera de línea y la verificación de los códigos (111) de programa para múltiples robots interactuantes,
en el que el ordenador está adaptado para:
definir una celda de robots virtual que incluya el robot de manipulación, el robot de tratamiento y la pieza,
Incorporar parámetros definidos como restricciones que deben ser tomados en consideración en el control de los múltiples robots,
crear al menos un trayecto (302) de robot en relación con las características geométricas de la citada pieza definidas en la celda de robots virtual en base a una trayectoria definida en relación con la citada pieza y con el citado parámetro,
generar automáticamente un código de programa en base al trayecto generado, verificar el trayecto de robot en una simulación (305) que ejecuta el código del programa y
un controlador (120) de robot para controlar los robots, estando conectado dicho controlador al ordenador para recibir una descarga de código de programa para su ejecución.
2. El sistema de acuerdo con la reivindicación 1, que se caracteriza porque las citadas restricciones incluyen al menos una de entre la orientación de la herramienta, el tiempo de ciclo y la orientación del robot.
3. El sistema de acuerdo con la reivindicación 1, que se caracteriza porque el tratamiento incluye, al menos uno de entre soldadura, soldadura por arco, pegado, pintado, corte, taladrado y perforado.
4. El sistema de acuerdo con la reivindicación 1, que se caracteriza porque un controlador (120) de robots puede controlar hasta cuatro robots múltiples interactuantes (131-133)
5. El sistema de acuerdo con la reivindicación 1, que se caracteriza porque los robots múltiples interactuantes (131-133) operan en un modo de movimiento que incluye al menos uno de entre el movimiento independiente, movimiento coordinado sincronizado y movimiento coordinado.
6. El sistema de acuerdo con la reivindicación 1, que se caracteriza porque.
cada uno de los robots múltiples interactuantes (231-233) está definido en una configuración de robots y se le asigna un tipo de tarea,
se identifica un robot como un robot de tratamiento (231-232) o un robot de manipulación (233);
al menos de los robots múltiples interactuantes opera una herramienta (250, 260) que tiene al menos una de entre una velocidad de herramienta y una orientación de herramienta en relación con una pieza; y
la programación fuera de línea facilita la optimización por el usuario de los códigos de programa.
7. El sistema de acuerdo con la reivindicación 1, que se caracteriza porque una pluralidad de robots interactuantes son robots de tratamiento (231, 232) para el tratamiento múltiple.
8. El sistema de acuerdo con la reivindicación 1, que se caracteriza porque al menos uno de los robots múltiples interactuantes es un robot de manipulación (233) para el posicionamiento flexible de piezas.
9. Un procedimiento para la programación fuera de línea de robots múltiples interactuantes, incluyendo al menos un robot de manipulación que sujeta una pieza (240) y al menos un robot de tratamiento que tiene una herramienta para tratar la pieza, para generar un programa para robot descargable, que comprende:
definir una celda (301) de robots virtual en un programa (300) de robot, incluyendo la celda de robots virtual el robot de manipulación, el robot de tratamiento y la pieza;
\newpage
definir al menos un parámetro (303) como una restricción que debe ser tomada en consideración en el control de los múltiples robots;
crear al menos un trayecto (304) de robot en relación con las características geométricas de la citada pieza definidas en la celda de robots virtual en base a la trayectoria (251) definida en relación con la citada pieza, y con el citado parámetro;
generar automáticamente un código de programa en base al trayecto generado,
verificar el trayecto del robot en una simulación (306) que ejecuta el código de programa, y
descargar el código (306) a un controlador (120) de robot para controlar los robots.
10. El método de acuerdo con la reivindicación 9, en el que la citada restricción incluye al menos uno de entre la orientación de la herramienta, el tiempo de ciclo y la orientación del robot.
11. El método de acuerdo con la reivindicación 10, comprendiendo la definición de una celda de robots virtual:
importar robots (231-233) a una celda (230) de robots virtual en un ambiente de simulación, e
importar datos de CAD que capturan las características geométricas de una pieza (240) en relación con los robots en el ambiente de simulación.
12. El método de acuerdo con la reivindicación 10, comprendiendo la creación de un trayecto en relación con una pieza:
definir al menos una trayectoria (251) a lo largo de una característica geométrica de la pieza (240) definida en la celda (230) de robots virtual; y
definir un tratamiento para ser ejecutado en la pieza a lo largo de la trayectoria.
13. El método de acuerdo con la reivindicación 11, que se caracteriza porque el tratamiento que va a ser efectuado incluye al menos uno de entre soldadura, soldadura por arco, pegado, pintado, corte, taladrado y perforado.
14. El método de acuerdo con la reivindicación 11, comprendiendo la definición de parámetros:
definir un tipo de tarea del robot, identificar un robot como un robot de tratamiento (231, 232) o como un robot de manipulación (233);
definir una velocidad de herramienta a lo largo del trayecto;
definir una orientación de herramienta en relación con la pieza;
definir una configuración de robot y;
establecer una optimización del tratamiento.
15. El método de acuerdo con la reivindicación 14, que se caracteriza porque el establecimiento de la optimización del tratamiento incluye la optimización con respecto al menos a uno de entre el tiempo de ciclo, tiempo de vida y consumo de energía, y que se caracteriza porque los factores de penalización y/o las juntas activada/desactivada pueden ser definidos como parámetros.
16. El método de acuerdo con la reivindicación 9, que se caracteriza porque el programa para robot define un modo de movimiento de los múltiples robots interactuantes (231-233), que incluye al menos uno de entre movimiento independiente, movimiento coordinado sincronizado, y movimiento coordinado.
17. El método de acuerdo con la reivindicación 9, que se caracteriza porque el programa (111) del robot puede ser reprogramado (407) y evaluado para la descarga.
18. El método de acuerdo con la reivindicación 11, comprendiendo la generación automática de al menos un trayecto (304) de robot:
generar automáticamente los trayectos, al menos un trayecto para al menos un robot importado sobre la base de los parámetros definidos; y
generar un programa para robot para los robots importados en la celda de robots virtual;
\newpage
19. El método de acuerdo con la reivindicación 9, comprendiendo la verificación de al menos un trayecto de robot en una simulación (305):
ejecutar el programa para robot utilizando un ordenador;
verificar el comportamiento simulado de los múltiples robots interactivos; y
redefinir los parámetros en caso necesario para cambiar el comportamiento simulado.
20. El método de acuerdo con la reivindicación 9, comprendiendo la descarga del programa (306) del robot:
descargar el programa para robot de un ordenador (110) a un controlador (120) de robots; y
ejecutar el programa para robot en el controlador (120) de robots para controlar múltiples robots interactuantes en una celda de producción real.
21. Un medio legible por ordenador que tiene un código de programa legible por ordenador almacenado en el mismo para la programación fuera de línea de múltiples robots interactuantes, incluyendo al menos un robot de manipulación que sujeta una pieza (240) y al menos un robot de tratamiento que tiene una herramienta para tratar la pieza, comprendiendo las funciones ejecutables que se realizan en la práctica en el código de programa legible por ordenador:
una rutina para definir una celda (401) de robots virtual como un espacio en el cual múltiples robots interactúan unos con otros utilizando
un código de programa para robot;
una rutina para definir una trayectoria (402) de un trayecto de robot en relación con la celda de robots virtual;
una rutina para definir parámetros (403) como restricciones que deben ser tomadas en consideración en el control de múltiples robots;
una rutina para generar automáticamente al menos un trayecto (404) de robot sobre la base de la citada trayectoria y de los citados parámetros; y
una rutina para simular el al menos un trayecto de robot (405) para verificar el código de programa para robot.
22. El medio legible por ordenador de acuerdo con la reivindicación 21, en el que la citada restricción incluye al menos una de entre la orientación de la herramienta, el tiempo de ciclo y la orientación del robot.
23. El medio legible por ordenador de acuerdo con la reivindicación 21, comprendiendo la rutina para definir una trayectoria (402) como un trayecto de robot en relación con la configuración de la celda de robots virtual del código de programa para robot:
una rutina para crear al menos un trayecto a lo largo de una característica geométrica de una pieza definida en una celda de robots virtual y
una rutina para definir un tratamiento que va a ser ejecutado sobre la pieza a lo largo del trayecto.
24. El medio legible por ordenador de acuerdo con la reivindicación 21, que se caracteriza porque el tratamiento que va a ser efectuado incluye al menos uno de entre las operaciones de soldadura, soldadura por arco, pegado, pintado, corte, taladrado y perforado.
25. El medio legible por ordenador de acuerdo con la reivindicación 21, , que se caracteriza porque una solución cinemática hacia delante para el código de programa para robot incorpora uno o más de los siguientes parámetros:
un número de robots;
un número de juntas activas en un robot de ejes múltiples, incluyendo un valor de penalización asignado por cada junta activa identificada;
un tipo de junta (de traslación o de rotación);
valores de coordenadas para el bastidor de referencia de la base del robot y para un bastidor de referencia del centro de la herramienta;
tipo cinemático o regla cinemática;
identificación de juntas bloqueadas o desactivadas para los cálculos cinemáticos hacia delante; y
una elección de movimientos de ejes escalonados alternativos.
26. El medio legible por ordenador de acuerdo con la reivindicación 21, que se caracteriza porque los parámetros están optimizados con respecto al menos a uno de entre el tiempo de ciclo, el tiempo de vida y el consumo de energía.
27. El medio legible por ordenador de acuerdo con la reivindicación 21, que se caracteriza porque los modos de movimiento de los múltiples robots interactuantes incluyen al menos uno de entre el movimiento independiente, movimiento coordinado sincronizado y movimiento coordinado.
28. El medio legible por ordenador de acuerdo con la reivindicación 21, que se caracteriza porque el código de programa para robot puede ser redefinido (407) y evaluado para descarga.
29. El medio legible por ordenador de acuerdo con la reivindicación 22, comprendiendo la rutina para la generación automática (404) de al menos un trayecto de robot:
una rutina para generar automáticamente al menos un trayecto para al menos un robot importado sobre la base de los parámetros definidos; y
una rutina para generar un programa para robot para los robots importados en la celda de robots virtual.
30. El medio legible por ordenador de acuerdo con la reivindicación 20, comprendiendo la rutina para simular (405) el al menos un trayecto de robot:
una rutina para la simulación por ordenador de un comportamiento de los múltiples robots interactuantes; y
una rutina para la redefinición por el usuario de los parámetros para cambiar el comportamiento simulado por ordenador.
31. El medio legible por ordenador de acuerdo con la reivindicación 21, que se caracteriza porque la rutina para evaluar la simulación (406) facilita la verificación del código de programa para robot en un ambiente de simulación por ordenador y la redefinición de los parámetros (407) para la reprogramación.
32. El medio legible por ordenador de acuerdo con la reivindicación 21, que comprende la generación de al menos un código de controlador de robot.
ES05751706T 2004-06-15 2005-06-15 Metodo y sistema para la programacion fuera de linea de multiples robots interactuantes. Active ES2306161T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57926304P 2004-06-15 2004-06-15
US579263P 2004-06-15

Publications (1)

Publication Number Publication Date
ES2306161T3 true ES2306161T3 (es) 2008-11-01

Family

ID=34970248

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05751706T Active ES2306161T3 (es) 2004-06-15 2005-06-15 Metodo y sistema para la programacion fuera de linea de multiples robots interactuantes.

Country Status (7)

Country Link
US (1) US9104197B2 (es)
EP (1) EP1756684B1 (es)
JP (1) JP2008502488A (es)
AT (1) ATE392656T1 (es)
DE (1) DE602005006126T2 (es)
ES (1) ES2306161T3 (es)
WO (1) WO2005124486A2 (es)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4159577B2 (ja) * 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
FR2896716B1 (fr) * 2006-01-31 2009-06-26 Abb Mc Soc Par Actions Simplif Procede de pilotage d'une station de travail robotisee et station de travail robotisee correspondante
JP2009119589A (ja) * 2007-11-19 2009-06-04 Yaskawa Electric Corp ロボットシミュレータ
WO2010017835A1 (en) * 2008-08-12 2010-02-18 Abb Technology Ab A system and a method for off-line programming of an industrial robot
WO2010057528A1 (en) * 2008-11-19 2010-05-27 Abb Technology Ab A method and a device for optimizing a programmed movement path for an industrial robot
US8386080B2 (en) * 2009-09-15 2013-02-26 Harris Corporation Robotic apparatus implementing collision avoidance scheme and associated methods
DE102009050646A1 (de) * 2009-10-26 2011-04-28 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern einer Mehrmaschinenanordnung
TWI402641B (zh) * 2009-12-04 2013-07-21 Ind Tech Res Inst 聯結多系統達成多軸同步插值裝置與方法
DE102010013923A1 (de) * 2010-04-01 2011-10-06 Wittenstein Ag Autarkes Manipulatorelement
DE102010052253B4 (de) * 2010-11-23 2019-03-21 Kuka Deutschland Gmbh Verfahren und Steuermittel zur Steuerung einer Roboteranordnung
EP2479630A1 (de) * 2011-01-25 2012-07-25 Siemens Aktiengesellschaft Verfahren zur kollisionsfreien Überführung einer Anlage aus einem Scheinausmodus in einen Betriebsmodus
US9956042B2 (en) 2012-01-13 2018-05-01 Vanderbilt University Systems and methods for robot-assisted transurethral exploration and intervention
WO2013158983A1 (en) 2012-04-20 2013-10-24 Vanderbilt University Robotic device for establishing access channel
US9539726B2 (en) 2012-04-20 2017-01-10 Vanderbilt University Systems and methods for safe compliant insertion and hybrid force/motion telemanipulation of continuum robots
WO2013158974A1 (en) 2012-04-20 2013-10-24 Vanderbilt University Dexterous wrists for surgical intervention
US9333650B2 (en) 2012-05-11 2016-05-10 Vanderbilt University Method and system for contact detection and contact localization along continuum robots
US20130338974A1 (en) * 2012-06-15 2013-12-19 Kevin Kochman System and method for efficiently importing objects into a computer-aided design program
FR2992443B1 (fr) * 2012-06-20 2014-08-08 Univ Blaise Pascal Clermont Ii Platerforme de simulation pour la validation d'une architecture logicielle et materielle d'un robot
JPWO2014013605A1 (ja) * 2012-07-20 2016-06-30 株式会社安川電機 ロボットシミュレータ、ロボット教示装置およびロボット教示方法
JP6015282B2 (ja) * 2012-09-21 2016-10-26 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム
US10360316B2 (en) * 2012-12-21 2019-07-23 Rockwell Automation Technologies, Inc. Integration of simulation of a machine for industrial automation
US9649765B2 (en) 2013-03-11 2017-05-16 Siemens Aktiengesellschaft Reducing energy consumption of industrial robots by using new methods for motion path programming
JP5850004B2 (ja) * 2013-08-09 2016-02-03 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP5892132B2 (ja) 2013-09-13 2016-03-23 株式会社安川電機 制御装置及びロボットシステム
US9387589B2 (en) * 2014-02-25 2016-07-12 GM Global Technology Operations LLC Visual debugging of robotic tasks
US9922144B2 (en) 2014-03-26 2018-03-20 Siemens Industry Software Ltd. Energy and cycle time efficiency based method for robot positioning
US9701011B2 (en) 2014-05-08 2017-07-11 Siemens Industry Software Ltd. Method for robotic energy saving tool search
US9555545B2 (en) * 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
US10279470B2 (en) * 2014-06-12 2019-05-07 Play-i, Inc. System and method for facilitating program sharing
US9283678B2 (en) * 2014-07-16 2016-03-15 Google Inc. Virtual safety cages for robotic devices
US9469029B2 (en) 2014-07-31 2016-10-18 Siemens Industry Software Ltd. Method and apparatus for saving energy and reducing cycle time by optimal ordering of the industrial robotic path
US9815201B2 (en) 2014-07-31 2017-11-14 Siemens Industry Software Limited Method and apparatus for industrial robotic energy saving optimization using fly-by
US9457469B2 (en) 2014-08-14 2016-10-04 Siemens Industry Software Ltd. Method and apparatus for automatic and efficient location generation for cooperative motion
GB201509341D0 (en) * 2015-05-29 2015-07-15 Cambridge Medical Robotics Ltd Characterising robot environments
DE102015008188B3 (de) * 2015-06-25 2016-06-16 Kuka Roboter Gmbh Abfahren einer vorgegebenen Bahn mit einem Roboter
JP6576255B2 (ja) * 2016-01-25 2019-09-18 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
JP6370821B2 (ja) 2016-02-12 2018-08-08 ファナック株式会社 ロボットプログラムの教示を行うロボットプログラミング装置
CN106141472A (zh) * 2016-07-05 2016-11-23 纳博特南京科技有限公司 一种双机器人双边对称焊接控制方法
EP3504034A1 (en) * 2016-09-15 2019-07-03 Google LLC. Deep reinforcement learning for robotic manipulation
US11793394B2 (en) 2016-12-02 2023-10-24 Vanderbilt University Steerable endoscope with continuum manipulator
JP6998660B2 (ja) 2017-02-21 2022-01-18 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
JP6608890B2 (ja) * 2017-09-12 2019-11-20 ファナック株式会社 機械学習装置、ロボットシステム及び機械学習方法
US10967504B2 (en) 2017-09-13 2021-04-06 Vanderbilt University Continuum robots with multi-scale motion through equilibrium modulation
US10676022B2 (en) 2017-12-27 2020-06-09 X Development Llc Visually indicating vehicle caution regions
US11926058B2 (en) 2017-12-28 2024-03-12 Fuji Corporation Information providing device, information providing method and program
JP7065886B2 (ja) 2017-12-28 2022-05-12 株式会社Fuji 情報提供装置、情報提供方法及びプログラム
CN108544495B (zh) * 2018-06-19 2021-05-11 广东工业大学 一种多焊接机器人的焊接路径规划方法、系统及设备
JP6823015B2 (ja) 2018-07-17 2021-01-27 ファナック株式会社 ロボットシステム
WO2020037496A1 (zh) * 2018-08-21 2020-02-27 西门子股份公司 离线编程程序的校正方法、装置、系统、介质和终端
EP3613545A1 (en) * 2018-08-24 2020-02-26 Siemens Aktiengesellschaft Simulation assisted planning of motions to lift heavy objects
US20220118619A1 (en) * 2018-12-31 2022-04-21 Abb Schweiz Ag Method and system for detecting anomalies in a robotic system
US11110606B2 (en) * 2019-01-02 2021-09-07 The Boeing Company Coordinating work within a multi-robot cell
EP3924152A1 (en) 2019-02-11 2021-12-22 Hypertherm, INC. Motion distribution in robotic systems
CN109968358B (zh) * 2019-03-28 2021-04-09 北京工业大学 一种考虑运动平稳性的冗余机器人全关节避障轨迹优化方法
CN109849019B (zh) * 2019-04-04 2021-02-05 北京卫星制造厂有限公司 一种回转类结构件的多机器人加工方法
GB2584608B (en) * 2019-05-01 2021-09-15 Arrival Ltd Robot motion optimization system and method
CN110124941B (zh) * 2019-05-14 2023-11-03 郑州大学 用于电池模组涂胶的智能快速编程平台及其编程方法
WO2021041960A1 (en) 2019-08-30 2021-03-04 X Development Llc Splitting transformers for robotics planning
US11745345B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Planning by work volumes to avoid conflicts
US11747787B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Combining transformers for robotics planning
WO2021041419A1 (en) 2019-08-30 2021-03-04 X Development Llc Robot planning from process definition graph
US11787048B2 (en) 2019-08-30 2023-10-17 Intrinsic Innovation Llc Robot planning from process definition graph
WO2021041938A1 (en) 2019-08-30 2021-03-04 X Development Multi-objective robot path planning
DE102020127508B4 (de) 2019-10-24 2022-09-08 Nvidia Corporation Posenverfolgung von Objekten in der Hand
JP6819766B1 (ja) * 2019-11-27 2021-01-27 株式会社安川電機 シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
DE102019134664B4 (de) * 2019-12-17 2021-07-29 Franka Emika Gmbh Konfigurieren eines Robotermanipulators beim Aufstellen
TW202146189A (zh) 2020-01-22 2021-12-16 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置
CN111300417B (zh) * 2020-03-12 2021-12-10 福建永越智能科技股份有限公司 焊接机器人的焊接路径控制方法及装置
WO2021228382A1 (en) * 2020-05-13 2021-11-18 Abb Schweiz Ag Policy-restricted execution of a robot program with movement instructions
JP2024508563A (ja) * 2021-02-24 2024-02-27 パス ロボティクス, インコーポレイテッド 自律型溶接ロボット
CN113021348B (zh) * 2021-03-23 2021-10-15 深圳群宾精密工业有限公司 一种应用于不同机器人之间点位高精度转换的方法
WO2023037550A1 (ja) * 2021-09-13 2023-03-16 東京ロボティクス株式会社 ロボット、ロボットシステム、制御方法及びプログラム
CN113741352B (zh) * 2021-09-22 2023-01-06 陕西法士特齿轮有限责任公司 一种数控自适应控制加工方法、系统、设备及其存储介质
DE102021125628B3 (de) 2021-10-04 2022-10-13 Physik Instrumente (PI) GmbH & Co KG Geschwindigkeitsvorgaben zur Trajektorienbestimmung von Kinematiken
CN115268370B (zh) * 2022-07-19 2024-06-18 中航沈飞民用飞机有限责任公司 一种自动钻铆以数控代码还原仿真过程的方法

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4590578A (en) * 1983-07-11 1986-05-20 United Technologies Corporation Off-line programmable robot
JPH0789287B2 (ja) * 1985-11-07 1995-09-27 三菱電機株式会社 ロボットのプログラミング方法
US4998050A (en) * 1988-06-13 1991-03-05 Nissan Motor Co., Ltd. System and method for teaching robots
JP2514490B2 (ja) * 1991-07-05 1996-07-10 株式会社ダイヘン 産業用ロボットの連動手動操作による教示制御方法
EP0523889B1 (en) * 1991-07-06 1996-12-27 Daihen Corporation Apparatus for controlling industrial robot to perform coordinated operation using teaching playback method and method thereof
JPH0615589A (ja) * 1992-07-03 1994-01-25 Daihen Corp 産業用ロボット制御装置
JP3306781B2 (ja) * 1992-12-31 2002-07-24 株式会社ダイヘン 産業用ロボットの手動操作による教示制御装置および教示方法
JPH07168617A (ja) * 1993-06-25 1995-07-04 Matsushita Electric Works Ltd ロボットのオフライン教示方法
JP3823324B2 (ja) * 1994-03-23 2006-09-20 株式会社安川電機 作業機械の制御装置
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
JP3406080B2 (ja) * 1994-08-24 2003-05-12 ファナック株式会社 溶接ロボットシステムにおける溶接装置の割当使用方法
US5798627A (en) * 1995-01-04 1998-08-25 Gilliland; Malcolm T. Method for simultaneous operation of robot welders
JP2812894B2 (ja) * 1995-04-25 1998-10-22 本田技研工業株式会社 溶接ラインシステム
JPH1044074A (ja) * 1996-07-30 1998-02-17 Nippon Telegr & Teleph Corp <Ntt> マルチ作業方法及び装置
JPH1083208A (ja) * 1996-09-05 1998-03-31 Matsushita Electric Ind Co Ltd ロボット間相対位置演算機構
FR2764838B1 (fr) 1997-06-20 2000-06-02 Deutsch Zentr Luft & Raumfahrt Procede de commande d'un manipulateur
US6445964B1 (en) * 1997-08-04 2002-09-03 Harris Corporation Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
JPH1177569A (ja) * 1997-09-10 1999-03-23 Honda Motor Co Ltd オフラインティーチング装置
JPH11134017A (ja) * 1997-10-27 1999-05-21 Honda Motor Co Ltd オフラインティーチング方法
US6157873A (en) * 1998-04-09 2000-12-05 Motoman, Inc. Robot programming system and method
US6470301B1 (en) * 1999-10-08 2002-10-22 Dassault Systemes Optimization tool for assembly workcell layout
US6339204B1 (en) * 1999-11-18 2002-01-15 Honda Giken Kogyo Kabushiki Kaisha Apparatus for assembling floor of vehicle
DE10032096A1 (de) * 2000-07-01 2002-01-24 Kuka Roboter Gmbh Geräteverbund und Steuerschrank für einen solchen
KR100345150B1 (ko) * 2000-09-29 2002-07-24 현대자동차주식회사 레이저 측정기를 이용한 로봇 위치 보정 방법
US20020069045A1 (en) * 2000-09-29 2002-06-06 Walacavage J. G. Method of logical modeling of operator interaction with programmable logic controller logical verification system
DE10050481B4 (de) * 2000-10-12 2015-08-06 Motoman Robotec Gmbh System aus kooperierenden Robotern und Verfahren zu deren Steuerung
JP2002172575A (ja) * 2000-12-07 2002-06-18 Fanuc Ltd 教示装置
JP2001353676A (ja) * 2001-04-27 2001-12-25 Matsushita Electric Ind Co Ltd ロボット装置
JP2003103491A (ja) * 2001-09-28 2003-04-08 Honda Motor Co Ltd ロボットの相互干渉検証方法および相互干渉表示パターン
JP2003117863A (ja) * 2001-10-16 2003-04-23 Fanuc Ltd ロボットシミュレーション装置
JP3577028B2 (ja) * 2001-11-07 2004-10-13 川崎重工業株式会社 ロボットの協調制御システム
JP3673749B2 (ja) * 2001-11-12 2005-07-20 ファナック株式会社 シミュレーション装置
US7114157B2 (en) * 2001-11-27 2006-09-26 Kuka Roboter Gmbh System controlling exclusive access by control programs to system resources
US6812665B2 (en) * 2002-04-19 2004-11-02 Abb Ab In-process relative robot workcell calibration
US6678582B2 (en) * 2002-05-30 2004-01-13 Kuka Roboter Gmbh Method and control device for avoiding collisions between cooperating robots
JP2004160588A (ja) * 2002-11-12 2004-06-10 Nissan Motor Co Ltd 複数ロボットの干渉領域検出方法およびそのプログラム
US20060081175A1 (en) * 2003-02-21 2006-04-20 Bansei Nagase Coating system for protective layer forming material
SE0303145D0 (sv) * 2003-11-23 2003-11-23 Abb Research Ltd Method for optimising the performance of a robot
JP2005334945A (ja) * 2004-05-27 2005-12-08 Fanuc Ltd スポット溶接装置
DE102004026814A1 (de) * 2004-06-02 2005-12-29 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
JP2006099474A (ja) * 2004-09-29 2006-04-13 Fanuc Ltd ロボットの軌跡制御方法
JP2006187826A (ja) * 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
GB0513899D0 (en) * 2005-07-06 2005-08-10 Airbus Uk Ltd Program-controlled process

Also Published As

Publication number Publication date
WO2005124486A2 (en) 2005-12-29
EP1756684B1 (en) 2008-04-16
DE602005006126T2 (de) 2009-07-02
ATE392656T1 (de) 2008-05-15
US9104197B2 (en) 2015-08-11
WO2005124486A3 (en) 2006-06-08
US20080114492A1 (en) 2008-05-15
DE602005006126D1 (de) 2008-05-29
EP1756684A2 (en) 2007-02-28
JP2008502488A (ja) 2008-01-31

Similar Documents

Publication Publication Date Title
ES2306161T3 (es) Metodo y sistema para la programacion fuera de linea de multiples robots interactuantes.
US9390203B2 (en) Method and system for off-line programming of multiple interacting robots
CN103085072B (zh) 基于三维建模软件实现工业机器人离线编程的方法
Ostanin et al. Interactive robot programing using mixed reality
ES2630878T3 (es) Biblioteca de módulos de procesos y entorno de programación para la programación de un proceso de manipulador
CN110573308A (zh) 机器人系统的混合现实辅助空间编程
CN107220099A (zh) 一种基于三维模型的机器人可视化虚拟示教系统及方法
WO2004085120A1 (ja) ロボットシミュレーション装置、および、シミュレーションプログラム
Pieskä et al. Simulation and programming experiences of collaborative robots for small-scale manufacturing
JP2010218036A (ja) ロボットオフラインプログラミング装置
Malinowski et al. Control of articulated manipulator model using ATMEGA16
JP7474681B2 (ja) プログラム生成システム、ロボットシステム、プログラム生成方法、および生成プログラム
Kuo et al. Experimental and Numerical Study on the Semi‐Closed Loop Control of a Planar Parallel Robot Manipulator
US20230405819A1 (en) A robot controller with integrated logic functionality
KR20200097896A (ko) 매니퓰레이터 urdf파일 생성장치 및 방법
Corke et al. Robot arm kinematics
Kumar et al. Intuitive human-robot interaction using augmented reality: A simulation study on KUKA IIWA robot
Abdullah et al. Robot arm simulation using 3D software application with 3D modeling, programming and simulation support
WO2023203635A1 (ja) ロボット装置の動作状態を算出するシミュレーション装置
Sirinterlikci Practical Hands-on Industrial Robotics Laboratory Development
Palaščáková Methods of on-line and off-line programming in the production process
Apostolescu et al. Industrial Robotics for Spacecraft Rendezvous and Docking Simulation
Bulej et al. Development of a simulation platform for robots with serial and parallel kinematic structure
Kobzev et al. Using Matlab Software Package in the Curriculum of «Mechatronics and Robotics»
Palchaudhary et al. Path Planning and Path Optimization for Industrial Robots Using Moveit! and ROS Melodic