DE102018118330A1 - Simulationseinrichtung und Simulationsverfahren für Robotersystem - Google Patents

Simulationseinrichtung und Simulationsverfahren für Robotersystem Download PDF

Info

Publication number
DE102018118330A1
DE102018118330A1 DE102018118330.5A DE102018118330A DE102018118330A1 DE 102018118330 A1 DE102018118330 A1 DE 102018118330A1 DE 102018118330 A DE102018118330 A DE 102018118330A DE 102018118330 A1 DE102018118330 A1 DE 102018118330A1
Authority
DE
Germany
Prior art keywords
virtual robot
candidate
candidates
virtual
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102018118330.5A
Other languages
English (en)
Other versions
DE102018118330B4 (de
Inventor
Toshiya Takeda
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 DE102018118330A1 publication Critical patent/DE102018118330A1/de
Application granted granted Critical
Publication of DE102018118330B4 publication Critical patent/DE102018118330B4/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

Es wird eine Simulationseinrichtung (1) für ein Robotersystem bereitgestellt, die Folgendes umfasst: eine Eingabeeinheit (2), die eine Eingabe der Struktur eines virtuellen Roboters erlaubt; eine Speichereinheit (3), die die Strukturen und Elemente von Virtueller-Roboter-Kandidaten und Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang miteinander speichert; eine Differenzextraktionseinheit (4), die die Struktur der Virtueller-Roboter-Kandidaten ausliest, die dem eingegebenen virtuellen Roboter am nächsten kommen und die Differenz extrahiert; eine Virtueller-Roboter-Erzeugungseinheit (5), die die Einstellung des zugehörigen Virtueller-Roboter-Steuerung-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit den Elementen der Virtueller-Roboter-Kandidaten ausliest, die in der extrahierten Differenz umfasst sind, und die Einstellung für jedes der Elemente hinzufügt oder löscht, um neue Kandidaten, einen neuen virtuellen Roboter und eine neue Virtueller-Roboter-Steuerung zu erzeugen; und eine Kandidatenaktualisierungseinheit (6), die die Strukturen der neuen Virtueller-Roboter-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten speichert.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft Simulationseinrichtungen und Simulationsverfahren für Robotersysteme.
  • ALLGEMEINER STAND DER TECHNIK
  • Es sind Simulationseinrichtungen für Robotersysteme bekannt, bei denen eine Simulation mit einem dreidimensionalen Modell eines Roboters durchgeführt wird, der in einem virtuellen Raum platziert ist (siehe z. B. Patentliteratur 1),.
  • ENTGEGENHALTUNGSLISTE, PATENTLITERATUR
  • PTL 1: Japanische nicht geprüfte Patentanmeldung Veröffentlichung Nummer 2016-129915
  • KURZDARSTELLUNG DER ERFINDUNG
  • TECHNISCHE AUFGABE
  • Um jedoch eine Simulation mit einem virtuellen Roboter auszuführen, ist es erforderlich, eine Virtueller-Roboter-Steuerung zu generieren, was erfordert, eine große Anzahl von Einstellungen vorzunehmen, ähnlich wie bei einer echten Robotersteuerung. Somit gibt es einen Nachteil, dass es Zeit kostet, eine Virtueller-Roboter-Steuerung für die Simulation zu erzeugen.
  • Die vorliegende Erfindung wurde im Hinblick auf die zuvor beschriebene Situation gemacht, und es ist eine Aufgabe, eine Simulationseinrichtung und ein Simulationsverfahren für ein Robotersystem bereitzustellen, die es ermöglichen, die Zeit zu reduzieren, die für das Erzeugen einer Virtueller-Roboter-Steuerung für die Simulation benötigt wird.
  • LÖSUNG DER AUFGABE
  • Um die obige Aufgabe zu erreichen, sieht die vorliegende Erfindung die folgenden Lösungen vor.
  • Die vorliegende Erfindung stellt in einem Aspekt davon eine Simulationseinrichtung für ein Robotersystem bereit, wobei die Simulationseinrichtung Folgendes umfasst: eine Eingabeeinheit, die die Eingabe der Struktur eines virtuellen Roboters, der simuliert werden soll, erlaubt; eine Speichereinheit, die die Strukturen und Elemente der Virtueller-Roboter-Kandidaten und Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang miteinander speichert; eine Differenzextraktionseinheit, die aus der Speichereinheit die Struktur eines der Virtueller-Roboter-Kandidaten ausliest, die der Struktur des virtuellen Roboters am nächsten kommt, die über die Eingabeeinheit eingegeben wird, und die die Differenz zwischen der ausgelesenen Struktur des Virtueller-Roboter-Kandidaten und der Struktur des virtuellen Roboters, der über die Eingabeeinheit eingegeben wird, extrahiert; eine Virtueller-Roboter-Erzeugungseinheit, die aus der Speichereinheit die Einstellung des Virtueller-Roboter-Steuerung-Kandidaten ausliest, die mit der Struktur des am nächsten kommenden Virtueller-Roboter-Kandidaten in Zusammenhang steht, und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten, die mit den Elementen der Virtueller-Roboter-Kandidaten im Zusammenhang stehen, die in der Differenz umfasst sind, die von der Differenzextraktionseinheit extrahiert wird, und die die Einstellung des dazugehörigen Virtueller-Roboter-Steuerung-Kandidaten für jedes der Elemente der Virtueller-Roboter-Kandidaten hinzufügt oder löscht, die in der Differenz zu oder von der Einstellung des am nächsten kommenden Virtueller-Roboter-Steuerung-Kandidaten umfasst sind, um die Strukturen neuer Virtueller-Roboter-Kandidaten und Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten, die im Zusammenhang damit stehen, und die Struktur eines neuen virtuellen Roboters und eine Einstellung einer Virtueller-Roboter-Steuerung, die damit im Zusammenhang steht, zu erzeugen; und eine Kandidatenaktualisierungseinheit, die in der Speichereinheit die Strukturen der neuen Virtueller-Roboter-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit speichert, die von der Virtueller-Roboter-Erzeugungseinheit erzeugt werden.
  • Gemäß diesem Aspekt wird, wenn die Struktur eines virtuellen Roboters, der simuliert werden soll, mittels der Eingabeeinheit eingegeben wird, die Struktur eines Virtueller-Roboter-Kandidaten ausgelesen, die der eingegebenen Struktur des virtuellen Roboters aus den Strukturen der Virtueller-Roboter-Kandidaten, die in der Speichereinheit gespeichert sind, am nächsten kommt. Dann extrahiert die Differenzextraktionseinheit die Differenz zwischen der ausgelesenen Struktur des Virtueller-Roboter-Kandidaten und der eingegebenen Struktur des virtuellen Roboters. Es ist möglich, eine Einstellung einer gewünschten Virtueller-Roboter-Steuerung zu erhalten, indem die Einstellungen im Zusammenhang mit den Elementen, die in der extrahierten Differenz zu oder von der Einstellung des Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit dem am nächsten kommenden Virtueller-Roboter-Kandidaten umfasst sind, hinzugefügt oder gelöscht werden.
  • In diesem Fall fügt die Virtueller-Roboter-Erzeugungseinheit für jedes der in der Differenz, die von der Differenzextraktionseinheit extrahiert wird, umfassten Elemente die Einstellung im Zusammenhang mit dem Element der ausgelesenen Einstellung des Virtueller-Roboter-Steuerung-Kandidaten hinzu bzw. löscht sie aus der ausgelesenen Einstellung, wodurch ein Virtueller-Roboter-Kandidat und eine Einstellung eines Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit erzeugt wird, und die Kandidatenaktualisierungseinheit aktualisiert die Information, die in der Speichereinheit gespeichert ist.
  • Das heißt, in dem Fall, in dem sich die Struktur des virtuellen Roboters, der simuliert werden soll, von der Struktur des am nächsten kommenden Virtueller-Roboter-Kandidaten, die in der Speichereinheit gespeichert ist, unterscheidet, werden Elemente identifiziert, die dem Virtueller-Roboter-Kandidaten hinzugefügt oder daraus gelöscht werden sollen, um die eingegebene Struktur zu erzeugen, und die identifizierten Elemente werden als einzelne Elemente der Einstellung des Virtueller-Roboter-Steuerung-Kandidaten hinzugefügt bzw. daraus gelöscht, die mit dem ausgelesenen Virtueller-Roboter-Kandidaten im Zusammenhang steht, wodurch die Struktur eines neuen Virtueller-Roboter-Kandidaten und eine Einstellung eines Virtueller-Roboter-Steuerung-Kandidaten erzeugt werden, die in der Speichereinheit gespeichert werden.
  • Entsprechend ist es in dem Fall, in dem eine Vielzahl von Elementen in der Differenz umfasst sind, möglich, eine entsprechende Anzahl von Strukturen neuer Virtueller-Roboter-Kandidaten und Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten, die damit im Zusammenhang stehen, in der Speichereinheit zu speichern. Somit ist es möglich, die Wahrscheinlichkeit zu erhöhen, dass ein Virtueller-Roboter-Kandidat mit geringerer Differenz in dem Fall ausgelesen wird, in dem eine Simulation bei einer späteren Gelegenheit neu für einen virtuellen Roboter ausgeführt wird. Dies dient dazu, die Zeit zu verringern, die zum Erzeugen einer Virtueller-Roboter-Steuerung benötigt wird, die simuliert werden soll.
  • Gemäß dem vorstehenden Aspekt kann die Speichereinheit für jedes der Elemente der Virtueller-Roboter-Kandidaten einen Zeitaufwand zum Hinzufügen oder Löschen einer Einstellung, die mit diesem Element im Zusammenhang steht, speichern, und die Differenzextraktionseinheit kann aus der Speichereinheit als den am nächsten kommenden Virtueller-Roboter-Kandidaten einen Virtueller-Roboter-Kandidaten mit dem geringsten Gesamtzeitaufwand zum Erhalten der Einstellung der Virtueller-Roboter-Steuerung auslesen, die im Zusammenhang mit der Struktur des mittels der Eingabeeinheit eingegebenen virtuellen Roboters steht.
  • Entsprechend ist es möglich, in dem Fall, in dem ein virtueller Roboter, der simuliert werden soll, basierend auf den Virtueller-Roboter-Kandidaten, die in der Speichereinheit gespeichert sind, erzeugt wird, eine Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang damit mit dem geringsten Zeitaufwand zu erzeugen.
  • Gemäß dem obigen Aspekt kann die Differenzextraktionseinheit für jedes der Elemente der Virtueller-Roboter-Kandidaten, die in der Speichereinheit gespeichert sind, den Zeitaufwand für das Hinzufügen des Elements, das in der Speichereinheit im Zusammenhang mit dem Element gespeichert ist, in dem Fall hinzufügen, in dem das Element in dem virtuellen Roboter, der mittels der Eingabeeinheit eingegeben wird, umfasst ist, kann den Zeitaufwand für das Löschen des Elements, das in der Speichereinheit im Zusammenhang mit dem Element gespeichert ist, in dem Fall subtrahieren, in dem das Element nicht in dem virtuellen Roboter, der mittels der Eingabeeinheit eingegeben wird, umfasst ist, und kann den Virtueller-Roboter-Kandidaten mit dem höchsten Wert des Berechnungsergebnisses als den am nächsten kommenden Virtueller-Roboter-Kandidaten auslesen.
  • Entsprechend ist es möglich, die Berechnungsergebnisse als zeitliche Abstände zum Erzeugen des virtuellen Roboters, der simuliert werden soll, aus den in der Speichereinheit gespeicherten Virtueller-Roboter-Kandidaten zu nutzen. Indem der Virtueller-Roboter-Kandidat mit dem höchsten Wert des Berechnungsergebnisses als der am nächsten kommende Virtueller-Roboter-Kandidat verwendet wird, ist es möglich, eine Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang damit mit dem geringsten Zeitaufwand zu erzeugen.
  • Gemäß dem obigen Aspekt kann die Differenzextraktionseinheit die Zeitaufwände aufsummieren, die in der Speichereinheit im Zusammenhang mit den einzelnen Elementen, die in der Differenz umfasst sind, gespeichert sind, wenn die Einstellungen im Zusammenhang mit diesen Elementen hinzugefügt oder gelöscht werden, und kann den Virtueller-Roboter-Kandidaten mit dem geringsten Wert des Berechnungsergebnisses als den am nächsten kommenden Virtueller-Roboter-Kandidaten verwenden.
  • Entsprechend ist es möglich, die Berechnungsergebnisse als die Zeitaufwände zum Hinzufügen oder Löschen aller Einstellungen zu nutzen, die im Zusammenhang mit den in der Differenz umfassten Elementen stehen. Indem der Virtueller-Roboter-Kandidat mit dem geringsten Wert des Berechnungsergebnisses als der am nächsten kommende Virtueller-Roboter-Kandidat verwendet wird, ist es möglich, eine Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang damit mit dem geringsten Zeitaufwand zu erzeugen.
  • Gemäß dem obigen Aspekt kann die Simulationseinrichtung überdies Folgendes umfassen: eine Verwendungshäufigkeitszähleinheit, die die Verwendungshäufigkeit eines Virtueller-Roboter-Kandidaten jedes Mal inkrementiert, wenn der Virtueller-Roboter-Kandidat von der Differenzextraktionseinheit als der am nächsten kommende Virtueller-Roboter-Kandidat ausgelesen wird; und eine Speicherkapazitätsdetektionseinheit, die die verbleibende Kapazität der Speichereinheit detektiert, die Kandidatenaktualisierungseinheit kann aus der Speichereinheit die Struktur eines Virtueller-Roboter-Kandidaten löschen, die einem Virtueller-Roboter-Kandidaten mit der größten Verwendungshäufigkeit nahe kommt, und die Einstellung des Kandidaten der Virtueller-Roboter-Steuerung im Zusammenhang damit in dem Fall löschen, in dem die verbleibende Kapazität, die von der Speicherkapazitätsdetektionseinheit detektiert wird, geringer ist als ein vorbestimmter Schwellwert.
  • Da es möglich ist, den virtuellen Roboter, der dem Virtueller-Roboter-Kandidaten mit der größten Verwendungshäufigkeit nahe kommt, aus dem Virtueller-Roboter-Kandidaten mit der größten Verwendungshäufigkeit zu erzeugen, besteht entsprechend keine Notwendigkeit, beide zu speichern. Indem der nahe kommende virtuelle Roboter gelöscht wird, ist es möglich, die verbleibende Kapazität der Speichereinheit wirksam zu erhöhen.
  • Gemäß dem obigen Aspekt kann die Kandidatenaktualisierungseinheit jedes Mal, wenn die Virtueller-Roboter-Erzeugungseinheit die Struktur eines neuen Virtueller-Roboter-Kandidaten und eine Einstellung eines Virtueller-Roboter-Steuerung-Kandidaten, die damit im Zusammenhang steht, erzeugt, die Struktur und die Einstellung in der Speichereinheit speichern.
  • Entsprechend kann die Kandidatenaktualisierungseinheit in der Speichereinheit nacheinander die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten speichern, die von der Virtueller-Roboter-Erzeugungseinheit während des Prozesses des Erzeugens einer neuen Virtueller-Roboter-Steuerung, die simuliert werden soll, erzeugt werden.
  • Gemäß dem obigen Aspekt kann die Kandidatenaktualisierungseinheit jedes Mal, wenn die Virtueller-Roboter-Erzeugungseinheit Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten erzeugt, die mit den Strukturen einer vorbestimmten Anzahl von neuen Virtueller-Roboter-Kandidaten im Zusammenhang steht, die Strukturen und die Einstellungen in der Speichereinheit speichern.
  • Entsprechend werden Einstellungen in der Speichereinheit jedes Mal gespeichert, wenn die Virtueller-Roboter-Erzeugungseinheit die vorbestimmte Anzahl von Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten während des Prozesses des Erzeugens einer neuen Virtueller-Roboter-Steuerung, die simuliert werden soll, erzeugt, was dazu dient, die zum Speichern erforderliche Zeit einzusparen.
  • Gemäß dem obigen Aspekt kann die Kandidatenaktualisierungseinheit die vorbestimmte Anzahl gemäß einer erforderlichen Geschwindigkeit für ein Abspeichern in der Speichereinheit oder der Informationsmenge, die in der Speichereinheit gespeichert werden soll, ändern.
  • Entsprechend wird die Anzahl der Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten, die in einem Durchgang gespeichert werden, in dem Fall erhöht, dass die erforderliche Geschwindigkeit zum Speichern in der Speichereinheit niedrig ist, während die Anzahl in dem Fall, dass die erforderliche Geschwindigkeit hoch ist, verringert wird, was es ermöglicht, Fluktuationen in der erforderlichen Speichergeschwindigkeit zu verhindern. In Anbetracht dessen, dass das Speichern mehr Zeit in Anspruch nimmt, wenn sich die Informationsmenge erhöht, kann die Anzahl von Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten, die in einem Durchgang gespeichert werden, in Abhängigkeit von der Informationsmenge erhöht oder verringert werden, was es auch ermöglicht, Fluktuationen in der zum Speichern erforderlichen Geschwindigkeit zu verhindern.
  • Die vorliegende Erfindung sieht gemäß einem anderen Aspekt davon ein Simulationsverfahren für ein Robotersystem vor, wobei das Simulationsverfahren Folgendes umfasst: einen Eingabeschritt, bei dem eine Eingabe der Struktur eines virtuellen Roboters, der simuliert werden soll, erlaubt wird; einen Differenzextraktionsschritt, bei dem aus einer Speichereinheit die Struktur eines der Virtueller-Roboter-Kandidaten ausgelesen wird, die der Struktur des virtuellen Roboters am nächsten kommt, der in dem Eingabeschritt eingegeben wird, und die Differenz zwischen der ausgelesenen Struktur des Virtueller-Roboter-Kandidaten und der Struktur des virtuellen Roboters, die in dem Eingabeschritt eingegeben wird, extrahiert wird; einen Virtueller-Roboter-Erzeugungsschritt, bei dem aus der Speichereinheit Folgendes ausgelesen wird: die Einstellung des Virtueller-Roboter-Steuerung-Kandidaten, die im Zusammenhang mit der Struktur des am nächsten kommenden Virtueller-Roboter-Kandidaten steht, und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten, die im Zusammenhang mit Elementen der Virtueller-Roboter-Kandidaten stehen, die in der in dem Differenzextraktionsschritt extrahierten Differenz umfasst sind, und bei dem die Einstellung des dazugehörigen Virtueller-Roboter-Steuerung-Kandidaten für jedes der Elemente des Virtueller-Roboter-Kandidaten, die in der Differenz zu oder von der Einstellung des am nächsten kommenden Virtueller-Roboter-Steuerung-Kandidaten umfasst sind, hinzugefügt oder gelöscht wird, um die Strukturen der neuen Virtueller-Roboter-Kandidaten und die Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit und die Struktur eines neuen virtuellen Roboters und eine Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang damit zu erzeugen; und einen Kandidatenaktualisierungsschritt, bei dem in der Speichereinheit die Strukturen der neuen Virtueller-Roboter-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit gespeichert werden, die in dem Virtueller-Roboter-Erzeugungsschritt erzeugt werden.
  • Gemäß dem obigen Aspekt kann die Speichereinheit für jedes der Elemente der Virtueller-Roboter-Kandidaten einen Zeitaufwand für das Hinzufügen oder Löschen einer Einstellung im Zusammenhang mit diesem Element speichern, und in dem Differenzextraktionsschritt kann ein Virtueller-Roboter-Kandidat mit dem geringsten Gesamtzeitaufwand zum Erhalten der Einstellung der Virtueller-Roboter-Steuerung im Zusammenhang mit der Struktur des virtuellen Roboters, der in dem Eingabeschritt eingegeben wird, als der am nächsten kommende Virtueller-Roboter-Kandidat aus der Speichereinheit ausgelesen werden.
  • VORTEILHAFTE WIRKUNGEN DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung wird ein Vorteil gewährt, der darin besteht, dass es möglich ist, die Zeit zu verringern, die zum Erzeugen einer Virtueller-Roboter-Steuerung, die simuliert werden soll, erforderlich ist.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Simulationseinrichtung für ein Robotersystem gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
    • 2 ist eine Grafik, die ein Beispiel von Informationen zeigt, die in einer Speichereinheit gespeichert sind, die in der Simulationseinrichtung von 1 umfasst ist.
    • 3 ist ein Flussdiagramm zum Erklären eines Simulationsverfahrens, das die Simulationseinrichtung von 1 einsetzt.
    • 4 ist ein Flussdiagramm zum Erklären eines Prozesses des Bestimmens eines am nächsten kommenden Virtueller-Roboter-Kandidaten in dem Flussdiagramm von 3.
    • 5 ist ein Flussdiagramm zum Erklären eines Prozesses des Berechnens eines Auswertungswerts von 4.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Eine Simulationseinrichtung 1 für ein Robotersystem gemäß einer Ausführungsform der vorliegenden Erfindung wird nachfolgend mit Bezug auf die Zeichnungen beschrieben.
  • Das Robotersystem umfasst einen Roboter einer beliebigen Form und eine Robotersteuerung, die den Roboter steuert.
  • Die Simulationseinrichtung 1 für ein Robotersystem gemäß dieser Ausführungsform ist eine Einrichtung, die einen virtuellen Roboter, der aus einem dreidimensionalen Modell gebildet sind, das einen Roboter simuliert, der simuliert werden soll, in einem virtuellen Raum platziert, der unter Verwendung eines Computers realisiert wird, der eine Virtueller-Roboter-Steuerung erzeugt, die eine Robotersteuerung auf dem Computer simuliert, und der den virtuellen Roboter mittels der Virtueller-Roboter-Steuerung steuert, um den Betrieb des Roboters auf einem Bildschirm des Computers zu simulieren.
  • Wie in 1 gezeigt, umfasst die Simulationseinrichtung 1 eine Eingabeeinheit 2, die es einem Bediener erlaubt, die Struktur eines virtuellen Roboters, der simuliert werden soll (nachfolgend auch als eine Eingabestruktur bezeichnet), einzugeben, eine Speichereinheit 3, die die Strukturen von Virtueller-Roboter-Kandidaten und die Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang miteinander speichert, eine Differenzextraktionseinheit 4, die die Struktur eines Virtueller-Roboter-Kandidaten (nachfolgend auch als eine Basisstruktur bezeichnet) ausliest, die der Eingabestruktur aus der Speichereinheit 3 am nächsten kommt, und die Differenz der Basisstruktur zu der Eingabestruktur extrahiert, eine Virtueller-Roboter-Erzeugungseinheit 5, die Elemente hinzufügt oder löscht, die in der extrahierten Differenz zu oder von der Basisstruktur umfasst sind, um einen virtuellen Roboter und eine Virtueller-Roboter-Steuerung zu erzeugen, eine Kandidatenaktualisierungseinheit 6, die den erzeugten virtuellen Roboter und die erzeugte Virtueller-Roboter-Steuerung in der Speichereinheit 3 als einen Virtueller-Roboter-Kandidaten und einen Virtueller-Roboter-Steuerung-Kandidaten speichert (zwischenspeichert), und eine Simulationsausführeinheit 7, die die Simulation ausführt, indem sie den erzeugten virtuellen Roboter und die erzeugte Virtueller-Roboter-Steuerung verwendet.
  • Wie in 2 gezeigt, speichert die Speichereinheit 3 die Strukturen und Elemente von Virtueller-Roboter-Kandidaten und die Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang miteinander. Neben den Strukturen von virtuellen Robotern, die in der Vergangenheit erzeugt werden, werden auch einzelne Elemente zum Erzeugen von Virtueller-Roboter-Kandidaten als die Strukturen und Elemente der Virtueller-Roboter-Kandidaten gespeichert.
  • In dem Beispiel, das in 2 gezeigt ist, werden die Strukturen ABCD, ACDE und AEF der Virtueller-Roboter-Kandidaten, die in der Vergangenheit erzeugt werden, und einzelne Elemente A, B, C, D usw. einzeln im Zusammenhang mit den Einstellungen X1, X2, usw. der Virtueller-Roboter-Steuerung-Kandidaten dafür gespeichert.
  • Die Struktur ABCD eines Virtueller-Roboter-Kandidaten ist eine Kombination der individuellen Elemente A, B, C und D. Beispiele der einzelnen Elemente umfassen den Produktnamen des Roboters, den Produktnamen einer zusätzlichen Einrichtung, zum Beispiel einer Servopistole, das Übersetzungsverhältnis, die Beschleunigung, den Betriebsbereich und so weiter.
  • Jede der Einstellungen X1, X2 usw. der Virtueller-Roboter-Steuerung-Kandidaten umfasst ein oder mehrere Einstellungselemente.
  • Die Speichereinheit 3 speichert im Zusammenhang mit den Elementen A, B, C, D usw. von Virtueller-Roboter-Kandidaten Zeitaufwände t11, t21, t31, t41 usw. für das Hinzufügen dieser Elemente A, B, C, D usw. und Zeitaufwände t12, t22, t32, t42 usw. für das Löschen dieser Elemente A, B, C, D usw.
  • Die Differenzextraktionseinheit 4 ist ausgestaltet, eine Vielzahl von Basisstrukturen aus der Speichereinheit 3 auszulesen, wenn eine Eingabestruktur von der Eingabeeinheit 2 eingegeben wird, um die Differenzen zwischen der Eingabestruktur und den Basisstrukturen einzeln zu extrahieren und um Auswertungswerte zu berechnen, die Zeitaufwände für das Erzeugen der Eingabestruktur mittels Hinzufügen oder Löschen der einzelnen Differenzen zu den einzelnen Basisstrukturen abbilden. Der Zeitaufwand für das Erzeugen der Eingabestruktur umfasst die Zeit, die zum Erzeugen eines dreidimensionalen Modells eines virtuellen Roboters benötigt wird, indem Virtueller-Roboter-Kandidaten, die in der Speichereinheit 3 gespeichert sind, kombiniert werden, und die Zeit, die zum Erzeugen der Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang mit dem virtuellen Roboter benötigt wird.
  • Beispielsweise in dem Fall, in dem die Eingabestruktur ABDEF ist, werden die Basisstrukturen ABCD, ACDE und AEF aus der Speichereinheit 3 ausgelesen, und die einzelnen Differenzen davon, Y1:(-C+EF), Y2:(-C+BF) und Y3:(+BD) werden extrahiert. Hier bezeichnet - (Minuszeichen) das Löschen eines Elements und + (Pluszeichen) bezeichnet das Hinzufügen eines Elements.
  • Der Auswertungswert für jeden der Virtueller-Roboter-Kandidaten wird beispielsweise berechnet, indem die Zeitaufwände für das Hinzufügen der Elemente des Virtueller-Roboter-Kandidaten aufsummiert werden, die in der Eingabestruktur umfasst sind, und die Zeitaufwände für das Löschen der Elemente des Virtueller-Roboter-Kandidaten subtrahiert werden, die nicht in der Eingabestruktur umfasst sind. Dann wird der Virtueller-Roboter-Kandidat, der den höchsten Auswertungswert aufweist, aus der Speichereinheit 3 als ein Virtueller-Roboter-Kandidat ausgelesen, der der Eingabestruktur am nächsten kommt.
  • In dem Fall des obigen Beispiels wird ein Auswertungswert Z1 wie folgt berechnet, da die Basisstruktur ABCD Elemente A, B und D umfasst, die in der Eingabestruktur ABDEF umfasst sind, und ein Element C umfasst, das nicht in der Eingabestruktur ABDEF umfasst ist. Z 1 = t 11 + t 21 + t 41 t 32
    Figure DE102018118330A1_0001
  • Des Weiteren wird ein Auswertungswert Z2 wie folgt berechnet, da die Basisstruktur ACDE Elemente A, D und E umfasst, die in der Eingabestruktur ABDEF umfasst sind, und ein Element C umfasst, das nicht in der Eingabestruktur ABDEF umfasst ist. Z2 = t 11 + t4 1 + t5 1 t 32
    Figure DE102018118330A1_0002
  • Des Weiteren wird ein Auswertungswert Z3 wie folgt berechnet, da die Basisstruktur AEF Elemente A, E und F umfasst, die in der Eingabestruktur ABDEF umfasst sind, und nicht ein beliebiges Element umfasst, das in der Eingabestruktur ABDEF nicht enthalten ist. Z3 = t 11 + t5 1 + t6 1
    Figure DE102018118330A1_0003
  • Dann werden die Größen der Auswertungswerte Z1, Z2 und Z3 miteinander verglichen, und die Basisstruktur, die den höchsten Auswertungswert aufweist, wird aus der Speichereinheit 3 als ein Virtueller-Roboter-Kandidat ausgelesen, die der Eingabestruktur am nächsten kommt.
  • Die Virtueller-Roboter-Erzeugungseinheit 5 verwendet den Virtueller-Robot-Kandidaten, der der Eingabestruktur am nächsten kommt, die von der Differenzextraktionseinheit 4 aus der Speichereinheit 3 wie zuvor beschrieben ausgelesen wird, als eine Basisstruktur und fügt nacheinander die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit den Elementen, die die Differenz zu der Eingabestruktur bilden, hinzu bzw. löscht die Einstellungen, wodurch eine Virtueller-Roboter-Steuerung erzeugt wird, die für die Eingabestruktur geeignet ist.
  • In diesem Fall ist die Virtueller-Roboter-Erzeugungseinheit 5 ausgestaltet, Virtueller-Roboter-Steuerung-Kandidaten zu erzeugen, bei denen die einzelnen Elemente, die in der Differenz umfasst sind, eins nach dem anderen in dem Prozess des Erzeugens einer Virtuellen-Roboter-Steuerung hinzugefügt oder gelöscht werden. Die Kandidatenaktualisierungseinheit 6 ist ausgestaltet, jeden der Virtueller-Roboter-Steuerung-Kandidaten bei, die von der Virtueller-Roboter-Erzeugungseinheit 5 erzeugt werden, deren Erzeugen in der Speichereinheit 3 zu speichern.
  • Beispielsweise in dem Fall, in dem die Basisstruktur ACDE aus der Speichereinheit 3 als ein Virtueller-Roboter-Kandidat ausgelesen wird, der der Eingabestruktur in dem obigen Beispiel am nächsten kommt, wird Folgendes einzeln erzeugt: eine Struktur ABCDE, in der das Element B, das in der Differenz Y2 zu der Eingabestruktur umfasst ist, hinzugefügt wird, eine Struktur ABDE, in der das Element C, das in der Differenz Y2 umfasst ist, gelöscht wird, und eine Struktur ABDEF, in der das Element F, das in der Differenz Y2 umfasst ist, hinzugefügt wird. Des Weiteren wird hinsichtlich der Einstellung X2 für den Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit der Basisstruktur ACDE die Einstellung X5 im Zusammenhang mit dem Element B hinzugefügt, die Einstellung X6 im Zusammenhang mit dem Element C gelöscht und die Einstellung X9 im Zusammenhang mit dem Element F hinzugefügt, um Virtueller-Roboter-Steuerung-Kandidaten einzeln zu erzeugen. Dann werden diese Strukturen und Virtueller-Roboter-Steuerung-Kandidaten in der Speichereinheit 3 gespeichert.
  • Die Kandidatenaktualisierungseinheit 6 ist ausgestaltet, ein einzelnes Element zusammen mit einem Zeitaufwand für das Hinzufügen oder Löschen des Elements in der Speichereinheit 3 in dem Fall zu speichern, in dem der Zeitaufwand nicht in der Speichereinheit 3 gespeichert ist.
  • Ein Simulationsverfahren, das die derartig ausgestaltete Simulationseinrichtung 1 für ein Robotersystem gemäß dieser Ausführungsform verwendet, wird nachfolgend beschrieben.
  • Wie in 3 gezeigt, wird das Simulationsverfahren für ein Robotersystem gemäß dieser Ausführungsform gestartet, wenn ein Bediener die Struktur eines virtuellen Roboters, der simuliert werden soll (Eingabestruktur), mittels der Eingabeeinheit 2 eingibt (Eingabeschritt S1).
  • Bei Eingabe der Eingabestruktur liest die Differenzextraktionseinheit 4 einen Virtueller-Roboter-Kandidaten aus der Speichereinheit 3 aus, der der Eingabestruktur am nächsten kommt (Schritt S2). Um den am nächsten kommenden Virtueller-Roboter-Kandidaten auszulesen, wie in 4 gezeigt, wird einer der Virtueller-Roboter-Kandidaten (Basisstrukturen), die in der Speichereinheit 3 gespeichert sind, ausgelesen (Schritt S21), und ein Auswertungswert dafür wird berechnet (Schritt S22).
  • Um den Auswertungswert zu berechnen, wie in 5 gezeigt, wird eins der Elemente in der Basisstruktur ausgewählt (Schritt S221), und es wird bestimmt, ob das ausgewählte Element in der Eingabestruktur umfasst ist (Schritt S222). In dem Fall, in dem das ausgewählte Element umfasst ist, wird der Auswertungswert berechnet, indem der Zeitaufwand zum Hinzufügen, der im Zusammenhang mit diesem Element gespeichert ist, hinzugefügt wird (Schritt S223). In dem Fall, in dem das ausgewählte Element nicht umfasst ist, wird der Auswertungswert berechnet, indem der Zeitaufwand zum Löschen, der im Zusammenhang mit diesem Element gespeichert ist, subtrahiert wird (Schritt S224).
  • Dann wird bestimmt, ob die Verarbeitung zum Berechnen des Auswertungswerts unter Verwendung aller Elemente in der Basisstruktur beendet ist oder nicht (Schritt S225). In dem Fall, in dem die Verarbeitung beendet ist, wird der Auswertungswert ausgegeben (Schritt S226). In dem Fall, in dem die Verarbeitung nicht beendet ist, wird die Verarbeitung von Schritt S221 wiederholt.
  • Dann wird bestimmt, ob der Auswertungswert, der in der oben beschriebenen Weise berechnet wird, der höchste aus den Auswertungswerten für die Virtueller-Roboter-Kandidaten, die bis dahin ausgelesen worden sind, ist oder nicht (Schritt S23). In dem Fall, in dem der Auswertungswert der höchste ist, wird der Virtueller-Roboter-Kandidat als der am nächsten kommende Virtueller-Roboter-Kandidat ausgewählt (Schritt S24). In dem Fall, in dem der Auswertungswert nicht der höchste ist, wird bestimmt, ob ein beliebiger anderer Virtueller-Roboter-Kandidat verbleibt oder nicht (Schritt S25).
  • In dem Fall, in dem ein beliebiger anderer Virtueller-Roboter-Kandidat verbleibt, wird die Verarbeitung von Schritt S21 wiederholt. In dem Fall, in dem kein anderer Virtueller-Roboter-Kandidat verbleibt, wird der Virtueller-Roboter-Kandidat, der ausgewählt ist, schließlich aus der Speichereinheit 3 als der am nächsten kommende Virtueller-Roboter-Kandidat ausgelesen.
  • Dann wird die Differenz zwischen der Eingabestruktur und dem Virtueller-Roboter-Kandidaten, der der Eingabestruktur am nächsten kommt, extrahiert (Differenzextraktionsschritt S3). Dann werden die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit den einzelnen Elementen, die in der extrahierten Differenz umfasst sind, zu der Einstellung des Virtueller-Roboter-Steuerung-Kandidaten hinzugefügt oder daraus gelöscht, die im Zusammenhang mit dem Virtueller-Roboter-Kandidaten gespeichert ist (Virtueller-Roboter-Erzeugungsschritt S4).
  • Jedes Mal, wenn die Struktur eines neuen Virtueller-Roboter-Kandidaten erzeugt wird, indem ein einzelnes Element hinzugefügt oder gelöscht wird, und die Einstellung eines Virtueller-Roboter-Steuerung-Kandidaten erzeugt wird, werden die Struktur und die Einstellung in der Speichereinheit 3 im Zusammenhang miteinander gespeichert (Kandidatenaktualisierungsschritt S5).
  • Dann wird bestimmt, ob das Hinzufügen oder Löschen für alle Elemente in der extrahierten Differenz beendet ist oder nicht (Schritt S6). In dem Fall, in dem das Hinzufügen oder Löschen nicht beendet ist, wird die Verarbeitung von Schritt S4 wiederholt. In dem Fall, in dem das Hinzufügen oder Löschen beendet ist, da der Virtueller-Roboter-Kandidat und der Virtueller-Roboter-Steuerung-Kandidat, die erzeugt werden, schließlich als die Struktur eines virtuellen Roboters entsprechend der Eingabestruktur und der Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang damit dienen, wird die Simulation für das Robotersystem ausgeführt, indem der virtuelle Roboter und die Virtueller-Roboter-Steuerung verwendet werden (Schritt S7).
  • Wie zuvor beschrieben werden bei der Simulationseinrichtung 1 und dem Simulationsverfahren für ein Robotersystem gemäß dieser Ausführungsform in dem Prozess des Erzeugens der Struktur eines virtuellen Roboters, der simuliert werden soll, und der Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang damit die Struktur eines Virtueller-Roboter-Kandidaten, die mittels Hinzufügen oder Löschen eines einzelnen Elements erzeugt wird, und die Einstellung eines Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit auch in der Speichereinheit 3 gespeichert. Dies erhöht die Wahrscheinlichkeit, dass ein näher kommender Virtueller-Roboter-Kandidat ausgewählt werden kann, wenn beim nächsten Mal ein neuer virtueller Roboter erzeugt wird. Entsprechend wird ein Vorteil gewährt, der darin besteht, dass die Zeit zum Einstellen einer Virtueller-Roboter-Steuerung, die simuliert werden soll, verringert werden kann.
  • In dieser Ausführungsform werden die Struktur und die Einstellung in der Speichereinheit 3 jedes Mal gespeichert, wenn die Struktur eines neuen Virtueller-Roboter-Kandidaten und die Einstellung eines Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit erzeugt werden. Als Alternative kann die Speicherhäufigkeit einmal jede bestimmte Anzahl von Malen sein. Des Weiteren kann die Speicherhäufigkeit in Abhängigkeit von der zum Speichern in der Speichereinheit 3 erforderlichen Geschwindigkeit oder der Informationsmenge, die in der Speichereinheit 3 gespeichert werden soll, geändert werden.
  • Die Anzahl von Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten, die in einem Durchgang gespeichert werden, wird in dem Fall erhöht, in dem die zum Speichern in der Speichereinheit 3 erforderliche Geschwindigkeit niedrig ist, während die Anzahl in dem Fall, in dem die erforderliche Geschwindigkeit hoch ist, verringert wird, was es ermöglicht, Fluktuationen in der zum Speichern erforderlichen Geschwindigkeit zu verhindern. In Anbetracht dessen, dass das Speichern mehr Zeit in Anspruch nimmt, wenn die Informationsmenge zunimmt, kann die Anzahl von Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten, die in einem Durchgang gespeichert werden, in Abhängigkeit von der Informationsmenge erhöht oder verringert werden, was es auch ermöglicht, Fluktuationen in der zum Speichern erforderlichen Geschwindigkeit zu verhindern.
  • Eine Verwendungshäufigkeitszähleinheit (nicht gezeigt), die die Verwendungshäufigkeit jedes Mal inkrementiert, wenn ein Virtueller-Roboter-Kandidat ausgewählt wird, der der Eingabestruktur am nächsten kommt, und eine Speicherkapazitätsdetektionseinheit (nicht gezeigt), die die verbleibende Kapazität der Speichereinheit 3 detektiert, können vorgesehen sein.
  • Die von der Verwendungshäufigkeitszähleinheit gezählte Verwendungshäufigkeit kann im Zusammenhang mit Virtueller-Roboter-Kandidaten gespeichert werden, und in dem Fall, in dem die verbleibende Kapazität der Speichereinheit 3, wie sie von der Speicherkapazitätsdetektionseinheit detektiert wird, geringer geworden ist als ein vorbestimmter Schwellwert, können nicht benötigte Virtueller-Roboter-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit von der Speichereinheit 3 gelöscht werden. Diese Löschung kann ausgeführt werden, indem eine bevorzugte Löschung eines Virtueller-Roboter-Kandidaten, der einem häufig verwendeten Virtueller-Roboter-Kandidaten nahe kommt, wiederholt wird, bis die verbleibende Kapazität ausreichend wird.
  • Das heißt, ein Virtueller-Roboter-Kandidat, der einem häufig verwendeten Virtueller-Roboter-Kandidaten nahe kommt, kann in einer kurzen Zeit aus dem häufig verwendeten Virtueller-Roboter-Kandidaten eingestellt werden, und somit liegt nur ein kleiner Vorteil in dem Speichern des Virtueller-Roboter-Kandidaten zusätzlich zu dem häufig verwendeten Virtueller-Roboter-Kandidaten. Somit ist es möglich, die verbleibende Kapazität der Speichereinheit 3 zu erhöhen, indem bevorzugt derartige Virtueller-Roboter-Kandidaten gelöscht werden, was es ermöglicht, Virtueller-Roboter-Kandidaten mit größeren Bedarfen und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit zu speichern.
  • Ob ein Virtueller-Roboter-Kandidat einem häufig verwendeten Virtueller-Roboter-Kandidaten nahe kommt oder nicht kann basierend auf dem gleichen Auswertungswert bestimmt werden, der zum Auswählen eines Virtueller-Roboter-Kandidaten verwendet wird, der der Eingabestruktur am nächsten kommt.
  • In der zuvor beschriebenen Ausführungsform wird der Auswertungswert berechnet, indem der Zeitaufwand für das Hinzufügen für jedes Element, das in der Eingabestruktur umfasst ist, aufsummiert und der Zeitaufwand für das Löschen für jedes Element, das nicht in der Eingabestruktur umfasst ist, subtrahiert wird. Als Alternative kann ein Virtueller-Roboter-Kandidat als der am nächsten kommende Virtueller-Roboter-Kandidat ausgewählt werden, der den geringsten Gesamtzeitaufwand aufweist, der erhalten wird, indem alle Zeitaufwände für das Hinzufügen für Elemente, die hinzugefügt werden sollen, und die Zeitaufwände zum Löschen für Elemente, die gelöscht werden sollen, aufsummiert werden, um die Eingabestruktur zu erzeugen.
  • Obwohl die obige Ausführungsform in dem Kontext eines Beispiels beschrieben wird, in dem Basisstrukturen, die jeweils aus einer Kombination einer Vielzahl von Elementen gebildet sind, in der Speichereinheit 3 gespeichert sind, kann, in dem Fall, in dem Basisstrukturen nicht in der Speichereinheit 3 gespeichert sind, ein neuer Virtueller-Roboter-Kandidat erzeugt werden, indem einzelne Elemente kombiniert werden.
  • Aus einzelnen Elementen können, bei Elementen, die nicht gelöscht werden können, zum Beispiel Software-Optionen, unendliche Werte als die Zeitaufwände zum Löschen gespeichert werden.
  • Bezugszeichenliste
  • 1
    Simulationseinrichtung
    2
    Eingabeeinheit
    3
    Speichereinheit
    4
    Differenzextraktionseinheit
    5
    Virtueller-Roboter-Erzeugungseinheit
    6
    Kandidatenaktualisierungseinheit
    S1
    Eingabeschritt
    S3
    Differenzextraktionsschritt
    S4
    Virtueller-Roboter-Erzeugungsschritt
    S5
    Kandidatenaktualisierungsschritt

Claims (10)

  1. Simulationseinrichtung für ein Robotersystem, wobei die Simulationseinrichtung Folgendes umfasst: eine Eingabeeinheit, die eine Eingabe der Struktur eines virtuellen Roboters, der simuliert werden soll, erlaubt; eine Speichereinheit, die die Strukturen und Elemente von Virtueller-Roboter-Kandidaten und Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang miteinander speichert; eine Differenzextraktionseinheit, die aus der Speichereinheit die Struktur eines der Virtueller-Roboter-Kandidaten ausliest, die der Struktur des virtuellen Roboters, die mittels der Eingabeeinheit eingegeben wird, am nächsten kommt, und die die Differenz zwischen der ausgelesenen Struktur des Virtueller-Roboter-Kandidaten und der Struktur des virtuellen Roboters, die mittels der Eingabeeinheit eingegeben wird, extrahiert; eine Virtueller-Roboter-Erzeugungseinheit, die aus der Speichereinheit die Einstellung des Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit der Struktur des am nächsten kommenden Virtueller-Roboter-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit den Elementen der Virtueller-Roboter-Kandidaten ausliest, die in der Differenz umfasst sind, die von der Differenzextraktionseinheit extrahiert wird, und die die Einstellung des dazugehörigen Virtueller-Roboter-Steuerung-Kandidaten für jedes der Elemente der Virtueller-Roboter-Kandidaten hinzufügt oder löscht, die in der Differenz zu oder von der Einstellung des am nächsten kommenden Virtueller-Roboter-Steuerung-Kandidaten umfasst sind, um die Strukturen neuer Virtueller-Roboter-Kandidaten und Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit und die Struktur eines neuen virtuellen Roboters und eine Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang damit zu erzeugen; und eine Kandidatenaktualisierungseinheit, die in der Speichereinheit die Strukturen der neuen Virtueller-Roboter-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit speichert, die von der Virtueller-Roboter-Erzeugungseinheit erzeugt werden.
  2. Simulationseinrichtung für ein Robotersystem nach Anspruch 1, wobei die Speichereinheit für jedes der Elemente der Virtueller-Roboter-Kandidaten einen Zeitaufwand für das Hinzufügen oder Löschen einer Einstellung im Zusammenhang mit diesem Element speichert und wobei die Differenzextraktionseinheit einen Virtueller-Roboter-Kandidaten mit dem geringsten Gesamtzeitaufwand zum Erhalten der Einstellung der Virtueller-Roboter-Steuerung im Zusammenhang mit der Struktur des virtuellen Roboters, die mittels der Eingabeeinheit eingegeben wird, als den am nächsten kommenden Virtueller-Roboter-Kandidaten aus der Speichereinheit ausliest.
  3. Simulationseinrichtung für ein Robotersystem nach Anspruch 2, wobei die Differenzextraktionseinheit für jedes der Elemente der Virtueller-Roboter-Kandidaten, die in der Speichereinheit gespeichert sind, den Zeitaufwand zum Hinzufügen des Elements, das in der Speichereinheit im Zusammenhang mit dem Element gespeichert ist, in dem Fall hinzufügt, in dem das Element in dem virtuellen Roboter umfasst ist, der mittels der Eingabeeinheit eingegeben wird, den Zeitaufwand für das Löschen des Elements, das in der Speichereinheit im Zusammenhang mit dem Element gespeichert ist, in dem Fall subtrahiert, in dem das Element nicht in dem virtuellen Roboter umfasst ist, der mittels der Eingabeeinheit eingegeben wird, und den Virtueller-Roboter-Kandidaten mit dem höchsten Wert des Berechnungsergebnisses als den am nächsten kommenden Virtueller-Roboter-Kandidaten ausliest.
  4. Simulationseinrichtung für ein Robotersystem nach Anspruch 2, wobei die Differenzextraktionseinheit die Zeitaufwände addiert, die in der Speichereinheit im Zusammenhang mit den einzelnen Elementen gespeichert sind, die in der Differenz umfasst sind, wenn die Einstellungen im Zusammenhang mit diesen Elementen hinzugefügt oder gelöscht werden, und den Virtueller-Roboter-Kandidaten mit dem geringsten Wert des Berechnungsergebnisses als den am nächsten kommenden Virtueller-Roboter-Kandidaten verwendet.
  5. Simulationseinrichtung für ein Robotersystem nach einem beliebigen der Ansprüche 1 bis 4, überdies umfassend: eine Verwendungshäufigkeitszähleinheit, die die Verwendungshäufigkeit eines Virtueller-Roboter-Kandidaten jedes Mal inkrementiert, wenn der Virtueller-Roboter-Kandidat von der Differenzextraktionseinheit als der am nächsten kommende Virtueller-Roboter-Kandidat ausgelesen wird; und eine Speicherkapazitätsdetektionseinheit, die die verbleibende Kapazität der Speichereinheit detektiert, wobei die Kandidatenaktualisierungseinheit aus der Speichereinheit die Struktur eines Virtueller-Roboter-Kandidaten, der einem Virtueller-Roboter-Kandidaten mit der größten Verwendungshäufigkeit nahe kommt, und die Einstellung des Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit in dem Fall löscht, in dem die verbleibende Kapazität, die von der Speicherkapazitätsdetektionseinheit detektiert wird, geringer als ein vorbestimmter Schwellwert ist.
  6. Simulationseinrichtung für ein Robotersystem nach einem beliebigen der Ansprüche 1 bis 5, wobei jedes Mal, wenn die Virtueller-Roboter-Erzeugungseinheit die Struktur eines neuen Virtueller-Roboter-Kandidaten und eine Einstellung eines Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit erzeugt, die Kandidatenaktualisierungseinheit die Struktur und die Einstellung in der Speichereinheit speichert.
  7. Simulationseinrichtung für ein Robotersystem nach einem beliebigen der Ansprüche 1 bis 5, wobei jedes Mal, wenn die Virtueller-Roboter-Erzeugungseinheit Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit den Strukturen einer vorbestimmten Anzahl neuer Virtueller-Roboter-Kandidaten erzeugt, die Kandidatenaktualisierungseinheit die Strukturen und die Einstellungen in der Speichereinheit speichert.
  8. Simulationseinrichtung für ein Robotersystem nach Anspruch 7, wobei die Kandidatenaktualisierungseinheit die vorbestimmte Anzahl gemäß einer erforderlichen Geschwindigkeit zum Abspeichern in der Speichereinheit oder der Informationsmenge, die in der Speichereinheit gespeichert werden soll, ändert.
  9. Simulationsverfahren für ein Robotersystem, wobei das Simulationsverfahren Folgendes umfasst: einen Eingabeschritt, bei dem die Eingabe der Struktur eines virtuellen Roboters, der simuliert werden soll, erlaubt wird; einen Differenzextraktionsschritt, bei dem aus einer Speichereinheit die Struktur eines der Virtueller-Roboter-Kandidaten ausgelesen wird, die der Struktur des in dem Eingabeschritt eingegebenen virtuellen Roboters am nächsten kommt, und bei dem die Differenz zwischen der eingelesenen Struktur des Virtueller-Roboter-Kandidaten und der in dem Eingabeschritt eingegebenen Struktur des virtuellen Roboters extrahiert wird; einen Virtueller-Roboter-Erzeugungsschritt, bei dem aus der Speichereinheit die Einstellung des Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit der Struktur des am nächsten kommenden Virtueller-Roboter-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang mit Elementen der Virtueller-Roboter-Kandidaten ausgelesen werden, die in der Differenz umfasst sind, die in dem Differenzextraktionsschritt extrahiert wird, und bei dem die Einstellung des dazugehörigen Virtueller-Roboter-Steuerung-Kandidaten für jedes der Elemente der Virtueller-Roboter-Kandidaten hinzugefügt oder gelöscht wird, die in der Differenz zu oder von der Einstellung des am nächsten kommenden Virtueller-Roboter-Steuerung-Kandidaten umfasst sind, um die Strukturen neuer Virtueller-Roboter-Kandidaten und Einstellungen von Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit und die Struktur eines neuen virtuellen Roboters und eine Einstellung einer Virtueller-Roboter-Steuerung im Zusammenhang damit zu erzeugen; und einen Kandidatenaktualisierungsschritt, bei dem die Strukturen der neuen Virtueller-Roboter-Kandidaten und die Einstellungen der Virtueller-Roboter-Steuerung-Kandidaten im Zusammenhang damit, die in dem Virtueller-Roboter-Erzeugungsschritt erzeugt werden, in der Speichereinheit gespeichert werden.
  10. Simulationsverfahren für ein Robotersystem nach Anspruch 9, wobei die Speichereinheit für jedes der Elemente der Virtueller-Roboter-Kandidaten einen Zeitaufwand für das Hinzufügen oder Löschen einer Einstellung im Zusammenhang mit diesem Element speichert und wobei ein Virtueller-Roboter-Kandidat mit dem geringsten Zeitaufwand zum Erhalten der Einstellung der Virtueller-Roboter-Steuerung im Zusammenhang mit der Struktur des virtuellen Roboters, die in dem Eingabeschritt eingegeben wird, in dem Differenzextraktionsschritt als der am nächsten kommende Virtueller-Roboter-Kandidat aus der Speichereinheit ausgelesen wird.
DE102018118330.5A 2017-08-03 2018-07-30 Simulationseinrichtung und Simulationsverfahren für Robotersystem Active DE102018118330B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017150615A JP6549654B2 (ja) 2017-08-03 2017-08-03 ロボットシステムのシミュレーション装置およびシミュレーション方法
JP2017-150615 2017-08-03

Publications (2)

Publication Number Publication Date
DE102018118330A1 true DE102018118330A1 (de) 2019-02-07
DE102018118330B4 DE102018118330B4 (de) 2021-03-11

Family

ID=65020080

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018118330.5A Active DE102018118330B4 (de) 2017-08-03 2018-07-30 Simulationseinrichtung und Simulationsverfahren für Robotersystem

Country Status (4)

Country Link
US (1) US10556343B2 (de)
JP (1) JP6549654B2 (de)
CN (1) CN109382822B (de)
DE (1) DE102018118330B4 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10679379B1 (en) 2019-05-31 2020-06-09 Mujin, Inc. Robotic system with dynamic packing mechanism
US10647528B1 (en) 2019-05-31 2020-05-12 Mujin, Inc. Robotic system for palletizing packages using real-time placement simulation
US11077554B2 (en) 2019-05-31 2021-08-03 Mujin, Inc. Controller and control method for robotic system
US10696494B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system for processing packages arriving out of sequence
US10696493B1 (en) 2019-05-31 2020-06-30 Mujin, Inc. Robotic system with packing mechanism
US10618172B1 (en) 2019-05-31 2020-04-14 Mujin, Inc. Robotic system with error detection and dynamic packing mechanism
CN111605938B (zh) * 2019-05-31 2021-04-30 牧今科技 用于使用实时放置模拟来码垛包裹的机器人***
KR20210040613A (ko) 2019-10-04 2021-04-14 삼성전자주식회사 전자 장치 및 그의 제어 방법
CN113190019B (zh) * 2021-05-26 2023-05-16 立得空间信息技术股份有限公司 一种基于虚拟仿真的巡检机器人任务点布置方法及***
US20220390922A1 (en) * 2021-06-03 2022-12-08 X Development Llc Workcell modeling using motion profile matching and swept profile matching

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4360886A (en) * 1980-04-04 1982-11-23 Nordson Corporation Method and apparatus for analyzing the feasibility of performing a programmed sequence of motions with a robot
JPH03250304A (ja) 1990-02-28 1991-11-08 Pentel Kk ロボットの動作検証装置
JPH0954608A (ja) * 1995-08-16 1997-02-25 Kawasaki Heavy Ind Ltd ロボットのシミュレーション方法
JPH09244730A (ja) * 1996-03-11 1997-09-19 Komatsu Ltd ロボットシステムおよびロボットの制御装置
JP4121587B2 (ja) * 1997-08-22 2008-07-23 ソニー株式会社 ロボットシミュレーション装置
JPH11207671A (ja) 1998-01-28 1999-08-03 Hitachi Ltd 産業用ロボットの教示装置
US6560511B1 (en) * 1999-04-30 2003-05-06 Sony Corporation Electronic pet system, network system, robot, and storage medium
JP2001100834A (ja) 1999-09-29 2001-04-13 Nissan Motor Co Ltd ロボット教示データの作成装置およびその方法
US6718232B2 (en) * 2000-10-13 2004-04-06 Sony Corporation Robot device and behavior control method for robot device
JP3726032B2 (ja) * 2001-04-27 2005-12-14 本田技研工業株式会社 脚式移動ロボットの目標運動生成装置
JP2004326732A (ja) 2003-04-08 2004-11-18 Nissan Motor Co Ltd シミュレーション用ロボットの誤差パラメータ同定方法
JP4544881B2 (ja) * 2004-03-03 2010-09-15 富士通テン株式会社 物理モデル作成装置、該物理モデル作成装置を備えたシミュレーション装置、及び物理モデル作成装置におけるプログラム
US7600119B2 (en) * 2004-03-04 2009-10-06 Nec Corporation Data update system, data update method, data update program, and robot system
JP2008021092A (ja) 2006-07-12 2008-01-31 Fanuc Ltd ロボットシステムのシミュレーション装置
JP5008369B2 (ja) * 2006-09-29 2012-08-22 富士通テン株式会社 モデル生成装置及びシミュレーションモデル生成方法
KR100738052B1 (ko) 2006-12-26 2007-07-12 주식회사 이디 지능형 로봇 제어 시뮬레이션 시스템
JP5215740B2 (ja) * 2008-06-09 2013-06-19 株式会社日立製作所 移動ロボットシステム
US20110306986A1 (en) * 2009-03-24 2011-12-15 Min Kyu Lee Surgical robot system using augmented reality, and method for controlling same
CN101554726B (zh) * 2009-05-15 2011-01-19 北京工业大学 一种柔性两轮自平衡机器人***及其运动控制方法
FR2946160B1 (fr) * 2009-05-26 2014-05-09 Aldebaran Robotics Systeme et procede pour editer et commander des comportements d'un robot mobile.
JP5513146B2 (ja) * 2010-01-29 2014-06-04 株式会社デンソーウェーブ ロボットシミュレータ
JP5340455B1 (ja) * 2012-05-30 2013-11-13 ファナック株式会社 オフラインプログラミング装置
US9039547B2 (en) * 2012-08-03 2015-05-26 Michael Yeager Personal sports simulation robot
JP6127925B2 (ja) * 2013-11-11 2017-05-17 株式会社安川電機 ロボットシミュレーション装置、ロボットシミュレーション方法、およびロボットシミュレーションプログラム
JP6338389B2 (ja) * 2014-02-07 2018-06-06 キヤノン株式会社 動力学計算方法及びプログラム、並びにシミュレーション装置
JP5927310B1 (ja) * 2015-01-14 2016-06-01 ファナック株式会社 ロボットシステムのシミュレーション装置
JP6676286B2 (ja) * 2015-05-12 2020-04-08 キヤノン株式会社 情報処理方法、および情報処理装置
US11072067B2 (en) * 2015-11-16 2021-07-27 Kindred Systems Inc. Systems, devices, and methods for distributed artificial neural network computation

Also Published As

Publication number Publication date
CN109382822B (zh) 2020-04-28
US20190039243A1 (en) 2019-02-07
JP6549654B2 (ja) 2019-07-24
DE102018118330B4 (de) 2021-03-11
CN109382822A (zh) 2019-02-26
JP2019025633A (ja) 2019-02-21
US10556343B2 (en) 2020-02-11

Similar Documents

Publication Publication Date Title
DE102018118330A1 (de) Simulationseinrichtung und Simulationsverfahren für Robotersystem
DE102017010799B4 (de) Maschinenlernvorrichtung zum Lernen einer Bearbeitungsreihenfolge eines Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern, dazugehöriges Robotersystem sowie Maschinenlernverfahren zum Lernen einer Bearbeitungsreihenfolge des Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern
DE102017002996A1 (de) Maschinenlernvorrichtung, die ein lernen unter verwendung eines simulationsergebnisses durchführt, maschinensystem, herstellungssystem und maschinenlernverfahren
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE102018000730A1 (de) Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks
DE112012007165T5 (de) Programmerzeugungs-Unterstützungsvorrichtung, Verfahren und Aufzeichnungsmedium
DE112009004371T5 (de) Kollisionsbestimmungsvorrichtung und Kollisionsbestimmungsprogramm
DE112012002680T5 (de) Bearbeitungssimulationsvorrichtung und -verfahren
DE102018126429A1 (de) Bearbeitungsbedingungsanpassungsvorrichtung und Maschinenlernvorrichtung
DE102019112211A1 (de) Simulationsvorrichtung
EP0372107A1 (de) Verfahren zur Simulation der Bearbeitung eines Werkstückes und Darstellung desselben, sowie Vorrichtung zur Durchführung des Verfahrens
DE102019003928A1 (de) Positionsinformationsanzeigesystem
DE102018115453A1 (de) Informationsverarbeitungsvorrichtung und Informationsverarbeitungssystem
DE112011103259T5 (de) Verfahren, Programm und Vorrichtung zum Gruppieren einer Vielzahl von Elementen
DE102016006202B4 (de) Numerische Steuervorrichtung zum Verwalten von Bearbeitungsdaten und Bearbeitungsergebnissen
DE112018007980T5 (de) Fertigungssystem-entwurfsassistenzvorrichtung
EP3812949A1 (de) Konfigurierbarer digitaler zwilling
DE69520531T2 (de) Verfahren und Gerät zur Erzeugung eines Rechnerprogramms
DE112021006802T5 (de) Maschinenlernvorrichtung, bearbeitungsprogrammerzeugungsvorrichtung und maschinenlernverfahren
DE102016004233A1 (de) Numerische Steuervorrichtung zum Klassifizieren und Anzeigen eines als Historie aufgezeichneten Bearbeitungsprogramms
DE102017009807A1 (de) Informationsverarbeitungsvorrichtung
DE102017105597B4 (de) Bearbeitungsprogrammerzeugungsvorrichtung
DE102019201829A1 (de) Controller, Datenerzeugungsvorrichtung, Steuerverfahren und Steuerprogramm
EP3474650B1 (de) Verfahren zur erstellung eines rüstsatzes für eine bestückungsmaschine
DE102018002733A1 (de) Informationsverarbeitungsvorrichtung

Legal Events

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