DE102018001360B4 - Simulationsvorrichtung, simulationsverfahren und computerprogramm für ein robotersystem - Google Patents

Simulationsvorrichtung, simulationsverfahren und computerprogramm für ein robotersystem Download PDF

Info

Publication number
DE102018001360B4
DE102018001360B4 DE102018001360.0A DE102018001360A DE102018001360B4 DE 102018001360 B4 DE102018001360 B4 DE 102018001360B4 DE 102018001360 A DE102018001360 A DE 102018001360A DE 102018001360 B4 DE102018001360 B4 DE 102018001360B4
Authority
DE
Germany
Prior art keywords
model
workpiece
conveyor
cpu
models
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
DE102018001360.0A
Other languages
English (en)
Other versions
DE102018001360A1 (de
Inventor
Hiroyuki Atohira
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 DE102018001360A1 publication Critical patent/DE102018001360A1/de
Application granted granted Critical
Publication of DE102018001360B4 publication Critical patent/DE102018001360B4/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/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0093Programme-controlled manipulators co-operating with conveyor means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/4182Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell manipulators and conveyor only
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40058Align box, block with a surface
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Automation & Control Theory (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Automatic Assembly (AREA)

Abstract

Simulationsvorrichtung (50) für ein Robotersystem (250), bei dem ein Roboter (252) an einer Mehrzahl von Werkstücken (W), die durch eine Fördervorrichtung (100) befördert werden, eine Arbeit ausführt, wobei die Simulationsvorrichtung eine CPU (12) umfasst, die eingerichtet ist, um:in einem virtuellen Raum (110) eine Mehrzahl von Werkstückmodellen (WM) und ein Förder-vorrichtungsmodell (100M), welche durch einen Bediener eingegeben und ausgewählt werden und die jeweils die Mehrzahl von Werkstücken (W) und die Fördervorrichtung modellieren, anzuordnen;einen durch den Bediener eingegebenen Versatzbetrag jedes Werkstückmodells gegenüber seiner im Verhältnis zu dem Fördervorrichtungsmodell vorbestimmten Referenzposition einzustellen;einen Förderbetrieb auszuführen, um die Mehrzahl von Werkstückmodellen, die jeweils in einer Position angeordnet sind, die aus der Referenzposition und dem Versatzbetrag erhalten wird, durch das Fördervorrichtungsmodell der Reihe nach zu befördern;eine Störung aufgrund eines durch den Bediener eingegebenen Intervalls (E) zwischen mindestens zwei Werkstückmodellen zu detektieren, die durch das Fördervorrichtungsmodell der Reihe nach befördert werden;eine störungsfreie Position zu suchen, in der die Störung für mindestens eines der mindestens zwei Werkstückmodelle, für welche die Störung detektiert wird, nicht vorkommt; undeine Position des mindestens einen Werkstückmodells, das auf dem Fördervorrichtungsmodell angeordnet ist, basierend auf der gesuchten störungsfreien Position zu korrigieren.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die Erfindung betrifft ein Simulationsgerät, ein Simulationsverfahren und ein Computerprogramm für ein Robotersystem.
  • Beschreibung der verwandten Technik
  • Simulationsvorrichtungen zum Ausführen einer Simulation des Beförderns eines Werkstücks durch eine Fördervorrichtung sind in der verwandten Technik bekannt (z.B. JP 2016-129915 A ). Weiterer Stand der Technik ist bekannt aus den Druckschriften JP 2012- 181 574 A , US 2008 / 0 301 072 A1 , US 2008 / 0 013 825 A1 A1, US 2007 / 0 073 444 AI, US 2007 / 0 179 671 A1 , US 5 727 132 A und US 2015 / 0 127 148 A1 .
  • In einer tatsächlichen Fertigungsanlage, wenn ein Bediener ein Werkstück auf eine Fördervorrichtung (z.B. ein Förderband) legt, können sich Position und Ausrichtung des Werkstücks auf der Fördervorrichtung ändern. Es besteht ein Bedarf an einer Technologie zum Simulieren derartiger Vorgänge.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Bei einem Aspekt der vorliegenden Offenbarung umfasst eine Simulationsvorrichtung für ein Robotersystem, bei dem ein Roboter an einer Mehrzahl von Werkstücken, die durch eine Fördervorrichtung befördert werden, eine Arbeit ausführt, einen Modellanordnungsteil, der konfiguriert ist, um in einem virtuellen Raum eine Mehrzahl von Werkstückmodellen und ein Fördervorrichtungsmodell anzuordnen, die jeweils die Mehrzahl von Werkstücken und die Fördervorrichtung modellieren; einen Versatzeinstellungsteil, der konfiguriert ist, um einen Versatzbetrag jedes Werkstückmodells gegenüber seiner im Verhältnis zu dem Fördervorrichtungsmodell vorbestimmten Referenzposition einzustellen; einen Teil zum Ausführen eines Förderbetriebs, der konfiguriert ist, um einen Förderbetrieb auszuführen, um die Mehrzahl von Werkstückmodellen, die jeweils in einer Position angeordnet sind, die aus der Referenzposition und dem Versatzbetrag erhalten wird, durch das Fördervorrichtungsmodell der Reihe nach zu befördern; einen Störungsdetektionsteil, der konfiguriert ist, um eine Störung zwischen mindestens zwei Werkstückmodellen zu detektieren, die durch das Fördervorrichtungsmodell der Reihe nach befördert werden; einen Teil zum Suchen einer störungsfreien Position, der konfiguriert ist, um eine störungsfreie Position zu suchen, in der für mindestens ein Werkstückmodell der mindestens zwei Werkstückmodelle, für welche die Störung detektiert wird, keine Störung vorkommt; und einen Teil zum Korrigieren einer Werkstückposition, der konfiguriert ist, um eine Position des mindestens einen Werkstückmodells, das auf dem Fördervorrichtungsmodell angeordnet ist, basierend auf der gesuchten störungsfreien Position zu korrigieren.
  • Bei einem anderen Aspekt der vorliegenden Offenbarung umfasst ein Simulationsverfahren für ein Robotersystem, bei dem ein Roboter an einer Mehrzahl von Werkstücken, die durch eine Fördervorrichtung befördert werden, eine Arbeit ausführt, das Anordnen, in einem virtuellen Raum, einer Mehrzahl von Werkstückmodellen und eines Fördervorrichtungsmodells, die jeweils die Mehrzahl von Werkstücken und die Fördervorrichtung modellieren; das Einstellen eines Versatzbetrags jedes Werkstückmodells gegenüber seiner im Verhältnis zu dem Fördervorrichtungsmodell vorbestimmten Referenzposition; das Ausführen eines Förderbetriebs, um die Mehrzahl von Werkstückmodellen, die jeweils in einer Position angeordnet sind, die aus der Referenzposition und dem Versatzbetrag erhalten wird, durch das Fördervorrichtungsmodell der Reihe nach zu befördern; das Detektieren einer Störung zwischen mindestens zwei Werkstückmodellen, die durch das Fördervorrichtungsmodell der Reihe nach befördert werden; das Suchen einer störungsfreien Position, in der für mindestens ein Werkstückmodell der mindestens zwei Werkstückmodelle, für welche die Störung detektiert wird, keine Störung vorkommt; und das Korrigieren einer Position des mindestens einen Werkstückmodells, das auf dem Fördervorrichtungsmodell angeordnet ist, basierend auf der gesuchten störungsfreien Position.
  • Bei noch einem anderen Aspekt der vorliegenden Offenbarung ist ein Computerprogramm konfiguriert, um zu bewirken, dass ein Computer, um eine Simulation durchzuführen, bei der ein Roboter an einer Mehrzahl von Werkstücken, die durch eine Fördervorrichtung befördert werden, eine Arbeit ausführt, als Modellanordnungsteil, der konfiguriert ist, um in einem virtuellen Raum eine Mehrzahl von Werkstückmodellen und ein Fördervorrichtungsmodell anzuordnen, die jeweils die Mehrzahl von Werkstücken und die Fördervorrichtung modellieren; als Versatzeinstellungsteil, der konfiguriert ist, um einen Versatzbetrag jedes Werkstückmodells gegenüber seiner im Verhältnis zu dem Fördervorrichtungsmodell vorbestimmten Referenzposition einzustellen; als Teil zum Ausführen eines Förderbetriebs, der konfiguriert ist, um einen Förderbetrieb auszuführen, um die Mehrzahl von Werkstückmodellen, die jeweils in einer Position angeordnet sind, die aus der Referenzposition und dem Versatzbetrag erhalten wird, durch das Fördervorrichtungsmodell der Reihe nach zu befördern; als Störungsdetektionsteil, der konfiguriert ist, um eine Störung zwischen mindestens zwei Werkstückmodellen zu detektieren, die durch das Fördervorrichtungsmodell der Reihe nach befördert werden; als Teil zum Suchen einer störungsfreien Position, der konfiguriert ist, um eine störungsfreie Position zu suchen, in der für mindestens ein Werkstückmodell der mindestens zwei Werkstückmodelle, für welche die Störung detektiert wird, keine Störung vorkommt; und als Teil zum Korrigieren einer Werkstückposition, der konfiguriert ist, um eine Position des mindestens einen Werkstückmodells, das auf dem Fördervorrichtungsmodell angeordnet ist, basierend auf der gesuchten störungsfreien Position zu korrigieren, dient.
  • Gemäß einem Aspekt der vorliegenden Offenbarung ist es möglich, eine Vorrichtung bereitzustellen, die in der Lage ist, einen Betrieb einer Fördervorrichtung ähnlich wie einen tatsächlichen Betrieb zu simulieren und dabei das Vorkommen einer Störregion zwischen den Werkstückmodellen, die in einem virtuellen Raum angeordnet sind, zu verhindern.
  • Nach einem anderen Aspekt der vorliegenden Offenbarung ist es möglich, ein Verfahren bereitzustellen, das in der Lage ist, einen Betrieb einer Fördervorrichtung ähnlich wie einen tatsächlichen Betrieb zu simulieren und dabei das Vorkommen einer Störregion zwischen den Werkstückmodellen, die in einem virtuellen Raum angeordnet sind, zu verhindern.
  • Nach noch einem anderen Aspekt der vorliegenden Offenbarung ist es möglich, ein Computerprogramm bereitzustellen, das bewirkt, dass ein Computer eine Simulation eines Betriebs einer Fördervorrichtung ähnlich wie einen tatsächlichen Betrieb durchführt und dabei das Vorkommen einer Störregion zwischen den Werkstückmodellen verhindert.
  • Figurenliste
  • Die Aufgaben, Merkmale und Vorteile der Erfindung werden aus der folgenden Beschreibung der Ausführungsformen in Verbindung mit den beiliegenden Zeichnungen besser hervorgehen. Es zeigen:
    • 1 ein Blockdiagramm eines Simulationssystems gemäß einer Ausführungsform;
    • 2 ein Diagramm, das ein Beispiel einer Fördervorrichtung in einem wirklichen Raum abbildet;
    • 3 eine Ansicht der in 2 abgebildeten Fördervorrichtung, senkrecht nach oben gesehen;
    • 4 ein Ablaufschema, das ein Beispiel eines Arbeitsablaufs des in 1 abgebildeten Simulationssystems abbildet;
    • 5 ein Bild des virtuellen Raums, der in Schritt S1 in 4 generiert wird;
    • 6 einen Zustand, in dem ein Werkstückmodell in einer Referenzposition auf dem Förderteilabschnittmodell in dem virtuellen Raum, der in 5 abgebildet ist, angeordnet ist;
    • 7 eine Ansicht des Werkstückmodells, das in 6 abgebildet ist, aus der positiven Z-Achsenrichtung des Koordinatensystems der Fördervorrichtung in 6 gesehen;
    • 8 ein Diagramm zum Erklären eines ersten Versatzbetrags in der X-Achsenrichtung des Koordinatensystems der Fördervorrichtung und eines zweiten Versatzbetrags in der Y-Achsenrichtung des Koordinatensystems der Fördervorrichtung;
    • 9 ein Diagramm zum Erklären eines dritten Versatzbetrags um eine Achse herum, die zur Z-Achse des Koordinatensystems der Fördervorrichtung parallel ist;
    • 10 ein Diagramm zum Erklären der ersten, zweiten und dritten Versatzbeträge;
    • 11 einen Positionsbereich, in dem das Werkstückmodell in Schritt S5 aus 4 angeordnet sein kann;
    • 12 Positionsbereiche von zwei nebeneinanderliegenden Werkstückmodellen ;
    • 13 einen Zustand, in dem eine Störregion zwischen zwei nebeneinanderliegenden Werkstückmodellen vorkommt;
    • 14 ein Ablaufschema, das ein Beispiel des Ablaufs aus Schritt S8 in 4 abbildet;
    • 15 ein Blockdiagramm eines Simulationssystems gemäß einer anderen Ausführungsform;
    • 16 einen Zustand, in dem ein erster Typ von Werkstückmodell und ein zweiter Typ von Werkstückmodell in dem virtuellen Raum angeordnet sind;
    • 17 ein Ablaufschema, das ein Beispiel eines Arbeitsablaufs des Simulationssystems abbildet, das in 15 abgebildet ist;
    • 18 ein Blockdiagramm eines Simulationssystems gemäß noch einer anderen Ausführungsform;
    • 19 ein Werkstückmodell, das derart angeordnet ist, dass seine Vorderseite sichtbar ist, und ein Werkstückmodell, das derart angeordnet ist, dass seine Rückseite sichtbar ist;
    • 20 ein Ablaufschema, das ein Beispiel eines Arbeitsablaufs des Simulationssystems abbildet, das in 18 abgebildet ist;
    • 21 ein Blockdiagramm eines Simulationssystems gemäß noch einer anderen Ausführungsform;
    • 22 ein Beispiel eines Werkstückfördersystem in einem wirklichen Raum;
    • 23 ein Ablaufschema, das ein Beispiel des Arbeitsablaufs des Simulationssystems abbildet, das in 21 abgebildet ist;
    • 24 ein Bild des virtuellen Raums, das in Schritt S41 aus 23 generiert wird;
    • 25 ein Bild des virtuellen Raums, der in Schritt S42 aus 23 generiert wird;
    • 26 ein Diagramm zum Erklären von Schritt S43 in 23; und
    • 27 ein Diagramm zum Erklären von Schritt S44 in 23.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachstehend werden die Ausführungsformen der vorliegenden Offenbarung mit Bezug auf die Zeichnungen ausführlich beschrieben. Es sei zu beachten, dass bei den nachstehend beschriebenen diversen Ausführungsformen die gleichen Bezugszeichen ähnlichen Komponenten zugeteilt sind, und dass redundante Beschreibungen derselben entfallen. Zunächst wird ein Simulationssystem 10 gemäß einer Ausführungsform mit Bezug auf 1 beschrieben.
  • Das Simulationssystem 10 umfasst eine CPU 12, einen Systemspeicher 14, einen Arbeitsspeicher 16, eine Ein-/ Ausgabe-Schnittstelle (E/A-Schnittstelle) 18, eine Dateneingabeeinheit 20, eine Anzeige 22 und eine Simulationsvorrichtung 50.
  • Die CPU 12 ist über einen Bus 24 mit dem Systemspeicher 14, dem Arbeitsspeicher 16 und der E/A-Schnittstelle kommunikationsmäßig verbunden und kommuniziert mit diesen Komponenten, damit sie diverse Prozesse ausführen, die noch beschrieben werden.
  • Der Systemspeicher 14 ist ein nicht flüchtiger Speicher, der elektrisch gelöscht und aufgezeichnet werden kann, und besteht beispielsweise aus einem EEPROM™. Der Systemspeicher 14 zeichnet Konstanten, Variablen, Sollwerte, Computerprogramme usw. auf, die zum Ausführen einer Simulation notwendig sind, die noch beschrieben wird, damit sie nicht verloren gehen, wenn das Simulationssystem 10 heruntergefahren wird.
  • Der Arbeitsspeicher 16 speichert zeitweilig Daten, die für die CPU 12 notwendig sind, um diverse Prozesse auszuführen. Ferner werden die Konstanten, Variablen, Sollwerte, Computerprogramme usw., die in dem Systemspeicher 14 aufgezeichnet sind, geeignet in den Arbeitsspeicher 16 geladen, und die CPU 12 verwendet diese Daten, die in den Arbeitsspeicher 16 geladen werden, um diverse Prozesse auszuführen.
  • Die E/A-Schnittstelle 18 ist mit der Dateneingabeeinheit 20 kommunikationsmäßig verbunden und empfängt Daten von der Dateneingabeeinheit 20 gemäß einem Befehl von der CPU 12. Ferner ist die E/A-Schnittstelle 18 mit der Anzeige 22 kommunikationsmäßig verbunden und sendet Bilddaten an die Anzeige 22 gemäß einem Befehl von der CPU 12.
  • Die E/A-Schnittstelle 18 besteht beispielsweise aus einem Ethernet-Anschluss oder einem USB-Anschluss und kann drahtgebunden mit der Dateneingabeeinheit 20 und der Anzeige 22 kommunizieren. Alternativ kann die E/A-Schnittstelle 18 mit der Anzeige 22 und der Dateneingabeeinheit 20 über ein drahtloses LAN, wie etwa WiFi, drahtlos kommunizieren.
  • Die Dateneingabeeinheit 20 besteht beispielsweise aus einer Tastatur, einem interaktiven Bedienfeld oder einer Maus, und ein Bediener kann Daten eingeben, indem er die Dateneingabeeinheit 20 betätigt. Die Dateneingabeeinheit 20 kann die Eingabedaten über die E/A-Schnittstelle 18 an die CPU 12 senden.
  • Die Anzeige 22 besteht beispielsweise aus einem CRT, einer Flüssigkristallanzeige (LCD) oder einer organischen EL-Anzeige und empfängt die Bilddaten, die von der E/A-Schnittstelle 18 gesendet werden, und zeigt sie als Bild an, das für den Bediener zu sehen ist.
  • Die Simulationsvorrichtung 50 führt eine Simulation eines Robotersystems aus, bei dem ein Roboter an einer Mehrzahl von Werkstücken, die durch eine Fördervorrichtung befördert werden, eine Arbeit ausführt. Nachstehend wird ein Beispiel der Fördervorrichtung 100 in einem wirklichen Raum mit Bezug auf 2 beschrieben.
  • Die Fördervorrichtung 100 ist beispielsweise ein Förderband und umfasst eine Basis 102 und einen Förderteilabschnitt 104, der bewegbar auf der Basis 102 angeordnet ist. Die Basis 102 ist am Boden einer Arbeitszelle im wirklichen Raum befestigt. Der Förderteilabschnitt 104 befördert ein Werkstück W, das darauf liegt, in einer Förderrichtung A, die in 2 durch den Pfeil A angegeben ist. Bei dieser Ausführungsform weist das Werkstück W eine Quaderform auf.
  • In einer Fertigungsanlage im wirklichen Raum legt der Bediener ständig Werkstücke W in der Nähe des stromaufwärtigen Endes des Förderteilabschnitts 104 auf. Die Positionen und Ausrichtungen der Werkstücke W, die nun auf dem Förderteilabschnitt 104 liegen, können im Verhältnis zu dem Förderteilabschnitt 104 zufällig variieren, wie in 3 abgebildet. Somit werden die Werkstücke W ständig in der Nähe des stromaufwärtigen Endes des Förderteilabschnitts 104 aufgelegt und durch den Förderteilabschnitt 104 der Reihe nach in der Förderrichtung A befördert.
  • Die Simulationsvorrichtung 50 gemäß dieser Ausführungsform simuliert einen derartigen Betrieb der Fördervorrichtung 100. Wie in 1 abgebildet, umfasst die Simulationsvorrichtung 50 einen Modellanordnungsteil 52, einen Versatzeinstellungsteil 54, einen Teil 56 zum Ausführen eines Förderbetriebs, einen Störungsdetektionsteil 58, einen Teil 60 zum Suchen einer störungsfreien Position und einen Teil 62 zum Korrigieren einer Werkstückposition.
  • Bei dieser Ausführungsform dient die CPU 12 als Modellanordnungsteil 52, als Versatzeinstellungsteil 54, als Teil 56 zum Ausführen eines Förderbetriebs, als Störungsdetektionsteil 58, als Teil 60 zum Suchen einer störungsfreien Position und als Teil 62 zum Korrigieren einer Werkstückposition. Die Funktionen des Modellanordnungsteils 52, des Versatzeinstellungsteils 54, des Teils 56 zum Ausführen eines Förderbetriebs, des Störungsdetektionsteils 58, des Teils 60 zum Suchen einer störungsfreien Position und des Teils 62 zum Korrigieren einer Werkstückposition werden noch beschrieben.
  • Als Nächstes wird der Betrieb des Simulationssystems 10 mit Bezug auf 4 beschrieben. Der in 4 abgebildete Ablauf beginnt, wenn der Bediener die Dateneingabeeinheit 20 betätigt, um einen Simulationsstartbefehl einzugeben, und die CPU 12 beispielsweise den Simulationsstartbefehl von der Dateneingabeeinheit 20 empfängt.
  • Es sei zu beachten, dass die CPU 12 die Schritte S1 bis S10, die in 4 abgebildet sind, gemäß einem Computerprogramm ausführen kann. Das Computerprogramm kann im Voraus in dem Systemspeicher 14 gespeichert sein. Alternativ kann das Computerprogramm auf einem Aufzeichnungsmedium (z.B. einer Festplatte, einem EEPROM usw.) aufgezeichnet sein, das extern an dem Simulationssystem 10 angebracht ist.
  • In Schritt S1 ordnet die CPU 12 im virtuellen Raum Komponentenmodelle an, welche die Komponenten der Fördervorrichtung modellieren. Insbesondere wie in 5 abgebildet, ordnet die CPU 12 ein Fördervorrichtungsmodell 100M im virtuellen Raum 110 als Reaktion auf einen Eingabevorgang durch den Bediener an.
  • Es sei zu beachten, dass bei der vorliegenden Offenbarung, falls die Bezeichnung einer Komponente im wirklichen Raum „XX“ ist, ihr Modell im virtuellen Raum als „XX-Modell“ bezeichnet wird. Beispielsweise wird das Modell des „Förderteilabschnitts“ im wirklichen Raum als „Förderteilabschnittmodell“ bezeichnet.
  • Das Fördervorrichtungsmodell 100M ist ein Modell der in 2 abgebildeten Fördervorrichtung 100 und umfasst ein Basismodell 102M und ein Förderteilabschnittmodell 104M.
  • Der Systemspeicher 14 speichert im Voraus eine Mehrzahl von Typen von Fördervorrichtungsmodellen, zu denen das Fördervorrichtungsmodell 100M gehört. Beispielsweise generiert die CPU 12 Bilddaten, welche die Mehrzahl von Typen von Fördervorrichtungsmodellen, die in dem Systemspeicher 14 gespeichert sind, in der Form einer Liste darstellen, und zeigt sie durch die Anzeige 22 an. Der Bediener betätigt die Dateneingabeeinheit 20, um ein gewünschtes Fördervorrichtungsmodell aus der Liste auszuwählen, die an der Anzeige 22 angezeigt wird.
  • Nachstehend wird ein Fall beschrieben, bei dem der Bediener das Fördervorrichtungsmodell 100M auswählt, das in 5 abgebildet ist. Die Dateneingabeeinheit 20 sendet die Eingabedaten, die durch den Bediener eingegeben werden, über die E/A-Schnittstelle 18 an die CPU 12.
  • Als Reaktion auf die empfangenen Eingabedaten liest die CPU 12 das Fördervorrichtungsmodell 100M aus der Mehrzahl von Typen von Fördervorrichtungsmodellen, die in dem Systemspeicher 14 gespeichert sind, aus und ordnet es im virtuellen Raum 110 an. Dann generiert die CPU 12 den virtuellen Raum 110 als Bilddaten und zeigt ihn durch die Anzeige 22 als Bild des virtuellen Raums 110 an, das in 5 abgebildet ist.
  • Der Systemspeicher 14 speichert diverse Betriebsparameter der virtuellen Fördervorrichtung in Verbindung mit dem Fördervorrichtungsmodell 100M. Die Betriebsparameter der virtuellen Fördervorrichtung sind notwendig zum simulativen Betätigen des Fördervorrichtungsmodells 100M im virtuellen Raum 110 in Schritt S4, der noch beschrieben wird.
  • Die Betriebsparameter der virtuellen Fördervorrichtung umfassen z.B. einen Ursprung und die Axialrichtungen eines Koordinatensystems CC der Fördervorrichtung, eine Fördergeschwindigkeit des Fördervorrichtungsmodells 100M usw. Das Koordinatensystem CC der Fördervorrichtung ist ein orthogonales Koordinatensystem, das als Standard verwendet wird, wenn das Fördervorrichtungsmodell 100M im virtuellen Raum 110 simulativ betätigt wird, und ist im virtuellen Raum 110 durch den Ursprung und die Axialrichtungen des Koordinatensystems CC der Fördervorrichtung definiert, die in den Betriebsparametern der virtuellen Fördervorrichtung enthalten sind.
  • Bei der in 5 abgebildeten Ausführungsform ist der Ursprung des Koordinatensystems CC der Fördervorrichtung in einer Ecke des stromaufwärtigen Endes des Förderteilabschnittmodells 104M angeordnet, und das Förderteilabschnittmodell 104M befördert ein Werkstückmodell, das noch beschrieben wird, in der positiven Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung. Somit fällt die positive Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung mit der Förderrichtung A in 2 zusammen.
  • Die Fördergeschwindigkeit ist ein Parameter, der die Geschwindigkeit bestimmt, mit der ein Werkstückmodell durch das Förderteilabschnittmodell 104M im virtuellen Raum 110 befördert wird (d.h. die Betriebsgeschwindigkeit des Förderteilabschnittmodells 104M).
  • Wie in 5 abgebildet, stellt die CPU 12 das Koordinatensystem CC der Fördervorrichtung im virtuellen Raum 110 zusammen mit dem Fördervorrichtungsmodell 100M ein. Somit dient die CPU 12 bei dieser Ausführungsform als Modellanordnungsteil 52 (1), der konfiguriert ist, um das Fördervorrichtungsmodell 100M im virtuellen Raum 110 anzuordnen.
  • In Schritt S2 stellt die CPU 12 die Gesamtanzahl nT von Werkstückmodellen ein, die im virtuellen Raum 110 in der Simulation zugeführt werden sollen, die noch beschrieben wird. Beispielsweise generiert die CPU 12 Eingabebilddaten, damit der Bediener die Gesamtanzahl nT eingeben kann, und zeigt sie an der Anzeige 22 an.
  • Der Bediener betätigt die Dateneingabeeinheit 20, um die gewünschte Gesamtanzahl nT in das Eingabebild einzugeben, das an der Anzeige 22 angezeigt wird. Die Dateneingabeeinheit 20 sendet die Eingabedaten der Gesamtanzahl nT , die durch den Bediener eingegeben werden, über die E/A-Schnittstelle 18 an die CPU 12. Als Reaktion auf die empfangenen Eingabedaten stellt die CPU 12 die Gesamtanzahl nT ein und speichert die Einstellung der Gesamtanzahl nT in dem Systemspeicher 14.
  • In Schritt S3 stellt die CPU 12 einen Versatzbetrag dafür ein, wenn sie die Werkstückmodelle auf dem Fördervorrichtungsmodell 100M im virtuellen Raum 110 angeordnet werden. Dieser Versatzbetrag wird mit Bezug auf 6 bis 10 beschrieben.
  • In Schritt S5, der noch beschrieben wird, ordnet die CPU 12 ein Werkstückmodell WM, welches die Werkstücke W auf dem Förderteilabschnittmodell 104M modelliert, im virtuellen Raum 110 an. 6 und 7 bilden einen Zustand ab, in dem das Werkstückmodell WM in einer Referenzposition auf dem Förderteilabschnittmodell 104M angeordnet ist.
  • Die Referenzposition ist mit Bezug auf das Förderabschnittmodell 104M vorbestimmt. Bei dem in 6 und 7 abgebildeten Beispiel wird die Referenzposition wie folgt eingestellt. Ein Mittelpunkt B0 des Werkstückmodells WM ist im Mittelpunkt in der X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung des Förderteilabschnittmodells 104M angeordnet. Ferner ist die Längsrichtung (d.h. die Erstreckungsrichtung der Längsseite) des Werkstückmodells WM parallel zur X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung, während die Querrichtung (d.h. die Erstreckungsrichtung der Querseite) des Werkstückmodells WM zur Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung parallel ist.
  • Der Versatzbetrag bei dieser Ausführungsform stellt einen Verlagerungsbetrag des Werkstückmodells WM gegenüber seiner Referenzposition in der XY-Ebene des Koordinatensystems CC der Fördervorrichtung dar, wenn das Werkstückmodell WM auf dem Förderteilabschnittmodell 104M in Schritt S5, der noch beschrieben wird, angeordnet wird.
  • Beispielsweise bei dem in 8 abgebildeten Beispiel ist die Referenzposition durch den gestrichelten Bereich C dargestellt, und der Mittelpunkt B1 des Werkstückmodells WM ist gegenüber dem Mittelpunkt B0 der Referenzposition C um xOFF in der negativen X-Achsenrichtung (d.h. -xOFF) des Koordinatensystems CC der Fördervorrichtung verlagert, und um yOFF in der negativen Y-Achsenrichtung (d.h. - yOFF) des Koordinatensystems CC der Fördervorrichtung verlagert.
  • Somit werden bei dem in 8 abgebildeten Beispiel ein erster Versatzbetrag xOFF , der gegenüber der Referenzposition in der X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung versetzt ist, und ein zweiter Versatzbetrag yOFF , der gegenüber der Referenzposition in der Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung versetzt ist, als Versatzbetrag eingestellt.
  • Bei dem in 9 abgebildeten Beispiel ist die Position des Werkstückmodells WM in eine Position versetzt, die gegenüber der Referenzposition C um einen Winkel θOFF im Gegenuhrzeigersinn um eine Achse O1 herum gedreht ist, aus der positiven Z-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung gesehen.
  • Die Achse O1 ist eine virtuelle Achse, die zu der Z-Achse des Koordinatensystems CC der Fördervorrichtung parallel ist und die durch den Mittelpunkt des Werkstückmodells WM geht. Somit wird bei dem in 9 abgebildeten Beispiel ein dritter Versatzbetrag θOFF , der gegenüber der Referenzposition in der Drehrichtung um die Achse O1 herum versetzt ist, als Versatzbetrag eingestellt.
  • Bei dem in 10 abgebildeten Beispiel ist die Position des Werkstückmodells WM gegenüber der Referenzposition um den ersten Versatzbetrag xOFF , den zweiten Versatzbetrag yOFF und den dritten Versatzbetrag θOFF versetzt.
  • Insbesondere ist der Mittelpunkt B1 des Werkstückmodells WM um xOFF in die negativen X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung verlagert, und um yOFF in der negativen Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung verlagert. Zudem ist das Werkstückmodell WM versetzt, um um den Winkel θOFF um die Achse O1 herum gedreht zu sein.
  • Als ein Beispiel gibt ein Bediener bei diesem Schritt S3 einen oberen Grenzwert und einen unteren Grenzwert des Versatzbetrags (xOFF , yOFF , θOFF ) ein. In diesem Fall generiert die CPU 12 Eingabebilddaten, damit der Bediener den oberen Grenzwert und den unteren Grenzwert des Versatzbetrags (xOFF , yOFF , θOFF ) eingeben kann, und zeigt sie an der Anzeige 22 an. Der Bediener betätigt die Dateneingabeeinheit 20, um einen gewünschten oberen Grenzwert und unteren Grenzwert in das Eingabebild einzugeben, das an der Anzeige 22 angezeigt wird.
  • Beispielsweise wird vorausgesetzt, dass der Bediener jeweils einen oberen Grenzwert xMAX und einen unteren Grenzwert xMIN für den ersten Versatzbetrag xOFF , einen oberen Grenzwert yMAX und yMIN für den zweiten Versatzbetrag yOFF und einen oberen Grenzwert θMAX und einen unteren Grenzwert θMIN für den dritten Versatzbetrag θOFF eingibt.
  • In diesem Fall sendet die Dateneingabeeinheit 20 die Eingabedaten der oberen Grenzwerte (xMAX , yMAX , θMAX ) und der unteren Grenzwerte (xMIN , yMIN , θMIN ), die durch den Bediener eingegeben werden, über die E/A-Schnittstelle 18 an die CPU 12.
  • Gemäß den empfangenen Eingabedaten stellt die CPU 12 den Bereich des ersten Versatzbetrags xOFF auf xMIN ≤ xOFF ≤ xMAX ein. Falls hier der obere Grenzwert XMAX und der untere Grenzwert xMIN positive Werte sind, stellen sie jeweils Versatzbeträge dar, die gegenüber der Referenzposition C um die Koordinaten xMAX und xMIN in der positiven X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung zu versetzen sind.
  • Falls dagegen der obere Grenzwert xMAX und die untere Grenze xMIN negative Werte sind, stellen sie jeweils Versatzbeträge dar, die gegenüber der Referenzposition C um die Koordinaten xMAX und xMIN in der negativen X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung zu versetzen sind.
  • Ferner stellt die CPU gemäß den empfangenen Eingabedaten den Bereich des zweiten Versatzbetrags yOFF auf yMIN ≤ yOFF ≤ yMAX ein. Falls dabei der obere Grenzwert yMAX und der untere Grenzwert yMIN positive Werte sind, stellen sie jeweils Versatzbeträge dar, die gegenüber der Referenzposition C um die Koordinaten yMAX und yMIN in der positiven Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung zu versetzen sind.
  • Falls dagegen der obere Grenzwert yMAX und die untere Grenze yMIN negative Werte sind, stellen sie jeweils Versatzbeträge dar, die gegenüber der Referenzposition C um die Koordinaten yMAX und yMIN in der negativen Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung zu versetzen sind.
  • Ferner stellt die CPU 12 gemäß den empfangenen Eingabedaten den Bereich des dritten Versatzbetrags θOFF auf θMIN ≤ θOFF ≤ θMAX ein. Falls dabei der obere Grenzwert θMAX und der untere Grenzwert θMIN positive Werte sind, stellen sie jeweils Versatzbeträge dar, die um die Achse O1 herum gegenüber der Referenzposition C um die Winkel θMAX und θMIN im Gegenuhrzeigersinn, aus der positiven Z-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung gesehen, zu drehen sind.
  • Falls dagegen der obere Grenzwert θMAX und der untere Grenzwert θMIN negative Werte sind, stellen sie jeweils Versatzbeträge dar, die um die Achse O1 herum gegenüber der Referenzposition C um die Winkel θMAX und θMIN im Uhrzeigersinn, aus der positiven Z-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung gesehen, zu drehen sind.
  • Als ein anderes Beispiel gibt der Bediener in diesem Schritt S3 nur einen Schwellenwert für den Versatzbetrag (xOFF , yOFF , θOFF ) ein. In diesem Fall generiert die CPU 12 Eingabebilddaten, damit der Bediener den Schwellenwert für die Versatzbeträge (xOFF , yOFF , θOFF ) eingeben kann, und zeigt sie an der Anzeige 22 an. Der Bediener betätigt die Dateneingabeeinheit 20, um einen gewünschten Schwellenwert in das Eingabebild einzugeben, das an der Anzeige 22 angezeigt wird.
  • Beispielsweise wird vorausgesetzt, dass der Bediener jeweils einen Schwellenwert x1 für den ersten Versatzbetrag xOFF , einen Schwellenwert y1 für den zweiten Versatzbetrag yOFF und einen Schwellenwert θ1 für den dritten Versatzbetrag θOFF eingibt. In diesem Fall sendet die Dateneingabeeinheit 20 die Eingabedaten der Schwellenwerte (x1 , y1 , θ1 ), die durch den Bediener eingegeben werden, über die E/A-Schnittstelle 18 an die CPU 12.
  • Gemäß den empfangenen Eingabedaten stellt die CPU 12 den Bereich des ersten Versatzbetrags xOFF als -x1 ≤ xOFF ≤ x1, 0 ≤ xOFF ≤ x1 oder -x1xOFF ≤ 0 ein.
  • Zudem stellt die CPU 12 den Bereich des zweiten Versatzbetrags yOFF als -y1 ≤ yOFF ≤ y1, 0 ≤ yOFF ≤ y1 oder -y1 ≤ yOFF ≤ 0 ein. Zudem stellt die CPU 12 den Bereich des dritten Versatzbetrags θOFF als -θ1 ≤ θOFF ≤ θ1, 0 ≤ θOFF ≤ θ1 oder -θ1 ≤ θOFF ≤ 0 ein.
  • Somit empfängt die CPU 12 die Eingabe von Werten (xMAX , yMAX , θMAX , xMIN , yMIN , θMIN , x1 , y1 oder θ1 ), welche die Versatzbeträge xOFF , yOFF und θOFF bestimmen, und stellt die Versatzbeträge xOFF , yOFF und θOFF ein. Entsprechend dient die CPU 12 als Versatzeinstellungsteil 54 (1), der konfiguriert ist, um die Versatzbeträge xOFF , yOFF und θOFF jedes Werkstückmodells WM gegenüber seiner Referenzposition C einzustellen.
  • In Schritt S4 führt die CPU 12 einen Förderbetrieb aus, um das Werkstückmodell WM durch das Fördervorrichtungsmodell 100M im virtuellen Raum 110 simulativ zu transportieren. Insbesondere betätigt die CPU 12 das Fördervorrichtungsmodell 100M simulativ im virtuellen Raum 110, um das Werkstückmodell WM in der positiven Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung zu befördern, wenn das Werkstückmodell WM auf dem Fördervorrichtungsmodell 104M angeordnet ist.
  • Somit dient die CPU 12 bei dieser Ausführungsform als Teil 56 zum Ausführen eines Förderbetriebs (1), der konfiguriert ist, um einen Förderbetrieb auszuführen, um das Werkstückmodell WM durch das Fördervorrichtungsmodell 100M zu befördern.
  • In Schritt S5 ordnet die CPU 12 das Werkstückmodell WM auf dem Fördervorrichtungsmodell 100M im virtuellen Raum 110 an. Nun bestimmt die CPU 12 die Versatzbeträge xOFF , yOFF und θOFF innerhalb der Bereiche der Versatzbeträge xOFF , yOFF und θOFF , die in Schritt S3 eingestellt werden, auf Zufallsbasis.
  • Beispielsweise bestimmt die CPU 12 den ersten Versatzbetrag xOFF als einen Wert innerhalb des Bereichs von xMIN ≤ xOFF ≤ xMAX auf Zufallsbasis. Zudem bestimmt die CPU 12 den zweiten Versatzbetrag yOFF als einen Wert innerhalb des Bereichs von YMIN ≤ yOFF ≤ yMAX auf Zufallsbasis. Zudem bestimmt die CPU 12 den zweiten Versatzbetrag θOFF als einen Wert innerhalb des Bereichs von θMIN ≤ θOFF ≤ θMAX auf Zufallsbasis.
  • Dann erhält die CPU 12 eine Versatzposition, die gegenüber der Referenzposition C um die bestimmten Versatzbeträge xOFF , yOFF und θOFF versetzt ist, und ordnet das Werkstück WM in dem Förderteilabschnittmodell 104M in der Versatzposition an.
  • Somit ordnet die CPU 12 bei dieser Ausführungsform das Werkstück WM auf dem Förderteilabschnittmodell 104M innerhalb eines Positionsbereichs (z.B. des geschlossenen Intervalls [xMIN , xMAX ], [yMIN , yMAX ], [θMIN , θMAX ]) zwischen der Referenzposition C und einer Position, die gegenüber der Referenzposition C um die Versatzbeträge versetzt ist, die in Schritt S3 eingestellt werden (z.B. xMAX , yMAX , θMAX , xMIN , yMIN , θMIN ), in diesem Schritt S5 an.
  • In 11 ist der Positionsbereich, in dem die CPU 12 das Werkstückmodell WM in Schritt S5 anordnen kann, durch die strichpunktierte Region D angegeben. Der Positionsbereich D stellt einen Bereich dar, den das Werkstückmodell WM auf dem Förderteilabschnittmodell 104M einnehmen kann, wenn die CPU das Werkstückmodell M innerhalb des Bereichs des Versatzbetrags anordnet, der in Schritt S3 eingestellt wird (z.B. [xMIN , xMAX ], [yMIN , yMAX ], [θMIN , θMAX ]).
  • Der Positionsbereich D variiert in Abhängigkeit von den Versatzbeträgen, die in Schritt S3 eingestellt werden (xMAX , yMAX , θMAX , xMIN , yMIN , θMIN , x1 , y1 oder θ1 ). Somit dient die CPU 12 bei dieser Ausführungsform als Modellanordnungsteil 52 und ordnet das Werkstückmodell WM auf dem Fördervorrichtungsmodell 100M im virtuellen Raum 110 an.
  • Wie in 4 abgebildet, führt die CPU 12 eine Schleife von Schritt S5 bis S10 aus, bis sie in Schritt S10, der noch beschrieben wird, JA bestimmt. Entsprechend ordnet die CPU 12 das Werkstückmodell WM auf dem Fördervorrichtungsmodell 100M jedes Mal ständig an, wenn die CPU 12 den Schritt S5 ausführt.
  • 12 zeigt den Positionsbereich des Werkstückmodells WMn-1 , der in dem (n-1)-ten Schritt S5 angeordnet ist, als einfach strichpunktierte Region Dn-1 und den Positionsbereich des Werkstückmodells WMn , der in dem n-ten Schritt S5 angeordnet wird, als doppelt strichpunktierte Region Dn an.
  • In Schritt S5, der zum n-ten Mal ausgeführt wird, ordnet die CPU 12 das Werkstückmodell WMn an, nachdem das Werkstückmodell WMn-1 , das in dem (n-1)-ten Schritt S5 angeordnet wird, durch das Fördervorrichtungsmodell 100M befördert wurde.
  • Nun ordnet die CPU 12 das Werkstückmodell WMn derart an, dass sich der Positionsbereich Dn-1 des Werkstückmodells WMn-1 , das in dem (n-1)-ten Schritt S5 angeordnet wird, und der Positionsbereich Dn des Werkstückmodells WMn , das in dem n-ten Schritt S5 angeordnet wird, in der Region H mindestens eines Teils des Positionsbereichs überlappen.
  • Das Intervall E zwischen den Werkstückmodellen WMn-1 und WMn , die nebeneinanderliegen, wird durch den Bediener vorbestimmt. Das Intervall E stellt den Abstand in der Y-Achsenrichtung des Koordinatensystems der Fördervorrichtung Cc zwischen dem Mittelpunkt B0_n-1 der Referenzposition Cn-1 des Werkstückmodells WMn-1 und dem Mittelpunkt B0_n der Referenzposition Cn des Werkstückmodells WMn dar. Das Intervall E wird derart bestimmt, dass sich der Positionsbereich Dn-1 und der Positionsbereich Dn überlappen.
  • Als ein Beispiel generiert die CPU 12 in Schritt S3 Eingabebilddaten, damit der Bediener das Intervall E zusätzlich zu den Versatzbeträgen (xMAX , YMAX , θMAX , xMIN , yMIN , θMIN , x1 , y1 oder θ1 ) eingegeben kann, und zeigt es an der Anzeige 22 an. Der Bediener betätigt die Dateneingabeeinheit 20, um ein gewünschtes Intervall E in das Eingabebild einzugeben, das an der Anzeige 22 angezeigt wird.
  • Nun kann die CPU 12 bestimmen, ob sich die nebeneinanderliegenden Positionsbereiche Dn-1 und Dn überlappen, basierend auf dem eingegebenen Versatzbetrag und dem Intervall E. Falls die CPU 12 bestimmt, dass sich die Positionsbereiche Dn-1 und Dn nicht überlappen, kann die CPU 12 an der Anzeige 22 ein Bild anzeigen, das dies angibt.
  • In Schritt S6 inkrementiert die CPU 12 den Wert der Gesamtanzahl „n“ der Werkstückmodelle WM, die dem Fördervorrichtungsmodell 100M seit Beginn von Schritt S4 zugeführt wurden, um „1“ (d.h. n = n + 1). Es sei zu beachten, dass zu Beginn des in 4 abgebildeten Ablaufs die CPU 12 die Gesamtanzahl „n“ auf „0“ (d.h. n = 0) einstellt.
  • In Schritt S7 bestimmt die CPU 12, ob eine Störung zwischen einem Werkstückmodell, das in dem letzten Schritt S5 angeordnet wurde, und einem anderen Werkstückmodell, das vor dem einen Werkstückmodell angeordnet wurde, besteht.
  • Wenn die CPU 12 beispielsweise den n-ten Schritt S7 ausführt, bestimmt die CPU 12, ob eine Störung zwischen dem Werkstückmodell WMn , das in dem n-ten Schritt S5 angeordnet wurde, und dem Werkstückmodell WMn-1 , das in dem (n-1)-ten Schritt S5 angeordnet wurde, detektiert wird.
  • Wie zuvor beschrieben ordnet die CPU 12 in Schritt S5 das Werkstückmodell WMn derart an, dass sich die Positionsbereiche Dn-1 und Dn überlappen. Wenn die CPU 12 das Werkstückmodell WMn innerhalb des Positionsbereichs Dn in dem n-ten Schritt S5 zufällig anordnet, kann entsprechend eine Störregion F zwischen dem Werkstückmodell WMn und dem Werkstückmodell WMn-1 vorkommen, wie in 13 abgebildet.
  • In diesem Schritt S7 detektiert die CPU 12 die Störregion F basierend beispielsweise auf Profildaten des Werkstückmodells WMn und des Werkstückmodells WMn-1 , die im virtuellen Raum 110 angeordnet sind.
  • Falls die CPU 12 die Störregion F detektiert (d.h. JA bestimmt), fährt die CPU 12 mit Schritt S8 fort. Falls die CPU 12 dagegen die Störregion F nicht detektiert (d.h. NEIN bestimmt), fährt die CPU 12 mit Schritt S10 fort. Somit dient die CPU 12 bei dieser Ausführungsform als Störungsdetektionsteil 58 (1), der konfiguriert ist, um die Störregion F zu detektieren.
  • In Schritt S8 sucht die CPU 12 eine störungsfreie Position, in der die Störregion F für mindestens eines von dem Werkstückmodell WMn und dem Werkstückmodell WMn-1 nicht vorkommt. Schritt S8 wird mit Bezug auf 14 beschrieben.
  • Nach dem Beginn von Schritt S8 verschiebt die CPU 12 in Schritt S11 die Position von mindestens einem von dem Werkstückmodell WMn und dem Werkstückmodell WMn-1 innerhalb des Positionsbereichs Dn oder Dn-1 .
  • Als ein Beispiel ändert die CPU 12 die Koordinate xn in der X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung des Mittelpunkts B1_n des Werkstückmodells WMn , das in 13 abgebildet ist (z.B. xn + α oder xn - α), damit sie in den Positionsbereich Dn (z.B. das geschlossene Intervall [xMIN , xMAX ]) fällt.
  • Alternativ ändert die CPU 12 die Koordinate yn in der Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung des Mittelpunkts B1_n des Werkstückmodells WMn (z.B. yn + α oder yn - α), damit sie in den Positionsbereich Dn (z.B. das geschlossene Intervall [yMIN , yMAX ]) fällt.
  • Alternativ dreht die CPU 12 das Werkstückmodell WMn um einen vorbestimmten Winkel (z.B. +α oder -a) um die Achse O1 herum, damit er in den Positionsbereich Dn (z.B. das geschlossene Intervall [θMIN , θMAX ]) fällt.
  • Als ein anderes Beispiel ändert die CPU 12 die Koordinate xn-1 in der X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung des Mittelpunkts B1_n-1 des Werkstückmodells WMn-1 , das in 13 abgebildet ist (z.B. xn-1 + α oder xn-1 - α), damit sie in den Positionsbereich Dn-1 fällt.
  • Alternativ ändert die CPU 12 die Koordinate yn-1 in der Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung des Mittelpunkts B1_n-1 des Werkstückmodells WMn-1 (z.B. yn-1 + α oder yn-1 - α), damit sie in den Positionsbereich Dn-1 fällt.
  • Alternativ dreht die CPU 12 das Werkstückmodell WMn-1 um einen vorbestimmten Winkel (z.B. +α oder -a) um die Achse O1 herum, damit er in den Positionsbereich Dn-1 fällt. Als noch ein anderes Beispiel kann die CPU 12 die Positionen der beiden Werkstückmodelle WMn und WMn-1 unter Verwendung des zuvor beschriebenen Verfahrens ändern.
  • Durch das Ausführen eines derartigen Prozesses ändert die CPU 12 die relative Position der beiden Werkstückmodelle WMn und WMn-1 . Somit dient die CPU 12 bei dieser Ausführungsform als Positionsänderungsteil 64 (1), der konfiguriert ist, um die relative Position der beiden Werkstückmodelle WMn und WMn-1 zu ändern.
  • In Schritt S12 bestimmt die CPU 12 anhand eines ähnlichen Verfahrens wie in dem zuvor erwähnten Schritt S7, ob die Störregion F zwischen den Werkstückmodellen WMn und WMn-1 , deren Position in Schritt S11 verschoben wurde, vorkommt.
  • Falls die CPU 12 bestimmt, dass die Störregion F vorkommt (d.h. JA bestimmt), kehrt die CPU 12 zu Schritt S11 zurück. Falls die CPU 12 dagegen bestimmt, dass die Störregion F nicht vorkommt (d.h. NEIN bestimmt), beendet die CPU 12 den Schritt S8, der in 14 abgebildet ist, und fährt mit Schritt S9 in 4 fort. Somit dient die CPU 12 bei dieser Ausführungsform als Störungsbestimmungsteil 66 (1), der konfiguriert ist, um zu bestimmen, ob die Störregion F vorkommt.
  • Wie zuvor beschrieben führt die CPU 12 eine Schleife der Schritte S11 und S12 aus, bis sie in Schritt 12 NEIN bestimmt (d.h. bis die Störregion F nicht mehr detektiert wird). Durch das Ausführen von Schritt S8 sucht die CPU 12 eine störungsfreie Position, in der die Störregion F zwischen dem Werkstückmodell WMn und dem Werkstückmodell WMn-1 nicht vorkommt.
  • Entsprechend dient die CPU 12 als Teil 60 zum Suchen einer störungsfreien Position (1), der konfiguriert ist, um die störungsfreie Position zu suchen. Ferner bilden der Positionsänderungsteil 64, der Schritt S11 ausführt, und der Störungsbestimmungsteil 66, der Schritt S12 ausführt, den Teil 60 zum Suchen einer störungsfreien Position.
  • Es sei zu beachten, dass die CPU 12 den in 14 abgebildeten Ablauf parallel zu dem Förderbetrieb ausführen kann, der in Schritt S4 beginnt, während der Förderbetrieb ausgeführt wird. Alternativ kann die CPU 12 den Förderbetrieb zeitweilig anhalten, der in Schritt S4 beginnt, wenn die CPU 12 in Schritt S7 JA bestimmt, und kann dann den in 14 abgebildeten Ablauf ausführen. In diesem Fall kann die CPU 12 den Förderbetrieb am Ende von Schritt S9, der noch beschrieben wird, neu starten.
  • Wenn die CPU 12 zudem wiederholt den Schritt S11 ausführt, bis in Schritt S12 NEIN bestimmt wird, kann die CPU 12 die Vorgänge des Verschiebens mindestens eines der Werkstückmodelle WMn und WMn-1 in der X-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung, des Verschiebens mindestens eines der Werkstückmodelle WMn und WMn-1 in der Y-Richtung des Koordinatensystems CC der Fördervorrichtung und des Drehens mindestens eines der Werkstückmodelle WMn und WMn-1 um die Achse O1 herum in einer vorbestimmten Reihenfolge ausführen. Wenn diese Vorgänge ausgeführt werden, können die Reihenfolge und der Verlagerungsbetrag α durch den Bediener vorbestimmt sein.
  • Ferner kann die CPU 12 in Schritt S11 eine Richtung berechnen, in der sich das Werkstückmodell WMn und das Werkstückmodell WMn-1 voneinander trennen, und diese Trennrichtung als die Richtung bestimmen, in der mindestens eines der Werkstückmodelle WMn und WMn-1 zu verschieben ist.
  • Wieder mit Bezug auf 4 korrigiert die CPU 12 in Schritt S9 die Position von mindestens einem der Werkstückmodelle WMn und WMn-1 . Insbesondere bestimmt die CPU 12 die Position von mindestens einem der Werkstückmodelle WMn und WMn-1 als die störungsfreie Position, die in Schritt S8 gesucht wird (d.h. die Position, wenn in Schritt S12 NEIN bestimmt wird).
  • Dadurch werden die Positionen der Werkstückmodelle WMn und WMn-1 gegenüber den Positionen, wenn in Schritt S7 JA bestimmt wird, auf die störungsfreien Positionen, in denen die Störregion F nicht vorkommt, korrigiert. Somit dient die CPU 12 als Teil 62 zum Korrigieren einer Werkstückposition (1), der konfiguriert ist, um die Position von mindestens einem der Werkstückmodelle WMn und WMn-1 zu korrigieren.
  • In Schritt S10 bestimmt die CPU 12, ob die Gesamtanzahl „n“, die in Schritt S6 inkrementiert wird, die Gesamtanzahl NT erreicht, die in Schritt S2 eingestellt wird (d.h. ob n = nT).
  • Wenn die CPU 12 bestimmt, dass n = nT (d.h. JA bestimmt wird), beendet sie die Simulation, die in Schritt S4 begann, und beendet dadurch den Ablauf, der in 4 abgebildet ist. Wenn die CPU 12 dagegen bestimmt, dass n < nT (d.h. NEIN bestimmt wird), kehrt sie zu Schritt S5 zurück.
  • Wie zuvor beschrieben, ändert die CPU 12 bei dieser Ausführungsform die Position (d.h. die Position auf der X-Achse und der Y-Achse des Koordinatensystems der Fördervorrichtung Cc) und die Ausrichtung (den Winkel θ um die Achse O1 herum) zufällig, wenn das Werkstückmodell WM auf dem Förderteilabschnittmodell 104M angeordnet ist.
  • Dann detektiert die CPU 12, ob die Störregion E vorkommt, wenn das Werkstückmodell WMn angeordnet ist (Schritt S7), und sucht die störungsfreie Position für das Werkstückmodell WM (Schritt S8), falls die Störregion E vorkommt. Dann korrigiert die CPU 12 die Position des Werkstückmodells WM auf die gesuchte störungsfreie Position (Schritt S9).
  • Gemäß dieser Konfiguration ist es möglich, den Betrieb der Fördervorrichtung 100 im wirklichen Raum, wie mit Bezug auf 2 und 3 beschrieben, auf eine Art und Weise zu simulieren, die dem tatsächlichen Betrieb ähnlich ist, wobei das Vorkommen der Störregion E verhindert wird.
  • Ferner werden bei dieser Ausführungsform der erste Versatzbetrag xOFF , der zweite Versatzbetrag yOFF und der dritte Versatzbetrag θOFF als Versatzbetrag eingestellt. Da gemäß dieser Konfiguration die Position und Ausrichtung, wenn das Werkstückmodell WM auf dem Förderteilabschnittmodell 104M angeordnet wird, unterschiedlich geändert werden können, ist es möglich, den Betrieb der Fördervorrichtung 100 auf eine Art und Weise zu simulieren, die dem tatsächlichen Betrieb ähnlicher ist.
  • Ferner ändert die CPU 12 bei dieser Ausführungsform die relative Position der beiden Werkstückmodelle WM (Schritt S11), wenn das Vorkommen der Störregion E in Schritt 7 detektiert wird, und bestimmt dann, ob sich die beiden Werkstückmodelle WM stören (Schritt S12), wodurch die störungsfreie Position gesucht wird. Gemäß dieser Konfiguration ist es möglich, die störungsfreie Position mit einem relativ einfachen Algorithmus zuverlässig zu suchen.
  • Als Nächstes wird ein Simulationssystem 150 gemäß einer anderen Ausführungsform mit Bezug auf 15 beschrieben. Das Simulationssystem 150 unterscheidet sich von dem zuvor beschriebenen Simulationssystem 10 durch die Simulationsvorrichtung 160.
  • Die Simulationsvorrichtung 160 umfasst den Modellanordnungsteil 52, den Versatzeinstellungsteil 54, den Teil 56 zum Ausführen eines Förderbetriebs, den Störungsdetektionsteil 58, den Teil 60 zum Suchen einer störungsfreien Position, den Teil 62 zum Korrigieren einer Werkstückposition und einen Teil 162 zum Einstellen eines ersten Verhältnisses.
  • Die CPU 12 kann die Funktionen des Modellanordnungsteils 52, des Versatzeinstellungsteils 54, des Teils 56 zum Ausführen eines Förderbetriebs, des Störungsdetektionsteils 58, des Teils 60 zum Suchen einer störungsfreien Position, des Teils 62 zum Korrigieren einer Werkstückposition und des Teils 162 zum Einstellen eines ersten Verhältnisses ausführen.
  • Wie in Fig. abgebildet 16, ordnet die CPU 12 bei dieser Ausführungsform im virtuellen Raum 110 einen ersten Typ von Werkstückmodell WM1 und einen zweiten Typ von Werkstückmodell WM2, der eine andere Form als der erste Typ des Werkstückmodells WM1 aufweist, an. Der erste Typ von Werkstückmodell WM1 weist im Wesentlichen eine Quaderform auf, ähnlich wie das zuvor beschriebene Werkstückmodell WM, wohingegen der zweite Typ von Werkstückmodell WM2 im Wesentlichen eine Kreiszylinderform aufweist.
  • Als Nächstes wird der Betrieb des Simulationssystems 150 mit Bezug auf 17 beschrieben. Es sei zu beachten, dass bei dem in 17 abgebildeten Ablauf, ähnliche Prozesse wie die in dem in 4 abgebildeten Ablauf die gleichen Schrittnummern erhalten, und ausführliche Beschreibungen derselben entfallen.
  • Nach Schritt S2 stellt die CPU 12 in Schritt S21 ein erstes Verhältnis R1 der Anzahl „na“ des ersten Typs von Werkstückmodellen WM1 und der Anzahl „nb “ des zweiten Typs von Werkstückmodellen WM2 (d.h. R1 = na/nb) ein, wenn die Werkstückmodelle WM in dem folgenden Schritt S23 im virtuellen Raum 110 angeordnet werden.
  • Als ein Beispiel generiert die CPU 12 Eingabebilddaten, damit der Bediener das Verhältnis R1 eingeben kann, und zeigt es an der Anzeige 22 an. Die Bediener betätigt die Dateneingabeeinheit 20, um ein gewünschtes Verhältnis R1 in das Eingabebild einzugeben, das an der Anzeige 22 angezeigt wird.
  • Die Dateneingabeeinheit 20 sendet die Eingabedaten des Verhältnisses R1 , die durch den Bediener eingegeben werden, über die E/A-Schnittstelle 18 an die CPU 12. Die CPU 12 stellt das Verhältnis R1 gemäß den empfangenen Eingabedaten ein und speichert die Einstellung des Verhältnisses R1 in dem Systemspeicher 14.
  • Somit dient die CPU 12 bei dieser Ausführungsform als Teil 162 zum Einstellen eines ersten Verhältnisses (15), der konfiguriert ist, um das Verhältnis R1 des ersten Typs von Werkstückmodell WM1 und des zweiten Typs von Werkstückmodell WM2 einzustellen.
  • In Schritt S22 dient die CPU 12 als Versatzeinstellungsteil 54, um den Versatzbetrag einzustellen, wenn die Werkstückmodelle auf dem Fördervorrichtungsmodell 100M im virtuellen Raum 110 angeordnet werden.
  • Insbesondere empfängt die CPU 12 ähnlich wie bei der zuvor beschriebenen Ausführungsform von dem Bediener den ersten Versatzbetrag xOFF , den zweiten Versatzbetrag yOFF und den dritten Versatzbetrag θOFF als Versatzbetrag für den ersten Typ von Werkstückmodell WM1 und stellt den ersten Versatzbetrag xOFF , den zweiten Versatzbetrag yOFF und den dritten Versatzbetrag θOFF ein.
  • Ferner empfängt die CPU 12 von dem Bediener den ersten Versatzbetrag xOFF und den zweiten Versatzbetrag yOFF als Versatzbetrag für den zweiten Typ von Werkstückmodell WM2 und stellt den ersten Versatzbetrag xOFF und den zweiten Versatzbetrag yOFF ein. Da der zweite Typ von Werkstückmodell WM2 aus der Z-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung gesehen kreisförmig ist, ist es nicht notwendig, den dritten Versatzbetrag θOFF bezüglich des Winkels um die Achse O1 herum einzustellen.
  • Nach Schritt S4 dient die CPU 12 in Schritt S23 als Modellanordnungsteil 52 und ordnet die Werkstückmodelle auf dem Fördervorrichtungsmodell 100M im virtuellen Raum 110 an.
  • Nun wählt die CPU 12 den ersten Typ von Werkstückmodell WM1 oder den zweiten Typ von Werkstückmodell WM2 gemäß dem Verhältnis R1 , das in Schritt S2 eingestellt wird, und ordnet ihn auf dem Förderteilabschnittmodell 104M an.
  • Falls beispielsweise die Gesamtanzahl nT , die in Schritt S2 eingestellt wird, 100 (nT = 100) ist und das Verhältnis R1 , das in Schritt S21 eingestellt wird, R1 = na/nb = 3/2 ist, wählt die CPU 12 entweder den ersten Typ von Werkstückmodell WM1 oder den zweiten Typ von Werkstückmodell WM2 aus und ordnet ihn an, um 60 von dem ersten Typ von Werkstückmodellen WM1 und 40 von dem zweiten Typ von Werkstückmodellen WM2 im virtuellen Raum 110 zuzuführen, bis die CPU 12 in Schritt S10 JA bestimmt.
  • Wenn der erste Typ von Werkstückmodell WM1 angeordnet wird, ändert die CPU 12 die Position und Ausrichtung des ersten Typs von Werkstückmodell WM1 innerhalb des Positionsbereichs D (z.B. des geschlossenen Intervalls [xMIN , xMAX ], [yMIN , YMAX ], [θMIN , θMAX ]), der durch den in Schritt S3 eingestellten Versatzbetrag bestimmt wird, auf Zufallsbasis.
  • Wenn ferner der zweite Typ von Werkstückmodell WM2 angeordnet wird, ändert die CPU 12 die Position und Ausrichtung des zweiten Typs von Werkstückmodell WM2 innerhalb des Positionsbereichs D (z.B. des geschlossenen Intervalls [xMIN , xMAX ], [yMIN , yMAX ]), der durch den in Schritt S3 eingestellten Versatzbetrag bestimmt wird, auf Zufallsbasis.
  • Somit ist es gemäß dieser Ausführungsform möglich, den Betrieb des Beförderns von verschiedenen Werkstücktypen durch die Fördervorrichtung 100 auf eine Art und Weise zu simulieren, die dem tatsächlichen Betrieb ähnlich ist.
  • Als Nächstes wird ein Simulationssystem 170 gemäß noch einer anderen Ausführungsform mit Bezug auf 18 beschrieben. Das Simulationssystem 170 unterscheidet sich von dem zuvor beschriebenen Simulationssystem 10 durch die Simulationsvorrichtung 180.
  • Die Simulationsvorrichtung 180 umfasst den Modellanordnungsteil 52, den Versatzeinstellungsteil 54, den Teil 56 zum Ausführen eines Förderbetriebs, den Störungsdetektionsteil 58, den Teil 60 zum Suchen einer störungsfreien Position, den Teil 62 zum Korrigieren einer Werkstückposition und einen Teil 182 zum Einstellen eines zweiten Verhältnisses.
  • Die CPU 12 dient als Modellanordnungsteil 52, als Versatzeinstellungsteil 54, als Teil 56 zum Ausführen eines Förderbetriebs, als Störungsdetektionsteil 58, als Teil 60 zum Suchen einer störungsfreien Position, als Teil 62 zum Korrigieren einer Werkstückposition und als Teil 182 zum Einstellen eines zweiten Verhältnisses.
  • Wie in 19 abgebildet, ordnet die CPU 12 bei dieser Ausführungsform ein Werkstückmodell WM3 im virtuellen Raum 110 an. Das Werkstückmodell WM3 weist im Wesentlichen eine Quaderform auf und umfasst eine Vorderseite 112 und eine Rückseite 114 gegenüber der Vorderseite 112. Ein Muster 116 aus einem Buchstaben „A“ ist auf der Vorderseite 112 gebildet, während ein Muster 118 aus einem Buchstaben „B“ auf der Rückseite 114 gebildet ist.
  • Als Nächstes wird der Betrieb des Simulationssystems 170 mit Bezug auf 20 beschrieben. Es sei zu beachten, dass bei dem in 20 abgebildeten Ablauf Prozesse, die ähnlich sind wie diejenigen in dem in 4 gezeigten Ablauf sind, die gleichen Schrittnummern erhalten, und ausführliche Beschreibungen derselben entfallen.
  • Nach Schritt S2 stellt die CPU 12 in Schritt S31 ein Verhältnis R2 der Häufigkeit „nc“ ein, mit der das Werkstückmodell WM3 auf dem Fördervorrichtungsmodell 104M angeordnet wird, so dass die Vorderseiten 112 sichtbar sind (d.h. die Vorderseites 112 ist der Seite gegenüber dem Fördervorrichtungsmodell 100M zugewandt), wie in Teilabschnitt (a) in 19 abgebildet, und die Häufigkeit „nd“, mit der die Werkstückmodelle WM3 auf dem Fördervorrichtungsmodell 104M angeordnet werden, so dass die Rückseiten 114 sichtbar sind, wie in Teilabschnitt (b) in 19 abgebildet (d.h. R2 = nc/nd), wenn die Werkstückmodelle WM3 in dem folgenden Schritt S32 im virtuellen Raum 110 angeordnet werden.
  • Als ein Beispiel generiert die CPU 12 Eingabebilddaten, damit der Bediener das Verhältnis R2 eingeben kann, und zeigt sie an der Anzeige 22 an. Der Bediener betätigt die Dateneingabeeinheit 20, um ein gewünschtes Verhältnis R2 in das Eingabebild einzugeben, das an der Anzeige 22 angezeigt wird.
  • Die Dateneingabeeinheit 20 sendet die Eingabedaten des Verhältnisses R2 , das durch den Bediener eingegeben wird, über die E/A-Schnittstelle 18 an die CPU 12. Die CPU 12 stellt das Verhältnis R2 gemäß den empfangenen Eingabedaten ein und speichert die Einstellung des Verhältnisses R2 in dem Systemspeicher 14. Somit dient die CPU 12 bei dieser Ausführungsform als Teil 182 zum Einstellen eines zweiten Verhältnisses (18), der konfiguriert ist, um das Verhältnis R2 einzustellen.
  • Nach Schritt S4 dient die CPU 12 in Schritt S32 als Modellanordnungsteil 52 und ordnet das Werkstückmodell WM3 in dem Fördervorrichtungsmodell 100M im virtuellen Raum 110 an.
  • Nun wählt die CPU 12 gemäß dem in Schritt S31 eingestellten Verhältnis R2 aus, ob das Werkstückmodell WM3 auf dem Fördervorrichtungsmodell 100M derart anzuordnen ist, dass die Vorderseite 112 sichtbar ist, oder ob das Werkstückmodell WM3 auf dem Fördervorrichtungsmodell 100M derart anzuordnen ist, dass die Rückseite 114 sichtbar ist.
  • Falls beispielsweise die Gesamtanzahl nT , die in Schritt S2 eingestellt wird, 100 (nT = 100) ist und das in Schritt S31 eingestellte Verhältnis R2 R2 = nc/nd = 3/2 ist, ordnet die CPU 12 60 der Werkstückmodelle WM3 derart an, dass ihre Vorderseiten 112 sichtbar sind, und ordnet 40 der Werkstückmodelle WM3 derart an, dass ihre Rückseiten 114 sichtbar sind, bis die CPU 12 in Schritt S10 JA bestimmt.
  • Somit ist es gemäß dieser Ausführungsform möglich, den Betrieb des Beförderns von Werkstücken, die jeweils eine Vorderseite und eine Rückseite aufweisen, durch die Fördervorrichtung 100 auf eine Art und Weise zu simulieren, die dem tatsächlichen Betrieb ähnlicher ist.
  • Als Nächstes wird ein Simulationssystem 190 gemäß einer anderen Ausführungsform mit Bezug auf 21 beschrieben. Die Simulationsvorrichtung 190 unterscheidet sich von dem zuvor beschriebenen Simulationssystem 10 durch die Simulationsvorrichtung 200.
  • Die Simulationsvorrichtung 200 umfasst den Modellanordnungsteil 52, den Versatzeinstellungsteil 54, den Teil 56 zum Ausführen eines Förderbetriebs, den Störungsdetektionsteil 58, den Teil 60 zum Suchen einer störungsfreien Position, den Teil 62 zum Korrigieren einer Werkstückposition, einen Teil 204 zum Einstellen eines Betriebsbereichs und einen Teil 206 zum Ausführen eines Verfolgungsbetriebs.
  • Die CPU 12 dient als Modellanordnungsteil 52, als Versatzeinstellungsteil 54, als Teil 56 zum Ausführen eines Förderbetriebs, als Störungsdetektionsteil 58, als Teil 60 zum Suchen einer störungsfreien Position, als Teil 62 zum Korrigieren einer Werkstückposition, als Teil 204 zum Einstellen eines Betriebsbereichs und als Teil 206 zum Ausführen eines Verfolgungsbetriebs.
  • Die Simulationsvorrichtung 200 ist zum Simulieren des Betriebs eines Robotersystems konfiguriert, um ein Werkstück, das durch eine Fördervorrichtung befördert wird, zu verfolgen und mit einer Roboterhand zu halten.
  • Ein Beispiel eines Robotersystems 250 im wirklichen Raum wird mit Bezug auf 22 beschrieben. Das Robotersystem 250 umfasst die Fördervorrichtung 100, einen Roboter 252 und einen Sensor 254.
  • Der Roboter 252 ist ein Vertikal-Knickarmroboter und umfasst eine Roboterbasis 256, einen drehbaren Rumpf 258, einen Roboterarm 260, ein Handgelenk 262 und eine Roboterhand 264. Die Roboterbasis 256 ist am Boden einer Arbeitszelle im wirklichen Raum befestigt.
  • Der drehbare Rumpf 258 wird an der Roboterbasis 256 drehbar bereitgestellt. Der Roboterarm 260 umfasst einen Oberarm 266, der mit dem drehbaren Rumpf 258 drehbar verbunden ist, und einen Unterarm 268, der mit einem distalen Ende des Oberarms 266 drehbar verbunden ist.
  • Das Handgelenk 262 ist mit einem distalen Ende des Unterarms 268 verbunden und trägt die Roboterhand 264, um um 3 Achsen herum drehbar zu sein. Die Roboterhand 264 umfasst beispielsweise eine Mehrzahl von zu öffnenden und zu schließenden Fingern oder ein Ansaugteil und können ein Werkstück W lösbar halten.
  • Ein Roboterkoordinatensystem CR wird für den Roboter 252 eingestellt. Der Roboter 252 betätigt jede Komponente des Roboters 252 mit Bezug auf das Roboterkoordinatensystem CR . Beispielsweise ist die Z-Achse des Roboterkoordinatensystems CR parallel zur senkrechten Richtung des wirklichen Raums angeordnet, und der drehbare Rumpf 258 wird um die Z-Achse des Roboterkoordinatensystems CR herum gedreht.
  • Ein Werkzeugkoordinatensystem CT wird für die Roboterhand 264 eingestellt. Das Werkzeugkoordinatensystem CT definiert die Position und Ausrichtung der Roboterhand 264 in dem Roboterkoordinatensystem CR .
  • Der Roboter 252 betätigt den drehbaren Rumpf 258, den Roboterarm 260 und das Handgelenk 262 in dem Roboterkoordinatensystem CR , so dass die Position und Ausrichtung der Roboterhand 264 mit denen zusammenfallen, die durch das Werkzeugkoordinatensystem CT definiert sind.
  • Der Sensor 254 ist senkrecht oberhalb des Förderteilabschnitts 104 angeordnet und kann das Werkstück W detektieren, das durch den Förderteilabschnitt 104 befördert wird. Der Sensor 254 ist beispielsweise ein dreidimensionaler Videosensor und ist konfiguriert, um das Werkstück W abzubilden, um das Bild des Werkstücks W zu erfassen.
  • Ein Sensorkoordinatensystem CS wird für den Sensor 254 eingestellt. Beispielsweise wird das Sensorkoordinatensystem CS derart eingestellt, dass seine positive Z-Achsenrichtung mit der Sichtlinienrichtung des Sensors 254 und mit der Richtung senkrecht nach unten im wirklichen Raum zusammenfällt.
  • Als Nächstes wird der Betrieb des Robotersystems 250 beschrieben. Zuerst wird ein Werkstück W in der Nähe des stromaufwärtigen Endes des Förderteilabschnitts 104 durch einen Bediener aufgelegt. Dann betätigt die Fördervorrichtung 100 den Förderteilabschnitt 104, um das Werkstück W, das auf dem Förderteilabschnitt 104 liegt, in der Förderrichtung A zu befördern.
  • Dann detektiert der Sensor 254 das Werkstück W, das auf dem Förderteilabschnitt 104 liegt. Insbesondere bildet der Sensor 254 das Werkstück W an dem Förderteilabschnitt 104 ab und erfasst das Bild des Werkstücks W.
  • Dann erfasst der Roboter 252 die Position und Ausrichtung des Werkstücks W in dem Roboterkoordinatensystem CR basierend auf dem detektierten Bild des Werkstücks W, das durch den Sensor 254 erfasst wird. Dann stellt der Roboter 252 basierend auf der erfassten Position und Ausrichtung das Werkzeugkoordinatensystem CT derart ein, dass der Ursprung des Werkzeugkoordinatensystems CT ständig in einer vorbestimmten Position des beförderten Werkstücks W (z.B. dem Mittelpunkt des Werkstücks W) liegt.
  • Der Roboter 252 betätigt den drehbaren Rumpf 258, den Roboterarm 260 und das Handgelenk 262, um die Roboterhand 264 in der Position und Ausrichtung anzuordnen, die durch das Werkzeugkoordinatensystem CT definiert sind. Somit bewirkt der Roboter 252, dass die Roboterhand 264 das Werkstück W, das gerade befördert wird, verfolgt. Dann hält der Roboter 252 das Werkstück W durch die Roboterhand 264. Dadurch wird das Werkstück W, das gerade befördert wird, durch die Roboterhand 264 angehoben.
  • Die Simulationsvorrichtung 200 gemäß dieser Ausführungsform simuliert einen derartigen Betrieb des Robotersystems 250.
  • Als Nächstes wird der Betrieb des Simulationssystems 190 mit Bezug auf 23 beschrieben. Es sei zu beachten, dass bei dem in 23 abgebildeten Ablauf Prozesse, die ähnlich wie die in 4 abgebildeten sind, die gleichen Schrittnummern erhalten, und ausführliche Beschreibungen derselben entfallen.
  • Nach Schritt S1 dient die CPU 12 in Schritt S41 als Modellanordnungsteil 52 und ordnet das Robotermodell im virtuellen Raum an. Der Systemspeicher 14 speichert im Voraus Robotermodelle einer Mehrzahl von Typen von Robotern, wozu der zuvor erwähnte Roboter 252 gehört.
  • Als ein Beispiel generiert die CPU 12 Bilddaten, die eine Mehrzahl von Typen von Robotermodellen, die in dem Systemspeicher 14 gespeichert sind, in der Form einer Liste darstellen, und zeigt sie an der Anzeige 22 an. Der Benutzer betätigt die Dateneingabeeinheit 20, um aus der Liste, die an der Anzeige 22 angezeigt wird, ein gewünschtes Robotermodell auszuwählen.
  • Nachstehend wird ein Fall beschrieben, bei dem der Benutzer das Robotermodell 252M (25) auswählt, das den zuvor beschriebenen Roboter 252 modelliert. Die Dateneingabeeinheit 20 sendet die Eingabedaten, die durch den Benutzer eingegeben werden, über die E/A-Schnittstelle 18 an die CPU 12.
  • Als Reaktion auf die empfangenen Eingabedaten liest die CPU 12 das Robotermodell 252M aus der Mehrzahl von Typen von Robotermodellen aus, die in dem Systemspeicher 14 gespeichert sind, und ordnet es im virtuellen Raum 110 an. Dann generiert die CPU 12 den virtuellen Raum 110 als Bilddaten und zeigt ihn an der Anzeige 22 an.
  • Ein Beispiel des Bildes des virtuellen Raums 110 zu diesem Zeitpunkt ist in 24 abgebildet. In dem virtuellen Raum 110, der in 24 abgebildet ist, ist das Robotermodell 252M, das ein Roboterbasismodell 256M, ein drehbares Rumpfmodell 258M, ein Roboterarmmodell 260M, ein Handgelenkmodell 262M und ein Roboterhandmodell 264M umfasst, angeordnet.
  • Der Systemspeicher 14 speichert diverse virtuelle Roboterbetriebsparameter in Verbindung mit dem Robotermodell 252M. Die virtuellen Roboterbetriebsparameter entsprechen den Betriebsparametern, die zum Betätigen des Roboters 252 im wirklichen Raum notwendig sind. Beispielsweise umfassen die virtuellen Roboterbetriebsparameter ein Roboterkoordinatensystem CR , ein Werkzeugkoordinatensystem CT , und einen virtuellen Bewegungsbereich.
  • Der virtuelle Bewegungsbereich ist ein Bereich im virtuellen Raum 110, der einem Bewegungsbereich entspricht, in dem der Roboter 252 die Roboterhand 264 im wirklichen Raum bewegen kann (d.h. einem Bereich, in dem das Werkzeugkoordinatensystem CT eingestellt werden kann).
  • Wie in 24 abgebildet, stellt die CPU 12 das Roboterkoordinatensystem CR und das Werkzeugkoordinatensystem CT zusammen mit dem Robotermodell 252M im virtuellen Raum 110 ein. Somit dient die CPU 12 bei dieser Ausführungsform als Modellanordnungsteil 52, um das Robotermodell 252M im virtuellen Raum 110 anzuordnen.
  • In Schritt S42 dient die CPU 12 als Modellanordnungsteil 52 und ordnet ein Sensormodell im virtuellen Raum 110 an. Der Systemspeicher 14 speichert im Voraus Sensormodelle einer Mehrzahl von Typen von Sensoren, wozu der zuvor beschriebene Sensor 254 gehört.
  • Als ein Beispiel generiert die CPU 12 Bilddaten, welche die Mehrzahl von Typen von Sensormodellen, die in dem Systemspeicher 14 gespeichert sind, in der Form einer Liste darstellen, und zeigt sie an der Anzeige 22 an. Der Benutzer betätigt die Dateneingabeeinheit 20, um aus der Liste, die an der Anzeige 22 angezeigt wird, ein gewünschtes Sensormodell auszuwählen.
  • Nachstehend wird ein Fall beschrieben, bei dem der Benutzer das Sensormodell 254M (25) auswählt, das den zuvor beschriebenen Sensor 254 modelliert. Die Dateneingabeeinheit 20 sendet die Eingabedaten, die durch den Benutzer eingegeben werden, über die E/A-Schnittstelle 18 an die CPU 12.
  • Als Reaktion auf die empfangenen Eingabedaten liest die CPU 12 das Sensormodell 254M aus der Mehrzahl von Typen von Sensormodellen aus, die in dem Systemspeicher 14 gespeichert sind, und ordnet sie im virtuellen Raum 110 an. Nun ordnet die CPU 12 das Sensormodell 254M auf dem Förderteilabschnittmodell 104M nach oben gerichtet an (d.h. in der positiven Z-Achsenrichtung des Koordinatensystems der Fördervorrichtung TC).
  • Zusammen damit stellt die CPU 12 das Sensorkoordinatensystem CS im virtuellen Raum 110 ein. Somit wird, wie in 25 abgebildet, das Sensormodell 254M im virtuellen Raum 110 eingerichtet. Somit dient die CPU 12 bei dieser Ausführungsform als Modellanordnungsteil 52, um das Sensormodell 254M im virtuellen Raum 110 anzuordnen.
  • Infolge dieses Schrittes S42 wird ein Fördersystemmodell 250M, welches das Fördervorrichtungsmodell 100M, das Robotermodell 252M und das Sensormodell 254M umfasst, im virtuellen Raum 110 strukturiert.
  • In Schritt S43 stellt die CPU 12 einen Verfolgungsbetriebsbereich im virtuellen Raum 110 ein. Der Verfolgungsbetriebsbereich ist ein Betriebsbereich im virtuellen Raum 110, in dem das Robotermodell 252M bewirkt, dass das Roboterhandmodell 264M das Werkstückmodell WM verfolgt, das durch das Fördervorrichtungsmodell 100M befördert wird, wenn die Simulation in dem folgenden Schritt S44 ausgeführt wird.
  • Als ein Beispiel generiert die CPU 12 Eingabebilddaten, damit der Benutzer einen Abstand G (26) eingeben kann, der den Verfolgungsbetriebsbereich definiert, und zeigt ihn an der Anzeige 22 an. Der Abstand G ist ein Abstand entlang der Y-Achsenrichtung des Koordinatensystems CC der Fördervorrichtung. Der Benutzer betätigt die Dateneingabeeinheit 20, um den gewünschten Abstand G in das Eingabebild einzugeben, das an der Anzeige 22 angezeigt wird.
  • Die Dateneingabeeinheit 20 sendet die Eingabedaten des Abstands G, die durch den Benutzer eingegeben werden, über die E/A-Schnittstelle 18 an die CPU 12. Gemäß den empfangenen Eingabedaten stellt die CPU 12 ein stromaufwärtiges Ende 210 und ein stromabwärtiges Ende 212 des Verfolgungsbetriebsbereichs auf dem Förderteilabschnittmodell 104M ein.
  • Nun wird das stromaufwärtige Ende 210 auf der stromabwärtigen Seite des Sensormodells 254M angeordnet. Zudem werden das stromaufwärtige Ende 210 und das stromabwärtige Ende 212 derart angeordnet, dass der virtuelle Bewegungsbereich des Robotermodells 252M zwischen dem stromaufwärtigen Ende 210 und dem stromabwärtigen Ende 212 angeordnet ist.
  • Dadurch wird, wie in 26 abgebildet, der Verfolgungsbetriebsbereich als ein Bereich zwischen dem stromaufwärtigen Ende 210 und dem stromabwärtigen Ende 212 eingestellt. Somit dient die CPU 12 bei dieser Ausführungsform als Teil 204 zum Einstellen eines Betriebsbereichs (21), der konfiguriert ist, um den Verfolgungsbetriebsbereich im virtuellen Raum 110 einzustellen.
  • Es sei zu beachten, dass wenn der Verfolgungsbetriebsbereich eingestellt wird, die CPU 12 das stromaufwärtige Ende 210 oder das stromabwärtige Ende 212 des Verfolgungsbetriebsbereichs im virtuellen Raum 110 als Reaktion auf die Eingabedaten von der Dateneingabeeinheit 20 bewegen kann.
  • Wenn beispielsweise der Verfolgungsbetriebsbereich eingestellt wird, betätigt der Benutzer die Dateneingabeeinheit 20 (z.B. eine Maus), um das stromaufwärtige Ende 210 oder das stromabwärtige Ende 212, das an der Anzeige 22 angezeigt wird, (z.B. durch Ziehen und Ablegen) zu bewegen. Als Reaktion auf die Eingabedaten von der Dateneingabeeinheit 20 durch den Benutzer bewegt die CPU 12 das stromaufwärtige Ende 210 oder das stromabwärtige Ende im virtuellen Raum 110.
  • Falls ferner die Position des Sensormodells 254M in der XY-Ebene des Koordinatensystems CC der Fördervorrichtung infolge des Bewegens des stromaufwärtigen Endes 210 oder des stromabwärtigen Endes 212 als Reaktion auf die Eingabedaten durch den Benutzer in den Verfolgungsbetriebsbereich fällt, kann die Bewegung des stromaufwärtigen Endes 210 oder des stromabwärtigen Endes 212 untersagt werden, oder es kann ein Warnbild an der Anzeige 22 angezeigt werden.
  • Falls ferner der virtuelle Bewegungsbereich des Robotermodells 252M infolge der Bewegung des stromaufwärtigen Endes 210 oder des stromabwärtigen Endes 212 als Reaktion auf die Eingabedaten durch den Benutzer außerhalb des Verfolgungsbetriebsbereichs liegt, kann die Bewegung des stromaufwärtigen Endes 210 oder des stromabwärtigen Endes 212 untersagt werden, oder es kann ein Warnbild an der Anzeige 22 angezeigt werden.
  • In Schritt S44 beginnt die CPU 12 die Simulation des Betriebs des Fördersystemmodells 250M. Insbesondere dient die CPU 12 als Teil 56 zum Ausführen eines Förderbetriebs und betätigt das Fördervorrichtungsmodell 100M simulativ und befördert das Werkstückmodell WM, wenn das Werkstückmodell WM in dem folgenden Schritt S5 auf dem Förderteilabschnittmodell 104M angeordnet wird.
  • Dann betätigt die CPU 12 das Sensormodell 254M im virtuellen Raum 110 simulativ, und das Sensormodell 254M detektiert das Werkstückmodell WM, das gerade befördert wird. Die CPU 12 generiert ein virtuelles detektiertes Bild (virtuelles detektiertes Ergebnis), das zu erhalten ist, wenn das Sensormodell 254M das Werkstückmodell WM im virtuellen Raum 110 detektiert, basierend auf den Sichtliniendaten des Sensormodells 254M und der Anordnungsinformation des Werkstückmodells WM.
  • Dann erfasst die CPU 12 die Position und Ausrichtung des Werkstückmodells WM im Roboterkoordinatensystem CR aus dem generierten virtuellen detektierten Bild. Dann betätigt die CPU 12 basierend auf der erfassten Position und Ausrichtung des Werkstückmodells WM, dem Verfolgungsbetriebsbereich, der in Schritt S43 eingestellt wird, und dem Roboterprogramm das Robotermodell 252M im virtuellen Raum 110 simulativ.
  • Insbesondere stellt die CPU 12 der Reihe nach das Werkzeugkoordinatensystem CT ein, so dass der Ursprung des Werkzeugkoordinatensystems CT ständig in einer vorbestimmten Position (z.B. dem Mittelpunkt) des Werkstückmodells, das gerade befördert wird, angeordnet ist.
  • Die CPU 12 betätigt das Robotermodell 252M im virtuellen Raum 110, um das Roboterhandmodell 264M in der Position und Ausrichtung anzuordnen, die durch das Werkzeugkoordinatensystem CT definiert sind.
  • Somit bewirkt das Robotermodell 252M, dass das Roboterhandmodell 264M das Werkstückmodell WM innerhalb des Verfolgungsbetriebsbereichs im virtuellen Raum 110 verfolgt. Somit dient die CPU 12 bei dieser Ausführungsform als Teil 206 zum Ausführen eines Verfolgungsbetriebs (21), der konfiguriert ist, um zu bewirken, dass das Robotermodell 252M den Verfolgungsbetrieb ausführt.

Claims (8)

  1. Simulationsvorrichtung (50) für ein Robotersystem (250), bei dem ein Roboter (252) an einer Mehrzahl von Werkstücken (W), die durch eine Fördervorrichtung (100) befördert werden, eine Arbeit ausführt, wobei die Simulationsvorrichtung eine CPU (12) umfasst, die eingerichtet ist, um: in einem virtuellen Raum (110) eine Mehrzahl von Werkstückmodellen (WM) und ein Förder-vorrichtungsmodell (100M), welche durch einen Bediener eingegeben und ausgewählt werden und die jeweils die Mehrzahl von Werkstücken (W) und die Fördervorrichtung modellieren, anzuordnen; einen durch den Bediener eingegebenen Versatzbetrag jedes Werkstückmodells gegenüber seiner im Verhältnis zu dem Fördervorrichtungsmodell vorbestimmten Referenzposition einzustellen; einen Förderbetrieb auszuführen, um die Mehrzahl von Werkstückmodellen, die jeweils in einer Position angeordnet sind, die aus der Referenzposition und dem Versatzbetrag erhalten wird, durch das Fördervorrichtungsmodell der Reihe nach zu befördern; eine Störung aufgrund eines durch den Bediener eingegebenen Intervalls (E) zwischen mindestens zwei Werkstückmodellen zu detektieren, die durch das Fördervorrichtungsmodell der Reihe nach befördert werden; eine störungsfreie Position zu suchen, in der die Störung für mindestens eines der mindestens zwei Werkstückmodelle, für welche die Störung detektiert wird, nicht vorkommt; und eine Position des mindestens einen Werkstückmodells, das auf dem Fördervorrichtungsmodell angeordnet ist, basierend auf der gesuchten störungsfreien Position zu korrigieren.
  2. Simulationsvorrichtung nach Anspruch 1, wobei die CPU (12) zum Suchen einer störungsfreien Position eingerichtet ist zum: Ändern einer relativen Position der mindestens zwei Werkstückmodelle; und Bestimmen, ob eine Störung zwischen den mindestens zwei Werkstückmodellen in der geänderten relativen Position vorkommt.
  3. Simulationsvorrichtung nach Anspruch 1 oder 2, wobei die CPU (12) konfiguriert ist, um mindestens einen einzustellen von: einem ersten Versatzbetrag, der gegenüber der Referenzposition in einer ersten Richtung, die zu einer Förderrichtung parallel ist, in der das Fördervorrichtungsmodell das Werkstückmodell befördert, versetzt ist; einem zweiten Versatzbetrag, der gegenüber der Referenzposition in einer zweiten Richtung, die zu der ersten Richtung orthogonal ist, versetzt ist; und einem dritten Versatzbetrag, der gegenüber der Referenzposition in einer Drehrichtung um eine Achse herum, die zu der ersten Richtung und der zweiten Richtung orthogonal ist, versetzt ist.
  4. Simulationsvorrichtung nach einem der Ansprüche 1 bis 3, wobei die CPU (12) ferner eingerichtet ist, um im virtuellen Raum ein Robotermodell (252M), das den Roboter modelliert, ein Roboterhandmodell (264M), das eine Roboterhand (264) modelliert, die das Werkstück hält, und ein Sensormodell (254M), das einen Sensor (254) modelliert, der konfiguriert ist, um das Werkstück zu detektieren, anzuordnen, wobei die CPU (12) ferner eingerichtet ist, um: im virtuellen Raum einen Verfolgungsbetriebsbereich einzustellen, in dem das Robotermodell einen Verfolgungsbetrieb ausführt, um zu bewirken, dass das Roboterhandmodell das Werkstückmodell verfolgt, das durch das Fördervorrichtungsmodell befördert wird; und zu bewirken, dass das Robotermodell den Verfolgungsbetrieb basierend auf einem virtuellen Detektionsergebnis, das dadurch erhalten wird, dass das Sensormodell das Werkstückmodell, das durch das Fördervorrichtungsmodell befördert wird, detektiert, ausführt.
  5. Simulationsvorrichtung (160) nach einem der Ansprüche 1 bis 4, wobei die Mehrzahl von Werkstückmodellen einen ersten Typ von Werkstückmodellen (WM1) und einen zweiten Typ von Werkstückmodellen (WM2), der andere Formen als der erste Typ von Werkstückmodellen aufweist, umfasst, wobei die CPU (12) ferner eingerichtet ist, um ein Verhältnis der Anzahl des ersten Typs von Werkstückmodellen und der Anzahl des zweiten Typs von Werkstückmodellen einzustellen, wenn der Modellanordnungsteil die Mehrzahl von Werkstückmodellen anordnet.
  6. Simulationsvorrichtung (180) nach einem der Ansprüche 1 bis 5, wobei jedes von der Mehrzahl von Werkstückmodellen eine Vorderseite (112) und eine Rückseite (114) umfasst, wobei die CPU (12) ferner eingerichtet ist, um ein Verhältnis der Anzahl von Werkstückmodellen, die derart angeordnet sind, dass ihre Vorderseiten sichtbar sind, und der Anzahl von Werkstückmodellen, die derart angeordnet sind, dass ihre Rückseiten sichtbar sind, wenn der Modellanordnungsteil die Mehrzahl von Werkstückmodellen anordnet, einzustellen.
  7. Simulationsverfahren für ein Robotersystem (250), bei dem ein Roboter (252) an einer Mehrzahl von Werkstücken (W), die durch eine Fördervorrichtung (100) befördert werden, eine Arbeit ausführt, wobei das Simulationsverfahren umfasst: Anordnen, in einem virtuellen Raum (110), einer Mehrzahl von Werkstückmodellen (WM) und eines Fördervorrichtungsmodells (100M), welche durch einen Bediener eingegeben und ausgewählt werden und die jeweils die Mehrzahl von Werkstücken (W) und die Fördervorrichtung modellieren; Einstellen eines durch den Bediener eingegebenen Versatzbetrags jedes Werkstückmodells gegenüber seiner im Verhältnis zu dem Fördervorrichtungsmodell vorbestimmten Referenzposition; Ausführen eines Förderbetriebs, um die Mehrzahl von Werkstückmodellen, die jeweils in einer Position angeordnet sind, die aus der Referenzposition und dem Versatzbetrag erhalten wird, durch das Fördervorrichtungsmodell der Reihe nach zu befördern; Detektieren einer Störung aufgrund eines durch den Bediener eingegebenen Intervalls (E) zwischen mindestens zwei Werkstückmodellen, die durch das Fördervorrichtungsmodell der Reihe nach befördert werden; Suchen einer störungsfreien Position, in der die Störung für mindestens eines der mindestens zwei Werkstückmodelle, für welche die Störung detektiert wird, nicht vorkommt; und Korrigieren einer Position des mindestens einen Werkstückmodells, das auf dem Fördervorrichtungsmodell angeordnet ist, basierend auf der gesuchten störungsfreien Position.
  8. Computerprogramm, das konfiguriert ist, um zu bewirken, dass ein Computer zum Ausführen einer Simulation, bei der ein Roboter (252) an einer Mehrzahl von Werkstücken (W), die durch eine Fördervorrichtung (100) befördert werden, eine Arbeit ausführt, wobei das Computerprogramm eingerichtet ist, um: in einem virtuellen Raum (110) eine Mehrzahl von Werkstückmodellen (WM) und ein Fördervorrichtungsmodell (100M), welche durch einen Bediener eingegeben und ausgewählt zu werden und die jeweils die Mehrzahl von Werkstücken (W) und die Fördervorrichtung modellieren, anzuordnen; einen durch den Bediener eingegebenen Versatzbetrag jedes Werkstückmodells gegenüber seiner im Verhältnis zu dem Fördervorrichtungsmodell vorbestimmten Referenzposition einzustellen; einen Förderbetrieb auszuführen, um die Mehrzahl von Werkstückmodellen, die jeweils in einer Position angeordnet sind, die aus der Referenzposition und dem Versatzbetrag erhalten wird, durch das Fördervorrichtungsmodell der Reihe nach zu befördern; eine Störung aufgrund eines durch den Bediener eingegebenen Intervalls (E) zwischen mindestens zwei Werkstückmodellen zu detektieren, die durch das Fördervorrichtungsmodell der Reihe nach befördert werden; eine störungsfreie Position zu suchen, in der die Störung für mindestens eines der mindestens zwei Werkstückmodelle, für welche die Störung detektiert wird, nicht vorkommt; und die Position des mindestens einen Werkstückmodells, das auf dem Fördervorrichtungsmodell angeordnet ist, basierend auf der gesuchten störungsfreien Position zu korrigieren.
DE102018001360.0A 2017-02-28 2018-02-21 Simulationsvorrichtung, simulationsverfahren und computerprogramm für ein robotersystem Active DE102018001360B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-037408 2017-02-28
JP2017037408A JP6438509B2 (ja) 2017-02-28 2017-02-28 ロボットシステムのシミュレーション装置、シミュレーション方法、およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
DE102018001360A1 DE102018001360A1 (de) 2018-08-30
DE102018001360B4 true DE102018001360B4 (de) 2020-06-18

Family

ID=63112327

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018001360.0A Active DE102018001360B4 (de) 2017-02-28 2018-02-21 Simulationsvorrichtung, simulationsverfahren und computerprogramm für ein robotersystem

Country Status (4)

Country Link
US (1) US10618163B2 (de)
JP (1) JP6438509B2 (de)
CN (1) CN108500976B (de)
DE (1) DE102018001360B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6450727B2 (ja) * 2016-10-28 2019-01-09 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
EP3814075A4 (de) * 2018-06-26 2022-03-30 Fanuc America Corporation Visualisierung der erweiterten realität für ein robotisches kommissionierungssystem
CN109746936B (zh) * 2018-12-19 2021-05-04 深圳镁伽科技有限公司 机器人的关节限位方法、装置、系统及存储介质
JP2020199625A (ja) 2019-06-13 2020-12-17 ファナック株式会社 シミュレーション装置
JP7456249B2 (ja) * 2020-04-10 2024-03-27 オムロン株式会社 シミュレーションのためのプログラムおよび装置
CN112657860A (zh) * 2021-01-15 2021-04-16 佛山科学技术学院 一种自动排队系统和排队方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727132A (en) 1994-08-25 1998-03-10 Faunc Ltd. Robot controlling method for tracking a moving object using a visual sensor
US20070073444A1 (en) 2005-09-28 2007-03-29 Hirohiko Kobayashi Offline teaching apparatus for robot
US20070179671A1 (en) 2005-07-26 2007-08-02 Fanuc Ltd Tracking and handling device
US20080013825A1 (en) 2006-07-12 2008-01-17 Fanuc Ltd Simulation device of robot system
US20080301072A1 (en) 2007-05-31 2008-12-04 Fanuc Ltd Robot simulation apparatus
JP2012181574A (ja) 2011-02-28 2012-09-20 Bridgestone Corp 干渉チェック装置及びプログラム
US20150127148A1 (en) 2012-07-20 2015-05-07 Kabushiki Kaisha Yaskawa Denki Robot system and article transfer method
JP2016129915A (ja) 2015-01-14 2016-07-21 ファナック株式会社 ロボットシステムのシミュレーション装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787280A (en) * 1986-07-24 1988-11-29 The Warner & Swasey Company Apparatus for machining workpieces and method therefor
JPH0322106A (ja) 1989-06-20 1991-01-30 Tokico Ltd ロボット教示装置
JP3725040B2 (ja) * 2001-04-06 2005-12-07 株式会社小松製作所 トランスファフィーダ
US7128198B2 (en) * 2002-12-26 2006-10-31 Komatsu Ltd. Workpiece conveyor for press line
JP5464176B2 (ja) * 2011-06-20 2014-04-09 株式会社安川電機 ピッキングシステム
US9080855B2 (en) * 2011-09-23 2015-07-14 Mitutoyo Corporation Method utilizing image correlation to determine position measurements in a machine vision system
CN102514010A (zh) 2011-12-31 2012-06-27 长春大正博凯汽车设备有限公司 一种搬运机器人及其搬运方法
CN104245228B (zh) 2012-04-17 2018-04-20 株式会社牧野铣床制作所 机床的干涉判定方法和干涉判定装置
JP5877857B2 (ja) * 2014-03-10 2016-03-08 ファナック株式会社 ワークの取出工程をシミュレーションするロボットシミュレーション装置
US10518375B2 (en) * 2017-06-16 2019-12-31 Canon Kabushiki Kaisha Production system, production apparatus and method for controlling production system
US10894676B2 (en) * 2017-07-17 2021-01-19 Symbolic Llc Apparatus and method for building a pallet load

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727132A (en) 1994-08-25 1998-03-10 Faunc Ltd. Robot controlling method for tracking a moving object using a visual sensor
US20070179671A1 (en) 2005-07-26 2007-08-02 Fanuc Ltd Tracking and handling device
US20070073444A1 (en) 2005-09-28 2007-03-29 Hirohiko Kobayashi Offline teaching apparatus for robot
US20080013825A1 (en) 2006-07-12 2008-01-17 Fanuc Ltd Simulation device of robot system
US20080301072A1 (en) 2007-05-31 2008-12-04 Fanuc Ltd Robot simulation apparatus
JP2012181574A (ja) 2011-02-28 2012-09-20 Bridgestone Corp 干渉チェック装置及びプログラム
US20150127148A1 (en) 2012-07-20 2015-05-07 Kabushiki Kaisha Yaskawa Denki Robot system and article transfer method
JP2016129915A (ja) 2015-01-14 2016-07-21 ファナック株式会社 ロボットシステムのシミュレーション装置

Also Published As

Publication number Publication date
JP6438509B2 (ja) 2018-12-12
JP2018140476A (ja) 2018-09-13
CN108500976A (zh) 2018-09-07
US10618163B2 (en) 2020-04-14
US20180243905A1 (en) 2018-08-30
CN108500976B (zh) 2020-06-19
DE102018001360A1 (de) 2018-08-30

Similar Documents

Publication Publication Date Title
DE102018001360B4 (de) Simulationsvorrichtung, simulationsverfahren und computerprogramm für ein robotersystem
DE102017125190B4 (de) Vorrichtung, Verfahren, Programm und Aufzeichnungsmedium zur Simulation des durch Roboter durchgeführten Vorgangs zum Anordnen von Artikeln
DE102019002898B4 (de) Robotersimulationsvorrichtung
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
DE102016012779B4 (de) Offline-Roboterprogrammiervorrichtung
DE102015102740B4 (de) Vorrichtung und Verfahren zum Anordnen von Gegenständen mittels Roboter und Gegenstandübertragungssystem
DE102016120763B4 (de) Verfahren zur kollisionsfreien Bewegungsplanung
EP0438095B1 (de) Korrekturverfahren für Koordinatenmessgeräte
DE102015015638A1 (de) Vorrichtung und Verfahren zum Übertragen von Artikeln unter Verwendung eines Roboters
DE102017124423B4 (de) Simulationsvorrichtung und simulationsverfahren zum simulieren einer operation eines roboters
DE102017222057B4 (de) Robotersystem
DE102018107864A1 (de) Offline-Programmiervorrichtung und -verfahren mit der Funktion zur Erzeugung eines Programms zur Detektion einer Werkstückposition mittels eines Kontaktsensors
DE102019118637A1 (de) Automatische pfadgenerierungsvorrichtung
DE102016107397A1 (de) Bahnanzeigevorrichtung zur darstellung der bahn einer werkzeugachse
DE602004007744T2 (de) Bewegung eines virtuellen mit Gelenken ausgestatteten Objektes in einer virtuellen Umgebung mit Selbtkollisionsvermeidung zwischen den Gelenken des Objektes
DE102017125103A1 (de) Einstellvorrichtung und einstellsystem zum konfigurieren von einstellungen für eine mehrzahl von maschinen
DE102022130341A1 (de) Punktmengen-störungsprüfung
DE112016006372T5 (de) Steuerung und fördersystem
DE112019003702T5 (de) Werkzeugwegkorrekturvorrichtung, werkzeugwegkorrekturverfahren und numerische steuerungsvorrichtung
DE102019000890A1 (de) Robotersystem zum Ausführen einer Lernsteuerung basierend auf Bearbeitungsergebnissen und diesbezügliches Steuerverfahren
EP3525049A1 (de) Ermitteln von zustandsdaten eines produktionssystems
DE102020205294A1 (de) Simulationsvorrichtung
DE102019006748A1 (de) Roboterlehrvorrichtung, roboterlehrverfahren und verfahren zumspeichern einer betriebsanweisung
DE112019005057T5 (de) Bewegungssteuerungsverfahren, Bewegungssteuervorrichtung, Bewegungssteuersystem, Programm und Speichermedium für mehrere Fahrzeuge
EP2304621A1 (de) Parallele navigation in mehreren cad-modellen

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