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 PDFInfo
- 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
Links
Classifications
-
- 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording 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/425—Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme 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
-
- 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/39135—For multiple manipulators operating at same time, avoid collision
-
- 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/40317—For 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.
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.
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.
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.
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.
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.
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.
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)
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)
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 |
-
2005
- 2005-06-15 WO PCT/EP2005/006436 patent/WO2005124486A2/en active IP Right Grant
- 2005-06-15 EP EP05751706A patent/EP1756684B1/en active Active
- 2005-06-15 AT AT05751706T patent/ATE392656T1/de not_active IP Right Cessation
- 2005-06-15 DE DE602005006126T patent/DE602005006126T2/de active Active
- 2005-06-15 US US11/629,284 patent/US9104197B2/en active Active
- 2005-06-15 JP JP2007515872A patent/JP2008502488A/ja active Pending
- 2005-06-15 ES ES05751706T patent/ES2306161T3/es active Active
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 |