DE112019001256B3 - Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren - Google Patents

Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren Download PDF

Info

Publication number
DE112019001256B3
DE112019001256B3 DE112019001256.8T DE112019001256T DE112019001256B3 DE 112019001256 B3 DE112019001256 B3 DE 112019001256B3 DE 112019001256 T DE112019001256 T DE 112019001256T DE 112019001256 B3 DE112019001256 B3 DE 112019001256B3
Authority
DE
Germany
Prior art keywords
model
information
trajectory
section
trajectories
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
DE112019001256.8T
Other languages
English (en)
Inventor
Rosen Diankov
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.)
Mujin Inc
Original Assignee
Mujin Inc
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 Mujin Inc filed Critical Mujin Inc
Application granted granted Critical
Publication of DE112019001256B3 publication Critical patent/DE112019001256B3/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40475In presence of moving obstacles, dynamic environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40492Model manipulator by spheres for collision avoidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40516Replanning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40521Alternative, allowable path substitution if arm movements not possible

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Steuervorrichtung (730) zum Steuern des Betriebs eines Arbeitsroboters (214) zum Ausführen einer Arbeit in einem Zielbereich (202) unter Verwendung eines Manipulators (220), wobei die Steuervorrichtung (730) aufweist:eine Änderungsinformationserfassungssektion (630, 720) zum Erfassen von zumindest einer von(i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern (20), welche in dem Zielbereich (202) angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf den zumindest einen von dem einen oder den mehreren Körpern (820) angibt, und(ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper (320, 420) in dem Zielbereich (202) anzuordnen ist;eine Modellinformationserfassungssektion (630) zum Erfassen von zumindest einer von(i) einer ersten Modellinformation, welche jeweils den einen oder die mehreren Körper (20, 320, 420) repräsentiert, nachdem die Änderung aufgetreten ist, und(ii) einer zweiten Modellinformation, welche den neuen Körper (320, 420) repräsentiert;eine Trajektorieninformationserfassungssektion (720) zum Erfassen einer Trajektorieninformation, welche eine oder mehrere Trajektorien (340) repräsentiert, welche Arbeitsbereiche verbinden, in welchen der Arbeitsroboter (214) eine Serie von Arbeitsvorgängen ausführt;eine Klassifizierungssektion (848) zum Klassifizieren der Trajektorien (340) einschließlich Trajektorien, welche eine Korrektur benötigen aufgrund zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation; undeine Trajektorienplanungssektion (850) zum Planen einer Trajektorie (340) des Manipulators (220) zwischen zwei Arbeitsbereichen, welche sich auf jede der einen oder der mehreren Trajektorien (340) beziehen, basierend auf zumindest einer der ersten Modellinformation und der zweiten Modellinformation, für jede von der einen oder den mehreren Trajektorien, welche als eine Trajektorie klassifiziert wird, welche eine Korrektur benötigt, wobeidie Klassifizierungssektion (848) enthält:eine erste vergrößertes-Modell-Erzeugungssektion zum Erzeugen eines ersten vergrößerten Modells, welches(i) ein Modell ist, welches erhalten wird mittels Erhöhens der Größe des Manipulators (220) und/oder(ii) ein Modell ist, welches eine einfachere Form als der Manipulator (220) hat; undeine Bestimmungssektion zum(a) Bestimmen, ob eine Kollision auftreten würde zwischen(i) einem Modell von jedem Körper (20, 320, 420), welches mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben wird, und(ii) dem ersten vergrößerten Modell an Standorten auf jeder der Trajektorien (340), und(b) Bestimmen, ob eine Korrektur erforderlich ist für die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen(i) dem Modell von jedem Körper (20, 320, 420) und(ii) dem ersten vergrößerten Modell.

Description

  • Die vorliegende Erfindung bezieht sich auf eine Steuervorrichtung, einen Arbeitsroboter, ein Programm und ein Steuerverfahren.
  • Ein Picking System ist bekannt, welches einen Manipulator verwendet, um Werkstücke, welche in einem Container enthalten sind, herauszunehmen und diese Werkstücke an einem bestimmten Standort in einem anderen Container anzuordnen, wie beispielsweise in den Patentdokumenten 1 bis 3 gezeigt ist. Ferner ist ein Industrieroboter bekannt, welcher verschiedene Arten von Arbeit unter Verwendung eines Manipulators ausführt.
    • PTL1 Japanische Patentanmeldung Veröffentlichungsnummer JP 2016 - 091 053 A
    • PTL2 Japanische Patentanmeldung Veröffentlichungsnummer JP 2016 - 147 330 A
    • PTL3 Japanische Patentanmeldung Veröffentlichungsnummer JP 2017 - 033 429 A
  • DE 10 2018 001 781 A1 offenbart ein Robotersystem umfassend einen Roboter, der eine Hand umfasst, die konfiguriert ist, um ein Werkstück zu halten; einen Sensor, der konfiguriert ist, um einen Arbeitsbereich zu messen, in dem das Werkstück existiert, um eine dreidimensionale Form in dem Arbeitsbereich als Messdaten zu erlangen; eine Messdatenverarbeitungsvorrichtung, die eine Modelldatenspeichereinheit, die konfiguriert ist, um eine dreidimensionale Form des Werkstücks als Modelldaten zu speichern, eine Messdatenkorrektureinheit, die konfiguriert ist, um die Messdaten mittels maschinellen Lernens zu korrigieren, und eine Positions- und Ausrichtungsberechnungseinheit umfasst, die konfiguriert ist, um die Messdaten mit den Modelldaten zu kollationieren, um eine Position und eine Ausrichtung des Werkstücks in dem Arbeitsbereich zu berechnen; und eine Robotersteuereinheit, die konfiguriert ist, um den Roboter auf der Grundlage einer Ausgabe aus der Positions- und Ausrichtungsberechnungseinheit zu steuern, wobei die Messdatenkorrektureinheit in einem Lernstadium Lehrerdaten durch Anordnen der Modelldaten in der Position und der Ausrichtung erstellt, die durch die Positions- und Ausrichtungsberechnungseinheit berechnet sind, und einen Parameter zum Korrigieren der Messdaten auf der Grundlage der Messdaten und der Lehrerdaten einstellt, und in einem Aufnahmestadium korrigierte Messdaten ausgibt, die durch Korrigieren der Messdaten unter Verwendung des eingestellten Parameters erlangt sind.
  • DE 20 2017 105 598 U1 offenbart ein nichttransitorisches computerlesbares Speichermedium, auf dem Anweisungen gespeichert sind, wobei die Anweisungen, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, bewirken, dass der eine oder die mehreren Prozessoren Schritte durchführen, die umfassen: während der Durchführung von mehreren Episoden durch jeden von mehreren Robotern, wobei jede der Episoden eine Untersuchung der Durchführung einer Aufgabe auf der Basis eines neuronalen Richtliniennetzes ist, das eine Verstärkungslernrichtlinie für die Aufgabe darstellt: Speichern von Instanzen von Robotererfahrungsdaten in einem Puffer, die während der Episoden durch die Roboter erzeugt werden, wobei jede der Instanzen der Robotererfahrungsdaten während einer entsprechenden der Episoden erzeugt wird und zumindest teilweise an einer entsprechenden Ausgabe erzeugt wird, die unter Verwendung des neuronalen Richtliniennetzes mit entsprechenden Richtlinienparametern für das neuronalen Richtliniennetz für die entsprechende Episode erzeugt wird; iteratives Erzeugen von aktualisierten Richtlinienparametern des neuronalen Richtliniennetzes, wobei jede der Iterationen des iterativen Erzeugens das Erzeugen der aktualisierten Richtlinienparameter unter Verwendung einer Gruppe von einer oder mehreren Instanzen der Robotererfahrungsdaten im Puffer während der Iteration umfasst; und durch jeden der Roboter in Verbindung mit einem Start von jeder von mehreren Episoden, die durch den Roboter durchgeführt werden, Aktualisieren des neuronalen Richtliniennetzes, das durch den Roboter in der Episode verwendet werden soll, wobei das Aktualisieren des neuronalen Richtliniennetzes die Verwendung der aktualisierten Richtlinienparameter einer jüngsten Iteration des iterativen Erzeugens der aktualisierten Richtlinienparameter umfasst.
  • DE 11 2017 007 028 T5 offenbart eine Positionskontrollvorrichtung für Vorgänge, die Ausrichtung und Einführung in Bezug auf zwei Objekte enthalten, wobei die Vorrichtung Folgendes umfasst: eine Pfadeinstellungseinheit zum Anweisen, beim Entfernen von einem der zwei Objekte aus ihrem eingeführten Zustand, einer Bewegungsmenge für Bewegung von dem eingeführten Zustand zu einer Position auf einem Pfad und ihrer Umgebung; und eine Aktoreinheit zum Erhalten von Positionsdaten und eines Kraftsensorwertes nach Bewegung, um die Positionsdaten nach Bewegung als eine Ausgabeschicht und den Kraftsensorwert an der Position nach Bewegung als eine Eingabeschicht zu lernen.
  • DE 11 2016003107 T5 offenbart eine Messvorrichtung zum Messen einer Form eines Zielobjekts mit: einem optischen Projektionssystem, das konfiguriert ist, Musterlicht auf das Zielobjekt zu projizieren; einer Beleuchtungseinheit, die konfiguriert ist, das Zielobjekt zu beleuchten; einer Abbildungseinheit, die konfiguriert ist, das Zielobjekt, auf das das Musterlicht durch das optische Projektionssystem projiziert wird, abzubilden, wodurch ein erstes Bild des Zielobjekts durch das durch das Zielobjekt reflektierte Musterlicht aufgenommen wird; und einer Verarbeitungseinheit, die konfiguriert ist, eine Information über die Form des Zielobjekts zu erhalten, wobei die Beleuchtungseinheit mehrere Lichtemitter enthält, die um eine optische Achse des optischen Projektionssystems symmetrisch mit Bezug auf die optische Achse des optischen Projektionssystems angebracht sind, wobei die Abbildungseinheit das Zielobjekt, das durch die mehreren Lichtemitter beleuchtet wird, abbildet, um ein zweites Bild durch Licht, das von den mehreren Lichtemittern emittiert und durch das Zielobjekt reflektiert wird, zu erhalten, wobei die Verarbeitungseinheit das erste Bild unter Verwendung des zweiten Bildes des Zielobjekts korrigiert und die Information über die Form des Zielobjekts auf der Basis des korrigierten Bildes erhält.
  • DE 10 2015 208 584 A1 offenbart eine Greifvorrichtung, die beinhaltet: eine dreidimensionale Bildgebungseinrichtung, die dazu ausgestaltet ist, Werkstücke, die in großer Menge in einem Behälter enthalten sind, dreidimensional aufzunehmen; einen Roboterarm, der eine Hand aufweist, die dazu geeignet ist, ein Werkstück zu greifen; und eine Steuerungseinrichtung, die dazu ausgestaltet ist, eine Betätigung des Roboterarms zu steuern; wobei die Steuerungseinrichtung dazu ausgestaltet ist, eine Position und eine Stellung eines Zielwerkstücks, auf einem Aufnahmeergebnis der dreidimensionalen Bildgebungseinrichtung basierend, zu erkennen; eine Greifposition des Werkstücks und einen Näherungsvektor davon, auf der erkannten Positions- und Stellungsinformation basierend, zu erhalten; einen Kreuzungspunkt zwischen einer geraden Linie, die sich entlang des Näherungsvektors durch die Greifposition erstreckt, und einer Ebene, die eine Öffnung des Behälters beinhaltet, zu berechnen; und, auf einer Positionsbeziehung zwischen dem Kreuzungspunkt und der Öffnung basierend, zu bewerten, ob das Werkstück gegriffen werden kann oder nicht.
  • DE 10 2015 115 115 A1 offenbart eine Gegenstandsaufnahmevorrichtung zum Steuern eines Roboters oder einer Hand gemäß einer Profilsteuerung, wenn die Hand einen Gegenstand so hält, dass eine externe Kraft, die auf die Hand wirkt und von einem Kraftsensor erkannt wird, der zwischen einem Arm und der Hand installiert ist, näher an einem Zielwert der externen Kraft liegt, die durch eine Kraftzielwerteinstellungseinheit eingestellt wird.
  • Wenn ein Picking System eine Picking Arbeit ausführt, bestehen annäherungsweise zwei Arbeitspunkte oder Zielpunkte und das Picking System kann eine Trajektorie planen, entlang welcher sich der Manipulator gleichmäßig zwischen den zwei Arbeitspunkten bewegen soll. Wenn ein Industrieroboter dagegen verschiedene Arten von Arbeit ausführt, besteht eine relativ große Anzahl von Arbeitspunkten oder Zielpunkten, und es ist daher schwierig, eine Trajektorie zu planen, entlang welcher sich der Manipulator gleichmäßig zwischen zwei Arbeitspunkten bewegen soll, innerhalb einer geeigneten Spanne einer Berechnungszeit.
  • Es ist die Aufgabe der vorliegenden Erfindung, eine Steuervorrichtung zum Steuern des Betriebs eines Arbeitsroboters zum Ausführen einer Arbeit in einem Zielbereich unter Verwendung eines Manipulators; ein Programm, welches einen Computer veranlasst, als die Steuervorrichtung zu funktionieren, und ein Steuerverfahren zum Steuern eines Betriebs eines Arbeitsroboters zum Ausführen einer Arbeit in einem Zielbereich unter Verwendung eines Manipulators bereitzustellen, für die jeweils eine Trajektorie einschließlich einer Kollisionsberechnung einfach, zuverlässig und schnell geplant werden kann, entlang welcher sich der Manipulator gleichmäßig zwischen zwei Arbeitspunkten innerhalb einer geeigneten Spanne einer Berechnungszeit bewegen soll. Diese Aufgabe wird gelöst durch die Gegenstände der Patentansprüche 1, 3, 8, 9 und 10.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist eine Steuervorrichtung bereitgestellt. Die Steuervorrichtung steuert den Betrieb eines Arbeitsroboters. Der Arbeitsroboter führt eine Arbeit in einem Zielbereich unter Verwendung eines Manipulators durch. Die Steuervorrichtung enthält eine Änderungsinformationserfassungssektion zum Erfassen von zumindest einer von (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern, welche in dem Zielbereich angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf zumindest eine von einer Position, eine Orientierung, einer Form und einer Größe des zumindest einen Körpers angibt und (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper in dem Zielbereich anzuordnen ist. Die Steuervorrichtung enthält eine Modellinformationserfassungssektion zum Erfassen von zumindest einer von (i) einer ersten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe von jedem von dem einen oder den mehreren Körpern angibt, nachdem die Änderung aufgetreten ist, und (ii) einer zweiten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe des neuen Körpers angibt. Die Steuervorrichtung enthält eine Trajektorieninformationserfassungssektion zum Erfassen von N-1 oder N Teilen einer Trajektorieninformation, welche jeweils N-1 oder N Trajektorien angeben, welche N Arbeitsbereiche verbinden, in welchen der Arbeitsroboter eine Serie von Arbeitsvorgängen in einer Reihenfolge der Serie der Arbeitsvorgänge ausführt. Die Steuervorrichtung enthält eine Klassifizierungssektion zum Klassifizieren der N-1 oder N Trajektorien als (i) Trajektorien, welche eine Korrektur benötigen aufgrund einer Änderung in dem Zielbereich, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird, oder (ii) Trajektorien, welche keine Korrektur benötigen, selbst wenn eine Änderung in dem Zielbereich auftritt, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird. Die Steuervorrichtung enthält eine Trajektorienplanungssektion zum Planen einer Trajektorie einer Spitze des Manipulators zwischen zwei Arbeitsbereichen, welche sich auf jede der einen oder der mehreren Trajektorien beziehen, basierend auf zumindest einer der ersten Modellinformation und der zweiten Modell Information, für jede von der einen oder den mehreren Trajektorien, welche mittels der Klassifizierungssektion als eine Trajektorie klassifiziert wird, welche eine Korrektur benötigt. In der Steuervorrichtung kann N eine ganze Zahl größer als oder gleich 2 sein. Die Steuervorrichtung kann eine Trajektorienbestimmungssektion enthalten zum Bestimmen der Trajektorie der Spitze des Manipulators während der Serie von Arbeitsvorgängen basierend auf (i) einer Information, welche eine Position und eine Ausrichtung der Spitze des Manipulators in Trajektorien angibt, welche mittels der Trajektorienplanungssektion geplant werden, welche korrigiert werden müssen und (ii) einer Information, welche die Position und die Ausrichtung der Spitze des Manipulators in Trajektorien angibt, welche mittels der Trajektorieninformationserfassungssektion erfasst werden, welche nicht korrigiert werden müssen. Die Steuervorrichtung kann eine Ausgabesektion enthalten zum Ausgeben einer Steuerinformation zum Steuern des Betriebs des Manipulators, basierend auf der Trajektorie, welche mittels der Trajektorienbestimmungssektion bestimmt wird.
  • In der Steuervorrichtung kann die Klassifizierungssektion eine erste vergrößertes-Modell-Erzeugungssektion enthalten zum Erzeugen eines ersten vergrößerten Modells, welches (i) ein Modell ist, welches erhalten wird mittels Erhöhens der Größe des Manipulators oder (ii) ein Modell ist, welches größer als der Manipulator ist und eine einfachere Form als der Manipulator hat. In der Steuervorrichtung kann die Klassifizierungssektion eine Bestimmungssektion enthalten zum Bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Modell von jedem Körper, welches mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben wird, und (ii) dem ersten vergrößerten Modell an (a) M Standorten auf jeder der N-1 oder N Trajektorien, und welche bestimmt, dass die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem Modell von jedem Körper und (ii) dem ersten vergrößerten Modell an (b) zumindest einem Standort unter den M Standorten, Trajektorien sind, welche die Korrektur benötigen. In der Steuervorrichtung kann M eine ganze Zahl größer als oder gleich 1 sein.
  • Die Steuervorrichtung kann eine zweite vergrößertes-Modell-Erzeugungssektion aufweisen zum Erzeugen von zweiten vergrößerten Modellen, welche (i) Modelle sind, welche erhalten werden mittels Erhöhens der Größe von jedem Körper, welche mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben werden, oder (ii) Modelle sind, welche größer als jeder Körper sind und welche eine einfachere Form als jeder Körper haben. In der Steuervorrichtung bestimmt die Bestimmungssektion, ob eine Kollision auftreten würde zwischen (i) dem zweiten vergrößerten Modell und (ii) dem ersten vergrößerten Modell an (a) M Standorten in jeder der N-1 oder N Trajektorien, und bestimmt, dass die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem zweiten vergrößerten Modell und (ii) dem ersten vergrößerten Modell an (b) zumindest einem Standort unter den M Standorten, Trajektorien sind, welche die Korrektur benötigen.
  • In der Steuervorrichtung kann die Klassifizierungssektion eine zweite vergrößertes-Modell-Erzeugungssektion enthalten zum Erzeugen von zweiten vergrößerten Modellen, welche (i) Modelle sind, welche erhalten werden mittels Erhöhens der Größe von jedem Körper, welche mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben werden, oder (ii) Modelle sind, welche größer als jeder Körper sind und eine einfachere Form als jeder Körper haben. In der Steuervorrichtung kann die Klassifizierungssektion eine Bestimmungssektion enthalten, welche bestimmt, ob eine Kollision auftreten würde zwischen (i) dem Modell des Manipulators und (ii) dem zweiten vergrößerten Modell an (a) M Standorten in jeder der N-1 oder N Trajektorien, und welche bestimmt, dass Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem Modell des Manipulators und (ii) dem zweiten vergrößerten Modell an (b) zumindest einem Standort unter den M Standorten Trajektorien sind, welche eine Korrektur benötigen. In der Steuervorrichtung kann M eine ganze Zahl größer als oder gleich 1 sein.
  • In der Steuervorrichtung kann die Klassifizierungssektion ferner eine Genauigkeitsberechnungssektion enthalten zum Berechnen eines Werts von M basierend auf zumindest einer von der Größe des Manipulators und den Größen der vergrößerten Modelle. In der Steuervorrichtung kann die Klassifizierungssektion eine Genauigkeitsberechnungssektion enthalten zum Berechnen eines Werts von M basierend auf einer Korrespondenzbeziehung zwischen dem Betrieb des Manipulators in einem gemeinsamen Raum und dem Betrieb des Manipulators in einem realen Raum.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Arbeitsroboter bereitgestellt. Der Arbeitsroboter enthält beispielsweise die vorangehend beschriebene Steuervorrichtung. Der Arbeitsroboter enthält beispielsweise den Manipulator.
  • Der Arbeitsroboter kann eine Steuerungssektion zum Steuern des Betriebs des Manipulators enthalten. In dem Arbeitsroboter kann die Steuervorrichtung die Steuerinformation zum Steuern des Betriebs des Manipulators ausgeben. In dem Arbeitsroboter kann die Steuerungssektion den Betrieb des Manipulators basierend auf der Steuerinformation steuern, welche mittels der Steuervorrichtung ausgegeben wird.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung ist ein Steuerverfahren bereitgestellt. Das Steuerverfahren ist zum Steuern des Betriebs eines Arbeitsroboters. Der Arbeitsroboter führt eine Arbeit in einem Zielbereich unter Verwendung eines Manipulators durch. Das Steuerverfahren weist beispielsweise einen Änderungsinformationserfassungsschritt auf zum Erfassen von zumindest einer von (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von dem einem oder den mehreren Körpern, welche in dem Zielbereich angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf zumindest eine von einer Position, einer Ausrichtung, einer Form und einer Größe des zumindest einen Körpers angibt, und (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper in dem Zielbereich anzuordnen ist. Das Steuerverfahren weist beispielsweise einen Modellinformationserfassungsschritt auf zum Erfassen von zumindest einer von (i) einer ersten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe von jedem von dem einen oder den mehreren Körpern angibt, nachdem die Änderung aufgetreten ist, und (ii) einer zweiten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe des neuen Körpers angibt. Das Steuerverfahren weist beispielsweise einen Trajektorieninformationserfassungsschritt auf zum Erfassen von N-1 oder N Teilen einer Trajektorieninformation, welche jeweils N-1 oder N Trajektorien angeben, welche N Arbeitsbereiche verbinden, in welchen der Arbeitsroboter eine Serie von Arbeitsvorgängen in einer Reihenfolge der Serie der Arbeitsvorgänge ausführt. Das Steuerverfahren weist beispielsweise einen Klassifizierungsschritt auf zum Klassifizieren der N-1 oder N Trajektorien als (i) Trajektorien, welche eine Korrektur benötigen aufgrund einer Änderung in dem Zielbereich, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird, oder (ii) Trajektorien, welche keine Korrektur benötigen, selbst wenn eine Änderung in dem Zielbereich auftritt, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird. Das Steuerverfahren weist beispielsweise einen Trajektorienplanungsschritt auf zum Planen einer Trajektorie einer Spitze des Manipulators zwischen zwei Arbeitsbereichen, welche sich auf jede von der einen oder den mehreren Trajektorien beziehen, basierend auf zumindest einer von der ersten Modellinformation und der zweiten Modellinformation, für jede von der einen oder den mehreren Trajektorien, welche in dem Klassifizierungsschritt als eine Trajektorie klassifiziert ist, welche eine Korrektur benötigt. In dem Steuerverfahren kann N eine ganze Zahl größer als oder gleich 2 sein.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung ist ein Programm bereitgestellt. Ein nicht-transitorisches computerlesbaren Medium, auf welchem das Programm gespeichert ist, kann bereitgestellt sein. Das Programm kann einen Computer veranlassen, als die vorangehend beschriebene Steuervorrichtung zu funktionieren. Das Programm kann den Computer veranlassen, das vorangehend beschriebene Steuerverfahren auszuführen.
  • Der Zusammenfassungsabschnitt beschreibt nicht notwendigerweise alle notwendigen Merkmale der Ausführungsformen der vorliegenden Erfindung. Die vorliegende Erfindung kann auch eine Teilkombination der vorangehend beschriebenen Merkmale sein.
    • 1 zeigt schematisch ein Beispiel einer Systemkonfiguration des Arbeitssystems 100.
    • 2 zeigt schematisch ein Beispiel einer Systemkonfiguration der Ausführungsvorrichtung 120.
    • 3 zeigt schematisch ein Beispiel der gesamten Trajektorie 340.
    • 4 zeigt schematisch ein Beispiel der gesamten Trajektorie 340.
    • 5 zeigt schematisch ein Beispiel der gesamten Trajektorie 340.
    • 6 zeigt schematisch ein Beispiel einer Systemkonfiguration der Managementvorrichtung 140.
    • 7 zeigt schematisch ein Beispiel einer internen Konfiguration der systemverwaltenden Sektion 640.
    • 8 zeigt schematisch ein Beispiel einer internen Konfiguration der Einstellungssektion 730.
  • Im Folgenden werden einige Ausführungsformen der vorliegenden Erfindung beschrieben. Die Ausführungsformen beschränken nicht die Erfindung gemäß den Ansprüchen und alle Kombinationen von Merkmalen, welche in den Ausführungsformen beschrieben sind, sind nicht notwendigerweise wesentlich für die Mittel, welche mittels der Aspekte der Erfindung bereitgestellt sind. In den Zeichnungen können identische oder ähnliche Abschnitte mit denselben Bezugsziffern versehen sein und auf redundante Erläuterungen kann verzichtet sein.
  • 1 zeigt schematisch ein Beispiel einer Systemkonfiguration des Arbeitssystems 100. In der vorliegenden Ausführungsform enthält das Arbeitssystem 100 eine oder mehrere Ausführungsvorrichtungen 120 und eine Managementvorrichtung 140. Das Arbeitssystem 100 kann ein oder mehrere Eingabeterminals 160 enthalten. Jede Sektion des Arbeitssystems 100 kann eine Information via ein Kommunikationsnetzwerk 10 zueinander und voneinander senden und empfangen. In dieser Beschreibung bedeutet der Begriff „ein oder mehrere“ „ein oder eine Mehrzahl“.
  • Die Ausführungsvorrichtung 120 kann ein Beispiel für einen Arbeitsroboter sein. Die Managementvorrichtung 140 kann ein Beispiel für eine Steuervorrichtung sein.
  • In der vorliegenden Ausführungsform kann das Kommunikationsnetzwerk 10 ein Übertragungspfad für eine drahtgebundene Kommunikation, ein Übertragungspfad für eine drahtlose Kommunikation oder eine Kombination aus einem Übertragungspfad für die drahtgebundene Kommunikation und einem Übertragungspfad für die drahtlose Kommunikation sein. Das Kommunikationsnetzwerk 10 kann ein drahtloses Paket Kommunikationsnetzwerk, das Internet, ein P2P Netzwerk, eine dedizierte Leitung, ein VPN, eine Leistungsleitung Kommunikationsleitung oder Ähnliches enthalten. Das Kommunikationsnetzwerk 10 kann (i) ein mobiles Kommunikationsnetzwerk, beispielsweise ein Mobiltelefon Netzwerk, oder (ii) ein drahtloses Kommunikationsnetzwerk, beispielsweise drahtloses MAN (z. B. WiMAX (eingetragene Marke)), drahtloses LAN (z. B. WiFi (eingetragene Marke)), Bluetooth (eingetragene Marke), ZigBee (eingetragene Marke) oder NFC (Nahfeldkommunikation) enthalten.
  • In der vorliegenden Ausführungsform führt die Ausführungsvorrichtung 120 verschiedene Arten von Arbeit aus. Die Ausführungsvorrichtung 120 kann einen Roboter zum Ausführen der verschiedenen Arten der Arbeit unter Verwendung eines Manipulators enthalten. Dieser Roboter kann ein mechanisches System sein, welches einen Sensor, ein Antriebssystem und ein Steuersystem enthält. Dieser Roboter kann ein Industrieroboter zum Herstellen eines Objekts sein. Die Art der Arbeit ist beispielsweise eine Picking Arbeit, eine Bohrarbeit, eine Schneidearbeit, eine Dreharbeit, eine Schweißarbeit, eine Montagearbeit, eine Streicharbeit oder Ähnliches. Die Einzelheiten der Ausführungsvorrichtung 120 sind im Folgenden beschrieben.
  • In der vorliegenden Ausführungsform verwaltet die Managementvorrichtung 140 die Ausführungsvorrichtung 120. Beispielsweise steuert die Managementvorrichtung 140 den Betrieb der Ausführungsvorrichtung 120. Die Managementvorrichtung 140 kann den Betrieb der Ausführungsvorrichtung 120 steuern mittels Bestimmens von Parametern (manchmal als Steuerparameter bezeichnet) zum Steuern des Betriebs der Ausführungsvorrichtung 120. Die Managementvorrichtung 140 kann verschiedene Arten einer Einstellungsinformation zum Steuern des Betriebs der Ausführungsvorrichtung 120 verwalten.
  • Hier wird der Roboter der Ausführungsvorrichtung 120 automatisch mittels eines Programms gesteuert und führt die designierte Arbeit in einem designierten Bereich (manchmal als Arbeitsbereich bezeichnet) eines Objekts (manchmal als ein Arbeitsziel bezeichnet) aus, welches ein Ziel der Arbeit ist. Falls eine Mehrzahl von Arbeitsbereichen für ein einziges Objekt designiert sind, führt der Roboter die designierte Arbeit in jedem Arbeitsbereich aus, während er sich zwischen der Mehrzahl der Arbeitsbereiche bewegt.
  • Es gibt Fälle, in welchen der Betrieb des Roboters für jede Art von Arbeit ausführlich programmiert ist, um die Arbeitseffizienz der Ausführungsvorrichtung 120 zu verbessern. Ferner gibt es Fälle, in welchen der Betrieb des Roboters für jede Art von Objekt für dieselbe Art von Arbeit ausführlich programmiert ist. Eine derartige Arbeit wird manchmal als Lehrarbeit bezeichnet.
  • Beispielsweise in einem Fall, in welchem sich der Roboter zwischen zwei Arbeitsbereichen bewegt, besteht eine Idee, dass eine Abbildungsvorrichtung ein Bild des Gebiets um die Bewegungstrajektorie des Roboters erfasst, und dass der Roboter sich zwischen diesen zwei Arbeitsbereichen bewegt, während die Bilddaten von der Abbildungsvorrichtung analysiert werden, um zu verhindern, dass der Roboter und andere Körper sich gegenseitig beeinträchtigen. Allerdings stoppt in einem solchen Fall die Ausführungsvorrichtung 120 das Bewegen oder reduziert ihre Bewegungsgeschwindigkeit, während die Bildverarbeitung ausgeführt wird. Folglich verringert sich die Arbeitsgeschwindigkeit der Ausführungsvorrichtung 120, was bewirkt, dass der Herstellungsdurchsatz sich ebenfalls verringert.
  • Im Gegenzug kann, mittels Ausführens der Lehrarbeit für die Ausführungsvorrichtung 120, bevor eine bestimmte Art von Arbeit an einer bestimmten Art von Objekt ausgeführt wird, die Ausführungsvorrichtung 120 den Roboter zwischen den zwei Arbeitsbereichen bewegen, ohne das Analysieren des erfassten Bilds des Gebiets um die Bewegungstrajektorie des Roboters. Auf diese Weise wird die Arbeitseffizienz der Ausführungsvorrichtung 120 verbessert. Die Ausführungsvorrichtung 120 kann eine Kamera zum Beobachten der Arbeitsbereiche enthalten. Ferner kann der Analysevorgang des erfassten Bilds des Gebiets um die Bewegungstrajektorie des Roboters ausgeführt werden, wenn der Betrieb der Ausführungsvorrichtung 120 bestimmt wird, in einem Ausmaß, welches eine kleine Wirkung auf die Arbeitseffizienz hat.
  • In dem Lehrvorgang wird zuerst ein Simulationsmodell zum Bestimmen der Beeinträchtigung in einem virtuellen dreidimensionalen Raum konstruiert. Das konstruierte Simulationsmodell wird dann verwendet, um den Betrieb des Roboters derartig zu programmieren, dass der Roboter die Serie der Arbeitsvorgänge ohne Beeinträchtigung durch andere Körper ausführt. Als nächstes werden ein Prüfen und Feineinstellungen unter Verwendung eines echten Roboters wiederholt und der Betrieb des Roboters wird genau programmiert. Auf diese Weise wird eine enorme Menge von Zeit und Aufwand für den Lehrvorgang benötigt. Daher besteht ein Bedarf, die Belastung der Lehrarbeit zu reduzieren.
  • Gemäß der vorliegenden Ausführungsform plant die Managementvorrichtung 140, falls eine Änderung der Struktur der Ausführungsvorrichtung 120 aufgetreten ist, falls eine Änderung in den Einstellungen der Ausführungsvorrichtung 120 aufgetreten ist, falls sich das Zielobjekt der Ausführungsvorrichtung 120 geändert hat oder falls sich die Umgebung der Ausführungsvorrichtung 120 geändert hat, den Betrieb des Roboters derartig, dass der Roboter die Serie der Arbeitsvorgänge ohne Beeinträchtigung mit anderen Körpern ausführt. Die Managementvorrichtung 140 plant die Trajektorie des Manipulators des Roboters unter Verwendung von inversen kinematischen Techniken und inversen kinetischen Techniken.
  • Allerdings besteht beim Planen des Betriebs des Roboters eine Möglichkeit, dass eine extrem große Berechnungsmenge erforderlich ist, was zu einer langen Berechnungszeit führt. Gemäß der vorliegenden Ausführungsform schränkt die Managementvorrichtung 140 daher die Bereiche, in welchen aufgrund der vorangehend beschriebenen Änderungen eine genaue Berechnung erforderlich ist, zu der Trajektorie des Manipulators ein. Auf diese Weise wird die Berechnungsmenge zum Planen des Betriebs des Roboters reduziert und die Berechnungszeit wird verkürzt. Folglich gibt die Managementvorrichtung 140, wenn ein Inhalt von verschiedenen Arten von Änderungen von einem Benutzer der Ausführungsvorrichtung 120 zu der Managementvorrichtung 140 eingegeben wird, innerhalb einer geeigneten Zeitspanne eine Trajektorie des Manipulators aus, welche den Inhalt dieser Änderungen berücksichtigt. Auf diese Weise wird gemäß der vorliegenden Ausführungsform die Belastung der Lehrarbeit signifikant reduziert. Die Einzelheiten der Managementvorrichtung 140 sind im Folgenden beschrieben.
  • In der vorliegenden Ausführungsform ist das Eingabeterminal 160 beispielsweise ein Kommunikationsterminal, welches von einem Benutzer des Arbeitssystems 100 verwendet wird, und die Einzelheiten des Eingabeterminals 160 sind nicht namentlich eingeschränkt. Das Eingabeterminal 160 ist beispielsweise ein persönlicher Computer, ein mobiles Terminal oder Ähnliches. Das mobile Terminal ist beispielsweise ein Mobiltelefon, ein Smartphone, ein PDA, ein Tablet, ein Notebook Computer, ein Laptop Computer, ein tragbarer Computer oder Ähnliches. Das Eingabeterminal 160 kann als eine Benutzerschnittstelle von zumindest einer der Ausführungsvorrichtung 120 und der Managementvorrichtung 140 verwendet werden.
  • In der vorliegenden Ausführungsform sind die Einzelheiten des Arbeitssystems 100 unter Verwendung eines Beispiels beschrieben, in welchem die Managementvorrichtung 140 die Ausführungsvorrichtung 120 verwaltet. Allerdings ist das Arbeitssystem 100 nicht auf die vorliegende Ausführungsform eingeschränkt. Zumindest ein Teil der Funktionen der Managementvorrichtung 140 kann mittels zumindest einem von der Ausführungsvorrichtung 120 und dem Eingabeterminal 160 realisiert sein. In diesem Fall kann die Ausführungsvorrichtung 120 ein Beispiel für die Steuervorrichtung sein. Ferner kann das Eingabeterminal 160 ein Beispiel für die Steuervorrichtung sein.
  • Ausführliche Konfiguration von jeder Sektion in dem Arbeitssystem 100
  • Jede Sektion des Arbeitssystems 100 kann mittels Hardware, mittels Software oder mittels sowohl Hardware als auch Software realisiert sein. Zumindest ein Teil von jeder Sektion des Arbeitssystems 100 kann mittels eines einzigen Servers oder mittels einer Mehrzahl von Servern realisiert sein. Zumindest ein Teil von jeder Sektion des Arbeitssystems 100 kann auf einem virtuellen Server oder einem Cloud System realisiert sein. Zumindest ein Teil von jeder Sektion des Arbeitssystems 100 kann mittels eines persönlichen Computers oder einem mobilen Terminal realisiert sein. Das mobile Terminal kann beispielsweise ein Mobiltelefon, ein Smartphone, ein PDA, ein Notebook Computer, ein Laptop Computer, ein tragbarer Computer oder Ähnliches sein. Jede Sektion des Arbeitssystems 100 kann eine Information unter Verwendung eines verteilten Netzwerks oder verteilter Ledger Technologie speichern, beispielsweise einer Blockkette.
  • Falls zumindest einige der Komponenten, welche das Arbeitssystem 100 bilden, mittels Software realisiert sind, können diese Komponenten, welche mittels Software realisiert sind, realisiert werden mittels Startens von Programmen, in welchen Vorgänge, welche zu diesen Komponenten korrespondieren, definiert sind, mit einer Information Verarbeitungsvorrichtung, welche eine allgemeine Konfiguration hat. Die Information Verarbeitungsvorrichtung, welche die vorangehend beschriebene allgemeine Konfiguration hat, kann enthalten (i) eine Datenverarbeitungsvorrichtung, welche einen Prozessor hat, beispielsweise eine CPU oder eine GPU, einen ROM, einen RAM, eine Kommunikationsschnittstelle und Ähnliches, (ii) eine Eingabevorrichtung, beispielsweise eine Tastatur, eine Zeigevorrichtung, ein Berührungspanel, eine Kamera, eine Audioeingabevorrichtung, eine Gesteneingabevorrichtung, verschiedene Sensoren oder einen GPS Empfänger, (iii) eine Ausgabevorrichtung, beispielsweise eine Displayvorrichtung, eine Audioausgabevorrichtung oder eine Vibrationsvorrichtung, und (iv) eine Speichervorrichtung (einschließlich einer externen Speichervorrichtung), beispielsweise einen Speicher, ein HDD oder ein SSD.
  • In der Information Verarbeitungsvorrichtung, welche die vorangehend beschriebene allgemeine Konfiguration hat, kann die Datenverarbeitungsvorrichtung oder die vorangehend beschriebene Speichervorrichtung die vorangehend beschriebenen Programme speichern. Die vorangehend beschriebenen Programme veranlassen die vorangehend beschriebene Information Verarbeitungsvorrichtung, die Vorgänge auszuführen, welche mittels dieser Programme definiert sind, indem sie mittels des Prozessors ausgeführt werden. Die vorangehend beschriebenen Programme können in einem nicht-transitorischen computerlesbaren Speichermedium gespeichert sein. Die vorangehend beschriebenen Programme können in einem computerlesbaren Medium gespeichert sein, beispielsweise einer CD-ROM, einer DVD-ROM, einem Speicher oder einer Festplatte, oder können in einer Speichervorrichtung gespeichert sein, welche mit einem Netzwerk verbunden ist.
  • Die vorangehend beschriebenen Programme können einen Computer veranlassen, als ein Abschnitt des oder als das gesamte Arbeitssystem 100 zu funktionieren. Die vorangehend beschriebenen Programme können Module enthalten, in welchen die Vorgänge der Sektionen des Arbeitssystems 100 definiert sind. Diese Programme und Module wirken auf die Datenverarbeitungsvorrichtung, die Eingabevorrichtung, die Ausgabevorrichtung, die Speichervorrichtung und Ähnliches, um den Computer zu veranlassen, als jede Sektion des Arbeitssystems 100 zu funktionieren und um den Computer zu veranlassen, das Information Verarbeitungsverfahren in jeder Sektion des Arbeitssystems 100 auszuführen.
  • Die vorangehend beschriebenen Programme können in dem Computer installiert werden, welcher zumindest einen Teil des Arbeitssystems 100 bildet, von dem computerlesbaren Medium oder der Speichervorrichtung, welche mit dem Netzwerk verbunden ist. Der Computer kann veranlasst werden, als zumindest ein Abschnitt von jeder Sektion des Arbeitssystems 100 zu funktionieren, indem die vorangehend beschriebenen Programme ausgeführt werden. Indem der Computer die vorangehend beschriebenen Programme gelesen hat, funktionieren die Informationsvorgänge, welche in diesen Programmen aufgezeichnet sind, als die spezifischen Mittel, welche mittels der Zusammenarbeit der Software, welche sich auf diese Programme bezieht, und verschiedener Hardwareressourcen von einigen oder allen des Arbeitssystems 100 realisiert sind. Diese spezifischen Mittel realisieren das Berechnen oder Verarbeiten der Information, welche in der vorliegenden Ausführungsform zu einer beabsichtigten Verwendung des Computers korrespondiert, wobei dadurch das Arbeitssystem 100 gebildet wird, welches zu dieser beabsichtigten Verwendung korrespondiert.
  • Die vorangehend beschriebenen Programme können Programme zum Veranlassen des Computers sein, die Information Verarbeitungsverfahren von einigen oder allen des Arbeitssystems 100 auszuführen. Das vorangehend beschriebene Informationsverarbeitungsverfahren kann ein Verfahren zum Steuern des Betriebs des Arbeitsroboters sein. Dieser Arbeitsroboter führt beispielsweise eine Arbeit in einem Zielbereich unter Verwendung des Manipulators aus.
  • Das Steuerverfahren ist zum Steuern des Betriebs eines Arbeitsroboters, welcher eine Arbeit in einem Zielbereich unter Verwendung eines Manipulators ausführt, und enthält beispielsweise einen Änderungsinformationserfassungsschritt zum Erfassen von zumindest einer von (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern, welche in dem Zielbereich angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf zumindest eine von einer Position, einer Ausrichtung, einer Form und einer Größe des zumindest einen Körpers angibt, und (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper in dem Zielbereich anzuordnen ist. Das Steuerverfahren enthält beispielsweise einen Modellinformationserfassungsschritt zum Erfassen von zumindest einer von (i) einer ersten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe von jedem von dem einen oder den mehreren Körpern angibt, nachdem die Änderung aufgetreten ist, und (ii) einer zweiten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe des neuen Körpers angibt.
  • Das Steuerverfahren enthält beispielsweise einen Trajektorieninformationserfassungsschritt zum Erfassen von N-1 oder N Teilen einer Trajektorieninformation, welche jeweils N-1 oder N Trajektorien angeben, welche N Arbeitsbereiche verbinden, in welchen der Arbeitsroboter eine Serie von Arbeitsvorgängen in der Reihenfolge der Serie der Arbeitsvorgänge ausführt. Das Steuerverfahren enthält beispielsweise einen Klassifizierungsschritt zum Klassifizieren der N-1 oder N Trajektorien als (i) Trajektorien, welche eine Korrektur benötigen aufgrund einer Änderung in dem Zielbereich, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird, oder (ii) Trajektorien, welche keine Korrektur benötigen, selbst wenn eine Änderung in dem Zielbereich auftritt, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird. Das Steuerverfahren enthält beispielsweise einen Trajektorienplanungsschritt zum Planen einer Trajektorie einer Spitze des Manipulators zwischen zwei Arbeitsbereichen, welche sich auf jeweilige Trajektorien beziehen, basierend auf zumindest einer von der ersten Modellinformation und der zweiten Modellinformation, für jede von der einen oder den mehreren Trajektorien, welche in dem Klassifizierungsschritt als eine Trajektorie klassifiziert ist, welche eine Korrektur benötigt. In dem Steuerverfahren kann N eine ganze Zahl größer als oder gleich 2 sein.
  • 2 zeigt schematisch ein Beispiel einer Systemkonfiguration der Ausführungsvorrichtung 120. In der vorliegenden Ausführungsform enthält die Ausführungsvorrichtung 120 ein Förderband 212 und einen Roboter 214. In der vorliegenden Ausführungsform enthält der Roboter 214 einen Manipulator 220, eine Plattform 230, eine Schiene 232, eine Antriebssektion 240 und eine Antrieb Steuerungssektion 250. In der vorliegenden Ausführungsform enthält der Manipulator 220 ein Arbeitswerkzeug 222 und einen Roboterarm 224.
  • Der Roboter 214 kann einen einzigen Manipulator 220 oder eine Mehrzahl von Manipulatoren 220 enthalten. Der Roboter 214 kann Arbeit an einem einzigen Werkstück 20 unter Verwendung eines einzigen Manipulators 220 ausführen oder kann Arbeit an einem einzigen Werkstück 20 unter Verwendung einer Mehrzahl von Manipulatoren 220 ausführen. Der Roboter 214 kann Arbeit an einer Mehrzahl von Werkstücken 20 gleichzeitig unter Verwendung eines einzigen Manipulators 220 ausführen.
  • Der Roboter 214 kann ein Beispiel für den Arbeitsroboter sein. Das Arbeitswerkzeug 222 kann ein Beispiel für eine Spitze des Manipulators 220 sein. Die Trajektorie des Arbeitswerkzeugs 222 kann ein Beispiel für eine Trajektorie der Spitze des Manipulators 220 sein. Die Position und die Ausrichtung des Arbeitswerkzeugs 222 können ein Beispiel für die Position und die Ausrichtung der Spitze des Manipulators 220 sein.
  • In der vorliegenden Ausführungsform führt die Ausführungsvorrichtung 120 eine vorbestimmte Arbeit an einem Werkstück 20 aus, welches in einem Zielbereich 202 angeordnet ist. Der Zielbereich 202 kann ein Bereich sein, in welchem die Ausführungsvorrichtung 120 Arbeit verrichten kann. Das Werkstück 20 kann einen oder mehrere vorstehende Abschnitte 22 haben. Die Art der Arbeit ist beispielsweise die Picking Arbeit, die Bohrarbeit, die Dreharbeit, die Schweißarbeit, die Montagearbeit, die Streicharbeit oder ähnliches.
  • In der vorliegenden Ausführungsform transportiert das Förderband 212 das Werkstück 20. Beispielsweise transportiert das Förderband 212 das Werkstück 20 von außerhalb des Zielbereichs 202 zu einer vorbestimmten Position in dem Zielbereich 202. Wenn die Arbeit an dem Werkstück 20 mittels des Roboters 214 beendet ist, transportiert das Förderband 212 das Werkstück 20 nach außerhalb des Zielbereichs 202.
  • In der vorliegenden Ausführungsform führt der Roboter 214 jede Art von Arbeit an dem Werkstück 20 aus. Beispielsweise führt der Roboter 214 die Arbeit in dem Zielbereich 202 unter Verwendung des Manipulators 220 aus. Zumindest ein Teil des Betriebs des Roboters 214 wird mittels der Managementvorrichtung 140 gesteuert.
  • In der vorliegenden Ausführungsform ist das Arbeitswerkzeug 222 eine Spannvorrichtung, eine Ausrüstung oder ein Werkzeug, welches zu einer bestimmten Arbeit korrespondiert. Die Einzelheiten des Arbeitswerkzeugs 222 sind nicht namentlich eingeschränkt. Das Arbeitswerkzeug 222 kann eine Form, eine Struktur und eine Funktion in Übereinstimmung mit der korrespondierenden Arbeit haben. Das Arbeitswerkzeug 222 kann verschiedene Sensoren enthalten. Das Arbeitswerkzeug 222 kann eine Abbildungsvorrichtung enthalten, beispielsweise eine Kamera. Das Arbeitswerkzeug 222 ist beispielsweise an der Spitze des Roboterarms 224 befestigt. Der Roboter 214 kann eingerichtet sein, zu jeder Art von Arbeit zu korrespondieren, indem das Arbeitswerkzeug 222 ausgetauscht wird.
  • In der vorliegenden Ausführungsform ist der Roboterarm 224 mit dem Arbeitswerkzeug 222 verbunden und stellt die Position und die Ausrichtung des Arbeitswerkzeugs 222 ein. Die Struktur des Roboterarms 224 ist nicht namentlich eingeschränkt und beispielsweise wird ein mehrgelenkiger Roboterarm verwendet, welcher eine Mehrzahl von Gelenken hat. Der Roboterarm 224 kann verschiedene Sensoren enthalten, beispielsweise einen Masse-Messsensor und einen Last-Messsensor. Der Last-Messsensor kann ein Sensor sein, welcher ein Drehmoment, eine Stromstärke oder eine Spannungsstärke der Antriebssektion 240 misst, welche jedes Gelenk des Roboterarms 224 antreibt.
  • In der vorliegenden Ausführungsform stützt die Plattform 230 den Manipulator 220. Die Plattform 230 kann eine ortsfeste Plattform sein oder kann eine bewegliche Plattform sein. In der vorliegenden Ausführungsform kann sich die Plattform 230 auf einer Schiene 232 entlang einer Ausdehnungsrichtung der Schiene 232 bewegen. Auf diese Weise kann das Arbeitswerkzeug 222 jede Position in dem Zielbereich 202 erreichen. Die Plattform 230 kann zumindest einen Abschnitt der Antriebssektion 240 darin aufgenommen haben. Die Plattform 230 kann zumindest einen Abschnitt der Antrieb Steuerungssektion 250 darin aufgenommen haben.
  • In der vorliegenden Ausführungsform treibt die Antriebssektion 240 den Manipulator 220 an. In der vorliegenden Ausführungsform treibt die Antriebssektion 240 das Arbeitswerkzeug 222 an. In der vorliegenden Ausführungsform führt die Antriebssektion 240 dem Arbeitswerkzeug 222 ein Fluid zu und saugt Fluid von dem Arbeitswerkzeug 222 ab. Die Antriebssektion 240 kann eine Pumpe sein. Die Antriebssektion 240 kann eine oder mehrere Pumpen enthalten. Das Fluid kann ein Gas sein, welches zum Schmelzen oder Schweißen verwendet wird, oder kann ein Fluid zum Kühlen oder Reinigen sein. In einer anderen Ausführungsform kann die Antriebssektion 240 dem Arbeitswerkzeug 222 Leistung zu führen. Beispielsweise kann die Antriebssektion 240 ein Element sein, welches die Zufuhr der Leistung zu dem Arbeitswerkzeug 222 steuert.
  • In noch einer anderen Ausführungsform treibt die Antriebssektion 240 den Roboterarm 224 an. Beispielsweise stellt die Antriebssektion 240 den Winkel von jedem Gelenk des Roboterarms 224 ein. Die Antriebssektion 240 kann ein Motor sein. Die Antriebssektion 240 kann einen oder mehrere Motoren enthalten. In noch einer anderen Ausführungsform treibt die Antriebssektion 240 die Plattform 230 an. Beispielsweise stellt die Antriebssektion 240 die relativen Positionen des Werkstücks 240 und der Plattform 230 ein. Die Antriebssektion 240 kann ein Motor sein. Die Antriebssektion 240 kann einen oder mehrere Motoren enthalten.
  • Die Antrieb Steuerungssektion 250 steuert die Antriebssektion 240. Beispielsweise empfängt die Antrieb Steuerungssektion 250 einen Befehl zum Steuern der Arbeit des Roboters 214 an dem Werkstück 20 von der Managementvorrichtung 140. Die Antriebssteuerungssektion 250 steuert die Antriebssektion 240 basierend auf dem Befehl von der Managementvorrichtung 140.
  • Der Befehl zum Steuern der Arbeit, welche an dem Werkstück 20 ausgeführt wird, kann eine Information sein, welche die Trajektorie des Arbeitswerkzeugs 222 angibt. Die Information, welche die Trajektorie des Arbeitswerkzeugs 222 angibt, kann beispielsweise (i) eine Information sein, welche die anfängliche Anordnung, eine Übergangsanordnung, eine finale Anordnung und eine Bewegungszeit des Arbeitswerkzeugs 222 angibt, (ii) eine Information sein, welche den Winkel von jedem Gelenk und die Bewegungszeit des Arbeitswerkzeugs 222 bei der anfänglichen Anordnung, der Übergangsanordnung und der finalen Anordnung angibt, (iii) eine Information sein, welche die Anordnung des Arbeitswerkzeugs 222 zu jedem Zeitpunkt während der Bewegungszeit angibt, (iv) eine Information sein, welche den Winkel von jedem Gelenk des Arbeitswerkzeugs 222 zu jedem Zeitpunkt während der Bewegungszeit angibt, und Ähnliches sein. Die Anordnung des Arbeitswerkzeugs 222 ist beispielsweise mittels der Position und der Anordnung des Arbeitswerkzeugs 222 spezifiziert.
  • 3, 4 und 5 werden verwendet, um eine Änderung in einer gesamten Trajektorie 340 zu beschreiben, welche eine Änderung in der Umgebung der Ausführungsvorrichtung 120 oder eine Änderung des Werkstücks 20 begleitet. 3 zeigt schematisch ein Beispiel der gesamten Trajektorie 340 in einem Fall, in welchem ein Hindernis 320 in dem Zielbereich 202 anwesend ist. 4 zeigt schematisch ein Beispiel der gesamten Trajektorie 340 in einem Fall, in welchem ein Hindernis 420 in dem Zielbereich 202 hinzugefügt wird, welcher in 3 gezeigt ist. 5 zeigt schematisch ein Beispiel der gesamten Trajektorie 340 in einem Fall, in welchem das Hindernis 320 aus dem Inneren des Zielbereichs 202 entfernt wurde, von dem Zustand, welcher in 4 gezeigt ist.
  • In der Ausführungsform, welche mit Bezug auf 3 beschrieben ist, führt der Roboter 214 die Serie der Arbeitsvorgänge aus, welche von dem Benutzer vorgesehen ist, an jedem von einem Arbeitspunkt 32, einem Arbeitspunkt 34, einem Arbeitspunkt 36 und einem Arbeitspunkt 38. In der vorliegenden Ausführungsform bewegt der Roboter 214, nachdem die Arbeit an dem Arbeitspunkt 32 ausgeführt wurde, das Arbeitswerkzeug 222 entlang der Einheitstrajektorie 342 zu dem Arbeitspunkt 34. Auf ähnliche Weise bewegt der Roboter 214, nachdem die Arbeit an dem Arbeitspunkt 34 ausgeführt wurde, das Arbeitswerkzeug 222 entlang der Einheitstrajektorie 344 zu dem Arbeitspunkt 36. Ferner bewegt der Roboter 214, nachdem die Arbeit an dem Arbeitspunkt 36 ausgeführt wurde, das Arbeitswerkzeug 222 entlang der Einheitstrajektorie 346 zu dem Arbeitspunkt 38.
  • Die Einheitstrajektorie 342, die Einheitstrajektorie 344 und die Einheitstrajektorie 346 sind jeweils derartig geplant, dass der Abstand zwischen dem Manipulator 220 und anderen Körpern, welche in dem Zielbereich 202 angeordnet sind, größer als ein vorbestimmter Wert ist (manchmal als Beeinträchtigungsspanne bezeichnet). Auf diese Weise wird eine Beeinträchtigung zwischen dem Manipulator 220 und den vorangehend beschriebenen anderen Körpern verhindert. Beispielsweise ist in der vorliegenden Ausführungsform die Einheitstrajektorie 344 derartig geplant, dass keine Beeinträchtigung mit dem Hindernis 320 und dem vorstehenden Abschnitt 22 des Werkstücks 20 vorliegt.
  • Der Arbeitspunkt 32, der Arbeitspunkt 34, der Arbeitspunkt 36 und der Arbeitspunkt 38 sind Beispiele für N Arbeitsbereiche (N ist eine ganze Zahl größer als oder gleich 2, kann aber stattdessen eine ganze Zahl größer als oder gleich 3 oder eine ganze Zahl größer als oder gleich 4 sein), an welchen der Arbeitsroboter die Serie der Arbeitsvorgänge ausführt. Der Arbeitspunkt 32, der Arbeitspunkt 34, der Arbeitspunkt 36 und der Arbeitspunkt 38 können jeweils ein Beispiel für einen Arbeitsbereich sein. Es gibt Fälle, in welchen der Roboter 214 das Arbeitswerkzeug 222 veranlasst, sich entlang einer bestimmten Route in dem Arbeitsbereich zu bewegen, gemäß der Art der Arbeit. In einem derartigen Fall können der Arbeitspunkt 32, der Arbeitspunkt 34, der Arbeitspunkt 36 und der Arbeitspunkt 38 jeweils irgendein Standort in dem Arbeitsbereich sein und können jeweils ein Standort sein, in welchem das Arbeitswerkzeug 222 angeordnet ist, wenn die Arbeit in dem entsprechenden Arbeitsbereich beginnt.
  • Die Einheitstrajektorie 342, die Einheitstrajektorie 344 und die Einheitstrajektorie 346 bilden die gesamte Trajektorie 340, welche die Trajektorie des Arbeitswerkzeugs 222 angibt, welches die Serie der Arbeitsvorgänge durchlaufen hat. Die Einheitstrajektorie 342, die Einheitstrajektorie 344 und die Einheitstrajektorie 346 können Beispiele für N-1 oder N Trajektorien sein, welche N Arbeitsbereiche verbinden, in welchen die Serie der Arbeitsvorgänge ausgeführt wird, in der Reihenfolge dieser Serie der Arbeitsvorgänge.
  • In einem Fall, in welchem eine Ausgangsposition für das Arbeitswerkzeug 222 eingestellt ist, kann der Roboter 214 das Arbeitswerkzeug 222 von der Ausgangsposition zu dem Arbeitspunkt 32 bewegen, bevor die Arbeit an dem Arbeitspunkt 32 beginnt. Ferner kann der Roboter 214 das Arbeitswerkzeug 222 zu der Ausgangsposition bewegen, nachdem die Arbeit an dem Arbeitspunkt 38 beendet wurde. In diesem Fall wird die gesamte Trajektorie 340 des Arbeitswerkzeugs 222 von N oder N+1 Trajektorien gebildet, welche die Ausgangsposition und die N Arbeitspositionen verbinden, an welchen die Serie der Arbeitsvorgänge ausgeführt wird, in der Reihenfolge dieser Serie der Arbeitsvorgänge.
  • Ferner ist in der vorliegenden Ausführungsform die Trajektorie des Arbeitswerkzeugs 222 unter Verwendung eines Beispiels beschrieben, in welchem der Arbeitspunkt 32 und der Arbeitspunkt 38 verschiedene Standorte oder Bereiche in dem Zielbereich 202 sind. Allerdings ist die Trajektorie des Arbeitswerkzeugs 222 nicht auf die vorliegende Ausführungsform beschränkt. In einer anderen Ausführungsform können der Arbeitspunkt 32 und der Arbeitspunkt 38 derselbe Standort oder Bereich sein. In diesem Fall enthält die gesamte Trajektorie 340 des Arbeitswerkzeugs 222 (i) die Einheitstrajektorie 342, die Einheitstrajektorie 344 und die Einheitstrajektorie 346 und (ii) eine Einheitstrajektorie, welche den Arbeitspunkt 38 und den Arbeitspunkt 32 verbindet.
  • Gemäß der Ausführungsform, welche mit Bezug auf 4 beschrieben ist, wird das Hindernis 420 in der Nähe der Einheitstrajektorie 346 hinzugefügt, in einen Zustand, in welchem die Serie der Arbeitsvorgänge ausgeführt wird, während der Roboter 214 das Arbeitswerkzeug 222 entlang der gesamten Trajektorie 340 bewegt, welche in 3 gezeigt ist. Das Hindernis 420 wird an einer Position in der Einheitstrajektorie 346 angeordnet, welche beispielsweise eine Beeinträchtigung mit dem Manipulator 220 verursacht.
  • Gemäß der vorliegenden Ausführungsform bedient der Benutzer das Eingabeterminal 160, um die Information (manchmal als Änderungsinformation bezeichnet), welche angibt, dass das Hindernis 420 in der Nähe der Einheitstrajektorie 346 hinzuzufügen ist, zu der Managementvorrichtung 140 zu übertragen. Auf das Empfangen dieser Änderungsinformation hin bestimmt die Managementvorrichtung 140, ob es notwendig ist, eine neue gesamte Trajektorie 340 zu bestimmen.
  • Darüber hinaus bestimmt die Managementvorrichtung 140 für jede von der Einheitstrajektorie 342, der Einheitstrajektorie 344 und der Einheitstrajektorie 346, ob ein hohes Maß der Notwendigkeit zum Neuplanen dieser Einheitstrajektorie aufgrund des Hinzufügens des Hindernisses 420 vorliegt. Die Managementvorrichtung 140 kann bestimmen, ob ein hohes Maß der Notwendigkeit zum Neuplanen der Einheitstrajektorie vorliegt, basierend auf der korrespondierenden Einheitstrajektorie 342, der Einheitstrajektorie 344 oder der Einheitstrajektorie 346 und dem Beziehungsgrad davon zu dem Hindernis 420. Die Managementvorrichtung 140 kann eine Einheitstrajektorie extrahieren, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie hat.
  • Falls der Beziehungsgrad zwischen einer bestimmten Einheitstrajektorie und dem Hindernis 420 größer als ein vorbestimmter Betrag ist, kann die Managementvorrichtung 140 bestimmen, dass ein hohes Maß der Notwendigkeit zum Neuplanen dieser bestimmten Einheitstrajektorie vorliegt. Falls der Beziehungsgrad zwischen einer bestimmten Einheitstrajektorie und dem Hindernis 420 kleiner als ein vorbestimmter Betrag ist, kann die Managementvorrichtung 140 bestimmen, dass kein hohes Maß der Notwendigkeit zum Neuplanen dieser bestimmten Einheitstrajektorie vorliegt. Falls beispielsweise die Möglichkeit einer Beeinträchtigung zwischen der bestimmten Einheitstrajektorie und dem Hindernis 420 hoch ist, bestimmt die Managementvorrichtung 140, dass der Beziehungsgrad zwischen der bestimmten Einheitstrajektorie und dem Hindernis 420 größer als der vorbestimmter Betrag ist.
  • Falls eine Einheitstrajektorie, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie hat, extrahiert wird, bestimmt die Managementvorrichtung 140, dass eine neue gesamte Trajektorie 340 geplant werden muss. Die Managementvorrichtung 140 plant dann die Trajektorie der extrahierten Einheitstrajektorie neu, wobei die Position, die Ausrichtung, die Form und die Größe des Hindernisses 420 berücksichtigt werden. Ferner verwendet die Managementvorrichtung 140 die Information in Bezug auf die gegenwärtige Trajektorie für die anderen Einheitstrajektorien wieder. Im Gegenzug, falls keine Einheitstrajektorien extrahiert werden, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie haben, bestimmt die Managementvorrichtung 140, dass kein Bedarf besteht, eine neue gesamte Trajektorie 340 zu planen.
  • Beispielsweise wird gemäß der vorliegenden Ausführungsform beurteilt, dass die Einheitstrajektorie 342 und die Einheitstrajektorie 344 keine Einheitstrajektorien sind, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Einheitstrajektorie haben, und es wird beurteilt, dass die Einheitstrajektorie 346 eine Einheitstrajektorie ist, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie hat. Daher plant die Managementvorrichtung 140 eine geänderte gesamte Trajektorie 340 basierend auf der gegenwärtigen Einheitstrajektorie 342, der gegenwärtigen Einheitstrajektorie 344 und einer geänderten Einheitstrajektorie 346.
  • Auf diese Weise ist es möglich, selbst wenn das Hindernis 420 in dem Zielbereich 202 hinzugefügt wird, eine geänderte gesamte Trajektorie 340 in kurzer Zeit zu planen. Es wird angemerkt, dass auch eine Idee vorliegt zum Reduzieren der Berechnungsmenge zum Planen der geänderten gesamten Trajektorie 340, indem nur der Bereich neu geplant wird, in welchem das Hindernis 420 eine Beeinträchtigung in der Einheitstrajektorie 346 verursacht, welche bestimmt wurde, ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie zu haben.
  • Allerdings ist es in einem solchen Fall vorstellbar, dass die Form der Trajektorie nicht gleichmäßig ist und eine übermäßige Belastung auf die Gelenke des Manipulators 220 aufgebracht wird, nachdem der Roboter 240 die Arbeit wieder beginnt, aufgrund der Position des Hindernisses 420. Ferner wird die Einheitstrajektorie 346 vor der Änderung optimiert, in einem Fall, in welchem das Hindernis 420 nicht vorliegt. Daher ist die Trajektorie, welche erhalten wird, indem nur der Bereich in der Einheitstrajektorie 346 geändert wird, in welchem eine Beeinträchtigung mit dem Hindernis 420 vorliegt, nicht notwendigerweise eine geeignete Trajektorie zum Verbinden des Startpunkts und des Endpunkts der Einheitstrajektorie 346, und es ist möglich, dass eine andere, geeignetere Trajektorie existiert.
  • Andererseits wird gemäß der vorliegenden Ausführungsform die gesamte Einheitstrajektorie 346 neu geplant. Verglichen mit einem Fall, in welchem nur der Bereich der Einheitstrajektorie 346 neu geplant wird, in welchem eine Beeinträchtigung mit dem Hindernis 420 vorliegt, ist es daher möglich, eine geeignetere Trajektorie abzuleiten.
  • Gemäß der Ausführungsform, welche mit Bezug auf 5 beschrieben ist, wird das Hindernis 320, welches in der Nähe der Einheitstrajektorie 344 angeordnet ist, aus dem Zielbereich 202 entfernt, in einem Zustand, in welchem der Roboter 214 die Serie der Arbeitsvorgänge ausführt, während das Arbeitswerkzeug 222 sich entlang der gesamten Trajektorie 340 bewegt, welche in 4 gezeigt ist. Das Hindernis 320 kann zu einem Standort in dem Zielbereich 202 bewegt werden, welcher weiter von der Einheitstrajektorie 344 entfernt ist als die gegenwärtige Position.
  • Gemäß der vorliegenden Ausführungsform bedient der Benutzer das Eingabeterminal 160, um die Information (manchmal als Änderungsinformation bezeichnet), welche angibt, dass das Hindernis 320 zu entfernen oder zu bewegen ist, zu der Managementvorrichtung 140 zu übertragen. Auf das Empfangen dieser Änderungsinformation hin bestimmt die Managementvorrichtung 140 zuerst, ob es notwendig ist, eine neue gesamte Trajektorie 340 zu planen.
  • Darüber hinaus bestimmt die Managementvorrichtung 140 für jede von der Einheitstrajektorie 342, der Einheitstrajektorie 344 und der Einheitstrajektorie 346, ob aufgrund des Entfernens oder Bewegens des Hindernisses 320 ein hohes Maß der Notwendigkeit zum Neuplanen der Einheitstrajektorie vorliegt. Die Managementvorrichtung 140 kann bestimmen, ob ein hohes Maß der Notwendigkeit zum Neuplanen eine Einheitstrajektorie vorliegt, basierend auf dem Beziehungsgrad zwischen der korrespondierenden Einheitstrajektorie 342, der Einheitstrajektorie 344 oder der Einheitstrajektorie 346 und dem Hindernis 320. Die Managementvorrichtung 140 kann eine Einheitstrajektorie extrahieren, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie hat.
  • Falls der Beziehungsgrad zwischen einer bestimmten Einheitstrajektorie und dem Hindernis 320 größer als ein vorbestimmter Betrag ist, kann die Managementvorrichtung 140 bestimmen, dass ein hohes Maß der Notwendigkeit zum Neuplanen dieser bestimmten Einheitstrajektorie vorliegt. Falls der Beziehungsgrad zwischen einer bestimmten Einheitstrajektorie und dem Hindernis 320 kleiner als ein vorbestimmter Betrag ist, kann die Managementvorrichtung 140 bestimmen, dass kein hohes Maß der Notwendigkeit zum Neuplanen dieser bestimmten Einheitstrajektorie vorliegt. Falls beispielsweise die Wahrscheinlichkeit der gegenwärtigen Trajektorie, welche bereits in einer Weise geplant wurde, um das Hindernis 320 zu vermeiden, hoch ist, basierend auf der bestimmten Einheitstrajektorie, bestimmt die Managementvorrichtung 140, dass der Beziehungsgrad zwischen der bestimmten Einheitstrajektorie und dem Hindernis 320 größer als der vorbestimmte Betrag ist.
  • Falls eine Einheitstrajektorie, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie hat, extrahiert wird, bestimmt die Managementvorrichtung 140, dass eine neue gesamte Trajektorie 340 geplant werden muss. Die Managementvorrichtung 140 plant dann die Trajektorie der extrahierten Einheitstrajektorie neu, wobei das Entfernen des Hindernisses 320 oder das Bewegen des Hindernisses 320 berücksichtigt wird. Ferner verwendet die Managementvorrichtung 140 die Information in Bezug auf die gegenwärtige Trajektorie für die anderen Einheitstrajektorien wieder. Im Gegenzug, falls keine Einheitstrajektorien, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie haben, extrahiert werden, bestimmt die Managementvorrichtung 140, dass kein Bedarf besteht, eine neue gesamte Trajektorie 340 zu planen.
  • Beispielsweise wird gemäß der vorliegenden Ausführungsform beurteilt, dass die Einheitstrajektorie 342 und die Einheitstrajektorie 346 keine Einheitstrajektorien sind, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie haben, und es wird beurteilt, dass die Einheitstrajektorie 344 eine Einheitstrajektorie ist, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie hat. Daher plant die Managementvorrichtung 140 eine geänderte gesamte Trajektorie 340 basierend auf der gegenwärtigen Einheitstrajektorie 342, einer geänderten Einheitstrajektorie 344 und der gegenwärtigen Einheitstrajektorie 346.
  • Auf diese Weise ist es möglich, selbst wenn das Hindernis 320 aus dem Inneren des Zielbereichs 202 entfernt wird oder zu einer Position bewegt wird, welche weiter von der gesamten Trajektorie 340 entfernt ist, eine geeignetere gesamte Trajektorie 340 in kurzer Zeit zu planen. Es wird angemerkt, dass auch eine Idee vorliegt, um die Trajektorie nicht neu zu planen in einem Fall, in welchem das Hindernis 320 aus dem Inneren des Zielbereich 202 entfernt wird oder zu einer Position bewegt wird, welche weiter von der gesamten Trajektorie 340 entfernt ist, um die Berechnungsmenge zum Planen der geänderten gesamten Trajektorie 340 zu reduzieren.
  • Allerdings ist es denkbar, dass die gegenwärtige Trajektorie unter der Annahme der Anwesenheit des Hindernisses 320 geplant wird und daher in einem Fall, in welchem das Hindernis 320 nicht mehr anwesend ist oder in einem Fall, in welchem das Hindernis 320 weiter weg positioniert wurde, eine andere geeignetere Trajektorie existiert. Andererseits, gemäß der vorliegenden Ausführungsform, selbst wenn das Hindernis 320 aus dem Inneren des Zielbereich 202 entfernt wird oder zu einer Position bewegt wird, welche weiter von der gesamten Trajektorie 340 entfernt ist, wird eine Einheitstrajektorie neu geplant, welche in enger Beziehung zu dem Hindernis 320 steht, und es ist daher möglich, eine geeignetere Trajektorie abzuleiten, als in einem Fall, in welchem die Trajektorie nicht neu geplant wird.
  • 6 zeigt schematisch ein Beispiel einer Systemkonfiguration der Managementvorrichtung 140. In der vorliegenden Ausführungsform enthält die Managementvorrichtung 140 eine Kommunikation Steuerungssektion 620, eine modellverwaltende Sektion 630, eine systemverwaltende Sektion 640 und eine Speichersektion 650.
  • Die modellverwaltende Sektion 630 kann ein Beispiel einer Änderungsinformationserfassungssektion und einer Modellinformationserfassungssektion sein. Die systemverwaltende Sektion 640 kann ein Beispiel einer Steuervorrichtung sein.
  • In der vorliegenden Ausführungsform steuert die Kommunikation Steuerungssektion 620 die Kommunikation mit zumindest einem von der Ausführungsvorrichtung 120 und dem Eingabeterminal 160. Die Kommunikation Steuerungssektion 620 kann eine Kommunikationsschnittstelle sein. Die Kommunikation Steuerungssektion 620 kann zu einer Vielzahl von Arten von Kommunikationsverfahren korrespondieren.
  • In der vorliegenden Ausführungsform verwaltet die modellverwaltende Sektion 630 eine Information in Bezug auf einen oder mehrere Körper, welche in dem Zielbereich 202 angeordnet sind. Die modellverwaltende Sektion 630 kann die Information in Bezug auf den einen oder die mehreren Körper verwalten, welche in dem Zielbereich 202 angeordnet sein können. Die modellverwaltende Sektion 630 kann ein Simulationsmodell von jedem von diesem einen oder mehreren Körpern verwalten. Die modellverwaltende Sektion 630 kann eine Information verwalten, welche die Position, die Ausrichtung, die Form und die Größe von jedem von diesem einen oder den mehreren Körpern angibt. Beispiele dieser Körper enthalten das Werkstück 20, das Förderband 212, den Roboter 214, das Hindernis 320, das Hindernis 420, Abschnitte davon oder Ähnliches.
  • In einer Ausführungsform bedient der Benutzer das Eingabeterminal 160, um die Information in Bezug auf die Position, die Ausrichtung, die Form und die Größe von einem oder mehreren Körpern einzugeben, welche in dem Zielbereich 202 angeordnet sind, und um diese Information zu der Managementvorrichtung 140 zu übertragen. Die Managementvorrichtung 140 kann die Information erfassen, welche von dem Benutzer eingegeben wird, und speichert diese Information in der Speichersektion 650.
  • In einer anderen Ausführungsform bedient der Benutzer das Eingabeterminal 160, um die Information (manchmal als die Änderungsinformation bezeichnet) einzugeben, welche das Auftreten einer Änderung in Bezug auf zumindest eine von der Position, der Ausrichtung, der Form und der Größe von einem oder mehreren Körpern angibt, welche in dem Zielbereich 202 angeordnet sind, und um diese Information zu der Managementvorrichtung 140 zu übertragen. Diese Änderung enthält das Entfernen eines Körpers aus dem Inneren des Zielbereichs 202. Diese Änderung enthält eine Änderung von zumindest einer von der Position, der Ausrichtung, der Form und der Größe eines Körpers, welche den Betrieb des Körpers begleitet.
  • Die Information, welche das Auftreten einer Änderung angibt, kann die Information sein, welche angibt, dass eine Änderung aufgetreten ist, oder kann die Information sein, welche angibt, dass eine Änderung in der nahen Zukunft auftreten wird. Diese Änderungsinformation kann ein Beispiel einer ersten Änderungsinformation sein. Die Managementvorrichtung 140 kann diese Änderungsinformation erfassen und speichert diese Änderungsinformation in der Speichersektion 650.
  • Der Benutzer bedient das Eingabeterminal 160, um die Information einzugeben, welche die Position, die Ausrichtung, die Form und die Größe von einem oder mehreren Körpern angibt, nachdem die Änderung aufgetreten ist, und um diese Information zu der Managementvorrichtung 140 zu übertragen. Die Information, welche die Position, die Ausrichtung, die Form und die Größe von dem einen oder den mehreren Körpern angibt, nachdem die Änderung aufgetreten ist, kann eine Information in Bezug auf ein geändertes Merkmal unter der Position, der Ausrichtung, der Form und der Größe des einen oder der mehreren Körper sein. Diese Information kann ein Beispiel einer ersten Modellinformation sein. Die Managementvorrichtung 140 kann diese Information erfassen und speichert diese Information in der Speichersektion 650.
  • In noch einer anderen Ausführungsform bedient der Benutzer das Eingabeterminal 160, um die Information einzugeben, welche angibt, dass ein neuer Körper in dem Zielbereich 202 angeordnet ist, und um diese Information zu der Managementvorrichtung 140 zu übertragen. Diese Information kann ein Beispiel einer Änderungsinformation sein. Die Information, welche angibt, dass ein neuer Körper in dem Zielbereich 202 angeordnet wurde, kann die Information sein, welche einen neuen Körper angibt, welcher in dem Zielbereich 202 angeordnet ist, oder kann die Information sein, welche einen neuen Körper angibt, welcher in dem Zielbereich 202 anzuordnen ist. Diese Änderungsinformation kann ein Beispiel einer zweiten Änderungsinformation sein. Die Managementvorrichtung 140 kann diese Änderungsinformation erfassen und speichert diese Änderungsinformation in der Speichersektion 650.
  • Der Benutzer bedient das Eingabeterminal 160, um die Information einzugeben, welche die Position, die Ausrichtung, die Form und die Größe dieses neuen Körpers angibt, und um diese Information zu der Managementvorrichtung 140 zu übertragen. Diese Information kann ein Beispiel einer zweiten Modellinformation sein. Die Managementvorrichtung 140 kann diese Information erfassen und speichert diese Information in der Speichersektion 650.
  • In der vorliegenden Ausführungsform verwaltet die systemverwaltende Sektion 640 die Ausführungsvorrichtung 120. Beispielsweise steuert die systemverwaltende Sektion 640 den Betrieb der Ausführungsvorrichtung 120. Die systemverwaltende Sektion 640 kann den Betrieb der Ausführungsvorrichtung 120 steuern mittels Bestimmens von Steuerparametern der Ausführungsvorrichtung 120. Die systemverwaltende Sektion 640 kann jede Art von Einstellungsinformation zum Steuern des Betriebs der Ausführungsvorrichtung 120 verwalten. Die Einzelheiten der systemverwaltenden Sektion 640 sind im Folgenden beschrieben.
  • In der vorliegenden Ausführungsform erfasst die Speichersektion 650 verschiedene Arten von Information. In einer Ausführungsform speichert die Speichersektion 650 eine Information in Bezug auf die Simulationsmodelle. Die Speichersektion 650 kann die Information speichern, welche die Position, die Ausrichtung, die Form und die Größe von einem oder mehreren Körpern angibt, welche in dem Zielbereich 202 angeordnet sind. Die Speichersektion 650 kann die Information speichern, welche zumindest eine von der Position, der Ausrichtung, der Form und der Größe nach der Änderung angibt, welche eine Information in Bezug auf einen Körper ist, für welchen diese zumindest eine von der Position, der Ausrichtung, der Form und der Größe geändert wurde, unter dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind. Die Speichersektion 650 kann eine Information in Bezug auf einen Körper speichern, welcher aus dem Zielbereich 202 zu entfernen ist. Die Speichersektion 650 kann die Information speichern, welche die Position, die Ausrichtung, die Form und die Größe eines Körpers angibt, welcher neu zu dem Zielbereich 202 hinzuzufügen ist.
  • In der vorliegenden Ausführungsform speichert die Speichersektion 650 die Information in Bezug auf die Arbeit des Roboters 214. Die Speichersektion 650 speichert eine Information, welche einen Arbeitszeitplan angibt. Beispielsweise speichert die Speichersektion 650 in Verbindung mit jedem von einem oder mehreren Arbeitsvorgängen eine Identifikationsinformation der Arbeit, eine Identifikationsinformation des Ziels der Arbeit, eine Information, welche einen Zeitpunkt angibt, zu welchem die Arbeit auszuführen ist, eine Information, welche einen Standort angibt, an welchem die Arbeit auszuführen ist und eine Information, welche den Inhalt der Arbeit angibt.
  • Die Speichersektion 650 kann die Information speichern, welche die Trajektorie des Arbeitswerkzeugs 222 für eine Serie von Arbeitsvorgängen angibt. Die Speichersektion 650 kann die Information speichern, welche die gesamte Trajektorie des Arbeitswerkzeugs 222 angibt, oder kann die Information speichern, welche jede von der Mehrzahl von Einheitstrajektorien angibt, welche diese gesamte Trajektorie bilden. Die Information, welche die Trajektorie des Arbeitswerkzeugs 222 angibt, kann eine Sammlung von Teilen der Information sein, welche die Position und die Ausrichtung des Arbeitswerkzeugs 222 angibt. Die Information, welche die gesamte Trajektorie oder die Einheitstrajektorien des Arbeitswerkzeugs 222 angibt, kann die Information sein, in welcher eine Information, welche eine abgelaufene Zeit angibt, seit das Arbeitswerkzeug 222 begonnen hat, sich zu bewegen, und die Information, welche die Position und die Ausrichtung des Arbeitswerkzeugs 222 angibt, einander zugeordnet werden.
  • 7 zeigt schematisch ein Beispiel einer internen Konfiguration der systemverwaltenden Sektion 640. In der vorliegenden Ausführungsform enthält die systemverwaltende Sektion 640 eine Detektiersektion 720, eine Einstellungssektion 730 und eine System Steuerungssektion 740.
  • Die Detektiersektion 720 kann ein Beispiel einer Änderungsinformationserfassungssektion sein. Die Einstellungssektion 730 kann ein Beispiel einer Steuervorrichtung, einer Klassifizierungssektion, einer Trajektorieninformationserfassungssektion, einer Trajektorienplanungssektion und einer Trajektorienbestimmungssektion sein. Die System Steuerungssektion 740 kann ein Beispiel einer Ausgabesektion sein.
  • In der vorliegenden Ausführungsform detektiert die Detektiersektion 720, dass (i) eine Änderung in der Struktur der Ausführungsvorrichtung 120 aufgetreten ist, (ii) eine Änderung in den Einstellungen der Ausführungsvorrichtung 120 aufgetreten ist, (iii) das Zielobjekt der Ausführungsvorrichtung 120 sich geändert hat oder (iv) eine Änderung in der Umgebung der Ausführungsvorrichtung 120 aufgetreten ist. Falls beispielsweise die modellverwaltende Sektion 630 verschiedene Arten der Änderungsinformation erfasst hat, detektiert die Detektiersektion 720, dass eine Änderung eines Merkmals aufgetreten ist, welches zu dieser Änderungsinformation korrespondiert, oder dass eine Änderung in der nahen Zukunft auftreten wird. Die Detektiersektion 720 kann diese Änderung mittels Erfassens der Ausgabe von verschiedenen Sensoren detektieren, welche in dem Zielbereich 202 angeordnet sind. Die Detektiersektion 720 kann die Information, welche angibt, dass verschiedene Änderungen detektiert wurden, zu der Einstellungssektion 730 ausgeben.
  • Die Änderung in Bezug auf die Struktur der Ausführungsvorrichtung 120 ist beispielsweise eine Änderung in Bezug auf zumindest eines von der Position, der Ausrichtung, der Form, der Größe, einem kinematischen Parameter und einem kinetischen Parameter des Roboterarms 224. Die Änderung in Bezug auf die Einstellungen der Ausführungsvorrichtung 120 ist beispielsweise eine Änderung in Bezug auf zumindest eines von dem Startpunkt, dem Endpunkt, einer Bewegungsgeschwindigkeit und einer Beschleunigung des Arbeitswerkzeugs 222, eine Änderung in Bezug auf die Beeinträchtigungsspanne oder Ähnliches. In der vorliegenden Ausführungsform stellt die Einstellungssektion 730 die Einstellungen des Roboters 214 ein, wenn die Detektiersektion 720 irgendeine der verschiedenen Änderungen detektiert hat. Beispielsweise ändert die Einstellungssektion 730 die Einstellung in Bezug auf die Trajektorie des Arbeitswerkzeugs 222 des Roboters 214 gemäß dem Inhalt der detektierten Änderung. Die Einzelheiten der Einstellungssektion 730 sind im Folgenden beschrieben.
  • In der vorliegenden Ausführungsform steuert die System Steuerungssektion 740 den Roboter 214. Beispielsweise gibt die System Steuerungssektion 740 eine Steuerinformation zum Steuern des Betriebs des Manipulators 220 aus. Die System Steuerungssektion 740 gibt die Steuerinformation zum Steuern des Betriebs des Manipulators 220, basierend auf der Trajektorie des Arbeitswerkzeugs 222, welche mittels der Einstellungssektion 730 bestimmt wird, zu der Antrieb Steuerungssektion 250 des Roboters 214 aus.
  • 8 zeigt schematisch ein Beispiel einer internen Konfiguration der Einstellungssektion 730. In der vorliegenden Ausführungsform enthält die Einstellungssektion 730 eine Basisinformation Erfassungssektion 820, eine Simulationsmodell Erzeugungssektion 830, eine Extrahiersektion 840, eine Trajektorienplanungssektion 850 und eine Trajektorienbestimmungssektion 860. In der vorliegenden Ausführungsform enthält die Extrahiersektion 840 eine Bestimmungsmodell Erzeugungssektion 842, eine Bestimmungsgenauigkeit Berechnungssektion 844, eine Kollision Bestimmungssektion 846 und eine Klassifizierung Bestimmungssektion 848.
  • In der vorliegenden Ausführungsform erfasst die Basisinformation Erfassungssektion 820 eine Information (manchmal als Basisinformation bezeichnet), welche zum Einstellen der Einstellungen des Roboters 214 notwendig ist. Die Basisinformation Erfassungssektion 820 kann die Information, welche angibt, dass eine Änderung detektiert wurde, und eine Information, welche den Inhalt dieser Änderung angibt, von der Detektiersektion 720 erfassen. Falls beispielsweise die Detektiersektion 720 eine Änderung von zumindest einer von der Position, der Ausrichtung, der Form und der Größe eines bestimmten Körpers detektiert hat, erfasst die Basisinformation Erfassungssektion 820 die Information, welche die Position, die Ausrichtung, die Form und die Größe dieses bestimmten Körpers nach der Änderung angibt.
  • Die Basisinformation Erfassungssektion 820 kann die Speichersektion 650 referenzieren, um die Information zu erfassen, welche die Position, die Ausrichtung, die Form und die Größe von jedem von dem einen oder den mehreren Körpern angibt, welche in dem Zielbereich 202 angeordnet sind. Die Basisinformation Erfassungssektion 820 kann die Speichersektion 650 referenzieren, um die Information zu erfassen, welche einen Körper identifiziert, welcher aus dem Inneren des Zielbereich 202 zu entfernen ist. Die Basisinformation Erfassungssektion 820 kann die Speichersektion 650 referenzieren, um die Information zu erfassen, welche die Position, die Ausrichtung, die Form und die Größe eines neuen Körpers angibt, welcher zu dem Inneren des Zielbereichs 202 hinzuzufügen ist. Die Basisinformation Erfassungssektion 620 kann die Speichersektion 650 referenzieren, um die Information in Bezug auf die Trajektorie des Arbeitswerkzeugs 222 zu erfassen. Beispielsweise erfasst die Basisinformation Erfassungssektion 820 die Information, welche die eine oder die mehreren Einheitstrajektorien angibt, welche die neueste gesamte Trajektorie bilden.
  • Die Basisinformation Erfassungssektion 820 kann die Speichersektion 650 referenzieren, um die Information zu erfassen, welche die Größe der Beeinträchtigungsspanne angibt. Die Basisinformation Erfassungssektion 820 kann die Speichersektion 650 referenzieren, um die Information in Bezug auf jede Art von Einstellung zu erfassen, welche bei der Informationsverarbeitung mittels der Extrahiersektion 840 zu verwenden ist. Beispielsweise erfasst die Basisinformation Erfassungssektion 820 zumindest eines von (i) einem Parameter zum Bestimmen der Größe des Bestimmungsmodells mit der Bestimmungsmodell Erzeugungssektion 842 und (ii) einem Parameter zum Bestimmen der Bestimmungsgenauigkeit mit der Bestimmungsgenauigkeit Berechnungssektion 844. Die Basisinformation Erfassungssektion 820 kann diese Teile der Basisinformation von dem Eingabeterminal 160 erfassen.
  • In der vorliegenden Ausführungsform erzeugt die Simulationsmodell Erzeugungssektion 830 das Simulationsmodell zum Planen der Trajektorie des Arbeitswerkzeugs 222. In einer Ausführungsform erzeugt die Simulationsmodell Erzeugungssektion 830 das Simulationsmodell basierend auf (i) dem Modell von jedem von einem oder mehreren Objekten, welche in dem Zielbereich 202 angeordnet sind, welche mittels der Basisinformation Erfassungssektion 820 erfasst werden, und (ii) dem Modell des Manipulators 220, welches mittels der Bestimmungsmodell Erzeugungssektion 842 erzeugt wird. Dieses eine oder die mehreren Objekte können ein Objekt enthalten, welches zu dem Zielbereich 202 neu hinzuzufügen ist.
  • In einer anderen Ausführungsform erzeugt die Simulationsmodell Erzeugungssektion 830 das Simulationsmodell basierend auf (i) dem Modell des Manipulators 220, welches mittels der Basisinformation Erfassungssektion 820 erfasst wird, und (ii) dem Modell von jedem von dem einen oder den mehreren Objekten, welche in dem Zielbereich 202 angeordnet sind, welches mittels der Bestimmungsmodell Erzeugungssektion 842 erzeugt wird. Dieses eine oder die mehreren Objekte können ein Objekt enthalten, welches zu dem Zielbereich 202 neu hinzuzufügen ist.
  • In noch einer weiteren Ausführungsform erzeugt die Simulationsmodell Erzeugungssektion 830 das Simulationsmodell basierend auf (i) dem Modell des Manipulators 220, welches mittels der Bestimmungsmodell Erzeugungssektion 842 erzeugt wird, (ii) dem Modell, welches mittels der Bestimmungsmodell Erzeugungssektion 842 in Bezug auf zumindest einige von dem einen oder den mehreren Objekten erzeugt wird, welche in dem Zielbereich 202 angeordnet sind, und dem Modell, welches mittels der Basisinformation Erfassungssektion 820 in Bezug auf die verbleibenden Objekte unter dem einen oder den mehreren Objekten erzeugt wird, welche in dem Zielbereich 202 angeordnet sind. Dieses eine oder die mehreren Objekte können ein Objekt enthalten, welches zu dem Zielbereich 202 neu hinzuzufügen ist.
  • In der vorliegenden Ausführungsform klassifiziert die Extrahiersektion 840 die eine oder die mehreren Einheitstrajektorien vor der Änderung als (i) eine Einheitstrajektorie, welche eine Korrektur benötigt als Reaktion auf eine Änderung in dem Zielbereich 202, welche mittels der Detektiersektion 720 detektiert wird, oder (ii) eine Einheitstrajektorie, welche keine Korrektur benötigt, selbst wenn eine Änderung in dem Zielbereich 202 mittels der Detektiersektion 720 detektiert wird. Die Extrahiersektion 840 kann die Information, welche die Einheitstrajektorien angibt, welche eine Korrektur benötigen, zu der Trajektorienplanungssektion 850 ausgeben. Andererseits kann die Extrahiersektion 840 die Information, welche die Trajektorien angibt, welche keine Korrektur benötigen, zu der Trajektorienbestimmungssektion 860 ausgeben.
  • In der vorliegenden Ausführungsform erzeugt die Bestimmungsmodell Erzeugungssektion 842 ein Bestimmungsmodell, in welchem einige der Modelle, welche mittels der Basisinformation Erfassungssektion 820 erfasst werden, derartig eingestellt werden, dass sie als zumindest eine von der Form und der Größe davon ein Default haben. Die Bestimmungsmodell Erzeugungssektion 842 kann die Information, welche die Position, die Ausrichtung, die Form und die Größe des erzeugten Bestimmungsmodells angibt, zu der Simulationsmodell Erzeugungssektion 830 ausgeben. Die Form des Bestimmungsmodells kann eine einfachere Form als die Form des Modells sein, welches mittels der Basisinformation Erfassungssektion 620 erfasst wird.
  • In einer Ausführungsform vergrößert die Bestimmungsmodell Erzeugungssektion 842 die Größe des Manipulators 220, um das Bestimmungsmodell des Manipulators 220 zu erzeugen. Die Bestimmungsmodell Erzeugungssektion 842 kann ein Modell erzeugen, welches eine Form hat, welche größer und einfacher als der Manipulator 220 ist, und dieses Modell als das Bestimmungsmodell des Manipulators 220 ausgeben.
  • Die Bestimmungsmodell Erzeugungssektion 842 gibt ein Modell aus, welches eine zylindrische Säulenform, eine polygonale Säulenform, eine kugelförmige Form oder eine Kombination aus diesen Formen hat und darin die Gesamtheit des Manipulators 220 als das Bestimmungsmodell des Manipulators 220 enthält. Die polygonale Säulenform ist beispielsweise eine dreieckige Säule, eine quadratische Säule, eine hexagonale Säule oder Ähnliches. Das Bestimmungsmodell des Manipulators 220 kann ein Beispiel eines ersten vergrößerten Modells sein.
  • Die Bestimmungsmodell Erzeugungssektion 842 erfasst beispielsweise einen Parameter, welcher die Beziehung zwischen der Größe des Manipulators 220 und der Größe des Bestimmungsmodells angibt, von der Basisinformation Erfassungssektion 820. Dieser Parameter kann ein Parameter sein, welcher die Größe des Bestimmungsmodells relativ zu der Größe des Manipulators 220 angibt (manchmal als Expansionsfaktor bezeichnet). Die Bestimmungsmodell Erzeugungssektion 842 kann das Bestimmungsmodell basierend auf diesem Parameter erzeugen. Dieser Parameter ist derartig festgelegt, dass der minimale Abstand zwischen der Kontur des Manipulators 220 und der Kontur des Bestimmungsmodells größer als die Beeinträchtigungsspanne ist. Auf diese Weise wird das Bestimmungsmodell, welches größer als das Modell ist, welches mittels der Basisinformation Erfassungssektion 820 erzeugt wird, und dessen Form einfacher als die Form des Modells ist, welches mittels der Basisinformation Erfassungssektion 820 erfasst wird, beinahe in Echtzeit erzeugt. Als Folge kann die Kollision Bestimmungssektion 846 relativ genau und mit einer geringen Berechnungsmenge einen Kollision Bestimmungsvorgang ausführen.
  • Ferner kann der vorangehend beschriebene Parameter jederzeit geändert werden. Beispielsweise bestimmt die Bestimmungsmodell Erzeugungssektion 842 diesen Parameter, wenn die Detektiersektion 720 eine Änderung in dem Zielbereich 202 detektiert hat. Die Bestimmungsmodell Erzeugungssektion 842 kann diesen Parameter gemäß der Art der Änderung bestimmen. Die Art der Änderung ist beispielsweise eine Änderung der Position des Manipulators 220, eine Änderung der Ausrichtung des Manipulators 220, eine Änderung der Form des Manipulators 220, eine Änderung der Größe des Manipulators 220 und eine Kombination aus diesen Änderungen. Die Art der Änderung ist beispielsweise das Hinzufügen des Manipulators 220 in den Zielbereich 202, das Entfernen des Manipulators 220 aus dem Inneren des Zielbereichs 202 und Ähnliches. Auf diese Weise wird die Größe des Bestimmungsmodells geeignet geändert gemäß einer Änderung in der Umgebung. Folglich ist es möglich, eine geeignete Trajektorie zu erhalten, welche zu der Änderung in der Umgebung korrespondiert, aufgrund der Neuberechnung der Trajektorie.
  • In einer anderen Ausführungsform erzeugt die Bestimmungsmodell Erzeugungssektion 842 das Bestimmungsmodell eines Körpers mittels Erhöhens der Größen von zumindest einigen von dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind. Dieser Körper kann ein Körper sein, welcher nicht der Manipulator 220 ist. Dieser Körper kann ein Körper sein, für welchen eine Änderung detektiert wurde. Dieser Körper kann ein Körper sein, welcher neu in dem Zielbereich 202 angeordnet ist. Dieser Körper kann ein Körper sein, welcher aus dem Zielbereich 202 zu entfernen ist. Die Bestimmungsmodell Erzeugungssektion 842 kann ein Modell erzeugen, welches eine größere und einfachere Form als dieser Körper hat, und dieses Modell als das Bestimmungsmodell dieses Körpers ausgeben.
  • Die Bestimmungsmodell Erzeugungssektion 842 gibt ein Modell aus, welches eine zylindrische Säulenform, eine polygonale Säulenform, eine kugelförmige Form oder eine Kombination aus diesen Formen hat, und enthält darin alle der vorangehend beschriebenen Körper als das Bestimmungsmodell dieses Körpers. Die polygonale Säulenform ist beispielsweise eine dreieckige Säule, eine quadratische Säule, eine hexagonale Säule oder Ähnliches. Das Bestimmungsmodell des Körpers, welcher in dem Zielbereich 202 angeordnet ist, kann ein Beispiel eines zweiten vergrößerten Modells sein.
  • Die Bestimmungsmodell Erzeugungssektion 842 erfasst beispielsweise einen Parameter, welcher die Beziehung angibt zwischen der Größe von jedem Körper, welcher in dem Zielbereich 202 angeordnet ist, und der Größe des Bestimmungsmodells von der Basisinformation Erfassungssektion 820. Dieser Parameter kann ein Parameter sein, welcher die Größe des Bestimmungsmodells relativ zu der Größe von jedem Körper angibt (manchmal als der Vergrößerungsfaktor bezeichnet). Die Bestimmungsmodell Erzeugungssektion 842 kann das Bestimmungsmodell basierend auf diesem Parameter erzeugen. Dieser Parameter ist derartig festgelegt, dass der minimale Abstand zwischen der Kontur von jedem Körper und der Kontur des Bestimmungsmodells größer als die Beeinträchtigungsspanne ist. Auf diese Weise wird das Bestimmungsmodell, welches größer als das Modell ist, welches mittels der Basisinformation Erfassungssektion 820 erzeugt wird und dessen Form einfacher ist als die Form des Modells, welches mittels der Basisinformation Erfassungssektion 820 erfasst wird, beinahe in Echtzeit erzeugt. Folglich kann die Kollision Bestimmungssektion 846 relativ genau und mit einer geringen Berechnungsmenge einen Kollision Bestimmungsvorgang ausführen.
  • Ferner kann der vorangehend beschriebene Parameter jederzeit geändert werden. Beispielsweise bestimmt die Bestimmungsmodell Erzeugungssektion 842 diesen Parameter, wenn die Detektiersektion 720 eine Änderung in dem Zielbereich 202 detektiert hat. Die Bestimmungsmodell Erzeugungssektion 842 kann diesen Parameter gemäß der Art der Änderung bestimmen. Die Art der Änderung ist beispielsweise eine Änderung der Position des Körpers, eine Änderung der Ausrichtung des Körpers, eine Änderung der Form des Körpers, eine Änderung der Größe des Körpers und eine Kombination aus diesen Änderungen. Die Art der Änderung ist beispielsweise das Hinzufügen des Körpers in den Zielbereich 202, das Entfernen des Körpers aus dem Inneren des Zielbereichs 202 und Ähnliches. Auf diese Weise wird die Größe des Bestimmungsmodells gemäß einer Änderung in der Umgebung geeignet geändert. Folglich ist es möglich, eine geeignete Trajektorie zu erhalten, welche zu der Änderung in der Umgebung korrespondiert, aufgrund der Neuberechnung der Trajektorie.
  • In der vorliegenden Ausführungsform berechnet die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit der Kollision Bestimmungssektion 846 angibt. Wie im Folgenden beschrieben ist, führt die Kollision Bestimmungssektion 846 einen Kollision Bestimmungsvorgang an M Standorten (wobei M eine ganze Zahl größer als oder gleich 1 ist) an einer Einheitstrajektorie durch. In anderen Worten werden für eine Einheitstrajektorie M Kollision Bestimmungsvorgänge ausgeführt. Der Parameter, welcher die Bestimmungsgenauigkeit angibt, kann eine Zeitspanne sein, während welcher der Kollision Bestimmungsvorgang für jede Einheitstrajektorie ausgeführt wird, oder kann die Anzahl der Male M sein, die der Kollision Bestimmungsvorgang für jede Einheitstrajektorie ausgeführt wird.
  • In einer Ausführungsform berechnet die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit basierend auf zumindest einer von der Größe des Manipulators 220 und der Größe des Bestimmungsmodells des Manipulators 220 angibt. Die Bestimmungsgenauigkeit Berechnungssektion 844 kann den Wert des Parameters berechnen, welcher die Bestimmungsgenauigkeit basierend auf dem Wert eines Parameters angibt, welcher die Beziehung zwischen der Größe des Manipulators 220 und der Größe des Bestimmungsmodells angibt.
  • Beispielsweise berechnet die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig, dass der vorangehend beschriebene Wert von M größer wird, wenn die Größe des Manipulators 220 größer ist. Die Bestimmungsgenauigkeit Berechnungssektion 844 kann den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig berechnen, dass der vorangehend beschriebene Wert von M kleiner wird, wenn die Größe des Manipulators 220 größer ist.
  • Beispielsweise kann die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig berechnen, dass der vorangehend beschriebene Wert von M größer wird, wenn die Größe des Bestimmungsmodells des Manipulators 220 relativ zu der Größe des Manipulators 220 größer ist (d. h. wenn der Expansionsfaktor des Bestimmungsmodells größer ist). Die Bestimmungsgenauigkeit Berechnungssektion 844 kann den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig berechnen, dass der vorangehend beschriebene Wert von M kleiner wird, wenn die Größe des Bestimmungsmodells des Manipulators 220 relativ zu der Größe des Manipulators 220 größer ist.
  • In einer anderen Ausführungsform berechnet die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, basierend auf zumindest einer von der Größe eines Körpers, welche in dem Zielbereich 202 angeordnet ist, und der Größe des Bestimmungsmodells dieses Körpers. Die Bestimmungsgenauigkeit Berechnungssektion 844 kann den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, basierend auf dem Wert eines Parameters berechnen, welcher die Beziehung zwischen der Größe dieses Körpers und der Größe des Bestimmungsmodells dieses Körpers angibt.
  • Beispielsweise berechnet die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig, dass der vorangehend beschriebene Wert von M größer wird, wenn die Größe des vorangehend beschriebenen Körpers größer ist. Die Bestimmungsgenauigkeit Berechnungssektion 844 kann den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig berechnen, dass der vorangehend beschriebene Wert von M kleiner wird, wenn die Größe des vorangehend beschriebenen Körpers größer ist.
  • Beispielsweise berechnet die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig, dass der vorangehend beschriebene Wert von M größer wird, wenn die Größe des Bestimmungsmodells des vorangehend beschriebenen Körpers relativ zu der Größe dieses Körpers größer ist (d. h. wenn der Expansionsfaktor des Bestimmungsmodells größer ist). Die Bestimmungsgenauigkeit Berechnungssektion 844 kann den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig berechnen, dass der vorangehend beschriebene Wert von M kleiner wird, wenn die Größe des Bestimmungsmodells des vorangehend beschriebenen Körpers relativ zu der Größe dieses Körpers größer ist.
  • In einer anderen Ausführungsform berechnet die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, basierend auf der Beziehung zwischen dem Betrieb des Manipulators 220 in einem gemeinsamen Raum und dem Betrieb des Manipulators 220 in einem realen Raum. Beispielsweise berechnet die Bestimmungsgenauigkeit Berechnungssektion 844 den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig, dass der vorangehend beschriebene Wert von M größer wird, wenn der Freiheitsgrad des Manipulators 220 größer ist. Die Bestimmungsgenauigkeit Berechnungssektion 844 kann den Wert des Parameters, welcher die Bestimmungsgenauigkeit angibt, derartig berechnen, dass der vorangehend beschriebene Wert von M kleiner wird, wenn der Freiheitsgrad des Manipulators 220 größer ist.
  • In der vorliegenden Ausführungsform führt die Kollision Bestimmungssektion 846 den Kollision Bestimmungsvorgang für jede von der einen oder den mehreren Einheitstrajektorien aus, unter Verwendung der Simulationsmodelle, welche mittels der Simulationsmodell Erzeugungssektion 830 erzeugt werden. Mit dem Kollision Bestimmungsvorgang ist es möglich, zu bestimmen, ob zwei Körper kollidieren werden, mittels Bestimmens der Zustände einiger Ungleichheiten. Auf diese Weise ist es möglich, zu bestimmen, ob eine Beeinträchtigung vorliegt, unter Verwendung einer relativ geringen Berechnungsmenge.
  • Ein anderes Verfahren, welches zum Bestimmen berücksichtigt werden kann, ob eine Beeinträchtigung vorliegt, enthält das Detektieren des minimalen Abstands zwischen zwei Körpern und das Bestimmen, ob eine Beeinträchtigung vorliegt, basierend auf diesem minimalen Abstand. Allerdings muss bei dieser Abstandsbestimmung der Abstand zwischen jedem von der Mehrzahl von Punkten auf der Kontur eines Körpers und jeder von der Mehrzahl von Punkten auf der Kontur des anderen Körpers berechnet werden, und daher liegt eine extrem große Berechnungsmenge vor.
  • In der vorliegenden Ausführungsform führt die Kollision Bestimmungssektion 846 den Kollision Bestimmungsvorgang unter Verwendung des Modells aus, in welchem zumindest einer von dem Manipulator 220 und einem anderen Körper als der Manipulator 220, welcher in dem Zielbereich 202 angeordnet ist, ein Default ist. Auf diese Weise ist es möglich, die Berechnungsmenge auf einige Hundertstel der Berechnungsmenge zu beschränken, in einem Fall, in welchem eine Bestimmung in Bezug darauf erfolgt, ob die Trajektorie neu geplant wird mittels Berechnens des Abstands zwischen dem Manipulator 220 und dem vorangehend beschriebenen Körper.
  • Beispielsweise führt die Kollision Bestimmungssektion 846 den Kollision Bestimmungsvorgang unter Verwendung des Modells aus, welches mittels Vergrößerns des Manipulators 220 oder eines Abschnitts davon (z. B. das Arbeitswerkzeug 222 oder der Roboterarm 224) erhalten wird, und eines Modells der tatsächlichen Dimensionen des Werkstücks 20, des Hindernisses 320 und des Hindernisses 420. Die Kollision Bestimmungssektion 846 kann den Kollision Bestimmungsvorgang unter Verwendung des Modells der tatsächlichen Dimensionen des Werkstücks 20 und des Manipulators 220 und der Modelle ausführen, welche mittels Vergrößerns des Hindernisses 320 und des Hindernisses 420 erhalten werden. Die Kollision Bestimmungssektion 846 kann den Kollision Bestimmungsvorgang ausführen unter Verwendung des Modells der tatsächlichen Dimensionen des Werkstücks 20, eines Modells, welches mittels Vergrößerns des Manipulators 220 oder Abschnitten davon (z. B. das Arbeitswerkzeug 222 oder der Roboterarm 224) erhalten wird, und Modellen, welche mittels Vergrößerns des Hindernisses 320 und des Hindernisses 420 erhalten werden. Die Kollision Bestimmungssektion 846 kann den Kollision Bestimmungsvorgang unter Verwendung eines Modells ausführen, welches mittels Vergrößerns des Werkstücks 20 erhalten wird.
  • Die Kollision Bestimmungssektion 846 kann, für jede von der einen oder den mehreren Einheitstrajektorien, welche die gesamte Trajektorie bilden, bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Bestimmungsmodell oder einem Modell von jedem von dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind, und (ii) dem Bestimmungsmodell des Manipulators 220, an jedem der M Standorte auf jeder Einheitstrajektorie. Die Kollision Bestimmungssektion 846 kann, für jede von der einen oder den mehreren Einheitstrajektorien, welche die gesamte Trajektorie bilden, bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Bestimmungsmodell oder einem Modell eines Körpers, für welchen eine Änderung detektiert wurde, unter dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind, und (ii) dem Bestimmungsmodell des Manipulators 220, an jedem der M Standorte auf jeder Einheitstrajektorie.
  • Die Kollision Bestimmungssektion 846 kann, für jede von der einen oder den mehreren Einheitstrajektorien, welche die gesamte Trajektorie bilden, bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Bestimmungsmodell von jedem von dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind, und (ii) dem Bestimmungsmodell oder dem Modell des Manipulators 220, an jedem der M Standorte auf jeder Einheitstrajektorie. Die Kollision Bestimmungssektion 846 kann, für jede von der einen oder den mehreren Einheitstrajektorien, welche die gesamte Trajektorie bilden, bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Bestimmungsmodell eines Körpers, für welchen eine Änderung detektiert wurde, unter dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind, und (ii) dem Bestimmungsmodell oder dem Modell des Manipulators 220, an jedem der M Standorte auf jeder Einheitstrajektorie.
  • Der eine oder die mehreren Körper, welche in dem oben beschriebenen Zielbereich 202 angeordnet sind, können einen Körper enthalten, welcher neu zu dem Inneren des Zielbereichs 202 hinzuzufügen ist. Dieser eine oder die mehreren Körper, welche in dem Zielbereich 202 angeordnet sind, können einen Körper enthalten, welcher aus dem Inneren des Zielbereichs 202 zu entfernen ist. Auf diese Weise kann die Extrahiersektion 840 die Einheitstrajektorien extrahieren, für welche eine hohe Wahrscheinlichkeit besteht, dass eine geeignetere Einheitstrajektorie existiert, in der Ausführungsform, welche mit Bezug auf 5 beschrieben ist.
  • In einem Fall, in welchem mittels des Kollision Bestimmungsvorgangs unter Verwendung der Bestimmungsmodelle bestimmt wird, dass eine Kollision auftreten würde zwischen dem Manipulator 220 und einem Körper, für welchen eine Änderung in Bezug auf zumindest eine von der Position, der Ausrichtung, der Form und der Größe davon in einer bestimmten Einheitstrajektorie aufgetreten ist, wird bestimmt, dass diese Einheitstrajektorie eine Einheitstrajektorie ist, für welche der Beziehungsgrad mit dem Körper, für welchen diese Änderung detektiert wurde, hoch ist. Es kann bestimmt werden, dass diese Einheitstrajektorie eine Einheitstrajektorie ist, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie hat.
  • Falls dieser Körper, für welchen eine Änderung detektiert wurde, ein Körper ist, welcher von dem Inneren des Zielbereichs 202 zu entfernen ist, kann der Kollision Bestimmungsvorgang ausgeführt werden mittels Ausführens einer Prozedur ähnlich zu der vorangehend beschriebenen Prozedur, während angenommen wird, dass dieser Körper an der Position ist, an welcher er wäre, bevor er entfernt wird. Falls beispielsweise mittels des vorangehend beschriebenen Kollision Bestimmungsvorgangs bestimmt wird, dass der zu entfernende Körper und der Manipulator 220 in der bestimmten Einheitstrajektorie kollidieren würden, wird bestimmt, dass diese Einheitstrajektorie eine Einheitstrajektorie ist, für welche der Beziehungsgrad in Bezug auf den zu entfernenden Körper hoch ist. Es kann bestimmt werden, dass diese Einheitstrajektorie eine Einheitstrajektorie ist, welche ein hohes Maß der Notwendigkeit zum Neuplanen der Trajektorie hat.
  • Die Kollision Bestimmungssektion 846 muss den Kollision Bestimmungsvorgang nicht für alle der M Punkte auf den Einheitstrajektorien ausführen. Falls bestimmt wird, dass eine Kollision an einem Standort auf einer Einheitstrajektorie auftreten würde, kann die Kollision Bestimmungssektion 846 den Kollision Bestimmungsvorgang für die Standorte in dieser Einheitstrajektorie weglassen, an welchen der Kollision Bestimmungsvorgang noch nicht ausgeführt wurde, unter diesen M Standorten. Auf diese Weise ist es möglich, die Berechnungsmenge weiter zu reduzieren.
  • Auf ähnliche Weise kann die Kollision Bestimmungssektion 846, für jede von der einen oder den mehreren Einheitstrajektorien, bestimmen, ob eine Kollision auftreten würde zwischen (i) dem Bestimmungsmodell von zumindest einem von dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind, und (ii) dem Bestimmungsmodell des Manipulators 220, an jedem der M Standorte auf jeder Trajektorie. Die Kollision Bestimmungssektion 846 kann, für jede von der einen oder den mehreren Einheitstrajektorien, bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Bestimmungsmodell von jedem von dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind, und (ii) dem Modell des Manipulators 220, an jedem der M Standorte auf jeder Trajektorie.
  • Auf ähnliche Weise kann die Kollision Bestimmungssektion 846, für jede von der einen oder den mehreren Einheitstrajektorien, bestimmen, ob eine Kollision auftreten würde zwischen (i) dem Bestimmungsmodell von zumindest einem von dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind, und (ii) dem Modell des Manipulators 220, an jedem der M Standorte auf jeder Trajektorie. Die Kollision Bestimmungssektion 846 kann, für jede von der einen oder den mehreren Einheitstrajektorien, bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Bestimmungsmodell von jedem von dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind, und (ii) dem Modell des Manipulators 220, an jedem der M Standorte auf jeder Trajektorie.
  • In der vorliegenden Ausführungsform klassifiziert die Klassifizierung Bestimmungssektion 848 jede von der einen oder den mehreren Einheitstrajektorien, welche die gesamte Trajektorie bilden, als eine Einheitstrajektorie, welche korrigiert werden muss, oder eine Einheitstrajektorie, welche nicht korrigiert werden muss. Die Klassifizierung Bestimmungssektion 848 bestimmt, dass eine Einheitstrajektorie, für welche mittels der Kollision Bestimmungssektion 846 bestimmt wurde, dass sie zu einer Kollision an zumindest einem Punkt in dieser Einheitstrajektorie unter der einen oder den mehreren Einheitstrajektorien führt, eine Trajektorie ist, welche eine Korrektur benötigt. Die Einheitstrajektorie, für welche mittels der Kollision Bestimmungssektion 846 bestimmt wurde, dass sie zu einer Kollision an zumindest einem Punkt in dieser Einheitstrajektorie führt, kann ein Beispiel einer Trajektorie sein, welche einen relativ großen Beziehungsgrad in Bezug auf den einen oder die mehreren Körper hat, welche in dem Zielbereich 202 angeordnet sind.
  • Die Klassifizierung Bestimmungssektion 848 kann bestimmen, dass eine Einheitstrajektorie, für welche mittels der Kollision Bestimmungssektion 846 bestimmt wurde, dass sie nicht zu einer Kollision an irgendeinem der M Standorte in dieser Einheitstrajektorie unter der einen oder den mehreren Einheitstrajektorien führt, eine Trajektorie ist, welche keine Korrektur benötigt. Die Einheitstrajektorien, welche keine Korrektur benötigen, können bestimmt werden mittels Entfernens der Einheitstrajektorien, welche eine Korrektur benötigen, von der einen oder den mehreren Einheitstrajektorien, welche die gesamte Trajektorie bilden. Eine Einheitstrajektorie, welche mittels der Kollision Bestimmungssektion 846 derartig beurteilt wurde, dass sie nicht zu einer Kollision an irgendeinem der M Standorte auf dieser Einheitstrajektorie führt, kann ein Beispiel einer Trajektorie sein, welche einen geringen Beziehungsgrad in Bezug auf den einen oder die mehreren Körper hat, welche in dem Zielbereich 202 angeordnet sind.
  • In der vorliegenden Ausführungsform gibt die Klassifizierung Bestimmungssektion 848 die Information, welche die Einheitstrajektorien angibt, welche eine Korrektur benötigen, zu der Trajektorienplanungssektion 850 aus. Die Klassifizierung Bestimmungssektion 848 kann die Information, welche die Einheitstrajektorien angibt, welche keine Korrektur benötigen, zu der Trajektorienbestimmungssektion 860 ausgeben.
  • In der vorliegenden Ausführungsform plant die Trajektorienplanungssektion 850 die Trajektorie des Arbeitswerkzeugs 222 für jede Einheitstrajektorie, welche eine Korrektur benötigt. Das Verfahren zum Planen der Trajektorie aus allen Einheitstrajektorien ist nicht namentlich eingeschränkt. Beispielsweise kann die Trajektorienplanungssektion 850 jede Einheitstrajektorie gemäß der Prozedur planen, welche in dem Japanischen Patent Nr. 6325174 beschrieben ist.
  • Die Trajektorienplanungssektion 850 kann die Trajektorie des Arbeitswerkzeugs 222 unter Verwendung der Simulationsmodelle planen, welche konstruiert werden unter Verwendung des Modells des Manipulators 220 und der Modelle von dem einen oder den mehreren Körpern, welche in dem Zielbereich 202 angeordnet sind. Die Modelle sind in diesem Fall die Modelle, welche erhalten werden mittels Reproduzierens des tatsächlichen Manipulators 220 und der Körper, und sind nicht die Default Bestimmungsmodelle. Ferner enthalten in der vorliegenden Ausführungsform die vorangehend beschriebenen Modelle des einen oder der mehreren Körper die Modelle von Körpern, welche neu zu dem Zielbereich 202 hinzuzufügen sind. Darüber hinaus enthalten die vorangehend beschriebenen Modelle von dem einen oder den mehreren Körpern keine Modelle von Körpern, welche aus dem Zielbereich 202 entfernt wurden.
  • In der vorliegenden Ausführungsform bestimmt die Trajektorienbestimmungssektion 860 die gesamte Trajektorie des Arbeitswerkzeugs 222. Beispielsweise bestimmt die Trajektorienbestimmungssektion 860 die Trajektorie des Arbeitswerkzeugs 222, welches eine Serie von Arbeitsvorgängen durchlaufen hat, basierend auf (i) der Information in Bezug auf die Einheitstrajektorien, für welche mittels der Extrahiersektion 840 bestimmt wurde, dass sie eine Korrektur benötigen, und welche die Einheitstrajektorien angibt, welche mittels der Trajektorienplanungssektion 850 neu geplant wurden, und (ii) der Information, welche die Einheitstrajektorien angibt, für welche mittels der Extrahiersektion 840 bestimmt wurde, dass sie keine Korrektur benötigen.
  • Wie vorangehend beschrieben konstruiert gemäß der vorliegenden Ausführungsform die Einstellungssektion 730 ein Simulationsmodell unter Verwendung der Bestimmungsmodelle, welche Dimensionen haben, welche größer als die tatsächlichen Objekte sind, von zumindest einem von einem Körper, für welchen eine Änderung detektiert wurde, und dem Manipulator 220, und führt einen Kollision Bestimmungsvorgang durch zum Bestimmen einer Kollision zwischen diesen Objekten für alle der Einheitstrajektorien, welche die gesamte Trajektorie bilden. Danach plant die Einstellungssektion 730 die Einheitstrajektorien neu, für welche gemäß diesem Kollision Bestimmungsvorgang eine Kollision bestimmt wurde. Im Gegenzug werden die Einheitstrajektorien, für welche gemäß dem Kollision Bestimmungsvorgang keine Kollision bestimmt wurde, wieder verwendet. Auf diese Weise ist es möglich, in sehr kurzer Zeit eine geeignete gesamte Trajektorie zu erzeugen, welche zu allen Änderungen korrespondiert.
  • Während die Ausführungsformen der vorliegenden Erfindung beschrieben wurden, ist der technische Schutzbereich der Erfindung nicht auf die vorangehend beschriebenen Ausführungsformen beschränkt. Es ist dem Fachmann klar, dass verschiedene Änderungen und Verbesserungen zu den vorangehend beschriebenen Ausführungsformen hinzugefügt werden können. Merkmale, welche in Bezug auf bestimmte Ausführungsformen beschrieben sind, können auf andere Ausführungsformen angewendet werden, solange dies keinen technischen Widerspruch hervorruft. Jedes Konfigurationselement kann dieselben Merkmale wie andere Konfigurationselemente mit verschiedenen Referenznummern aber denselben Namen haben. Es ist ebenfalls aus dem Schutzbereich der Ansprüche ersichtlich, dass die Ausführungsformen, welchen derartige Änderungen oder Verbesserungen hinzugefügt werden, in den technischen Schutzbereich der Erfindung eingeschlossen sein können.
  • Der Betrieb, die Prozeduren, die Schritte und Stufen von jedem Verfahren, welches mittels einer Vorrichtung, eines Systems, eines Programms und eines Verfahrens ausgeführt werden, welche in den Ansprüchen, den Ausführungsformen oder Diagrammen dargestellt sind, können in jeder Reihenfolge ausgeführt werden, sofern die Reihenfolge nicht mittels „vor“, „bevor“ oder ähnlichem angegeben ist und sofern die Ausgabe von einem vorangehenden Verfahren nicht in einem späteren Verfahren verwendet wird. Selbst wenn der Verfahrensablauf in den Ansprüchen, den Ausführungsformen oder den Diagrammen unter Verwendung von Formulierungen wie „zuerst“ oder „als nächstes“ beschrieben ist, bedeutet dies nicht notwendigerweise, dass das Verfahren in dieser Reihenfolge ausgeführt werden muss.
  • Bei einem Ausführungsbeispiel weist eine Steuervorrichtung zum Steuern des Betriebs eines Arbeitsroboters zum Ausführen einer Arbeit in einem Zielbereich unter Verwendung eines Manipulators Folgendes auf:
    • eine Änderungsinformationserfassungssektion zum Erfassen von zumindest einer von
      • (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern, welche in dem Zielbereich angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf zumindest eine von einer Position, einer Ausrichtung, einer Form und einer Größe des zumindest einen Körpers angibt, und
      • (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper in dem Zielbereich anzuordnen ist;
    • eine Modellinformationserfassungssektion zum Erfassen von zumindest einer von
      • (i) einer ersten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe von jedem von dem einen oder den mehreren Körpern angibt, nachdem die Änderung aufgetreten ist, und
      • (ii) einer zweiten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe des neuen Körpers angibt;
    • eine Trajektorieninformationserfassungssektion zum Erfassen von N-1 oder N Teilen einer Trajektorieninformation, welche jeweils N-1 oder N Trajektorien angeben, welche N Arbeitsbereiche verbinden, in welchen der Arbeitsroboter eine Serie von Arbeitsvorgängen in einer Reihenfolge der Serie der Arbeitsvorgänge ausführt;
    • eine Klassifizierungssektion zum Klassifizieren der N-1 oder N Trajektorien als
      • (i) Trajektorien, welche eine Korrektur benötigen aufgrund einer Änderung in dem Zielbereich, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird, oder
      • (ii) Trajektorien, welche keine Korrektur benötigen, selbst wenn eine Änderung in dem Zielbereich auftritt, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird; und
    • eine Trajektorienplanungssektion zum Planen einer Trajektorie einer Spitze des Manipulators zwischen zwei Arbeitsbereichen, welche sich auf jede der einen oder der mehreren Trajektorien beziehen, basierend auf zumindest einer der ersten Modellinformation und der zweiten Modell Information, für jede von der einen oder den mehreren Trajektorien, welche mittels der Klassifizierungssektion als eine Trajektorie klassifiziert wird, welche eine Korrektur benötigt, unter den N-1 oder N Trajektorien, wobei N eine ganze Zahl größer als oder gleich 2 ist.
  • Die Steuervorrichtung kann ferner Folgendes aufweisen:
    • eine Trajektorienbestimmungssektion zum Bestimmen der Trajektorie der Spitze des Manipulators während der Serie von Arbeitsvorgängen, basierend auf
      • (i) einer Information, welche eine Position und eine Ausrichtung der Spitze des Manipulators in Trajektorien angibt, welche mittels der Trajektorienplanungssektion geplant werden, welche korrigiert werden müssen und
      • (ii) einer Information, welche die Position und die Ausrichtung der Spitze des Manipulators in Trajektorien angibt, welche mittels der Trajektorieninformationserfassungssektion erfasst werden, welche nicht korrigiert werden müssen.
  • Die Steuervorrichtung kann ferner Folgendes aufweisen:
    • eine Ausgabesektion zum Ausgeben einer Steuerinformation zum Steuern des Betriebs des Manipulators, basierend auf der Trajektorie der Spitze des Manipulators, welche mittels der Trajektorienbestimmungssektion bestimmt wird.
  • Die Klassifizierungssektion kann Folgendes aufweisen:
    • eine erste vergrößertes-Modell-Erzeugungssektion zum Erzeugen eines ersten vergrößerten Modells, welches
      • (i) ein Modell ist, welches erhalten wird mittels Erhöhens der Größe des Manipulators oder
      • (ii) ein Modell ist, welches größer als der Manipulator ist und eine einfachere Form als der Manipulator hat; und
    • eine Bestimmungssektion zum
      1. (a) Bestimmen, ob eine Kollision auftreten würde zwischen
        • (i) einem Modell von jedem Körper, welches mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben wird, und
        • (ii) dem ersten vergrößerten Modell an M Standorten auf jeder der N-1 oder N Trajektorien, und
      2. (b) Bestimmen, dass die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen
        • (i) dem Modell von jedem Körper und
        • (ii) dem ersten vergrößerten Modell an zumindest einem Standort unter den M Standorten,
    • Trajektorien sind, welche die Korrektur benötigen, und
    • wobei M eine ganze Zahl größer als oder gleich 1 ist.
  • Die Steuervorrichtung kann ferner Folgendes aufweisen:
    • eine zweite vergrößertes-Modell-Erzeugungssektion zum Erzeugen von zweiten vergrößerten Modellen, welche (i) Modelle sind, welche erhalten werden mittels Erhöhens der Größe von jedem Körper, welche mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben werden, oder (ii) Modelle sind, welche größer als jeder Körper sind und welche eine einfachere Form als jeder Körper haben, wobei
    • die Bestimmungssektion bestimmt, ob eine Kollision auftreten würde zwischen (i) dem zweiten vergrößerten Modell und (ii) dem ersten vergrößerten Modell an (a) M Standorten in jeder der N-1 oder N Trajektorien,
    • und bestimmt, dass die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem zweiten vergrößerten Modell und (ii) dem ersten vergrößerten Modell an (b) zumindest einem Standort unter den M Standorten,
    • Trajektorien sind, welche die Korrektur benötigen.
  • Die Klassifizierungssektion kann Folgendes aufweisen:
    • eine zweite vergrößertes-Modell-Erzeugungssektion zum Erzeugen von zweiten vergrößerten Modellen, welche (i) Modelle sind, welche erhalten werden mittels Erhöhens der Größe von jedem Körper, welche mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben werden, oder (ii) Modelle sind, welche größer als jeder Körper sind und eine einfachere Form als jeder Körper haben; und
    • eine Bestimmungssektion zum Bestimmen, ob eine Kollision auftreten würde zwischen (i) dem Modell des Manipulators und (ii) dem zweiten vergrößerten Modell an (a) M Standorten in jeder der N-1 oder N Trajektorien, und
    • welche bestimmt, dass Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem Modell des Manipulators und (ii) dem zweiten vergrößerten Modell an (b) zumindest einem Standort unter den M Standorten
    • Trajektorien sind, welche eine Korrektur benötigen, und
    • wobei M eine ganze Zahl größer als oder gleich 1 ist.
  • Die Klassifizierungssektion kann ferner eine Genauigkeitsberechnungssektion zum Berechnen eines Werts von M aufweisen, und zwar basierend auf zumindest einer von der Größe des Manipulators und den Größen der vergrößerten Modelle.
  • Die Klassifizierungssektion kann ferner eine Genauigkeitsberechnungssektion zum Berechnen eines Werts von M aufweisen, und zwar basierend auf einer Korrespondenzbeziehung zwischen dem Betrieb des Manipulators in einem gemeinsamen Raum und dem Betrieb des Manipulators in einem realen Raum.
  • Bei einem Ausführungsbeispiel weist ein Arbeitsroboter Folgendes auf:
    • die Steuervorrichtung; und
    • den Manipulator.
  • Der Arbeitsroboter kann ferner Folgendes aufweisen:
    • eine Steuerungssektion zum Steuern des Betriebs des Manipulators, wobei
    • die Steuervorrichtung die Steuerinformation zum Steuern des Betriebs des Manipulators ausgibt, und
    • die Steuerungssektion den Betrieb des Manipulators steuert, basierend auf der Steuerinformation, welche mittels der Steuervorrichtung ausgegeben wird.
  • Bei einem Ausführungsbeispiel veranlasst ein Programm einen Computer als die Steuervorrichtung zu funktionieren.
  • Bei einem Ausführungsbeispiel weist ein Steuerverfahren zum Steuern eines Betriebs eines Arbeitsroboters zum Ausführen einer Arbeit in einem Zielbereich unter Verwendung eines Manipulators Folgendes auf:
    • einen Änderungsinformationserfassungsschritt zum Erfassen von zumindest einer von
      • (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern, welche in dem Zielbereich angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf zumindest eine von einer Position, einer Ausrichtung, einer Form und einer Größe des zumindest einen Körpers angibt, und
      • (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper in dem Zielbereich anzuordnen ist;
    • einen Modellinformationserfassungsschritt zum Erfassen von zumindest einer von
      • (i) einer ersten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe von jedem von dem einen oder den mehreren Körpern angibt, nachdem die Änderung aufgetreten ist, und
      • (ii) einer zweiten Modellinformation, welche die Position, die Ausrichtung, die Form und die Größe des neuen Körpers angibt;
    • einen Trajektorieninformationserfassungsschritt zum Erfassen von N-1 oder N Teilen einer Trajektorieninformation, welche jeweils N-1 oder N Trajektorien angeben, welche N Arbeitsbereiche verbinden, in welchen der Arbeitsroboter eine Serie von Arbeitsvorgängen in einer Reihenfolge der Serie der Arbeitsvorgänge ausführt;
    • einen Klassifizierungsschritt zum Klassifizieren der N-1 oder N Trajektorien als
      • (i) Trajektorien, welche eine Korrektur benötigen aufgrund einer Änderung in dem Zielbereich, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird, oder
      • (ii) Trajektorien, welche keine Korrektur benötigen, selbst wenn eine Änderung in dem Zielbereich auftritt, welche mittels zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation angegeben wird; und
    • einen Trajektorienplanungsschritt zum Planen einer Trajektorie einer Spitze des Manipulators zwischen zwei Arbeitsbereichen, welche sich auf jede von der einen oder den mehreren Trajektorien beziehen, basierend auf zumindest einer von der ersten Modellinformation und der zweiten Modellinformation, für jede von der einen oder den mehreren Trajektorien, welche in dem Klassifizierungsschritt als eine Trajektorie klassifiziert ist, welche eine Korrektur benötigt, wobei
    • N eine ganze Zahl größer als oder gleich 2 ist.
  • Bezugszeichenliste
  • 10:
    Kommunikationsnetzwerk
    20:
    Werkstück
    22:
    vorstehender Abschnitt
    32:
    Arbeitspunkt
    34:
    Arbeitspunkt
    36:
    Arbeitspunkt
    38:
    Arbeitspunkt
    100:
    Arbeitssystem
    120:
    Ausführungsvorrichtung
    140:
    Managementvorrichtung
    160:
    Eingabeterminal
    202:
    Zielbereich
    212:
    Förderband
    214:
    Roboter
    220:
    Manipulator
    222:
    Arbeitswerkzeug
    224:
    Roboterarm
    230:
    Plattform
    232:
    Schiene
    240:
    Antriebssektion
    250:
    Antrieb Steuerungssektion
    320:
    Hindernis
    340:
    gesamte Trajektorie
    342:
    Einheitstrajektorie
    344:
    Einheitstrajektorie
    346:
    Einheitstrajektorie
    420:
    Hindernis
    620:
    Kommunikation Steuerungssektion
    630:
    Modellverwaltende Sektion
    640:
    Systemverwaltende Sektion
    650:
    Speichersektion
    720:
    Detektiersektion
    730:
    Einstellungssektion
    740:
    System Steuerungssektion
    820:
    Basisinformation Erfassungssektion
    830:
    Simulationsmodell Erzeugungssektion
    840:
    Extrahiersektion
    842:
    Bestimmungsmodell Erzeugungssektion
    844:
    Bestimmungsgenauigkeit Berechnungssektion
    846:
    Kollision Bestimmungssektion
    848:
    Klassifizierung Bestimmungssektion
    850:
    Trajektorienplanungssektion
    860:
    Trajektorienbestimmungssektion

Claims (10)

  1. Steuervorrichtung (730) zum Steuern des Betriebs eines Arbeitsroboters (214) zum Ausführen einer Arbeit in einem Zielbereich (202) unter Verwendung eines Manipulators (220), wobei die Steuervorrichtung (730) aufweist: eine Änderungsinformationserfassungssektion (630, 720) zum Erfassen von zumindest einer von (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern (20), welche in dem Zielbereich (202) angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf den zumindest einen von dem einen oder den mehreren Körpern (820) angibt, und (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper (320, 420) in dem Zielbereich (202) anzuordnen ist; eine Modellinformationserfassungssektion (630) zum Erfassen von zumindest einer von (i) einer ersten Modellinformation, welche jeweils den einen oder die mehreren Körper (20, 320, 420) repräsentiert, nachdem die Änderung aufgetreten ist, und (ii) einer zweiten Modellinformation, welche den neuen Körper (320, 420) repräsentiert; eine Trajektorieninformationserfassungssektion (720) zum Erfassen einer Trajektorieninformation, welche eine oder mehrere Trajektorien (340) repräsentiert, welche Arbeitsbereiche verbinden, in welchen der Arbeitsroboter (214) eine Serie von Arbeitsvorgängen ausführt; eine Klassifizierungssektion (848) zum Klassifizieren der Trajektorien (340) einschließlich Trajektorien, welche eine Korrektur benötigen aufgrund zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation; und eine Trajektorienplanungssektion (850) zum Planen einer Trajektorie (340) des Manipulators (220) zwischen zwei Arbeitsbereichen, welche sich auf jede der einen oder der mehreren Trajektorien (340) beziehen, basierend auf zumindest einer der ersten Modellinformation und der zweiten Modellinformation, für jede von der einen oder den mehreren Trajektorien, welche als eine Trajektorie klassifiziert wird, welche eine Korrektur benötigt, wobei die Klassifizierungssektion (848) enthält: eine erste vergrößertes-Modell-Erzeugungssektion zum Erzeugen eines ersten vergrößerten Modells, welches (i) ein Modell ist, welches erhalten wird mittels Erhöhens der Größe des Manipulators (220) und/oder (ii) ein Modell ist, welches eine einfachere Form als der Manipulator (220) hat; und eine Bestimmungssektion zum (a) Bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Modell von jedem Körper (20, 320, 420), welches mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben wird, und (ii) dem ersten vergrößerten Modell an Standorten auf jeder der Trajektorien (340), und (b) Bestimmen, ob eine Korrektur erforderlich ist für die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem Modell von jedem Körper (20, 320, 420) und (ii) dem ersten vergrößerten Modell.
  2. Steuervorrichtung (730) gemäß Anspruch 1, ferner aufweisend: eine zweite vergrößertes-Modell-Erzeugungssektion zum Erzeugen von zweiten vergrößerten Modellen, welche (i) Modelle sind, welche erhalten werden mittels Erhöhens der Größe von einem oder mehreren Körpern (20, 320, 420), welche mittels zumindest einer von der ersten Modellinformation und/oder der zweiten Modellinformation angegeben werden, und/oder (ii) Modelle sind, welche eine einfachere Form als jeder von dem zumindest einen oder den mehreren Körpern (20, 320, 420) haben, wobei die Bestimmungssektion bestimmt, ob eine Kollision auftreten würde zwischen (i) dem zweiten vergrößerten Modell und (ii) dem ersten vergrößerten Modell entlang einer oder mehreren der Trajektorien (340), und bestimmt, ob eine Korrektur erforderlich ist für die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem zweiten vergrößerten Modell und (ii) dem ersten vergrößerten Modell.
  3. Steuervorrichtung (730) zum Steuern des Betriebs eines Arbeitsroboters (214) zum Ausführen einer Arbeit in einem Zielbereich (202) unter Verwendung eines Manipulators (220), wobei die Steuervorrichtung (730) aufweist: eine Änderungsinformationserfassungssektion (630, 720) zum Erfassen von zumindest einer von (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern (20), welche in dem Zielbereich (202) angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf den zumindest einen von dem einen oder den mehreren Körpern (20) angibt, und (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper (320, 420) in dem Zielbereich (202) anzuordnen ist; eine Modellinformationserfassungssektion (630) zum Erfassen von zumindest einer von (i) einer ersten Modellinformation, welche jeweils den einen oder die mehreren Körper (20, 320, 420) repräsentiert, nachdem die Änderung aufgetreten ist, und (ii) einer zweiten Modellinformation, welche den neuen Körper (320, 420) repräsentiert; eine Trajektorieninformationserfassungssektion (720) zum Erfassen einer Trajektorieninformation, welche eine oder mehrere Trajektorien (340) repräsentiert, welche Arbeitsbereiche verbinden, in welchen der Arbeitsroboter (214) eine Serie von Arbeitsvorgängen ausführt; eine Klassifizierungssektion (848) zum Klassifizieren der Trajektorien (340) einschließlich Trajektorien, welche eine Korrektur benötigen aufgrund zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation; und eine Trajektorienplanungssektion (850) zum Planen einer Trajektorie (340) des Manipulators (220) zwischen zwei Arbeitsbereichen, welche sich auf jede der einen oder der mehreren Trajektorien (340) beziehen, basierend auf zumindest einer der ersten Modellinformation und der zweiten Modellinformation, für jede von der einen oder den mehreren Trajektorien, welche als eine Trajektorie klassifiziert wird, welche eine Korrektur benötigt, wobei die Klassifizierungssektion (848) enthält: eine vergrößertes-Modell-Erzeugungssektion zum Erzeugen von einem oder mehreren vergrößerten Modellen, welches ein Modell ist, welches (i) erhalten wird mittels Erhöhens der Größe von einem oder mehreren Körpern (20, 320, 420), welche mittels zumindest einer von der ersten Modellinformation und/oder der zweiten Modellinformation angegeben werden, und/oder (ii) welches eine einfachere Form als jeder Körper (20, 320, 420) hat; und eine Bestimmungssektion zum (a) Bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Modell des Manipulators (220) und (ii) dem vergrößerten Modell an einem oder mehreren Standorten entlang den Trajektorien (340), und (b) welche bestimmt, ob eine Korrektur erforderlich ist für die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem Modell des Manipulators (220) und (ii) dem zweiten vergrößerten Modell.
  4. Steuervorrichtung (730) gemäß irgendeinem der Ansprüche 1 bis 3, wobei die Klassifizierungssektion (848) ferner eine Genauigkeitsberechnungssektion (844) zum Berechnen einer Anzahl von Kollisionsstandorten basierend auf zumindest einer von der Größe des Manipulators (220) und den Größen des einen oder der mehreren vergrößerten Modelle enthält.
  5. Steuervorrichtung (730) gemäß irgendeinem der Ansprüche 1 bis 3, wobei die Klassifizierungssektion (848) ferner eine Genauigkeitsberechnungssektion (844) zum Berechnen einer Anzahl von Kollisionsstandorten basierend auf einer Korrespondenzbeziehung zwischen dem Betrieb des Manipulators (220) in einem gemeinsamen Raum und dem Betrieb des Manipulators (220) in einem realen Raum enthält.
  6. Steuervorrichtung (730) gemäß einem der Ansprüche 1 bis 5, ferner aufweisend: eine Trajektorienbestimmungssektion (860) zum Bestimmen der Trajektorie (340) des Manipulators (220) während den Arbeitsvorgängen, basierend auf einer Information, welche eine Position und/oder eine Ausrichtung des Manipulators (220) in den Trajektorien angibt, welche mittels der Trajektorienplanungssektion geplant werden, welche korrigiert werden müssen.
  7. Steuervorrichtung (730) gemäß Anspruch 6, ferner aufweisend: eine Ausgabesektion (740) zum Ausgeben einer Steuerinformation zum Steuern des Betriebs des Manipulators (220), basierend auf der Trajektorie (340) des Manipulators (220), welche mittels der Trajektorienbestimmungssektion (860) bestimmt wird.
  8. Programm, welches einen Computer veranlasst, als die Steuervorrichtung (730) gemäß irgendeinem der Ansprüche 1 bis 7 zu funktionieren.
  9. Steuerverfahren zum Steuern eines Betriebs eines Arbeitsroboters (214) zum Ausführen einer Arbeit in einem Zielbereich (202) unter Verwendung eines Manipulators (220), wobei das Steuerverfahren aufweist: einen Änderungsinformationserfassungsschritt zum Erfassen von zumindest einer von (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern (20), welche in dem Zielbereich (202) angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf den zumindest einen von dem einen oder den mehreren Körpern (20) angibt, und (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper (320, 420) in dem Zielbereich (202) anzuordnen ist; einen Modellinformationserfassungsschritt zum Erfassen von zumindest einer von (i) einer ersten Modellinformation, welche jeweils den einen oder die mehreren Körper (20, 320, 420) repräsentiert, nachdem die Änderung aufgetreten ist, und (ii) einer zweiten Modellinformation, welche den neuen Körper (320, 420) repräsentiert; einen Trajektorieninformationserfassungsschritt zum Erfassen von einer Trajektorieninformation, welche eine oder mehrere Trajektorien (340) repräsentiert, welche Arbeitsbereiche verbinden, in welchen der Arbeitsroboter (214) eine Serie von Arbeitsvorgängen ausführt; einen Klassifizierungsschritt zum Klassifizieren der Trajektorien (340) einschließlich Trajektorien, welche eine Korrektur benötigen aufgrund zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation; und einen Trajektorienplanungsschritt zum Planen einer Trajektorie (340) des Manipulators (220) zwischen zwei Arbeitsbereichen, welche sich auf jede von der einen oder den mehreren Trajektorien beziehen, basierend auf zumindest einer von der ersten Modellinformation und der zweiten Modellinformation, für jede von der einen oder den mehreren Trajektorien, welche als eine Trajektorie klassifiziert ist, welche eine Korrektur benötigt, wobei der Klassifizierungsschritt enthält: einen ersten vergrößertes-Modell-Erzeugungsschritt zum Erzeugen eines ersten vergrößerten Modells, welches (i) ein Modell ist, welches erhalten wird mittels Erhöhens der Größe des Manipulators (220), und/oder (ii) ein Modell ist, welches eine einfachere Form als der Manipulator (220) hat; und einen Bestimmungsschritt zum (a) Bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Modell von jedem Körper (20, 320, 420), welches mittels zumindest einer von der ersten Modellinformation und der zweiten Modellinformation angegeben wird, und (ii) dem ersten vergrößerten Modell an Standorten auf jeder der Trajektorien (340), und (b) Bestimmen, ob eine Korrektur erforderlich ist für die Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem Modell von jedem Körper (20, 320, 420) und (ii) dem ersten vergrößerten Modell.
  10. Steuerverfahren zum Steuern des Betriebs eines Arbeitsroboters (214) zum Ausführen einer Arbeit in einem Zielbereich (202) unter Verwendung eines Manipulators (220), wobei das Steuerverfahren aufweist: einen Änderungsinformationserfassungsschritt zum Erfassen von zumindest einer von (i) einer ersten Änderungsinformation in Bezug auf zumindest einen von einem oder mehreren Körpern (20), welche in dem Zielbereich angeordnet sind, und welche das Auftreten einer Änderung in Bezug auf den zumindest einen von dem einen oder den mehreren Körpern (20) angibt, und (ii) einer zweiten Änderungsinformation, welche angibt, dass ein neuer Körper (320, 420) in dem Zielbereich (202) anzuordnen ist; einen Modellinformationserfassungsschritt zum Erfassen von zumindest einer von (i) einer ersten Modellinformation, welche jeweils den einen oder die mehreren Körper (20, 320, 420) repräsentiert, nachdem die Änderung aufgetreten ist, und (ii) einer zweiten Modellinformation, welche den neuen Körper (320, 420) repräsentiert; einen Trajektorieninformationserfassungsschritt zum Erfassen von einer Trajektorieninformation, welche eine oder mehrere Trajektorien (340) repräsentiert, welche Arbeitsbereiche verbinden, in welchen der Arbeitsroboter (214) eine Serie von Arbeitsvorgängen ausführt; einen Klassifizierungsschritt zum Klassifizieren der Trajektorien (340) einschließlich Trajektorien, welche eine Korrektur benötigen aufgrund zumindest einer von der ersten Änderungsinformation und der zweiten Änderungsinformation; und einen Trajektorienplanungsschritt zum Planen einer Trajektorie (340) des Manipulators (220) zwischen zwei Arbeitsbereichen, welche sich auf jede von der einen oder den mehreren Trajektorien (340) beziehen, basierend auf zumindest einer von der ersten Modellinformation und der zweiten Modellinformation, für jede von der einen oder den mehreren Trajektorien, welche als eine Trajektorie klassifiziert ist, welche eine Korrektur benötigt, wobei der Klassifizierungsschritt enthält: einen vergrößertes-Modell-Erzeugungsschritt zum Erzeugen von einem oder mehreren vergrößerten Modellen, welches ein Modell ist, welches (i) erhalten wird mittels Erhöhens der Größe von einem oder mehreren Körpern (20, 320, 420), welcher mittels zumindest einer von der ersten Modellinformation und/oder der zweiten Modellinformation angegeben wird, und/oder (ii) welches eine einfachere Form als jeder Körper (20, 320, 420) hat; und einen Bestimmungsschritt zum (a)Bestimmen, ob eine Kollision auftreten würde zwischen (i) einem Modell des Manipulators (220) und (ii) dem vergrößerten Modell an einem oder mehreren Standorten entlang den Trajektorien (340), und (b)Bestimmen, ob eine Korrektur erforderlich ist für Trajektorien, für welche bestimmt wurde, dass eine Kollision auftreten würde zwischen (i) dem Modell des Manipulators (340) und (ii) dem zweiten vergrößerten Modell.
DE112019001256.8T 2018-10-15 2019-06-14 Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren Active DE112019001256B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018194057A JP6508691B1 (ja) 2018-10-15 2018-10-15 制御装置、作業ロボット、プログラム、及び、制御方法
JP2018-194057 2018-10-15

Publications (1)

Publication Number Publication Date
DE112019001256B3 true DE112019001256B3 (de) 2022-08-18

Family

ID=66429914

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112019000097.7T Active DE112019000097B4 (de) 2018-10-15 2019-06-14 Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE112019001256.8T Active DE112019001256B3 (de) 2018-10-15 2019-06-14 Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE112019000097.7T Active DE112019000097B4 (de) 2018-10-15 2019-06-14 Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren

Country Status (5)

Country Link
US (3) US11045948B2 (de)
JP (1) JP6508691B1 (de)
CN (2) CN117021082A (de)
DE (2) DE112019000097B4 (de)
WO (1) WO2020079886A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
CN113561171B (zh) * 2020-01-05 2023-03-24 牧今科技 具有动态运动调整机制的机器人系统及其操作方法
JP7494614B2 (ja) * 2020-07-22 2024-06-04 セイコーエプソン株式会社 ロボットの教示制御方法、ロボットシステム、及び、コンピュータープログラム
CN112947424B (zh) * 2021-02-01 2023-04-25 国网安徽省电力有限公司淮南供电公司 配网作业机器人自主作业路径规划方法和配网作业系统
CN113954073B (zh) * 2021-11-08 2024-03-22 北京华航唯实机器人科技股份有限公司 机器人活动部件的轨迹分析方法及装置、机器人设备
CN115816451B (zh) * 2022-11-29 2024-01-16 江苏启威星装备科技有限公司 一种机械手运行控制方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015208584A1 (de) 2014-05-08 2015-11-12 Toshiba Kikai Kabushiki Kaisha Greifvorrichtung und Greifverfahren
DE102015115115A1 (de) 2014-09-16 2016-03-17 Fanuc Corporation Gegenstandsaufnahmevorrichtung zum Aufnehmen von zufällig gehäuften Gegenständen
JP2016091053A (ja) 2014-10-29 2016-05-23 キヤノン株式会社 情報処理装置および容器形状の推定方法、ワークピッキングシステム、プログラム
JP2016147330A (ja) 2015-02-10 2016-08-18 株式会社三次元メディア 物体認識に基づく制御装置
DE112016003107T5 (de) 2015-07-09 2018-04-12 Canon Kabushiki Kaisha Messvorrichtung zum messen der form eines zielobjekts, system und herstellungsverfahren
DE202017105598U1 (de) 2016-09-15 2018-05-24 Google LLC (n.d.Ges.d. Staates Delaware) System zum tiefen Verstärkungslernen für Robotermanipulation
DE102018001781A1 (de) 2017-03-13 2018-09-13 Fanuc Corporation Robotersystem, Messdatenverarbeitungsvorrichtung und Messdatenverarbeitungsverfahren zum Aufnehmen eines Werkstücks unter Verwendung von Messdaten, die mittels maschinellen Lernens korrigiert sind
DE112017007028T5 (de) 2017-02-09 2019-10-31 Mitsubishi Electric Corporation Positionskontrollvorrichtung und Positionskontrollverfahren

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS597752A (ja) 1982-07-07 1984-01-14 Nissan Motor Co Ltd 内燃機関のアイドル回転速度制御方法
JPH07107648B2 (ja) * 1987-09-09 1995-11-15 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 物体間衝突検出装置
JPH08108383A (ja) * 1994-10-05 1996-04-30 Fujitsu Ltd マニピュレータ制御装置
JP2875498B2 (ja) * 1995-07-18 1999-03-31 株式会社神戸製鋼所 ロボットマニピュレータの移動経路の自動生成方法
JPH11347984A (ja) * 1998-06-02 1999-12-21 Nissan Motor Co Ltd ロボット制御装置
JP4350921B2 (ja) * 2001-06-12 2009-10-28 本田技研工業株式会社 乗員保護装置
JP5235649B2 (ja) 2008-12-25 2013-07-10 株式会社東芝 移動体軌道生成方法および移動体軌道生成装置
JP2010172990A (ja) * 2009-01-28 2010-08-12 Seiko Epson Corp ロボット制御装置、ロボットの制御方法
FR2954518B1 (fr) * 2009-12-18 2012-03-23 Aripa Service Innovation Ind " systeme anticollision pour le deplacement d'un objet dans un environnement encombre."
DE102010007458A1 (de) * 2010-02-10 2011-08-11 KUKA Laboratories GmbH, 86165 Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters
JP5724919B2 (ja) * 2012-03-22 2015-05-27 トヨタ自動車株式会社 軌道生成装置、移動体、軌道生成方法及びプログラム
JP2014024162A (ja) 2012-07-27 2014-02-06 Seiko Epson Corp ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム
WO2014063262A1 (en) * 2012-10-22 2014-05-01 Güdel Group AG Method for the determination of workpiece transport trajectories in a multiple station press
DE102013225890A1 (de) * 2013-12-13 2015-06-18 Robert Bosch Gmbh Verfahren zur Steuerung eines Manipulators
CH709347A2 (de) * 2014-03-10 2015-09-15 Tecan Trading Ag Verfahren zur Wegfindung in einem automatisierten Handhabungssystem sowie Handhabungssystem mit entsprechendem Kontrollmodul zur Wegfindung.
US9764472B1 (en) * 2014-07-18 2017-09-19 Bobsweep Inc. Methods and systems for automated robotic movement
JP5911933B2 (ja) * 2014-09-16 2016-04-27 ファナック株式会社 ロボットの動作監視領域を設定するロボットシステム
DE102014118001A1 (de) * 2014-12-05 2016-06-09 Broetje-Automation Gmbh Verfahren zur Bewegungssimulation eines Manipulators
US9717387B1 (en) * 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
US9937014B2 (en) * 2015-04-10 2018-04-10 Mako Surgical Corp. System and method of controlling a surgical tool during autonomous movement of the surgical tool
JP6703812B2 (ja) 2015-08-05 2020-06-03 Kyoto Robotics株式会社 3次元物体検査装置
US10705528B2 (en) * 2015-12-15 2020-07-07 Qualcomm Incorporated Autonomous visual navigation
JP6576255B2 (ja) * 2016-01-25 2019-09-18 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
JP6606442B2 (ja) * 2016-02-24 2019-11-13 本田技研工業株式会社 移動体の経路計画生成装置
JP6309990B2 (ja) * 2016-03-24 2018-04-11 ファナック株式会社 複数の機構ユニットにより構成されたロボットを制御するロボットシステム、該機構ユニット、およびロボット制御装置
US11097422B2 (en) * 2017-02-07 2021-08-24 Veo Robotics, Inc. Safety-rated multi-cell workspace mapping and monitoring
US10427631B1 (en) * 2017-02-13 2019-10-01 Zoox, Inc. Vehicular adaptation for impact mitigation
JP6998660B2 (ja) * 2017-02-21 2022-01-18 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
JP6603255B2 (ja) * 2017-03-13 2019-11-06 ファナック株式会社 ロボットシステムおよびロボット制御方法
JP2019051771A (ja) * 2017-09-13 2019-04-04 トヨタ自動車株式会社 荷重伝達構造
US10759051B2 (en) * 2018-04-23 2020-09-01 General Electric Company Architecture and methods for robotic mobile manipulation system
CN108621165B (zh) * 2018-05-28 2021-06-15 兰州理工大学 障碍环境下的工业机器人动力学性能最优轨迹规划方法
US11911908B2 (en) * 2018-12-21 2024-02-27 Intrinsic Innovation Llc Dynamic probabilistic motion planning

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015208584A1 (de) 2014-05-08 2015-11-12 Toshiba Kikai Kabushiki Kaisha Greifvorrichtung und Greifverfahren
DE102015115115A1 (de) 2014-09-16 2016-03-17 Fanuc Corporation Gegenstandsaufnahmevorrichtung zum Aufnehmen von zufällig gehäuften Gegenständen
JP2016091053A (ja) 2014-10-29 2016-05-23 キヤノン株式会社 情報処理装置および容器形状の推定方法、ワークピッキングシステム、プログラム
JP2016147330A (ja) 2015-02-10 2016-08-18 株式会社三次元メディア 物体認識に基づく制御装置
DE112016003107T5 (de) 2015-07-09 2018-04-12 Canon Kabushiki Kaisha Messvorrichtung zum messen der form eines zielobjekts, system und herstellungsverfahren
DE202017105598U1 (de) 2016-09-15 2018-05-24 Google LLC (n.d.Ges.d. Staates Delaware) System zum tiefen Verstärkungslernen für Robotermanipulation
DE112017007028T5 (de) 2017-02-09 2019-10-31 Mitsubishi Electric Corporation Positionskontrollvorrichtung und Positionskontrollverfahren
DE102018001781A1 (de) 2017-03-13 2018-09-13 Fanuc Corporation Robotersystem, Messdatenverarbeitungsvorrichtung und Messdatenverarbeitungsverfahren zum Aufnehmen eines Werkstücks unter Verwendung von Messdaten, die mittels maschinellen Lernens korrigiert sind

Also Published As

Publication number Publication date
US20210268647A1 (en) 2021-09-02
US20200171656A1 (en) 2020-06-04
CN111328305A (zh) 2020-06-23
US11839977B2 (en) 2023-12-12
CN111328305B (zh) 2023-08-01
US11045948B2 (en) 2021-06-29
CN117021082A (zh) 2023-11-10
JP2020062690A (ja) 2020-04-23
JP6508691B1 (ja) 2019-05-08
DE112019000097T5 (de) 2020-09-24
US20240165799A1 (en) 2024-05-23
WO2020079886A1 (en) 2020-04-23
DE112019000097B4 (de) 2020-12-17

Similar Documents

Publication Publication Date Title
DE112019001256B3 (de) Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE102018204740B4 (de) Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren
DE112017002498B4 (de) Robotervorgang-auswertungseinrichtung, robotervorgang-auswertungsverfahren und robotersystem
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102016122678B4 (de) Werkstückpositions-/-Stellungsberechnungssystem und Handhabungssystem
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102017128543B4 (de) Störbereich-einstellvorrichtung für einen mobilen roboter
DE112017007398B4 (de) Steuervorrichtung, Greifsystem, Verteilersystem, Programm und Steuerverfahren
WO2017207436A1 (de) Industrieroboter
DE102010007458A1 (de) Verfahren für eine kollisionsfreie Bahnplanung eines Industrieroboters
DE102021107568A1 (de) Adaptive planung von zugriffen zum aufheben von behältern
DE102010032917A1 (de) Verfahren zur Offline-Programmierung eines NC-gesteuerten Manipulators
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102009007932A1 (de) Qualitätsgesteuertes Produktions- und Prüfverfahren
DE102022129008A1 (de) Verfahren zur behandlung von kollisionen bei der griffgenerierung
EP3993959A1 (de) Durchführen einer applikation mithilfe wenigstens eines roboters
WO2019096479A1 (de) Verfahren und mittel zum betreiben einer roboteranordnung
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102012022190B4 (de) Inverse Kinematik
EP3760390A1 (de) Durchführen einer vorgegebenen aufgabe mithilfe wenigstens eines roboters
DE102021204846B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE112020004852T5 (de) Steuerungsverfahren, steuerungsvorrichtung, robotersystem, programm und aufzeichnungsmedium
DE102020121396A1 (de) Objektdetektionsvorrichtung und Objektdetektionscomputerprogramrn
DE102020200165A1 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R129 Divisional application from

Ref document number: 112019000097

Country of ref document: DE

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