DE112020006647B4 - Ursprungsrückführvorrichtung - Google Patents

Ursprungsrückführvorrichtung Download PDF

Info

Publication number
DE112020006647B4
DE112020006647B4 DE112020006647.9T DE112020006647T DE112020006647B4 DE 112020006647 B4 DE112020006647 B4 DE 112020006647B4 DE 112020006647 T DE112020006647 T DE 112020006647T DE 112020006647 B4 DE112020006647 B4 DE 112020006647B4
Authority
DE
Germany
Prior art keywords
return
origin
robot
motion
node
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
DE112020006647.9T
Other languages
English (en)
Other versions
DE112020006647T5 (de
Inventor
Tatsuya Nagatani
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112020006647T5 publication Critical patent/DE112020006647T5/de
Application granted granted Critical
Publication of DE112020006647B4 publication Critical patent/DE112020006647B4/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

Ursprungsrückführvorrichtung, die Folgendes aufweist:- eine Bewegungspositions-Extraktionseinheit, die dazu ausgelegt ist, eine Mehrzahl von Bewegungspositionen aus einem Roboterprogramm zu extrahieren;- eine Ursprungs-Vorgabeeinheit, die dazu ausgelegt ist, irgendeine von der Mehrzahl von Bewegungspositionen als einen Ursprung vorzugeben;- eine Rückführbewegungsbahnbaum-Vorgabeeinheit, die eine Mehrzahl von Knoten, denen die Mehrzahl von Bewegungspositionen entsprechend zugewiesen ist, und einen Zweig, der einen Kindknoten und einen Elternknoten des Kindknotens, die in der Mehrzahl von Knoten enthalten sind, miteinander verbindet und für den eine Bewegungsbedingung für das Bewegen eines Roboters von einer Bewegungsposition, die dem Kindknoten zugewiesen ist, zu einer Bewegungsposition, die dem Elternknoten des Kindknotens zugewiesen ist, vorgegeben ist, aufweist und die dazu ausgelegt ist, einen Rückführbewegungsbahnbaum vorzugeben, in dem die Mehrzahl von Knoten einen Wurzelknoten enthält, der dem Ursprung zugewiesen ist;- eine Bestimmungseinheit für entsprechende Knoten, die dazu ausgelegt ist, einen entsprechenden in dem Rückführbewegungsbahnbaum enthaltenen Knoten zu bestimmen, dem eine Bewegungsposition zugewiesen ist, die einer aktuellen Position des Roboters entspricht; und- eine Ursprungsrückführ-Bewegungseinheit, die dazu ausgelegt ist, den Roboter durch Bewegen des Roboters gemäß einer Bewegungsbedingung, die in einem in dem Rückführbewegungsbahnbaum enthaltenen Zweig vorgegeben ist, der den entsprechenden Knoten und einen Elternknoten des entsprechenden Knotens miteinander verbindet, zum Ursprung zurückzuführen.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Ursprungsrückführvorrichtung, die einen Roboter zum Ursprung zurückführt.
  • Stand der Technik
  • Ein Industrieroboter hat eine Ausgangsposition. Die Ausgangsposition wird auch als der Ursprung bezeichnet. Beim Rückführen des Industrieroboters von der aktuellen Position zum Ursprung wird ein Vorgang durchgeführt, bei dem der Industrieroboter veranlasst wird, sich von der aktuellen Position zum Ursprung in umgekehrter Reihenfolge durch diejenigen Bewegungspositionen zu bewegen, die der Industrieroboter auf dem Weg vom Ursprung zu der aktuellen Position durchlaufen hat. Die in dem Patentdokument 1 beschriebene Technik ist ein Beispiel.
  • Dokumente zum Stand der Technik
  • Patentdokumente
  • Patentdokument 1: Japanische Patentanmeldungs-Offenlegungsschrift JP 2000- 61 870 A
  • Aus der EP 1 801 678 B1 ist ein Verfahren zum Steuern eines Roboterpfades während einer Notfall-Evakuierung von einem Hauptpfad bekannt.
  • Die US 2019 / 0 134 814 A1 beschreibt einen Gelenkroboter, der für den Werkstücktransfer oder dergleichen verwendet wird, bei dem die Rückkehr zum Ursprung so weit wie möglich ohne manuelle Bedienung sicher durchgeführt werden kann,.
  • Die US 2018 / 0 354 133 A1 beschreibt eine Konfiguration für eine Steuervorrichtung für einen Roboter, mit der das Risiko, dass ein Roboterarm bei der Rückführung eines Teils mit einem anderen Hindernis oder Ähnlichem in Berührung kommt, verringert werden kann.
  • Die JP 2012- 106 335 A betrifft ein Verfahren zum Erzeugen einer Bewegungsbahn eines Roboterarms von einer aktuellen Position zu einer Zielposition. Hierfür wird ein Bewegungsbahnnetz erstellt, indem geprüft wird, ob es Interferenzen zwischen dem Roboterarm und Hindernissen gibt, die die Bewegung des Roboterarms behindern würden.
  • Ferner sei auf die JP 2009- 090 383 A und die JP H05- 88 720 A verwiesen, die auch jeweils Verfahren zur Rückführung eines Roboters beschreiben.
  • Kurzdarstellung
  • Mit der Erfindung zu lösendes Problem
  • Das vorstehend beschriebene Verfahren zum Rückführen eines Industrieroboters zum Ursprung ist geeignet, wenn der Industrieroboter eine Aufgabe wiederholt durchführt, es entsteht jedoch ein Problem, wenn der Industrieroboter mehrere Aufgaben durchführt.
  • Als Beispiel wird ein Fall betrachtet, in dem ein Industrieroboter eine Reihe von Aufgaben wiederholt durchführt, die eine Aufgabe des Aufnehmens von Teilen und eine Aufgabe des Zusammenbauens von Teilen beinhalten. In diesem Fall führt der Industrieroboter die Aufgabe des Aufnehmens und die Aufgabe des Zusammenbauens durchgehend durch, ohne den Ursprung zu durchlaufen. Ferner führt der Industrieroboter nach der Durchführung einer Reihe von Aufgaben eine Reihe von Aufgaben erneut durch, ohne den Ursprung zu durchlaufen. Somit durchläuft der Industrieroboter, wenn er bei der Aufgabe des Zusammenbauens der Teile nicht erfolgreich ist, die Bewegungspositionen, die der Industrieroboter während der Durchführung der Aufgabe des Aufnehmens der Teile durchlaufen muss, in umgekehrter Reihenfolge, oder es durchläuft der Industrieroboter eine Aufgabenposition, die er während der wiederholten Durchführung der Reihe von Aufgaben durchlaufen muss, in umgekehrter Reihenfolge, während er sich von der aktuellen Position zum Ursprung bewegt. Somit erhöht sich die Anzahl von Bewegungspositionen, die der Industrieroboter durchlaufen muss, während er sich von der aktuellen Position zum Ursprung bewegt.
  • Zwar sind auch Programmierarbeiten denkbar, die einen Industrieroboter für alle anderen Bewegungspositionen als den Ursprung von der jeweiligen anderen Bewegungsposition als dem Ursprung zum Ursprung bewegen, doch sind solche Programmierarbeiten keine einfach auszuführende Aufgabe.
  • Diese Probleme treten auch allgemein bei Vorrichtungen mit mehreren Antriebseinheiten auf, die in anderen Produktionsausrüstungen als Industrierobotern angeordnet sind.
  • Die vorliegende Erfindung wurde in Anbetracht der vorstehend beschriebenen Probleme konzipiert. Aufgabe der vorliegenden Erfindung ist es, eine Ursprungsrückführvorrichtung anzugeben, die in der Lage ist, Vorbereitungen für eine effiziente Rückführung eines Roboters zum Ursprung einfach durchzuführen.
  • Mittel zur Lösung des Problems
  • Die der Erfindung zugrundeliegende Aufgabe wird durch eine Ursprungsrückführvorrichtung mit den Merkmalen des unabhängigen Patentanspruchs 1 gelöst. Vorteilhafte Weiterbildungen der Ursprungsrückführvorrichtung gemäß der Erfindung sind in den abhängigen Ansprüchen 2 bis 7 angegeben.
  • Wirkungen der Erfindung
  • Gemäß der vorliegenden Erfindung wird die Anzahl von Bewegungspositionen reduziert, die der Roboter durchläuft, wenn er von einer anderen Bewegungsposition als dem Ursprung zum Ursprung zurückkehrt. Zusätzlich wird die Anforderung der individuellen Programmerstellung für jede Bewegungsposition zum Bewegen des Roboters von der anderen Bewegungsposition als dem Ursprung zum Ursprung für alle anderen Bewegungspositionen als dem Ursprung unnötig. Dies schafft eine Erleichterung der Vorbereitungen für eine effektive Rückführung des Roboterhauptkörpers zum Ursprung.
  • Die Ziele, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden ausführlichen Beschreibung und den beiliegenden Zeichnungen deutlicher werden.
  • Kurze Beschreibung der Zeichnungen
  • Die Zeichnungen zeigen in
    • 1 eine perspektivische Ansicht, die schematisch einen Roboter darstellt, der von einer Ursprungsrückführvorrichtung der ersten Ausführungsform gesteuert wird.
    • 2 ein Diagramm, das ein Beispiel für ein Roboterprogramm darstellt, auf das sich die Ursprungsrückführvorrichtung der ersten Ausführungsform bezieht.
    • 3 ein Blockdiagramm, das schematisch die Ursprungsrückführvorrichtung der ersten Ausführungsform darstellt.
    • 4 ein Diagramm, das ein Beispiel für einen Ursprungsrückführbaum darstellt, der von der Ursprungsrückführvorrichtung der ersten Ausführungsform erzeugt wird.
    • 5 ein Diagramm, das schematisch ein Beispiel für einen Einstellbildschirm darstellt, der verwendet wird, wenn ein Rückführbewegungsbahnbaum von der Ursprungsrückführvorrichtung der ersten Ausführungsform vorgegeben wird.
    • 6 ein Ablaufdiagramm, das einen Ablauf der Ursprungsrückführungsverarbeitung darstellt, die von der Ursprungsrückführvorrichtung der ersten Ausführungsform durchgeführt wird.
    • 7 ein Diagramm, das ein Eingabebeispiel darstellt, das verwendet wird, wenn der Rückführbewegungsbahnbaum von der Ursprungsrückführvorrichtung der ersten Ausführungsform vorgegeben wird.
    • 8 ein Diagramm, das ein Eingabebeispiel darstellt, das verwendet wird, wenn der Rückführbewegungsbahnbaum von der Ursprungsrückführvorrichtung der ersten Ausführungsform vorgegeben wird.
    • 9 ein Blockdiagramm, das schematisch einen Computer darstellt, der die Ursprungsrückführvorrichtung der ersten Ausführungsform bildet.
    • 10 ein Blockdiagramm, das schematisch eine Ursprungsrückführvorrichtung der zweiten Ausführungsform darstellt.
    • 11 ein Ablaufdiagramm, das ein Beispiel für ein Ursprungsrückführprogramm darstellt, das von der Ursprungsrückführvorrichtung der zweiten Ausführungsform vorgegeben wird.
    • 12 ein Blockdiagramm, das schematisch eine Ursprungsrückführvorrichtung der dritten Ausführungsform darstellt.
    • 13 ein Ablaufdiagramm, das ein Beispiel für ein Ursprungsrückführprogramm darstellt, das von der Ursprungsrückführvorrichtung der dritten Ausführungsform vorgegeben wird.
    • 14 ein Ablaufdiagramm, das ein Beispiel für ein Ursprungsrückführprogramm darstellt, das von der Ursprungsrückführvorrichtung der dritten Ausführungsform vorgegeben wird.
    • 15 ein Blockdiagramm, das schematisch eine Ursprungsrückführvorrichtung der vierten Ausführungsform darstellt.
    • 16 ein Blockdiagramm, das schematisch eine Ursprungsrückführvorrichtung der fünften Ausführungsform darstellt.
  • Beschreibung von Ausführungsform(en)
  • 1. Erste Ausführungsform
  • 1. 1 Roboter
  • 1 ist eine perspektivische Ansicht, die schematisch einen Roboter darstellt, der von einer Ursprungsrückführvorrichtung der ersten Ausführungsform gesteuert wird.
  • Ein in 1 dargestellter Roboter 100 ist ein Industrieroboter. Der Roboter 100 kann als eine Vorrichtung mit einer Mehrzahl von Antriebseinheiten verwendet werden, die in anderen Produktionsausrüstungen als einem Industrieroboter angeordnet sind.
  • Wie in 1 dargestellt, weist der Roboter 100 einen Roboterkörper 111, eine Roboterhand 112, eine Robotersteuerung 113 und ein Kabel 114 auf.
  • Der Roboterkörper 111 weist eine Mehrzahl von Motoren und eine Mehrzahl von Gliedern auf. Ferner weist der Roboterkörper 111 ein Handgelenk 121 auf. Ferner ist das Handgelenk 121 an der Spitze des Roboterkörpers 111 angeordnet. Die Roboterhand 112 ist an dem Handgelenk 121 angebracht. Der Roboterkörper 111 hat einen Werkzeugmittelpunkt 122. Der Werkzeugmittelpunkt 122 stellt eine Position dar, an der ein Finger der Roboterhand 112 angeordnet ist und die Arbeit durchgeführt wird.
  • Das Kabel 114 verbindet die Robotersteuerung 113 elektrisch mit dem Roboterkörper 111. Somit kann die Robotersteuerung 113 den Roboterkörper 111 steuern.
  • Die Position und die Stellung des Roboters 100 werden durch die Winkel der Drehachsen einer Mehrzahl von Motoren, die in dem Roboterkörper 111 angeordnet sind, die dreidimensionale Position und Stellung des Werkzeugmittelpunkts 122 und dergleichen umgesetzt.
  • Der Roboter 100 ist mit einer Vorrichtung ausgestattet, die in einer Produktionsausrüstung angeordnet ist. Zusätzlich zu dem Roboter 100 weist die in der Produktionsausrüstung angeordnete Vorrichtung eine andere Antriebseinheit als den Roboter 100, einen Sensor und eine Steuerung zum Steuern der Einheit und des Sensors auf.
  • 1. 2 Roboterprogramm
  • 2 ist ein Diagramm, das ein Beispiel für ein Roboterprogramm darstellt, auf das sich die Ursprungsrückführvorrichtung der ersten Ausführungsform bezieht.
  • Das in 2 dargestellte Roboterprogramm P weist einen Satz P1 von Lehrpositionen und einen Roboterprogrammrumpf P2 auf.
  • Der Satz von Lehrpositionen P1 ist in den unteren Teil des Roboterprogramms P geschrieben. Der Roboterprogrammrumpf P2 ist in den oberen Teil des Roboterprogramms P geschrieben.
  • Der Satz von Lehrpositionen P1 weist Lehrpositionen Phome, P1, P2, P3 (1) und P3 (2) auf. Die Lehrpositionen Phome, P1, P2, P3 (1) und P3 (2) haben die Werte (300, 0, 450, 180, 0, 0), (500, 200, 20, 180, 0, 30), (500, -150, 15, 180, 0, 15), (400, -350, 15, 180, 0, 0) bzw. (400, -320, 15, 180, 0, 0).
  • Jede in den Lehrpositionen Phome, P1, P2, P3 (1) und P3 (2) enthaltene Lehrposition gibt eine Position und Stellung des Roboters 100 vor. Jede Lehrposition wird durch verschiedene Ausdrucksverfahren ausgedrückt. Beispielsweise wird jede Lehrposition durch eine Struktur dargestellt, die in Programmiersprachen, wie z. B. C verwendet werden kann. Wenn die Position und Stellung des Roboters 100 durch die Winkel der Drehachsen einer Mehrzahl von Motoren dargestellt werden, wird jede Lehrposition durch eine Struktur dargestellt, in der die Winkel der Drehachsen der Mehrzahl von Motoren kompiliert sind.
  • Wenn die Position und Stellung des Roboters 100 durch die dreidimensionale Position und Stellung des Werkzeugmittelpunkts 122 ausgedrückt werden, wird jede Lehrposition durch eine Struktur dargestellt, in der zusätzliche Informationen, die die Position und Stellung des Werkzeugmittelpunkts 122 und die Stellung des Roboterkörpers 111 eindeutig bestimmen können, kompiliert sind. Die zusätzlichen Informationen weisen eine Position eines Ellbogens, Mehrfachdrehungsinformation einer Drehachse, die sich 360° oder mehr drehen kann, und dergleichen auf.
  • In dem in 2 dargestellten Roboterprogramm P wird jede Lehrposition durch eine Struktur dargestellt, in der die Position und Stellung des Werkzeugmittelpunkts 122 und zusätzliche Informationen kompiliert sind. In dem in 2 dargestellten Roboterprogramm P sind jedoch, während die Position und Stellung des Werkzeugmittelpunkts 122, die jede Lehrposition bilden, geschrieben sind, die zusätzlichen Informationen, die jede Lehrposition bilden, der Einfachheit halber nicht geschrieben.
  • Die Lehrpositionen P3 (1) und P3 (2) sind die zwei Elemente, die das Feld P3 bilden. Die Lehrpositionen P3 (1) und P3 (2) sind entsprechend durch einen Index identifiziert, der aus den in Klammern gesetzten Zahlenwerten „1“ und „2“ besteht.
  • Die Lehrpositionen Phome, P1, P2, P3 (1) und P3 (2) werden vorzugsweise in einem Zustand verwaltet, in dem sie von dem Roboterprogrammrumpf P2 getrennt sind, ohne fest in dem Roboterprogrammrumpf P2 programmiert zu sein. Dadurch wird das Auftreten eines Modifizierungsvorgangs des Roboterprogrammrumpfs P2 verhindert, wenn die Lehrpositionen Phome, P1, P2, P3 (1) und P3 (2) durch physische Anpassung vorgegeben werden, um mechanische Fehler durch den Roboterkörper 111 aufzufangen.
  • Der Roboterprogrammrumpf P2 weist Bewegungsbefehle „Mov Phome“, „Mov P1, -50“, „Mvs P1“, „Mvs P1, -50“, „Mov P2, -50“, „Mvs P2“ und „Mvs P2, -50“, Hilfsbefehle „HandOpen 1“, „HandClose 1“ und „GoTo *PICK“ und Bezeichnungen „* INITIAL“, „*PICK“ und „*PUT“ sowie Kommentare „//“ auf.
  • Die Bewegungsbefehle „Mov Phome“, „Mov P1, -50“, „Mvs P1“, „Mvs P1, -50“, „Mov P2, -50“, „Mvs P2“ und „Mvs P2, -50“ sind in die zweite Zeile, die sechste Zeile, die siebte Zeile, die neunte Zeile, die zwölfte Zeile, die dreizehnte Zeile bzw. die fünfzehnte Zeile des Roboterprogrammrumpfs P2 geschrieben. Die Hilfsbefehle „HandOpen 1“ sind in die dritte Zeile und in die vierzehnte Zeile des Roboterprogrammrumpfs P2 geschrieben. Der Hilfsbefehl „HandClose 1“ ist in die achte Zeile des Roboterprogrammrumpfs P2 geschrieben. Der Hilfsbefehl „GoTo *PICK“ ist in die sechzehnte Zeile des Roboterprogrammrumpfs P2 geschrieben. Die Bezeichnungen „* INITIAL“, „*PICK“ und „*PUT“ sind in die erste Zeile, die fünfte Zeile bzw. die elfte Zeile des Roboterprogrammrumpfs P2 geschrieben. Die Kommentare „//“ sind in die vierte Zeile und in die zehnte Zeile des Roboterprogrammrumpfs P2 geschrieben.
  • Jeder Bewegungsbefehl der Bewegungsbefehle „Mov Phome“, „Mov P1, -50“, „Mvs P1“, „Mvs P1, -50“, „Mov P2, -50“, „Mvs P2“ und „Mvs P2, -50“ ist ein Befehl zum Bewegen des Roboters 100.
  • Die Bewegungsbefehle „Mov Phome“, „Mov P1, -50“, „Mvs P1“, „Mvs P1, -50“, „Mov P2, -50“, „Mvs P2“ und „Mvs P2, -50“ weisen Bewegungsbefehlstypen „Mov“, „Mov“, „Mvs“, „Mvs“, „Mov“, „Mvs“ bzw. „Mvs“ sowie Zielpositionen „Phome“, „P1, - 50“, „P1“, „P1, -50“, „P2, -50“, „P2“ bzw. „P2, -50“ auf.
  • Jeder Bewegungsbefehlstyp der Bewegungsbefehlstypen von „Mov“ und „Mvs“ gibt ein Bewegungsverfahren vor, das beim Bewegen des Roboters 100 verwendet wird. Der Bewegungsbefehlstyp „Mov“ gibt ein Bewegungsverfahren zum Drehen jedes in dem Roboterkörper 111 angeordneten Motors in einem trapezförmigen Geschwindigkeitsmuster vor. Gemäß dem Bewegungsbefehlstyp „Mov“ kann der Roboter 100 in der kürzesten Zeit bewegt werden. Der Bewegungsbefehlstyp „Mvs“ gibt ein Bewegungsverfahren zum Bewegen des Werkzeugmittelpunkts 122 entlang einer geraden Linie vor.
  • Jede Zielposition der Zielpositionen „Phome“, „P1, -50“, „P1“, „P2, -50“ und „P2“ gibt die Position und Stellung des Roboters 100 nach dem Bewegen des Roboters 100 vor.
  • Die Zielpositionen „Phome“, „P1, -50“, „P1“, „P2, -50“ und „P2“ weisen die Lehrpositionen Phome, P1, P1, P2 bzw. P2 auf. Die Zielpositionen „P1, -50“ und „P2, - 50“ weisen die Zielpositionsänderungsinformationen ,,,-50” bzw. ,,,-50" auf.
  • Die Zielpositionen „Phome“, „P1“ und „P2“ stellen die gleichen Positionen dar wie die Lehrpositionen Phome, P1 bzw. P2.
  • Die in den Zielpositionen „P1, -50“ und „P2, -50“ enthaltenen Zielpositionsänderungsinformationen ,,,-50" werden hinter die Lehrpunkte P1 bzw. P2 geschrieben.
  • Die Zielpositionsänderungsinformation gibt an, dass die Zielposition in einer durch die Zielpositionsänderungsinformation vorgegebenen Richtung um einen durch die Zielpositionsänderungsinformation vorgegebenen Abstand von der Lehrposition geändert wird, die vor die Zielpositionsänderungsinformation geschrieben wird. Beispielsweise gibt die Zielpositionsänderungsinformation ,,,-50", die hinter die Lehrposition P1 geschrieben wird, an, dass die Zielposition von der Lehrposition P1 um 50 mm nach vorne geändert wird.
  • Jeder Hilfsbefehl der Hilfsbefehle „HandOpen 1“ und „HandClose 1“ ist ein Befehl zum Öffnen und Schließen der Roboterhand 112.
  • Die Hilfsbefehle „HandOpen 1“ und „HandClose 1“ weisen die Hilfsbefehlstypen „HandOpen“ bzw. „HandClose“ auf und enthalten die Roboterhandnummern 1" bzw. „1“.
  • Jeder Hilfsbefehlstyp der Hilfsbefehlstypen „HandOpen“ und „HandClose“ ist ein Befehl zum Öffnen und Schließen der Roboterhand 112. Der Hilfsbefehlstyp „HandOpen“ gibt vor, dass die Roboterhand 112 zum Öffnen veranlasst werden soll. Der Hilfsbefehlstyp „HandClose“ gibt vor, dass die Roboterhand 112 zum Schließen veranlasst werden soll.
  • Die Roboterhandnummer gibt die Roboterhand 112 vor, die zum Öffnen und zum Schließen veranlasst werden soll. Die Roboterhandnummer „1“ gibt die Roboterhand 112 vor, die die Roboterhandnummer „1“ hat.
  • Der Hilfsbefehl „GoTo *PICK“ weist den Hilfsbefehlstyp „GoTo“ und ein Sprungziel „*PICK“ auf. Jede Bezeichnung der Bezeichnungen „* INITIAL“, „*PICK“ und „* PUT“ ist eine Zeichenkette, die mit dem Zeichen „*“ beginnt.
  • Der Hilfsbefehl „GoTo *PICK“ ist ein Befehl, den Ausführungspunkt des Roboterprogramms P in die fünfte Zeile zu bewegen, in die die dem Sprungziel „*PICK“ entsprechende Bezeichnung „*PICK“ geschrieben ist.
  • Der Kommentar „//“ ist ein Zeilenvorschub, der zur Verbesserung der Lesbarkeit des Roboterprogramms P eingefügt wurde.
  • Das in 2 dargestellte Roboterprogramm P kann zu einem komplizierteren Roboterprogramm geändert werden. Ein komplizierteres Roboterprogramm kann einen anderen Bewegungsbefehlstyp als die vorstehend beschriebenen, eine Steueranweisung, einen Unterprogrammaufruf, verschiedene Hilfsbefehle und dergleichen aufweisen, die in der Robotersteuerung 113 installiert sind. Die Steueranweisung weist eine If-Anweisung, eine For-Anweisung und dergleichen auf. Verschiedene Hilfsbefehle weisen Befehle zum Kommunizieren mit anderen Vorrichtungen und dergleichen auf.
  • 1. 3 Anforderung an eine Ursprungsrückführvorrichtung
  • In der Vergangenheit war der Roboter 100 in eine Fertigungsstrecke, ein Verteilungssystem oder dergleichen integriert und führte in vielen Fällen wiederholt eine einzige Aufgabe durch.
  • In letzter Zeit hat sich jedoch die Leistungsfähigkeit des Roboters 100 und der zugehörigen Sensoren verbessert. Aus diesem Grund ist der Roboter 100 jetzt in der Lage, verschiedene Aufgaben durchzuführen. Beispielsweise kann der Roboter 100 jetzt eine Mehrzahl von Aufgaben durchführen und dabei das Ziel und die Inhalte der Aufgaben wechseln. Zusätzlich kann der Roboter 100 jetzt eine Mehrzahl von Aufgaben durchgehend über eine Mehrzahl von Prozessen durchführen.
  • Wenn der Roboter 100 eine Mehrzahl von Aufgaben durchführt, ist das Ursprungsrückführprogramm, das ausgeführt wird, wenn der Roboter 100 zum Ursprung zurückgeführt wird, für die Mehrzahl von Aufgaben standardisiert und wird von einem Arbeitsprogramm unabhängig gemacht, das ausgeführt wird, wenn veranlasst wird, dass der Roboter 100 eine Mehrzahl von Aufgaben durchführt. Wenn der Roboter 100 jedoch eine Mehrzahl von Aufgaben durchführt, erhöht sich die Anzahl von Lehrpositionen, die dem Roboter 100 beigebracht werden, gemäß der Anzahl von Aufgaben, die von dem Roboter 100 durchgeführt werden. Wenn der Roboter 100 eine Mehrzahl von Aufgaben durchführt, muss somit für mehr Aufgaben ein Ursprungsrückführprogramm für alle Lehrpositionen erstellt werden. Dies macht die Erstellung eines Ursprungrückführprogramms schwierig.
  • Ferner ist es am Produktionsstandort oft der Fall, dass die Wiederherstellung der Produktionsausrüstung durch einen Neustart der Energiequelle der Produktionsausrüstung ausgeführt wird. Dies hat eine Ausführung eines If oder dergleichen umfassenden Arbeitsprogramms auf umgekehrte Weise auf der Grundlage der gesamten Ausführungshistorie des in dem flüchtigen Speicher oder dergleichen gespeicherten Programms schwierig gemacht. Somit ist es erwünscht, den Roboter 100 auf der Grundlage der in dem nichtflüchtigen Speicher gespeicherten Information und der Information, die den Zustand der Produktionsausrüstung einschließlich der Position und Stellung des Roboters 100 angibt, zum Ursprung zurückzuführen.
  • Als ein Verfahren zum Rückführen des Roboters 100 zum Ursprung auf der Grundlage der Information, die den Zustand der Produktionsausrüstung angibt, ist es denkbar, dass der Raum, zu dem die Position und Stellung des Roboters 100 gehören können, in eine Mehrzahl von Bereichen unterteilt wird, und wenn die Position und Stellung des Roboters 100 zu jedem in der Mehrzahl von Bereichen enthaltenen Bereich gehören, der Bewegungsbefehl definiert wird, der für das Rückführen des Roboters 100 zum Ursprung erforderlich ist. Wenn das Verfahren verwendet wird, werden die Position und Stellung des Werkzeugmittelpunkts 122 als die Position und Stellung des Roboters 100 verwendet.
  • Bei der Anwendung des Verfahrens ist es jedoch häufig der Fall, dass keine ausreichende Prüfung durchgeführt werden kann, um zu überprüfen, ob der Roboterkörper 111 geeignet zum Ursprung zurückgeführt werden kann oder nicht. Dies liegt daran, dass jeder Bereich ein dreidimensionaler Raum ist. Ferner kann es bei Verwendung des Verfahrens, wenn der Roboterkörper 111 in einem Zustand zum Ursprung zurückgeführt wird, in dem der Raum, zu dem die Position und Stellung des Roboters 100 gehören können, nicht geeignet in eine Mehrzahl von Bereichen unterteilt ist, dazu kommen, dass der Roboterkörper 111 mit der Umgebung zusammenstößt und Schäden an der Produktionsausrüstung verursacht.
  • Als ein Verfahren zum Rückführen des Roboters 100 zum Ursprung ist auch ein Verfahren bekannt, bei dem der Roboter 100 entlang eines Wegs bewegt wird, der durch Verwendung einer dreidimensionalen (3D) Simulation erzeugt wird. Wenn dieses Verfahren verwendet wird, muss jedoch eine große Anzahl von Rechenressourcen verwendet werden, um den Roboter 100 zum Ursprung zurückzuführen. In Bezug auf die Zeit, die für das Rückführen des Roboters 100 zum Ursprung aufgewendet werden kann, dauert es indessen unter außergewöhnlichen Umständen, die bei der Erstellung des Ursprungsrückführprogramms nicht erwartet wurden, einige Minuten, während es unter den typischen Umständen, die bei der Erstellung des Ursprungsrückführprogramms erwartet wurden, einige Sekunden dauert.
  • Wenn z. B. die Produktionsausrüstung aufgrund eines Defekts an den im Fertigungsprozess gelieferten Teilen angehalten wird, sind einige Sekunden als die für das Rückführen des Roboters 100 zum Ursprung aufzuwendende Zeit erlaubt. Somit wird unter typischen Umständen bei der Verwendung einer dreidimensionalen (3D) Simulation, wenn der Roboter 100 durch das Verfahren zum Ursprung zurückgeführt wird, die für das Rückführen des Roboters 100 zum Ursprung aufgewendete Zeit zu lang. Somit ist es erwünscht, dass das Ursprungsrückführprogramm im Voraus so vorgegeben wird, dass mit dem Prozess des Rückführens des Roboters 100 zum Ursprung unmittelbar begonnen werden kann, nachdem die Notwendigkeit des Rückführens des Roboters 100 zum Ursprung eingetreten ist.
  • Nachstehend wird eine Ursprungsrückführvorrichtung angegeben, die die vorstehend genannten Anforderungen erfüllen kann.
  • 1. 4 Ursprungsrückführvorrichtung
  • 3 ist ein Blockdiagramm, das die Ursprungsrückführvorrichtung der ersten Ausführungsform schematisch darstellt.
  • Die Rückführvorrichtung 1 der in 3 dargestellten ersten Ausführungsform weist eine Rückführbewegungsbahn-Baumerzeugungseinheit 11 und eine Ursprungsrückführ-Befehlseinheit 12 auf.
  • Die Rückführbewegungsbahn-Baumerzeugungseinheit 11 erzeugt einen Rückführbewegungsbahnbaum T aus dem Roboterprogramm P.
  • Ein erzeugter Rückführbewegungsbahnbaum T gibt die nächste Bewegungsposition vor, zu der der Roboter 100 bewegt werden muss, um den Roboter 100 an jeder Bewegungsposition der Mehrzahl von Bewegungspositionen zum Ursprung zurückzuführen. Die vorzugebende nächste Zielposition ist eine andere Bewegungsposition als jede in der Mehrzahl von Bewegungspositionen enthaltene Bewegungsposition. Ferner gibt der Rückführbewegungsbahnbaum T die Bewegungsbedingungen für das Bewegen des Roboters 100 von jeder Bewegungsposition zur nächsten Bewegungsposition vor. Die vorzugebende Bewegungsbedingung ist eine Bewegungsbedingung. Solange die Anforderungen erfüllt sind, ist die Datenstruktur des Rückführbewegungsbahnbaums T frei wählbar.
  • Die Ursprungsrückführ-Befehlseinheit 12 befiehlt dem Roboter 100, den Roboter 100 gemäß dem erzeugten Rückführbewegungsbahnbaum T zum Ursprung zurückzuführen.
  • 1. 5 Ursprungsrückführbaum
  • 4 ist ein Diagramm, das ein Beispiel für den von der Ursprungsrückführvorrichtung der ersten Ausführungsform erzeugten Ursprungsrückführbaum darstellt.
  • Der in 4 dargestellte Rückführbewegungsbahnbaum T hat eine Baumstruktur.
  • Der Rückführbewegungsbahnbaum T weist eine Mehrzahl von Knoten N0, N1, N2, N3, N4, N5, N6 und N7 auf.
  • Eine Mehrzahl von Bewegungspositionen „Phome“, „P1, -50“, „P1“, „P3 (1), - 50“, „P3 (1)“, „P2“, „P3 (2), -50“ und „P3 (2)“ ist der Mehrzahl von Knoten N0, N1, N2, N3, N4, N5, N6 bzw. N7 zugewiesen.
  • Die Mehrzahl von Knoten N0, N1, N2, N3, N4, N5, N6 und N7 weist einen Wurzelknoten N0 auf. Die Mehrzahl von Bewegungspositionen „Phome“, „P1, -50“, „P1“, „P3 (1), -50“, „P3 (1)“, „P2“, „P3 (2), -50“ und „P3 (2)“ weist den Ursprung „Phome“ auf. Der Ursprung „Phome“ ist dem Wurzelknoten N0 zugewiesen.
  • Der Rückführbewegungsbahnbaum T weist eine Mehrzahl von Zweigen B1, B2, B3, B4, B5, B6 und B7 auf.
  • Der Zweig B1 verbindet den Kindknoten N1 und den Elternknoten N0 des Kindknotens N1 miteinander. Für den Zweig B1 ist die Bewegungsbedingung „Mov“ zum Bewegen des Roboters 100 von der Bewegungsposition „P1, -50“, die dem Kindknoten N1 zugewiesen ist, zu der Bewegungsposition „Phome“, die dem Elternknoten N0 zugewiesen ist, vorgegeben. Der Zweig B2 verbindet den Kindknoten N2 und den Elternknoten N1 des Kindknotens N2 miteinander.
  • Für den Zweig B2 ist die Bewegungsbedingung „Mvs“ zum Bewegen des Roboters 100 von der Bewegungsposition „P1“, die dem Kindknoten N2 zugewiesen ist, zu der Bewegungsposition „P1, -50“, die dem Elternknoten N1 zugewiesen ist, vorgegeben. Der Zweig B3 verbindet den Kindknoten N5 und den Elternknoten N0 des Kindknotens N5 miteinander. Für den Zweig B3 ist die Bewegungsbedingung „Mov“ zum Bewegen des Roboters 100 von der Bewegungsposition „P2“, die dem Kindknoten N5 zugewiesen ist, zu der Bewegungsposition „Phome“, die dem Elternknoten N0 zugewiesen ist, vorgegeben. Der Zweig B4 verbindet den Kindknoten N3 und den Elternknoten N5 des Kindknotens N3 miteinander.
  • Für den Zweig B4 ist die Bewegungsbedingung „Mov/H2 close“ zum Bewegen des Roboters 100 von der Bewegungsposition „P3 (1), -50“, die dem Kindknoten N3 zugewiesen ist, zu der Bewegungsposition „P2“, die dem Elternknoten N5 zugewiesen ist, vorgegeben. Der Zweig B5 verbindet den Kindknoten N4 und den Elternknoten N3 des Kindknotens N4 miteinander. Für den Zweig B5 ist die Bewegungsbedingung „Mvs/H2 close“ zum Bewegen des Roboters 100 von der Bewegungsposition „P3 (1)“, die dem Kindknoten N4 zugewiesen ist, zu der Bewegungsposition „P2 (1), -50“, die dem Elternknoten N3 zugewiesen ist, vorgegeben. Der Zweig B6 verbindet den Kindknoten N6 und den Elternknoten N5 des Kindknotens N6 miteinander.
  • Für den Zweig B6 ist die Bewegungsbedingung „Mov/Y1000 Off/X1000 On“ zum Bewegen des Roboters 100 von der Bewegungsposition „P3 (2), -50“, die dem Kindknoten N6 zugewiesen ist, zu der Bewegungsposition „P2“, die dem Elternknoten N5 zugewiesen ist, vorgegeben. Der Zweig B7 verbindet den Kindknoten N7 und den Elternknoten N6 des Kindknotens N7 miteinander. Für den Zweig B7 ist die Bewegungsbedingung „Mvs/Y1000 Off/X1000 On“ zum Bewegen des Roboters 100 von der Bewegungsposition „P3 (2)“, die dem Kindknoten N7 zugewiesen ist, zu der Bewegungsposition „P3 (2), -50“, die dem Elternknoten N6 zugewiesen ist, vorgegeben.
  • In dem Paar aus dem Kindknoten N1 und dem Elternknoten N0 befindet sich der Kindknoten N1 relativ weit von dem Wurzelknoten N0 entfernt, und es befindet sich der Elternknoten N0 relativ nahe an dem Wurzelknoten N0. Das gleiche gilt für das Paar aus dem Kindknoten N2 und dem Elternknoten N1, das Paar aus dem Kindknoten N5 und dem Elternknoten N0, das Paar aus dem Kindknoten N3 und dem Elternknoten N5, das Paar aus dem Kindknoten N4 und dem Elternknoten N3, das Paar aus dem Kindknoten N6 und dem Elternknoten N5 und das Paar aus dem Kindknoten N7 und dem Elternknoten N6.
  • Die Anzahl von anderen mit Kindknoten verbundenen Elternknoten als der Wurzelknoten N0 beträgt Eins. Die Anzahl von Kindknoten, die mit dem Elternknoten verbunden sind, ist jedoch nicht auf Eins beschränkt, sondern kann Zwei oder mehr betragen.
  • Die Bewegungsbedingungen „Mov“, „Mvs“, „Mov/H2 close“, „Mvs/H2 close“, „Mov/Y1000 Off/X1000 On“ und „Mvs/Y1000 Off/X1000 On“ weisen die Bewegungsbefehlstypen „Mov“, „Mvs“, „Mov“, „Mvs“, „Mov“ bzw. „Mvs“ auf. Die Bewegungsbedingungen „Mov/H2 close“, „Mvs/H2 close“, „Mov/Y1000 Off/X1000 On“ und „Mvs/Y1000 Off/X1000 On“ weisen die Signalbedingungen „H2 close“, „H2 close“, „Y1000 Off/X1000 On“ bzw. „Y1000 Off/X1000 On“ auf.
  • Jeder Bewegungsbefehlstyp der Bewegungsbefehlstypen „Mov“ und „Mvs“ stellt einen Bewegungsbefehl dar, der von der Robotersteuerung 113 ausgeführt werden kann. Jeder Bewegungsbefehlstyp kann in das Roboterprogramm P geschrieben werden. Wenn ein Bewegungsbefehl ein anderes Argument als die Zielposition erfordert, kann der Bewegungsbefehlstyp das Argument enthalten.
  • Die Signalbedingungen „H2 close“, „H2 close“, „Y1000 Off/X1000 On“ und „Y1000 Off/X1000 On“ werden jeweils nach Schrägstrichen „/“ geschrieben, die hinter die Bewegungsbefehlstypen „Mov“, „Mvs“, „Mov“ und „Mov“ geschrieben werden. Wenn ein Bewegungsbefehl die Signalbedingung nicht enthält, werden der Schrägstrich „/“ und die Signalbedingung nicht hinter den Bewegungsbefehlstyp geschrieben.
  • Jeder Bewegungsbefehlstyp der Bewegungsbefehlstypen „Mov“ und „Mvs“ gibt ein Bewegungsverfahren vor, das beim Bewegen des Roboters 100 verwendet wird.
  • Die Signalbedingungen „H2 close“ und „Y1000 Off/X1000 On“ geben die Signalbedingungen an, die erfüllt sein müssen, wenn mit der Bewegung des Roboters 100 begonnen wird. Die Bedingung ist eine Signalbedingung bezüglich eines auszugebenden Signals oder eines zu bestätigenden Signals. Obgleich das auszugebende Signal oder das zu bestätigende Signal ein von der Robotersteuerung 113 verwaltetes Signal ist, kann auch ein von einer anderen Steuerung als der Robotersteuerung 113 verwaltetes Signal verwendet werden. Die andere Steuerung als die Robotersteuerung 113 ist z. B. durch eine Steuerung zum Steuern einer in einem Gerät angeordneten Vorrichtung, in dem Gerät ausgebildet, das in der mit dem Roboter 100 versehenen Produktionsausrüstung angeordnet ist.
  • Die Signalbedingung „H2 close“ gibt eine Signalbedingung an, dass die Roboterhand 112 mit der Roboterhandnummer „2“ als geschlossen bestätigt wird. Die Signalbedingung „Y1000 Off/X1000 On“ gibt eine Signalbedingung an, bei der ein Befehl zum Ausschalten des Signals mit der Signalnummer „Y1000“, das von der Robotersteuerung 113 ausgegeben wird, an die Robotersteuerung 113 ausgegeben wird und bestätigt wird, dass das in die Robotersteuerung 113 einzugebende Signal mit der Signalnummer „X1000“ eingeschaltet ist.
  • Der Rückführbewegungsbahnbaum T kann eine andere Baumstruktur haben als der in 4 dargestellte Rückführbewegungsbahnbaum T.
  • 1. 6 Ursprungsrückführbaum-Erzeugungseinheit
  • Wie in 3 dargestellt, weist die Rückführbewegungsbahn-Baumerzeugungseinheit 11 eine Bewegungspositions-Extraktionseinheit 13, eine Ursprungs-Vorgabeinheit 14 und eine Rückführbewegungsbahnbaum-Vorgabeeinheit 15 auf.
  • Die Bewegungspositions-Extraktionseinheit 13 extrahiert eine Mehrzahl von Bewegungspositionen aus dem Roboterprogramm P. Wenn das Roboterprogramm P z. B. das in 2 dargestellte Roboterprogramm P ist, hat die Bewegungspositions-Extraktionseinheit 13 fünf Bewegungspositionen „Phome“, „P1“, „P1, -50“, „P2“ und „P2, -50“ aus dem Roboterprogramm P.
  • Die extrahierten Bewegungspositionen sind die in das Roboterprogramm P geschriebenen Bewegungspositionen. Die extrahierten Bewegungspositionen weisen die in dem Roboterprogrammrumpf P2 enthaltenen Zielpositionen auf. Die Zielpositionen weisen eine Zielposition, die gleich der Lehrposition ist, und eine gegenüber der Lehrposition geänderte Zielposition auf, die durch die Ausführung des Roboterprogrammrumpfs P2 berechnet wird.
  • Die Bewegungspositions-Extraktionseinheit 13 kann möglicherweise alle in dem Roboterprogramm P enthaltenen Lehrpositionen extrahieren. In diesem Fall können die extrahierten Bewegungspositionen Lehrpositionen aufweisen, die nicht in den Roboterprogrammrumpf P2 geschrieben sind.
  • Die Mehrzahl von extrahierten Bewegungspositionen stellt Kandidaten für eine Mehrzahl von Bewegungspositionen dar, die jedem von der Mehrzahl von in dem Rückführbewegungsbahnbaum T enthaltenen Knoten zugewiesen sind.
  • Die Ursprungs-Vorgabeeinheit 14 gibt eine der extrahierten Bewegungspositionen als den Ursprung vor. An diesem Punkt gibt die Ursprungs-Vorgabeeinheit 14 die Lehrposition mit dem gleichen Namen wie die zuvor vorgegebene Lehrposition automatisch als den Ursprung vor. Die Ursprungs-Vorgabeeinheit 14 kann dem Bediener Bewegungspositionen vorlegen, die Kandidaten für den Ursprung sind, und kann den Bediener den Ursprung aus den Bewegungspositionen auswählen lassen, die Kandidaten für den Ursprung sind. Die Vorlage für den Bediener und die Auswahl durch den Bediener können von der allgemeinen von dem Computer bereitgestellten Schnittstelle umgesetzt werden.
  • Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 gibt den Rückführbewegungsbahnbaum T vor. An diesem Punkt führt die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 einen ersten Prozess zum Erzeugen des Rückführbewegungsbahnbaums T durch, der den Wurzelknoten enthält, dem der vorgegebene Ursprung zugewiesen ist. Nach der Durchführung des ersten Prozesses führt die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 ferner die angefragte Anzahl von Malen einen zweiten Prozess durch, bei dem ein Kindknoten, der mit dem Elternknoten verbunden ist, und ein Zweig, der den Kindknoten und den Elternknoten miteinander verbindet, zu dem erzeugten Rückführbewegungsbahnbaum T addiert werden, die Bewegungsposition dem zu addierenden Kindknoten zugewiesen wird und die Bewegungsbedingung für den zu addierenden Zweig vorgegeben wird.
  • 1.7 Einstellbildschirm, der bei der Vorgabe des Rückführbewegungsbahnbaums verwendet wird
  • 5 ist ein Diagramm, das schematisch ein Beispiel für einen Einstellbildschirm darstellt, der verwendet wird, wenn der Rückführbewegungsbahnbaum von der Ursprungsrückführvorrichtung der ersten Ausführungsform vorgegeben wird.
  • Ein in 5 dargestellter Einstellbildschirm S stellt eine grafische Benutzeroberfläche (GUI) bereit.
  • Auf dem Einstellbildschirm S ist der Einstellbildschirm bei der Durchführung des zweiten Prozesses dargestellt, in dem der in 4 dargestellte Knoten N7 und Zweig B7 zu dem Rückführbewegungsbahnbaum T addiert werden sollen, die Bewegungsposition „P3 (2)“ dem Knoten N7 zugewiesen wird und die Signalbedingung „Mvs/Y1000 Off/X1000 On“ dem Zweig B7 zugewiesen wird. Wenn der zweite Prozess durchgeführt wird, weist der Rückführbewegungsbahnbaum T die in 4 dargestellten Knoten N0, N1, N2, N3, N4, N5 und N6 und Zweige B1, B2, B3, B4, B5 und B6 auf.
  • Ferner ist eine Mehrzahl von Bewegungspositionen „Phome“, „P1, -50“, „P1“, „P3 (1), -50“, „P3 (1)“, „P2“ und „P3 (2), -50“ der Mehrzahl von Knoten N0, N1, N2, N3, N4, N5 bzw. N6 zugewiesen. Zusätzlich sind die Signalbedingungen „Mov“, „Mvs“, „Mov“, „Mov/H2 close“, „Mvs/H2 close“ und „Mov/Y1000 Off/X1000 On“ den Zweigen B1, B2, B3, B4, B5 bzw. B6 zugewiesen.
  • Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 führt den zweiten Prozess gemäß dem von dem Bediener mit Bezugnahme auf den Einstellbildschirm S durchgeführten Betriebsvorgang durch.
  • Der Einstellbildschirm S weist ein Baum-Campus-Fenster W1, ein Befehlsauswahlfenster W2, ein Signalbedingungsfenster W3, ein Bewegungspositionslistenfenster W4 und eine Additionsschaltfläche B auf.
  • Das Baum-Campus-Fenster W1 zeigt den Rückführbewegungsbahnbaum T an. Das Baum-Campus-Fenster W1 wird auch zur Auswahl des Elternknotens N6 verwendet, mit dem der zu addierende Kindknoten N7 verbunden wird. Der ausgewählte Elternknoten N6 ist hervorgehoben.
  • Das Befehlsauswahlfenster W2 wird verwendet, um den Bewegungsbefehlstyp „Mvs“ vorzugeben, der in der Bewegungsbedingung „Mvs/Y1000 Off/X1000 On“ enthalten ist, die in dem zu addierenden Zweig B7 vorgegeben wird. An diesem Punkt zeigt das Befehlsauswahlfenster W2 eine Mehrzahl von Kandidaten C2 für den Bewegungsbefehlstyp an. Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 bezieht sich auf die angezeigte Mehrzahl von Kandidaten C2 für den Bewegungsbefehlstyp und gemäß dem von dem Bediener durchgeführten Auswahlvorgang wird der Bewegungsbefehlstyp „Mvs“ aus der Mehrzahl von Kandidaten C2 für den Bewegungsbefehlstyp ausgewählt.
  • Der ausgewählte Bewegungsbefehlstyp „Mvs“ ist hervorgehoben. Wenn die Mehrzahl von Kandidaten C2 für den Bewegungsbefehlstyp einen Kandidaten eines Bewegungsbefehlstyps aufweist, der ein anderes Vorgabeelement als die Zielposition erfordert, kann der Einstellbildschirm S ein Anzeigeelement aufweisen, das zum Addieren des Vorgabeelements verwendet wird. Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 kann den direkt eingegebenen Bewegungsbefehlstyp „Mvs“ gemäß dem von dem Bediener durchgeführten Direkteingabevorgang vorgeben.
  • Das Signalbedingungsfenster W3 wird verwendet, um die Signalbedingung „Y1000 Off/X1000 On“ vorzugeben, die in der Bewegungsbedingung „Mvs/Y1000 Off/X1000 On“ enthalten ist, die in dem Zweig B7 vorgegeben wird. Zu dieser Zeit zeigt das Signalbedingungsfenster W3 eine Mehrzahl von Kandidaten C3 für die Signalbedingung an. Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 bezieht sich auf die angezeigte Mehrzahl von Kandidaten C3 für die Signalbedingung und gemäß dem von dem Bediener durchgeführten Auswahlvorgang wird aus der Mehrzahl von Kandidaten C3 für die Signalbedingung die Signalbedingung „Y1000 Off/X1000 On“ ausgewählt.
  • Die ausgewählte Signalbedingung „Y1000 Off/X1000 On“ ist hervorgehoben. Das Signalbedingungsfenster W3 wird verwendet, um die Signalbedingung bezüglich eines auszugebenden Signals oder eines zu bestätigenden Signals vorzugeben. Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 kann die direkt eingegebene Signalbedingung „Y1000 Off/X1000 On“ gemäß dem von dem Bediener durchgeführten Direkteingabevorgang vorgeben.
  • Das Bewegungspositionslistenfenster W4 wird verwendet, um die Bewegungsposition „P3 (2)“ vorzugeben, die dem Kindknoten N7 zugewiesen wird. An diesem Punkt zeigt das Bewegungspositionslistenfenster W4 eine Mehrzahl von Kandidaten C4 für die Bewegungsposition an, die von der Bewegungspositions-Extraktionseinheit 13 extrahiert worden sind. Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 bezieht sich auf die angezeigte Mehrzahl von Kandidaten C4 für die Bewegungsposition und gemäß dem von dem Bediener durchgeführten Auswahlvorgang wird die Bewegungsposition „P3 (2)“ aus der Mehrzahl von Kandidaten C4 für die Bewegungsposition ausgewählt.
  • Die ausgewählte Bewegungsposition „P3 (2)“ ist hervorgehoben. Das Bewegungspositionslistenfenster W4 zeigt eine Mehrzahl von Status D4, eine Mehrzahl von Zeilen E4 und eine Mehrzahl von Befehlen F4 an. Die angezeigte Mehrzahl von Status D4 sind die Status der entsprechenden Mehrzahl von Kandidaten C4 für die Bewegungsposition. Die angezeigte Mehrzahl von Zeilen E4 stellt die Nummern der Zeilen dar, in die die entsprechende Mehrzahl von Kandidaten C4 für die Bewegungsposition in dem Roboterprogrammrumpf P2 geschrieben sind. Die angezeigte Mehrzahl von Befehlen F4 sind die Bewegungsbefehlstypen, die in den Bewegungsbefehlen enthalten sind, die die entsprechende Mehrzahl von Kandidaten C4 für die Bewegungsposition aufweisen.
  • Der Status des Kandidaten für die Bewegungsposition ist „der Ursprung“, wenn die Bewegungsposition der Ursprung ist. Der Status des Kandidaten für die Bewegungsposition wird als „erledigt“ gekennzeichnet, wenn die Bewegungsposition bereits zugewiesen wurde. Ebenso wird der Status des Kandidaten für die Bewegungsposition als „nicht erledigt“ gekennzeichnet, wenn die Bewegungsposition noch nicht zugewiesen wurde. Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 kann die direkt eingegebene Bewegungsposition „P3 (2)“ gemäß dem von dem Bediener durchgeführten Direkteingabevorgang vorgeben.
  • Der Bediener kann den Kindknoten N7 oder dergleichen, der in dem von der gestrichelten Linie umgebenen Bereich innerhalb des Baum-Campus-Fensters W1 eingezeichnet ist, durch Drücken der Additionsschaltfläche B zu dem Rückführbewegungsbahnbaum T addieren.
  • 1. 8 Ursprungsrückführbaum-Befehlseinheit
  • Wie in 3 dargestellt, weist die Ursprungsrückführ-Befehlseinheit 12 eine Ursprungsrückführbefehls-Empfangseinheit 16, eine Bestimmungseinheit 17 für entsprechende Knoten und eine Ursprungsrückführ-Bewegungseinheit 18 auf.
  • Die Ursprungsrückführbefehls-Empfangseinheit 16 empfängt den Ursprungsrückführbefehl. Der Ursprungsrückführbefehl wird von außen gesendet. Der Ursprungsrückführbefehl wird z. B. durch Eingabe durch den Bediener oder Kommunikation mit einer Steuerung, die eine Vorrichtung steuert, die den Roboter 100 aufweist, an die Ursprungsrückführ-Befehlseinheit 12 gesendet.
  • Die Ursprungsrückführbefehls-Empfangseinheit 16 gibt in Verbindung mit dem Empfang des Ursprungsrückführbefehls eine Anfrage zum Bestimmen des entsprechenden Knotens an die Bestimmungseinheit 17 für entsprechende Knoten aus.
  • Die Bestimmungseinheit 17 für entsprechende Knoten bestimmt den entsprechenden in dem vorgegebenen Rückführbewegungsbahnbaum T enthaltenen Knoten, dem die Bewegungsposition zugewiesen ist, die der aktuellen Position des Roboters 100 entspricht. Die Bestimmungseinheit 17 für entsprechende Knoten bestimmt den entsprechenden Knoten in Verbindung mit dem Empfang der gesendeten Anfrage zum Bestimmen des entsprechenden Knotens. An diesem Punkt bezieht die Bestimmungseinheit 17 für entsprechende Knoten die aktuelle Position des Roboters 100 von der Robotersteuerung 113. Ferner vergleicht die Bestimmungseinheit 17 für entsprechende Knoten die bezogene aktuelle Position des Roboters 100 mit der Bewegungsposition, die jedem in dem Rückführbewegungsbahnbaum T enthaltenen Knoten zugewiesen ist.
  • Wenn die Differenz zwischen der aktuellen Position des Roboters 100 und der Bewegungsposition gleich einem zuvor vorgegebenen Wert oder kleiner ist, bestimmt die Bestimmungseinheit 17 für entsprechende Knoten ferner, dass der Knoten, dem die Bewegungsposition zugewiesen ist, der entsprechende Knoten ist. Der zuvor vorgegebene Wert ist z. B. eine Summe aus der Strecke, die sich der Roboterkörper 111 vom Anhalten der Zufuhr von Antriebsleistung zu den in dem Roboterkörper 111 angeordneten Motoren bis zum Anhalten des Roboterkörpers 111 durch die mechanische Bremse bewegt, und einem erforderlichen Spielraum.
  • Die Ursprungsrückführ-Bewegungseinheit 18 bewegt den Roboter 100 gemäß dem Bewegungsbefehl, der in der Bewegungsbedingung enthalten ist, die in dem in dem vorgegebenen Rückführbewegungsbahnbaum T enthaltenen Zweig vorgegeben ist, der den entsprechenden Knoten und den Elternknoten des entsprechenden Knotens miteinander verbindet. An diesem Punkt beginnt, wenn die Signalbedingung, die in der Bewegungsbedingung enthalten ist, die in dem Zweig vorgegeben ist, erfüllt ist, die Ursprungsrückführ-Bewegungseinheit 18, den Roboter 100 gemäß der Bewegungsbedingung zu bewegen, und beginnt, wenn die Signalbedingung, die in der Bewegungsbedingung enthalten ist, die in dem Zweig vorgegeben ist, nicht erfüllt ist, die Ursprungsrückführ-Bewegungseinheit 18 nicht, den Roboter 100 gemäß der Bewegungsbedingung zu bewegen.
  • 6 ist ein Ablaufdiagramm, das einen Ablauf der Ursprungsrückführungsverarbeitung darstellt, die von der Ursprungsrückführvorrichtung gemäß der ersten Ausführungsform durchgeführt wird.
  • Die Ursprungsrückführ-Bewegungseinheit 18 führt bei der Durchführung der Ursprungsrückführungsverarbeitung die in 6 dargestellten Schritte S101 bis S107 aus.
  • Im Schritt S101 bezieht die Ursprungsrückführ-Bewegungseinheit 18 die Bewegungsposition, die dem Elternknoten des entsprechenden Knotens zugewiesen ist. Ferner bezieht die Ursprungsrückführ-Bewegungseinheit 18 die Bewegungsbedingung, die in dem Zweig vorgegeben ist, der den entsprechenden Knoten und den Elternknoten des entsprechenden Knotens miteinander verbindet. Wenn der Rückführbewegungsbahnbaum T der in 4 dargestellte Rückführbewegungsbahnbaum T ist und der entsprechende Knoten der in 4 dargestellte Knoten N7 ist, so ist die bezogene Bewegungsposition die Bewegungsposition „P3 (2), -50“ und ist die bezogene Bewegungsbedingung die Bewegungsbedingung „Mvs/Y1000 Off/X1000 On“.
  • In dem folgenden Schritt S102 bestimmt die Ursprungsrückführ-Bewegungseinheit 18, ob der entsprechende Knoten der Wurzelknoten N0 ist oder nicht. Wenn bestimmt wird, dass der entsprechende Knoten der Wurzelknoten N0 ist, endet die Ursprungsrückführungsverarbeitung, da der Roboter 100 bereits zum Ursprung zurückgekehrt ist. Wenn indessen bestimmt wird, dass der entsprechende Knoten nicht der Wurzelknoten N0 ist, wird der Schritt S 103 ausgeführt. Wenn der Rückführbewegungsbahnbaum T der in 4 dargestellte Rückführbewegungsbahnbaum T ist und der entsprechende Knoten der in 4 dargestellte Knoten N7 ist, wird Schritt S103 ausgeführt, da der Knoten N7 nicht der Wurzelknoten N0 ist.
  • In dem folgenden Schritt S103 bestimmt die Ursprungsrückführ-Bewegungseinheit 18, ob die Signalbedingung in der Bewegungsbedingung, die in dem Zweig vorgegeben ist, der den entsprechenden Knoten und den Elternknoten des entsprechenden Knotens miteinander verbindet, enthalten ist oder nicht. Wenn bestimmt wird, dass die Signalbedingung enthalten ist, werden die Schritte S104 und S105 nacheinander ausgeführt, und es wird dann der Schritt S106 ausgeführt. Wenn bestimmt wird, dass die Signalbedingung nicht enthalten ist, wird Schritt S106 ausgeführt, ohne die Schritte S104 und S105 auszuführen. Wenn der Rückführbewegungsbahnbaum T der in 4 dargestellte Rückführbewegungsbahnbaum T ist und der entsprechende Knoten der in 4 dargestellte Knoten N7 ist, enthält die in dem Zweig B7 vorgegebene Bewegungsbedingung „Mvs/Y1000 Off/X1000 On“ die Signalbedingung „Y1000 Off/X1000 On“; somit wird Schritt S106 ausgeführt, nachdem die Schritte S104 und S105 nacheinander ausgeführt worden sind.
  • Im Schritt S104 gibt die Ursprungsrückführvorrichtung 1 einen Befehl an die Robotersteuerung 113 aus, der eine interne Variable in der Robotersteuerung 113 modifiziert. Die zu modifizierende interne Variable ist eine allgemeine interne Variable und kann eine interne Variable sein oder nicht, die in ein Signal geschrieben wird, das von der Robotersteuerung 113 an eine mit der Robotersteuerung 113 verbundene externe Vorrichtung ausgegeben wird.
  • Wenn die zu modifizierende interne Variable die interne Variable ist, die in das Signal zu schreiben ist, ist die zu modifizierende interne Variable diejenige interne Variable, die in das Signal geschrieben wird, das einen Signalnamen hat, der vor den Schrägstrich „/“ in die Signalbedingung geschrieben wird. Im Schritt S104 sendet die Ursprungsrückführvorrichtung 1 den Befehl im Grunde nur einmal und bestätigt, dass die Robotersteuerung 113 den Befehl im Fall eines Kommunikationsfehlers oder dergleichen empfangen hat, bestätigt die Ursprungsrückführvorrichtung 1 jedoch nicht, dass die interne Variable tatsächlich modifiziert ist.
  • Der Grund dafür, dass die interne Variable nicht als tatsächlich modifiziert bestätigt wird, ist ein mögliches Überschreiben der modifizierten internen Variable durch eine andere Verarbeitung, die in der Robotersteuerung 113 durchgeführt wird, und die Bestätigung, dass die interne Variable tatsächlich modifiziert worden ist, ist schwierig durchzuführen. Wenn die interne Variable z. B. einem Flag zum nur einmaligen Aufrufen einer Reihe von Prozessen entspricht, dauert der Zustand, dass die interne Variable tatsächlich modifiziert worden ist, einen Moment an, und es ist die Bestätigung, dass die interne Variable tatsächlich modifiziert worden ist, schwierig durchzuführen.
  • Bei der ersten Ausführungsform wird angenommen, dass die zu modifizierende interne Variable diejenige interne Variable ist, die in das von der Robotersteuerung 113 an den Roboter 100 ausgegebene Signal zu schreiben ist. Somit gibt die Ursprungsrückführ-Bewegungseinheit 18 einen Befehl, der die in das Signal zu schreibende interne Variable modifiziert, an die Robotersteuerung 113 aus, um das von der Robotersteuerung 113 ausgegebene Signal in den festgelegten Zustand zu bringen.
  • Wenn der Rückführbewegungsbahnbaum T der in 4 dargestellte Rückführbewegungsbahnbaum T ist und der entsprechende Knoten der in 4 dargestellte Knoten N7 ist, gibt die Ursprungsrückführ-Bewegungseinheit 18 einen Befehl an die Robotersteuerung aus, der die in das Signal mit der Signalnummer „Y1000“ zu schreibende interne Variable modifiziert, um es auszuschalten. Der im Schritt S104 ausgegebene Befehl kann auch eine Mehrzahl von Befehlen sein.
  • Im Schritt S105 wartet die Ursprungsrückführvorrichtung 1, bis bestätigt wird, dass die interne Variable in der Robotersteuerung 113, die den Roboter 100 steuert, in dem festgelegten Zustand ist und der Roboter 100 in dem festgelegten Zustand ist. Die zu bestätigende interne Variable ist eine allgemeine interne Variable, die die interne Variable sein kann oder nicht, die in das Signal geschrieben wird, das von der mit der Robotersteuerung 113 verbundenen externen Vorrichtung in die Robotersteuerung 113 eingegeben wird.
  • Wenn die zu bestätigende interne Variable diejenige interne Variable ist, die in das Signal geschrieben wird, das von der mit der Robotersteuerung 113 verbundenen externen Vorrichtung in die Robotersteuerung 113 eingegeben wird, ist die zu bestätigende interne Variable eine interne Variable, die in das Signal geschrieben wird mit dem Signalnamen, der nach dem Schrägstrich „/“ in die Signalbedingung geschrieben wird. Typischerweise ist die Zeit von der Ausgabe des Betriebsbefehls an den Roboter 100 bis zum Abschluss des Betriebsvorgangs des Roboters 100 länger als ein Rechenzyklus der Robotersteuerung 113. Ferner wird in vielen Fällen der Abschluss des Betriebsvorgangs des Roboters 100 durch ein Signal bestätigt, das von einer externen Vorrichtung in die Robotersteuerung 113 eingegeben wird, wie z. B. einem In-PositionsSignal, oder einem optischen Sensor.
  • Bei der ersten Ausführungsform wird angenommen, dass die zu bestätigende Variable die interne Variable ist, die in das Signal geschrieben wird, das von der mit der Robotersteuerung 113 verbundenen externen Vorrichtung in die Robotersteuerung 113 eingegeben wird. Um zu bestätigen, dass der Zustand, in dem das in die Robotersteuerung 113 eingegebene Signal festgelegt ist, hergestellt ist, und der Zustand, in dem der Roboter 100 festgelegt ist, hergestellt ist, bestätigt die Ursprungsrückführ-Bewegungseinheit 18 deshalb, dass der Zustand, in dem die in das Signal geschriebene interne Variable festgelegt ist, hergestellt ist.
  • Wenn der Rückführbewegungsbahnbaum T der in 4 dargestellte Rückführbewegungsbahnbaum T ist und der entsprechende Knoten der in 4 dargestellte Knoten N7 ist, bestätigt die Ursprungsrückführ-Bewegungseinheit 18, um zu bestätigen, dass das Signal mit der Signalnummer „X1000“ eingeschaltet ist, dass der Zustand, in dem die in das Signal geschriebene interne Variable festgelegt ist, hergestellt ist. Das im Schritt S105 zu bestätigende Signal kann eine Kombination aus einer Mehrzahl von Signalen sein.
  • Bei Verwendung des Roboters 100 sind der Prozess des Ausgebens eines Befehls zum Öffnen und Schließen der Roboterhand 112 und der Prozess des Bestätigens, dass die Roboterhand 112 geöffnet und geschlossen worden ist, oft eine Reihe von Prozessen. Deshalb werden in den Signalbedingungen der Signalname, in den die interne Variable geschrieben wird, die modifiziert wird, um den Befehl zum Öffnen und Schließen der Roboterhand 112 auszugeben, und der Signalname, in den die interne Variable geschrieben wird, die zu bestätigen ist, um zu bestätigen, dass die Roboterhand 112 geöffnet und geschlossen worden ist, kollektiv geschrieben.
  • Die Signalbedingung „H2 close“ ist ein Beispiel dafür und stellt dar, dass die in der Signalbedingung „H2 close/H2 close“ enthaltene doppelte Beschreibung weggelassen wird. In der Signalbedingung „H2 close/H2 close“ ist jedoch „H2 close“, das vor den Schrägstrich „/“ geschrieben wird, der Signalname, in den die interne Variable, die zu modifizieren ist, um den Befehl zum Schließen der Roboterhand 112 auszugeben, geschrieben wird.
  • Ferner ist „H2 close“, das nach dem Schrägstrich „/“ in der Signalbedingung „H2 close/H2 close“ geschrieben wird, der Signalname, in den die interne Variable geschrieben wird, die zu bestätigen ist, um zu bestätigen, dass die Roboterhand 112 geschlossen worden ist. Somit sind in der Signalbedingung „H2 close/H2 close“ die beiden Beschreibungen von „H2 close“, die vor und nach dem Schrägstrich „/“ geschrieben werden, Signalnamen von Signalen, die sich voneinander unterscheiden.
  • Im Schritt S106 gibt die Ursprungsrückführ-Bewegungseinheit 18 den Bewegungsbefehlstyp, der in der Bewegungsbedingung enthalten ist, die in dem Zweig vorgegeben ist, der den entsprechenden Knoten und den Elternknoten des entsprechenden Knotens miteinander verbindet, und den Bewegungsbefehl, der die Bewegungsposition enthält, die dem Elternknoten des entsprechenden Knotens zugewiesen ist, an die Robotersteuerung 113 aus. Wenn der Rückführbewegungsbahnbaum T der in 4 dargestellte Rückführbewegungsbahnbaum T ist und der entsprechende Knoten der in 4 dargestellte Knoten N7 ist, so ist der auszugebende Bewegungsbefehl der Bewegungsbefehlstyp „Mvs“, der in der in dem Zweig B7 vorgegebenen Bewegungsbedingung „Mvs/Y1000 Off/X1000 On“ und dem Bewegungsbefehl „Mvs P3 (2), -50“, der die dem Knoten N6 zugewiesene Bewegungsposition „P3 (2), -50“ enthält, enthalten ist.
  • In dem folgenden Schritt S107 bestätigt die Ursprungsrückführ-Bewegungseinheit 18, dass sich der Roboter 100 gemäß dem ausgegebenen Bewegungsbefehl bewegt hat.
  • Durch Ausführung der Schritte S101 bis S107 durch die Ursprungsrückführ-Bewegungseinheit 18 bewegt sich der Roboterkörper 111 von der Bewegungsposition, die dem entsprechenden Knoten zugewiesen ist, zu der Bewegungsposition, die dem Elternknoten des entsprechenden Knotens zugewiesen ist, außer wenn der Roboterkörper 111 bereits zum Ursprung zurückgekehrt ist. Dann wird, indem die Ursprungsrückführ-Bewegungseinheit 18 die Schritte S101 bis S107 erneut ausführt, der Elternknoten des entsprechenden Knotens zu einem neuen entsprechenden Knoten, und es bewegt sich der Roboterkörper 111 von der Bewegungsposition, die dem neuen entsprechenden Knoten zugewiesen ist, zu einer Position, die dem Elternknoten des neuen entsprechenden Knotens zugewiesen ist, außer wenn der Roboterkörper 111 bereits zum Ursprung zurückgekehrt ist.
  • Folglich bewegt sich der Roboter 100 von der Bewegungsposition, die dem entsprechenden Knoten zugewiesen ist, zum Ursprung, der dem Wurzelknoten N0 zugewiesen ist. Wenn der Rückführbewegungsbahnbaum T der in 4 dargestellte Rückführbewegungsbahnbaum T ist und der entsprechende Knoten der in 4 dargestellte Knoten N7 ist, bewegt sich der Roboter 100 nacheinander von der Bewegungsposition „P3 (2)“, die dem Knoten N7 zugewiesen ist, über die Bewegungsposition „P3 (2), -50“, die dem Knoten N6 zugewiesen ist, und die Bewegungsposition „P2“, die dem Knoten N5 zugewiesen ist, zum Ursprung „Phome“, der dem Wurzelknoten N0 zugewiesen ist.
  • Die Bewegungsbedingung „Mov“, die in dem Zweig B3 vorgegeben ist, der den Knoten N5 und den Knoten N0 miteinander verbindet, enthält jedoch die Signalbedingung nicht; somit werden die Schritte S104 und S 105 nicht ausgeführt, wenn sich der Roboter 100 von der Bewegungsposition „P2“, die dem Knoten N5 zugewiesen ist, zum Ursprung „Phome“, der dem Knoten N0 zugewiesen ist, bewegt.
  • 1. 9 Modifizierung
  • Wenn die Lehrposition, die in der Bewegungsposition enthalten ist, die dem in der Mehrzahl von Knoten N0, N1, N2, N3, N4, N5, N6 und N7 enthaltenen Knoten zugewiesen ist, ein Element ist, das ein Feld bildet, kann der in der Lehrposition enthaltene Index ein Platzhalter sein. Beispielsweise kann der Index „2“ der Lehrposition P3 (2), die in der Bewegungsposition „P3 (2), -50“ enthalten ist, die dem Knoten N6 zugewiesen ist, ein Platzhalter sein. Ferner kann der Index „2“ der Lehrposition P3 (2), die in der Bewegungsposition „P3 (2)“ enthalten ist, die dem Knoten N7 zugewiesen ist, ein Platzhalter sein. Die Lehrposition, bei der der Index ein Platzhalter ist, ist jegliche andere Lehrposition als die Lehrposition, bei der der Index als „1“ vorgegeben ist.
  • Wenn jedoch der Index der Lehrposition, die in der Bewegungsposition enthalten ist, die dem Kindknoten zugewiesen ist, und der Index der Lehrposition, die in der Bewegungsposition enthalten ist, die dem Elternknoten des Kindknotens zugewiesen ist, beide Platzhalter sind und sich der Roboter 100 von der Bewegungsposition des ersteren zu der Bewegungsposition des letzteren bewegt, sind die Lehrposition des ersteren und die Lehrposition des letzteren die gleiche Lehrposition. Wenn der Index der Lehrposition, die in der Bewegungsposition enthalten ist, die dem Kindknoten zugewiesen ist, kein Platzhalter ist, der Index der Lehrposition, die in der Bewegungsposition enthalten ist, die dem Elternknoten zugewiesen ist, ein Platzhalter ist und sich der Roboter 100 von der Bewegungsposition des ersteren zu der Bewegungsposition des letzteren bewegt, ist die Lehrposition des letzteren die Lehrposition mit der niedrigsten Indexnummer.
  • 7 und 8 sind Diagramme, die ein Eingabebeispiel darstellen, das verwendet wird, wenn der Rückführbewegungsbahnbaum von der Ursprungsrückführvorrichtung gemäß der ersten Ausführungsform vorgegeben wird.
  • In der Rückführbewegungsbahnbaum-Vorgabeeinheit 15 kann der Rückführbewegungsbahnbaum T, anstatt den Rückführbewegungsbahnbaum T unter Verwendung des Einstellbildschirms S, der die grafische Benutzeroberfläche bereitstellt, vorzugeben, auch durch ein anderes Verfahren vorgegeben werden. Beispielsweise kann der Rückführbewegungsbahnbaum T in der Rückführbewegungsbahnbaum-Vorgabeeinheit 15 unter Verwendung der in 7 dargestellten Eingabe I1 oder der in 8 dargestellten Eingabe I2 vorgegeben werden. Die in 7 dargestellte Eingabe I1 ist eine mit einer Tabellenkalkulationssoftware erstellte Tabelle. Die in 8 dargestellte Eingabe I2 ist Text.
  • 1. 10 Computer, der die Ursprungsrückführvorrichtung bildet
  • 9 ist ein Blockdiagramm, das schematisch einen Computer darstellt, der die Ursprungsrückführvorrichtung der ersten Ausführungsform bildet.
  • Die Ursprungsrückführvorrichtung 1 kann durch einen in 9 dargestellten Computer 1000 realisiert sein.
  • Der Computer 1000 weist einen Prozessor 1020, einen Speicher 1022 und eine Speichereinrichtung 1024 auf, wie in 9 dargestellt.
  • Ein Programm 1040 ist in der Speichereinrichtung 1024 installiert. Die Installation des Programms 1040 kann durch Schreiben des aus dem externen Aufzeichnungsmedium 1060 gelesenen Programms 1040 in die Speichereinrichtung 1024 oder durch Schreiben des über das Netzwerk 1062 empfangenen Programms 1040 in die Speichereinrichtung 1024 durchgeführt werden.
  • Der Prozessor 1020 ist durch eine zentrale Verarbeitungseinheit (CPU), einen Grafikprozessor (GPU), eine digitale Signalverarbeitungseinheit (DSP) und dergleichen ausgebildet. Der Speicher 1022 ist ein Direktzugriffsspeicher (RAM) oder dergleichen. Die Speichereinrichtung 1024 ist durch ein Festplattenlaufwerk, ein Festkörperlaufwerk, eine RAM-Disk oder dergleichen ausgebildet. Das externe Aufzeichnungsmedium 1060 ist durch eine Compact Disc (CD), eine Digital Versatile Disc (DVD), eine Blu-ray Disc (BD), einen Universal Serial Bus (USB)-Speicher oder dergleichen ausgebildet.
  • Das Programm 1040 ist ein Programm zum Betreiben des Computers 1000 als Ursprungsrückführvorrichtung 1.
  • In dem Computer 1000 wird das in der Speichereinrichtung 1024 installierte Programm 1040 in den Speicher 1022 geladen, und es wird das geladene Programm 1040 von dem Prozessor 1020 ausgeführt. Dementsprechend werden die in der Ursprungsrückführvorrichtung 1 angeordneten Elemente ausgelegt, und es arbeitet der Computer 1000 als Ursprungsrückführvorrichtung 1. Alle oder ein Teil der in der Ursprungsrückführvorrichtung 1 angeordneten Elemente können durch Hardware ausgelegt sein, die das Programm nicht ausführt.
  • Der Speicher 1022, die Speichereinrichtung 1024 und das externe Aufzeichnungsmedium 1060 sind nicht-temporäre, computerlesbare Aufzeichnungsmedien, in denen das Programm 1040 aufgezeichnet ist.
  • 1. 11 Wirkung der ersten Ausführungsform
  • Gemäß der ersten Ausführungsform verringert sich die Anzahl von Bewegungspositionen, die der Roboter 100 durchläuft, wenn er von einer anderen Bewegungsposition als dem Ursprung zum Ursprung zurückkehrt. Zusätzlich entfällt die Notwendigkeit von Vorbereitungen, die für jede Bewegungsposition einzeln erforderlich sind, wie die Programmierung für das Rückführen des Roboters 100 zum Ursprung für alle anderen Bewegungspositionen als den Ursprung. Dadurch werden die Vorbereitungen für eine effektive Rückführung des Roboters 100 zum Ursprung erleichtert.
  • 2. Zweite Ausführungsform
  • 10 ist ein Blockdiagramm, das schematisch eine Ursprungsrückführvorrichtung der zweiten Ausführungsform darstellt. 11 ist ein Ablaufdiagramm, das ein Beispiel für das von der Ursprungsrückführvorrichtung der zweiten Ausführungsform vorgegebene Ursprungsrückführprogramm darstellt.
  • Eine Ursprungsrückführvorrichtung 2 der zweiten Ausführungsform, die in 10 dargestellt ist, unterscheidet sich von der Ursprungsrückführvorrichtung 1 der ersten Ausführungsform, die in 3 dargestellt ist, hauptsächlich in den folgenden Aspekten. In Bezug auf Aspekte, die nachstehend nicht beschrieben werden, wird in der Ursprungsrückführvorrichtung 2 die gleiche Konfiguration verwendet wie in der Ursprungsrückführvorrichtung 1.
  • Die in der Ursprungsrückführvorrichtung 2 angeordnete Rückführbewegungsbahnbaum-Vorgabeeinheit 15 gibt eine Mehrzahl von Rückführbewegungsbahnbäumen T und T' vor, wie in 10. dargestellt. Wie in 11 dargestellt, ist der erste Rückführbewegungsbahnbaum T der gleiche Rückführbewegungsbahnbaum T wie der von der Ursprungsrückführvorrichtung 1 erzeugte Rückführbewegungsbahnbaum T und enthält den Wurzelknoten N0, dem der Ursprung Phome zugewiesen ist.
  • Wie in 11 dargestellt, ist der zweite Rückführbewegungsbahnbaum T' ein anderer Rückführbewegungsbahnbaum als der von der Ursprungsrückführvorrichtung 1 erzeugte Rückführbewegungsbahnbaum T und enthält den Wurzelknoten N0', dem eine sich von dem Ursprung Phome unterscheidende Unterzielposition Pkari zugewiesen ist. Die Unterzielposition Pkari ist eine vorübergehende Platzierungsposition eines Werkstücks, an der ein von der Roboterhand 112 ergriffenes Werkstück vorübergehend platziert wird. Die Rückführbewegungsbahn-Baumerzeugungseinheit 11 kann eine Mehrzahl von Rückführbewegungsbahnbäumen T und T' erzeugen durch Bewirken, dass die Ursprungs-Vorgabeeinheit 14 und die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 den Prozess wiederholen.
  • Die Ursprungsrückführvorrichtung 2 weist ferner eine Ursprungsrückführprogramm-Vorgabeeinheit 21 auf, wie in 10 dargestellt.
  • Die Ursprungsrückführprogramm-Vorgabeeinheit 21 gibt das Ursprungsrückführprogramm PRG vor. An diesem Punkt gibt die Ursprungsrückführprogramm-Vorgabeeinheit 21 das Ursprungsrückführprogramm PRG durch Kombinieren einer Mehrzahl von Rückführbewegungsbahnbäumen T und T' vor.
  • Das vorzugebende Ursprungsrückführprogramm PRG weist einen Startpunkt „Start“, eine Bedingungsverzweigung S201, einen ersten Block S203, einen zweiten Block S202 und einen Endpunkt „End“ auf, wie in 13 dargestellt.
  • In der Bedingungsverzweigung S201 verzweigt sich der Prozess in Abhängigkeit davon, ob die Bedingung, dass das von der Robotersteuerung 113 verwaltete Signal gesetzt ist, erfüllt ist oder nicht. In der Bedingungsverzweigung S201 verzweigt sich der Prozess abhängig davon, ob die Bedingung, dass das von der Robotersteuerung 113 verwaltete Signal mit der Signalnummer „X9000“ den Zustand „0“ hat, was angibt, dass die Roboterhand 112 das Werkstück ergreift, erfüllt ist oder nicht. Der Prozess kann sich in Abhängigkeit davon verzweigen, ob die Bedingung, dass das von einer anderen Steuerung als der Robotersteuerung 113 verwaltete Signal gesetzt ist, erfüllt ist oder nicht.
  • Die andere Steuerung als die Robotersteuerung 113 ist, z. B. durch eine Steuerung zum Steuern einer in einem Gerät angeordneten Vorrichtung, in dem Gerät, das in der mit dem Roboter 100 versehenen Produktionsausrüstung angeordnet ist, ausgebildet. Die Bedingungsverzweigung S201 hat ein erstes Verzweigungsziel, wenn die Bedingung nicht erfüllt ist, und ein zweites Verzweigungsziel, wenn die Bedingung erfüllt ist. Das zweite Verzweigungsziel ist ein Verzweigungsziel, das sich von dem ersten Verzweigungsziel unterscheidet.
  • Der erste Block S203 und der zweite Block S202 sind an dem ersten bzw. dem zweiten Verzweigungsziel angeordnet. Der erste Block S203 und der zweite Block S202 legen den ersten Rückführortsbaum T bzw. den zweiten Rückführortsbaum T' fest.
  • Die in der Ursprungsrückführvorrichtung 2 angeordnete Ursprungsrückführ-Befehlseinheit 12 weist ferner eine Ursprungsrückführverarbeitungs-Anfrageeinheit 22 auf, wie in 10 dargestellt.
  • Die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 führt das Ursprungsrückführprogramm PRG aus.
  • Die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 beginnt mit der Verarbeitung an dem Startpunkt „Start“ in Verbindung mit dem Empfang des Ursprungsrückführbefehls durch die Ursprungsrückführbefehls-Empfangseinheit 16.
  • Die Ursprungsrückführverarbeitungs-Anfrageeinheit 22, die mit der Verarbeitung begonnen hat, bestimmt in der Bedingungsverzweigung S201, ob die Bedingung, dass das Signal mit der Signalnummer „X9000“ den Zustand „0“ hat, der angibt, dass die Roboterhand 112 das Werkstück ergreift, erfüllt ist oder nicht.
  • Wenn bestimmt wird, dass die Bedingung erfüllt ist, führt die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 Block den S202 aus. Die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 fragt bei der Ursprungsrückführ-Bewegungseinheit 18 an, die Verarbeitung gemäß dem zweiten Rückführbewegungsbahnbaum T' durchzuführen, wenn sie Block S202 ausführt. Die Ursprungsrückführ-Bewegungseinheit 18, bei der angefragt wird, die Verarbeitung gemäß dem zweiten Rückführbewegungsbahnbaum T' durchzuführen, führt die Verarbeitung der Bewegung für vorübergehende Platzierungspositionen eines Werkstücks gemäß dem zweiten Rückführortbaum T' durch.
  • Die Ursprungsrückführ-Bewegungseinheit 18 führt die gleiche Verarbeitung durch wie die Ursprungsrückführungsverarbeitung, die in der ersten Ausführungsform durchgeführt wird, mit der Ausnahme, dass die Ursprungsrückführ-Bewegungseinheit 18 die Verarbeitung gemäß dem zweiten Rückführbewegungsbahnbaum T' anstelle des ersten Rückführbewegungsbahnbaums T durchführt, wenn sie die Verarbeitung der Bewegung für vorübergehende Platzierungspositionen eines Werkstücks durchführt. Somit bewegt sich der Roboter 100 zu der vorübergehenden Platzierungsposition Pkari des Werkstücks.
  • Ferner führt die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 Block S203 aus, wenn bestimmt wird, dass die Bedingung nicht erfüllt ist. Ferner führt die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 Block S203 aus, nachdem sie Block S202 ausgeführt hat. Die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 fragt bei der Ursprungsrückführ-Bewegungseinheit 18 an, die Verarbeitung gemäß dem ersten Rückführbewegungsbahnbaum T durchzuführen, wenn sie Block S203 ausführt.
  • Die Ursprungsrückführ-Bewegungseinheit 18, bei der angefragt wird, die Verarbeitung gemäß dem ersten Rückführbewegungsbahnbaum T durchzuführen, führt die gleiche Verarbeitung durch wie die Ursprungsrückführungsverarbeitung, die in der ersten Ausführungsform durchgeführt wird. Dadurch bewegt sich der Roboter 100 zum Ursprung Phome. Wenn Block S203 nach der Ausführung von Block S202 ausgeführt wird, beginnt die Ursprungsrückführ-Bewegungseinheit 18 mit der Verarbeitung ab dem Knoten, dem die Bewegungsposition zugewiesen ist, die der vorübergehenden Platzierungsposition Pkari des Werkstücks entspricht.
  • Nachdem der Roboter 100 durch die Durchführung der Verarbeitung mittels der Ursprungsrückführ-Bewegungseinheit 18 gemäß dem ersten Rückführbewegungsbahnbaum T zum Ursprung zurückgekehrt ist, schließt die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 die Verarbeitung an dem Endpunkt „End“ ab, wobei eine an dem Endpunkt „End“ festgelegte Abschlussbedingung erreicht ist.
  • Die zweite Ausführungsform hat die gleiche Wirkung wie die erste Ausführungsform.
  • Gemäß der zweiten Ausführungsform kann die auszuführende Verarbeitung ferner gemäß dem Zustand des von der Robotersteuerung 113 oder einer anderen Steuerung als der Robotersteuerung 113 verwalteten Signals geändert werden. Dadurch wird die komplizierte Ursprungsrückführungsverarbeitung umgesetzt.
  • 3. Dritte Ausführungsform
  • 12 ist ein Blockdiagramm, das schematisch eine Ursprungsrückführvorrichtung der dritten Ausführungsform darstellt. 11 ist ein Ablaufdiagramm, das ein Beispiel für ein Ursprungsrückführprogramm darstellt, das von einer Ursprungsrückführvorrichtung der dritten Ausführungsform vorgegeben wird.
  • Die Ursprungsrückführvorrichtung 3 der dritten Ausführungsform, die in 12 dargestellt ist, unterscheidet sich von der Ursprungsrückführvorrichtung 2 der zweiten Ausführungsform, die in 10 dargestellt ist, hauptsächlich in den folgenden Aspekten. In Bezug auf Aspekte, die nachstehend nicht beschrieben werden, wird in der Ursprungsrückführvorrichtung 3 die gleiche Konfiguration verwendet wie in der Ursprungsrückführvorrichtung 2.
  • Die Ursprungsrückführvorrichtung 3 weist ferner eine Steuerungsprogramm-Additionseinheit 32 auf, wie in 12 dargestellt.
  • Die in der Ursprungsrückführvorrichtung 3 angeordnete Ursprungsrückführprogramm-Vorgabeeinheit 21 ruft beim Vorgeben des Ursprungsrückführprogramms PRG die Steuerungsprogramm-Additionseinheit 32 auf. Die aufgerufene Steuerungs-programm-Additionseinheit 32 fügt zu dem Ursprungsrückführprogramm PRG einen in 13 dargestellten Block S301 oder einen in 14 dargestellten Block S302 hinzu. Der Block S301 weist ein Steuerungsprogramm auf. Der Block S302 weist einen Befehl zum Aufrufen des Steuerungsprogramms auf.
  • Die in der Ursprungsrückführvorrichtung 3 angeordnete Ursprungsrückführ-Befehlseinheit 12 weist ferner eine Steuerungsprogramm-Befehlseinheit 34 auf.
  • Die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 führt den Block S301 oder S302 aus, nachdem der Block S202 ausgeführt worden ist und bevor Block S203 ausgeführt wird. Die Ursprungsrückführverarbeitungs-Anfrageeinheit 22 ruft die Steuerungs-programm-Befehlseinheit 34 auf, wenn sie den Block S301 oder S302 ausführt. Die Steuerungsprogramm-Befehlseinheit 34, die bei der Ausführung vom Block S301 aufgerufen wird, befiehlt der Steuerung, das im Block S301 enthaltene Steuerungsprogramm auszuführen. Die Steuerungsprogramm-Befehlseinheit 34, die bei der Ausführung vom Block S302 aufgerufen wird, befiehlt der Steuerung, das Steuerungsprogramm auszuführen, das durch den im Block S302 enthaltenen Befehl aufzurufen ist. Dadurch befiehlt die Steuerungsprogramm-Befehlseinheit 34 der Steuerung, das Steuerungsprogramm auszuführen, wenn der Block S301 oder S302 ausgeführt wird.
  • Das Steuerungsprogramm wird von der Robotersteuerung 113 oder einer anderen Steuerung als der Robotersteuerung 113 ausgeführt. Die andere Steuerung als die Robotersteuerung 113 ist, z. B. durch eine Steuerung zum Steuern einer in einem Gerät angeordneten Vorrichtung, in dem Gerät, das in der mit dem Roboter 100 versehenen Produktionsausrüstung angeordnet ist, ausgebildet. Die Steuerung, die das Steuerungsprogramm ausführt, kann in dem Ursprungsrückführprogramm PRG festgelegt sein oder in einer anderen Systemkonfigurationsinformation als dem Ursprungsrückführprogramm PRG festgelegt sein.
  • Das Steuerungsprogramm kann in die Ursprungsrückführvorrichtung 3 geschrieben sein oder durch eine dedizierte Software zum Schreiben des Steuerungsprogramms geschrieben werden. Das von der dedizierten Software zum Schreiben des Steuerungsprogramms geschriebene Steuerungsprogramm wird in die Ursprungsrückführvorrichtung 3 eingelesen. Das Steuerungsprogramm kann eine Programmrumpfeinheit sein, die von der Steuerung ausgeführt wird.
  • Die dritte Ausführungsform hat die gleiche Wirkung wie die zweite Ausführungsform.
  • Gemäß der dritten Ausführungsform wird zusätzlich das Steuerungsprogramm, das in dem Ursprungsrückführprogramm PRG enthalten ist, oder das Steuerungsprogramm, das durch den in dem Ursprungsrückführprogramm PRG enthaltenen Befehl aufgerufen wird, von der Steuerung ausgeführt. Dadurch kann das Steuern von der Steuerung durchgeführt werden, während die Ursprungsrückführungsverarbeitung durchgeführt wird.
  • 4. Vierte Ausführungsform
  • 15 ist ein Blockdiagramm, das schematisch eine Ursprungsrückführvorrichtung der vierten Ausführungsform darstellt.
  • Eine Ursprungsrückführvorrichtung 4 der vierten Ausführungsform, die in 15 dargestellt ist, unterscheidet sich von der Ursprungsrückführvorrichtung 1 der ersten Ausführungsform, die in 3 dargestellt ist, hauptsächlich in den folgenden Aspekten. In Bezug auf Aspekte, die nachstehend nicht beschrieben werden, wird in der Ursprungsrückführvorrichtung 4 die gleiche Konfiguration verwendet wie in der Ursprungsrückführvorrichtung 1.
  • Die Ursprungsrückführvorrichtung 4 weist ferner eine Speichereinheit 42 für letzte Bewegungsbefehle auf, wie in 15 dargestellt.
  • Die Speichereinheit 42 für letzte Bewegungsbefehle speichert einen letzten Bewegungsbefehl, der in dem Roboter 100 zuletzt ausgeführt worden ist. Die Speichereinheit 42 für letzte Bewegungsbefehle speichert den letzten Bewegungsbefehl, wenn der letzte Bewegungsbefehl ausgeführt wird. Der zu speichernde letzte Bewegungsbefehl enthält eine Bewegungsstartposition, eine Bewegungszielposition, einen Bewegungsbefehlstyp, Argumentinformation, die ein für den Bewegungsbefehl erforderliches Argument angibt, und dergleichen.
  • Die Speichereinheit 42 für letzte Bewegungsbefehle speichert den letzten Bewegungsbefehl während des Zeitraums, in dem die Ursprungsrückführbefehls-Empfangseinheit 16 den Ursprungsrückführbefehl empfangen kann. Dadurch kann die Speichereinheit 42 für letzte Bewegungsbefehle den letzten Bewegungsbefehl während des Zeitraums speichern, in dem der Ursprungsrückführprozess durchgeführt wird, oder kann den letzten Bewegungsbefehl während des Zeitraums speichern, in dem der Ursprungsrückführprozess nicht durchgeführt wird.
  • Die in der Ursprungsrückführvorrichtung 4 angeordnete Ursprungsrückführ-Befehlseinheit 12 weist ferner eine Bewegungsstartpositions-Rückführeinheit 41 auf, wie in 15 dargestellt.
  • Die Bewegungsstartpositions-Rückführeinheit 41 wird aufgerufen, wenn die Ursprungsrückführbefehls-Empfangseinheit 16 den Ursprungsrückführbefehl empfängt, nachdem der Roboter 100 während seiner Bewegung angehalten hat, aber die Bestimmungseinheit 17 für entsprechende Knoten den entsprechenden Knoten nicht bestimmen kann. Die aufgerufene Bewegungsstartpositions-Rückführeinheit 41 bezieht den letzten Bewegungsbefehl, der in der Speichereinheit 42 für letzte Bewegungsbefehle gespeichert ist. Ferner berechnet die Bewegungsstartpositions-Rückführeinheit 41 die Bewegungsbahn des Roboters 100 bei der Ausführung des letzten Bewegungsbefehls, aus dem bezogenen letzten Bewegungsbefehl.
  • Ferner berechnet die Bewegungsstartpositions-Rückführeinheit 41 die nächstgelegene Nachbarposition auf der berechneten Bewegungsbahn, die der nächstgelegene Nachbar der aktuellen Position des Roboters 100 ist. Ferner führt die Bewegungsstartpositions-Rückführeinheit 41 den Roboter 100 zu der Bewegungsstartposition zurück durch Bewegen des Roboters 100 von der aktuellen Position des Roboters 100 zu der Bewegungsstartposition des letzten Bewegungsbefehls über die berechnete nächstgelegene Nachbarposition.
  • Beim Bewegen des Roboters 100 von der nächstgelegenen Nachbarposition zu der Bewegungsstartposition des letzten Bewegungsbefehls bewegt die Bewegungsstartpositions-Rückführeinheit 41 den Roboter 100 in einer Weise, in der veranlasst wird, dass der Roboter 100 der berechneten Bewegungsbahn in umgekehrter Weise entlang der berechneten Bewegungsbahn folgt. Die Bewegungsstartposition des letzten Bewegungsbefehls wird dem in dem Rückführbewegungsbahnbaum T enthaltenen Knoten zugewiesen, wenn er das Ziel der Ursprungsrückführungsverarbeitung ist. Nachdem der Roboter 100 sich zu der Bewegungsstartposition des letzten Bewegungsbefehls bewegt hat, kann die Ursprungsrückführungsverarbeitung dadurch auf die gleiche Weise durchgeführt werden wie die in der ersten Ausführungsform durchgeführte Ursprungsrückführungsverarbeitung.
  • Der letzte Bewegungsbefehl wird vorzugsweise in einem nichtflüchtigen Speicher gespeichert. Dadurch kann der letzte Bewegungsbefehl sogar nach einer Unterbrechung der Stromversorgung bezogen werden. Außerdem wird der letzte Bewegungsbefehl vorzugsweise gespeichert, bevor sich der Roboter 100 in Bewegung setzt. Die Speichereinheit 42 für letzte Bewegungsbefehle kann Abschlussinformation speichern, die angibt, dass der Roboter 100 die Bewegung abgeschlossen hat. Ferner kann, wenn die Bestimmungseinheit 17 für entsprechende Knoten die gespeicherte Abschlussinformation beziehen kann, d. h., wenn der Roboter 100 die Bewegung abgeschlossen hat, die Bewegungszielposition des letzten Bewegungsbefehls als aktuelle Position behandelt werden.
  • Die vierte Ausführungsform hat die gleiche Wirkung wie die erste Ausführungsform.
  • Gemäß der vierten Ausführungsform kann der Roboter 100, nachdem er während der Bewegung angehalten hat, zusätzlich über die Bewegungsstartposition zum Ursprung zurückgeführt werden.
  • 5. Fünfte Ausführungsform
  • 16 ist ein Blockdiagramm, das schematisch eine Ursprungsrückführvorrichtung der fünften Ausführungsform darstellt.
  • Eine Ursprungsrückführvorrichtung 5 der fünften Ausführungsform, die in 16 dargestellt ist, unterscheidet sich von der Ursprungsrückführvorrichtung 1 der ersten Ausführungsform, die in 3 dargestellt ist, hauptsächlich in den folgenden Aspekten. In Bezug auf Aspekte, die nachstehend nicht beschrieben werden, wird in der Ursprungsrückführvorrichtung 5 die gleiche Konfiguration verwendet wie in der Ursprungsrückführvorrichtung 1.
  • Die in der Ursprungsrückführvorrichtung 5 angeordnete Rückführbewegungsbahn-Baumerzeugungseinheit 11 weist ferner eine Kandidaten-Erzeugungseinheit 51 auf, wie in 16 dargestellt.
  • Die Kandidaten-Erzeugungseinheit 51 erzeugt einen Kandidaten für den Rückführbewegungsbahnbaum T. An diesem Punkt erzeugt die Kandidaten-Erzeugungseinheit 51 einen Kandidaten für den Rückführbewegungsbahnbaum T aus dem Roboterprogramm P. Beispielsweise analysiert die Kandidaten-Erzeugungseinheit 51 den Roboterprogrammrumpf P2 und erzeugt einen Kandidaten für den Rückführbewegungsbahnbaum T auf der Grundlage der Aufrufreihenfolge des Bewegungsbefehls, eines Hilfsbefehls und dergleichen. Die Kandidaten-Erzeugungseinheit 51 kann einen Kandidaten für den Rückführbewegungsbahnbaum T aus einem anderen Roboterprogramm und einem anderen Rückführbewegungsbahnbaum erzeugen.
  • Außerdem kann die Kandidaten-Erzeugungseinheit 51 einen Kandidaten für den Rückführbewegungsbahnbaum T durch Ausführen einer Bewegung zwischen einer Mehrzahl von Bewegungspositionen, die von der Bewegungspositions-Extraktionseinheit 13 extrahiert werden, in Kombination mit einer Kollisionsdetektion in einer dreidimensionalen (3D) Simulationsumgebung erzeugen. Ferner kann die Kandidaten-Erzeugungseinheit 51 einen Kandidaten für den Rückführbewegungsbahnbahnbaum T durch ein Verfahren erzeugen, das diese Verfahren kombiniert. Ferner legt die Kandidaten-Erzeugungseinheit 51 dem Bediener den erzeugten Kandidaten des Rückführbewegungsbahnbahnbaums T vor.
  • Die Rückführbewegungsbahnbaum-Vorgabeeinheit 15 kann den Kandidaten des erzeugten Rückführbewegungsbahnbaums T als den vorzugebenden Rückführbewegungsbahnbaum T vorgeben.
  • Die fünfte Ausführungsform hat die gleiche Wirkung wie die erste Ausführungsform.
  • Gemäß der fünften Ausführungsform kann der Rückführbewegungsbahnbaum T ferner einfach vorgegeben werden.
  • Die Ausführungsformen können kombiniert, in geeigneter Weise modifiziert oder auch weggelassen werden.
  • Bezugszeichenliste
  • 1, 2, 3, 4, 5
    Ursprungsrückführvorrichtung
    11
    Rückführbewegungsbahn-Baumerzeugungseinheit
    12
    Ursprungsrückführ-Befehlseinheit
    13
    Bewegungspositions-Extraktionseinheit
    14
    Ursprungs-Vorgabeeinheit
    15
    Rückführbewegungsbahnbaum-Vorgabeeinheit
    16
    Ursprungsrückführbefehls-Empfangseinheit
    17
    Bestimmungseinheit für entsprechende Knoten
    18
    Ursprungsrückführ-Bewegungseinheit
    21
    Ursprungsrückführprogramm-Vorgabeeinheit
    22
    Ursprungsrückführverarbeitungs-Anfrageeinheit
    32
    Steuerungsprogramm-Additionseinheit
    34
    Steuerungsprogramm-Befehlseinheit
    41
    Bewegungsstartpositions-Rückführeinheit
    42
    Speichereinheit für letzte Bewegungsbefehle
    51
    Kandidaten-Erzeugungseinheit
    100
    Roboter
    P
    Roboterprogramm
    S201
    Bedingungsverzweigung
    S202, S203, S301, S302
    Block
    T, T'
    Rückführbewegungsbahnbaum
    N0, N1, N2, N3, N4, N5,
    Knoten
    N6, N7, N0' B1, B2, B3, B4, B5, B6,
    Zweig
    B7 PRG
    Ursprungsrückführprogramm

Claims (7)

  1. Ursprungsrückführvorrichtung, die Folgendes aufweist: - eine Bewegungspositions-Extraktionseinheit, die dazu ausgelegt ist, eine Mehrzahl von Bewegungspositionen aus einem Roboterprogramm zu extrahieren; - eine Ursprungs-Vorgabeeinheit, die dazu ausgelegt ist, irgendeine von der Mehrzahl von Bewegungspositionen als einen Ursprung vorzugeben; - eine Rückführbewegungsbahnbaum-Vorgabeeinheit, die eine Mehrzahl von Knoten, denen die Mehrzahl von Bewegungspositionen entsprechend zugewiesen ist, und einen Zweig, der einen Kindknoten und einen Elternknoten des Kindknotens, die in der Mehrzahl von Knoten enthalten sind, miteinander verbindet und für den eine Bewegungsbedingung für das Bewegen eines Roboters von einer Bewegungsposition, die dem Kindknoten zugewiesen ist, zu einer Bewegungsposition, die dem Elternknoten des Kindknotens zugewiesen ist, vorgegeben ist, aufweist und die dazu ausgelegt ist, einen Rückführbewegungsbahnbaum vorzugeben, in dem die Mehrzahl von Knoten einen Wurzelknoten enthält, der dem Ursprung zugewiesen ist; - eine Bestimmungseinheit für entsprechende Knoten, die dazu ausgelegt ist, einen entsprechenden in dem Rückführbewegungsbahnbaum enthaltenen Knoten zu bestimmen, dem eine Bewegungsposition zugewiesen ist, die einer aktuellen Position des Roboters entspricht; und - eine Ursprungsrückführ-Bewegungseinheit, die dazu ausgelegt ist, den Roboter durch Bewegen des Roboters gemäß einer Bewegungsbedingung, die in einem in dem Rückführbewegungsbahnbaum enthaltenen Zweig vorgegeben ist, der den entsprechenden Knoten und einen Elternknoten des entsprechenden Knotens miteinander verbindet, zum Ursprung zurückzuführen.
  2. Ursprungsrückführvorrichtung nach Anspruch 1, die ferner Folgendes aufweist: - eine Ursprungsrückführprogramm-Vorgabeeinheit, die dazu ausgelegt ist, ein Ursprungsrückführprogramm vorzugeben, das eine Bedingungsverzweigung mit einem Verzweigungsziel und einen Block zum Festlegen des an dem Verzweigungsziel angeordneten Rückführbewegungsbahnbaums aufweist; und - eine Ursprungsrückführverarbeitungs-Anfrageeinheit, die dazu ausgelegt ist, bei der Ausführung des Blocks bei der Ursprungsrückführ-Bewegungseinheit anzufragen, die Verarbeitung gemäß dem Rückführbewegungsbahnbaum durchzuführen.
  3. Ursprungsrückführvorrichtung nach Anspruch 2, wobei das Verzweigungsziel ein erstes Verzweigungsziel ist, die Bedingungsverzweigung ein zweites Verzweigungsziel hat, das sich von dem ersten Verzweigungsziel unterscheidet, der Rückführbewegungsbahnbaum ein erster Rückführbewegungsbahnbaum ist, die Rückführbewegungsbahnbaum-Vorgabeeinheit ferner dazu ausgelegt ist, einen zweiten Rückführbewegungsbahnbaum vorzugeben, der sich von dem ersten Rückführbewegungsbahnbaum unterscheidet, der Block ein erster Block ist, das Ursprungsrückführprogramm ferner einen zweiten Block zum Festlegen des an dem zweiten Verzweigungsziel angeordneten zweiten Rückführbewegungsbahnbaums aufweist, und die Ursprungsrückführverarbeitungs-Anfrageeinheit dazu ausgelegt ist, bei der Ausführung des Blocks bei der Ursprungsrückführ-Bewegungseinheit anzufragen, die Verarbeitung gemäß dem zweiten Rückführbewegungsbahnbaum durchzuführen.
  4. Ursprungsrückführvorrichtung nach Anspruch 3, wobei der zweite Rückführbewegungsbahnbaum einen Wurzelknoten enthält, dem ein Unterziel zugewiesen ist, das sich von dem Ursprung unterscheidet.
  5. Ursprungsrückführvorrichtung nach einem der Ansprüche 2 bis 4, die ferner Folgendes aufweist: - eine Steuerungsprogramm-Additionseinheit, die dazu ausgelegt ist, einen Block, der ein Steuerprogramm oder einen Befehl zum Aufrufen des Steuerungsprogramms aufweist, zu dem Ursprungsrückführprogramm hinzuzufügen; und - eine Steuerungsprogramm-Befehlseinheit, die dazu ausgelegt ist, einer Steuerung zu befehlen, das Steuerungsprogramm auszuführen, wenn der Block, der das Steuerungsprogramm oder den Befehl zum Aufrufen des Steuerungsprogramms aufweist, ausgeführt wird.
  6. Ursprungsrückführvorrichtung nach einem der Ansprüche 1 bis 5, die ferner Folgendes aufweist: - eine Speichereinheit für letzte Bewegungsbefehle, die dazu ausgelegt ist, einen zuletzt in dem Roboter ausgeführten letzten Bewegungsbefehl zu speichern; und - eine Bewegungsstartpositions-Rückführeinheit, die dazu ausgelegt ist, eine nächstgelegene Nachbarposition auf einer Bewegungsbahn des Roboters bei der Ausführung des letzten Bewegungsbefehls zu berechnen, die ein nächstgelegener Nachbar der aktuellen Position ist, und den Roboter zu der Bewegungsstartposition durch Bewegen des Roboters von der aktuellen Position zu der Bewegungsstartposition des letzten Bewegungsbefehls über die nächstgelegene Nachbarposition zurückzuführen.
  7. Ursprungsrückführvorrichtung nach einem der Ansprüche 1 bis 6, die ferner Folgendes aufweist: - eine Kandidaten-Erzeugungseinheit, die dazu ausgelegt ist, einen Kandidaten für den Rückführbewegungsbahnbaum zu erzeugen, wobei die Rückführbewegungsbahnbaum-Vorgabeeinheit dazu ausgelegt ist, den Kandidaten des Rückführbewegungsbahnbaums als Rückführbewegungsbahnbaum vorzugeben.
DE112020006647.9T 2020-01-30 2020-01-30 Ursprungsrückführvorrichtung Active DE112020006647B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/003354 WO2021152760A1 (ja) 2020-01-30 2020-01-30 原点復帰装置

Publications (2)

Publication Number Publication Date
DE112020006647T5 DE112020006647T5 (de) 2022-12-15
DE112020006647B4 true DE112020006647B4 (de) 2024-05-23

Family

ID=72517847

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020006647.9T Active DE112020006647B4 (de) 2020-01-30 2020-01-30 Ursprungsrückführvorrichtung

Country Status (4)

Country Link
JP (1) JP6758543B1 (de)
CN (1) CN115003459A (de)
DE (1) DE112020006647B4 (de)
WO (1) WO2021152760A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114661038A (zh) * 2020-12-22 2022-06-24 北京配天技术有限公司 一种机器人回程序原点控制方法、装置及相关组件
CN113232018B (zh) * 2021-04-27 2022-05-10 成都飞机工业(集团)有限责任公司 一种机器人姿态快速复位的方法
DE102022212325A1 (de) 2022-11-18 2024-05-23 Kuka Deutschland Gmbh Verfahren und System zum Steuern eines Roboters

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588720A (ja) 1991-09-27 1993-04-09 Yaskawa Electric Corp ロボツトの原点位置復帰制御方法とその装置
JP2000061870A (ja) 1998-08-24 2000-02-29 Daihatsu Motor Co Ltd ロボットの原点復帰方法
JP2009090383A (ja) 2007-10-04 2009-04-30 Nidec Sankyo Corp ロボットの原点復帰方法
JP2012106335A (ja) 2012-02-27 2012-06-07 Fujitsu Ltd 移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム
EP1801678B1 (de) 2005-12-20 2013-02-27 KUKA Laboratories GmbH Roboterbahnsteuerung mit Notfallevakuierungspfadsystem und -verfahren
US20180354133A1 (en) 2017-06-09 2018-12-13 Seiko Epson Corporation Control Device And Robot System
US20190134814A1 (en) 2017-11-09 2019-05-09 Nidec Sankyo Corporation Horizontal articulated robot and return-to-origin method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4958608B2 (ja) * 2007-04-06 2012-06-20 三菱電機株式会社 ロボット制御装置、ロボット制御方法及びロボット搬送装置
JP6962784B2 (ja) * 2017-11-07 2021-11-05 日本電産サンキョー株式会社 水平多関節型ロボットの原点復帰方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588720A (ja) 1991-09-27 1993-04-09 Yaskawa Electric Corp ロボツトの原点位置復帰制御方法とその装置
JP2000061870A (ja) 1998-08-24 2000-02-29 Daihatsu Motor Co Ltd ロボットの原点復帰方法
EP1801678B1 (de) 2005-12-20 2013-02-27 KUKA Laboratories GmbH Roboterbahnsteuerung mit Notfallevakuierungspfadsystem und -verfahren
JP2009090383A (ja) 2007-10-04 2009-04-30 Nidec Sankyo Corp ロボットの原点復帰方法
JP2012106335A (ja) 2012-02-27 2012-06-07 Fujitsu Ltd 移動経路生成方法、移動経路生成装置、移動経路生成プログラム、ロボットアーム制御装置、およびロボットアーム制御プログラム
US20180354133A1 (en) 2017-06-09 2018-12-13 Seiko Epson Corporation Control Device And Robot System
US20190134814A1 (en) 2017-11-09 2019-05-09 Nidec Sankyo Corporation Horizontal articulated robot and return-to-origin method thereof

Also Published As

Publication number Publication date
CN115003459A (zh) 2022-09-02
JPWO2021152760A1 (de) 2021-08-05
DE112020006647T5 (de) 2022-12-15
JP6758543B1 (ja) 2020-09-23
WO2021152760A1 (ja) 2021-08-05

Similar Documents

Publication Publication Date Title
DE112020006647B4 (de) Ursprungsrückführvorrichtung
DE102012103830B4 (de) Verfahren und computerlesbare Medien zur automatischen Verbindung von gegenseitiger Blockierung in Mehrfachrobotersytemen
EP0657043B1 (de) Konfigurierbarer mensch-maschine-kommunikationsbereich für werkzeugmaschinen- oder robotersteuerungen
EP0902343B1 (de) Verfahren und System zum Erstellen oder Visualisieren von Steuerdatensätzen
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE112008003963B4 (de) System und Verfahren zur Off-line-Programmierung eines Industrieroboters
EP1184758A2 (de) Verfahren zum Debuggen von Programmen für industrielle Steuerungen, insbesondere Bewegungssteuerungen, im Kontext der Flow Chart Programmierung
DE102017003529A1 (de) Parametereinstellvorrichtung, Parametereinstellprogramm und Parametereinstellverfahren
DE102011108282A1 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
DE102011082291A1 (de) Controller for machine tool and machining-related data processing system provided therewith
DE112017000203T5 (de) Numerische Steuerung und numerisches Steuerungsverfahren
EP3067165B1 (de) Verändern einer initial vorgegebenen roboterbahn
EP2927764B1 (de) Numerische Steuerung mit Anzeige einer Vorschau bei Änderungen des Teileprogramms
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
DE102017222474A1 (de) Numeriksteuerung und datenstruktur
DE112021003517T5 (de) Numerisches Steuersystem
DE112021005055T5 (de) Numerisches Steuersystem und Verfahren zum Steuern von Industriemaschinen
EP2796953B1 (de) Numerische Steuerung mit Anzeige einer Vorschau bei Änderungen des Teileprogramms
EP2932339B1 (de) Verfahren zum computergestützten nachbilden einer produktionsanlage, verfahren zur inbetriebnahme einer produktionsanlage, konfigurationseinrichtung und produktionsanlage
DE102020001931A1 (de) Kontaktplananzeigevorrichtung
WO2020174052A1 (de) Abfahren eines pfades mit einem mobilen roboter
DE112016007216B4 (de) Numerische Steuervorrichtung
EP3803522B1 (de) Verfahren zum herstellen oder bearbeiten eines produkts sowie steuereinrichtung zum steuern eines produktionssystems
DE112021005374T5 (de) Numerik-Steuervorrichtung und Numerik-Steuersystem
EP2849016B1 (de) Erstellverfahren für eine von einem Endeffektor abzufahrende Bahn

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