-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft eine Aufgabenplanungsvorrichtung, die geeignet ist, um eine Aufgabenplanung von Aufgaben, die in einem System, das eine Vielzahl von Vorrichtungen aufweist, auszuführen sind, zu erzeugen.
-
Stand der Technik
-
Gewöhnlich, wenn eine Vielzahl von Prozessen an einer Aufgabe, die in einem System, das Vorrichtungen wie Werkzeugmaschinen und Roboter aufweist, auszuführen ist, wurde zum Beispiel ein Gantt-Diagramm im Voraus erzeugt, um die Zuordnung jedes Prozesses zu jeder Vorrichtung und die Reihenfolge der Ausführung der Prozesse zu bestimmen.
-
PTL 1 offenbart zum Beispiel eine Vorrichtung, die konfiguriert ist, um eine Aufgabenplanung im Voraus zu erzeugen, wenn ein Produkt aus einer Vielzahl von Elementen zu fertigen ist.
-
Liste der Zitate
-
Patentliteratur
-
{PTL 1} Ungeprüfte
japanische Patentanmeldung, Veröffentlichung Nr. 2010-176388
-
Kurzdarstellung der Erfindung
-
Technische Problemstellung
-
Es ist jedoch nicht unbedingt optimal, eine Aufgabe tatsächlich nur basierend auf einem Aufgabenplan, der im Voraus, wie oben beschrieben, erzeugt wird, auszuführen. Es ist zum Beispiel wünschenswert, einen Aufgabenplan in Echtzeit zu optimieren, wobei der Stand von Verbrauchsgütern in einem System im Betrieb, der Betriebszustand von Vorrichtungen, die in dem System enthalten sind, und dergleichen berücksichtigt werden.
-
Die vorliegende Erfindung zielt darauf ab, das oben beschriebene Problem zu lösen und eine Aufgabenplanungsvorrichtung bereitzustellen, die fähig ist, einen Aufgabenplan in Echtzeit zu optimieren.
-
Lösung des Problems
-
Um die oben beschriebene Aufgabe zu verwirklichen, stellt die vorliegende Erfindung die folgenden Lösungen bereit.
-
Ein Aspekt der vorliegenden Erfindung ist eine Aufgabenplanungsvorrichtung, die Folgendes aufweist: einen Simulator, der konfiguriert ist, um einen Betrieb eines Robotersystems zu simulieren, das eine Vielzahl von Vorrichtungen aufweist, indem Modelle der Vielzahl von Vorrichtungen, die in einem virtuellen Raum zugeordnet sind, verwendet werden; eine Systemzustandserfassungseinheit, die konfiguriert ist, um einen Zustand des Robotersystems zu erfassen, und eine Aufgabenplanerzeugungseinheit, die konfiguriert ist, um dynamisch einen Aufgabenplan, der von dem Robotersystem auszuführen ist, zu erzeugen, indem der Simulator basierend auf dem Zustand, der von der Systemzustandserfassungseinheit erfasst wird, und dem Inhalt einer Aufgabe, die von einem Benutzer angewiesen wird, betrieben wird.
-
Mit dieser Konfiguration wird der Aufgabenplan, der von dem Robotersystem auszuführen ist, dynamisch erzeugt, indem, basierend auf dem Inhalt der Aufgabe, die von dem Benutzer angewiesen wird, und dem Zustand des Robotersystems, der von der Systemzustandserfassungseinheit erfasst wird, der Simulator, der konfiguriert ist, um den Betrieb des Robotersystems, das die Vielzahl von Vorrichtungen aufweist, zu simulieren, betrieben wird.
-
Auf diese Art kann der Aufgabenplan in Echtzeit in Übereinstimmung mit dem Zustand des Robotersystems im Betrieb optimiert werden.
-
Bei der oben beschriebenen Aufgabenplanungsvorrichtung gemäß dem Aspekt der vorliegenden Erfindung, kann die Aufgabenplanerzeugungseinheit eine Gesamtaufgabenzeit basierend auf einer Zeit, die für jeden Prozess, der in der Aufgabe enthalten ist, erforderlich ist, eine Standbyzeit bis zur Ausführung jedes Prozesses berechnen und eine Zeit, in der Vorrichtungen, die in jedem Prozess verwendet werden, miteinander interferieren, und eine Optimierung auszuführen, um die Gesamtaufgabenzeit zu minimieren.
-
Vorteilhafte Auswirkungen der Erfindung
-
Die vorliegende Erfindung erlaubt die Optimierung eines Aufgabenplans in Echtzeit.
-
Figurenliste
-
- {1}
1 ist ein Blockschaltbild, das eine schematische Konfiguration einer Aufgabenplanungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
- {2}
2 ist eine Skizze, die ein beispielhaftes Robotersystem veranschaulicht, das mit der Aufgabenplanungsvorrichtung, die in 1 veranschaulicht ist, verbunden ist.
- {3}
3 ist ein Ablaufdiagramm der Verarbeitung, die an der Aufgabenplanungsvorrichtung, die in 1 veranschaulicht ist, ausgeführt wird.
- {4A}
4A ist eine Tabelle, die beispielhafte Prozesse und Prozessinformationen an dem Robotersystem, das in 2 veranschaulicht ist, auflistet.
- {4B}
4B ist eine Tabelle, die beispielhafte Prozesse und Prozessinformationen an dem Robotersystem, das in 2 veranschaulicht ist, auflistet.
- {5}
5 ist eine Skizze, die eine beispielhafte Aufgabe, die an dem Robotersystem, das in 2 veranschaulicht ist, ausgeführt wird.
-
Beschreibung von Ausführungsformen
-
Unten wird eine Aufgabenplanungsvorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die anliegenden Zeichnungen beschrieben.
-
Wie in 1 veranschaulicht, ist eine Aufgabenplanungsvorrichtung 1 konfiguriert, um einen Aufgabeninhalt zu empfangen, der von einem Benutzer angewiesen wird, und einen Aufgabenplan basierend auf diesem Aufgabeninhalt zu erzeugen, wodurch Aufgaben geplant werden, die an einem Robotersystem 2, das mit der Aufgabenplanungsvorrichtung 1 verbunden ist, auszuführen sind.
-
Die Aufgabenplanungsvorrichtung 1 weist eine Zentraleinheit (Central Processing Unit - CPU), eine Hauptspeichervorrichtung, wie einen Nurlesespeicher (Read Only Memory - ROM) oder einen Direktzugriffsspeicher (Random Access Memory - RAM), eine Hilfsspeichervorrichtung, wie ein Festplattenlaufwerk (Hard Disk Drive - HDD), eine Eingabevorrichtung, wie eine Tastatur, eine Maus oder ein Touchpanel, eine Ausgabevorrichtung, wie einen Bildschirm und eine externe Schnittstelle, die konfiguriert ist, um mit diversen Arten von Daten mit einer externen Ausstattung zu kommunizieren, auf. Die Hilfsspeichervorrichtung speichert ein Computerprogramm, das jede Funktion, die unten beschrieben wird, umsetzt. Beim Ausführen wird das Computerprogramm von der Hilfsspeichervorrichtung durch einen Prozessor auf die Hauptspeichervorrichtung gelesen.
-
Die Aufgabenplanungsvorrichtung 1 weist funktional einen Simulator 11, eine Systemzustandserfassungseinheit 12 und eine Aufgabenplanerzeugungseinheit 13 auf. Der Simulator 11 ist mit der Aufgabenplanerzeugungseinheit 13 verbunden. Die Systemzustandserfassungseinheit 12 ist mit dem Robotersystem 2 und der Aufgabenplanerzeugungseinheit 13 verbunden. Die Aufgabenplanerzeugungseinheit 13 ist mit dem Robotersystem 2, dem Simulator 11 und der Systemzustandserfassungseinheit 12 verbunden.
-
Das Robotersystem 2 weist eine Vielzahl von Vorrichtungen, darunter ein Roboter, auf.
-
Der Simulator 11 ist konfiguriert, um den Betrieb des Robotersystems 2, das mit der Aufgabenplanungsvorrichtung 1 verbunden ist, zu simulieren. Genauer genommen simuliert der Simulator 11 den Betrieb des Robotersystems 2, indem in einem virtuellen Raum Modelle eines Roboters, einer Werkzeugmaschine und dergleichen, die in dem Robotersystem 2 enthalten sind, zugeordnet werden, und durch Betreiben der Modelle in dem virtuellen Raum in Übereinstimmung mit einem Aufgabenplan, der von der Aufgabenplanerzeugungseinheit 13 erzeugt wird. Der Simulator 11 kann folglich eine Ausführungszeit jedes Prozesses, der in dem Aufgabenplan enthalten ist, berechnen. Der Simulator 11 betreibt die Modelle in dem virtuellen Raum, um eine Interferenz zwischen den Vorrichtungen zu erfassen.
-
Die Systemzustandserfassungseinheit 12 ist konfiguriert, um Informationen in Zusammenhang mit einem Systemzustand des Robotersystems 2 zu erfassen. Die Informationen in Zusammenhang mit dem Systemzustand weisen zum Beispiel Informationen dazu, ob jede Vorrichtung, die in dem Robotersystem 2 enthalten ist, in einem Standbyzustand oder einem Betriebszustand ist, eine geplante Endzeit eines Prozesses, der ausgeführt wird, und einen Verschleißzustand eines Werkzeugs, das an jeder Vorrichtung verwendet wird, auf. Die geplante Endzeit eines Prozesses, der ausgeführt wird, kann basierend auf der tatsächlichen Startzeit dieses Prozesses und einer Ausführungszeit dieses Prozesses, die von dem Simulator 11 berechnet wird und in dem Aufgabenplan, der von der Aufgabenplanerzeugungseinheit 13 erzeugt wird, enthalten ist, berechnet werden.
-
Die Aufgabenplanerzeugungseinheit 13 ist konfiguriert, um den Simulator 11 unter Bezugnahme auf den Aufgabeninhalt, der von dem Benutzer eingegeben wird, den Informationen in Zusammenhang mit dem Systemzustand, der von der Systemzustandserfassungseinheit 12 erfasst wird, und einer Prozessinformationstabelle, die in der Hilfsspeichervorrichtung (nicht veranschaulicht), die in der Aufgabenplanungsvorrichtung 1 enthalten ist, zu betreiben, eine Gesamtaufgabenzeit, die für die Ausführung des Aufgabeninhalts und das Erzeugen eines Aufgabenplans, der optimiert ist, um die Gesamtaufgabenzeit zu minimieren, zu berechnen.
-
Die Prozessinformationstabelle listet eine Vielzahl von Prozessen auf, die an dem Robotersystem 2 ausführbar sind, sowie Prozessinformationen, die diesen Prozessen entsprechen.
-
Die Prozessinformationen weisen eine Einschränkungsbedingung auf, die eine Vorrichtung angibt, die zur Ausführung des entsprechenden Prozesses verfügbar ist, ein Betriebsprogramm für die Vorrichtung, eine exklusiv verwendete Ressource und eine Ausführungsreihenfolge in Bezug auf die anderen Prozesse.
-
Die Optimierung kann auf diverse Arten, wie durch einen genetischen Algorithmus, erzielt werden.
-
Unten wird ein spezifisches Beispiel von Verarbeitung, die an der oben beschriebenen Aufgabenplanungsvorrichtung 1 ausgeführt wird, unter Bezugnahme auf die 2 bis 5 beschrieben.
-
Bei dem Beispiel wird angenommen, dass das Robotersystem 2, wie in 2 veranschaulicht, Werkzeugmaschinen 21, die Werkzeugmaschine Nr. 1 und Nr. 2 genannt werden, und Roboter 22, die Roboter Nr. 1 und Roboter Nr. 2 genannt werden, aufweist.
-
Das Beispiel wird auf den folgenden Voraussetzungen angenommen:
- - eine Vielzahl von Teilen, die durch eine Teilzufuhröffnung zugeführt wird, wird von der Werkzeugmaschine 21 bearbeitet und durch eine Teilentladungsöffnung entladen.
- - ein Teil wird von den Robotern 22 bewegt;
- - das Teil hat zwei Flächen der Vorder- und Rückseitenflächen, die mit unterschiedlichen Fertigungen (Fertigung A und Fertigung B) zu versehen sind;
- - die Fertigungen A und B können durch eine beliebige der Werkzeugmaschinen Nr. 1 und Nr. 2 ausgeführt werden, und
- - die Fertigungen A und B erfordern eine Übergabe durch die Roboter 22, um das Teil umzudrehen.
-
Die 4A und 4B veranschaulichen eine beispielhafte Prozessinformationstabelle, die eine Vielzahl von Prozessen auflistet, die an dem Robotersystem 2 ausführbar sind, und Prozessinformationen, die diesen Prozessen in diesem Fall entsprechen. Wie in den 4A und 4B veranschaulicht, sind die Prozesse, die an dem Robotersystem 2 ausführbar sind, die Prozesse P1 bis P18. Die Prozessinformationen, die jedem Prozess entsprechen, weisen eine verfügbare Vorrichtung, ein Betriebsprogramm für diese, eine ausschließlich verwendete Ressource und eine Einschränkungsbedingung auf.
-
In den 4A und 4B verweisen „PRG_R1_1“ bis „PRG_R1_8“ jeweils auf ein Betriebsprogramm für den Roboter Nr. 1, das zum Ausführen des entsprechenden Prozesses erforderlich ist. „PRG_R2_1“ bis „PRG_R2_8“ verweisen jeweils auf ein Betriebsprogramm für den Roboter Nr. 2, das zum Ausführen des entsprechenden Prozesses erforderlich ist. „PRG_M1_1“ bis „PRG_M1_2“ verweisen jeweils auf ein Betriebsprogramm für die Werkzeugmaschine Nr. 1, das zum Ausführen des entsprechenden Prozesses erforderlich ist. „PRG_M2_1“ bis „PRG_M2_2“ verweisen jeweils auf ein Betriebsprogramm für die Werkzeugmaschine Nr. 2, das zum Ausführen des entsprechenden Prozesses erforderlich ist. Diese Betriebsprogramme sind zum Beispiel in der Hilfsspeichervorrichtung (nicht veranschaulicht), die in der Aufgabenplanungsvorrichtung 1 enthalten ist, oder in einer Speichervorrichtung (nicht veranschaulicht), die in dem Robotersystem 2 enthalten ist, gespeichert.
-
Bei dem Beispiel ist die ausschließlich verwendete Ressource ein zeitweiliger Platzierungstisch, an dem potentiell Interferenz zwischen den Robotern Nr. 1 und Nr. 2 auftritt. Wie in den 4A und 4B veranschaulicht, wird der zeitweilige Platzierungstisch als die ausschließliche Ressource der Prozessinformationen, die einem Prozess entsprechen, der den zeitweiligen Platzierungstisch verwendet, eingestellt.
-
Eine Prozessreihenfolgen-Einschränkungsbedingung der Prozessinformationen gibt einen Prozess an, der vor dem entsprechenden Prozess ausgeführt werden muss.
-
Die Prozessinformationstabelle, die in den 4A und 4B veranschaulicht ist, ist in der Hilfsspeichervorrichtung (nicht veranschaulicht), die in der Aufgabenplanungsvorrichtung 1 enthalten ist, gespeichert und wird nach Bedarf herangezogen.
-
Nächstfolgend wird eine Verarbeitung beschrieben, die an der Aufgabenplanungsvorrichtung 1 unter Bezugnahme auf ein Ablaufdiagramm, das in 3 veranschaulicht ist, ausgeführt wird.
-
Zunächst gibt der Benutzer einen Aufgabeninhalt zu der Aufgabenplanerzeugungseinheit 13 der Aufgabenplanungsvorrichtung 1 ein (Schritt S1 in 3). Bei dem Beispiel lautet der Aufgabeninhalt „Verarbeitung A und Verarbeitung B auf einem Teil“.
-
Anschließend erfasst die Systemzustandserfassungseinheit 12 Informationen in Zusammenhang mit dem aktuellen Systemzustand des Robotersystems 2 (Schritt S2 in 3).
-
Anschließend erzeugt die Aufgabenplanerzeugungseinheit 13 einen Aufgabenplan (Schritt S3 in 3). Insbesondere, mit dem eingegebenen Aufgabeninhalt als ein Ziel, erzeugt die Aufgabenplanerzeugungseinheit 13 einen Aufgabenplan basierend auf der Prozessinformationstabelle und den Informationen in Zusammenhang mit dem Systemzustand, die von der Systemzustandserfassungseinheit 12 erfasst werden. Die Aufgabenplanerzeugungseinheit 13 kann zum Beispiel eine willkürliche Zahl erzeugen, um eine Vorrichtung, einen Prozess und eine Prozessreihenfolge, die zur Ausführung des Aufgabeninhalts geeignet sind, zu finden. Auf diese Art erzeugt die Aufgabenplanerzeugungseinheit 13 bei dem Beispiel einen sequenziellen Aufgabenplan, so dass, wie in 5 veranschaulicht, sobald ein Teil in die Teilzufuhröffnung an Prozess P1 eingegeben wird, der Roboter Nr. 1 die Prozesse P2 bis P7 ausführt, der Roboter Nr. 2 die Prozesse P5 bis P10 ausführt, die Werkzeugmaschine Nr. 2 den Prozess P16 ausführt, der Roboter Nr. 2 die Prozesse P4, P7, P5 und P10 ausführt, die Werkzeugmaschine Nr. 2 den Prozess P17 ausführt, und der Roboter Nr. 2 den Prozess P13 ausführt, bevor das Teil schließlich durch die Teilentladungsöffnung bei Prozess P18 entladen wird.
-
Anschließend betätigt die Aufgabenplanerzeugungseinheit 13 den Simulator basierend auf der erzeugten Aufgabenplanung, und eine Gesamtaufgabenzeit, die der Simulator 11 braucht, wird gemessen (Schritt S4 in 3). Die Gesamtaufgabenzeit weist die Summe von Aufgabenzeiten auf, die für Prozesse benötigt werden, und Standbyzeit aufgrund von Abhängigkeit unter den Prozessen, und eine beliebige Sperrzeit aufgrund von Interferenz unter diesen Vorrichtungen. Bei dem Beispiel ist die Gesamtaufgabenzeit eine Zeit zwischen den Prozessen P1 und P18, wie in 5 veranschaulicht.
-
In 5 werden in einem Aufgabenplan für ein Teil, das zuerst zugeführt wird, keine Standbyzeit und keine Sperrzeit eingestellt, und die Gesamtaufgabenzeit ist daher die Summe der Aufgabenzeiten, die für die Prozesse erforderlich sind. Bei einem Aufgabenplan für ein Teil, das als zweites zugeführt wird, wird jedoch eine Sperrzeit unmittelbar vor dem Prozess P8, der von dem Roboter Nr. 1 ausgeführt wird, vorgesehen, um Interferenz zu vermeiden, die anderenfalls zwischen dem Roboter Nr. 1 und dem Roboter Nr. 2 auftreten würde, wenn der zeitweilige Platzierungstisch als eine exklusiv verwendete Ressourcen gleichzeitig in den Prozessen P5 und P8 verwendet wird. Außerdem wird eine Standbyzeit unmittelbar nach dem Prozess P8 vorgesehen, um ein Standby zu planen, bis der Roboter Nr. 2 verfügbar ist. In diesem Fall enthält die Gesamtaufgabenzeit die Summe von Aufgabenzeiten, die für die Prozesse erforderlich sind, die Sperrzeit und die Standbyzeit.
-
Anschließend wird bei Schritt S5 bestimmt, ob die Gesamtaufgabenzeit, die von dem Simulator 11 gemessen wurde, eine optimierte Aufgabenzeit ist. Die Optimierung verweist auf das Erzeugen eines Aufgabenplans, bei dem die Gesamtaufgabenzeit minimiert wird. Wenn bei Schritt S5 bestimmt wird, dass keine Optimierung erzielt wurde, werden die Schritte S2 bis S4 wiederholt, bis bestimmt wird, dass die Optimierung erzielt wurde. Das Bestimmen der Optimierung kann zum Beispiel basierend auf der Anzahl von Wiederholungen als eine Referenz ausgeführt werden.
-
Wenn bestimmt wird, dass die Optimierung bei Schritt S5 erzielt wurde, überträgt die Aufgabenplanerzeugungseinheit 13 den optimierten Aufgabenplan zu dem Robotersystem 2 (Schritt S6 in 3). Jede Vorrichtung, die in dem Robotersystem 2 enthalten ist, arbeitet basierend auf dem Arbeitsplan, der von der Aufgabenplanerzeugungseinheit 13 übertragen wird.
-
Schließlich wird bei Schritt S7 bestimmt, ob eine Aufgabe an dem Robotersystem 2 beendet wurde. Wenn bestimmt wird, dass eine Aufgabe an dem Robotersystem 2 nicht endete, kehrt die Verarbeitung zu Schritt S2 zurück, bei dem die Systemzustandserfassungseinheit 12 Informationen in Zusammenhang mit dem Systemzustand des Robotersystems 2 in Betrieb erfasst. Dann, bei dem darauf folgenden Schritt S3, wird der Aufgabenplan dynamisch aktualisiert und basierend auf den Informationen in Zusammenhang mit dem Systemzustand des Robotersystems 2, der von der Systemzustandserfassungseinheit 12 erfasst wird, optimiert. Auf diese Art wird der Aufgabenplan in Übereinstimmung mit dem aktuellen Systemzustand in Betrieb aktualisiert, was zu Betrieb mit höherer Effizienz des Robotersystems 2 führt.
-
Wenn ein Aufgabenplan dynamisch wie oben beschrieben erzeugt wird, muss das Verarbeiten an der Aufgabenplanerzeugungseinheit 13 in Echtzeit ausgeführt werden. Um das zu erzielen, wird eine restliche Zeit, bis die Aufgabenplanerzeugungseinheit 13 eine nächste Anweisung zu dem Robotersystem 2 ausgeben kann, für jeden Prozess aus der geplanten Endzeit eines Prozesses, der aktuell ausgeführt wird, geschätzt. Dann wird der Optimierungsbereich unter Verwenden der geschätzten restlichen Zeit als ein Parameter bestimmt.
-
Die Optimierung kann zum Beispiel nur nahe einem bestimmten Prozess, der im Voraus festgelegt wird, ausgeführt werden, wenn die restliche Zeit kurz ist, oder die Optimierung kann in einem weiteren Bereich ausgeführt werden, wenn die restliche Zeit lang ist. Die Sperre kann präzis oder grob in Übereinstimmung mit der restlichen Zeit eingestellt werden.
-
Obwohl die Ausführungsform der vorliegenden Erfindung oben ausführlich unter Bezugnahme auf die begleitenden Zeichnungen beschrieben ist, ist die spezifische Konfiguration der vorliegenden Erfindung nicht auf die Ausführungsform beschränkt, sondern enthält zum Beispiel eine beliebige Designänderung, ohne vom Schutzbereich der vorliegenden Erfindung abzuweichen.
-
Die Ausführungsform beschreibt oben das Beispiel, bei dem die Aufgabenplanungsvorrichtung 1 einen Aufgabenplan für das Robotersystem 2 erzeugt, aber die vorliegende Erfindung ist nicht darauf beschränkt. Die Aufgabenplanungsvorrichtung 1 kann einen Aufgabenplan für ein System erzeugen, das keinen Roboter enthält, oder kann einen Aufgabenplan für ein System, das eine Aufgabe, die von einem Bediener ausgeführt wird, enthält, erzeugen.
-
Wenn die Sperre auftritt, arbeitet eine Vorrichtung, die den entsprechenden Prozess ausführt, während der Sperrzeit bei der oben beschriebenen Ausführungsform nicht, kann aber zum Beispiel langsam arbeiten, um Interferenz mit einer anderen Vorrichtung zu vermeiden.
-
Bezugszeichenliste
-
- 1
- Aufgabenplanungsvorrichtung
- 2
- Robotersystem
- 11
- Simulator
- 12
- Systemzustandserfassungseinheit
- 13
- Aufgabenplanerzeugungseinheit
- 21
- Werkzeugmaschine
- 22
- Roboter
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-