[go: up one dir, main page]

DE102015004932B4 - Simulationsvorrichtung für mehrere Roboter - Google Patents

Simulationsvorrichtung für mehrere Roboter Download PDF

Info

Publication number
DE102015004932B4
DE102015004932B4 DE102015004932.1A DE102015004932A DE102015004932B4 DE 102015004932 B4 DE102015004932 B4 DE 102015004932B4 DE 102015004932 A DE102015004932 A DE 102015004932A DE 102015004932 B4 DE102015004932 B4 DE 102015004932B4
Authority
DE
Germany
Prior art keywords
unit
movement
robot
time
load
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
DE102015004932.1A
Other languages
English (en)
Other versions
DE102015004932A1 (de
Inventor
Yanxue Liang
Yoshiharu Nagatsuka
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of DE102015004932A1 publication Critical patent/DE102015004932A1/de
Application granted granted Critical
Publication of DE102015004932B4 publication Critical patent/DE102015004932B4/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/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/37Measurements
    • G05B2219/37209Estimate life of gear, drive
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

Simulationsvorrichtung (100), die die Bewegung einer Roboteranlage mit einer Vielzahl von Robotern, die jeweils eine von einem Motor angetriebene Antriebswelle haben, simuliert, wobei die Simulationsvorrichtung umfasst:eine Simulationseinheit (11), die im Wege der Simulation auf der Basis eines Bewegungsprogramms (23) 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 Recheneinheit für eine Motorlast (12), welche eine auf einen Motor in jeder vorbestimmten Zeitperiode wirkende Motorlast basierend auf einem - durch eine Simulationseinheit (11) erhaltenes - Simulationsergebnis berechnet;eine Speichereinheit (13), die in Zeitreihen eine Zeilennummer des Bewegungsprogramms sowie den Geschwindigkeitsbefehl und den zugehörigen Beschleunigungsbefehl bei der Zeilennummer speichert, und zusätzlich Zeitreihen einer durch eine Recheneinheit für eine Motorlast (12) berechneten Motorlast bei der Zeilennummer speichert;eine Recheneinheit für eine Roboterlast (16), welche eine auf einen Roboter wirkende Roboterlast basierend auf einer in der Speichereinheit (13) gespeicherten Motorlast berechnet;eine Recheneinheit für eine Ausführungszeit (14), die die Ausführungszeit des Bewegungsprogramms für jede der in der Speichereinheit (13) gespeicherten Zeilennummern auf der Basis des Ergebnisses einer Simulation berechnet, das von der Simulationseinheit (11) gewonnen wird;eine Recheneinheit für eine Wartezeit (15), die die Wartezeit für eine 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 (14) berechnet wird, errechnet;eine Benennungseinheit für eine Last (21), welche einen zulässigen Bereich der Motorlast benennt;eine Benennungseinheit für eine Wartezeit (22), welche einen zulässigen Bereich einer Wartezeit für eine Bewegung eines Roboters benennt; undeine Abänderungseinheit für das Programm (23), welche einen Geschwindigkeitsbefehl und einen Beschleunigungsbefehl derart abändert, dass die in der Speichereinheit (13) gespeicherte Motorlast in einem zulässigen Bereich einer durch die Benennungseinheit für eine Last (21) benannten Motorlast ist und dass die durch eine Recheneinheit für die Bewegung (15) berechnete Wartezeit für die Bewegung in einem zulässigen Bereich einer durch die Benennungseinheit für die Wartezeit (22) benannten Wartezeit für die Bewegung ist.

Description

  • 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.

Claims (4)

  1. Simulationsvorrichtung (100), die die Bewegung einer Roboteranlage mit einer Vielzahl von Robotern, die jeweils eine von einem Motor angetriebene Antriebswelle haben, simuliert, wobei die Simulationsvorrichtung umfasst: eine Simulationseinheit (11), die im Wege der Simulation auf der Basis eines Bewegungsprogramms (23) 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 Recheneinheit für eine Motorlast (12), welche eine auf einen Motor in jeder vorbestimmten Zeitperiode wirkende Motorlast basierend auf einem - durch eine Simulationseinheit (11) erhaltenes - Simulationsergebnis berechnet; eine Speichereinheit (13), die in Zeitreihen eine Zeilennummer des Bewegungsprogramms sowie den Geschwindigkeitsbefehl und den zugehörigen Beschleunigungsbefehl bei der Zeilennummer speichert, und zusätzlich Zeitreihen einer durch eine Recheneinheit für eine Motorlast (12) berechneten Motorlast bei der Zeilennummer speichert; eine Recheneinheit für eine Roboterlast (16), welche eine auf einen Roboter wirkende Roboterlast basierend auf einer in der Speichereinheit (13) gespeicherten Motorlast berechnet; eine Recheneinheit für eine Ausführungszeit (14), die die Ausführungszeit des Bewegungsprogramms für jede der in der Speichereinheit (13) gespeicherten Zeilennummern auf der Basis des Ergebnisses einer Simulation berechnet, das von der Simulationseinheit (11) gewonnen wird; eine Recheneinheit für eine Wartezeit (15), die die Wartezeit für eine 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 (14) berechnet wird, errechnet; eine Benennungseinheit für eine Last (21), welche einen zulässigen Bereich der Motorlast benennt; eine Benennungseinheit für eine Wartezeit (22), welche einen zulässigen Bereich einer Wartezeit für eine Bewegung eines Roboters benennt; und eine Abänderungseinheit für das Programm (23), welche einen Geschwindigkeitsbefehl und einen Beschleunigungsbefehl derart abändert, dass die in der Speichereinheit (13) gespeicherte Motorlast in einem zulässigen Bereich einer durch die Benennungseinheit für eine Last (21) benannten Motorlast ist und dass die durch eine Recheneinheit für die Bewegung (15) berechnete Wartezeit für die Bewegung in einem zulässigen Bereich einer durch die Benennungseinheit für die Wartezeit (22) benannten Wartezeit für die Bewegung ist.
  2. Simulationsvorrichtung nach Anspruch 1, bei der die Abänderungseinheit für das Programm (23) den Geschwindigkeitsbefehl und den Beschleunigungsbefehl derart abändert, dass eine Zykluszeit der Bewegung der Roboteranlage die kürzeste ist.
  3. Simulationsvorrichtung nach Anspruch 1 oder 2, die ferner umfasst: eine Benennungseinheit für eine Zielvorgabe der Laufzeit (25), die eine Zielvorgabe für die Laufzeit der Roboteranlage benennt, und eine Benennungseinheit für ein Bewertungskriterium für einen Drehzahlminderer (26), welcher ein Bewertungskriterium für die Laufzeit eines Drehzahlminderers, der die Drehzahl des Motors verringert, benennt; wobei die Recheneinheit für eine Roboterlast (16) eine Laufzeit des Drehzahlminderers als die Roboterlast berechnet, und die Abänderungseinheit für das Programm (23), die in den Fällen, in denen ein Roboter vorhanden ist, dessen von der Recheneinheit für eine Roboterlast (16) berechnete Laufzeit des Drehzahlminderers kürzer als die durch die Benennungseinheit für die Zielvorgabe der Laufzeit benannte Zielvorgabe der Laufzeit ist, wenn eine Wartezeit, die nicht kürzer als eine vorgegebene Zeit ist, die durch die Recheneinheit für eine Wartezeit (15) berechnet wird, eine Bewegung oberhalb des Bewertungskriterium, das durch die Benennungseinheit für ein Bewertungskriterium für einen Drehzahlminderer (26) aus Bewegungen vor der Berechnung der Wartezeit gewonnen wurde, benennt, um den Geschwindigkeitsbefehl und den Beschleunigungsbefehl in einer gewonnenen Bewegung zu verringern, und wenn eine Wartezeit, die nicht kürzer als die vorgegebene Zeit ist, nicht durch die Recheneinheit für eine Wartezeit (15) berechnet wird, eine Bewegung deutlich oberhalb des Bewertungskriteriums, das durch die Benennungseinheit für ein Bewertungskriterium für einen Drehzahlminderer (26) benannt ist, aus der Bewegung einer Roboteranlage gewinnt, um den Bewegungsbefehl und den Beschleunigungsbefehl in einer gewonnene Bewegung zu verringern.
  4. Simulationsvorrichtung nach einem der Ansprüche 1 bis 3, die ferner umfasst: eine Recheneinheit für eine Leistung (27), die die Leistungsaufnahme des Roboters auf der Basis der von der Recheneinheit für die Motorlast berechneten Motorlast und des Geschwindigkeitsbefehls berechnet, und eine Benennungseinheit für ein Bewertungskriterium für eine Leistungsaufnahme (28), die ein Bewertungskriterium für die Leistungsaufnahme des Roboters benennt; wobei die Abänderungseinheit für das Programm (23), die, wenn eine Wartezeit nicht kürzer als eine vorgegebene Zeit ist, die durch die Recheneinheit für eine Wartezeit (15) berechnet wird, eine Bewegung oberhalb des Bewertungskriteriums, das durch die Benennungseinheit für ein Bewertungskriterium für die Leistungsaufnahme (28) benannt wird, aus Bewegungen vor der Berechnung der Wartezeit gewinnt, um den Geschwindigkeitsbefehl und den Beschleunigungsbefehl in eine gewonnene Bewegung zu verringern.
DE102015004932.1A 2014-04-25 2015-04-17 Simulationsvorrichtung für mehrere Roboter Active DE102015004932B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-091956 2014-04-25
JP2014091956A JP5877867B2 (ja) 2014-04-25 2014-04-25 複数台のロボットのシミュレーション装置

Publications (2)

Publication Number Publication Date
DE102015004932A1 DE102015004932A1 (de) 2015-10-29
DE102015004932B4 true DE102015004932B4 (de) 2021-04-15

Family

ID=54261836

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015004932.1A Active DE102015004932B4 (de) 2014-04-25 2015-04-17 Simulationsvorrichtung für mehrere Roboter

Country Status (4)

Country Link
US (1) US9475192B2 (de)
JP (1) JP5877867B2 (de)
CN (1) CN105033999B (de)
DE (1) DE102015004932B4 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9821461B1 (en) * 2015-10-09 2017-11-21 X Development Llc Determining a trajectory for a walking robot to prevent motor overheating
JP6453806B2 (ja) 2016-04-26 2019-01-16 ファナック株式会社 製造機械の動作負荷を低減する製造管理装置
US11429105B2 (en) 2016-06-10 2022-08-30 Duke University Motion planning for autonomous vehicles and reconfigurable motion planning processors
WO2018003102A1 (ja) * 2016-06-30 2018-01-04 富士機械製造株式会社 生産プログラム最適化システム及び生産管理システム
JP6392817B2 (ja) * 2016-08-04 2018-09-19 ファナック株式会社 シミュレーション装置
CN106363635B (zh) * 2016-12-01 2018-08-31 广汽本田汽车有限公司 一种机器人运行仿真校准方法及装置
JP6457473B2 (ja) 2016-12-16 2019-01-23 ファナック株式会社 ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法
JP6370971B1 (ja) * 2017-03-03 2018-08-08 ファナック株式会社 寿命評価装置およびロボットシステム
JP6952107B2 (ja) * 2017-03-29 2021-10-20 住友重機械工業株式会社 親機械支援システム、親機械およびサーバ
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
JP6877324B2 (ja) * 2017-11-27 2021-05-26 川崎重工業株式会社 ロボット制御装置及びそれを備えるロボットシステム
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
US11458626B2 (en) 2018-02-05 2022-10-04 Canon Kabushiki Kaisha Trajectory generating method, and trajectory generating apparatus
JP7210201B2 (ja) * 2018-09-21 2023-01-23 キヤノン株式会社 情報処理方法、プログラム、記録媒体、情報処理装置、ロボットシステム、物品の製造方法
TWI822729B (zh) 2018-02-06 2023-11-21 美商即時機器人股份有限公司 用於儲存一離散環境於一或多個處理器之一機器人之運動規劃及其改良操作之方法及設備
EP3769174B1 (de) 2018-03-21 2022-07-06 Realtime Robotics, Inc. Bewegungsplanung eines roboters für verschiedene umgebungen und aufgaben und verbesserter betrieb davon
US12330310B2 (en) 2018-08-23 2025-06-17 Realtime Robotics, Inc. Collision detection useful in motion planning for robotics
JP6806757B2 (ja) 2018-11-16 2021-01-06 ファナック株式会社 動作プログラム作成装置
JP7595401B2 (ja) 2018-11-29 2024-12-06 株式会社日立製作所 自律体システム及びその制御方法
CN113227927A (zh) 2018-12-04 2021-08-06 杜克大学 在具有动态对象环境中促进运动规划的设备、方法和物体
CN113905855B (zh) 2019-04-17 2023-08-25 实时机器人有限公司 运动规划图生成用户界面、系统、方法和规则
EP3977226B1 (de) 2019-06-03 2025-08-06 Realtime Robotics, Inc. Vorrichtung und verfahren zur bewegungsplanung in einer umgebung mit dynamischen objekten
TWI873149B (zh) 2019-06-24 2025-02-21 美商即時機器人股份有限公司 用於多個機械手臂於共用工作空間中之移動規劃系統及方法
JP7368025B2 (ja) 2019-08-23 2023-10-24 リアルタイム ロボティクス, インコーポレーテッド 加速度とジャークの制限を維持しながら速度を最適化するロボットの動作計画
JP7409823B2 (ja) 2019-10-28 2024-01-09 ファナック株式会社 ロボットの寿命推定装置
TWI887329B (zh) 2020-01-22 2025-06-21 美商即時機器人股份有限公司 於多機器人操作環境中之機器人之建置之方法及系統
WO2021188566A1 (en) 2020-03-18 2021-09-23 Realtime Robotics, Inc. Digital representations of robot operational environment, useful in motion planning for robots
US20230286149A1 (en) * 2020-08-20 2023-09-14 Fanuc Corporation Robot control system
JP2022065759A (ja) * 2020-10-16 2022-04-28 セイコーエプソン株式会社 ロボットのパラメーターセットを調整する方法、プログラム、および情報処理装置
US11826910B2 (en) * 2021-05-20 2023-11-28 Carnegie Mellon University Direct drive end-effectors with parallel kinematics
US11845190B1 (en) * 2021-06-02 2023-12-19 Google Llc Injecting noise into robot simulation
US20240335944A1 (en) * 2021-09-01 2024-10-10 Abb Schweiz Ag Method of Controlling Industrial Device Comprising Manipulator, Control System and Industrial Device
TW202428406A (zh) * 2022-09-27 2024-07-16 美商即時機器人股份有限公司 多機器人操作環境中為優化磨損和其他參數所為之機器人的自動規劃設定
JP2024147186A (ja) * 2023-04-03 2024-10-16 川崎重工業株式会社 動作プログラム生成装置および動作プログラム生成方法
JPWO2024218986A1 (de) * 2023-04-21 2024-10-24

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625637A1 (de) * 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
JP2003103491A (ja) * 2001-09-28 2003-04-08 Honda Motor Co Ltd ロボットの相互干渉検証方法および相互干渉表示パターン
JP2007054942A (ja) * 2005-07-25 2007-03-08 Fanuc Ltd ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP2008115623A (ja) * 2006-11-06 2008-05-22 Panahome Corp 補強床構造
JP2009190113A (ja) * 2008-02-13 2009-08-27 Fanuc Ltd ロボットシミュレーション装置
DE102010052253A1 (de) * 2010-11-23 2012-05-24 Kuka Roboter Gmbh Verfahren und Steuermittel zur Steuerung einer Roboteranordnung
US20130282176A1 (en) * 2000-12-28 2013-10-24 C.H.I. Development Mgmt. Ltd. Xxiv, Llc Automation equipment control system
US8639364B2 (en) * 2011-07-13 2014-01-28 KUKA Robotics Corporation Uniform synchronizing robot control and deadlock detection in uniform synchronization

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011680A (ja) 2005-06-30 2007-01-18 Nachi Fujikoshi Corp サイクルタイムシミュレーション装置
JP4829151B2 (ja) 2005-07-25 2011-12-07 ファナック株式会社 ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP4159577B2 (ja) 2005-12-13 2008-10-01 ファナック株式会社 複数のロボット間のインターロック自動設定装置及び自動設定方法
US8108092B2 (en) * 2006-07-14 2012-01-31 Irobot Corporation Autonomous behaviors for a remote vehicle
JP4238256B2 (ja) 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
JP2010115723A (ja) * 2008-11-11 2010-05-27 Seiko Epson Corp ロボット及びロボットシステム
JP4571225B1 (ja) * 2009-05-27 2010-10-27 ファナック株式会社 消費電力推定装置
CA2720886A1 (en) * 2010-11-12 2012-05-12 Crosswing Inc. Customizable virtual presence system
JP2012135821A (ja) 2010-12-24 2012-07-19 Seiko Epson Corp ロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラム
DE102011010505A1 (de) * 2011-02-07 2012-08-09 Dürr Systems GmbH Anpassung der Dynamik zumindest eines Roboters
JP6128767B2 (ja) * 2012-07-05 2017-05-17 キヤノン株式会社 ロボット制御装置、及びロボット制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19625637A1 (de) * 1996-06-26 1998-01-02 Brink Carsten Dipl Ing Ten Kollisionsvermeidung und Trajektorienplanung beim Mehrroboterbetrieb mit Hilfe von Kollisionsbereichen
US20130282176A1 (en) * 2000-12-28 2013-10-24 C.H.I. Development Mgmt. Ltd. Xxiv, Llc Automation equipment control system
JP2003103491A (ja) * 2001-09-28 2003-04-08 Honda Motor Co Ltd ロボットの相互干渉検証方法および相互干渉表示パターン
JP2007054942A (ja) * 2005-07-25 2007-03-08 Fanuc Ltd ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置
JP2008115623A (ja) * 2006-11-06 2008-05-22 Panahome Corp 補強床構造
JP2009190113A (ja) * 2008-02-13 2009-08-27 Fanuc Ltd ロボットシミュレーション装置
DE102010052253A1 (de) * 2010-11-23 2012-05-24 Kuka Roboter Gmbh Verfahren und Steuermittel zur Steuerung einer Roboteranordnung
US8639364B2 (en) * 2011-07-13 2014-01-28 KUKA Robotics Corporation Uniform synchronizing robot control and deadlock detection in uniform synchronization

Also Published As

Publication number Publication date
US9475192B2 (en) 2016-10-25
CN105033999B (zh) 2016-10-12
JP2015208811A (ja) 2015-11-24
DE102015004932A1 (de) 2015-10-29
US20150306768A1 (en) 2015-10-29
JP5877867B2 (ja) 2016-03-08
CN105033999A (zh) 2015-11-11

Similar Documents

Publication Publication Date Title
DE102015004932B4 (de) Simulationsvorrichtung für mehrere Roboter
DE3587034T3 (de) Verfahren und Einrichtung zur Steuerung automatischer Geräte.
DE102016008576B4 (de) Robotersimulationsvorrichtung für ein menschliches Eingreifen umfassendes Robotersystem
EP2453326B1 (de) Verfahren und System zur Bedienung einer Maschine aus der Automatisierungstechnik
EP2952988B1 (de) Verfahren zur Berechnung einer optimierten Trajektorie
DE102017003943A1 (de) Zellensteuervorrichtung zum Optimieren von Bewegungen eines Produktionssystems, das Industriemaschinen umfasst
EP1385071A2 (de) Verfahren zum Austausch von Daten zwischen Steuerungen von Maschinen, insbesondere von Robotern
EP2796952B1 (de) Numerische Steuerung mit Möglichkeit zur Änderung des Teileprogramms
WO2019020818A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
DE102019118637A1 (de) Automatische pfadgenerierungsvorrichtung
DE102016013434A1 (de) Folgesteuerprogrammiervorrichtung, Folgesteuerprogrammierverfahren und Arbeitssystem
DE102019002644A1 (de) Steuerung und Steuerverfahren
DE102016000850B4 (de) Steuern eines Roboterverbands
EP0170924A1 (de) Verfahren zur Regleroptimierung für Antriebe
DE102023113772A1 (de) Roboter-Steuersystem
EP3367185A1 (de) Antriebssystem und dessen beurteilung
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
DE102019128583B4 (de) Optimierungsmodi für Steuerprogramme eines Robotermanipulators
DE102019213676B3 (de) Robotersteuerung
EP2574996A1 (de) Verfahren zur Ermittlung eines Teillastzustandes einer Anlage
EP4018275A1 (de) System und verfahren zur steuerung zumindest einer maschine, insbesondere eines kollektivs von maschinen
DE102007007601A1 (de) Vorrichtung zur Herstellung eines Steuerprogramms aus Funktionsmodulen, mehrachsige Maschine, Verfahren und graphische Benutzerschnittstelle
DE102017100240B4 (de) Bewegungssteuerungsvorrichtung
DE102022112439B3 (de) Sicherer Roboter
WO2020089240A1 (de) Verfahren zum konfigurieren eines antriebssystems für eine technische einrichtung

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final