DE102021105772A1 - Interferenzbestimmungsvorrichtung und Verfahren - Google Patents

Interferenzbestimmungsvorrichtung und Verfahren Download PDF

Info

Publication number
DE102021105772A1
DE102021105772A1 DE102021105772.8A DE102021105772A DE102021105772A1 DE 102021105772 A1 DE102021105772 A1 DE 102021105772A1 DE 102021105772 A DE102021105772 A DE 102021105772A DE 102021105772 A1 DE102021105772 A1 DE 102021105772A1
Authority
DE
Germany
Prior art keywords
interference
robots
possibility
determination unit
positions
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.)
Granted
Application number
DE102021105772.8A
Other languages
English (en)
Other versions
DE102021105772B4 (de
Inventor
Haruka FUJII
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Publication of DE102021105772A1 publication Critical patent/DE102021105772A1/de
Application granted granted Critical
Publication of DE102021105772B4 publication Critical patent/DE102021105772B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding 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/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • 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
    • 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/39083Robot interference, between two robot arms

Abstract

Die Interferenzbestimmungsvorrichtung ermöglicht die Verkürzung der Zeit für die Interferenzbestimmung zwischen Robotern bei der Erzeugung von Bewegungen für eine Mehrzahl von Robotern.Eine Erfassungseinheit 42 erfasst eine Stellung zu einem Taktzeit ti und eine Stellung zu einem Taktzeit tj für jeden von mehreren Robotern und erfasst Strukturinformationen. Basierend auf den Strukturinformationen berechnet eine Berechnungseinheit 44 die Positionen des festgelegten Teils für jeden der Roboter zu den Taktzeiten ti, tj und zu einer mittleren Taktzeit tc. Eine Möglichkeitsbestimmungseinheit bestimmt eine Möglichkeit der Interferenz, basierend auf einer Überlappung von erweiterten Bereichen, die sich aus der Addition eines festgelegten Spielraums zu einer einhüllenden Form ergibt, die die Positionen des festgelegten Teils zu den Taktzeiten ti, tj und tc für jeden der Roboter enthält. In Fällen, in denen die Möglichkeit einer Interferenz besteht, legt eine Endbestimmungseinheit 48 tc als ein neues ti oder ein neues tj fest, und bewirkt, dass der Arbeitsablauf der Berechnungseinheit 44 und der Möglichkeitsbestimmungseinheit 46, wiederholt ausgeführt werden, bis ein Abstand zwischen den festgelegten Teilen eine Endbedingung erfüllt. Wenn bestimmt wird, dass die Endbedingung erfüllt ist, bestimmt eine Interferenzbestimmungseinheit 50, ob es eine Interferenz zwischen den festgelegten Teilen zwischen den Robotern an irgendeiner der Positionen bei ti, tc und tj gibt oder nicht.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung bezieht sich auf eine Interferenzbestimmungsvorrichtung, ein Interferenzbestimmungsverfahren und ein Interferenzbestimmungsprogramm.
  • Technischer Hintergrund
  • Bei der Erzeugung von Bewegungen für mehrere Roboter wird bestimmt, ob die Roboter miteinander interferieren oder nicht. Zum Beispiel wird für Fälle, in denen sich mehrere Roboter gleichzeitig bewegen, eine Technologie vorgeschlagen, die Verzögerungen [org.: slippages] in den Bewegungszeiten zwischen den Robotern berücksichtigt und für alle Kombinationen von Bewegungszeiten auf Interferenz zwischen den Robotern prüft. Bei dieser Technologie wird die Interferenz/Nicht-Interferenz bestätigt, indem die Stellung zwischen den Robotern eines ersten und eines zweiten mehrgelenkigen Roboters zu jedem Bewegungszeitpunkt für Bewegungszeiten in einem festgelegten Abstand voneinander kombiniert werden und dann eine Bewegungssimulation implementiert wird. Eine solche Technologie stellt die bestätigten Ergebnisse auch in einem Diagramm dar, mit der Bewegungszeit jedes der ersten und zweiten mehrgelenkigen Roboter auf einer ersten Koordinatenachse und einer zweiten Koordinatenachse. Bei dieser Technologie werden die Stellen, an denen Interferenzen zwischen den Robotern auftreten, durch Markierungen im Zeichnungsbereich des Diagramms angezeigt, und ein Interferenzbereich, der alle Markierungen mit einem geringen Abstand zueinander umschließt, wird ebenfalls im Diagramm angezeigt (Japanische Patentanmeldung Veröffentlichungs-Nr. ( JP-A) 2003-103492 ).
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Technisches Problem
  • Jedoch wenn diese so ausgebildet ist, dass eine Interferenzbestimmung zu jedem Bewegungszeitpunkt für einen vorgegebenen Abstand durchgeführt wird, ist die Genauigkeit der Bestimmung grob, wenn der vorgegebene Abstand zu lang ist, was zu einer Möglichkeit führt, dass Interferenzen/Störungen übersehen werden können. Wenn jedoch eine Konfiguration eingenommen wird, bei der der vorgeschriebene Abstand zu kurz ist, um die Interferenzbestimmung mit guter Genauigkeit durchzuführen, entsteht das Problem, dass die Interferenzbestimmung sehr lange dauert.
  • In Anbetracht der obigen Umstände ist es ein Ziel der vorliegenden Offenbarung, die Zeit für die Bestimmung der Interferenz zwischen Robotern zu verkürzen, wenn die Bewegungserzeugung für mehrere Roboter durchgeführt wird.
  • Lösung des Problems
  • Um das obige Ziel zu erreichen, umfasst eine Interferenzbestimmungsvorrichtung gemäß der vorliegenden Offenbarung eine Erfassungseinheit, eine Berechnungseinheit, eine Möglichkeitsbestimmungseinheit, eine Endbestimmungseinheit und eine Interferenzbestimmungseinheit. Die Erfassungseinheit erfasst eine erste Stellung und eine zweite Stellung für jeden von mehreren Robotern sowie Strukturinformationen. Die Berechnungseinheit ist ausgebildet basierend auf Strukturinformationen für jeden der mehreren Roboter für einen festgelegten Teil von jedem der mehreren Roboter eine erste Position in der ersten Stellung, eine zweite Position in der zweiten Stellung und eine mittlere Position auf einer Trajektorie zwischen der ersten Stellung und der zweiten Stellung zu berechnen. Die Möglichkeitsbestimmungseinheit bestimmt eine Möglichkeit einer Interferenz zwischen Robotern in einem Fall, in dem sich jeder der Mehrzahl von Robotern von der ersten Stellung in die zweite Stellung bewegt. Dies wird basierend auf einer Überlappung von erweiterten Bereichen, die sich aus der Addition eines festgelegten Spielraums zu einer einhüllenden Form ergibt, die den festgelegten Teil von jedem der mehreren Roboter für die ersten Positionen, für die zweiten Positionen und für die mittleren Positionen enthält. In einem Fall, in dem eine Möglichkeit einer Interferenz durch die Möglichkeitsbestimmungseinheit bestimmt worden ist, ist die Endbestimmungseinheit ausgebildet, um die mittlere Position als eine neue Position für die erste Position oder als eine neue Position für die zweite Position festzulegen, und bewirkt, dass der Arbeitsablauf der Berechnungseinheit und der Möglichkeitsbestimmungseinheit wiederholt ausgeführt wird, bis eine festgelegte Bedingung erfüllt ist, wobei die festgelegte Bedingung ist, dass ein Abstand von der ersten Position zu der mittleren Position und ein Abstand von der zweiten Position zu der mittleren Position ausreichend kleine Abstände sind. In einem Fall, in dem die Endbestimmungseinheit bestimmt hat, dass die Abstände die Bedingung erfüllen, ist vorgesehen, dass bestimmt wird, ob es eine Interferenz zwischen den festgelegten Teilen der mehreren Roboter an irgendeiner der ersten Positionen, der zweiten Positionen oder der mittleren Positionen gibt oder nicht.
  • Darüber hinaus kann eine Konfiguration eingenommen [adopted] werden, in der die Berechnungseinheit als die mittlere Position eine Position auf der Trajektorie berechnet, die einen Abstand von der ersten Position oder von der zweiten Position in der Mitte zwischen der ersten Position und der zweiten Position hat.
  • Darüber hinaus kann eine Konfiguration eingenommen werden, in der die Berechnungseinheit als mittlere Position eine Position des festgelegten Teils in einer mittleren Stellung zwischen der ersten Stellung und der zweiten Stellung berechnet.
  • Darüber hinaus kann eine Konfiguration eingenommen werden, in der die Berechnungseinheit als mittlere Stellung eine Stellung eines Roboters zu einer mittleren Taktzeit zwischen einer Taktzeit der ersten Stellung und einer Taktzeit der zweiten Stellung berechnet, und als mittlere Position eine Position des festgelegten Teils in der mittleren Stellung berechnet.
  • Darüber hinaus kann eine Konfiguration eingenommen werden, in der die Möglichkeitsbestimmungseinheit den Spielraum als einen längeren Abstand aus dem Abstand von der ersten Position zur mittleren Position oder dem Abstand von der zweiten Position zur mittleren Position bestimmt.
  • Darüber hinaus kann eine Konfiguration eingenommen werden, in der die Möglichkeitsbestimmungseinheit den Spielraum basierend auf einer festgelegten Beziehung zwischen einem Betrag der Änderung der Stellung eines Roboters und einem Betrag der Änderung der Position des festgelegten Teils bestimmt.
  • Darüber hinaus kann eine Konfiguration eingenommen werden, in der die Möglichkeitsbestimmungseinheit als einhüllende Form eine Begrenzungskugel, eine achsenausgerichtete Begrenzungsbox, eine orientierte Begrenzungsbox oder eine konvexe Hülle annimmt.
  • Darüber hinaus kann eine Konfiguration eingenommen werden, in der die Endbestimmungseinheit die Bedingung als erfüllt bestimmt in einem Fall, in dem der Abstand nicht größer als ein vorgeschriebener Wert ist.
  • Darüber hinaus kann eine Konfiguration eingenommen werden, in der die Endbestimmungseinheit den festgelegten Wert auf einen größeren Wert festlegt, wenn ein Abstand zwischen den Robotern zwischen den festgelegten Teilen zunimmt.
  • Darüber hinaus kann eine Konfiguration eingenommen werden, in der die Möglichkeitsbestimmungseinheit eine Möglichkeit einer Interferenz zwischen dem festgelegten Teil und einem Hindernis in einem Fall bestimmt, in dem sich die mehreren Roboter von der ersten Stellung zu der zweiten Stellung bewegen, basierend auf einer Überlappung von einem Bereich, in dem das Hindernis an einer Peripherie der mehreren Roboter vorhanden ist, und den erweiterten Bereichen, die sich aus der Addition eines festgelegten Spielraums zu einer einhüllenden Form, die das vorgeschriebene Teil enthält, ergeben. In einem Fall, in dem die Endbestimmungseinheit den Abstand, um die Bedingung zu erfüllen, bestimmt hat, bestimmt die Interferenzbestimmungseinheit die Interferenz mit dem Hindernis an jeder der ersten Position, der zweiten Position und der mittleren Position.
  • Ein Interferenzbestimmungsverfahren gemäß der vorliegenden Offenbarung ist ein Interferenzbestimmungsverfahren, wobei: eine Erfassungseinheit eine erste Stellung und eine zweite Stellung für jeden aus der Mehrzahl von Robotern sowie Strukturinformationen erfasst; basierend auf Strukturinformationen für jeden aus der Mehrzahl von Robotern, eine Berechnungseinheit für einen festgelegten Teil von jedem aus der Mehrzahl von Robotern, eine erste Position in der ersten Stellung, eine zweite Position in der zweiten Stellung und eine mittlere Position auf einer Trajektorie zwischen der ersten Stellung und der zweiten Stellung berechnet; eine Möglichkeitsbestimmungseinheit bestimmt eine Möglichkeit einer Interferenz zwischen Robotern in einem Fall, in dem sich jeder der Mehrzahl von Robotern von der ersten Stellung in die zweite Stellung bewegt, basierend auf einer Überlappung von erweiterten Bereichen, die sich aus der Addition eines festgelegten Spielraums zu einer einhüllenden Form ergibt, die den festgelegten Teil von jedem aus der Mehrzahl von Robotern an irgendeiner der ersten Positionen, der zweiten Positionen und der mittleren Positionen enthält; eine Endbestimmungseinheit legt die mittlere Position als eine neue Position für die erste Position oder eine neue Position für die zweite Position fest in einem Fall, in dem eine Möglichkeit der Interferenz durch die Möglichkeitsbestimmungseinheit bestimmt worden ist, wobei die Endbestimmungseinheit bewirkt, dass der Arbeitsablauf der Berechnungseinheit und der Möglichkeitsbestimmungseinheit wiederholt ausgeführt wird, bis eine festgelegte Bedingung erfüllt ist, wobei die vorbestimmte Bedingung ist, dass ein Abstand von der ersten Position zu der mittleren Position und ein Abstand von der zweiten Position zu der mittleren Position ausreichend kleine Abstände sind; und eine Interferenzbestimmungseinheit bestimmt, ob es eine Interferenz zwischen den festgelegten Teilen der Mehrzahl von Robotern an irgendeiner der ersten Positionen, der zweiten Positionen oder der mittleren Position gibt oder nicht in einem Fall, in dem die Endbestimmungseinheit die Abstände bestimmt hat, um die Bedingung zu erfüllen.
  • Ein Interferenzbestimmungsprogramm gemäß der vorliegenden Offenbarung ist ein von einem Computer ausführbares Programm, um zu dienen als: eine Erfassungseinheit, eine Berechnungseinheit, eine Möglichkeitsbestimmungseinheit, eine Endbestimmungseinheit und eine Interferenzbestimmungseinheit. Die Erfassungseinheit erfasst eine erste Stellung und eine zweite Stellung für jeden aus einer Mehrzahl von Robotern sowie Strukturinformationen. Die Berechnungseinheit ist ausgebildet, um basierend auf Strukturinformationen für jeden der Mehrzahl von Robotern für einen festgelegten Teil von jedem aus der Mehrzahl von Robotern eine erste Position in der ersten Stellung, eine zweite Position in der zweiten Stellung und eine mittlere Position auf einer Trajektorie zwischen der ersten Stellung und der zweiten Stellung zu berechnen. Die Möglichkeitsbestimmungseinheit bestimmt eine Möglichkeit einer Interferenz zwischen Robotern in einem Fall, in dem sich jeder aus der Mehrzahl von Roboter von der ersten Stellung zur zweiten Stellung bewegt. Dies wird basierend auf einer Überlappung von erweiterten Bereichen durchgeführt, die sich aus der Addition eines festgelegten Spielraums zu einer einhüllenden Form ergibt, die den festgelegten Teil von jedem aus der Mehrzahl von Robotern für die ersten Positionen, für die zweiten Positionen und für die mittleren Positionen enthält. In einem Fall, in dem die Möglichkeit einer Interferenz/Störung durch die Möglichkeitsbestimmungseinheit bestimmt worden ist, ist vorgesehen, dass die mittlere Position als eine neue Position für die erste Position oder als eine neue Position für die zweite Position festgelegt wird, und dass bewirkt wird, dass der Arbeitsablauf Verarbeitung der Berechnungseinheit und der Möglichkeitsbestimmungseinheit wiederholt ausgeführt wird, bis eine festgelegte Bedingung erfüllt ist, wobei die festgelegte Bedingung ist, dass ein Abstand von der ersten Position zu der mittleren Position und ein Abstand von der zweiten Position zu der mittleren Position ausreichend klein sind. In einem Fall, in dem die Endbestimmungseinheit bestimmt hat, dass die Abstände die Bedingung erfüllen, ist vorgesehen zu bestimmen, ob es eine Interferenz/Störung zwischen den festgelegten Teilen der Mehrzahl von Robotern an irgendeiner der ersten Positionen, der zweiten Positionen oder der mittleren Position gibt oder nicht.
  • Die Interferenzbestimmungsvorrichtung, das Verfahren und das Programm gemäß der vorliegenden Offenbarung ermöglichen eine Verkürzung der Zeit für die Interferenzbestimmung zwischen Robotern bei der Erzeugung von Bewegungen für eine Mehrzahl von Robotern.
  • Figurenliste
    • 1 ist eine schematische Darstellung, die eine Konfiguration eines Robotersteuerungssystems zeigt.
    • 2 ist ein Blockdiagramm, das eine Hardwarekonfiguration einer Interferenzbestimmungsvorrichtung zeigt.
    • 3 ist ein Diagramm, um Interferenzbestimmung mit konventioneller Technologie zu erläutern.
    • 4 ist ein Diagramm, um Probleme bei der Interferenzbestimmung mit konventioneller Technologie zu erläutern.
    • 5 ist ein Diagramm, um Probleme bei der Interferenzbestimmung mit konventioneller Technologie zu erläutern.
    • 6 ist ein Blockdiagramm, das ein Beispiel für eine funktionale Konfiguration einer Interferenzbestimmungsvorrichtung zeigt.
    • 7 ist ein Diagramm, um eine Berechnung einer mittleren Position zu erläutern.
    • 8 ist ein Diagramm, um einen Spielraum für die Einstellung eines Bereichs zur Bestimmung der Möglichkeit von Interferenz zu erläutern.
    • 9 ist ein Diagramm, das ein Beispiel für einen Fall zeigt, in dem es eine Überlappung von Bereichen gibt, um die Möglichkeit einer Interferenz zu bestimmen.
    • 10 ist ein Diagramm, das ein Beispiel für einen Fall zeigt, in dem es keine Überlappung von Bereichen gibt, um die Möglichkeit von Interferenzen zu bestimmen.
    • 11 ist ein Diagramm, um Endbestimmung zu erläutern.
    • 12 ist ein Diagramm, um Endbestimmung zu erläutern.
    • 13 ist ein Diagramm, um Interferenzbestimmung zu erläutern.
    • 14 ist ein Flussdiagramm, das einen Ablauf des Interferenzbestimmungsarbeitsablaufs zeigt.
    • 15 ist ein Diagramm, das eine Beziehung zwischen den auf jedem Level [org.: level] eingestellten Taktzeiten ti, tc, tj zeigt.
    • 16 ist ein Diagramm, das die Positionen der Klauen/Greifer [claws] zu jeder Taktzeit in Level 0 und Regionen [org.: in level 0 and regions] zeigt, um die Möglichkeit von Interferenzen zu bestimmen.
    • 17 ist ein Diagramm, das die Positionen der Klauen zu jeder Taktzeit in Level 1(R) und Regionen zeigt, um die Möglichkeit von Interferenzen zu bestimmen.
    • 18 ist ein Diagramm, das die Positionen der Klauen zu jeder Taktzeit in Level 2 (R-R) und Regionen zeigt, um die Möglichkeit von Interferenzen zu bestimmen.
    • 19 ist ein Diagramm, das die Positionen der Klauen zu jeder Taktzeit in Level 2 (R-L) und Regionen zeigt, um die Möglichkeit von Interferenzen zu bestimmen.
    • 20 ist ein Diagramm, das die Positionen der Klauen zu jeder Taktzeit in Level 3 (R-L-R) und Regionen zeigt, um die Möglichkeit von Interferenzen zu bestimmen.
    • 21 ist ein Diagramm, das die Positionen der Klauen zu jeder Taktzeit in Level 3 (R-L-L) und Regionen zeigt, um die Möglichkeit von Interferenzen zu bestimmen.
    • 22 ist ein Diagramm, das die Positionen der Klauen zu jeder Taktzeit in Level 4 (R-L-L-L) und Regionen zeigt, um die Möglichkeit von Interferenzen zu bestimmen.
    • 23 ist ein Diagramm, das die Positionen der Klauen zu jeder Taktzeit in Level 5 (R-L-L-L-L) und Regionen zeigt, um die Möglichkeit von Interferenzen zu bestimmen.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Es folgt eine Erläuterung bezüglich eines Beispiels einer beispielhaften Ausführungsform der vorliegenden Offenbarung, mit Bezug auf die Zeichnungen. Es ist zu beachten, dass die gleichen oder ähnlichen Konfigurationselemente und -teile mit den gleichen Referenznummern in jeder der Zeichnungen angehängt sind. Darüber hinaus wurden die Dimensionen und Proportionen in den Zeichnungen zur einfacheren Erläuterung übertrieben dargestellt und weichen manchmal von den tatsächlichen Proportionen ab.
  • Wie in 1 gezeigt, ist ein Robotersteuerungssystem 100 gemäß der vorliegenden beispielhaften Ausführungsform ausgebildet, dass eine Interferenzbestimmungsvorrichtung 10, eine Robotersteuerungsvorrichtung 12 und Roboter 16A, 16B umfasst. Es ist zu beachten, dass, obwohl das Beispiel von 1 zwei Roboter 16A, 16B im Robotersteuerungssystem 100 umfasst, drei oder mehr Roboter darin umfasst sein können. Darüber hinaus, wenn die Roboter 16A, 16B beschrieben werden, ohne zwischen ihnen zu differenzieren, werden sie im Folgenden einfach als „Roboter 16“ bezeichnet.
  • Der Roboter 16 ist beispielsweise mit sechs Freiheitsgraden ausgebildet, die erforderlich sind, um sich im dreidimensionalen Raum zu bewegen, und dieser ist ein vertikaler Gelenkroboter, der mehrere Glieder umfasst und Gelenken, die die Glieder miteinander verbinden. Es ist zu beachten, dass eine Konfiguration eingenommen werden kann, in der die Freiheitsgrade des Roboters 16 sieben Freiheitsgrade betragen, indem ein redundanter Freiheitsgrad zu den sechs Freiheitsgraden hinzugefügt wird. In der vorliegenden beispielhaften Ausführungsform gibt es klauenförmige Werkzeuge (im Folgenden einfach als „Klauen“ bezeichnet) 18A, 18B, die an den jeweiligen Gliedern auf der distalen Seite jedes der Roboter 16A, 16B angebracht sind. Die Klauen 18A, 18B dienen als Beispiele für „vorgeschriebene Teile“ der vorliegenden Offenbarung. Wenn die Klauen 18A, 18B beschrieben werden, ohne zwischen ihnen zu differenzieren, werden sie im Folgenden einfach als „Klaue 18“ bezeichnet. Der Roboter 16 bewegt sich unter Steuerung der Robotersteuerungsvorrichtung 12 gemäß Trajektorieinformationen, die in der Robotersteuerungsvorrichtung 12 erzeugten werden.
  • Die Robotersteuerungsvorrichtung 12 erzeugt Trajektorieninformationen für jeden der Roboter 16 basierend auf Bestimmungsergebnissen, die von der Interferenzbestimmungsvorrichtung 10 ausgegeben werden, und steuert die Bewegungen der Roboter 16 gemäß den erzeugten Trajektorieninformationen.
  • Die Interferenzbestimmungsvorrichtung 10 bestimmt, ob die festgelegten Teile (die Klauen 18 in der vorliegenden beispielhaften Ausführungsform) am Roboter 16A und am Roboter 16B interferieren oder nicht, wenn die Roboter 16A, 16B gemäß der Robotertrajektorieinformation bewegt werden. Die Interferenzbestimmungsvorrichtung 10 gibt das Ergebnis der Bestimmung an die Robotersteuerungsvorrichtung 12 aus.
  • In der vorliegenden beispielhaften Ausführungsform ist die Trajektorieninformation eine Zeitreihe, die eine Reihe von Stellungen und die Geschwindigkeit der Änderung der Stellung zu jeder Taktzeit für die Roboter 16 umfasst, wenn vorgeschriebene Positionen wie z. B. vordere Enden der Klauen 18 der Roboter 16 von einem gegebenen Startpunkt zu einem gegebenen Endpunkt bewegt werden. Die Stellungen der Roboter 16 werden, wenn die Klauen 18 der Roboter 16 in bestimmten Positionen (x, y, z) und bestimmten Ausrichtungen (Rollen, Neigung, Gierwinkel [org.: yaw]) angenommen werden, als eine Reihe (θJ1, θJ2, ..., θJN) von Werten (Drehwinkeln) für jedes Gelenk der Roboter 16 ausgedrückt, von einem ersten Gelenk (Gelenk J1) bis zu einem N-ten Gelenk (Gelenk JN, wobei N die Anzahl der Gelenke im Roboter ist).
  • 2 ist ein Blockdiagramm, das eine Hardwarekonfiguration der Interferenzbestimmungsvorrichtung 10 gemäß der vorliegenden beispielhaften Ausführungsform zeigt. Wie in 2 gezeigt, umfasst die Interferenzbestimmungsvorrichtung 10 eine zentrale Verarbeitungseinheit [org.: processing unit] (CPU) 22, einen Speicher 24, eine Speichereinrichtung 26, eine Eingabeeinrichtung 28, eine Ausgabeeinrichtung 30, eine Speichermedium-Leseeinrichtung 32 und eine Kommunikationsschnittstelle (I/F) 34. Diese Konfigurationselemente sind über einen Bus 36 miteinander verbunden, um miteinander kommunizieren zu können.
  • Ein Interferenzbestimmungsprogramm, das auf der Speichereinrichtung 26 gespeichert ist, dient zur Ausführung des später beschriebenen Interferenzbestimmungsarbeitsablaufs. Die CPU 22 ist eine zentrale Verarbeitungseinheit, und verschiedene Programme ausführt und die Konfigurationselemente steuert. Die CPU 22 liest nämlich ein Programm aus der Speichereinrichtung 26 und führt das Programm unter Verwendung des Speichers 24 als Arbeitsbereich aus. Die CPU 22 führt die Steuerung der oben beschriebenen Konfigurationselemente aus und führt verschiedene Berechnungen gemäß dem Programm, das auf der Speichereinrichtung 26 gespeichert ist, durch.
  • Der Speicher 24 ist als Arbeitsspeicher (RAM) ausgebildet und dient als Arbeitsbereich, um temporär Programme und Daten zu speichern. Die Speichereinrichtung 26 ist als Festwertspeicher [org.: read only memory] (ROM) ausgebildet, wie z. B. ein Festplattenlaufwerk (HDD), ein Solid-State-Laufwerk (SSD) oder ähnliches. Verschiedene Programme, die ein Betriebssystem und verschiedene Daten umfassen, sind auf der Speichereinrichtung 26 gespeichert.
  • Die Eingabeeinrichtung 28 ist z. B. ein Gerät wie eine Tastatur, Maus oder ähnliches, das verschiedene Eingaben durchführt. Die Ausgabeeinrichtung 30 ist z. B. ein Gerät wie ein Display, ein Drucker oder ähnliches zur Ausgabe verschiedener Daten. Es kann eine Konfiguration eingenommen werden, bei der durch den Einsatz eines Touchpanel-Displays für die Ausgabeeinrichtung 30, die Ausgabeeinrichtung 30 auch als Eingabeeinrichtung 28 dient. Die Speichermediums-Leseeinrichtung 32 liest Daten, die auf verschiedenen Speichermedien gespeichert sind, wie z. B. Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD)-ROM, Blu-ray Disc, Universal Serial Bus (USB)-Speicher und dergleichen, und schreibt Daten auf die Speichermedien.
  • Das Kommunikation I/F 34 [org.: communication I/F 34] ist eine Schnittstelle zur Kommunikation mit einer anderen Maschine und verwendet z. B. einen Standard wie Ethernet (eingetragenes Warenzeichen), FDDI, Wi-Fi (eingetragenes Warenzeichen) oder ähnliches.
  • In konventioneller Technik, wie in 3 gezeigt, ist zwischen Robotern Interferenzbestimmung eine Interferenzbestimmung, die durchgeführt wird, indem die Bewegungen jedes der Roboter in einem festgelegten Abstand von einer Bewegungsstart-Taktzeit t1 bis zu einem Bewegungsend-Taktzeit tn segmentiert werden, und die Interferenz zu jeder Taktzeit (t1, t2, t3, ..., tn) bestimmt wird. Genauer gesagt wird das Profil eines festgelegten Teils (eine Klaue in der vorliegenden beispielhaften Ausführungsform) ermittelt, wie es aus der Stellung des Roboters 16 zu jeder Taktzeit bestimmt wird, und es wird dann bestimmt, ob der vorgeschriebene Teil des Roboters 16A mit dem festgelegten Teil des Roboters 16B zur gleichen Taktzeit interferiert oder nicht.
  • In solchen Fällen, wenn der vorgeschriebene Abstand zu groß festgelegt wird, wie in 4 gezeigt, ist die Bestimmungsgenauigkeit grob, was zu einer höheren Wahrscheinlichkeit führt, dass Interferenzen übersehen werden können. Es ist zu beachten, dass 4 ein Verschiebungsmuster von Teilen der Klauen 18 zeigt, wenn die Bewegung der Klauenglieder der jeweiligen Roboter 16 von oben betrachtet werden. Es ist zu beachten, dass in 4 die Verschiebung der Klaue, die auf der oberen Seite gezeigt wird (ein an der unteren Seite konvexer Kreisbogen) eine Bewegung der Klaue 18A des Roboters 16A ist und einer Bewegung der Klaue 18A von rechts der Seite nach links entspricht. Die Verschiebung der Klaue, die auf der unteren Seite gezeigt wird (ein an der oberen Seite konvexer Kreisbogen) eine Bewegung der Klaue 18B des Roboters 16B ist und einer Bewegung der Klaue 18B von links der Seite nach rechts entspricht. Ähnliches gilt für die nachfolgenden Zeichnungen.
  • Wird auf der anderen Seite der vorgeschriebene Abstand zu klein festgelegt, ist die Anzahl der Interferenzbestimmungen, die von t1 bis tn durchgeführt werden, groß, das zu einer langen Zeit für die Interferenzbestimmung führt. Darüber hinaus wird, wie in 5 gezeigt, obwohl es offensichtlich ist, keine Interferenz auftreten zwischen den von gestrichelten Linien umgebenen Segmenten und Segmenten, die von Strichpunkt Linien umgebenen sind, trotzdem wird hier eine genaue Interferenzbestimmung durchgeführt, und es entsteht so bei der Interferenzbestimmung verschwendeter Aufwand.
  • In der Interferenzbestimmungsvorrichtung 10 gemäß der vorliegenden beispielhaften Ausführungsform wird also die Interferenzbestimmung unter schrittweisem Heranführen an die Taktzeitintervalle, in denen eine Interferenz zu erwarten ist, durchgeführt, wodurch die Zeit für die Interferenzbestimmung verkürzt wird. Es folgt eine Erläuterung zur funktionellen Konfiguration der Interferenzbestimmungsvorrichtung 10 gemäß der vorliegenden beispielhaften Ausführungsform.
  • 6 ist ein Blockdiagramm, das ein Beispiel für eine funktionelle Konfiguration der Interferenzbestimmungsvorrichtung 10 zeigt. Wie in 6 gezeigt, umfasst eine funktionelle Konfiguration der Interferenzbestimmungsvorrichtung 10 eine Erfassungseinheit 42, eine Berechnungseinheit 44, eine Möglichkeitsbestimmungseinheit 46, eine Endbestimmungseinheit 48 und eine Interferenzbestimmungseinheit 50. Jedes Element dieser funktionellen Konfiguration wird durch die CPU 22 implementiert, die ein Interferenzbestimmungsprogramm ausliest, das auf der Speichereinrichtung 26 gespeichert ist, das Interferenzbestimmungsprogramm in den Speicher 24 expandiert und das Programm ausführt.
  • Die Erfassungseinheit 42 erfasst Informationen, die in die Interferenzbestimmungsvorrichtung 10 eingegeben werden, umfassend eine Startstellung und eine Endstellung von jedem der Roboter 16 und Strukturinformationen umfassend kinematische Informationen und Forminformationen für jeden der Roboter 16. In der vorliegenden beispielhaften Ausführungsform führt die Interferenzbestimmungsvorrichtung 10 eine Interferenzbestimmung für jedes Knotenintervall [org.: node interval] in einer Reihe von Bewegungen der Roboter 16 durch, die durch die Bewegungsplanung erzeugt wurden. Jeder Knoten entspricht einer Stellung auf dem Weg [org.: partway] durch die Bewegungsserie. Somit ist für eine Bewegung von einem Knotenintervall, der eine Start-Taktzeit t1 und einer End-Taktzeit tn aufweist, die oben beschriebene Startstellung die Stellung zur Taktzeit t1 und die Endstellung die Stellung zur Taktzeit tn.
  • Basierend auf Strukturinformationen für jeden der Roboter 16 berechnet die Berechnungseinheit 44 erste Positionen der Klauen 18 für jeden der Roboter 16 bei einer ersten Stellung und berechnet davon zweite Positionen bei einer zweiten Stellung davon. Die ersten Stellungen sind Stellungen der Roboter 16 zur Taktzeit ti, und die zweiten Stellungen sind Stellungen der Roboter 16 zur Taktzeit tj. Zur Startzeit der Interferenzbestimmung ist die Taktzeit ti = Taktzeit t1 und die Taktzeit tj = Taktzeit tn. Das heißt, zur Startzeit der Interferenzbestimmung sind die ersten Stellungen die Startstellungen und die zweiten Stellungen die Endstellungen.
  • Außerdem berechnet die Berechnungseinheit 44 eine mittlere Position für jedes der festgelegten Teile entlang einer Trajektorie zwischen der ersten Stellung und der zweiten Stellung. Zum Beispiel auf der Trajektorie von der ersten Stellung zur zweiten Stellung, kann die Berechnungseinheit 44 als mittlere Position einen Abstand von der ersten Position oder von der zweiten Position berechnen, wenn die Position in der Mitte zwischen der ersten Position und der zweiten Position liegt. Darüber hinaus kann die Berechnungseinheit 44 beispielsweise als die mittlere Position eine Position der Klaue 18 in einer mittleren Stellung zwischen der ersten Stellung und der zweiten Stellung berechnen. Die mittlere Stellung ist eine Stellung des Roboters 16, wenn jedes der Gelenke sich in einem Winkel von einem mittleren Drehwinkel des jeweiligen Gelenks befindet zwischen der ersten Stellung und der zweiten Stellung.
  • Darüber hinaus kann beispielsweise die Berechnungseinheit 44 als mittlere Stellung eine Stellung des Roboters 16 zu einem mittleren Taktzeit tc zwischen der Taktzeit ti, wenn sich der Roboter 16 in der ersten Stellung befindet, und einem Taktzeit tj, wenn dieser sich in der zweiten Stellung befindet, berechnen. Die Berechnungseinheit 44 kann dann als mittlere Position die Position der Klaue 18 in dieser mittleren Stellung berechnen. Die mittlere Taktzeit tc kann als tc = (tj-ti)/2 angenommen werden oder eine beliebige Taktzeit in einem festgelegten Bereich um (tj-ti)/2 sein. Im Folgenden wird eine Erläuterung zu einem Fall gegeben, in dem die mittlere Position basierend auf der mittleren Taktzeit tc berechnet wird, wie in 7 gezeigt. Es ist zu beachten, dass das Profil der Klauen 18 zu jeder Taktzeit in 7 zu jeder dieser Taktzeiten eingezeichnet ist. Ähnliches gilt für nachfolgenden Zeichnungen.
  • Es ist zu beachten, dass die Berechnungseinheit 44 als die Position der Klauen 18 eine Position eines festgelegten Abschnitts der Klauen 18, wie z. B. eines distalen Endabschnitts, eines Mittelabschnitts oder dergleichen, durch Berechnung unter Verwendung von Vorwärtskinematik aus den jeweiligen Stellungen der Roboter 16 berechnen kann.
  • Die Möglichkeitsbestimmungseinheit 46 findet erweiterte Bereiche, indem diese jeweilige Positionen zur Taktzeit ti, zur Taktzeit tc und zur Taktzeit tj des jeweiligen Roboters 16 nimmt, einen festgelegten Spielraum zu einer einhüllenden Form addiert, die die Profile der Klauen 18 enthält, und die einhüllende Form addiert, um jede jeweiligen Bereich zu finden. Beispielsweise, wie in 8 gezeigt, findet die Möglichkeitsbestimmungseinheit 46 für die Klaue 18A des Roboters 16A einen Abstand LA 1 zwischen einer Position zur Taktzeit ti und einer Position zur Taktzeit tc, und einen Abstand LA_2 zwischen der Position zur Taktzeit tc und einer Position zur Taktzeit tj. Die Möglichkeitsbestimmungseinheit 46 ist dann in der Lage, den längeren Abstand aus Abstand LA_1 und Abstand LA_2 als den oben genannten SpielraumLA für den Roboter 16A zu nehmen. In ähnlicher Weise findet die Möglichkeitsbestimmungseinheit 46 für die Klaue 18B des Roboters 16B einen Abstand LB_1 zwischen einer Position zur Taktzeit ti und einer Position zur Taktzeit tc und einen Abstand LB_2 zwischen der Position zur Taktzeit tc und einer Position zur Taktzeit tj. Die Möglichkeitsbestimmungseinheit 46 ist dann in der Lage, den längeren Abstand aus Abstand LB_1 und dem Abstand LB_2 als den oben genannten Spielraum LB für den Roboter 16B zu nehmen.
  • Darüber hinaus kann die Möglichkeitsbestimmungseinheit 46 den Spielraum basierend auf einer festgelegten Beziehung zwischen einem Betrag der Änderung der Stellung der Roboter 16 und einem Betrag der Änderung der Position der Klauen 18 bestimmen. Zum Beispiel kann die Möglichkeitsbestimmungseinheit 46 in Fällen, in denen eine vordefinierte Beziehung darin besteht, dass die Klaue 18 um maximal 5 cm verschoben wird, wenn ein Gelenk um 1° gedreht wird, den Spielraum mit 25 cm für einen Fall bestimmen, in dem das Gelenk um 5° von der ersten Stellung zur zweiten Stellung gedreht wird.
  • Als die umschreibende Form, die oben erwähnt wird, kann die Möglichkeitsbestimmungseinheit 46 beispielsweise eine Begrenzungskugel, eine achsenausgerichtete Begrenzungsbox (AABB), eine orientierte Begrenzungsbox (OBB), eine konvexe Hülle oder Ähnliches verwenden. Im Folgenden wird ein Beispiel für einen Fall beschrieben, in dem eine AABB als umschreibende Form verwendet wird.
  • 9 zeigt ein Beispiel für einen gefundenen Bereich für jeden der Roboter 16. Es ist zu beachten, dass, obwohl in 9, zur Vereinfachung der Erklärung, jeder Bereich in einer zweidimensionalen Draufsicht gezeigt ist, in Realität der Bereich im dreidimensionalen Raum gefunden wird. Ähnliches gilt für die folgenden Zeichnungen. Im Beispiel von 9 wird ein Bereich 62A durch Hinzufügen eines Spielraums LA zu einer einhüllenden Form 60A für den Roboter 16A gefunden, und ein Bereich 62B wird durch Hinzufügen eines Spielraums LB zu einer einhüllenden Form 60B für den Roboter 16B gefunden.
  • Basierend darauf, dass es eine Überlappung von den gefundenen Bereichen gibt, bestimmt die Möglichkeitsbestimmungseinheit 46, dass die Möglichkeit einer Interferenz zwischen den Robotern 16 besteht, wenn sich die jeweiligen Roboter 16 von der Taktzeit ti zur Taktzeit tj bewegen. Genauer gesagt, wie in 9 gezeigt, bestimmt die Möglichkeitsbestimmungseinheit 46, dass eine Möglichkeit der Interferenz zwischen den Robotern 16 besteht, wenn sich der Bereiche 62A, der für den Roboter 16A gefunden wurde, mit dem Bereich 62B, der für den Roboter 16B gefunden wurde, überschneidet. Dagegen, bestimmt die Möglichkeitsbestimmungseinheit 46, dass es keine Möglichkeit einer Interferenz zwischen den Robotern 16 gibt, wenn es keine Überlappung von den Bereichen 62A, 62B gibt. 10 zeigt einen Fall, in dem es keine Überlappung von den Bereichen 62A, 62B gibt, d. h. einen Fall, in dem bestimmt wird, dass es keine Möglichkeit einer Interferenz zwischen den Robotern 16 gibt.
  • In Fällen, in denen die Möglichkeitsbestimmungseinheit 46 bestimmt, dass es eine Möglichkeit der Interferenz gibt, bestimmt die Endbestimmungseinheit 48, ob eine Bedingung, dass die Abstände LA_1, LA_2, LB_1, LB_2, d.h. der Abstand zwischen den Klauen 18, ausreichend klein ist, als eine festgelegte Endbedingung erfüllt ist oder nicht. In Fällen, in denen der Abstand zwischen den Klauen 18 nicht die Endbedingung erfüllt, setzt die Endbestimmungseinheit 48 die Position zur Taktzeit tc, als eine neue Position zur Taktzeit ti oder als eine neue Position zum Taktzeit tj, und bewirkt dann eine Wiederholung der Ausführung des Arbeitsablaufs der Berechnungseinheit 44 und der Möglichkeitsbestimmungseinheit 46. Außerdem, in Fällen, in denen der Abstand zwischen den Klauen 18 die Endbedingung erfüllt, bestimmt die Endbestimmungseinheit 48 die Wiederholung des Arbeitsablaufs der Berechnungseinheit 44 und der Möglichkeitsbestimmungseinheit 46 zu beenden.
  • Insbesondere kann die Endbestimmungseinheit 48 ausgebildet sein, um zu bestimmen, dass die Endbedingung in Fällen erfüllt ist, in denen der Abstand zwischen den Klauen 18 ausreichend klein ist. Beispielsweise kann die Endbestimmungseinheit 48 ausgebildet sein, um zu bestimmen, dass der Abstand zwischen den Klauen 18 ausreichend klein ist, in Fällen, in denen der Abstand zwischen den Klauen 18 nicht größer als ein festgelegten Wert ist. Der vorgeschriebene Wert kann beispielsweise, wie in 11 gezeigt, als ein Wert festgelegt sein, der anzeigt, dass es keine Lücke zwischen den Profilen der Klauen 18 an jeder der Positionen gibt, oder ein Wert, der nicht größer als die Breite der Klauen 18 ist. In solchen Fällen, wie in 12 gezeigt, bestimmt die Endbestimmungseinheit 48, dass die Endbedingung nicht erfüllt ist, in Fällen, in denen der Abstand zwischen den Klauen 18 den vorgegebenen Wert überschreitet.
  • Es ist zu beachten, dass die Endbestimmungseinheit 48 ausgebildet sein kann, um den festgelegten Wert auf größere Werte festzulegen, wenn der Abstand zwischen den jeweiligen Klauen 18 der Roboter 16 zur gleichen Taktzeit sich vergrößert. Denn in Fällen, in denen der Abstand zwischen den jeweiligen Klauen 18 der Roboter 16 der jeweiligen Roboter zur gleichen Taktzeit hinreichend groß ist, besteht eine hohe Wahrscheinlichkeit, dass es keine Bestimmung von Interferenz geben wird, auch wenn die Bestimmung zu noch feineren Zeiten durchgeführt wird.
  • Wenn durch die Endbestimmungseinheit 48 bestimmt wurde, dass der Abstand zwischen den Klauen 18 die Endbedingung erfüllt, bestimmt die Interferenzbestimmungseinheit 50 dann, ob die Klauen 18 der jeweiligen Roboter 16 miteinander zu einer der Taktzeitm ti, tc oder tj interferieren oder nicht. Insbesondere, wie in 13 gezeigt, bestimmt die Interferenzbestimmungseinheit 50 Interferenz/Nicht-Interferenz, dadurch ob Bereiche, die die Profile der Klauen 18 der jeweiligen Roboter 16 anzeigen, zur gleichen Taktzeit sich überschneiden oder nicht. In dem Beispiel, das in 13 gezeigten wird, gibt es eine Überlappung der Klauen 18 zwischen den Robotern [org.: inter-robot claw 18] zur Taktzeit tc (der diagonal schraffierte Abschnitt in 13), und daher bestimmt die Interferenzbestimmungseinheit 50, dass eine Interferenz zum Taktzeit tc auftreten würde. Die Interferenzbestimmungseinheit 50 gibt das Bestimmungsergebnis aus.
  • Als nächstes folgt die Beschreibung des Betriebs der Interferenzbestimmungsvorrichtung 10 gemäß der vorliegenden beispielhaften Ausführungsform. 14 ist ein Flussdiagramm, das den Ablauf des Interferenzbestimmungsarbeitsablaufs zeigt, der von der CPU 22 der Interferenzbestimmungsvorrichtung 10 ausgeführt wird. Die CPU 22 dient als jedes der funktionalen Konfigurationselemente der Interferenzbestimmungsvorrichtung 10, indem die CPU 22 das Interferenzbestimmungsprogramm aus der Speichereinrichtung 26 liest, das Programm im Speicher 24 erweitert und das Programm ausführt. Der Interferenzbestimmungsarbeitsablauf (ti, tj), der in 14 gezeigt wird, wird dabei entsprechend ausgeführt. Es ist zu beachten, dass zu Beginn des Interferenzbestimmungsarbeitsablaufs die Taktzeit ti = der Taktzeit t1 und der Taktzeit tj = der Taktzeit tn ist.
  • In Schritt S12 erfasst die Erfassungseinheit 42 Informationen, die in die Interferenzbestimmungsvorrichtung 10 eingegeben werden, die die Startstellung (Stellung zur Taktzeit t1) und die Endstellung (Stellung zur Taktzeit tn) für jeden der Roboter 16 umfassen und Strukturinformationen, die die kinematischen Informationen und Forminformationen für jeden der Roboter 16 umfassen. Die Berechnungseinheit 44 berechnet dann als mittlere Stellungen die Stellungen der Roboter 16 zur mittleren Taktzeit tc zwischen der Taktzeit ti und der Taktzeit tj und berechnet dann als mittlere Positionen die Positionen jeder der Klauen 18 in diesen mittleren Stellungen.
  • Als nächstes, im Schritt S14, findet die Möglichkeitsbestimmungseinheit 46 für jeden der Roboter 16 erweiterte Bereiche, die sich aus Hinzufügen eines festgelegten Spielraums zu der einhüllenden Formen ergeben, die die Profile der Klauen 18 an jeder der Positionen zur Taktzeit ti, der Taktzeit tc und der Taktzeit tj enthalten. Die Möglichkeitsbestimmungseinheit 46 bestimmt dann die Möglichkeit einer Interferenz zwischen den Robotern 16, wenn sich die Roboter 16 von Taktzeit ti zur Taktzeit tj bewegen, basierend auf einer Überlappung von den gefundenen Bereichen. Wenn sich die Bereiche überschneiden, bestimmt die Möglichkeitsbestimmungseinheit 46, dass es eine Möglichkeit der Interferenz von der Taktzeit ti zur Taktzeit tj gibt, und der Arbeitsablauf geht dann zu Schritt S16 über. Hingegen in Fällen, in denen es keine Überlappung von den Bereichen gibt, bestimmt die Möglichkeitsbestimmungseinheit 46, dass es keine Möglichkeit einer Interferenz von der Taktzeit ti zur Taktzeit tj gibt, und der Arbeitsablauf geht dann zu Schritt S22 über.
  • In Schritt S16 bestimmt die Endbestimmungseinheit 48, ob der Abstand zwischen den Klauen 18 ausreichend klein ist oder nicht, durch Bestimmung, ob der Abstand zwischen den Klauen 18 die festgelegte Endbedingung erfüllt oder nicht. In Fällen, in denen der Abstand zwischen den Klauen 18 ausreichend klein ist, geht der Arbeitsablauf dann zu Schritt S18 über. Hingegen, geht der Arbeitsablauf zu Schritt S24 über, in Fällen, in denen der Abstand zwischen den Klauen 18 die Endbedingung nicht erfüllt.
  • In Schritt S18 bestimmt die Interferenzbestimmungseinheit 50 die Interferenz/Nicht-Interferenz, dadurch, ob die Bereiche, die die Profile der Klauen 18 der jeweiligen Roboter 16 anzeigen, zur Taktzeit ti, zur Taktzeit tc oder zur Taktzeit tj sich überschneiden oder nicht. Der Arbeitsablauf geht dann zu Schritt S20 über, in Fällen, in dem Interferenz zu einer dieser Taktzeiten auftritt. Hingegen, geht der Arbeitsablauf zu Schritt S22 über, in Fällen, in denen keine Interferenz auftritt zu irgendeiner dieser Taktzeiten, d. h. in Fällen der Nicht-Interferenz.
  • In Schritt S20 gibt die Interferenzbestimmungseinheit 50 das Bestimmungsergebnis aus, dass eine Interferenz zur Taktzeit ti, zur Taktzeit tc oder zur Taktzeit tj aufgetreten ist. Hingegen, im Schritt S22, gibt die Interferenzbestimmungseinheit 50 ein Bestimmungsergebnis der Nicht-Interferenz von der Taktzeit ti bis zur Taktzeit tj aus. Die Interferenzbestimmungs-Verarbeitung wird anschließend beendet.
  • Darüber hinaus, im Schritt S24, legt die Endbestimmungseinheit 48 eine Position der Klauen 18 zur Taktzeit tc fest, um die Position der Klauen 18 für eine neue Taktzeit tj zu sein, und führt den Interferenzbestimmungsarbeitsablauf (ti, tc) rekursiv aus, aber dieses Mal für den vorderen halben Abschnitt des Intervalls von ti bis [anfänglich] tj.
  • Als Nächstes, im Schritt S26, bestimmt die Endbestimmungseinheit 48, ob Nicht-Interferenz bestimmt wurde oder nicht im Schritt S24 für das Intervall von der Taktzeit ti bis tc (der in Schritt S24 neu auf tj gesetzt wurde). Diese Bestimmung kann durchgeführt werden, indem bestimmt wird, ob der rekursiv ausgeführte Interferenzbestimmungsarbeitsablauf, der beendet wurde, entweder Schritt S20 oder Schritt S22 des Interferenzbestimmungsarbeitsablaufs, der rekursiv im Schritt S24 ausgeführt wurde, durchlaufen hat oder nicht. Nicht-Interferenz wird bestimmt für Fälle, in denen der Arbeitsablauf den Schritt S22 durchlaufen hat, und der Arbeitsablauf geht dann zu Schritt S28 über. Hingegen, wird ein Auftreten einer Interferenz bestimmt für Fälle, in denen der Arbeitsablauf Schritt S20 durchlaufen hat und der Arbeitsablauf geht dann zu Schritt S32 über.
  • Im Schritt S28 legt die Endbestimmungseinheit 48 die Positionen der Klauen 18 zur Taktzeit tc fest, um die Position der Klauen 18 für eine neue Taktzeit ti zu sein, und führt rekursiv den Interferenzbestimmungsarbeitsablauf (tc, tj) für den hinteren halben Abschnitt der Dauer von ti bis tj aus.
  • Als Nächstes, im Schritt S30, bestimmt die Endbestimmungseinheit 48, ob Nicht-Interferenz bestimmt wurde oder nicht im Schritt S28 für das Intervall von der Taktzeit tc (die in Schritt S28 neu auf ti festgelegt wurde) bis tj. In ähnlicher Weise wie in Schritt S26 kann diese Bestimmung basierend auf dem Bestimmungsergebnis des Interferenzbestimmungsarbeitsablaufs, der in Schritt S28 rekursiv ausgeführten wurde, durchgeführt werden. Der Arbeitsablauf geht dann zu Schritt S22 über in Fällen, in denen Nicht-Interferenz bestimmt wurde, und der Arbeitsablauf geht dann zu Schritt S32 über in Fällen, in denen das Auftreten von Interferenz bestimmt wurde.
  • In Schritt S32 gibt die Interferenzbestimmungseinheit 50 ein Bestimmungsergebnis von Schritt S20 für den Interferenzbestimmungsarbeitsablauf aus, der in Schritt S24 oder Schritt S28 rekursiv ausgeführt wurde. Das heißt, dass die Interferenzbestimmungseinheit 50 ein Bestimmungsergebnis des Auftretens einer Interferenz zur Taktzeit ti, zur Taktzeit tc oder zur Taktzeit tj, die im Schritt S24 oder Schritt S28 festgelegt wurden, ausgibt und beendet den Interferenzbestimmungsarbei tsablauf.
  • Es folgt nun eine detailliertere Erläuterung, betreffend den Ablauf des oben beschriebenen Interferenzbestimmungsarbeitsablaufs, unter Bezugnahme auf 15 bis 23. Im Folgenden wird „Level i“ verwendet, um eine Tiefe in dem Interferenzbestimmungsarbeitsablauf, der rekursiv ausgeführt wird anzugeben, wobei das Level zu Beginn des Interferenzbestimmungsarbeitsablaufs Level 0 ist. Darüber hinaus, wird „R“ verwendet, um den Interferenzbestimmungsarbeitsablauf anzuzeigen, der in Schritt S24 ausgeführt wird, und „L“ wird verwendet, um den Interferenzbestimmungsarbeitsablauf anzuzeigen, der in Schritt S28 ausgeführt wird. Wenn beispielsweise der Interferenzbestimmungsarbeitsablauf des Schritts S28 rekursiv aufgerufen wird, während der Interferenzbestimmungsarbeitsablauf des Schritts S24 rekursiv auf Level 1 ausgeführt wird, dann wird dies mit „Level 2 (R-L)“ bezeichnet. Darüber hinaus ist 15 ein Diagramm, das die Beziehungen zwischen den Taktzeiten ti, tc, tj, die auf jedem Level festgelegt werden, veranschaulicht und die Korrespondenzen zwischen den Dauern ti bis tj auf jedem Level, die Möglichkeit/Nicht-Möglichkeit einer Interferenz (Bestimmungsergebnisse aus Schritt S14) und ob der Abstand zwischen den Klauen 18 die Endbedingung zufrieden stellt oder nicht (Bestimmungsergebnis aus Schritt S16) veranschaulicht, wie durch die Anzeige von Balken gezeigt. Darüber hinaus sind 16 bis 23 Diagramme, die die Positionen der Klauen 18 zu jedem der Taktzeiten auf jedem der Levels und die Bereiche 62 zeigen, die zur Bestimmung der Interferenzmöglichkeit auf jedem der Levels verwendet werden.
  • Wie in 15 und 16 gezeigt, wird auf Level 0 die Taktzeit t1 für die Taktzeit ti und die Taktzeit tn für die Taktzeit tj festgelegt. Im Beispiel von 16 überschneiden sich der Bereich 62A für den Roboter 16A und der Bereich 62B für den Roboter 16B, so dass es eine Möglichkeit der Interferenzen besteht. Außerdem überschreitet der Abstand zwischen den Klauen 18 den festgelegten Wert. In diesem Fall wird, wie in 15 und 17 gezeigt, wird die Taktzeit tc des Levels 0 auf tj festgelegt, und der Interferenzbestimmungsarbeitsablauf wird für Level 1 (R) ausgeführt. Es besteht auch die Möglichkeit einer Interferenz in Level 1 (R) und der Abstand zwischen den Klauen 18 überschreitet ebenfalls noch den festgelegten Wert. In diesem Fall wird, wie in 15 und 18 gezeigt, die Taktzeit tc des Levels 1 (R) auf tj festgelegt und der Interferenzbestimmungsarbeitsablauf für Level 2 (R-R) ausgeführt.
  • Wie in 15 und 18 gezeigt, wird festgestellt, dass keine Möglichkeit einer Interferenz für Level 2 (R-R) besteht. In solchen Fällen wird zunächst eine Rückkehr zu Level 1 (R) gemacht, und dann wird durch Übergang zu Schritt S28, wie in 15 und 19 gezeigt, die Taktzeit tc von Level 1 auf ti festgelegt, und der Interferenzbestimmungsarbeitsablauf wird für Level 2 (R-L) ausgeführt. Es besteht die Möglichkeit einer Interferenz auf Level 2 (R-L) und der Abstand zwischen den Klauen 18 überschreitet ebenfalls noch den festgelegten Wert. In solchen Fällen wird, wie in 15 und 20 gezeigt, die Taktzeit tc des Levels 2 (R-L) auf tj festgelegt, und der Interferenzbestimmungsarbeitsablauf wird für das Level 3 (R-L-R) ausgeführt.
  • Wie in 15 und 20 gezeigt, wird bestimmt, dass keine Möglichkeit einer Interferenz auf Level 3 (R-L-R) besteht. In solchen Fällen wird zunächst eine Rückkehr zu Level 2 (R-L) gemacht, und dann wird dadurch, dass der Arbeitsablauf zu Schritt S28 übergeht, wie in 15 und 21 gezeigt, die Taktzeit tc von Level 2 (R-L) auf ti festgelegt, und der Interferenzbestimmungsarbeitsablauf wird für Level 3 (R-L-L) ausgeführt. Es besteht die Möglichkeit einer Interferenz auf Level 3 (R-L-L) und der Abstand zwischen den Klauen 18 überschreitet immer noch den festgelegten Wert. In solchen Fällen wird, wie in 15 gezeigt, die Taktzeit tc von Level 3 (R-L-L) auf tj festgelegt und der Interferenzbestimmungsarbeitsablauf für Level 4 (R-L-L-R) ausgeführt.
  • Wie in 15 gezeigt, wird bestimmt, dass keine Möglichkeit einer Interferenz in Level 4 (R-L-L-R) besteht. In solchen Fällen erfolgt zunächst eine Rückkehr zu Level 3 (R-L-L), und dann wird dadurch, dass der Arbeitsablauf zu Schritt S28 übergeht, wie in 15 und 22 gezeigt, die Taktzeit tc von Level 3 (R-L-L) auf ti festgelegt, und der Interferenzbestimmungsarbeitsablauf wird für Level 4 (R-L-L-L) ausgeführt. Es besteht die Möglichkeit einer Interferenz auf Level 4 (R-L-L-L) und der Abstand zwischen den Klauen 18 überschreitet immer noch den festgelegten Wert. In solchen Fällen wird, wie in 15 gezeigt, die Taktzeit tc von Level 4 (R-L-L-L) auf tj festgelegt und der Interferenzbestimmungsarbeitsablauf für Level 5 (R-L-L-L-R) durchgeführt.
  • Wie in 15 gezeigt, wird bestimmt, dass es keine Möglichkeit für eine Interferenz auf Level 5 (R-L-L-L-R) gibt. In solchen Fällen erfolgt zunächst eine Rückkehr zu Level 4 (R-L-L-L), und dadurch, dass der Arbeitsablauf zu Schritt S28 übergeht, wie in 15 und 23 gezeigt, wird die Taktzeit tc von Level 4 (R-L-L-L) auf ti festgelegt, und der Interferenzbestimmungsarbeitsablauf wird für Level 5 (R-L-L-L-L) ausgeführt. Es besteht die Möglichkeit einer Interferenz auf Level 5 (R-L-L-L-L), aber der Abstand zwischen den Klauen 18 ist nun ausreichend klein. In solchen Fällen wird, wie in 13 gezeigt, bestimmt, ob es eine Interferenz zwischen den Klauen 18 der jeweiligen Roboter 16 zu einer der Taktzeiten ti, tc oder tj, wie sie für Level 5 (R-L-L-L-R) festgelegt sind, gibt oder nicht.
  • Wie oben beschrieben, erfasst in dem Robotersteuerungssystem gemäß der vorliegenden beispielhaften Ausführungsform die Interferenzbestimmungsvorrichtung Stellungen zu den Taktzeiten ti und tj für jeden von mehreren Robotern und erfasst Strukturinformationen. Basierend auf den Strukturinformationen für jeden der mehreren Roboter berechnet die Interferenzbestimmungsvorrichtung Positionen eines festgelegten Teils (eine Klaue in der vorliegenden beispielhaften Ausführungsform) an jedem der mehreren Roboter zur Taktzeit ti, berechnet deren Positionen zur Taktzeit tj und berechnet eine mittlere Position zu einem mittleren Taktzeit tc. Darüber hinaus bestimmt die Interferenzbestimmungsvorrichtung eine Möglichkeit einer Interferenz zwischen den Robotern basierend auf einer Überlappung von erweiterten Bereichen. Die erweiterten Bereiche sind Bereiche, die sich aus Hinzufügen eines festgelegten Spielraums zu einhüllenden Formen ergeben, die die festgelegten Teile für jeden der mehreren Roboter an den jeweiligen Positionen zu den Taktzeiten ti, tc und tj enthalten. In Fällen, in denen die Möglichkeit einer Interferenz besteht, legt die Interferenzbestimmungsvorrichtung tc als entweder ein neues ti oder ein neues tj fest, bis die Abstände zwischen den festgelegten Teilen eine Bedingung erfüllen, ausreichend klein zu sein, als festgelegte Bedingung, und führt dann wiederholt die Positionsberechnung und die Bestimmung der Möglichkeit einer Interferenz aus. Wenn festgestellt wird, dass die Abstände zwischen den festgelegten Teilen die Bedingung erfüllt haben, wird dann bestimmt, ob es eine Interferenz zwischen den jeweiligen festgelegten Teilen an jedem der mehreren Roboter an irgendeiner der Positionen zu den Taktzeiten ti, tc oder tj gibt oder nicht. Die Interferenzbestimmungsvorrichtung richtet sich dabei auf Zeiten ein, bei denen eine Interferenz möglich zu sein scheint, und führt eine endgültige Interferenzbestimmung durch, wenn in einem Zustand in dem die Abstände zwischen den festgelegten Teilen ausreichend klein sind. Dies ermöglicht dementsprechend die Zeit, die für die Interferenzbestimmung gebraucht wird, zu verkürzen im Vergleich zu einem Fall, in dem die Interferenzbestimmung für alle Taktzeiten von Anfang bis Ende bei einem festgelegten Teilabstand durchgeführt wird, wenn der vorgeschriebene Teilabstand als ausreichend klein bestimmt wurde.
  • Es ist zu beachten, dass, obwohl ein Beispiel erläutert wurde in der obigen beispielhaften Ausführungsform, in dem die Interferenz zwischen zwei Robotern bestimmt wird, die obige beispielhafte Ausführungsform in geeigneter Weise auf Interferenzbestimmung zwischen drei oder mehr Robotern angewendet werden kann. In solchen Fällen werden die erweiterten Bereiche für jeden der drei oder mehr Roboter gefunden, indem eine festgelegten Spielraum zu den einhüllenden Formen, die die festgelegten Teile davon enthalten, hinzugefügt wird, und bestimmt wird, dass es eine Möglichkeit der Interferenz für einen Fall gibt, in dem es eine Überlappung von irgendeinem dieser Bereiche gibt.
  • Darüber hinaus kann in der vorliegenden beispielhaften Ausführungsform bei Bestimmen der Möglichkeit einer Interferenz eine Konfiguration eingenommen werden, um die Möglichkeit einer Interferenz zwischen einem festgelegten Teil der jeweiligen Roboter und einem Hindernis zu bestimmen, basierend auf einer Überlappung von einem Bereich, wo das Hindernis in der Peripherie mehrerer Roboter vorhanden ist, und jeweiligen erweiterten Bereichen, die sich aus Hinzufügen eines festgelegten Spielraums zu einhüllenden Formen ergeben, die die festgelegten Teile enthalten. Darüber hinaus, wenn die abschließende Interferenzbestimmung durchgeführt wird, kann bestimmt werden, ob es eine Interferenz zwischen den Positionen der festgelegten Teile und dem Hindernis zu einer der Taktzeiten ti, tc und tj gibt.
  • Darüber hinaus können, obwohl in der obigen beispielhaften Ausführungsform ein Fall beschrieben wurde, in dem eine mittlere Stellung festgelegt wurde, mehrere mittlere Stellungen festgelegt werden. Zum Beispiel können zwei mittlere Taktzeiten tc1 und tc2 (tc1 < tc2) festgelegt werden. Einen ähnlichen Arbeitsablauf, zu dem Arbeitsablauf, der in dem obigen beispielhaften Ausführungsform für die Taktzeiten von ti bis tc und für die Taktzeiten von tc bis tj durchgeführt wurde, kann dann durchgeführt werden für jede der Perioden von den Taktzeiten ti bis tc1, von tc1 bis tc2 und von tc2 bis tj.
  • Darüber hinaus kann, obwohl in der obigen beispielhaften Ausführungsform ein Fall beschrieben wurde, in dem die Interferenzbestimmungsvorrichtung und die Robotersteuerungsvorrichtung separate Geräte sind, kann auch eine Ausführungsform eingenommen werden, in der die Interferenzbestimmungsvorrichtung in die Robotersteuerungsvorrichtung integriert ist. Darüber hinaus kann jede der funktionellen Konfigurationen der Interferenzbestimmungsvorrichtung durch ein anderes jeweiliges Gerät implementiert werden, und der Interferenzbestimmungsarbeitsablauf, der oben beschriebene wurde, kann als verteilter Arbeitsablauf implementiert werden.
  • Darüber hinaus kann das Interferenzbestimmungsprogramm, das in der obigen beispielhaften Ausführungsform durch die CPU ausgeführt wird, kann die Lese- und Ausführungssoftware (ein Programm), von verschiedenen anderen Prozessoren als einer CPU ausgeführt werden. Beispiele für solche Prozessoren umfassen programmierbare Logikbausteine (PLD) mit Schaltungskonfigurationen, die nach der Herstellung modifizierbar sind, wie z. B. feldprogrammierbare Gate-Arrays (FPGA), und dedizierte/ eigene [dedicated] elektrische Schaltungen oder dergleichen, die Prozessoren sind, die Schaltungskonfigurationen enthalten, die speziell gestaltet sind, um einen bestimmten Arbeitsablauf auszuführen, wie z. B. eine anwendungsspezifische integrierte Schaltung (ASIC). Darüber hinaus kann das Interferenzbestimmungsprogramm von einem einzelnen solcher verschiedenen Prozessoren ausgeführt werden, oder kann von einer Kombination von zwei oder mehreren Prozessoren des gleichen oder anderen Typs ausgeführt werden (z. B. von mehreren FPGAs oder von einer Kombination aus einer CPU und einem FPGA oder ähnlichem). Darüber hinaus ist die Hardware-Struktur solcher Prozessoren, genauer gesagt, elektrische Schaltungen, die Schaltungselemente wie Halbleiterelemente kombinieren.
  • Darüber hinaus gibt es, obwohl in der obigen beispielhaften Ausführungsform ein Modus beschrieben wurde, in dem das Interferenzbestimmungsprogramm auf einem Speichermedium vorgespeichert (vorinstalliert) ist, diesbezüglich keine Einschränkung. Das Programm kann in einem Format bereitgestellt werden, das auf einem Speichermedium wie einer CD-ROM, DVD-ROM, Blu-ray-Disc, einem USB-Speicher oder ähnlichem gespeichert ist. Außerdem kann das Programm in einem Format sein, das von einem externen Gerät über ein Netzwerk heruntergeladen werden kann.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2003 A [0002]

Claims (12)

  1. Eine Interferenzbestimmungsvorrichtung umfassend: eine Erfassungseinheit, die ausgebildet ist, um eine erste Stellung und eine zweite Stellung für jeden aus einer Mehrzahl von Robotern sowie Strukturinformationen zu erfassen; eine Berechnungseinheit, die ausgebildet ist, um basierend auf Strukturinformationen für jeden der Roboter, für einen festgelegten Teil von jedem aus der Mehrzahl von Robotern eine erste Position in der ersten Stellung, eine zweite Position in der zweiten Stellung und eine mittlere Position auf einer Trajektorie zwischen der ersten Stellung und der zweiten Stellung zu berechnen; eine Möglichkeitsbestimmungseinheit, die ausgebildet ist, um eine Möglichkeit einer Interferenz zwischen Robotern in einem Fall zu bestimmen, in dem sich jeder der Roboter von der ersten Stellung in die zweite Stellung bewegt, basierend auf einer Überlappung von erweiterten Bereichen [org.: added-margin], die sich aus der Addition einer festgelegten Spielraums zu einer einhüllenden Form ergibt, die den festgelegten Teil von jedem aus der Mehrzahl von Robotern für die ersten Positionen, für die zweiten Positionen und für die mittlere Positionen enthält; eine Endbestimmungseinheit, die ausgebildet ist, um in einem Fall, in dem eine Möglichkeit einer Interferenz durch die Möglichkeitsbestimmungseinheit bestimmt worden ist, die mittlere Position als eine neue Position für die erste Position oder als eine neue Position für die zweite Position festzulegen, und bewirkt, dass der Arbeitsablauf der Berechnungseinheit und der Möglichkeitsbestimmungseinheit wiederholt ausgeführt wird, bis eine festgelegte Bedingung erfüllt ist, wobei die festgelegte Bedingung ist, dass ein Abstand von der ersten Position zu der mittleren Position und ein Abstand von der zweiten Position zu der mittleren Position ausreichend kleine Abstände sind; und eine Interferenzbestimmungseinheit, die ausgebildet ist, um in einem Fall, in dem die Endbestimmungseinheit bestimmt hat, dass die Abstände die Bedingung erfüllen, zu bestimmen, ob es eine Interferenz zwischen den festgelegten Teilen der Mehrzahl von Robotern an irgendeiner der ersten Positionen, der zweiten Positionen oder der mittleren Positionen gibt oder nicht.
  2. Interferenzbestimmungsvorrichtung nach Anspruch 1, wobei die Berechnungseinheit als die mittlere Position eine Position auf der Trajektorie berechnet, die einen Abstand von der ersten Position oder von der zweiten Position in der Mitte zwischen der ersten Position und der zweiten Position hat.
  3. Interferenzbestimmungsvorrichtung nach Anspruch 1, wobei die Berechnungseinheit als die mittlere Position eine Position des festgelegten Teils in einer mittleren Stellung zwischen der ersten Stellung und der zweiten Stellung berechnet.
  4. Interferenzbestimmungsvorrichtung nach Anspruch 1, wobei die Berechnungseinheit als eine mittlere Stellung eine Stellung eines Roboters zu einer mittleren Taktzeit zwischen einer Taktzeit der ersten Stellung und einer Taktzeit der zweiten Stellung berechnet und als die mittlere Stellung eine Position des festgelegten Teils in der mittleren Stellung berechnet.
  5. Die Interferenzbestimmungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Möglichkeitsbestimmungseinheit den Spielraum als einen längeren Abstand aus dem Abstand von der ersten Position zur mittleren Position oder dem Abstand von der zweiten Position zur mittleren Position bestimmt.
  6. Interferenzbestimmungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Möglichkeitsbestimmungseinheit den Spielraum basierend auf einer festgelegten Beziehung zwischen einem Betrag der Änderung der Stellung eines Roboters und einem Betrag der Änderung der Position des festgelegten Teils bestimmt.
  7. Die Interferenzbestimmungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Möglichkeitsbestimmungseinheit als einhüllende Form eine Begrenzungskugel, eine achsenausgerichtete Begrenzungsbox, eine orientierte Begrenzungsbox oder eine konvexe Hülle annimmt.
  8. Interferenzbestimmungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Endbestimmungseinheit die Bedingung als erfüllt bestimmt in einem Fall, in dem der Abstand nicht größer als ein festgelegter Wert ist.
  9. Interferenzbestimmungsvorrichtung nach Anspruch 8, wobei die Endbestimmungseinheit den festgelegten Wert auf einen größeren Wert festlegt, wenn ein Abstand zwischen den Robotern zwischen den festgelegten Teilen zunimmt.
  10. Die Interferenzbestimmungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei: die Möglichkeitsbestimmungseinheit ausgebildet ist, um eine Möglichkeit einer Interferenz zwischen dem festgelegten Teil und einem Hindernis zu bestimmen in einem Fall, in dem sich die Mehrzahl von Robotern von der ersten Stellung zu der zweiten Stellung bewegen, basierend auf einer Überlappung von einem Bereich, in dem das Hindernis an einer Peripherie der Mehrzahl der Robotern vorhanden ist, und den erweiterten Bereichen, die sich aus der Addition eines festgelegten Spielraums zu einer einhüllenden Form, die das vorgeschriebene Teil enthält, ergeben; und in einem Fall, in dem die Endbestimmungseinheit den Abstand, um die Bedingung zu erfüllen, bestimmt hat, die Interferenzbestimmungseinheit die Interferenz mit dem Hindernis an jeder der ersten Position, der zweiten Position und der mittleren Position bestimmt.
  11. Ein Interferenzbestimmungsverfahren umfassend: Erfassen einer ersten Stellung und einer zweiten Stellung für jeden aus einer Mehrzahl von Robotern, sowie Strukturinformationen mit einer Erfassungseinheit; Berechnen mit einer Berechnungseinheit, basierend auf Strukturinformationen für jeden aus der Mehrzahl von Robotern, für ein festgelegtes Teil von jedem aus der Mehrzahl von Robotern, einer ersten Position in der ersten Stellung, einer zweiten Position in der zweiten Stellung und einer mittleren Position auf einer Trajektorie zwischen der ersten Stellung und der zweiten Stellung; Bestimmen einer Möglichkeit einer Interferenz zwischen Robotern mit einer Möglichkeitsbestimmungseinheit in einem Fall, in dem sich jeder aus der Mehrzahl von Robotern von der ersten Stellung in die zweite Stellung bewegt, basierend auf einer Überlappung von erweiterten Bereichen, die sich aus der Addition eines festgelegten Spielraums zu einer einhüllenden Form ergibt, die den festgelegten Teil von jedem aus der Mehrzahl von Robotern an irgendeiner der ersten Positionen, der zweiten Positionen und der mittleren Positionen enthält; Festlegen der mittlere Position als eine neue Position für die erste Position oder als eine neue Position für die zweite Position mit einer Endbestimmungseinheit, in einem Fall, in dem eine Möglichkeit einer Interferenz durch die Möglichkeitsbestimmungseinheit bestimmt worden ist, bewirken mit der Endbestimmungseinheit, dass der Arbeitsablauf der Berechnungseinheit und der Möglichkeitsbestimmungseinheit wiederholt ausgeführt wird, bis eine festgelegte Bedingung erfüllt ist, wobei die festgelegte Bedingung ist, dass ein Abstand von der ersten Position zu der mittleren Position und ein Abstand von der zweiten Position zu der mittleren Position ausreichend kleine Abstände sind; und Bestimmen, ob es eine Interferenz zwischen den festgelegten Teilen der Mehrzahl von Robotern an irgendeiner der ersten Positionen, der zweiten Positionen oder der mittleren Positionen gibt oder nicht mit einer Interferenzbestimmungseinheit in einem Fall, in dem die Endbestimmungseinheit die Abstände bestimmt hat, um die Bedingung zu erfüllen.
  12. Ein nicht-übertragbares Speichermedium, das ein Interferenzbestimmungsprogramm speichert, ausführbar von einem Computer, dient als: eine Erfassungseinheit, die ausgebildet ist, um eine erste Stellung und eine zweite Stellung für jeden aus einer Mehrzahl von Robotern sowie Strukturinformationen zu erfassen; eine Berechnungseinheit, die ausgebildet ist, um basierend auf Strukturinformationen für jeden aus der Mehrzahl von Robotern, für einen festgelegten Teil von jedem aus der Mehrzahl von Robotern eine erste Position in der ersten Stellung, eine zweite Position in der zweiten Stellung und eine mittlere Position auf einer Trajektorie zwischen der ersten Stellung und der zweiten Stellung zu berechnen; eine Möglichkeitsbestimmungseinheit, die ausgebildet ist, um eine Möglichkeit einer Interferenz zwischen Robotern in einem Fall zu bestimmen, in dem sich jeder aus der Mehrzahl von Robotern von der ersten Stellung in die zweite Stellung bewegt, basierend auf einer Überlappung von erweiterten Bereichen, die sich aus der Addition eines festgelegten Spielraums zu einer einhüllenden Form ergibt, die den festgelegten Teil von jedem aus der Mehrzahl von Robotern für die ersten Positionen, für die zweiten Positionen und für die mittlere Positionen enthält; eine Endbestimmungseinheit, die ausgebildet ist, um in einem Fall, in dem eine Möglichkeit einer Interferenz durch die Möglichkeitsbestimmungseinheit bestimmt worden ist, die mittlere Position als eine neue Position für die erste Position oder als eine neue Position für die zweite Position festzulegen, und bewirkt, dass der Arbeitsablauf der Berechnungseinheit und der Möglichkeitsbestimmungseinheit wiederholt ausgeführt wird, bis eine festgelegte Bedingung erfüllt ist, wobei die festgelegte Bedingung ist, dass ein Abstand von der ersten Position zu der mittleren Position und ein Abstand von der zweiten Position zu der mittleren Position ausreichend kleine Abstände sind; und eine Interferenzbestimmungseinheit, die ausgebildet ist, um in einem Fall, in dem die Endbestimmungseinheit bestimmt hat, dass die Abstände die Bedingung erfüllen, zu bestimmen, ob es eine Interferenz zwischen den festgelegten Teilen der Mehrzahl von Robotern an irgendeiner der ersten Positionen, der zweiten Positionen oder der mittleren Positionen gibt oder nicht.
DE102021105772.8A 2020-03-13 2021-03-10 Interferenzbestimmungsvorrichtung und Verfahren Active DE102021105772B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-044762 2020-03-13
JP2020044762A JP2021142635A (ja) 2020-03-13 2020-03-13 干渉判定装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
DE102021105772A1 true DE102021105772A1 (de) 2021-09-16
DE102021105772B4 DE102021105772B4 (de) 2022-06-23

Family

ID=77457464

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021105772.8A Active DE102021105772B4 (de) 2020-03-13 2021-03-10 Interferenzbestimmungsvorrichtung und Verfahren

Country Status (4)

Country Link
US (1) US11597090B2 (de)
JP (1) JP2021142635A (de)
CN (1) CN113386127B (de)
DE (1) DE102021105772B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117140538B (zh) * 2023-10-31 2024-01-05 天津伍嘉联创科技发展股份有限公司 运动机械手的异步防撞方法及系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001315087A (ja) * 2000-05-09 2001-11-13 Toshiba Mach Co Ltd ロボットアームのリアルタイム干渉チェック方法
JP2003103491A (ja) 2001-09-28 2003-04-08 Honda Motor Co Ltd ロボットの相互干渉検証方法および相互干渉表示パターン
JP2005081445A (ja) * 2003-09-04 2005-03-31 Fanuc Ltd ロボットの干渉領域確認装置
JP3907649B2 (ja) * 2004-09-02 2007-04-18 ファナック株式会社 ロボット間の干渉防止制御装置
JP4159577B2 (ja) 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
JP5089533B2 (ja) * 2008-08-28 2012-12-05 株式会社神戸製鋼所 ロボットの干渉回避方法及びロボットシステム
US8386080B2 (en) 2009-09-15 2013-02-26 Harris Corporation Robotic apparatus implementing collision avoidance scheme and associated methods
DE102011001475B4 (de) 2011-03-22 2020-03-12 Carl Zeiss Ag Verfahren und Vorrichtungen zur Positionsbestimmung
JP5144785B2 (ja) * 2011-04-18 2013-02-13 ファナック株式会社 ロボットの着目部位と周辺物との干渉を予測する方法及び装置
DE102012103830B4 (de) 2011-05-05 2022-05-25 Fanuc Robotics America Corp. Verfahren und computerlesbare Medien zur automatischen Verbindung von gegenseitiger Blockierung in Mehrfachrobotersytemen
JP6359847B2 (ja) * 2014-03-18 2018-07-18 株式会社ダイヘン 干渉回避装置
DE102015116522B3 (de) 2015-10-13 2016-10-27 ATENSOR Engineering and Technology Systems GmbH Synchronisierung mehrerer Roboter
JP6654926B2 (ja) * 2016-02-24 2020-02-26 本田技研工業株式会社 処理時間の予測方法
JP6420296B2 (ja) * 2016-12-01 2018-11-07 ファナック株式会社 ロボットの干渉領域を自動で設定するロボット制御装置
JP6879464B2 (ja) * 2017-08-02 2021-06-02 オムロン株式会社 干渉判定方法、干渉判定システム及びコンピュータプログラム
JP6895082B2 (ja) * 2017-11-09 2021-06-30 オムロン株式会社 干渉判定方法、干渉判定システム及びコンピュータプログラム
US11458626B2 (en) * 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP7158862B2 (ja) * 2018-02-05 2022-10-24 キヤノン株式会社 情報処理方法及び情報処理装置
JP7119556B2 (ja) * 2018-05-15 2022-08-17 オムロン株式会社 多関節ロボットの干渉判定装置、多関節ロボットの干渉判定方法、多関節ロボットの干渉判定プログラム、及び経路計画生成装置
DE102019102803B4 (de) 2019-02-05 2022-02-17 Franka Emika Gmbh Ausrichten zweier Roboterarme zueinander

Also Published As

Publication number Publication date
JP2021142635A (ja) 2021-09-24
CN113386127B (zh) 2023-10-20
US20210283775A1 (en) 2021-09-16
US11597090B2 (en) 2023-03-07
DE102021105772B4 (de) 2022-06-23
CN113386127A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
DE102018000369B4 (de) Numerische steuerung
DE102009048252A1 (de) In eine numerisch gesteuerte Maschine eingebaute Kollisionsverhinderungsvorrichtung
EP3592561B1 (de) Verfahren zur additiven fertigung eines dreidimensionalen gegenstandes
DE112016005969T5 (de) Werkzeugwegkorrekturvorrichtung und Werkzeugwegkorrekturverfahren
DE112016007478B4 (de) Numerische Steuervorrichtung, Programmkonvertierungsvorrichtung, numerisches Steuerungsverfahren und Programmkonvertierungsverfahren
DE2422102A1 (de) Numerische steuerung zur erzeugung einer parabolischen auskehlung
DE102015120118B4 (de) Werkzeugmaschine mit einer Werkzeugwegkurvenerzeugungsvorrichtung
DE102017001783A1 (de) Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht
DE102014014524B4 (de) Werkzeugbahnanzeigevorrichtung, mit einer Anzeigeeinheit für Bahndaten
DE102019003286A1 (de) Numerische Steuerung
DE102019005974A1 (de) Einlernvorrichtung zur laserbearbeitung
DE102019003928A1 (de) Positionsinformationsanzeigesystem
DE102020124734A1 (de) Simulationsgerät
DE102021105772A1 (de) Interferenzbestimmungsvorrichtung und Verfahren
DE112013003267T5 (de) Verfahren zum Auswerten und Laserschneidmaschine
DE112017004424T5 (de) Befehlswerterzeugungsvorrichtung
DE102018009406A1 (de) Messsystem, bearbeitungssystem, messverfahren und computerprogramm
DE112019007889T5 (de) Bearbeitungsprogramm-umwandlungseinrichtung, numerische-steuereinrichtung und bearbeitungsprogramm-umwandlungsverfahren
DE112020000656T5 (de) Bearbeitungsprogrammumwandlungsvorrichtung, numerische Steuerung, Bearbeitungsprogrammumwandlungsverfahren und Vorrichtung für maschinelles Lernen
DE102008013400A1 (de) Verfahren zur Ermittlung von Verriegelungsbereichen wenigstens eines im Raum bewegbaren ersten Objekts
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
DE102017116788B4 (de) Roboter-Steuerungsvorrichtung und Verfahren zur Steuerung derselben
DE112016007167T5 (de) Numerische Steuervorrichtung
DE102018000205A1 (de) Numerische Steuerung
DE112019003702T5 (de) Werkzeugwegkorrekturvorrichtung, werkzeugwegkorrekturverfahren und numerische steuerungsvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final