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 PDF

Info

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
Application number
ES06120615T
Other languages
English (en)
Inventor
Morten Strandberg
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB Research Ltd Switzerland
ABB Research Ltd Sweden
Original Assignee
ABB Research Ltd Switzerland
ABB Research Ltd Sweden
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ABB Research Ltd Switzerland, ABB Research Ltd Sweden filed Critical ABB Research Ltd Switzerland
Application granted granted Critical
Publication of ES2316012T3 publication Critical patent/ES2316012T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical 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 programme data in numerical form
    • G05B19/406Numerical 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 programme data in numerical form characterised by monitoring or safety
    • G05B19/4061Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39084Parts handling, during assembly
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39088Inhibit movement in one axis if collision danger
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39091Avoid collision with moving obstacles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39097Estimate own stop, brake time, then verify if in safe distance

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (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.
Campo del invento
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.
Técnica anterior
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.
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.
Objetos y resumen del invento
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.
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.
Breve descripción de los dibujos
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.
Descripción detallada de las realizaciones preferidas 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.
ES06120615T 2006-09-14 2006-09-14 Un metodo y dispositivo para evitar colisiones entre un robot industrial y un objeto. Active ES2316012T3 (es)

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 (72)

* Cited by examiner, † Cited by third party
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 无锡引域智能机器人有限公司 一种避免工业机器人碰撞工人的方法
EP2780764B1 (en) * 2011-11-16 2022-08-03 X Development LLC System and method for 3d projection mapping with robotically controlled objects
US9832352B2 (en) 2011-11-16 2017-11-28 Autofuss System and method for 3D projection mapping with robotically controlled objects
EP2829371A1 (en) * 2012-03-22 2015-01-28 Kabushiki Kaisha Yaskawa Denki Work robot and robot system
DE102012010856A1 (de) * 2012-05-31 2013-12-05 Kuka Roboter Gmbh Verfahren und Mittel zur Überwachung einer Roboteranordnung
WO2014008929A1 (de) * 2012-07-10 2014-01-16 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 富泰华工业(深圳)有限公司 具有报警功能的机械手
CN106255471B (zh) 2014-02-05 2018-10-26 直观外科手术操作公司 用于动态虚拟碰撞物体的系统和方法
US9555545B2 (en) * 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
CN106660215B (zh) * 2014-07-02 2021-09-17 西门子公司 预警系统和机器人系统
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
US10660711B2 (en) 2015-02-25 2020-05-26 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
EP3449214B1 (en) 2016-06-10 2021-12-15 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
CN107717996B (zh) * 2017-11-14 2018-08-24 北京镁伽机器人科技有限公司 具有测距停止功能的多关节机器人和测距停止方法
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 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
US11738457B2 (en) 2018-03-21 2023-08-29 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 珠海格力智能装备有限公司 机械手的监控方法和装置
EP3843956A4 (en) * 2018-08-30 2021-12-22 Veo Robotics, Inc. SYSTEM IDENTIFICATION OF THE DYNAMICS OF INDUSTRIAL ROBOTS 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 ファナック株式会社 ロボットの制御方法
DE102018133472B3 (de) * 2018-12-21 2020-03-12 Franka Emika Gmbh Bewegungsüberwachung eines Robotermanipulators
JP7156397B2 (ja) * 2018-12-28 2022-10-19 京セラドキュメントソリューションズ株式会社 制御装置
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
CN113905855B (zh) 2019-04-17 2023-08-25 实时机器人有限公司 运动规划图生成用户界面、系统、方法和规则
JP7479064B2 (ja) 2019-06-03 2024-05-08 リアルタイム ロボティクス, インコーポレーテッド 動的障害物を有する環境における動作計画を容易にする装置、方法及び物品
JP7368025B2 (ja) 2019-08-23 2023-10-24 リアルタイム ロボティクス, インコーポレーテッド 加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画
WO2021041960A1 (en) * 2019-08-30 2021-03-04 X Development Llc Splitting transformers for robotics planning
US11747787B2 (en) 2019-08-30 2023-09-05 Intrinsic Innovation Llc Combining 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 西门子(深圳)磁共振有限公司 多轴运动系统的防碰撞方法、系统和存储介质
TW202146189A (zh) 2020-01-22 2021-12-16 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置
DE102020104359B4 (de) 2020-02-19 2022-04-14 Franka Emika Gmbh Arbeitsraumbegrenzung für einen Robotermanipulator
CN112247993B (zh) * 2020-04-15 2022-02-18 牧今科技 具有碰撞避免机制的机器人系统及其操作方法
CN111504328B (zh) * 2020-05-22 2022-07-08 梅卡曼德(北京)机器人科技有限公司 机器人运动规划方法、路径规划方法、抓取方法及其装置
CN113291845A (zh) * 2020-09-27 2021-08-24 中冶长天国际工程有限责任公司 一种堆取料机的防碰撞方法及系统
TW202221433A (zh) * 2020-11-18 2022-06-01 日商發那科股份有限公司 自干擾判定裝置
US20240009845A1 (en) * 2020-12-02 2024-01-11 Realtime Robotics, Inc. Systems, methods, and user interfaces employing clearance determinations in robot motion planning and control
CN116745074A (zh) * 2021-01-12 2023-09-12 川崎重工业株式会社 路径生成装置、路径生成方法以及路径生成程序
WO2023053053A1 (en) * 2021-09-29 2023-04-06 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 广东隆崎机器人有限公司 一种多机器人在工作区域内的安全协作方法及装置
JP2023077725A (ja) * 2021-11-25 2023-06-06 株式会社日立製作所 ロボットシステム及びロボット制御装置
CN114327919B (zh) * 2022-03-14 2022-05-24 北京航天驭星科技有限公司 空间目标碰撞预警方法及系统
CN116638515A (zh) * 2023-05-31 2023-08-25 重庆日联科技有限公司 一种用于铅房内机器人x光检测系统的防撞保护方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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 鸿富锦精密工业(深圳)有限公司 数控机床碰撞自动侦测系统

Also Published As

Publication number Publication date
CN101512453B (zh) 2011-11-02
EP1901150B1 (en) 2008-10-29
CN101512453A (zh) 2009-08-19
ATE412929T1 (de) 2008-11-15
WO2008031664A1 (en) 2008-03-20
DE602006003435D1 (de) 2008-12-11
EP1901150A1 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
ES2316012T3 (es) Un metodo y dispositivo para evitar colisiones entre un robot industrial y un objeto.
EP1901151B1 (en) A method and a device for avoiding collisions between an industrial robot and an object
US10065306B2 (en) Traveling robot, motion planning method for traveling robot, and storage medium storing program for traveling robot
EP2065775B1 (en) Mobile apparatus and control program therefor
CN101888920B (zh) 机器人动作限制方法、机器人系统和机器人动作限制装置
US20160334802A1 (en) Robot and control method thereof
JP6863991B2 (ja) 自律的な移動ロボットのための仮想的なライン追従方法及び改造方法並びに移動ロボット
JP5025598B2 (ja) 干渉チェック制御装置および干渉チェック制御方法
CN102523737A (zh) 实现防撞机制的机器人装置和相关联的方法
JP2012223845A (ja) ロボットの着目部位と周辺物との干渉を予測する方法及び装置
KR20190079322A (ko) 로봇 제어 시스템
US11137768B2 (en) Position estimation system, position detection method, and program
Beckert et al. Online verification of multiple safety criteria for a robot trajectory
Norouzi et al. Planning high-visibility stable paths for reconfigurable robots on uneven terrain
EP3827936B1 (en) Control method for robot system
KR101079197B1 (ko) 자율주행 장치의 경로추적 방법
US20220032464A1 (en) Motion monitoring of a robot manipulator
JP2016062441A (ja) 全方位移動車
JP2013129018A (ja) ロボットの動作規制方法及び装置
JP5439552B2 (ja) ロボットシステム
JP2011248713A (ja) 退避場所探索システム、退避場所探索方法
US20230234229A1 (en) Systems and methods of coordinated body motion of robotic devices
JP7259487B2 (ja) 制御方法およびロボットシステム
US20220397905A1 (en) Information processing apparatus, information processing method, and program
KR20130008952A (ko) 자율이동장치의 원형 궤적을 이용한 주행 경로 계획 및 추정 방법