ES2316012T3 - Un metodo y dispositivo para evitar colisiones entre un robot industrial y un objeto. - Google Patents
Un metodo y dispositivo para evitar colisiones entre un robot industrial y un objeto. Download PDFInfo
- Publication number
- ES2316012T3 ES2316012T3 ES06120615T ES06120615T ES2316012T3 ES 2316012 T3 ES2316012 T3 ES 2316012T3 ES 06120615 T ES06120615 T ES 06120615T ES 06120615 T ES06120615 T ES 06120615T ES 2316012 T3 ES2316012 T3 ES 2316012T3
- Authority
- ES
- Spain
- Prior art keywords
- robot
- time
- collision
- zones
- until
- 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—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by monitoring or safety
- G05B19/4061—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1674—Program controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- 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/39084—Parts handling, during assembly
-
- 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/39088—Inhibit movement in one axis if collision danger
-
- 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/39091—Avoid collision with moving obstacles
-
- 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/39097—Estimate own stop, brake time, then verify if in safe distance
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
- Forklifts And Lifting Vehicles (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Un método para evitar colisiones entre componentes de un robot industrial multiaxial y al menos otro objeto, en el que el método comprende: recibir información sobre un camino planificado para el robot, calcular las distancias más cortas entre los componentes del robot y el objeto en una pluralidad de puntos futuros en el tiempo basándose en dicha información sobre el camino planificado, y caracterizado porque el método comprende además: realizar una extrapolación de las distancias más cortas almacenadas hasta que la distancia entre el robot y el objeto se haga cero, y sobre esta base determinar el tiempo que queda hasta una colisión entre el robot y el objeto, comparar el tiempo estimado que queda hasta la colisión y el tiempo de parada para el robot, y parar el robot o el objeto en caso de que el tiempo estimado que queda hasta la colisión esté próximo al tiempo de parada para el robot.
Description
Un método y dispositivo para evitar colisiones
entre un robot industrial y un objeto.
El presente invento se refiere a un método y a
un dispositivo para impedir colisiones entre los componentes de un
robot multiaxial industrial y al menos otro objeto.
Un problema relacionado con los robots
industriales es cómo impedir las colisiones entre el robot y los
objetos pertenecientes a la misma celda de trabajo que el robot. Un
objeto puede ser una parte física o un conjunto de partes que
forman un sólido. En la celda de trabajo pueden existir
conjuntamente diferentes tipos de objetos. El objeto puede ser
móvil o fijo. Objetos móviles son, por ejemplo, unidades mecánicas
tales como robots, ejes externos del robot, y posicionadores.
Ejemplos de objetos fijos son la mesa giratoria, soportes de partes,
y equipo de mantenimiento. Las colisiones en una celda de trabajo
de un robot pueden producirse bien entre objetos móviles o entre un
objeto móvil y un objeto fijo.
Es necesario evitar las interferencias debidas a
la proximidad de objetos en la celda de trabajo o las trayectorias
que interseccionan. La relativamente alta velocidad usada durante la
fase de producción podrían de otro modo dar lugar a daños graves a
los objetos de la celda de trabajo y a un retraso en la producción
si se produjera una colisión. Las trayectorias de los objetos que
se mueven en una celda de trabajo de un robot son a menudo bien
conocidas de antemano. Sin embargo, las trayectorias de los objetos
que se mueven en celdas de trabajo no siempre pueden conocerse
exactamente de antemano, la mayoría de las veces como una
consecuencia de procesos no determinísticos, tales como una
soldadura eléctrica por puntos o el uso de datos del sensor. Los
cambios de recorrido pueden entonces producirse debido a retrasos
no predecibles del proceso o correcciones del sensor de las
trayectorias del robot. Los cambios de recorrido imprevistos pueden
también ocurrir como una consecuencia de desplazamientos. Diversos
errores de programación pueden también ser causa de colisiones.
Incluso aunque programas de robot modificados pueden parecer libres
de colisiones, las colisiones pueden aún ocurrir más tarde en la
fase de producción debido a errores que no se manifestaron
anteriormente.
La permanente demanda de capacidades de
producción más elevadas con un coste menor ha conducido además al
desarrollo de nuevos conceptos de automatización basados en sistemas
multi-robot. A pesar de los esfuerzos de los
fabricantes de robots de diseñar soluciones consistentes en
multi-robots fáciles de usar, los numerosos grados
de libertad permitidos en tales sistemas han estado acompañados por
un mayor riesgo de colisiones.
En los últimos veinte años se han propuesto
varios enfoques basados en diferentes tecnologías y conceptos para
evitar colisiones entre objetos pertenecientes a la misma celda de
trabajo que el robot. Por ejemplo, el documento US6.212.444 propone
fijar un área común en la que se solapen entre sí un área de
operación de un robot y un área de operación de un aparato, tal
como otro robot multiaxial que realiza un trabajo en cooperación
con el robot. Se genera una primera señal de prohibición de entrada
al aparato que prohíbe al aparato entrar en el área común cuando un
punto de referencia predeterminado en el robot está dentro del área
común, y se genera al robot una segunda señal de prohibición de
entrada que prohíbe al punto de referencia del robot entrar en el
área común cuando la parte móvil del aparato está dentro del área
común. De acuerdo con el método expuesto, el otro objeto móvil
tiene prohibido entrar en el área común si un punto de referencia
predeterminado, usualmente situado en la punta del brazo mecánico
del robot o en una articulación, está dentro del área común.
Recíprocamente, de acuerdo con el método expuesto, a un punto de
referencia en el robot le está prohibido entrar en el área común si
el otro objeto que se mueve está dentro del área común.
También se ha propuesto usar zonas de protección
que incluyen los objetos móviles o partes de los objetos. Por
ejemplo, las zonas protectoras rodean los brazos mecánicos del robot
y/o su herramienta. Las zonas de protección están, por ejemplo,
descritas en los siguientes documentos de patente: US 2005/0090930,
JP 2003-334777, y JP 08-141978. El
documento US2005/0090930 describe un método en el que bloques
limitadores de diversas formas geométricas están vinculados
alrededor de partes de objetos posiblemente para cubrir sus cuerpos
totalmente. Las interferencias entre los bloques son comprobadas
por un algoritmo, el cual considera si los bloques se solapan. En
el documento JP2003-334777 se usan envolturas
protectoras para modelar cuerpos de objetos móviles cuyas
posiciones se registran junto con sus distancias entre ellos más
cortas en dichas posiciones, así como las ampliaciones de tamaño de
las envolturas de los objetos que se mueven como funciones de su
velocidad. Se efectúa una interpolación de las distancias
registradas junto con al menos una distancia prevista y se compara
el mínimo de la curva de interpolación obtenida con la suma de los
espesores de las envolturas de los objetos en cuestión. En el
documento JP08-141978 se describe un método en el
que se usa una envoltura protectora doble alrededor de las
herramientas del
robot.
robot.
El documento US6678582 describe un método para
evitación de la colisión entre un manipulador y al menos otro
objeto. El método comprende: calcular un tiempo de parada del robot
sobre la base de las posiciones de la articulación actuales y
pasadas de un robot multiaxial y las velocidades y aceleraciones de
cada articulación de robot, prediciendo una configuración de una
trayectoria de los componentes del robot en el tiempo de parada,
comprobando la configuración predicha mediante algoritmos de
distancia/interferencia para interferencia de los componentes del
robot con los componentes del otro objeto, y parando el robot y/o el
otro objeto en caso de que una colisión sea inminente. El tiempo de
parada es el tiempo que llevará parar el robot desde el presente
estado del robot. Las configuraciones predichas se determinan en el
tiempo de parada estimado. Las configuraciones predichas se
determinan en el tiempo de parada estimado. Se supone que el robot
continúa moviéndose con su aceleración actual, desde su aceleración
y velocidad presentes. Una desventaja del método expuesto es que
pueden producirse grandes errores en las configuraciones predichas,
puesto que sólo están basadas en las posiciones, velocidades y
aceleraciones pasadas y presentes de la articulación. Por ejemplo,
si el robot cambia drásticamente su dirección de movimiento, habrá
un gran error en la configuración predicha del robot. Suponiendo que
las configuraciones predichas de varios robots multiaxiales en su
respectivo tiempo de parada se comprueban entre sí en su tiempo de
parada respectivo, las colisiones entre los robots podrían ocurrir
todavía, ya que sus configuraciones previstas solamente están
basadas en parámetros pasados y presentes. Esto hace que haya que
tener que usar márgenes grandes con el fin de impedir las colisiones
entre los robots.
El objeto del presente invento es proporcionar
una alternativa a los métodos y dispositivos existentes para
impedir colisiones, lo que proporciona la posibilidad de mejorar la
predicción de futuras colisiones y por eso reducir los márgenes
necesarios para impedir colisiones.
De acuerdo con un aspecto del invento, este
objeto se consigue por medio de un método definido en la
reivindicación 1.
Una ventaja de este enfoque es que se consigue
un tiempo mayor de visión hacia adelante, que permite una detección
más temprana de un riesgo de colisión y por tanto una estimación
mejorada de cuándo el robot debería ser parado. Un tiempo de visión
hacia adelante mayor aumenta la posibilidad de detectar colisiones
inminentes y proporciona más tiempo para decidir qué hacer para
impedir la colisión y detener el robot antes de que se produzca la
colisión. Otra ventaja conseguida con el invento es que se pueden
reducir los márgenes necesarios para evitar colisiones.
De acuerdo con una realización del invento el
método comprende calcular las distancias más cortas entre los
componentes del robot y el objeto en una pluralidad de puntos
futuros en el tiempo y, sobre esta base, estimar el tiempo que
queda hasta que ocurra una colisión entre el robot y el objeto.
De acuerdo con una realización del invento, el
método comprende además recibir información, tal como información
sobre ángulos de la articulación futuros e información sobre un
camino planificado para el robot. Dichas distancias más cortas
entre los componentes del robot y el objeto se determinan basándose
en el camino planificado del robot. Generalmente, un sistema de
control de un robot industrial incluye un planificador de caminos,
el cual planifica el camino del robot. El planificador de caminos
está adaptado para recibir instrucciones de movimientos desde un
programa de aplicación y, sobre esta base, determinar cómo debería
moverse el robot con el fin de ejecutar la instrucción sobre los
movimientos. El planificador de caminos planifica cómo se debería
realizar el movimiento ordenado realizando una interpolación del
movimiento. La interpolación incluye dividir el movimiento ordenado
en una pluralidad de pequeños incrementos y calcular los ángulos de
articulación de todos los ejes del robot para cada incremento. Los
ángulos de articulación son convertidos a continuación en
referencias del motor. El planificador de caminos transmite las
referencias calculadas del motor a los módulos de impulsión del
robot.
El camino del robot se planifica un intervalo de
tiempo especificado por delante de la actual posición del robot. De
acuerdo con esta realización, la información sobre el futuro camino,
es decir el camino real planificado, del robot se usa para calcular
el tiempo que queda hasta la colisión. Esta información está ya
disponible en la unidad planificadora de caminos del sistema de
control del robot. Las colisiones se detectan basándose en el
camino programado. Por lo tanto, el camino real planificado se usa
con el fin de predecir si una colisión es inminente, en lugar de un
camino estimado calculado sobre la base de los movimientos pasados,
como en la técnica anterior. Esta realización mejora la precisión
de la estimación sobre si una colisión es inminente o no.
De acuerdo con una realización del invento los
puntos futuros en el tiempo se seleccionan consecutivamente durante
un intervalo de tiempo de visión hacia adelante definido. El
intervalo de tiempo de visión hacia adelante depende de con cuánto
adelanto se haya planificado el camino, es decir el tiempo de visión
hacia adelante del planificador de caminos, que depende del sistema
de control del robot.
De acuerdo con una realización del invento, el
método comprende realizar una extrapolación de las distancias más
cortas guardadas hasta que la distancia entre el robot y el objeto
llega a cero, y sobre esta base determinar el tiempo que queda
hasta una colisión entre el robot y el objeto. Las distancias más
cortas, calculadas basándose en la información del planificador de
caminos, forman una curva de distancia más corta. La curva de
distancias más cortas se extrapola usando las distancias más cortas
calculadas en diferentes tiempos futuros. La parte extrapolada de
la curva se usa para calcular el tiempo que queda hasta la colisión.
El tiempo de visión hacia delante pasa a ser la suma del tiempo de
visión hacia adelante del planificador de caminos y de la parte
extrapolada de la curva. Esta realización aumenta además el tiempo
de visión hacia adelante y así mejora además la posibilidad de
detectar colisiones inminentes y proporciona más tiempo para parar
el robot antes de que ocurra una colisión.
De acuerdo con una realización del invento, el
método comprende: definir una o más zonas de protección vinculadas
a y que encierran los componentes del robot, definir una o más zonas
de protección vinculadas a y que encierran el objeto, calcular la
distancia más corta entre la o las zonas del robot y la o las zonas
del objeto en una pluralidad de puntos futuros en el tiempo, y
basándose en ello estimar el tiempo que queda hasta que ocurra una
colisión entre las zonas. Una zona de protección se define como un
volumen de unas características geométricas arbitrarias o
predeterminadas que encierran todo o una parte del objeto/robot, que
tiene que ser protegido de colisiones. Por ejemplo, las zonas de
protección pueden rodear los brazos mecánicos del robot, la
herramienta, o la pieza que se trabaja sujetada por el robot. Las
zonas de protección están vinculadas al objeto que se mueve, lo que
significa que siguen el movimiento del objeto. Esta realización
detecta las colisiones inminentes entre zonas predeterminadas del
robot y del otro objeto. Las zonas de protección pueden ser de una,
dos o tres dimensiones y pueden tener una forma arbitraria.
De acuerdo con una realización del invento, el
método comprende: definir al menos dos zonas de protección que
encierran los componentes del robot, calcular la distancia más corta
entre las zonas del robot en una pluralidad de puntos futuros en el
tiempo, y basándose en ello estimar el tiempo que queda hasta que
ocurra una colisión entre las zonas del robot. Esta realización
permite la detección de colisiones inminentes entre zonas
predefinidas que encierran componentes del robot. Por ejemplo, esta
realización hace posible detectar las colisiones inminentes entre
una herramienta, o un objeto de trabajo que lleva el robot y otras
partes tales como los brazos del robot. Esta realización es
particularmente ventajosa si el robot lleva un objeto de trabajo
que es grande, tal como un lateral de la carrocería de un coche, y
existe un riesgo de que el objeto de trabajo llegue a colisionar
precisamente con el
robot.
robot.
De acuerdo con una realización del invento,
dicho otro objeto es un robot industrial multiaxial y el método
comprende: definir al menos dos zonas de protección que encierran
los componentes del primer robot multiaxial, definir al menos dos
zonas de protección que encierran los componentes del segundo robot
multiaxial, formar pares de zonas que constan de una zona del
primer robot y de una zona del segundo robot, calcular para cada
par de zonas la distancia más corta entre las zonas en una
pluralidad de puntos futuros en el tiempo, y almacenar las
distancias más cortas calculadas en una memoria intermedia para cada
par de zonas, y basándose en ello estimar el tiempo que queda hasta
que ocurra una colisión entre las zonas. Esta realización permite la
detección de colisiones inminentes entre zonas predefinidas que
encierran partes diferentes de dos robots industriales
multiaxiales.
De acuerdo con una realización del invento, el
método comprende además calcular una distancia más corta entre los
componentes del robot y el objeto, determinar si la distancia más
corta calculada es menor que un valor umbral y, en ese caso,
estimar el tiempo que queda hasta que ocurra la colisión, de no ser
así no se hace estimación del tiempo que queda hasta que la
colisión se ha producido. Una colisión solamente está próxima si la
distancia entre el robot y el objeto es decreciente, y en tanto que
las distancias entre ellos sean lo suficientemente grandes no
existe riesgo de una colisión inminente. De acuerdo con esta
realización, el tiempo que queda hasta la colisión sólo se estima
si la distancia más corta entre los componentes del robot y del
objeto es menor de un valor umbral. Por lo tanto, se evitan cálculos
innecesarios y la carga del procesador disminuye.
De acuerdo con una realización del invento, el
robot o el objeto es parado en el caso de que el tiempo estimado
que queda hasta la colisión sea más corto que el tiempo de parada
multiplicado por un factor de seguridad fijado por el usuario. De
acuerdo con el invento, se ordenará al robot y/o al objeto parar en
el caso de que el tiempo estimado hasta la colisión esté próximo al
tiempo de parada del robot. Si se ha ordenado al robot pararse
cuando el tiempo que queda hasta la colisión es igual al tiempo de
parada, existe un riesgo, debido a errores de cálculo, de que una
colisión ocurra antes de que el robot se pare. Por lo tanto, para
asegurarse de que hay tiempo suficiente para parar el robot, el
tiempo que queda hasta la colisión debería ser mayor que el tiempo
de parada. De acuerdo con esta realización, se ordena al robot parar
en caso de que el tiempo que queda estimado hasta la colisión sea
menor que el tiempo de parada multiplicado por un factor de
seguridad. Si al factor de seguridad se le da un valor mayor de
uno, el factor de seguridad proporciona un margen de seguridad para
parar el robot. Esta realización permite al usuario fijar el factor
de seguridad y por lo tanto determinar el margen de seguridad para
parar el robot. Sin embargo, en algunas situaciones puede ser útil
dar al factor de seguridad un valor menor de uno, por ejemplo cuando
dos trayectorias de robot presentan un bajo riesgo de colisión
tienen que ser programadas en la proximidad de una con respecto a la
otra. En el caso de que el factor de seguridad se fije en un valor
por debajo de uno, la detección de evitación de colisión para ese
par de zonas es desactivada. Alternativamente, el sistema de
evitación de la colisión puede desactivarse temporalmente para un
par de zonas dado y después ser activado nuevamente más tarde con la
ayuda de órdenes al robot.
De acuerdo con una realización del invento, el
método comprende además calcular una distancia más corta entre los
componentes del robot y el objeto, determinar si la distancia más
corta calculada es menor que un valor definido mínimo, y en caso de
que la distancia más corta sea menor que el valor mínimo reducir la
velocidad del robot en un porcentaje dado. Una reducción de la
velocidad del robot da lugar a una reducción del tiempo de parada
del robot, y de esta forma se permite al robot llegar más cerca del
objeto hasta que el sistema de evitación de colisión pare al robot.
Esta realización reduce también el riesgo de falsas alarmas en el
sistema de evitación de colisión y, por lo tanto, evita paradas
innecesarias del robot.
Es fácil comprender que el método de acuerdo con
el invento, definido en el conjunto anejo de reivindicaciones del
método, es adecuado para ejecución por un programa de ordenador que
tiene instrucciones que corresponden a los pasos en el método del
invento cuando se ejecuta en una unidad de procesador.
De acuerdo con un aspecto adicional del invento,
el objeto se consigue mediante un producto de programa de ordenador
que se puede cargar directamente en la memoria interna de un
ordenador o de un procesador, que comprende partes de código de
soporte lógico para realizar los pasos del método de acuerdo con el
conjunto anejo de reivindicaciones del método cuando se ejecuta el
programa en un ordenador. El programa de ordenador es proporcionado
bien en un medio que puede ser leído por un ordenador o a través de
una red.
De acuerdo con otro aspecto del invento, el
objeto se consigue por un medio que puede ser leído por un ordenador
que tiene un programa registrado en él, cuando el programa tiene
que hacer que un ordenador realice los pasos del método de acuerdo
con el conjunto anejo de reivindicaciones del método, y el programa
es ejecutado en el ordenador.
De acuerdo con otro aspecto del invento este
objeto se consigue por un dispositivo definido en la reivindicación
12.
Los desarrollos adicionales del dispositivo
están caracterizados por las características de las reivindicaciones
adicionales.
A continuación se explicará el invento con más
detalle mediante la descripción de diferentes realizaciones del
invento y con referencia a las figuras anejas.
La Figura 1 muestra un ejemplo de una celda de
trabajo de un robot que incluye dos robots multiaxiales y un
dispositivo para evitar colisiones de acuerdo con una realización
del invento.
La Figura 2 muestra un camino planificado del
robot.
La Figura 3 muestra una curva de distancia
mínima para un par de zonas e ilustra cómo se calcula el tiempo que
queda hasta la colisión de acuerdo con una realización del
invento.
La Figura 4 muestra un diagrama de flujos de un
método para evitar colisiones de acuerdo con una realización del
invento.
A continuación se describirá el invento en
conexión con una celda de trabajo que incluye dos robots
multiaxiales 1, 2 y un objeto fijo 3, como se muestra en la figura
1. Sin embargo, el dispositivo y método de evitación de colisión de
acuerdo con el invento pueden usarse para cualquier celda de trabajo
que incluya dos o más objetos, tal como cualquier combinación de
robots multiaxiales, y de objetos fijos o móviles. Una celda de
trabajo puede incluir uno o más robots multiaxiales. Además, una
celda de trabajo puede incluir uno o más objetos fijos o
móviles.
Los robots 1, 2 están conectados a una unidad de
control 5. La unidad de control 5 es, por ejemplo, un sistema de
control de robot convencional que incluye el equipo físico
necesario, tal como una o más unidades de procesador, medios de
memoria, y medios de introducción y extracción de datos, y un equipo
lógico para realizar las tareas de control normales del robot. La
unidad de control comprende almacenamiento del programa 7 para
almacenar programas de aplicaciones que comprenden instrucciones
del programa escritas en un lenguaje del robot, un ejecutor de
programas 8 adaptado para ejecutar los programas de aplicación
almacenados, y una unidad planificadora de caminos 9 adaptada para
recibir instrucciones del ejecutor de programas 8 y, sobre esta
base, determinar cómo el robot o los robots deberían moverse con el
fin de ejecutar las instrucciones de movimientos del programa de
aplicación. En esta realización la unidad de control 5 incluye una
entidad planificadora de caminos 9 que puede planificar el camino
en movimiento sincronizado o independiente para ambos robots 1, 2
basada respectivamente en programas de aplicación independientes
que incluyen instrucciones de movimientos enlazados entre ambos
robots o programas de aplicación independientes que excluyen tales
instrucciones para cada robot. La unidad de control 5 comprende
también una unidad de parada 10 adaptada para parar el robot o los
robots según una orden.
En esta realización del invento, una unidad de
evitación de colisión 11, que monitoriza las colisiones entre los
robots 1, 2 y el objeto 3 en la celda de trabajo, está situada en la
unidad de control 5. La unidad de evitación de colisión 11
comprende una unidad de memoria intermedia 12 que incluye una
pluralidad de memorias intermedias para almacenar las distancias
más cortas calculadas entre objetos en la celda de trabajo, una
unidad de cálculo 13 adaptada para estimar el tiempo que queda hasta
que ocurra una colisión entre los objetos y para calcular los
tiempos de parada de los robots, y para comparar el tiempo estimado
que queda hasta la colisión y el tiempo de parada de los robots. La
unidad de evitación de colisión 11 está adaptada para enviar una
orden de parada a la unidad de parada 10 en el caso de que el tiempo
estimado que queda hasta la colisión esté cerca del tiempo de
parada del robot. La unidad de cálculo 13 monitoriza el robot 1, 2
con el fin de detectar si es inminente una colisión entre el robot
y los otros objetos en la celda de trabajo, y si una colisión es
inminente la unidad de cálculo genera una orden de parada de uno de
los robots, o de ambos robots, orden que es enviada a la unidad de
parada 10. Cuando la unidad de parada 10 recibe la orden de parada
desde la unidad de cálculo 13, el robot o los dos robots son
frenados hasta que sus movimientos se paran. Preferiblemente, los
robots son mantenidos en su camino durante el frenado.
Alternativamente, la unidad de evitación de
colisión 11 puede ser realizada como una unidad de equipo físico
independiente adaptada para recibir instrucciones de las unidades
planificadoras de caminos de los robots 1, 2. Esto es
particularmente ventajoso en un sistema robotizado en el que los
robots están provistos de unidades de control individuales con
unidades planificadoras de caminos independientes. En tal
realización, la unidad de evitación de colisión 11 recibe
información sobre el camino planificado de las unidades
planificadores de camino independientes y comunica la o las órdenes
de parada a la o las unidades de control del robot en cuestión con
el fin de evitar una colisión.
Alternativamente, también es posible usar un
sistema de seguridad ya existente, por ejemplo un PLC, con el fin
de parar o frenar el robot. En este caso, la señal de parada de la
unidad de cálculo 13 se comunica al sistema de seguridad.
La unidad de evitación de colisión 11 comprende
además una memoria 16 para almacenar datos generados definiendo las
zonas de protección vinculadas a y que encierran los objetos en la
celda de trabajo. Se pueden definir una o más zonas de protección
para cada objeto. Por ejemplo, se define una zona de protección 20
para el objeto fijo 3 en la figura 1, se definen dos zonas de
protección 21, 22 para el robot 1, y se definen cuatro zonas de
protección 24-27 para el robot 2. Una zona de
protección puede encerrar uno o más componentes del robot, por
ejemplo en cuanto al robot 2 en la figura 1, una zona de protección
puede encerrar cada brazo del robot. Una herramienta o un objeto de
trabajo llevados por el robot pueden estar encerrados por su propia
zona de protección. Las zonas se definen como volúmenes de
características geométricas arbitrarias. Los volúmenes pueden ir
desde simples formas geométricas primarias, tales como cilindros,
esferas y bloques hasta representaciones más generales tales como
poliedros complejos y piezas de superficies trianguladas. Los
objetos fijos y las áreas de espacios de trabajo compartidas pueden
ser encerrados simplemente en volúmenes geométricos. Un objeto
puede ser encerrado por un modelo de todo su cuerpo, un modelo de su
superficie, por paredes virtuales o por puntos solamente. Por
ejemplo, se pueden cargar modelos CAD sencillos en la unidad de
control del robot y ser usados como zonas de protección alrededor
de los objetos.
La unidad de cálculo 13 está adaptada para
calcular las distancias más cortas entre las zonas de protección de
los objetos de la celda de trabajo en una pluralidad de puntos
futuros en el tiempo y sobre esta base estimar el tiempo que queda
hasta que ocurra una colisión entre las zonas de protección en la
celda de trabajo. La distancia más corta se calcula, por ejemplo,
por medio del algoritmo bien conocido de Gilbert Johnsson Keerthi
(GJK). Preferiblemente, para cada zona de protección
20-27 se calculan las distancias más cortas
d_{1}-d_{9} (en la figura no están mostradas
todas las distancias) a todas las otras zonas de protección en la
celda de trabajo, posiblemente también las distancias más cortas
entre las zonas de protección encierran el mismo robot. Como se
muestra en la figura 1, el robot 2 lleva un objeto de trabajo grande
y extenso, rodeado por la zona de protección 24, que puede llegar a
colisionar con los otros componentes del robot, rodeados por las
zonas 25-27. Con el fin de impedir colisiones entre
el objeto de trabajo y otros componentes del robot se calculan las
distancias más cortas d_{5}-d_{7} entre la zona
24, que encierra el objeto de trabajo, y las zonas
25-27, que encierran los otros componentes del
robot.
Las zonas 21, 22, 24-27 son
zonas móviles, y la zona 20 es una zona fija. Se determinan todos
los posibles pares de zonas en la celda de trabajo. Por ejemplo, si
la celda de trabajo incluye cuatro zonas de protección, el número
de pares de zonas posibles es seis. En el ejemplo mostrado en la
figura 1, la celda de trabajo incluye siete zonas de protección y
por lo tanto hay 21 posibles pares de zonas. Cada par de zonas está
provisto de su propia memoria intermedia para almacenar los valores
consecutivos de las distancias más cortas entre el par de zonas.
Para cada zona existe un archivo de descripción que contiene
información sobre el tipo, forma, dimensiones, orientación,
vinculación posible de la zona al objeto que incluye el sistema de
coordenadas de referencia para la vinculación de la zona al objeto
y un modelo geométrico de la zona.
La figura 2 muestra un ejemplo de un camino de
robot programado 30 para ser seguido por un robot. La flecha en la
figura ilustra dónde está posicionado el robot en el camino en el
momento actual. La unidad planificadora de caminos 9 calcula el
camino futuro del robot realizando una interpolación de un
movimiento mediante una orden dada por el programa del robot. El
movimiento ordenado se divide en una pluralidad de pequeños
incrementos y el planificador de caminos calcula los ángulos de
articulación de todos los ejes del robot para cada incremento. La
figura ilustra los puntos pasados P_{-4}-P_{-1}
y los puntos futuros P_{1}-P_{10}
en el camino. El planificador de caminos ha planificado los puntos
futuros P_{1}-P_{10} por adelantado basándose en
una o más instrucciones del programa en el programa del robot. En
el ejemplo mostrado en la figura 2, el planificador de caminos ha
calculado los ángulos de la articulación de diez puntos futuros. El
tiempo entre cada punto futuro calculado es \Deltat. El tiempo
total planificado por adelantado es por el planificador de caminos
se denomina tiempo visión hacia adelante t_{la} del planificador
de caminos.
A continuación se describirá haciendo referencia
a la Figura 3 un ejemplo de cómo se realiza la estimación del
tiempo que queda hasta que una colisión ocurre. La Figura 3 muestra
un diagrama que ilustra la distancia más corta d_{sd} entre un
par de zonas en relación con el tiempo t. La distancia más corta
entre dos zonas se calcula en tiempo real basándose en ángulos de
articulación futuros del planificador de caminos, en un modelo
cinemática del robot, y en los modelos geométricos de las zonas de
protección. La configuración del robot durante el tiempo de visión
hacia adelante del planificador de caminos puede determinarse
basándose en el modelo cinemático del robot y en los ángulos de
articulación del planificador de caminos. Cuando se ha determinado
la configuración futura de los modelos geométricos del robot de las
zonas de protección es posible calcular las posiciones en las
superficies de las zonas de protección y sobre esta base determinar
las distancias entre las zonas de protección. Un algoritmo iterativo
encuentra la distancia más corta entre las superficies de las
zonas. La distancia más corta entre las zonas se determina para cada
punto P_{1}-P_{10} del planificador de caminos
y se almacena en la unidad de memoria intermedia 13. Se predicen las
posiciones de cada par de zonas de protección calculando las
posiciones de cada objeto que se mueve a partir de un flujo de
ángulos de articulación suministrados por al menos una unidad de
control para un tiempo dado de visión hacia adelante.
Por ejemplo, el planificador de caminos calcula
los ángulos de articulación del robot en diez puntos futuros. La
función de memoria intermedia tiene una ventana de tiempos y
solamente contiene un número de valores predeterminado. En esta
realización, la memoria intermedia contiene diez valores de la
distancia de diez puntos consecutivos en el tiempo
P_{1}-P_{10}. Sin embargo, también es posible
mantener algunos valores pasados P_{-4}-P_{-1}
en la memoria intermedia. La Figura 3 muestra los valores de las
distancias más cortas d_{sd} almacenados en la memoria intermedia
dibujados como una función del tiempo t. En este ejemplo, la
distancia más corta entre las zonas de protección es decreciente.
Los valores de la distancia almacenados en la memoria intermedia se
usan para predecir el tiempo que queda hasta la colisión. La curva
32 se extrapola hasta que intersecciona con el eje de tiempos. Por
entonces la distancia entre las zonas es cero. La extrapolación se
obtiene, por ejemplo, por una curva de interpolación lineal o de
segundo grado. El punto en el tiempo en el que la distancia entre
las zonas es cero es el tiempo estimado t_{c} que queda hasta la
colisión. El tiempo t_{c} dejado hasta la colisión es igual a la
suma del tiempo de visión hacia adelante del planificador de caminos
t_{la} y del tiempo t_{e} de la parte extrapolada de la curva
32.
(1)t_{c} =
t_{la} +
t_{e}
Con el fin de evitar carga de cálculo
innecesaria en el procesador, las distancias más cortas entre cada
par de zonas y el tiempo que queda hasta la colisión solamente se
calculan si la distancia entre las zonas de protección es menor que
un valor predefinido d_{h}, también designada como una distancia
de horizonte. En tanto la distancia entre las zonas de protección
sea mayor que la distancia horizonte no se realiza cálculo alguno
del tiempo que queda hasta la colisión. Se calcula una aproximación
conservadora de las distancias más cortas con árboles de bloques
limítrofes alrededor de cada zona de protección. De esta forma se
define una distancia horizonte d_{h}, por debajo de la cual la
distancia más corta entre cada par de zonas de protección así como
el tiempo que queda hasta la colisión se estimará a intervalos de
tiempo regulares.
Los siguientes datos deben ser conocidos antes
de comenzar el algoritmo del programa:
- Modelos cinemáticos del robot. Estos modelos
se usan para calcular las posiciones de los robots en tiempo
real.
- Posible sistema de coordenadas de referencia y
orientación de las zonas vinculadas. La orientación es necesaria
para calcular la posición de una zona con relación al objeto al que
está vinculada en el sistema de coordenadas de referencia
usado.
- Parámetros de iniciación, que son valores
establecidos para ser usados por el algoritmo para calcular el
tiempo que queda hasta la colisión con el fin de monitorizar la
interferencia entre los objetos en movimiento.
Los datos que deben ser comunicados en tiempo
real a la unidad de evitación de colisiones son los valores de la
articulación. Éstos se usan como dato de entrada en los modelos
cinemáticas de los robots con el fin de calcular las posiciones de
los componentes del robot. También tienen que calcularse los tiempos
de parada de los robots. Éstos se obtienen en tiempo real basándose
en un modelo dinámico de cada robot y en la información contenida
en la entidad planificadora de caminos 9. Otros datos creados y
usados en tiempo real son cálculos de la distancia almacenados para
cada par de zonas en una memoria intermedia a lo largo de un
intervalo de tiempo dado, una función de extrapolación entre las
distancias de cada par de zonas en el intervalo de tiempo y un
radical de cada una de las funciones de la extrapolación.
La Figura 4 es una ilustración de un diagrama de
flujos de un método y un producto de programa de ordenador de
acuerdo con una realización del presente invento. Se deberá entender
que cada bloque del diagrama de flujos puede ser puesto en práctica
por instrucciones de programa de ordenador.
Los ángulos de la articulación recién calculados
son recibidos continuamente desde la o las unidades planificadoras
de caminos para todos los ejes de todos los robots en la celda de
trabajo, bloque 40. Las posiciones de todas las zonas móviles, es
decir las zonas que encierran partes móviles, son actualizadas,
bloque 42, basándose en los ángulos de la articulación recibidos,
en el modelo cinemático de los robots, y en los modelos geométricos
de las zonas.
El algoritmo descrito por los pasos
44-64 es pasada en bucle para cada par de zonas,
hasta que todos los pares de zonas han sido tenidos en cuenta,
bloque 43. Se calcula la distancia más corta d_{sd} entre cada par
de zonas, o su aproximación, bloque 44, excluyendo los pares de
zonas fijas. Cada distancia más corta calculada d_{sd} se
almacena en una memoria intermedia que pertenece al par de zonas,
bloque 46. Cada memoria intermedia ya comprende una pluralidad de
distancias más cortas calculadas durante las iteraciones anteriores.
La distancia nuevamente calculada se escribe sobre la distancia más
antigua calculada en la memoria intermedia. La distancia más corta
d_{sd} calculada del presente par de zonas es comparada con la
distancia horizonte d_{h}. Si la distancia más corta calculada
d_{sd} es menor que la distancia horizonte d_{h}, se determina
el tiempo que queda hasta la colisión t_{c}, bloque 56, si no, se
trata el siguiente par de zonas, 54. Cuando todos los pares de
zonas han sido tratados, bloque 52, se repite el bucle completo
desde el bloque 40.
\global\parskip0.950000\baselineskip
El tiempo que queda hasta la colisión t_{c}
para el par de zonas se determina basándose en los valores de
distancia más corta almacenados en la memoria intermedia y por medio
de una operación de extrapolación, bloque 56. La información sobre
las posiciones de los ejes es recibida de la entidad planificadora
de caminos 9, bloque 58, y basándose en ello se calcula un tiempo
de parada t_{s} para el robot, bloque 60. El tiempo que queda
hasta la colisión se compara con el tiempo de parada, bloque 62, y
si el tiempo que queda hasta la colisión es menor que el tiempo de
parada multiplicado por un parámetro denominado un factor de
seguridad \alpha, se ordena al robot o al objeto o a ambos parar,
bloque 64. El factor de seguridad \alpha debe ser mayor que uno
con el fin de proporcionar un margen de seguridad. Si el tiempo que
queda hasta la colisión es mayor que el tiempo de parada
multiplicado por el factor de seguridad \alpha, el algoritmo se
repite para el siguiente par de zonas. El parámetro \alpha se
define de forma que al menos uno de los sistemas de control del
robot debe ordenar al robot parar sus movimientos si el tiempo más
corto hasta la colisión predicho es igual a o menor que \alpha
veces el tiempo de parada de uno de los robots implicados en la
colisión inminente.
(2)t_{c} <
\alpha *
t_{s}
En una realización del invento, se permite al
operador del robot fijar o ajustar el valor del factor de seguridad
\alpha para cada par de zonas. También se permite al operador
fijar el factor de seguridad \alpha en un valor menor que uno. En
el caso de que el factor de seguridad \alpha se fija en un valor
menor de uno, se desactiva la detección de evitación de colisión
para ese par de zonas. Esto es, por ejemplo, ventajoso si el
operador sabe que el camino del robot está cerca de, o coincide con,
el objeto, y de esta forma se permitiría al robot llegar muy cerca
de, o incluso estar en contacto con, el objeto, sin correr el riesgo
de ser parado por el sistema de evitación de la colisión.
La distancia mínima calculada se compara con un
valor mínimo d_{min}, y en caso de que la distancia mínima
calculada d_{sd} sea menor que el valor mínimo, la velocidad del
robot se reduce en un porcentaje dado, por ejemplo una reducción
del orden del 20-30% de la velocidad. Reducir la
velocidad del robot significa que se reduce el tiempo de parada
t_{s} del robot y debido a eso se incrementa el tiempo permitido
que queda hasta la colisión t_{c} de acuerdo con la ecuación
2.
Todos los pares de zonas son tratados de la
misma forma. El bucle, bloques 52-54, continúa hasta
que todos los pares de zonas han sido tenidos en cuenta. Si se ha
detectado una colisión inminente, esto es si t_{c} <
\alpha_{*}t_{s}, y si cualquiera de las zonas pertenece a una
unidad mecánica conectada a la unidad 5 de control del robot, se
ordena parar a las unidades correspondientes. Si cualquiera de las
zonas pertenece a un objeto externo, la unidad 11 de evitación de
colisión puede enviar una señal de parada a una unidad de control
externa, tal como una PLC, a la que dicho objeto deberá estar
conectado. De esta forma, a cuál de los objetos que se mueven se
ordena parar depende de a cuál del o de los objetos pertenece el par
de zonas. Si una de las zonas pertenece al robot 1 y la otra zona
pertenece al robot 2, ambos robots son ordenados parar. Las órdenes
de parada son generadas desde una tarea de monitorización dentro de
la unidad de cálculo 13 y propagadas por todo el controlador 5 del
robot a través de la unidad de parada 10.
Si la distancia más corta entre cualquiera del
par de zonas está por debajo de una distancia mínima d_{min}, la
velocidad de los objetos que se mueven a los que las zonas de
protección están vinculadas y monitorizadas, se deberá reducir en
un porcentaje dado.
A partir de una distancia mayor que la distancia
horizonte d_{h}, se calcula una aproximación de la distancia más
corta entre cada par de zonas no protegidas fijas. Desde una
distancia más corta que la distancia horizonte d_{h}, se calcula
la distancia más corta entre cada par de zonas de protección no
fijas. Las distancias obtenidas se registran en una memoria
intermedia ambas para posiciones pasadas y futuras con un incremento
de tiempo constante dentro del intervalo de tiempo fijado por la
unidad de control del robot. El método comprende interpolar las
últimas 3-10 distancias más cortas registradas
dentro del intervalo de tiempo mediante una función lineal o
cuadrática. A partir de la extrapolación de la curva obtenida se
estima el tiempo que queda hasta la colisión de pares de objetos.
Se envía una orden a los objetos que se mueven de parar en el camino
si el tiempo predicho que queda hasta la colisión es menor que
\alpha veces su respectivo tiempo de parada. Se ordena una parada
de emergencia para los robots, posiblemente fuera del camino
programado.
En otra realización, las predicciones del tiempo
que queda hasta la colisión se obtienen con muy alta precisión por
debajo de un umbral predefinido para el intervalo de tiempo de
visión hacia adelante, en tanto que por encima del umbral se
obtienen con una precisión más baja. Alternativamente, las
predicciones del tiempo que queda hasta la colisión se obtienen con
muy alta precisión por debajo de un umbral predefinido d_{h} para
la distancia más corta entre los pares de zonas, en tanto que por
encima del umbral se obtienen con una precisión más baja.
Las ventajas del presente invento son que las
colisiones entre zonas de protección pueden ser previstas muy
anticipadamente con una aproximación grosera, y con mucha precisión
dentro de un tiempo más corto de visión hacia delante. Esto da
lugar a una evitación de colisión en un tiempo real verdadero,
minimizando el riesgo de sobrecarga de la CPU de una unidad de
control del robot utilizando un algoritmo eficiente que pueda
funcionar como un dispositivo externo conectado por una vía
principal transmisora al ordenador principal de la unidad de
control del robot.
El presente invento no está limitado a las
realizaciones expuestas sino que puede ser variado y modificado
dentro del alcance de las siguientes reivindicaciones. Por ejemplo,
en lugar de calcular el tiempo que queda hasta la colisión como el
tiempo hasta que la curva de distancia más corta intersecciona con
el eje de tiempos, es decir el tiempo cuando la distancia entre el
robot y el objeto es cero. También es posible calcular el tiempo
hasta que la distancia entre el robot y el objeto es menor que una
distancia crítica que está próxima a cero.
Claims (18)
1. Un método para evitar colisiones entre
componentes de un robot industrial multiaxial y al menos otro
objeto, en el que el método comprende:
recibir información sobre un camino planificado
para el robot,
calcular las distancias más cortas entre los
componentes del robot y el objeto en una pluralidad de puntos
futuros en el tiempo basándose en dicha información sobre el camino
planificado, y
caracterizado porque el método comprende
además:
realizar una extrapolación de las distancias más
cortas almacenadas hasta que la distancia entre el robot y el
objeto se haga cero, y sobre esta base determinar el tiempo que
queda hasta una colisión entre el robot y el objeto,
comparar el tiempo estimado que queda hasta la
colisión y el tiempo de parada para el robot, y
parar el robot o el objeto en caso de que el
tiempo estimado que queda hasta la colisión esté próximo al tiempo
de parada para el robot.
\vskip1.000000\baselineskip
2. El método de acuerdo con la reivindicación 1,
en el que dicha pluralidad de puntos futuros en el tiempo son
consecutivamente seleccionados durante un intervalo de tiempo
definido de visión hacia adelante.
\vskip1.000000\baselineskip
3. El método de acuerdo con la reivindicación 1
ó 2, en el que dicha información sobre el camino planificado del
robot comprende información sobre los ángulos de la articulación
futuros en el camino planificado.
\vskip1.000000\baselineskip
4. El método de acuerdo con cualquiera de las
reivindicaciones anteriores, en el que el método comprende:
definir una o más zonas de protección vinculadas
a y que encierran los componentes del robot,
definir una o más zonas de protección vinculadas
a y que encierran el objeto,
calcular las distancias más cortas entre la o
las zonas del robot y la o las zonas del objeto en una pluralidad
de puntos futuros en el tiempo, y basándose en ello estimar el
tiempo que queda hasta que ocurra una colisión entre las zonas,
almacenar en una memoria intermedia las
distancias más cortas calculadas para cada par de zonas, y basándose
en ello estimar el tiempo que queda hasta que ocurra una colisión
entre las zonas.
\vskip1.000000\baselineskip
5. El método de acuerdo con cualquiera de las
reivindicaciones anteriores, en el que el método comprende:
definir al menos dos zonas de protección
vinculadas a y que encierran los componentes del robot,
calcular la distancia más corta entre las zonas
del robot en una pluralidad de puntos futuros en el tiempo, y
basándose en ello estimar el tiempo que queda hasta que ocurra una
colisión entre los componentes del robot.
\vskip1.000000\baselineskip
6. El método de acuerdo con cualquiera de las
reivindicaciones anteriores, en el que dicho otro objeto es un
robot industrial multiaxial, y el método comprende:
definir al menos dos zonas de protección
vinculadas a y que encierran los componentes del primer robot,
definir al menos dos zonas de protección
vinculadas a y que encierran los componentes del segundo robot,
formar pares de zonas que constan de una zona
del primer robot y de una zona del segundo robot,
calcular para cada par de zonas la distancia más
corta entre las zonas en una pluralidad de puntos futuros en el
tiempo, y
almacenar en una memoria intermedia las
distancias más cortas calculadas para cada par de zonas, y basándose
en ello estimar el tiempo que queda hasta que ocurra una colisión
entre las zonas.
\vskip1.000000\baselineskip
7. El método de acuerdo con cualquiera de las
reivindicaciones anteriores, en el que el método comprende además
calcular una distancia más corta entre los componentes del robot y
el objeto, determinar si la distancia más corta calculada es menor
que un valor umbral, y en caso de que la distancia más corta sea
menor que el valor umbral, se estima el tiempo que queda hasta la
colisión, en caso contrario no se hace estimación alguna del tiempo
que queda hasta la colisión.
8. El método de acuerdo con cualquiera de las
reivindicaciones anteriores, en el que se ordena al robot o al
objeto parar en caso de que el tiempo estimado que queda hasta la
colisión sea menor que el tiempo de parada multiplicado por un
factor de seguridad fijado por el usuario.
9. El método de acuerdo con cualquiera de las
anteriores reivindicaciones, en el que el método comprende además
calcular una distancia más corta entre los componentes del robot y
el objeto, determinar si la distancia más corta calculada es menor
que un valor mínimo definido, y en caso de que la distancia más
corta sea menor que el valor mínimo reducir la velocidad del robot
en un porcentaje dado.
10. Un producto de programa de ordenador que
puede cargarse directamente en la memoria interna de un ordenador,
que comprende el soporte lógico para realizar los pasos de
cualquiera de las reivindicaciones 1-9.
11. Un medio que puede ser leído por un
ordenador, que tiene un programa registrado en él, en el que el
programa es para que un ordenador realice los pasos de cualquiera
de las reivindicaciones 1-9 cuando se ejecuta dicho
programa en el ordenador.
12. Un dispositivo para evitar colisiones entre
componentes de un robot industrial multiaxial (1, 2) y al menos
otro objeto (1-3), en el que el dispositivo
comprende una unidad de cálculo (13) adaptada para recibir
información sobre un camino planificado para el robot, calcular las
distancias más cortas entre los componentes del robot y el objeto
en una pluralidad de puntos futuros en el tiempo basándose en dicha
información sobre el camino planificado, y calcular un tiempo de
parada para el robot, caracterizado porque en dicha unidad
de cálculo (13) está además adaptada para realizar una extrapolación
de las distancias más cortas almacenadas hasta que la distancia
entre el robot y el objeto sea cero, y sobre esta base determinar el
tiempo que queda hasta una colisión entre el robot y el objeto,
comparar el tiempo estimado que queda hasta la colisión y el tiempo
de parada para el robot, y generar una orden de parar el robot o el
objeto en caso de que el tiempo que queda estimado hasta la
colisión esté próximo al tiempo de parada para el robot.
13. El dispositivo de acuerdo con la
reivindicación 12, en el que el dispositivo comprende una memoria
(16) para almacenar los datos generados definiendo las zonas de
protección vinculadas a y que encierran los componentes del robot y
el objeto, y dicha unidad de cálculo está adaptada para calcular la
distancia más corta entre la o las zonas del robot y la o las zonas
del objeto en una pluralidad de puntos futuros en el tiempo, y
basándose en ello estimar el tiempo que queda hasta que ocurra una
colisión entre las zonas.
14. El dispositivo de acuerdo con la
reivindicación 13, en el que dicha memoria (16) está adaptada para
almacenar dos o más zonas de protección que encierran los
componentes del robot, y dicha unidad de cálculo está adaptada para
calcular la distancia más corta entre la o las zonas del robot en
una pluralidad de puntos futuros en el tiempo, y basándose en ello
estimar el tiempo que queda hasta que ocurra una colisión entre los
componentes del robot.
15. El dispositivo de acuerdo con cualquiera de
las reivindicaciones 12-14, en el que dicha unidad
de cálculo (13) está adaptada para calcular una distancia más corta
entre los componentes del robot y el objeto, determinando si la
distancia más corta calculada es menor que un valor umbral, y en el
caso en que la distancia más corta calculada sea menor que el valor
umbral, se estima el tiempo que queda hasta la colisión, en caso
contrario no se estima el tiempo que queda hasta que la colisión se
haya producido.
16. El dispositivo de acuerdo con cualquiera de
las reivindicaciones 12-15, en el que dicha unidad
de cálculo (13) está adaptada para calcular una distancia más corta
entre los componentes del robot y el objeto, para determinar si la
distancia más corta calculada es menor que un valor mínimo y en caso
de que la distancia más corta sea menor que el valor mínimo,
reducir la velocidad del robot en un porcentaje dado.
17. El dispositivo de acuerdo con cualquiera de
las reivindicaciones 12-16, en el que el robot o el
objeto es parado en el caso de que el tiempo estimado que queda
hasta la colisión sea más corto que el tiempo de parada
multiplicado por un factor de seguridad fijado por el usuario.
18. Uso del método de acuerdo con cualquiera de
las reivindicaciones 1-9 y del dispositivo de
acuerdo con cualquiera de las reivindicaciones
12-17 para evitar colisiones entre robots en un
sistema multi-robot.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP06120615A EP1901150B1 (en) | 2006-09-14 | 2006-09-14 | A method and device for avoiding collisions between an industrial robot and an object |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2316012T3 true ES2316012T3 (es) | 2009-04-01 |
Family
ID=37728303
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES06120615T Active ES2316012T3 (es) | 2006-09-14 | 2006-09-14 | Un metodo y dispositivo para evitar colisiones entre un robot industrial y un objeto. |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1901150B1 (es) |
| CN (1) | CN101512453B (es) |
| AT (1) | ATE412929T1 (es) |
| DE (1) | DE602006003435D1 (es) |
| ES (1) | ES2316012T3 (es) |
| WO (1) | WO2008031664A1 (es) |
Families Citing this family (78)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102008016604B4 (de) * | 2008-04-01 | 2014-07-17 | Kuka Laboratories Gmbh | Verfahren und Vorrichtung zur Eigenkollisionsüberwachung eines Manipulators |
| DE102009006256B4 (de) | 2009-01-27 | 2019-01-03 | Deutsches Forschungszentrum für künstliche Intelligenz GmbH | Verfahren zur Vermeidung von Kollisionen gesteuert beweglicher Teile einer Anlage |
| DE102009040145A1 (de) * | 2009-09-04 | 2011-03-10 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Stillsetzen eines Manipulators |
| CN102323822B (zh) * | 2011-05-09 | 2013-07-03 | 无锡引域智能机器人有限公司 | 一种避免工业机器人碰撞工人的方法 |
| US9832352B2 (en) | 2011-11-16 | 2017-11-28 | Autofuss | System and method for 3D projection mapping with robotically controlled objects |
| JP2015506121A (ja) * | 2011-11-16 | 2015-02-26 | ストーウェル・リンネル・エルエルシー | ロボット制御のオブジェクトによる3dプロジェクション・マッピングのシステム及び方法 |
| CN104203505A (zh) * | 2012-03-22 | 2014-12-10 | 株式会社安川电机 | 作业机器人及机器人系统 |
| DE102012010856A1 (de) * | 2012-05-31 | 2013-12-05 | Kuka Roboter Gmbh | Verfahren und Mittel zur Überwachung einer Roboteranordnung |
| EP2838698B2 (de) | 2012-07-10 | 2020-01-01 | Siemens Aktiengesellschaft | Roboteranordnung und verfahren zum steuern eines roboters |
| WO2014056533A1 (en) * | 2012-10-11 | 2014-04-17 | Abb Technology Ltd | A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position |
| JP5835254B2 (ja) * | 2013-03-15 | 2015-12-24 | 株式会社安川電機 | ロボットシステム、及び、ロボットシステムの制御方法 |
| CN104070522B (zh) * | 2013-03-27 | 2016-10-05 | 中绿农农业发展有限公司 | 用于工业机器人的能够自动识别及避免碰撞的方法及装置 |
| CN103386684B (zh) * | 2013-08-21 | 2016-02-24 | 福州大学 | 一种防止机器人产生意外碰撞的装置及设计方法 |
| CN104416581A (zh) * | 2013-08-27 | 2015-03-18 | 富泰华工业(深圳)有限公司 | 具有报警功能的机械手 |
| KR102379623B1 (ko) | 2014-02-05 | 2022-03-29 | 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 | 동적 가상 충돌 객체를 위한 시스템 및 방법 |
| US9555545B2 (en) * | 2014-05-21 | 2017-01-31 | Bot & Dolly, Llc | Systems and methods for time-based parallel robotic operation |
| JP6462012B2 (ja) * | 2014-07-02 | 2019-01-30 | シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft | 警報方法およびロボットシステム |
| US9403275B2 (en) | 2014-10-17 | 2016-08-02 | GM Global Technology Operations LLC | Dynamic obstacle avoidance in a robotic system |
| CN104626208A (zh) * | 2015-01-07 | 2015-05-20 | 北京卫星环境工程研究所 | 航天器机械臂辅助装配安全工作空间建立及干涉预警方法 |
| DE202015000333U1 (de) | 2015-01-15 | 2016-04-21 | Kuka Roboter Gmbh | Fahrgeschäft mit Roboteranordnung |
| WO2016138124A1 (en) | 2015-02-25 | 2016-09-01 | Mako Surgical Corp. | Navigation systems and methods for reducing tracking interruptions during a surgical procedure |
| JP6200456B2 (ja) | 2015-06-29 | 2017-09-20 | ファナック株式会社 | 工作機械とロボット間の干渉チェックシステム |
| EP3115857A1 (de) * | 2015-07-09 | 2017-01-11 | Siemens Aktiengesellschaft | Trajektorienbestimmungsverfahren für nebenzeitbewegungen |
| CN105269556B (zh) * | 2015-09-20 | 2018-03-16 | 深圳市得意自动化科技有限公司 | 机器人的运动前瞻方法 |
| DE102016005026B3 (de) * | 2016-04-24 | 2017-05-18 | Sami Haddadin | System und Verfahren zum Steuern eines Roboters |
| WO2017214581A1 (en) | 2016-06-10 | 2017-12-14 | Duke University | Motion planning for autonomous vehicles and reconfigurable motion planning processors |
| CN106166749B (zh) * | 2016-06-29 | 2018-09-18 | 北京控制工程研究所 | 一种空间移动多臂机器人的移动轨迹规划方法 |
| EP3287861A1 (en) | 2016-08-24 | 2018-02-28 | Siemens Aktiengesellschaft | Method for testing an autonomous system |
| EP3287243A1 (en) * | 2016-08-24 | 2018-02-28 | Siemens Aktiengesellschaft | Method for collision detection and autonomous system |
| US10545480B2 (en) | 2016-11-07 | 2020-01-28 | Lincoln Global, Inc. | System and method for manufacturing and control thereof |
| JP6400751B2 (ja) | 2017-01-26 | 2018-10-03 | ファナック株式会社 | ロボットプログラム修正装置、ロボット制御装置、ロボットシミュレーション装置およびロボットプログラム修正方法 |
| CN107688342B (zh) * | 2017-03-27 | 2019-05-10 | 平安科技(深圳)有限公司 | 机器人的避障控制系统及方法 |
| CN107029971B (zh) * | 2017-04-27 | 2019-11-26 | 安徽江淮汽车集团股份有限公司 | 一种汽车内喷漆工艺机器人防碰撞方法 |
| CN107336230B (zh) * | 2017-05-09 | 2020-05-05 | 浙江工业大学 | 一种基于投影和距离判断的工业机器人碰撞预测方法 |
| DE102017123295A1 (de) * | 2017-10-06 | 2019-04-11 | Pilz Gmbh & Co. Kg | Sicherheitssystem zur Absicherung eines kooperativen Betriebs von Menschen, Robotern und Maschinen |
| EP3498433A1 (en) | 2017-12-14 | 2019-06-19 | Universal Robots A/S | Dynamical safety trajectories in a robotic system |
| WO2019139815A1 (en) | 2018-01-12 | 2019-07-18 | Duke University | Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects |
| TWI822729B (zh) | 2018-02-06 | 2023-11-21 | 美商即時機器人股份有限公司 | 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備 |
| WO2019183141A1 (en) | 2018-03-21 | 2019-09-26 | Realtime Robotics, Inc. | Motion planning of a robot for various environments and tasks and improved operation of same |
| CN110570687B (zh) * | 2018-06-06 | 2021-04-27 | 杭州海康机器人技术有限公司 | Agv的控制方法、装置及存储介质 |
| CN109093622B (zh) * | 2018-08-20 | 2021-10-01 | 珠海格力智能装备有限公司 | 机械手的监控方法和装置 |
| CN112601641B (zh) | 2018-08-23 | 2024-03-08 | 实时机器人有限公司 | 用于机器人运动规划的碰撞检测 |
| US11254004B2 (en) * | 2018-08-30 | 2022-02-22 | Veo Robotics, Inc. | System identification of industrial robot dynamics for safety-critical applications |
| EP3860812B1 (en) * | 2018-10-01 | 2023-12-20 | ABB Schweiz AG | Safe operation of a robotic system |
| EP3639983A1 (en) * | 2018-10-18 | 2020-04-22 | Technische Universität München | Anti-collision safety measures for a reconfigurable modular robot |
| JP6863945B2 (ja) * | 2018-10-24 | 2021-04-21 | ファナック株式会社 | ロボットの制御方法 |
| EP3891570A4 (en) | 2018-12-04 | 2022-01-26 | Duke University | Apparatus, method and article to facilitate motion planning in an environment having dynamic objects |
| DE102018133472B3 (de) * | 2018-12-21 | 2020-03-12 | Franka Emika Gmbh | Bewegungsüberwachung eines Robotermanipulators |
| CN113226674B (zh) * | 2018-12-28 | 2024-05-31 | 京瓷办公信息系统株式会社 | 控制装置 |
| JP7147571B2 (ja) | 2019-01-15 | 2022-10-05 | オムロン株式会社 | 経路生成装置、経路生成方法、及び経路生成プログラム |
| JP7143776B2 (ja) * | 2019-01-31 | 2022-09-29 | オムロン株式会社 | 制御システム、及び、制御システムの制御方法 |
| EP3709106B1 (de) * | 2019-03-11 | 2021-01-06 | Sick Ag | Absichern einer maschine |
| US12017364B2 (en) | 2019-04-17 | 2024-06-25 | Realtime Robotics, Inc. | Motion planning graph generation user interface, systems, methods and articles |
| JP7479064B2 (ja) | 2019-06-03 | 2024-05-08 | リアルタイム ロボティクス, インコーポレーテッド | 動的障害物を有する環境における動作計画を容易にする装置、方法及び物品 |
| TWI873149B (zh) | 2019-06-24 | 2025-02-21 | 美商即時機器人股份有限公司 | 用於多個機械手臂於共用工作空間中之移動規劃系統及方法 |
| JP7368025B2 (ja) | 2019-08-23 | 2023-10-24 | リアルタイム ロボティクス, インコーポレーテッド | 加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画 |
| US11747787B2 (en) | 2019-08-30 | 2023-09-05 | Intrinsic Innovation Llc | Combining transformers for robotics planning |
| US11577392B2 (en) | 2019-08-30 | 2023-02-14 | Intrinsic Innovation Llc | Splitting transformers for robotics planning |
| EP3792716B1 (de) | 2019-09-13 | 2022-11-09 | Siemens Aktiengesellschaft | Numerische steuerung mit pufferung von lagesollwerten |
| EP3797937A1 (de) | 2019-09-27 | 2021-03-31 | Siemens Aktiengesellschaft | Anhalten einer produktionsmaschine auf kollisionsfreier bahn |
| CN111176274B (zh) * | 2019-12-26 | 2023-03-28 | 西门子(深圳)磁共振有限公司 | 多轴运动系统的防碰撞方法、系统和存储介质 |
| TWI887329B (zh) | 2020-01-22 | 2025-06-21 | 美商即時機器人股份有限公司 | 於多機器人操作環境中之機器人之建置之方法及系統 |
| DE102020104359B4 (de) | 2020-02-19 | 2022-04-14 | Franka Emika Gmbh | Arbeitsraumbegrenzung für einen Robotermanipulator |
| CN115297999A (zh) | 2020-03-18 | 2022-11-04 | 实时机器人有限公司 | 在机器人的运动规划中有用的机器人操作环境的数字表示 |
| CN112247993B (zh) * | 2020-04-15 | 2022-02-18 | 牧今科技 | 具有碰撞避免机制的机器人系统及其操作方法 |
| CN111504328B (zh) * | 2020-05-22 | 2022-07-08 | 梅卡曼德(北京)机器人科技有限公司 | 机器人运动规划方法、路径规划方法、抓取方法及其装置 |
| CN113291845A (zh) * | 2020-09-27 | 2021-08-24 | 中冶长天国际工程有限责任公司 | 一种堆取料机的防碰撞方法及系统 |
| CN116261505A (zh) | 2020-11-18 | 2023-06-13 | 发那科株式会社 | 自干扰判定装置 |
| CN116472146A (zh) * | 2020-12-02 | 2023-07-21 | 实时机器人有限公司 | 在机器人运动规划和控制中采用间隙确定的系统、方法和用户界面 |
| EP4279224A4 (en) * | 2021-01-12 | 2024-02-28 | Kawasaki Jukogyo Kabushiki Kaisha | PATH GENERATION DEVICE, PATH GENERATION METHOD AND PATH GENERATION PROGRAM |
| US20240399578A1 (en) * | 2021-09-29 | 2024-12-05 | Gaiotto Automation S.P.A. | Method for the safety control, during direct teaching, of a robotised system and relative robotised system |
| CN113799143B (zh) * | 2021-11-18 | 2022-04-19 | 广东隆崎机器人有限公司 | 一种多机器人在工作区域内的安全协作方法及装置 |
| JP7695868B2 (ja) * | 2021-11-25 | 2025-06-19 | 株式会社日立製作所 | ロボットシステム及びロボット制御装置 |
| JP7485705B2 (ja) | 2022-02-10 | 2024-05-16 | 株式会社安川電機 | ロボットシステム、タスク生成装置及び制御方法 |
| CN114327919B (zh) * | 2022-03-14 | 2022-05-24 | 北京航天驭星科技有限公司 | 空间目标碰撞预警方法及系统 |
| CN116638515A (zh) * | 2023-05-31 | 2023-08-25 | 重庆日联科技有限公司 | 一种用于铅房内机器人x光检测系统的防撞保护方法 |
| CN116700338A (zh) * | 2023-06-28 | 2023-09-05 | 中国电子科技集团公司信息科学研究院 | 一种基于几何法的无人机集群机间避撞方法及设备 |
| CN120252738B (zh) * | 2025-06-03 | 2025-08-05 | 华南理工大学 | 一种人工智能机器人路径规划方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19517771A1 (de) * | 1995-05-15 | 1996-11-21 | Siemens Ag | Verfahren zum Betrieb einer numerisch gesteuerten Werkzeugmaschine oder eines Roboters |
| JP2000190262A (ja) * | 1998-12-22 | 2000-07-11 | Denso Corp | ロボットの制御装置 |
| US6678582B2 (en) * | 2002-05-30 | 2004-01-13 | Kuka Roboter Gmbh | Method and control device for avoiding collisions between cooperating robots |
| CN1304178C (zh) * | 2004-05-24 | 2007-03-14 | 熊勇刚 | 一种多机械臂机器人关节间的碰撞检测方法 |
| CN1796046B (zh) * | 2004-12-30 | 2010-05-26 | 鸿富锦精密工业(深圳)有限公司 | 数控机床碰撞自动侦测系统 |
-
2006
- 2006-09-14 ES ES06120615T patent/ES2316012T3/es active Active
- 2006-09-14 AT AT06120615T patent/ATE412929T1/de not_active IP Right Cessation
- 2006-09-14 DE DE602006003435T patent/DE602006003435D1/de active Active
- 2006-09-14 EP EP06120615A patent/EP1901150B1/en active Active
-
2007
- 2007-07-24 CN CN2007800332359A patent/CN101512453B/zh active Active
- 2007-07-24 WO PCT/EP2007/057617 patent/WO2008031664A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| CN101512453A (zh) | 2009-08-19 |
| ATE412929T1 (de) | 2008-11-15 |
| EP1901150A1 (en) | 2008-03-19 |
| CN101512453B (zh) | 2011-11-02 |
| EP1901150B1 (en) | 2008-10-29 |
| WO2008031664A1 (en) | 2008-03-20 |
| DE602006003435D1 (de) | 2008-12-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2316012T3 (es) | Un metodo y dispositivo para evitar colisiones entre un robot industrial y un objeto. | |
| CN101888920B (zh) | 机器人动作限制方法、机器人系统和机器人动作限制装置 | |
| EP4348377B1 (en) | Alternate route finding for waypoint-based navigation maps | |
| US10162364B2 (en) | Robot and control method thereof | |
| EP2065775B1 (en) | Mobile apparatus and control program therefor | |
| EP1901151B1 (en) | A method and a device for avoiding collisions between an industrial robot and an object | |
| US20230234229A1 (en) | Systems and methods of coordinated body motion of robotic devices | |
| KR101679482B1 (ko) | 장애물 회피를 위한 멀티로봇 시스템 및 장애물 회피를 위한 스위칭 대형 전략을 이용하는 방법 | |
| JP5025598B2 (ja) | 干渉チェック制御装置および干渉チェック制御方法 | |
| US20160059408A1 (en) | Traveling robot, notion planning method for traveling robot, and storage medium storing program for traveling robot | |
| CN102523737A (zh) | 实现防撞机制的机器人装置和相关联的方法 | |
| US11137768B2 (en) | Position estimation system, position detection method, and program | |
| Norouzi et al. | Planning high-visibility stable paths for reconfigurable robots on uneven terrain | |
| Beckert et al. | Online verification of multiple safety criteria for a robot trajectory | |
| CN111930118B (zh) | 一种机器人避开充电座的控制方法、芯片及机器人 | |
| JP5878750B2 (ja) | ロボットの動作規制方法及び装置 | |
| JP2016062441A (ja) | 全方位移動車 | |
| KR20110107508A (ko) | 자율주행 장치의 경로추적 방법 | |
| JP2023167210A (ja) | 無人搬送システム | |
| JP2013237125A (ja) | 移動体の移動制御方法 | |
| JP6187500B2 (ja) | 自律移動ロボットの自己位置推定方法、自律移動ロボット、及び自己位置推定用ランドマーク | |
| KR20220020239A (ko) | 로봇 조정기의 모션 감시 | |
| US20220397905A1 (en) | Information processing apparatus, information processing method, and program | |
| JP7259487B2 (ja) | 制御方法およびロボットシステム | |
| US20250135635A1 (en) | Simulation device |