DE112021001427T5 - Roboterprogrammiervorrichtung und roboterprogrammierverfahren - Google Patents

Roboterprogrammiervorrichtung und roboterprogrammierverfahren Download PDF

Info

Publication number
DE112021001427T5
DE112021001427T5 DE112021001427.7T DE112021001427T DE112021001427T5 DE 112021001427 T5 DE112021001427 T5 DE 112021001427T5 DE 112021001427 T DE112021001427 T DE 112021001427T DE 112021001427 T5 DE112021001427 T5 DE 112021001427T5
Authority
DE
Germany
Prior art keywords
robot
model
axis
robot model
predetermined
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.)
Pending
Application number
DE112021001427.7T
Other languages
English (en)
Inventor
Hiroyuki Yoneyama
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 DE112021001427T5 publication Critical patent/DE112021001427T5/de
Pending legal-status Critical Current

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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • 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/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • 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/40392Programming, visual robot programming language

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Es wird eine Roboter-Programmiervorrichtung bereitgestellt, die das Auftreten unnatürlicher Bewegungen und plötzlicher Beschleunigung durch einen Roboter vermeiden kann. Die Roboter-Programmiervorrichtung ist ausgestattet mit: einer Robotermodell-Bewegungseinheit 14, die einen vorgeschriebenen beweglichen Teil eines Robotermodells gemäß einem Anweisungsinhalt von einer ersten Position zu einer zweiten Position bewegt; einer Armumkehrungs-Detektionseinheit 21, die detektiert, ob ein vorgeschriebener Zustand aufgetreten ist, in dem, wenn der vorgeschriebene bewegliche Teil des Robotermodells zu der zweiten Position bewegt wird, eine das Robotermodell darstellende Achse um 180° ± einem ersten vorgeschriebenen Wert von einem als Referenz dienenden Drehungswinkel gedreht wird; und einer Armumkehrungs-Korrektureinheit 23, die, wenn Auftreten des vorgeschriebenen Zustands für eine das Robotermodell darstellende Achse detektiert wurde, die Haltung des Robotermodells, wenn der vorgeschriebene bewegliche Teil sich in der zweiten Position befindet, korrigiert, so dass die Achse sich nicht in dem vorgeschriebenen Zustand befindet.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine Roboterprogrammiervorrichtung und ein Roboterprogrammierverfahren.
  • STAND DER TECHNIK
  • Zu bekannten Verfahren zum Einlernen verschiedener Roboter, darunter Industrieroboter, gehört eine sogenannte Offline-Programmierung, bei der ein Einlernen erfolgt, während ein Simulationsbetrieb von 3D-Modellen eines Roboters, eines Arbeitsstücks und dergleichen auf einem Computer ausgeführt wird (z. B. Patentschrift 1 und Patentschrift 2).
  • [Zitatliste]
  • [PATENTLITERATUR]
    • Patentschrift 1: JP 2009-166172 A
    • Patentschrift 2: JP 05-289730 A
  • KURZFASSUNG DER ERFINDUNG
  • [TECHNISCHES PROBLEM]
  • Falls das Einlernen durch Offline-Programmierung erfolgt, wird im Allgemeinen nicht eine Position jeder Achse verifiziert. Wenn ein Roboter tatsächlich gemäß einem durch die Offline-Programmierung erhaltenen Betriebsprogramm betrieben wird, kann somit unnatürliche Bewegung oder plötzliche Beschleunigung des Roboters verursacht werden. Es ist wünschenswert, das Auftreten einer solchen Situation beim Einlernen durch Offline-Programmierung zu verhindern.
  • [PROBLEMLÖSUNG]
  • Ein Aspekt der vorliegenden Offenbarung ist eine Roboter-Programmiervorrichtung, ausgelegt zum Einlernen eines Roboterprogramms, indem in einem virtuellen Raum, der einen Arbeitsraum dreidimensional repräsentiert, ein mit einem Werkzeugmodell bestücktes Robotermodell, ein Arbeitsstückmodell und ein Peripherievorrichtungsmodell angeordnet und auf einem Anzeigeschirm angezeigt werden. Die Roboterprogrammiervorrichtung umfasst einen Robotermodell-Bewegungsteil, ausgelegt zum Bewegen eines vorbestimmten beweglichen Teils eines Robotermodells von einer ersten Position zu einer zweiten Position gemäß einem Lerninhalt; einen Armumkehrungs-Detektionsteil, ausgelegt zum Detektieren, ob eine in dem Robotermodell enthaltene Achse sich in einem vorbestimmten Zustand befindet, in dem die Achse um 180° ± einem ersten vorbestimmten Wert von einem Referenzdrehwinkel gedreht ist, wenn der vorbestimmte bewegliche Teil des Robotermodells zu der zweiten Position bewegt wird; und einen Armumkehrungs-Korrekturteil, ausgelegt zum Korrigieren einer Orientierung des Robotermodells, wobei der vorbestimmte bewegliche Teil des Robotermodells sich an der zweiten Position befindet, so dass die Achse sich nicht mehr in dem vorbestimmten Zustand befindet, wenn detektiert wird, dass eine in dem Robotermodell enthaltene Achse sich in dem vorbestimmten Zustand befindet.
  • Ein anderer Aspekt der vorliegenden Offenbarung ist ein Roboter-Programmierverfahren, zum Einlernen eines Roboterprogramms, indem in einem virtuellen Raum, der einen Arbeitsraum dreidimensional repräsentiert, ein mit einem Werkzeugmodell bestücktes Robotermodell, ein Arbeitsstückmodell und ein Peripherievorrichtungsmodell angeordnet und auf einem Anzeigeschirm angezeigt werden. Das Roboter-Programmierverfahren umfasst Bewegen eines vorbestimmten beweglichen Teils eines Robotermodells von einer ersten Position zu einer zweiten Position gemäß einem Lerninhalt; Detektieren, ob eine in dem Robotermodell enthaltene Achse sich in einem vorbestimmten Zustand befindet, in dem die Achse um 180° ± einem ersten vorbestimmten Wert von einem Referenzdrehwinkel gedreht ist, wenn der vorbestimmte bewegliche Teil des Robotermodells zu der zweiten Position bewegt wird; und Korrigieren einer Orientierung des Robotermodells, wobei der vorbestimmte bewegliche Teil des Robotermodells sich an der zweiten Position befindet, so dass die Achse sich nicht mehr in dem vorbestimmten Zustand befindet, wenn detektiert wird, dass eine in dem Robotermodell enthaltene Achse sich in dem vorbestimmten Zustand befindet.
  • Ein noch weiterer Aspekt der vorliegenden Offenbarung ist ein Roboter-Programmierverfahren, zum Einlernen eines Roboterprogramms, indem in einem virtuellen Raum, der einen Arbeitsraum dreidimensional repräsentiert, ein mit einem Werkzeugmodell bestücktes Robotermodell, ein Arbeitsstückmodell und ein Peripherievorrichtungsmodell angeordnet und auf einem Anzeigeschirm angezeigt werden. Das Roboter-Programmierverfahren umfasst Ausführen einer Simulationsoperation des Robotermodells gemäß einem Betriebsprogramm; Anzeigen einer ersten Warnnachricht, wenn detektiert wird, dass eine in dem Robotermodell enthaltene Achse sich in einem vorbestimmten Zustand befindet, in dem die Achse um 180° ± einem ersten vorbestimmten Wert von einem Referenzdrehungswinkel während der Simulationsoperation gedreht ist; Anzeigen einer zweiten Warnnachricht, wenn während der Simulationsoperation detektiert wird, dass ein Drehungswinkel einer in dem Robotermodell enthaltenen Achse innerhalb eines zweiten vorbestimmten Werts von einer Obergrenze oder einer Untergrenze eines vorbestimmten Betriebsbereichs der Achse liegt; Anzeigen einer dritten Warnnachricht, wenn während der Simulationsoperation detektiert wird, dass ein Drehungsbetrag einer in dem Robotermodell enthaltenen Achse mit Bezug auf eine Drehungsposition des Robotermodells in einer Orientierung vor der Bewegung einen festgesetzten Drehungswinkel überschritten hat, der für die Achse vordefiniert ist; und Anzeigen einer vierten Warnnachricht, wenn während der Simulationsoperation eine Störung zwischen dem mit dem Werkzeugmodell bestückten Robotermodell, dem Arbeitsstückmodell und dem Peripherievorrichtungsmodell detektiert wird.
  • [EFFEKTE DER ERFINDUNG]
  • Gemäß der oben beschriebenen Ausgestaltung ist es möglich, das Auftreten von Situationen wie unnatürliche Bewegung eines Roboters, plötzliche Beschleunigung des Roboters, Einfluss auf eine Zykluszeit und Zunahme einer Last an einem an dem Roboter angebrachten Kabel zu verhindern.
  • Diese Aufgaben, Merkmale und Vorteile und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden in der ausführlichen Beschreibung typischer Ausführungsformen der vorliegenden Erfindung, die in den beigefügten Zeichnungen gezeigt sind, weiter erläutert.
  • Figurenliste
    • 1 ist eine Funktionsblockdarstellung einer Roboter-Programmiervorrichtung gemäß einer Ausführungsform;
    • 2 ist ein Flussdiagramm eines Offline-Einlernprozesses.
    • 3 ist eine Darstellung eines Zustands, in dem ein Robotermodell, ein Arbeitsstückmodell und ein Peripherievorrichtungsmodell in einem virtuellen Raum (einem Anzeigeschirm) angeordnet und angezeigt sind.
    • 4A ist eine Darstellung der Festlegung eines Bewegungsziels eines Roboters durch Ziehen mit einer Maus.
    • 4B ist eine Darstellung der Festlegung eines Bewegungsziels eines Roboters durch Ziehen mit einer Maus.
    • 5A ist eine Darstellung der Festlegung eines Bewegungsziels eines Roboters durch Klicken mit einer Maus.
    • 5B ist eine Darstellung der Festlegung eines Bewegungsziels eines Roboters durch Klicken mit einer Maus.
    • 6A ist eine Darstellung der Festlegung eines Bewegungsziels eines Roboters durch Klicken mit einer Maus (Festlegung einer Arbeitsstückposition).
    • 6B ist eine Darstellung der Festlegung eines Bewegungsziels eines Roboters durch Klicken mit einer Maus (Festlegung einer Arbeitsstückposition).
    • 6C ist eine Darstellung der Festlegung eines Bewegungsziels eines Roboters durch Klicken mit einer Maus (Festlegung einer Lagerregalposition).
    • 7A ist eine Darstellung zur Erläuterung der Detektion und Korrektur eines Umkehrungszustands einer Achse.
    • 7B ist eine Darstellung zur Erläuterung der Detektion und Korrektur eines Umkehrungszustands einer Achse.
    • 8A ist eine Darstellung zur Erläuterung der Detektion und Korrektur eines Zustands, in dem eine Achse sich in der Umgebung einer Grenze eines Betriebsbereichs befindet.
    • 8B ist eine Darstellung zur Erläuterung der Detektion und Korrektur eines Zustands, in dem eine Achse sich in der Umgebung einer Grenze eines Betriebsbereichs befindet.
    • 9A ist eine Darstellung zur Erläuterung der Detektion und Korrektur eines Überdrehungszustands einer Achse.
    • 9B ist eine Darstellung zur Erläuterung der Detektion und Korrektur eines Überdrehungszustands einer Achse.
    • 10A ist eine Darstellung zur Erläuterung der Detektion und Korrektur eines Störungszustands.
    • 10B ist eine Darstellung zur Erläuterung der Detektion und Korrektur eines Störungszustands.
    • 11 ist ein Flussdiagramm einer Simulationsoperation durch einen Simulationsausführungsteil.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Als Nächstes wird eine Ausführungsform der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben. In den Zeichnungen, auf die Bezug genommen wird, werden ähnliche Komponenten oder Funktionsteile mit denselben Bezugszahlen bezeichnet. Die Zeichnungen sind zum leichteren Verständnis geeignet skaliert. Eine in den Zeichnungen dargestellte Form ist ein Beispiel für das Ausführen der vorliegenden Erfindung, und die vorliegende Erfindung ist nicht auf die dargestellte Form beschränkt.
  • 1 ist eine Funktionsblockdarstellung einer Roboter-Programmiervorrichtung 10 gemäß einer Ausführungsform. Die Roboter-Programmiervorrichtung 10 ist eine Programmiervorrichtung, die das Einlernen eines Roboters (eines Roboterprogramms) auf eine Offline-Weise durchführt, während simulativ 3D-Modelle eines Roboters, eines Arbeitsstücks und dergleichen betrieben werden. Wie in 1 dargestellt, umfasst die Roboter-Programmiervorrichtung 10 einen Virtueller-Raum-Erzeugungsteil 11, einen Modellanordnungsteil 12, einen Bewegungspositions-Festlegungsteil 13, einen Robotermodell-Bewegungsteil 14, einen Armumkehrungs-Detektionsteil 21, einen Armumkehrungs-Warnteil 22, einen Armumkehrungs-Korrekturteil 23, einen Betriebsbereichsgrenzen-Detektionsteil 31, einen Betriebsbereichsgrenzen-Warnteil 32, einen Betriebsbereichsgrenzen-Korrekturteil 33, einen Überdrehungs-Detektionsteil 41, einen Überdrehungs-Warnteil 42, einen Überdrehungs-Korrekturteil 43, einen Störungsdetektionsteil 51, einen Störungswarnteil 52, einen Störungsvermeidungsteil 53, einen Simulationsausführungsteil 54 und eine Anzeigevorrichtung 60. Die Roboter-Programmiervorrichtung 10 kann eine Ausgestaltung als allgemeiner Computer aufweisen, umfassend eine CPU, einen ROM, einen RAM, eine Speicherungsvorrichtung, einen Bedienungsteil (Tastatur, Maus), einen Anzeigeteil, eine Eingabe-/Ausgabeschnittstelle, eine Netzwerkschnittstelle und dergleichen. Die in 1 dargestellte Funktionsblockkonfiguration kann durch eine CPU der Roboter-Programmiervorrichtung 10 implementiert werden, die verschiedene Arten von in der Speicherungsvorrichtung gespeicherter Software ausführt, oder kann in einer Konfiguration implementiert werden, die hauptsächlich Hardware umfasst, wie etwa ein ASIC (anwendungsspezifisches integriertes IC).
  • Der Virtueller-Raum-Erzeugungsteil 11 erzeugt einen virtuellen Raum, der einen Arbeitsraum dreidimensional repräsentiert. Der Modellanordnungsteil 12 ordnet ein mit einem Werkzeugmodell 102 bestücktes Robotermodell 101, ein Arbeitsstückmodell W und Peripherievorrichtungsmodelle (103 und 104) im virtuellen Raum an und zeigt sie gleichzeitig auf einem Anzeigeschirm 61 der Anzeigevorrichtung 60 an. 3 zeigt einen Zustand, in dem das Robotermodell 101, woran das Werkzeugmodell 102 virtuell angebracht ist, das Arbeitsstückmodell W, ein Bewegliche-Plattform-Modell 103, woran ein Lagerrahmen für ein Arbeitsstück W angebracht ist, und ein Maschinenmodell 104, das durch den Modellanordnungsteil 12 in dem durch den Virtueller-Raum-Erzeugungsteil 11 erzeugten virtuellen Raum (dem Anzeigeschirm) angeordnet werden.
  • Das Robotermodell 101 ist bei der vorliegenden Ausführungsform ein Modell eines sechsachsigen Vertikal-Knickarmroboters, es können aber auch andere Arten von Robotermodellen verwendet werden. Die Ausgestaltung des Robotermodells 101 wird mit Bezug auf 4A beschrieben. Wie in 4A dargestellt, umfasst das Robotermodell 101 sechs Achsen, d.h. eine J1-Achse, eine J2-Achse, eine J3-Achse, eine J4-Achse, eine J5-Achse und eine J6-Achse in dieser Reihenfolge von der Basisseite aus. Die J1-Achse dreht eine erste Verbindung 121 um eine zu einer Installationsoberfläche senkrechte Achse. Die J2-Achse dreht eine zweite Verbindung 122. Die J3-Achse dreht eine dritte Verbindung 123. Die J4-Achse dreht eine vierte Verbindung 124. Die J5-Achse dreht eine fünfte Verbindung 125. Die J6-Achse dreht eine Spitze eines Handgelenks. Das Werkzeugmodell 102 ist an der Spitze des Handgelenks des Robotermodells 101 angebracht. Das Werkzeugmodell 102 ist bei der vorliegenden Ausführungsform eine Handvorrichtung mit zwei Einspannvorrichtungen, es können aber andere Arten von Werkzeugmodellen verwendet werden. Wie in 4A dargestellt, können Koordinatenachsen eines Werkzeug-Koordinatensystems 211 an einer Werkzeugspitzenposition P0 angezeigt werden.
  • Der Bewegungspositions-Festlegungsteil 13 empfängt Festlegung eines Bewegungsziels eines vorbestimmten beweglichen Teils (bei der vorliegenden Ausführungsform die Werkzeugspitzenposition) des Robotermodells 101 im virtuellen Raum. Der Robotermodell-Bewegungsteil 14 bewegt einen Werkzeugspitzenteil des Robotermodells 101 von einer Position vor Bewegung (einer ersten Position) zu einer Bewegungszielposition (einer zweiten Position) gemäß Lerninhalt. Der Lerninhalt umfasst hier ein im Voraus erstelltes Betriebsprogramm sowie eine Einlernposition, die durch einen Bediener über den Bewegungspositions-Festlegungsteil 13 festgelegt wird. Das heißt, der Robotermodell-Bewegungsteil 14 hat eine Funktion des Bewegens des Robotermodells 101 und dergleichen zu einer Einlernposition, die durch einen Bediener über den Bewegungspositions-Festlegungsteil 13 festgelegt wird, und eine Funktion des simulativen Betreibens des Robotermodells 101 und dergleichen gemäß einem im Voraus erstellten und in der Roboter-Programmiervorrichtung 10 gespeicherten Betriebsprogramm.
  • Der Armumkehrungs-Detektionsteil 21 detektiert, ob sich eine der in dem Robotermodell 101 enthaltenen Achsen in einem vorbestimmten Zustand befindet, in dem die Achse um 180° ± einem ersten vorbestimmten Wert von einem Referenzdrehungswinkel gedreht ist (im Folgenden als „umgekehrter Zustand“ bezeichnet), wenn der Werkzeugspitzenteil des Robotermodells 101 zu der Bewegungszielposition bewegt wird. Hier wird angenommen, dass der erste vorbestimmte Wert 10°, 20°, 30° oder dergleichen ist. Der erste vorbestimmte Wert kann jedoch im Voraus in der Roboter-Programmiervorrichtung 10 gesetzt werden oder die Roboter-Programmiervorrichtung 10 (der Armumkehrungs-Detektionsteil 21) kann so ausgelegt sein, dass ein Bediener den ersten vorbestimmten Wert eingeben und setzen kann. Der Armumkehrungs-Warnteil 22 zeigt eine Warnnachricht auf dem Anzeigeschirm 61 an, wenn eine der in dem Robotermodell 101 enthaltenen Achsen durch den Armumkehrungs-Detektionsteil 21 als sich in dem umgekehrten Zustand befindend detektiert wird. Wenn eine der in dem Robotermodell 101 enthaltenen Achsen als sich in dem umgekehrten Zustand befindend detektiert wird, korrigiert der Armumkehrungs-Korrekturteil 23 die Orientierung des Robotermodells 101 mit dem an der Bewegungszielposition befindlichen Werkzeugspitzenteil, so dass die Achse sich nicht mehr im umgekehrten Zustand befindet.
  • Wenn bewirkt wird, dass das Robotermodell 101 eine Orientierung an der Bewegungszielposition annimmt, detektiert der Betriebsbereichsgrenzen-Detektionsteil 31, ob ein Drehungswinkel irgendwelcher der in dem Robotermodell 101 enthaltenen Achsen innerhalb eines zweiten vorbestimmten Werts von einer Obergrenze oder einer Untergrenze eines vorbestimmten Betriebsbereichs der Achsen liegt. Der zweite vorbestimmte Wert ist hier ein Schwellenwert zum Bestimmen, dass man sich der Obergrenze oder der Untergrenze des Betriebsbereichs nähert, und es wird angenommen, dass er zum Beispiel 5°, 10° oder 15° ist. Der zweite vorbestimmte Wert kann jedoch im Voraus in der Roboter-Programmiervorrichtung 10 gesetzt werden, oder die Roboter-Programmiervorrichtung 10 (der Bewegungsbereichsgrenzen-Detektionsteil 31), kann so ausgelegt sein, dass ein Bediener den zweiten vorbestimmten Wert eingeben und setzen kann.
  • Wenn detektiert wird, dass ein Drehungswinkel irgendwelcher der in dem Robotermodell 101 enthaltenen Achsen innerhalb des zweiten vorbestimmten Werts von der Obergrenze oder der Untergrenze des vorbestimmten Betriebsbereichs der Achse liegt, zeigt der Bewegungsbereichsgrenzen-Warnteil 32 eine Warnnachricht auf dem Anzeigeschirm 61 an. Wenn detektiert wird, dass ein Drehungswinkel irgendwelcher der in dem Robotermodell 101 enthaltenen Achsen innerhalb des zweiten vorbestimmten Werts von der Obergrenze oder der Untergrenze des vorbestimmten Betriebsbereichs der Achse liegt, korrigiert der Bewegungsbereichsgrenzen-Korrekturteil 33 die Orientierung des Robotermodells 101 so, dass der Drehungswinkel der Achse nicht mehr innerhalb des zweiten vorbestimmten Werts von der Obergrenze oder der Untergrenze des vorbestimmten Betriebsbereichs liegt.
  • Wenn bewirkt wird, dass das Robotermodell 101 eine Orientierung an der Bewegungszielposition annimmt, detektiert der Überdrehungs-Detektionsteil 41, ob ein Drehungsbetrag irgendwelcher der in dem Robotermodell 101 enthaltenen Achsen mit Bezug auf eine Drehungsposition des Robotermodells 101 in einer Orientierung vor Bewegung einen für die Achse vordefinierten festgesetzten Drehungswinkel überschreitet. Der festgesetzte Drehungswinkel für jede Achse kann durch einen Bediener in die Roboter-Programmiervorrichtung 10 eingegeben und gesetzt werden. Falls zum Beispiel ein Bediener wünscht, dass sich der Roboter nicht so sehr bewegt, kann der festgesetzte Drehungswinkel auf einen relativ kleinen Wert gesetzt werden.
  • Wenn detektiert wird, dass ein Drehungsbetrag irgendwelcher der in dem Robotermodell 101 enthaltenen Achsen mit Bezug auf eine Drehungsposition des Robotermodells 101 in einer Orientierung vor der Bewegung einen für die Achse vordefinierten festgesetzten Drehungswinkel überschritten hat, zeigt der Überdrehungs-Warnteil 42 eine Warnnachricht auf dem Anzeigeschirm 61 an. Wenn detektiert wird, dass ein Drehungsbetrag irgendwelcher der in dem Robotermodell 101 enthaltenen Achsen mit Bezug auf eine Drehungsposition des Robotermodells 101 in einer Orientierung vor der Bewegung einen für die Achse vordefinierten festgesetzten Drehungswinkel überschritten hat, korrigiert der Überdrehungs-Korrekturteil 43 die Orientierung des Robotermodells 101 so, dass der Drehungswinkel der Achse den festgesetzten Drehungswinkel nicht mehr überschreitet.
  • Wenn bewirkt wird, dass das Robotermodell 101 eine Orientierung an der Bewegungszielposition annimmt, detektiert der Störungsdetektionsteil 51, ob zwischen dem mit dem Werkzeugmodell 102 bestückten Robotermodell 101, dem Arbeitsstückmodell W und den Peripherievorrichtungsmodellen (103 und 104) eine Störung auftritt. Wenn die Störung detektiert wird, zeigt der Störungswarnteil 52 eine Warnnachricht auf dem Anzeigeschirm 61 an. Wenn die Störung detektiert wird, korrigiert der Störungsvermeidungsteil 53 die Orientierung des Robotermodells 101 so, dass die Störung nicht mehr auftritt.
  • 2 ist ein Flussdiagramm eines Offline-Einlernprozesses (Roboter-Programmierungsverfahrens), der unter der Kontrolle einer CPU der Roboter-Programmiervorrichtung 10 ausgeführt wird. Der Einlernprozess wird nachfolgend mit Bezug auf das Flussdiagramm von 2 und in 3 und nachfolgenden Figuren gezeigte Simulationsschirmbeispiele beschrieben. Beim Start des Einlernprozesses erzeugt zuerst der Virtueller-Raum-Erzeugungsteil 11 einen virtuellen Raum, der einen Arbeitsraum dreidimensional repräsentiert (Schritt S1). Als Nächstes ordnet der Modellanordnungsteil 12 das mit dem Werkzeugmodell 102 bestückte Robotermodell 101, das Arbeitsstückmodell W und die Peripherievorrichtungsmodelle im virtuellen Raum an (Schritt S2). Hier werden, wie in 3 dargestellt, das mit dem Werkzeugmodell 102 bestückte Robotermodell 101, das Arbeitsstückmodell W, das Bewegliche-Plattform-Modell 103 und das Maschinenmodell 104 gleichzeitig im virtuellen Raum angezeigt.
  • Als Nächstes wird die Operation des Festlegens einer Bewegungszielposition eines Werkzeugspitzenteils des Robotermodells 101 über den Bewegungspositions-Festlegungsteil 13 empfangen (Schritt S3). Es werden Beispiele für das Empfangen der Operation des Festlegens des Bewegungsziels des Werkzeugspitzenteils des Robotermodells 101 beschrieben. Das erste Beispiel für die Operation des Festlegens des Bewegungsziels des Robotermodells 101 ist eine Mausziehoperation. In diesem Fall bewegt ein Bediener einen Mauscursor 201 zu der Werkzeugspitzenposition des Robotermodells 101 und betätigt dann eine Taste der Maus, wie in 4A dargestellt. Dann bewegt der Benutzer den Mauscursor 201 zu einer gewünschten Bewegungszielposition, während die Maus gezogen wird, wie in 4B dargestellt. In dem Beispiel von 4B bewegt der Bediener den Werkzeugspitzenteil des Robotermodells 101 in die Umgebung des Lagerrahmens für das Arbeitsstück. Während die Maus gezogen wird, führt der Robotermodell-Bewegungsteil 14 auf der Basis einer Werkzeugspitzenposition eine Invers-Kinematikberechnung aus, um das Robotermodell 101 zu bewegen, um so der Bewegung des Mauscursors 201 zu folgen (Schritt S4).
  • Das zweite Beispiel für die Operation des Festlegens des Bewegungsziels des Robotermodells 101 ist ein Beispiel, in dem das Bewegungsziel des Werkzeugspitzenteils durch eine Mausklickoperation festgelegt wird. Wie zum Beispiel in 5A dargestellt, bewegt der Bediener den Mauscursor 201 zu einer gewünschten Position, zu der der Werkzeugspitzenteil bewegt werden soll, und klickt dann die Maus. In diesem Fall führt der Robotermodell-Bewegungsteil 14 auf der Basis der durch Klicken der Maus festgelegten Bewegungszielposition eine Invers-Kinematikberechnung aus, um den Werkzeugspitzenteil des Robotermodells 101 zu der Bewegungszielposition zu bewegen, wie in 5B dargestellt (Schritt S5).
  • Als Nächstes werden mit Bezug auf 6A bis 6C Beispiele für die Operation des Bewegens des Robotermodells 101 durch Festlegen eines zu haltenden Arbeitsstücks beschrieben. Wie in 6A dargestellt, legt ein Bediener zum Beispiel durch eine Mausklickoperation eine Position P1 des Arbeitsstückmodells W in dem Maschinenmodell 104 angeordnet fest. Als Reaktion auf die obige Operation bewegt der Robotermodell-Bewegungsteil 14 den Werkzeugspitzenteil des Robotermodells 101 zu der festgelegten Position P1 (6B). Als Alternative bewegt, falls ein Bediener eine Position des Lagerrahmens 103A für das Arbeitsstück W als das Bewegungsziel für den Werkzeugspitzenteil des Robotermodells 101 festlegt, der Robotermodell-Bewegungsteil 14 den Werkzeugspitzenteil des Robotermodells 101 zu der festgelegten Position (6C).
  • Als Nächstes detektiert, wenn das Robotermodell 101 zu der über den Bewegungspositions-Festlegungsteil 13 festgelegten Bewegungszielposition bewegt wird, der Armumkehrungs-Detektionsteil 21, ob irgendwelche der in dem Robotermodell 101 enthaltenen Achsen sich mit Bezug auf einen Referenzarm-Drehungswinkel in dem umgekehrten Zustand befindet (Schritt S5). Der Referenzdrehungswinkel kann hier zum Beispiel 0° oder eine Position vor der Bewegung sein, oder ein durch einen Bediener definierter festgesetzter Winkel.
  • 7A zeigt einen Zustand, in dem der Werkzeugspitzenteil des Robotermodells 101 zu einer festgelegten Position bewegt und dadurch die J4-Achse (die vierte Verbindung 124) mit Bezug auf eine Orientierung in einem Referenzdrehungswinkel von 0° umgekehrt (um 180° gedreht) ist. In diesem Fall (S5: JA) zeigt der Armumkehrungs-Warnteil 22 auf dem Anzeigeschirm 61 eine Warnnachricht 301 an, die angibt, dass die J4-Achse umgekehrt ist (Schritt S6), wie in 7A dargestellt. Der Armumkehrungs-Warnteil 22 kann ferner eine die umgekehrte Achse (Verbindung) umgebende Markierung A anzeigen, so dass der Bediener schnell die Achse (Verbindung) wahrnehmen kann, die sich im umgekehrten Zustand befindet. Wenn kein umgekehrter Zustand detektiert wird (S5: NEIN) schreitet der Prozess zu Schritt S8.
  • Wenn eine solche Umkehrung detektiert wird, korrigiert der Armumkehrungs-Korrekturteil 23 die Orientierung des Robotermodells 101 an der Bewegungszielposition des Armspitzenteils, so dass die als umgekehrt detektierte J4-Achse nicht mehr umgekehrt ist, wie in 7B dargestellt (Schritt S7). Beim Korrigieren der Orientierung des Robotermodells 101 wird die Korrektur so durchgeführt, dass sich die Werkzeugspitzenposition soweit wie möglich nicht ändert. Die Korrektur der Orientierung des Robotermodells 101 an der Bewegungszielposition kann gemäß den folgenden Regeln durchgeführt werden:
    • (a1) die Werkzeugspitzenposition soll so weit wie möglich nicht bewegt werden;
    • (a2) im Prinzip soll nur ein Achsenwinkel korrigiert werden;
    • (a3) wenn das oben beschriebene (a1) und (a2) nicht erfüllt werden kann, soll die Werkzeugspitze durch Parallelverschiebung oder dergleichen bewegt werden, um die Orientierung zu korrigieren.
  • Die Berechnung gemäß diesen Regeln kann durch geeignetes Anwenden einer Kinematikberechnung oder einer Invers-Kinematikberechnung durchgeführt werden.
  • In dem Beispiel von 7B wird, da das Robotermodell 101 dieselbe Orientierung behalten kann, selbst wenn die J4-Achse um 180° gedreht wird, der Drehungswinkel der J4-Achse auf 0° korrigiert, während die Position des Werkzeugspitzenteils aufrechterhalten wird. Der Armumkehrungs-Korrekturteil 23 kann dafür ausgelegt sein, Korrektur gemäß einer vorbestimmten Korrekturbedingung durchzuführen, so dass sich die Orientierung des Robotermodells 101 vor und nach der Korrektur nicht wesentlich ändert. Zum Beispiel können Korrekturwinkelbereiche von -30° bis +30° für die J4-Achse, -30° bis +30° für die J5-Achse und -360° bis +360° für die J6-Achse gesetzt werden. Diese Korrekturbedingungen können durch einen Bediener eingegeben und für die Roboter-Programmiervorrichtung 10 (den Armumkehrungs-Korrekturteil 23) festgesetzt werden.
  • Durch Sicherstellen, dass die Umkehrung der Achsen (d.h. jeweiliger in dem Arm enthaltener Verbindungen) nicht auftritt, wie oben beschrieben, ist es möglich, das Auftreten von Situationen wie unnatürliche Bewegung eines Roboters, plötzliche Beschleunigung des Roboters, Einfluss auf eine Zykluszeit und Zunahme einer Last an einem an dem Roboter angebrachten Kabel zu verhindern.
  • Als Nächstes detektiert, wenn das Robotermodell 101 zu der über den Bewegungspositions-Festlegungsteil 13 festgelegten Bewegungszielposition bewegt wird, der Betriebsbereichsgrenzen-Detektionsteil 31, ob sich eine der in dem Robotermodell 101 enthaltenen Achsen in der Umgebung einer Grenze eines vorbestimmten Betriebsbereichs befindet (Schritt S8). Hier detektiert der Betriebsbereichsgrenzen-Detektionsteil 31, ob sich die Achse in der Umgebung des vorbestimmten Betriebsbereichs befindet oder nicht, durch Detektieren, ob der Winkel der Achse innerhalb eines zweiten vorbestimmten Werts von einer Obergrenze oder einer Untergrenze des vorbestimmten Betriebsbereichs liegt oder nicht.
  • Zum Beispiel wird angenommen, dass der Betriebsbereich der J6-Achse von -360° bis +360° reicht und der zweite vorbestimmte Wert 10° ist. 8A zeigt die Orientierung des Robotermodells 101 am Bewegungsziel, und eine Angabebox 402, die die Orientierung (Winkel der j eweiligen Achsen) des Robotermodells 101 an der Bewegungszielposition angibt, wird auf dem Bildschirm angezeigt, wie in 8A gezeigt. Da der Drehungswinkel der J6 in dieser Orientierung 355° ist, bestimmt der Betriebsbereichsgrenzen-Detektionsteil 31, dass sich die J6-Achse in der Umgebung der Grenze des Betriebsbereichs befindet (S8: JA) und zeigt eine Warnnachricht 302 auf dem Anzeigeschirm an, die den Umstand angibt (Schritt S9).
  • Als Nächstes korrigiert der Bewegungsbereichsgrenzen-Korrekturteil 33 die Orientierung des Robotermodells 101 so, dass sich der Winkel der Achse, der als in der Umgebung der Grenze des Betriebsbereichs detektiert wurde, nicht mehr in der Umgebung der Grenze des Betriebsbereichs befindet (Schritt S10). Die Korrektur kann in diesem Fall auch gemäß den obigen Regeln (a1) bis (a3) durchgeführt werden. In 8B wird der Drehungswinkel der J6 von der Orientierung aus, in der die J6 ungefähr eine Umdrehung durchgeführt hat, wie in 8A dargestellt, auf 0° korrigiert, so dass die Position und die Orientierung des Robotermodells 101 sich vor und nach der Korrektur nicht ändern (siehe eine Anzeigebox 403). Als Korrekturbedingung kann für jede der Achsen ein Korrekturbereich durch den Betriebsbereichsgrenzen-Korrekturteil 33 gesetzt werden, so dass die Orientierung des Robotermodells 101 sich vor und nach der Korrektur nicht signifikant ändert. Zum Beispiel können Korrekturwinkelbereiche von -30° bis +30° für die J4-Achse, -30° bis +30° für die J5-Achse und -360° bis +360° für die J6-Achse gesetzt werden. Da sich die Position und die Orientierung des Robotermodells 101 nicht ändern können, selbst wenn die J6-Achse eine Umdrehung durchführt, ist der Korrekturbereich von ±360° erlaubt. Diese Korrekturbedingungen können durch einen Bediener eingegeben und für die Roboter-Programmiervorrichtung 10 (den Bewegungsbereichsgrenzen-Korrekturteil 33) gesetzt werden. Wenn keiner der Drehungswinkel der Achsen, die in dem Robotermodell 101 enthalten sind, in Schritt S8 als in der Umgebung der Grenze des vorbestimmten Betriebsbereichs detektiert werden (S8: NEIN), schreitet der Prozess zu Schritt S11.
  • Durch Sicherstellen, dass sich die Achsen nicht in der Umgebung der Grenze des Betriebsbereichs befinden, wie oben beschrieben, ist es möglich, eine unnatürliche Bewegung des Roboters, eine plötzliche Beschleunigung des Roboters und dergleichen zu verhindern.
  • Als Nächstes detektiert, wenn das Robotermodell 101 zu der über den Bewegungspositions-Festlegungsteil 13 festgelegten Bewegungszielposition bewegt wird, der Überdrehungs-Detektionsteil 41, ob ein Drehungsbetrag irgendwelcher der in dem Robotermodell 101 enthaltenen Achsen mit Bezug auf eine Drehungsposition des Robotermodells 101 in einer Orientierung vor der Bewegung einen für die Achse definierten festgesetzten Drehungswinkel überschritten hat (Schritt S11). Das heißt, es wird detektiert, ob sich irgendwelche der Achsen zu sehr gedreht haben oder nicht. 9A zeigt die Orientierung des Robotermodells 101, das sich zu dem Bewegungsziel bewegt hat, und oben rechts im Anzeigeschirm eine Angabebox 404, die einen relativen Änderungsbetrag der Position jeder der Achsen von der Orientierung vor der Bewegung zu der aktuellen Orientierung des Robotermodells 101 angibt.
  • Hier wird zum Beispiel angenommen, dass die gesetzten Drehungswinkel für die J4-Achse -30° bis +30°, für die J5-Achse -30° bis +30° und für die J6-Achse -90° bis +90° sind. In diesem Fall detektiert, da der relative Drehungswinkel der J6-Achse (95,786°) den festgesetzten Drehungswinkel überschreitet, der Überdrehungs-Detektionsteil 41, dass sich die J6-Achse zu sehr gedreht hat (S11: JA). Dann zeigt der Überdrehungs-Warnteil 42 eine Warnnachricht 303 auf dem Anzeigeschirm 61 an, die angibt, dass sich die J6-Achse zu sehr gedreht hat (Schritt S12). Als Nächstes korrigiert der Überdrehungs-Korrekturteil 43 die Orientierung des Robotermodells 101 so, dass die Achse, deren relativer Drehungswinkel den festgesetzten Drehungswinkel überschritten hat, den festgesetzten Drehungswinkel nicht mehr überschreitet (Schritt S13).
  • Ein Korrekturbereich für jede der Achsen kann durch den Überdrehungs-Korrekturteil 43 so gesetzt werden, dass die Orientierung des Robotermodells 101 vor und nach der Korrektur sich nicht signifikant ändert. Zum Beispiel können Korrekturwinkelbereiche von -30° bis +30° für die J4-Achse, -30° bis +30° für die J5-Achse und -90° bis +90° für die J6-Achse gesetzt werden. Die Korrektur kann in diesem Fall auch gemäß den obigen Regeln (a1) bis (a3) durchgeführt werden. Diese Korrekturbedingungen können durch einen Bediener eingegeben und für die Roboter-Programmiervorrichtung 10 (den Überdrehungs-Korrekturteil 43) gesetzt werden. Wie in einer Angabebox 405 in 9B angegeben, wird der Winkel der J6-Achse um - 90° korrigiert, um so den Drehungswinkel der J6 auf 5,786° zu korrigieren, was in den festgesetzten Drehungswinkel fällt. Wenn in Schritt S11 keine der Drehungsbeträge der Achsen, die in dem Robotermodell 101 enthalten sind, mit Bezug auf eine Drehungsposition des Robotermodells 101 in einer Orientierung vor der Bewegung als die für die Achsen vordefinierten festgesetzten Drehungswinkel überschreitend detektiert werden (S11: NEIN), schreitet der Prozess zu Schritt S14.
  • Durch Vermeidung von übermäßiger Drehung der Achsen von den vorherigen Orientierungen wie oben beschrieben, ist es möglich, das Auftreten von Situationen wie unnatürliche Bewegung eines Roboters, plötzliche Beschleunigung des Roboters, Einfluss auf eine Zykluszeit und Zunahme einer Last an einem an dem Roboter angebrachten Kabel zu verhindern.
  • Als Nächstes detektiert, wenn das Robotermodell 101 zu der über den Bewegungspositions-Festlegungsteil 13 festgelegten Bewegungszielposition bewegt wird, der Störungsdetektionsteil 51, ob zwischen dem mit dem Werkzeugmodell 102 bestückten Robotermodell 101, dem Arbeitsstückmodell W und den Peripherievorrichtungsmodellen (103 und 14) eine Störung auftritt oder nicht (Schritt S14). 10A zeigt die Orientierung des Robotermodells 101, das sich zum Bewegungsziel bewegt hat. Hier wird an der durch einen Kreis B angegebenen Position eine Störung zwischen dem Werkzeugmodell 102 dem Maschinenmodell 104 detektiert. Wenn wie oben beschrieben die Störung detektiert wird (S14: JA), zeigt der Störungswarnteil 52 eine Warnnachricht 304 an, die angibt, dass die Störung aufgetreten ist (Schritt S15). Der Störungswarnteil 52 kann ferner eine Markierung B an der Position anzeigen, an der die Störung aufgetreten ist, so dass ein Bediener schnell die Position wahrnehmen kann, an der die Störung aufgetreten ist.
  • Wenn wie oben beschrieben die Störung detektiert wird, korrigiert der Störungsvermeidungsteil 53 die Position des Robotermodells 101, um so die Störung zu vermeiden (Schritt S 16). 10B zeigt ein Betriebsbeispiel, in dem die Position des Robotermodells 101 korrigiert wird, ohne die Werkzeugspitzenposition zu ändern, indem das Werkzeugmodell 102 um eine X-Achse eines an einer Werkzeugspitze festgesetzten Werkzeugkoordinatensystems von dem in 10A dargestellten Zustand aus gedreht wird, und dadurch wird die Störung vermieden. Wenn in Schritt S14 keine Störung detektiert wird (S 14: NEIN), wird der Einlernprozess beendet.
  • Auf diese Weise kann das Auftreten von Störung zwischen dem mit dem Werkzeugmodell 102 bestückten Robotermodell 101, dem Arbeitsstückmodell W und den Peripherievorrichtungsmodellen (103 und 104) vermieden werden. Wie in dem Flussdiagramm von 2 dargestellt, kann die Detektion und Korrektur von Störungen (S14 bis S16) in einem Zustand durchgeführt werden, in dem die Detektion und Korrektur einer umgekehrten Achse (S5 bis S7), die Detektion und Korrektur einer Achse, die sich in der Nähe einer Betriebsgrenze befindet (S8 bis S10) und die Detektion und Korrektur einer zu sehr gedrehten Achse (S11 bis S13) durchgeführt wurden.
  • Als Nächstes werden Operationen beschrieben, die durch den Simulationsausführungsteil 54 ausgeführt werden. Der Simulationsausführungsteil 54 führt eine Simulation aus, in der 3D-Modelle eines Roboters, eines Arbeitsstücks und dergleichen simulativ gemäß einem im Voraus erstellten Betriebsprogramm betrieben werden, während auf einen umgekehrten Zustand, eine Grenze eines Betriebsbereichs, Drehung über einen festgesetzten Winkel oder Störungen wie jeweils oben beschrieben geprüft und eine Warnnachricht angezeigt wird, wenn einer dieser Zustände auftritt. Der Simulationsausführungsteil 54 führt diese Simulationsoperationen in Kooperation mit den Virtueller-Raum-Erzeugungsteil 11, dem Modellanordnungsteil 12, dem Armumkehrungs-Detektionsteil, dem Armumkehrungs-Warnteil 22, dem Betriebsbereichsgrenzen-Detektionsteil 31, dem Betriebsbereichsgrenzen-Warnteil 32, dem Überdrehungs-Detektionsteil 41, dem Überdrehungs-Warnteil 42, dem Störungsdetektionsteil 51 und dem Störungswarnteil 52 aus. 11 ist ein Flussdiagramm einer durch den Simulationsausführungsteil 54 ausgeführten Simulationsoperation (eines Roboterprogrammierungsverfahrens).
  • As Erstes wird in Schritt 101 das Robotermodell 101 simulativ gemäß einem Betriebsprogramm betrieben. Als Nächstes wird in Schritt S102, wenn während der Simulationsoperation eine der in dem Robotermodell 101 enthaltenen Achsen als sich in dem umgekehrten Zustand befindend detektiert wird, in dem die Achse um 180° ± dem ersten vorbestimmten Wert von einem Referenzdrehungswinkel gedreht ist, eine Warnnachricht (erste Warnnachricht) auf dem Anzeigeschirm 61 angezeigt, die diesen Umstand angibt. Das heißt, es wird detektiert, ob während Bewegung von einem Einlernpunkt zu einem nächsten Einlernpunkt, der im Betriebsprogramm festgelegt ist, der umgekehrte Zustand auftritt oder nicht.
  • Als Nächstes wird in Schritt S103, wenn während der Simulationsoperation ein Drehwinkel einer der in dem Robotermodell 101 enthaltenen Achsen als sich innerhalb des zweiten vorbestimmten Werts von der Obergrenze oder der Untergrenze des vorbestimmten Betriebsbereichs der Achse befindend detektiert wird, eine Warnnachricht (zweite Warnnachricht) auf dem Anzeigeschirm 61 angezeigt, die diesen Umstand angibt. Das heißt, es wird detektiert, ob während Bewegung von einem Einlernpunkt zu einem nächsten Einlernpunkt, der in dem Betriebsprogramm festgelegt wird, jede der Achsen in die Umgebung des Betriebsbereichs kommt oder nicht. Als Nächstes wird in Schritt S104, wenn während der Simulationsoperation detektiert wird, dass ein Drehungsbetrag einer der in dem Robotermodell 101 enthaltenen Achsen mit Bezug auf eine Drehungsposition des Robotermodells 101 in einer Orientierung vor der Bewegung einen für die Achse vordefinierten festgesetzten Drehungswinkel überschritten hat, eine Warnnachricht (dritte Warnnachricht) auf dem Anzeigeschirm 61 angezeigt, die diesen Umstand angibt. Das heißt, es wird detektiert, ob während Bewegung von einem Einlernpunkt zu einem nächsten Einlernpunkt, der in dem Betriebsprogramm festgelegt wird, der Drehungswinkel jeder der Achsen zu groß wird.
  • Als Nächstes wird in Schritt S104, wenn während der Simulationsoperation eine Störung zwischen dem mit dem Werkzeugmodell 102 bestückten Robotermodell 101, dem Arbeitsstückmodell W und den Peripherievorrichtungsmodellen (103 und 104) eine Störung detektiert wird, eine Warnnachricht (vierte Warnnachricht) auf dem Anzeigeschirm angezeigt, die diesen Umstand angibt.
  • Im Verlauf des Ausführens der in 11 dargestellten Simulationsoperation kann der Simulationsausführungsteil 54 einen Verlauf von Warnnachrichten (einen Verlauf, der angibt, welche Warnnachricht für welchen Einlernpunkt aufgetreten ist) aufzeichnen. Durch Ausführen der in 11 dargestellten Simulationsoperation kann ein Bediener bewirken, dass das Betriebsprogramm vollständig vom Anfang bis zum Ende ausgeführt wird, und das Auftreten des umgekehrten Zustands und dergleichen wahrnehmen. Auf der Basis des Simulationsergebnisses kann der Bediener Einlernpunkte korrigieren.
  • Obwohl die vorliegende Erfindung oben unter Verwendung typischer Ausführungsformen beschrieben wurde, versteht sich, dass Fachleute Änderungen, verschiedene andere Modifikationen, Auslassungen und Zusätze an jeder der obigen Ausführungsformen vornehmen können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Es müssen nicht alle Funktionsblöcke der in 1 dargestellten Roboter-Programmiervorrichtung bereitgestellt werden. Zum Beispiel kann die Roboter-Programmiervorrichtung aus dem Virtueller-Raum-Erzeugungsteil 11, dem Modellanordnungsteil 12, dem Bewegungspositions-Festlegungsteil 13, dem Robotermodell-Bewegungsteil 14, dem Armumkehrungs-Detektionsteil 21 und dem Armumkehrungs-Korrekturteil 23 zusammengesetzt sein. In diesem Fall korrigiert, wenn eine Achse als sich in dem umgekehrten Zustand befindend detektiert wird, die Roboter-Programmiervorrichtung die Orientierung des Robotermodells so, dass die Achse sich nicht mehr im umgekehrten Zustand befindet.
  • Es müssen nicht alle in 2 dargestellten Prozessschritte in dem Einlernprozess enthalten sein. Zum Beispiel kann auch ein Einlernprozess implementiert werden, der die Schritte S1 bis S5 und S7 umfasst (ein Einlernprozess zum Detektieren eines umgekehrten Zustands).
  • Die Programme zum Ausführen verschiedener Arten von Verarbeitung, wie etwa des Einlernprozesses, der Simulationsoperation und dergleichen gemäß der oben beschriebenen Ausführungsform (2 und 11) können in verschiedenen Arten von computerlesbaren Aufzeichnungsmedien (z. B. Halbleiterspeichern wie einem ROM, einem EEPROM und einem Flash-Speicher, einem magnetischen Aufzeichnungsmedium, optischen Datenträgern wie einer CD-ROM und einer DVD-ROM oder dergleichen) aufgezeichnet werden.
  • Bezugszeichenliste
  • 10
    Roboter-Programmiervorrichtung
    11
    Virtueller-Raum-Erzeugungsteil
    12
    Modellanordnungsteil
    13
    Bewegungspositions-Festlegungsteil
    14
    Robotermodell-Bewegungsteil
    21
    Armumkehrungs-Detektionsteil
    22
    Armumkehrungs-Warnteil
    23
    Armumkehrungs-Korrekturteil
    31
    Betriebsbereichsgrenzen-Detektionsteil
    32
    Bewegungsbereichsgrenzen-Warnteil
    33
    Bewegungsbereichsgrenzen-Korrekturteil
    41
    Überdrehungs-Detektionsteil
    42
    Überdrehungs-Warnteil
    43
    Überdrehungs-Korrekturteil
    51
    Störungsdetektionsteil
    52
    Störungswarnteil
    53
    Störungsvermeidungsteil
    54
    Simulationsausführungsteil
    60
    Anzeigevorrichtung
    61
    Anzeigeschirm
    101
    Robotermodell
    102
    Werkzeugmodell
    103
    Bewegliche-Plattform-Modell
    104
    Maschinenmodell
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2009166172 A [0002]
    • JP 05289730 A [0002]

Claims (11)

  1. Roboter-Programmiervorrichtung, ausgelegt zum Einlernen eines Roboterprogramms, indem in einem virtuellen Raum, der einen Arbeitsraum dreidimensional repräsentiert, ein mit einem Werkzeugmodell bestücktes Robotermodell, ein Arbeitsstückmodell und ein Peripherievorrichtungsmodell angeordnet und auf einem Anzeigeschirm angezeigt werden, wobei die Vorrichtung Folgendes umfasst: einen Robotermodell-Bewegungsteil, ausgelegt zum Bewegen eines vorbestimmten beweglichen Teils des Robotermodells von einer ersten Position zu einer zweiten Position gemäß einem Lerninhalt; einen Armumkehrungs-Detektionsteil, ausgelegt zum Detektieren, ob eine in dem Robotermodell enthaltene Achse sich in einem vorbestimmten Zustand befindet, in dem die Achse um 180° ± einem ersten vorbestimmten Wert von einem Referenzdrehwinkel gedreht ist, wenn der vorbestimmte bewegliche Teil des Robotermodells zu der zweiten Position bewegt wird; und einen Armumkehrungs-Korrekturteil, ausgelegt zum Korrigieren einer Orientierung des Robotermodells, wobei der vorbestimmte bewegliche Teil des Robotermodells sich an der zweiten Position befindet, so dass die Achse sich nicht mehr in dem vorbestimmten Zustand befindet, wenn detektiert wird, dass eine in dem Robotermodell enthaltene Achse sich in dem vorbestimmten Zustand befindet.
  2. Roboter-Programmiervorrichtung nach Anspruch 1, ferner umfassend: einen Bewegungspositions-Festlegungsteil, ausgelegt zum Empfangen einer Festlegung der zweiten Position als ein Bewegungsziel des vorbestimmten beweglichen Teils des Robotermodells, wenn sich der vorbestimmte bewegliche Teil des Robotermodells im virtuellen Raum an der ersten Position befindet, wobei der Robotermodell-Bewegungsteil den vorbestimmten beweglichen Teil des Robotermodells zu der als das Bewegungsziel festgelegten zweiten Position bewegt.
  3. Roboter-Programmiervorrichtung nach Anspruch 1 oder 2, ferner umfassend: einen Armumkehrungs-Warnteil, der dafür ausgelegt ist, wenn durch den Armumkehrungs-Detektionsteil detektiert wird, dass eine in dem Robotermodell enthaltene Achse sich in dem vorbestimmten Zustand befindet, auf dem Anzeigeschirm eine Warnnachricht anzuzeigen, die angibt, dass der vorbestimmte Zustand aufgetreten ist.
  4. Roboter-Programmiervorrichtung nach einem der Ansprüche 1 bis 3, wobei der Armumkehrungs-Korrekturteil eine Orientierung des Robotermodells gemäß einer vorbestimmten Korrekturbedingung korrigiert, die eine zu korrigierende Achse und einen Korrekturwinkelbereich der Achse umfasst.
  5. Roboter-Programmiervorrichtung nach einem der Ansprüche 1 bis 4, ferner umfassend: einen Betriebsbereichsgrenzen-Detektionsteil, ausgelegt zum Detektieren, ob sich ein Drehwinkel einer der in dem Robotermodell enthaltenen Achsen innerhalb eines zweiten vorbestimmten Werts von einer Obergrenze oder Untergrenze eines vorbestimmten Betriebsbereichs der Achse befindet oder nicht, wenn bewirkt wird, dass das Robotermodell eine Orientierung an der zweiten Position annimmt; einen Betriebsbereichsgrenzen-Warnteil, ausgelegt zum Anzeigen einer Warnnachricht auf dem Anzeigeschirm, wenn detektiert wird, dass ein Drehwinkel einer in dem Robotermodell enthaltenen Achse innerhalb des zweiten vorbestimmten Werts von der Obergrenze oder der Untergrenze des vorbestimmten Betriebsbereichs der Achse liegt; und einen Betriebsbereichsgrenzen-Korrekturteil, ausgelegt zum Korrigieren einer Orientierung des Robotermodells an der zweiten Position, wenn detektiert wird, dass ein Drehwinkel einer in dem Robotermodell enthaltenen Achse innerhalb des zweiten vorbestimmten Werts von der Obergrenze oder der Untergrenze des vorbestimmten Betriebsbereichs der Achse liegt, so dass der Drehwinkel der Achse nicht mehr innerhalb des zweiten vorbestimmten Werts von der Obergrenze oder der Untergrenze des vorbestimmten Betriebsbereichs liegt.
  6. Roboter-Programmiervorrichtung nach Anspruch 5, wobei der Betriebsbereichsgrenzen-Korrekturteil eine Orientierung des Robotermodells gemäß einer vorbestimmten Korrekturbedingung korrigiert, die eine zu korrigierende Achse und einen Korrekturwinkelbereich der Achse umfasst.
  7. Roboter-Programmiervorrichtung nach einem der Ansprüche 1 bis 6, ferner umfassend: einen Überdrehungsdetektionsteil, ausgelegt zum Detektieren, ob ein Drehungsbetrag einer in dem Robotermodell enthaltenen Achse mit Bezug auf eine Drehungsposition des Robotermodells in einer Orientierung vor der Bewegung einen festgesetzten Drehungswinkel überschritten hat, der für die Achse vordefiniert ist, wenn bewirkt wird, dass das Robotermodell eine Orientierung an der zweiten Position annimmt; einen Überdrehungswarnteil, ausgelegt zum Anzeigen einer Warnnachricht auf dem Anzeigeschirm, wenn detektiert wird, dass ein Drehungsbetrag einer in dem Robotermodell enthaltenen Achse mit Bezug auf eine Drehungsposition des Robotermodells in einer Orientierung vor der Bewegung den für die Achse vordefinierten festgesetzten Drehungswinkel überschritten hat; und einen Überdrehungskorrekturteil, ausgelegt zum Korrigieren einer Orientierung des Robotermodells an der zweiten Position, wenn detektiert wird, dass ein Drehungsbetrag einer in dem Robotermodell enthaltenen Achse mit Bezug auf eine Drehungsposition des Robotermodells in einer Orientierung vor der Bewegung den für die Achse vordefinierten festgesetzten Drehungswinkel überschritten hat, so dass ein Drehungswinkel der Achse den festgesetzten Drehungswinkel nicht überschreitet.
  8. Roboter-Programmiervorrichtung nach Anspruch 7, wobei der Überdrehungskorrekturteil eine Orientierung des Robotermodells gemäß einer vorbestimmten Korrekturbedingung korrigiert, die eine zu korrigierende Achse und einen Korrekturwinkelbereich der Achse umfasst.
  9. Roboter-Programmiervorrichtung nach einem der Ansprüche 1 bis 8, ferner umfassend: einen Störungsdetektionsteil, ausgelegt zum Detektieren, ob eine Störung zwischen dem mit dem Werkzeugmodell bestückten Robotermodell, dem Arbeitsstückmodell und dem Peripherievorrichtungsmodell auftritt, wenn bewirkt wird, dass das Robotermodell eine Orientierung an der zweiten Position annimmt; einen Störungswarnteil, ausgelegt zum Anzeigen einer Warnnachricht auf dem Anzeigeschirm, wenn Auftreten der Störung detektiert wird; und einen Störungsvermeidungsteil, ausgelegt zum Korrigieren einer Orientierung des Robotermodells an der zweiten Position, wenn das Auftreten der Störung detektiert wird, so dass die Störung nicht mehr auftritt.
  10. Roboter-Programmierverfahren, ausgelegt zum Einlernen eines Roboterprogramms, indem in einem virtuellen Raum, der einen Arbeitsraum dreidimensional repräsentiert, ein mit einem Werkzeugmodell bestücktes Robotermodell, ein Arbeitsstückmodell und ein Peripherievorrichtungsmodell angeordnet und auf einem Anzeigeschirm angezeigt werden, wobei das Verfahren Folgendes umfasst: Bewegen eines vorbestimmten beweglichen Teils des Robotermodells von einer ersten Position zu einer zweiten Position gemäß einem Lerninhalt; Detektieren, ob eine in dem Robotermodell enthaltene Achse sich in einem vorbestimmten Zustand befindet, in dem die Achse um 180° ± einem ersten vorbestimmten Wert von einem Referenzdrehwinkel gedreht ist, wenn der vorbestimmte bewegliche Teil des Robotermodells zu der zweiten Position bewegt wird; und Korrigieren einer Orientierung des Robotermodells, wobei der vorbestimmte bewegliche Teil des Robotermodells sich an der zweiten Position befindet, so dass die Achse sich nicht mehr in dem vorbestimmten Zustand befindet, wenn detektiert wird, dass eine in dem Robotermodell enthaltene Achse sich in dem vorbestimmten Zustand befindet.
  11. Roboter-Programmierverfahren, ausgelegt zum Einlernen eines Roboterprogramms, indem in einem virtuellen Raum, der einen Arbeitsraum dreidimensional repräsentiert, ein mit einem Werkzeugmodell bestücktes Robotermodell, ein Arbeitsstückmodell und ein Peripherievorrichtungsmodell angeordnet und auf einem Anzeigeschirm angezeigt werden, wobei das Verfahren Folgendes umfasst: Ausführen einer Simulationsoperation des Robotermodells gemäß einem Betriebsprogramm; Anzeigen einer ersten Warnnachricht, wenn detektiert wird, dass eine in dem Robotermodell enthaltene Achse sich in einem vorbestimmten Zustand befindet, in dem die Achse um 180° ± einem ersten vorbestimmten Wert von einem Referenzdrehungswinkel während der Simulationsoperation gedreht ist; Anzeigen einer zweiten Warnnachricht, wenn während der Simulationsoperation detektiert wird, dass ein Drehungswinkel einer in dem Robotermodell enthaltenen Achse innerhalb eines zweiten vorbestimmten Werts von einer Obergrenze oder einer Untergrenze eines vorbestimmten Betriebsbereichs der Achse liegt; Anzeigen einer dritten Warnnachricht wenn während der Simulationsoperation detektiert wird, dass ein Drehungsbetrag einer in dem Robotermodell enthaltenen Achse mit Bezug auf eine Drehungsposition des Robotermodells in einer Orientierung vor der Bewegung einen festgesetzten Drehungswinkel überschritten hat, der für die Achse vordefiniert ist; und Anzeigen einer vierten Warnnachricht, wenn während der Simulationsoperation eine Störung zwischen dem mit dem Werkzeugmodell bestückten Robotermodell, dem Arbeitsstückmodell und dem Peripherievorrichtungsmodell detektiert wird.
DE112021001427.7T 2020-03-05 2021-03-02 Roboterprogrammiervorrichtung und roboterprogrammierverfahren Pending DE112021001427T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020-038051 2020-03-05
JP2020038051 2020-03-05
PCT/JP2021/007978 WO2021177313A1 (ja) 2020-03-05 2021-03-02 ロボットプログラミング装置及びロボットプログラミング方法

Publications (1)

Publication Number Publication Date
DE112021001427T5 true DE112021001427T5 (de) 2023-01-12

Family

ID=77612642

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021001427.7T Pending DE112021001427T5 (de) 2020-03-05 2021-03-02 Roboterprogrammiervorrichtung und roboterprogrammierverfahren

Country Status (5)

Country Link
US (1) US20230046827A1 (de)
JP (1) JP7469457B2 (de)
CN (1) CN115244480A (de)
DE (1) DE112021001427T5 (de)
WO (1) WO2021177313A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289730A (ja) 1992-04-08 1993-11-05 Kobe Steel Ltd ロボットの教示データ修正装置
JP2009166172A (ja) 2008-01-16 2009-07-30 Seiko Epson Corp ロボットのシミュレーション方法及びロボットのシミュレーション装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04268607A (ja) * 1991-02-25 1992-09-24 Matsushita Electric Works Ltd ロボットのオフライン教示方法
JP4836458B2 (ja) * 2005-01-07 2011-12-14 株式会社神戸製鋼所 動作プログラムの作成方法
JP4997419B2 (ja) * 2005-11-07 2012-08-08 株式会社国際電気通信基礎技術研究所 ロボット用動作変換システム
JP2015174185A (ja) * 2014-03-14 2015-10-05 三菱重工業株式会社 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム
JP7046531B2 (ja) 2017-09-04 2022-04-04 キヤノン株式会社 ロボットの制御方法、ロボットの制御装置、情報処理方法、情報処理装置、教示方法、教示装置、ロボットの制御方法を用いた物品の製造方法、プログラムおよび記録媒体
JP2019042375A (ja) * 2017-09-06 2019-03-22 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289730A (ja) 1992-04-08 1993-11-05 Kobe Steel Ltd ロボットの教示データ修正装置
JP2009166172A (ja) 2008-01-16 2009-07-30 Seiko Epson Corp ロボットのシミュレーション方法及びロボットのシミュレーション装置

Also Published As

Publication number Publication date
CN115244480A (zh) 2022-10-25
US20230046827A1 (en) 2023-02-16
JPWO2021177313A1 (de) 2021-09-10
JP7469457B2 (ja) 2024-04-16
WO2021177313A1 (ja) 2021-09-10

Similar Documents

Publication Publication Date Title
DE102012021374B4 (de) Roboterprogrammiervorrichtung
DE102015015093B4 (de) Roboterprogrammiervorrichtung zum Instruieren eines Roboters für eine Bearbeitung
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE60025683T2 (de) Graphische Anzeigevorrichtung für ein Robotersystem
DE112011105151B4 (de) Roboterkontrollvorrichtung
DE102018008395B4 (de) Robotereinlernvorrichtung zum melden oder korrigieren einer positionsabweichung von einlernpunkten oder einer einlernlinie
DE10352815B4 (de) Simulationsverfahren für eine Bearbeitung eines Werkstücks durch eine Werkzeugmaschine und korrespondierender Rechner
DE102009003003B4 (de) Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
DE102015014236B4 (de) Programmkorrekturvorrichtung und Programmkorrekturverfahren eines Industrieroboters
DE102011017221A1 (de) Robotersystem
DE102014224193B4 (de) Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters
DE102020129967A1 (de) Simulationsvorrichtung und Robotersystem mit erweiterter Realität
DE112010005510B4 (de) Numerisches Steuerverfahren und Vorrichtung dafür
DE102013008755A1 (de) Offline-Programmiersystem
DE102018214272A1 (de) Robotersystem
DE102019000890B4 (de) Robotersystem zum Ausführen einer Lernsteuerung basierend auf Bearbeitungsergebnissen und diesbezügliches Steuerverfahren
DE112019007889T5 (de) Bearbeitungsprogramm-umwandlungseinrichtung, numerische-steuereinrichtung und bearbeitungsprogramm-umwandlungsverfahren
DE102012022190B4 (de) Inverse Kinematik
DE112014006404T5 (de) Drahterodiervorrichtung und Bearbeitungsverfahren
DE112014006610B4 (de) Robotersteuerungsvorrichtung und Robotersteuerungsverfahren
DE112021001427T5 (de) Roboterprogrammiervorrichtung und roboterprogrammierverfahren
DE112022000273T5 (de) Programmevaluationsvorrichtung und teaching-vorrichtung
DE112021007650T5 (de) Roboter-steuerungsvorrichtung, die den roboter auf der grundlage von vorrichtungsdaten steuert, und korrekturvorrichtung für das betriebsprogramm
DE102022124067A1 (de) Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium
DE112021005419T5 (de) Robotersteuerungsvorrichtung und Robotersystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed