-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung bezieht sich auf eine Simulationsvorrichtung, die die Bewegung einer Roboteranlage mit einer Vielzahl von Robotern simuliert, um ein Bewegungsprogramm zu optimieren.
-
Beschreibung des Standes der Technik
-
Als eine Vorrichtung zum Simulieren der Bewegung eines Roboters ist eine Vorrichtung bekannt, mit der die Zykluszeit bzw. Durchlaufzeit innerhalb eines zulässigen Lastbereichs des Motors minimiert wird, indem ein Geschwindigkeitsbefehl und ein Beschleunigungsbefehl verändert wird, (siehe zum Beispiel die offengelegte japanische Patentanmeldung
JP 2007-54 942 A ). Es ist ferner eine Vorrichtung bekannt, mit der die Energieaufnahme bzw. der Stromverbrauch eines Roboters durch Simulation geschätzt wird (siehe zum Beispiel die offengelegte japanische Patentanmeldung
JP 2011-5 623 A ).
-
Wenn eine Vielzahl von Robotern gleichzeitig angetrieben wird, zieht man es vor, die Bewegung der Roboteranlage mit der Vielzahl von Robotern im Voraus zu simulieren, um ein optimales Programm zu erstellen, mit dem sich die Roboter nicht gegenseitig behindern bzw. in den Weg geraten können und das mehrere Bewertungs- bzw. Auswertungskriterien zulässt. Beide der zuvor erwähnten Vorrichtungen, die in der offengelegten japanischen Patentanmeldung
JP 2007-54 942 A und der offengelegten japanischen Patentanmeldung
JP 2011-5 623 A simulieren die Bewegung eines einzigen Roboters und simulieren nicht die Bewegung von mehreren Robotern.
-
US 8,639,364 B2 offenbart ein Steuerungsverfahren für Robotersysteme zur Vermeidung und Erkennung von Steuerungsdilemmata. Hierzu werden miteinander jeweils in Beziehung stehende Synchronisationsobjekte eingeführt und mit dem Steuerprogramm in Verbindung gebracht.
US 2013/0282176 A1 offenbart ein computerbasiertes Steuerungssystem für verschiedene Automatisationsanlagen. Das Steuerungssystem ist hierbei in ein auf handelsüblichen Rechnern implementiertes Betriebssystem und in ein Echtzeitdatenverarbeitungsuntersystem unterteilt. Beide Systeme sind hierbei über elektronischen Kommunikationsmedien miteinander verbunden.
-
JP 2009 -
190 113 A offenbart eine Robotersimulationsvorrichtung, welche einen Ausführungsort für ein Steuerungssignal an einen Roboter zeigt.
-
JP 2003 -
103 491 A offenbart ein Verfahren zur Bestimmung der gegenseitigen Beeinträchtigung mehrerer Roboter, welche zur selben Zeit operieren.
-
DE 10 2010 052 253 A1 offenbart ein Verfahren und Steuermittel zur Steuerung einer Roboteranordnung. Hierbei wird ein computergestütztes Verfahren zur Steuerung einer Roboteranordnung mit wenigstens zwei Robotern gezeigt.
-
DE 196 25 637 A1 offenbart ein Betriebsverfahren für Roboter zu Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen. Das Betriebsverfahren ermöglicht die Auswertung reduzierter Datenmengen den Betrieb zweier Roboter in einem gemeinsamen Arbeitsraum.
-
Problem
-
Somit besteht die Aufgabe eine effiziente Simulationsvorrichtung bereit zu stellen, die ein Bewegungsprogramm für eine Roboteranlage mit einer Vielzahl von Robotern optimiert.
-
Zusammenfassung der Erfindung
-
Gemäß einer Ausführungsform der vorliegenden Erfindung ist eine Simulationsvorrichtung geschaffen, die die Bewegung einer Roboteranlage mit einer Vielzahl von Robotern, die jeweils eine von einem Motor angetriebene Antriebswelle haben, simuliert, die umfasst:
- eine Simulationseinheit, die mittels Simulation auf der Basis eines Bewegungsprogramms für die Roboteranlage für jeden Roboter ein Bewegungsprogramm ausführt,
- in dem jeder Roboter zuvor so eingestellt wird, dass er andere Roboter nicht beeinträchtigt, wobei das Bewegungsprogramm einen Geschwindigkeitsbefehl und einen Beschleunigungsbefehl für jede Antriebswelle und einen Wartebefehl für eine Bewegung enthält,
- eine Speichereinheit, die in Zeitreihen eine Zeilennummer des Bewegungsprogramms sowie den Geschwindigkeitsbefehl und den zugehörigen Beschleunigungsbefehl bei der Zeilennummer speichert,
- eine Recheneinheit für eine Ausführungszeit, die die Ausführungszeit des Bewegungsprogramms für jede der in der Speichereinheit gespeicherten Zeilennummern auf der Basis des Ergebnisses einer Simulation berechnet, das von der Simulationseinheit gewonnen wird, und
- eine Recheneinheit für eine Wartezeit, die die Wartezeit für die Bewegung in Übereinstimmung mit dem Wartebefehl für die Bewegung auf der Basis der Ausführungszeit, die durch die Recheneinheit für die Ausführungszeit berechnet wird, errechnet.
-
Figurenliste
-
Die vorgehende und weitere Ausführungsformen, Merkmale und Vorteile der Erfindung werden aus der nachfolgenden Beschreibung bevorzugter Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen deutlicher verständlich.
- 1 ist ein Blockschaltbild, das den Aufbau einer Simulationsvorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt,
- 2 ist eine Darstellung, die ein Beispiel eines Bewegungsprogramms zeigt, das in der Simulationsvorrichtung in 1 eingesetzt wird,
- 3 ist ein Fließschaltbild, das ein Beispiel eines Verfahrens zeigt, welches in einer Arbeitseinheit der 1 ausgeführt wird,
- 4 ist ein Blockschaltbild, das den Aufbau der Simulationsvorrichtung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung zeigt,
- 5 ist ein Fließschaltbild, das ein Beispiel eines Verfahrens zeigt, welches in einer Arbeitseinheit der 4 ausgeführt wird,
- 6 ist eine Darstellung, die ein gegenüber 4 abgeändertes Beispiel zeigt,
- 7 ist ein Fließschaltbild, das ein Beispiel eines Verfahrens zeigt, das in einer Arbeitseinheit der 6 ausgeführt wird,
- 8 ist eine Darstellung, die einen Teil eines Bewegungsprogramms zeigt, welches für die Simulationsvorrichtung der 6 verwendet wird,
- 9 ist eine Darstellung, die ein anderes gegenüber 4 abgeändertes Beispiel zeigt, und
- 10 ist ein Fließschaltbild, dass ein Beispiel eines Verfahrens zeigt, das in der Arbeitseinheit der 9 ausgeführt wird.
-
Ausführliche Beschreibung
-
Erste Ausführungsform
-
Eine erste Ausführungsform der vorliegenden Erfindung wird nun unter Bezugnahme auf die 1 des 3 beschrieben. In 1 ist ein Blockschaltbild, das den Aufbau einer Simulationsvorrichtung 100 gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt. Die Simulationsvorrichtung 100 simuliert die Bewegung einer Roboteranlage auf der Basis eines Bewegungsprogramms für eine Roboteranlage mit einer Vielzahl von Robotern. Wie es in 1 gezeigt ist, enthält die Simulationsvorrichtung 100 eine Eingangseinheit 1, eine Ausgangseinheit 2 und eine Arbeitseinheit 10.
-
Die Eingabeeinheit 1 gibt eine Vielzahl Stellgrößen bzw. Führungsgrößen (command values) ein, die in einem Bewegungsprogramm oder dergleichen enthalten sind, und wird über eine Tastatur oder dergleichen konfiguriert. Die Ausgabeeinheit 2 zeigt das Ergebnis einer Simulation an und wird über ein Display oder dergleichen konfiguriert. Die Arbeitseinheit 10 wird über einen Computer konfiguriert mit einer arithmetischen Verarbeitungseinheit einschließlich CPU, ROM, RAM und anderen peripheren Schaltkreisen und enthält als funktionale Komponenten eine Simulationseinheit 11, eine Recheneinheit für eine Motorlast 12, eine Speichereinheit 13, eine Recheneinheit für eine Ausführungszeit 14, eine Recheneinheit für eine Wartezeit 15 und eine Recheneinheit für eine Roboterlast 16.
-
Die Simulationseinheit 11 führt gleichzeitig eine Vielzahl von Bewegungsprogrammen (zum Beispiel Programme PA, PB, PC in 2) für die zugehörigen Roboter aus. Die Vielzahl von Robotern, die jeweils ein Objekt der Simulation sind, weist jeweils eine Vielzahl von Antriebswellen auf und jede der Antriebswellen wird durch einen von den anderen Motoren unterschiedlichen (eigenen) Motor angetrieben. Das Bewegungsprogramm enthält einen Geschwindigkeitsbefehl, einen Beschleunigungsbefehl und einen Wartebefehl für eine Bewegung. Der Wartebefehl für eine Bewegung ist ein Befehl, der die Bewegung eines Roboters anhält. Mit anderen Worten, wenn eine Vielzahl von Robotern gleichzeitig betrieben wird, um eine vorgegebene Tätigkeit auszuführen (zum Beispiel eine Montagearbeit), kann die Bewegung jedes Roboters zu einer vorgegebenen Zeit angehalten werden, um zu verhindern, dass sich die Roboter gegenseitig stören bzw. zusammenstoßen, und ein Befehl entspricht zu dieser Zeit dem Wartebefehl für die Bewegung.
-
Die Recheneinheit für eine Motorlast 12 berechnet eine Last bzw. Belastung (Motorlast), die auf einzelne Motoren der Roboter zu jeder vorgegebenen Zeit wirken, auf der Grundlage eines von der Simulationseinheit 11 gewonnenen Simulationsergebnisses. Beispiele der Motorlast umfassen das Drehmoment eines Motors und die Drehzahl des Motors. Das Motordrehmoment kann mit bekannten arithmetischen Ausdrücken wie beispielsweise der Newton-Euler Methode errechnet werden.
-
Die Speichereinheit 13 speichert in Zeitreihen eine durch die Recheneinheit für die Motorlast 12 errechnete Motorlast, einen Geschwindigkeitsbefehl und einen Beschleunigungsbefehl eines Motors, der von dem Bewegungsprogramm geliefert wird, und jede zugehörige Zeilennummer des Bewegungsprogramms. 2 ist eine Darstellung, die ein Beispiel eines Bewegungsprogramms einer Roboteranlage zeigt. 2 zeigt die Bewegungsprogramme PA, PB und PC der drei Roboter A, B und C im Vergleich. Die Bewegungsprogramme PA, PB und PC in 2 enthalten einen Drehbefehl („J_P ...“), der eine Antriebswelle in eine vorgegebene Stellung dreht und einen Linearbewegungsbefehl („L_P ...), der eine Antriebswelle in eine vorgegebene Position bewegt. Der Drehbefehl und der Linearbewegungsbefehl sind Bewegungsbefehle, die einen Geschwindigkeitsbefehl und einen Beschleunigungsbefehl für eine entsprechende Antriebswelle enthalten und ein Roboter arbeitet entsprechend dem Bewegungsbefehl.
-
„wait DI(2) = ON“ and „wait DI(3) = ON“ des Bewegungsprogramms PA des Roboters A ist ein Wartebefehl für die Bewegung und wenn der Wartebefehl für die Bewegung ausgegeben wird, hält der Roboter A seine Bewegung für eine bestimmte Zeit an (in der 1 Sekunde). Ein Wartebefehl für die Bewegung „wait DI(2) = ON“ wird ausgegeben, wenn ein vorgegebener Befehl „DO(2) = ON“ von dem Bewegungsprogramm PB des Roboters B ausgegeben wird, und ein Wartebefehl für die Bewegung „wait DI(3) = ON“ wird ausgegeben, wenn ein vorgegebener Befehl „DO(3) = ON“ von einem Bewegungsprogramm PC des Roboters C ausgegeben wird.
-
Auf gleiche Weise wie zuvor beschriebenen, wird eine Wartezeit für die Bewegung „wait DI(2) = ON“ des Roboters B ausgegeben, wenn ein vorgegebener Befehl „DO(2) = ON“ von dem Bewegungsprogramm PA des Roboters A ausgegeben wird, und ein Wartebefehl für die Bewegung „wait DI(3) = ON“ des Roboters C wird ausgegeben, wenn ein vorgegebener Befehl „DO(3) = ON“ von einem Bewegungsprogramm PA des Roboters A ausgegeben wird. Auf diese Weise hält der Roboter B für eine gewisse Zeitdauer an (in der 2 Sekunden) und hält der Roboter C seine Bewegung für eine bestimmte Zeit (in der 2 Sekunden) an. Die Wartezeit für die Bewegung jedes der Roboter A bis C kann durch Veränderung des Geschwindigkeitsbefehls und des Beschleunigungsbefehls eingestellt werden.
-
Die Recheneinheit für eine Ausführungszeit 14 berechnet die Ausführungszeit für jede Zeilennummer des Bewegungsprogramms PA, PB und PC, das in der Speichereinheit 13 auf der Grundlage des Ergebnisses einer Simulation, das von der Simulationseinheit 11 gewonnen wurde, gespeichert ist. Mit anderen Worten, es wird die für die Ausführung eines Befehls erforderliche Zeit für jede Zeile des Bewegungsprogramms PA, PB und PC für das ganze Bewegungsprogramm berechnet. Insbesondere wird die für die Ausführung des Befehls in Zeile 1 erforderliche Zeit, die für die Ausführung des Befehls in Zeile 2 erforderliche Zeit oder dergleichen des Bewegungsprogramms PA berechnet. Ferner wird die für die Ausführung des Befehls in Zeile 1 erforderliche Zeit, die für die Ausführung des Befehls in Zeile 2 erforderliche Zeit oder dergleichen des Bewegungsprogramms PB berechnet, und wird die für die Ausführung des Befehls in Zeile 1 erforderliche Zeit, die für die Ausführung des Befehls in Zeile 2 oder dergleichen des Bewegungsprogramms PC berechnet.
-
Die Recheneinheit für eine Ausführungszeit 14 berechnet ebenfalls die Zeit, die nötig ist für eine Roboteranlage zur Ausführung einer Reihe von Bewegungen, das heißt der Zykluszeit der Anlage. Nimmt man zum Beispiel, an, dass das Bewegungsprogramm PA, PB und PC Programme sind, die für die Roboter A, B, und C zur gemeinsamen Montage eines einzigen Bauteils geschrieben worden sind, und dass die Bewegungsprogramme PA, PB, und PC wiederholt ausgeführt werden, um wiederholt eine Montagearbeit für ein einzelnes Stück auszuführen, entspricht die Zykluszeit der Zeit, die für einen vollständigen Durchlauf der Programme PA, PB und PC erforderlich ist. Die Zykluszeit kann durch Hinzuaddieren der Ausführungszeit für jede Zeile der Bewegungsprogramme PA, PB und PC errechnet werden.
-
Die Recheneinheit für eine Wartezeit 15 gewinnt aus der von der Recheneinheit für eine Ausführungszeit 14 errechneten Ausführungszeit eine Ausführungszeit, die einer Zeilennummer entspricht, durch die ein Wartebefehl für die Bewegung ausgegeben wird. Zum Beispiel 1 Sekunde (Ausführungszeit für „WAIT DI(2) = ON“ und „WAIT DI(3) = ON“) des Bewegungsprogramms PA, 2 Sekunden (Ausführungszeit für „WAIT DI(2) = ON“) des Bewegungsprogramms PB, und 1.5 Sekunden (Ausführungszeit für „WAIT DI(3) = ON“) des Bewegungsprogramms PC in 2 werden als Wartezeit für die Bewegung gewonnen. Wenn ein zulässiger Bereich (zum Beispiel für die obere Grenze) der Wartezeit der Bewegung im Voraus durch die Betätigung der Eingabeeinheit 1 vorgegeben wurde, wird als Wartezeit für die Bewegung ein Wert durch Subtrahieren der oberen Grenze des zulässigen Bereichs von der Ausführungszeit, die durch die Recheneinheit für eine Ausführungszeit 14 berechnet wurde, als Wartezeit für die Bewegung errechnet.
-
Die Recheneinheit für eine Roboterlast 16 berechnet eine Last bzw. Belastung (Roboterlast), die in einer Roboteranlage auf jeden Roboter bei einer Reihe von Bewegungen ausgeübt wird, auf der Grundlage einer durch die Recheneinheit für eine Motorlast 12 errechneten Motorlast und einen Geschwindigkeitsbefehl und einen Beschleunigungsbefehl eines durch ein Bewegungsprogramm bestimmten Motors. Beispiele einer Roboterlast enthalten den Grad der Überlastung eines Motors, die Grenze des Stromwerts (QVC) für jeden Motor, eine Laufzeit eines Drehzahlminderers bzw. Untersetzungsgetriebes, der bzw. das zwischen einem Motor und einer Antriebswelle zum Reduzieren der Drehzahl des Motors und zum Übertragen der Drehung auf die Antriebswelle vorgesehen ist, die Energie, die ein Roboter aufnimmt bzw. verbraucht, und die Lebensdauer eines Kabels, das auf bzw. an dem Roboter verlegt ist. Ein Nutzer kann im Voraus aus den oben erwähnten Größen die Roboterlast durch Betätigung der Eingabeeinheit 1 wählen. Die Anzahl der Roboterlasten, die ausgewählt werden kann, kann 1 oder mehr betragen.
-
3 ist ein Fließschaltbild, das ein Beispiel eines Prozesses zeigt, welches in einer Arbeitseinheit 10 der 1 ausgeführt wird. So wird zum Beispiel der in dem Fließschaltbild dargestellte Prozess gestartet, wenn ein Startbefehl für eine Simulation durch Betätigung der Eingabeeinheit 1 eingegeben wird.
-
Im Schritt S1 werden die Bewegungsprogramme PA, PB und PC der Roboter A, B und C einer Roboteranlage mit einer Vielzahl von Robotern A, B und C durch einen Prozess in einer Simulationseinheit 11 ausgeführt.
-
Im Schritt S2 wird eine Last (zum Beispiel das Drehmoment eines Motors und die Drehzahl eines Motors) von jedem Motor, der jeweils auf einem der Roboter A, B und C vorgesehen ist, zu jeder vorgegebenen Zeit auf der Grundlage des Ergebnisses einer Simulation durch einen Prozess in einer Recheneinheit für eine Motorlast 12 berechnet.
-
Im Schritt S3 werden eine durch die Recheneinheit für eine Motorlast 12 berechnete Motorlast, ein Geschwindigkeitsbefehl und ein Beschleunigungsbefehl eines durch die Bewegungsprogramme PA, PB, und PC bestimmten Motors und jede zugehörige Zeilennummer der Bewegungsprogramme PA, PB und PC in Zeitreihen in einem Speicher gespeichert, der über einen in einer Speichereinheit 13 ausgeführten Prozess diese miteinander verknüpft.
-
Im Schritt S4 wird die Ausführungszeit der Bewegungsprogramme PA, PB und PC für jede Zeilennummer, die in der Speichereinheit 5 gespeichert ist, durch einen Prozess in einer Recheneinheit für eine Ausführungszeit 14 auf der Grundlage des Ergebnisses einer Simulation, die durch die Simulationseinheit 11 gewonnen wurde, berechnet und zu der gleichen Zeit wird die Ausführungszeit für jede Zeilennummer hinzuaddiert, um die Zykluszeit einer Anlage zu berechnen.
-
Im Schritt S5 wird durch eine Recheneinheit für eine Wartezeit 15 eine Ausführungszeit entsprechend einer Zeilennummer, durch welche ein Wartebefehl für eine Bewegung ausgegeben wird, aus der von der Recheneinheit für eine Ausführungszeit 14 berechneten Ausführungszeit als eine Wartezeit für eine Bewegung berechnet und die Wartezeit für eine Bewegung an eine Ausgabeeinheit 2 ausgegeben. Auf diese Weise kann ein Nutzer beurteilen, ob die Wartezeit für eine Bewegung angemessen ist oder nicht. Wenn die Beurteilung ergeben hat, dass die Wartezeit für eine Bewegung nicht angemessen ist, können die Bewegungsprogramme PA, PB und PC durch Änderung des Geschwindigkeitsbefehls und des Beschleunigungsbefehls der Programme PA, PB und PC optimiert werden. Wenn die Beurteilung zum Beispiel ergeben hat, dass die Wartezeit einer Bewegung zu lang ist, bedient ein Nutzer die Eingabeeinheit 1 so, dass der Geschwindigkeitsbefehl und der Beschleunigungsbefehl erniedrigt werden und dadurch die Wartezeit für die Bewegung verringert wird, wodurch ein optimales Bewegungsprogramm, in dem die Wartezeit für eine Bewegung klein ist, erzeugt werden kann.
-
Im Schritt S6 wird durch einen Prozess in der Recheneinheit für eine Roboterlast 16 eine Roboterlast bei einer Reihe von Bewegungen der Roboteranlage auf der Grundlage einer durch die Recheneinheit für eine Motorlast 12 errechneten Motorlast und eines Geschwindigkeitsbefehls und eines Beschleunigungsbefehls Motors berechnet und wird die Motorlast an die Ausgabeeinheit 2 ausgegeben. Auf diese Weise kann ein Nutzer beurteilen, ob die Motorlast angemessen ist oder nicht. Wenn die Beurteilung ergibt, dass die Roboterlast nicht angemessen ist, kann die Roboterlast durch Ändern des Geschwindigkeitsbefehls und der Motorprogramme PA, PB und PC optimiert werden. Wenn zum Beispiel die Lebensdauer des Drehzahlminderers für die Roboterlast gewählt wird und die Beurteilung ergibt, dass die Lebensdauer des Drehzahlminderers klein ist, bedient ein Nutzer die Eingabeeinheit 1 so, dass jeweils der Geschwindigkeitsbefehl und der Beschleunigungsbefehl verringert wird, um eine auf den Drehzahlminderer wirkende Last zu reduzieren, so dass dadurch die Lebensdauer des Drehzahlminderers verlängert werden kann.
-
Mit der ersten Ausführungsform können die nachfolgenden betrieblichen Vorteile erzielt werden.
- (1) die Simulationsvorrichtung 100 enthält: eine Simulationseinheit 11, die, durch Simulation, die Bewegungsprogramme PA, PB und PC für die Roboter A, B und C in denen die Roboter A, B und C im Voraus so eingestellt worden sind, dass sie einander nicht stören bzw. miteinander kollidieren, d.h., die Bewegungsprogramme, die einen Geschwindigkeitsbefehl, einen Beschleunigungsbefehl und einen Wartebefehl für eine Bewegung enthalten; eine Speichereinheit 13, in der in Zeitreihen eine Zeilennummer der Bewegungsprogramme PA, PB und PC und einen Geschwindigkeitsbefehl und einen Beschleunigungsbefehl bei der Zeilennummer, die einander zugeordnet sind; eine Recheneinheit für eine Ausführungszeit 14, die die Ausführungszeit der Bewegungsprogramme PA, PB und PC für jede in der Speichereinheit 13 gespeicherte Zeilennummer auf der Grundlage des Ergebnisses der Simulation berechnet, und eine Recheneinheit für eine Wartezeit 15, die eine Wartezeit für die Bewegung in Übereinstimmung mit dem Wartebefehl für die Bewegung auf der Basis der Ausführungszeit berechnet. Auf diese Weise können die Bewegungsprogramme PA, PB und PC, die Wartezeit für eine Bewegung in einer Roboteranlage einschließlich der Vielzahl von Robotern A, B und C erzeugen, und dabei die Bewegungsprogramme optimieren.
- (2) Die Simulationsvorrichtung 100 enthält ferner: eine Recheneinheit für eine Motorlast 12, die eine auf den Motor zu jeder vorgegebenen Zeit wirkende Last auf der Basis des Ergebnisses einer Simulation berechnet, das von der Simulationseinheit 11 gewonnen wird, und eine Recheneinheit für eine Roboterlast 16, die eine auf die Roboter A, B und C wirkende Roboterlast berechnet. Die Speichereinheit 13 speichert in Zeitreihen eine Zeilennummer der Bewegungsprogramme PA, PB und PC, einen Geschwindigkeitsbefehl und einen Beschleunigungsbefehl zu der Zeilennummer, und eine Motorlast, die von der Recheneinheit für eine Motorlast 12 berechnet wird, die einander zugeordnet sind, und die Recheneinheit für eine Roboterlast 16 berechnet eine Roboterlast auf der Basis der gespeicherten Motorlast. Auf diese Weise können die Bewegungsprogramme PA, PB und PC unter Berücksichtigung der Laufzeit des Drehzahlminderers oder dergleichen erzeugt werden und optimieren damit die Bewegungsprogramme.
-
Zweite Ausführungsform
-
Die zweite Ausführungsform der vorliegenden Erfindung wird nun unter Bezugnahme auf die 4 und 5 beschrieben. In der ersten Ausführungsform wird die Wartezeit für eine Bewegung nach dem eigenen Urteil des Nutzers optimiert, während bei der zweite Ausführungsform die Wartezeit für die Bewegung durch die Simulationsvorrichtung 100 automatisch optimiert wird. 4 ist ein Blockdiagramm, das die Konfiguration einer Simulationsvorrichtung 100 gemäß der zweiten Ausführungsform der vorliegenden Erfindung zeigt. In 4 sind die gleichen Bezugszeichen den entsprechenden Elementen wie in 1 gegeben und die folgende Beschreibung wird hauptsächlich die Unterschiede gegenüber der ersten Ausführungsform erläutern.
-
Wie in 4 dargestellt, enthält die Simulationsvorrichtung 100 gemäß der zweiten Ausführungsform eine Simulationseinheit 11, eine Recheneinheit für eine Motorlast 12, eine Speichereinheit 13 und eine Recheneinheit für eine Ausführungszeit 14, eine Recheneinheit für eine Wartezeit 15 und eine Recheneinheit für eine Roboterlast 16 und ferner weist sie eine Benennungseinheit für eine Last 21, eine Benennungseinheit für eine Wartezeit 22 und eine Abänderungseinheit für das Programm 23 auf.
-
Die Benennungseinheit für eine Last 21 benennt einen zulässigen Bereich für die Motorlast. Insbesondere wird eine beliebige Größe des Maßes der Überhitzung eines Motors, OVC, der maximalen Stromstärke, die für einen Motor zulässig ist, der maximalen Geschwindigkeit, der maximalen Beschleunigung und die maximale Änderungsrate der Beschleunigung (maximaler Ruck) als ein zulässiger Bereich für eine Motorlast benannt. Ein Nutzer kann im Voraus durch die Bedienung der Eingabeeinheit 1 wählen, welche der oben genannten Größen für die Motorlast zu benennen ist. Die Anzahl der Motorlasten, die zu wählen ist, kann eine oder mehrere sein.
-
Die Benennungseinheit für eine Wartezeit 22 benennt einen zulässigen Bereich der Wartezeit für eine Bewegung der Roboter A, B und C. Der zulässige Bereich für die Wartezeit wird im Voraus durch über die Eingabeeinheit 1 durch einen Nutzer eingegeben und wird zum Beispiel durch eine obere Grenze und eine untere Grenze benannt. Es kann auch nur die obere Grenze ohne die untere Grenze benannt werden.
-
Die Abänderungseinheit für das Programm 23 änderte den Geschwindigkeitsbefehl und den Beschleunigungsbefehl der Bewegungsprogramme PA, PB und PC derart, dass die in der Speichereinheit 13 gespeicherte Motorlast sich in einem zulässigen Bereich der Motorlast hält, der durch die Benennungseinheit für eine Last 21 benannt ist ,und dass die durch eine Recheneinheit für eine Wartezeit 15 berechnete Wartezeit sich in einem zulässigen Bereich der Wartezeit für eine Bewegung hält, der durch die Benennungseinheit für die Wartezeit 22 benannt ist. Ferner ändert die Abänderungseinheit für das Programm 23 den Geschwindigkeitsbefehl und den Beschleunigungsbefehl derart, dass die kürzest mögliche Zykluszeit der Roboteranlage erzielt wird.
-
5 ist ein Fließschaltbild, dass ein Beispiel eines Prozesses darstellt, der in der Arbeitseinheit 10 der 4 ausgeführt wird. Die gleichen Bezugszeichen sind den gleichen Prozessen wie denen in 3 zugewiesen. Die folgende Beschreibung bezieht sich hauptsächlich auf die Unterschiede gegenüber der ersten Ausführungsform. Im Schritt S11 wird ein zulässiger Bereich einer Motorlast durch einen Prozess in der Benennungseinheit für die Last 21 benannt. Im Schritt S12 wird ein zulässiger Bereich (eine obere Grenze und eine untere Grenze) der Wartezeit für die Bewegung durch einen Prozess in der Benennungseinheit für eine Wartezeit 22 benannt. Dann wird ein Prozess ausgeführt, der den Schritten S1 bis S5 der 3 gleicht.
-
Im Schritt S13 wird eine Last durch die Recheneinheit für eine Motorlast 16 berechnet, die der Benennung der Benennungseinheit 21 für die Last entspricht. Mit anderen Worten, die hier berechnete Motorlast ist eine Motorlast als ein Teil der Roboterlast und unterscheidet sich von der Motorlast (Drehmoment oder Drehzahl des Motors), die im Schritt S2 berechnet wurde. Wenn zum Beispiel im Schritt S11 der zulässige Bereich einer Überhitzung benannt ist, ist der Grad der Motorüberhitzung im Schritt S13 berechnet worden.
-
Im Schritt S14 wird bestimmt, ob sich die im Schritt S13 berechnete Motorlast im zulässigen Bereich hält, der im Schritt S11 benannt ist, oder nicht. Wenn der Schritt S14 bestätigt wird, geht der Prozess zum Schritt S15 weiter, und wenn der Schritt S14 nicht bestätigt bzw. negiert wird, geht der Prozess zum Schritt S17 weiter Im Schritt S15 wird bestimmt, ob die im Schritt S5 errechnete Wartezeit für eine Bewegung größer als die untere Grenze der im Schritt S12 bezeichneten Wartezeit für eine Bewegung ist oder nicht. Wenn der Schritt S15 bestätigt wird, geht der Prozess zum Schritt S16 weiter, und wenn der Schritt S15 nicht bestätigt wird, geht der Prozess zum Schritt S17 weiter.
-
Im Schritt S16 wird bestimmt, ob die Zykluszeit der Roboteranlage, die durch die Recheneinheit 14 für die Ausführungszeit berechnet wurde, die kürzeste ist oder nicht. Zum Beispiel werden die Prozesse in den Schritten S14 bis S16 eine vorgegebene Anzahl von Wiederholungen wiederholt (zum Beispiel 10-mal) und wird die kürzeste Zykluszeit gespeichert. Die gespeicherte Zykluszeit und die berechnete Zykluszeit werden miteinander verglichen. Wenn die berechnete Zykluszeit größer ist als die gespeicherte Zykluszeit wird Schritt S16 negiert und der Prozess geht zum Schritt S17 weiter. Auf der anderen Seite wird, wenn die berechnete Zykluszeit nicht größer ist als die gespeicherte Zykluszeit, der Schritt S16 ausgeführt, um den Prozess zu beenden.
-
Im Schritt S17 werden ein Geschwindigkeitsbefehl und ein Beschleunigungsbefehl des Bewegungsprogramms so abgeändert, dass alle Schritte S14 bis S16 durchlaufen werden. Insbesondere werden der Geschwindigkeitsbefehl und der Beschleunigungsbefehl so abgeändert, dass sich die Motorlast in einem zulässigen Bereich befindet, wenn Schritt S14 negiert ist, damit die Wartezeit für eine Bewegung in einem zulässigen Bereich liegt, wenn Schritt S15 negiert ist, und dass die Zykluszeit die kürzeste ist, wenn Schritt S16 negiert ist. Im Schritt S17 können sowohl der Geschwindigkeitsbefehl als auch der Beschleunigungsbefehl nicht abgeändert werden, sondern nur entweder der Geschwindigkeitsbefehl oder der Beschleunigungsbefehl.
-
Die Prozesse in den Schritten S14 bis S17 werden durch Prozesse in der Abänderungseinheit für das Programm 23 ausgeführt. Wenn der Prozess im Schritt S17 beendet ist, kehrt der Prozess zum Schritt S1 zurück und danach wird ein gleicher Prozess wiederholt, bis sich die Motorlast in einem zulässigen Bereich befindet, sich die Wartezeit für eine Bewegung im zulässigen Bereich befindet und die Zykluszeit die kürzeste ist. Der Wiederholungsprozess in den Schritten S1 bis S17 wird nachfolgend als ein Prozess mit abgekürzter Zykluszeit unter Berücksichtigung einer Motorlast bezeichnet.
-
Die Simulationsvorrichtung 100 gemäß der zweiten Ausführungsform kann die folgenden betrieblichen Vorteile zusätzlich zu den gleichen betrieblichen Vorteilen der Simulationsvorrichtung 100 gemäß der ersten Ausführungsform zeitigen. Insbesondere, da die Abänderungseinheit für das Programm 23 den Geschwindigkeitsbefehl und den Beschleunigungsbefehl derart abändert, dass die Zykluszeit der Bewegung der Roboteranlage, die im Schritt S4 berechnet wird, die kürzeste ist, ist es möglich, dass die Roboteranlage effizient arbeitet (zum Beispiel bei der Montagearbeit eines Bauteils).
-
Abgeändertes Beispiel der Simulationsvorrichtung 100
-
6 ist ein Blockdiagramm, das ein abgeändertes Beispiel der Simulationsvorrichtung 100 gemäß der zweiten Ausführungsform zeigt. Der Aufbau der Simulationsvorrichtung 100 nach 6 eignet sich insbesondere dann, wenn die Lebensdauer des Drehzahlminderers als eine Roboterlast für die Berechnung der Recheneinheit für eine Roboterlast 16 gewählt ist und wenn die Simulationsvorrichtung 100 zusätzlich eine Benennungseinheit für eine gewünschte Lebensdauer 25 und eine Benennungseinheit für ein Bewertungskriterium für einen Drehzahlminderer 26 aufweist.
-
Die Benennungseinheit für eine Zielvorgabe für die Laufzeit 25 benennt eine Zielvorgabe für die Laufzeit einer Roboteranlage mit Bezug zur Laufzeit eines Drehzahlminderers. Die Laufzeitzielvorgabe ist in diesem Fall unter Verwendung der Betriebszeit oder Zykluszeit der Roboteranlage benannt. Ein Nutzer kann die Laufzeitzielvorgabe durch Betätigung der Eingabeeinheit 1 im Voraus festlegen.
-
Die Benennungseinheit für ein Bewertungskriterium für einen Drehzahlminderer 26 bezeichnet ein Kriterium (Bewertungskriterium) zur Bewertung der Lebensdauer des Drehzahlminderers. Die Bewertungskriterien sind physikalische Größen, die einen Einfluss auf die Lebensdauer des Drehzahlminderers haben, wie zum Beispiel die Geschwindigkeit, die Beschleunigung, das Drehmoment, das durchschnittliche Drehmoment und dergleichen eines Motors. Eines oder mehrere von diesen Größen werden gewählt und der Referenzwert von diesen wird festgelegt. Ein Nutzer kann einen dieser Werte im Voraus aus den oben erwähnten Größen als das Bewertungskriterium durch Betätigung der Eingabeeinheit 1 wählen.
-
Die Abänderungseinheit für das Programm 23 änderte den Geschwindigkeitsbefehl und den Beschleunigungsbefehl des Bewegungsprogramms auf der Basis des durch die Benennungseinheit für eine Laufzeitzielvorgabe 25 benannten Zielvorgabe für die Laufzeit und eines durch die Benennungseinheit für ein Bewertungskriterium für einen Drehzahlminderer 26 benannten Bewertungskriteriums.
-
7 ist ein Fließschaltbild, das ein Beispiel eines Prozesses darstellt, der in der Arbeitseinheit 10 der 6 ausgeführt wird. Im Schritt S21 wird eine Zielvorgabe für die Laufzeit einer Roboteranlage mit Bezug auf die Laufzeit des Drehzahlminderers durch einen Prozess in der Benennungseinheit für die Laufzeitzielvorgabe 25 bestimmt. Im Schritt S21 wird ein Bewertungskriterium der Laufzeit des Drehzahlminderers durch einen Prozess in der Benennungseinheit für ein Bewertungskriterium für einen Drehzahlminderer 26 benannt. Im Schritt S23 wird ein zulässiger Bereich (eine obere Grenze und eine untere Grenze) der Wartezeit für eine Bewegung durch einen Prozess in der Benennungseinheit für eine Wartezeit 22 auf gleiche Weise wie im Schritt S12 in 5 benannt.
-
Im Schritt S24 wird ein dem in den Schritten S1 bis S17 der 5 ausgeführten Prozess ähnlicher Prozess, das heißt ein Prozess mit abgekürzter Zykluszeit unter Berücksichtigung der Motorlast ausgeführt. Im Schritt S25 wird eine Simulation durch einen Prozess in der Simulationseinheit 11 vorgenommen. Im Schritt S26 wird die Laufzeit eines Drehzahlminderers, der auf jeder Antriebswelle jedes Roboters vorgesehen ist, durch einen Prozess in der Recheneinheit für die Roboterlast 16 berechnet.
-
Im Schritt S27 wird bestimmt, ob die im Schritt S26 berechnete Laufzeit des Drehzahlminderers länger als die im Schritt S21 benannte Zielvorgabe für die Laufzeit ist oder nicht. Wenn der Schritt S27 bestätigt wird, wird der Prozess beendet.
-
Im Schritt S30 wird ermittelt, ob es als Ergebnis der Simulation im Schritt S25 einen Bereich bei der Wartezeit für die Bewegung gibt oder nicht. Wenn der Schritt S30 bestätigt wird, geht der Prozess zum Schritt S31 weiter, und wenn der Schritt S30 negiert wird, geht der Prozess zum Schritt S32 weiter. Der Bereich für die Wartezeit der Bewegung im Schritt S30 ist die Zeit zwischen der Wartezeit für die Bewegung und der unteren Grenze des zulässigen Bereichs. Wenn zum Beispiel im Schritt S23 die zulässige Spanne zu 0,5 bis 1,0 Sekunden vorgegeben wird und die Wartezeit der Bewegung als Ergebnis der Simulation zu 0,5 Sekunden benannt wurde, besteht kein Bereich der Wartezeit für die Bewegung zum zulässigen Bereich (5 Sekunden). Daher geht in diesem Fall der Prozess zum Schritt S32 weiter. Wenn auf der anderen Seite die Wartezeit für die Bewegung mit 0,8 Sekunden als das Ergebnis der Simulation gewonnen wird, gibt es einen Bereich für die Wartezeit der Bewegung von 0,3 Sekunden mit Bezug auf den zulässigen Bereich (0,5 Sekunden). Folglich geht in diesem Fall der Prozess zum Schritt S31 weiter.
-
Im Schritt S31 wird eine Bewegung, die sicherer bzw. gesicherter (more serious) ist als ein Bewertungskriterium ist und die oberhalb des im Schritt S22 benannten Bewertungskriterium liegt, aus der Bewegung vor dem Wartebefehl für die Bewegung („warte DI (2) = ein“ oder dergleichen in 2) gewonnen und abgegeben. In diesem Fall, wie es zum Beispiel in 8 dargestellt ist, der ein Beispiel aus dem vereinfachten Bewegungsprogramm ist, gibt es eine Vielzahl von Bewegungsbefehlen (Bewegungsbefehle 1,2, ..., N) zwischen einem Wartebefehl 1 für die Bewegung und einem Wartebefehl 2 für die Bewegung und wenn ermittelt wurde, dass es eine Wartezeit für die Bewegung in dem Wartebefehl für die Bewegung gibt, wird eine Bewegung oberhalb des auswärtigen Kriterium aus den Bewegungsbefehlen 1 bis N gewonnen. Ein Bewegungsbefehl 0 wird nicht gewonnen.
-
Als nächstes werden im Schritt S33 der Geschwindigkeitsbefehl und der Beschleunigungsbefehl der gewonnenen bzw. extrahierten Bewegung verringert und kehrt der Prozess zum Schritt S25 zurück. Hierdurch kann eine Bewegung, die sicherer ist als das Bewertungskriterium, durch welches die Laufzeit des Drehzahlminderers nachteilig beeinflusst wird, durch Verwendung einer Wartezeit für die Bewegung gelockert bzw. entspannt. Folglich kann in einem sich wiederholenden Prozess die Laufzeit des Drehzahlminderers länger gemacht werden, als die Zielvorgabe für die Laufzeit.
-
Im Schritt S32 wird, da es keinen Bereich für die Wartezeit für die Bewegung gibt, eine Bewegung, die sicherer bzw. gesicherter ist als ein Bewertungskriterium und die oberhalb des im Schritt S22 benannten Bewertungskriteriums liegt, aus der gesamten Bewegung des Roboters gewonnen. Als nächstes werden im Schritt S33 der Geschwindigkeitsbefehl und der Beschleunigungsbefehl der gewonnenen Bewegung vermindert und kehrt der Prozess zum Schritt S25 zurück. Auf diese Weise kann selbst dann, wenn es keinen Bereich für die Wartezeit für die Bewegung gibt, die Laufzeit des Drehzahlminderers über die Zielvorgabe der Laufzeit hinaus durch Lockern einer Bewegung, die gesicherter ist als das Bewertungskriterium, verlängert werden.
-
Der Prozess bzw. Arbeitsablauf der Abänderungseinheit für das Programm 23 ist nicht auf das oben Erläuterte beschränkt, solange als in Fällen, in denen ein Roboter vorliegt, dessen durch die Recheneinheit für die Roboterlast 16 berechnete Laufzeit des Drehzahlminderers kürzer ist als die Zielvorgabe für die Laufzeit, die durch die Benennungseinheit für die Zielvorgabe der Laufzeit 25 benannt ist, wenn eine Wartezeit, die nicht kürzer ist als eine vorgegebene Zeit, durch die Recheneinheit für eine Wartezeit 15 berechnet wird, wird eine Bewegung oberhalb eines Bewertungskriteriums, das durch die Benennungseinheit für ein Bewertungskriterium für einen Drehzahlminderer 26 berechnet wird, aus den Bewegungen vor der Wartezeit, die zur Verringerung des Geschwindigkeitsbefehls und des Beschleunigungsbefehls in der gewonnenen bzw. extrahierten Bewegung gewonnen wird, gewonnen, während, wenn eine Wartezeit, die nicht kürzer als eine vorgegebene Wartezeit ist, von der Recheneinheit für eine Wartezeit 15 nicht berechnet wird, eine sichere (serious) Bewegung oberhalb eines Bewertungskriteriums, das durch die Benennungseinheit für ein Bewertungskriterium des Drehzahlminderers 26 benannt ist, aus der Bewegung einer Roboteranlage zur Verminderung des Geschwindigkeitsbefehls und des Beschleunigungsbefehl in der gewonnenen Bewegung gewonnen wird.
-
9 ist ein Blockdiagramm, das ein anderes abgeändertes Beispiel der Simulationsvorrichtung 100 gemäß der zweiten Ausführungsform darstellt. Der Aufbau der Simulationsvorrichtung der 9 ist vor allem dann geeignet wenn die Energieaufnahme als eine Roboterlast für den Prozess in der Recheneinheit für die Roboterlast 16 gewählt wird und die Simulationsvorrichtung zusätzlich eine Recheneinheit für die Energie 27 und eine Benennungseinheit für ein Bewertungskriterium der Energieaufnahme 28 aufweist.
-
Die Recheneinheit für die Energieaufnahme 27 berechnet die Energieaufnahme eines Roboters. In diesem Fall wird zunächst eine durch die Recheneinheit für eine Motorlast 12 berechnete Motorlast in einen Stromwert umgewandelt. Danach wird die Energieaufnahme unter Verwendung der Motorlast, des Geschwindigkeitsbefehls, des Beschleunigungsbefehls und des umgewandelten Stromwerts berechnet.
-
Die Benennungseinheit für ein Beurteilungskriterium für die Energieaufnahme 28 benennt ein Bewertungskriterium der Energieaufnahme des Roboters. Beispiele für das Bewertungskriterium umfassen die durchschnittliche Energieaufnahme während jeder Bewegung von jedem Roboter.
-
10 ist ein Fließschaltbild, das ein Beispiel eines in der Arbeitseinheit 10 ausgeführten Prozesses darstellt. In 10 wird ein Prozess so ausgeführt, dass die Laufzeit des Drehzahlminderers die Zielvorgabe für die Laufzeit erfüllt. Die gleichen Bezugszeichen sind den gleichen Prozessen wie denen in 7 gegeben.
-
Wenn im Schritt S21 eine Zielvorgabe für eine Laufzeit (Laufzeit des Drehzahlminderers) einer Roboteranlage benannt wird, wird ein Bewertungskriterium für eine Energieaufnahme durch einen Prozess in der Benennungseinheit für ein Bewertungskriterium für die Energieaufnahme im Schritt S41 benannt. Als nächstes wird im Schritt S23 ein zulässiger Bereich für die Wartezeit der Bewegung benannt, wird im Schritt S24 ein hinsichtlich der Zykluszeit verkürzter Prozess unter Berücksichtigung einer Motorlast ausgeführt und wird im Schritt S42 ein Prozess so ausgeführt, dass die Laufzeit des Drehzahlminderers eine Zielvorgabe der Laufzeit erfüllt, zum Beispiel auf die gleiche Weise wie in den Schritten S25 bis S33 in 7. In diesem Fall geht der Prozess, wenn der Schritt S27 von 7 bestätigt wird, zum Schritt S43 weiter.
-
Im Schritt S43 wird ein Bewegungsprogramm ausgeführt und im Schritt S44 wird eine mit Hilfe des Ergebnisses einer Simulation im Schritt S44 bestimmte Motorlast in einen Stromwert mithilfe eines Prozesses in der Recheneinheit für eine Leistung 27 konvertiert. Im Schritt S45 wird die Energieaufnahme von jedem Roboter mit Hilfe eines Prozesses in der Recheneinheit für eine Leistung 27 berechnet. Im Schritt S46 wird bestimmt, ob sich die mit Hilfe des Ergebnisses einer Simulation im Schritt S43 bestimmte Wartezeit für eine Bewegung in dem zulässigen, im Schritt S 23 benannten Bereich befindet oder nicht. Insbesondere wird bestimmt, ob die Wartezeit für eine Bewegung oberhalb der oberen Grenze des zulässigen Bereichs liegt oder nicht. Wenn Schritt S46 negiert wird, geht der Prozess zum Schritt S47 weiter, und wenn der Schritt S46 bestätigt wird, wird der Prozess beendet.
-
Im Schritt S47 wird eine Bewegung, die sicherer bzw. höher bestätigt ist (is more serious) als ein Bewertungskriterium und die über dem Bewertungskriterium liegt, aus Bewegungen gewonnen, die vor Ausgabe eines Wartebefehls für eine Bewegung erfolgten. Das Bewertungskriterium ist ein Bewertungskriterium der im Schritt S41 benannten Energieaufnahme. Im Schritt S47 wird eine Bewegung gewonnen, in der die durchschnittliche Energieaufnahme oberhalb des Bewertungskriteriums liegt. Wenn bestimmt wird, ob die Leistungsaufnahme oberhalb des Bewertungskriteriums liegt oder nicht vor dem Schritt S47 und es bestimmt wird, dass die Energieaufnahme des Roboters nicht über dem Bewertungskriterium liegt, kann die Steuerung beendet werden. Im Schritt S48 werden der Geschwindigkeitsbefehl und der Beschleunigungsbefehl verringert und kehrt der Prozess zum Schritt S43 zurück. Auf diese Weise wird die Energieaufnahme der Roboteranlage vermindert und kann ein optimales Bewegungsprogramm erzeugt werden, in dem die Zykluszeit kurz ist, die Laufzeit des Drehzahlminderers verlängert ist und die Energieaufnahme vermindert ist.
-
Der Prozess bzw. der Arbeitsvorgang in der für die Änderung des Programms 23 ist nicht auf das oben beschriebene beschränkt, solange als, wenn die Wartezeit nicht kürzer als eine vorgegebene Zeit ist, die durch die Recheneinheit für die Wartezeit 15 berechnet wurde, wird eine Bewegung oberhalb des Bewertungskriteriums, das durch die Bewertungseinheit für ein Bewertungskriterium für die Energieaufnahme 28 aus Bewegungen gewonnen, bevor die Wartezeit berechnet wurde, um den Geschwindigkeitsbefehl und den Beschleunigungsbefehl in der gewonnenen Bewegung zu vermindern.
-
Obwohl in der oben erläuterten Ausführungsformen (1) die Simulationsvorrichtung 100 (Arbeitseinheit 10) die Simulationseinheit 11, die Recheneinheit für die Motorlast 12, die Speichereinheit 13, die Recheneinheit für die Ausführungszeit 14, die Recheneinheit für die Wartezeit 15 und die Recheneinheit für die Roboterlast 16 enthält, kann ein Bewegungsprogramm, das die Wartezeit für eine Bewegung berücksichtigt, erzeugt werden, wenn die Simulationsvorrichtung 100 wenigstens die Simulationseinheit 11, die Speichereinheit 13, die Recheneinheit für die Ausführungszeit 14 und die Recheneinheit für die Wartezeit 15 enthält. Daher können die Recheneinheit für eine Motorlast 12 und die Recheneinheit für eine Roboterlast 16 aus der Simulationsvorrichtung 100 fortgelassen werden. Bei der oben erläuterten Ausführungsformen (4) werden der Geschwindigkeitsbefehl und der Beschleunigungsbefehl durch die Abänderungseinheit für das Programm 23 derart verändert, dass sich die in der Speichereinheit 13 gespeicherte Motorlast in dem durch die Benennungseinheit für eine Last 21 benannten zulässigen Bereich der Motorlast befindet, und sich die Wartezeit der Bewegung, die durch die Recheneinheit für die Wartezeit 15 berechnet wird, in dem zulässigen Bereich der Wartezeit für eine Bewegung befindet, die durch die Bedienungseinheit für eine Wartezeit 22 benannt ist. Und zur gleichen Zeit werden der Geschwindigkeitsbefehl und der Beschleunigungsbefehl derart verändert, dass die Zykluszeit der Bewegung der Roboteranlage am kürzesten ist. Ein Prozess, in dem die Zykluszeit der Bewegung durch die Abänderungseinheit für das Programm 23 zur kürzesten gemacht wird, kann jedoch fortgelassen werden. Obwohl in den oben erläuterten abgeänderten Beispielen (6 und 9) ein Bewegungsprogramm, das die Laufzeit des Drehzahlminderers und die Energieaufnahme berücksichtigt, erzeugt wird, kann auch ein Bewegungsprogramm, dass eine andere Roboterlast berücksichtigt, erzeugt werden.
-
Nach der vorliegenden Erfindung wird auf der Basis des Ergebnisses einer Simulation eines Bewegungsprogramms für jeden Roboter eine Wartezeit für eine Bewegung in Übereinstimmung mit einem Wartebefehl für eine Bewegung berechnet. Daher kann ein optimales Bewegungsprogramm, das die Wartezeit für eine Bewegung berücksichtigt, für eine Roboteranlage mit einer Vielzahl von Robotern erzeugt werden.