-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Roboterlehrvorrichtung, ein Roboterlehrverfahren und ein Verfahren zum Speichern einer Betriebsanweisung.
-
Beschreibung des zugehörigen Standes der Technik
-
Roboterlehrvorrichtungen zum Anlernen (Teachen) eines Roboters bezüglich eines vorgegebenen Betriebs sind bekannt (z.B.
JP 2006-167884 A ). Nach dem Stand der Technik besteht der Bedarf, den mit dem Anlernen des Roboters verbundenen Betrieb zu vereinfachen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß einem Aspekt der vorliegenden Offenbarung umfasst eine Roboterlehrvorrichtung einen Positionsdatenspeicherabschnitt, der dazu eingerichtet ist, Zielpositionsdaten für einen Roboter zu speichern, einen Betriebsanweisungsspeicherabschnitt, der dazu eingerichtet ist, eine Betriebsanweisung zum Anordnen des Roboters in einer Zielposition zu speichern, wobei die Betriebsanweisung die Zielpositionsdaten nicht enthält, und einen Positionsdatenschreibabschnitt, der dazu eingerichtet ist, bei der Eingabe der Betriebsanweisung aktuelle Positionsdaten des Roboters zu erfassen und die aktuellen Positionsdaten als Zielpositionsdaten zusammen mit einer eindeutigen Kennung in den Positionsdatenspeicherabschnitt zu schreiben, wobei die Roboterlehrvorrichtung dazu eingerichtet ist, durch automatisches Versehen der eingegebenen Betriebsanweisung mit der eindeutigen Kennung der Zielpositionsdaten dem Roboter einen Betrieb beizubringen.
-
Gemäß einem anderen Aspekt der vorliegenden Offenbarung umfasst ein Roboterlehrverfahren das Erfassen aktueller Positionsdaten eines Roboters bei der Eingabe einer Betriebsanweisung, die die Zielpositionsdaten für den Roboter nicht enthält, das Speichern der aktuellen Positionsdaten als Zielpositionsdaten zusammen mit einer eindeutigen Kennung und das Anlernen des Roboters bezüglich eines Betriebs durch automatisches Versehen der eingegebenen Betriebsanweisung mit der eindeutigen Kennung der Zielpositionsdaten.
-
Gemäß einem weiteren Aspekt der vorliegenden Offenbarung umfasst eine Roboterlehrvorrichtung einen Positionsdatenspeicherabschnitt, der dazu eingerichtet ist, Zielpositionsdaten für einen Roboter zusammen mit einer eindeutigen Kennung zu speichern, einen Betriebsanweisungsspeicherabschnitt, der dazu eingerichtet ist, eine Betriebsanweisung zum Anordnen des Roboters in einer Zielposition zu speichern, wobei die Betriebsanweisung die Zielpositionsdaten nicht enthält, und einen Betriebsanweisungsschreibabschnitt, der dazu eingerichtet ist, wenn neu eingegebene Zielpositionsdaten mit den in der Vergangenheit im Positionsdatenspeicherabschnitt gespeicherten Zielpositionsdaten übereinstimmen, eine eingegebene Betriebsanweisung automatisch mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten zu versehen und die eingegebene Betriebsanweisung in Form einer Betriebsanweisung, die die Zielpositionsdaten nicht enthält, in den Betriebsanweisungsspeicherabschnitt zu schreiben.
-
Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung umfasst ein Verfahren das Speichern einer Betriebsanweisung zum Anordnen eines Roboters in einer Zielposition, wobei die Betriebsanweisung die Zielpositionsdaten des Roboters nicht enthält, das automatische Versehen einer eingegebenen Betriebsanweisung mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten, wenn neu eingegebene Zielpositionsdaten mit den in der Vergangenheit zusammen mit einer eindeutigen Kennung gespeicherten Zielpositionsdaten übereinstimmen, und Speichern der eingegebenen Betriebsanweisung in Form einer Betriebsanweisung, die die Zielpositionsdaten nicht enthält.
-
Gemäß der vorliegenden Offenbarung muss ein Bediener nicht jedes Mal, wenn der Bediener die Betriebsanweisung eingibt, Zielpositionsdaten eingeben und eine Kennung für eine Betriebsanweisung schreiben, so dass es folglich möglich ist, die Anzahl der Arbeitsvorgänge zum Anlernen eines Roboters bezüglich eines Betriebs zu verringern. Deswegen ist es möglich, den mit dem Anlernen des Roboters verbundenen Arbeitsvorgang zu vereinfachen.
-
Figurenliste
-
- 1 ist eine Darstellung, die eine Roboterlehrvorrichtung gemäß einer Ausführungsform zeigt.
- 2 ist ein Blockdiagramm, das die in 1 gezeigte Roboterlehrvorrichtung darstellt.
- 3 ist eine Darstellung, die eine Roboterlehrvorrichtung gemäß einer anderen Ausführungsform zeigt.
- 4 ist ein Blockdiagramm, das die in 3 gezeigte Roboterlehrvorrichtung darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ausführungsformen der vorliegenden Offenbarung sind nachstehend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. Es wird darauf hingewiesen, dass bei den verschiedenen nachstehend beschriebenen Ausführungsformen ähnliche Komponenten mit den gleichen Bezugszeichen versehen sind und auf unnötige Beschreibungen derselben verzichtet wird. Zunächst wird eine Roboterlehrvorrichtung 10 gemäß einer Ausführungsform unter Bezugnahme auf 1 und 2 beschrieben. Die Roboterlehrvorrichtung 10 dient dazu, einem Roboter 100 einen Betrieb beizubringen.
-
Der Roboter 100 ist ein vertikaler Knickarmroboter und umfasst eine Roboterbasis 102, einen Drehkörper 104, einen Roboterarm 106, ein Handgelenk 108 und einen Endeffektor 110. Die Roboterbasis 102 ist auf dem Boden einer Arbeitszelle fixiert. Der Drehkörper 104 ist auf der Roboterbasis 102 bereitgestellt, so dass er um eine vertikale Achse drehbar ist. Der Roboterarm 106 umfasst einen Unterarm 112, der drehbar mit dem Drehkörper 104 verbunden ist, und einen Oberarm 114, der drehbar mit einem distalen Ende des Unterarms 112 verbunden ist.
-
Das Handgelenk 108 ist mit einem distalen Ende des Oberarms 114 verbunden. Der Endeffektor 110 ist am Handgelenk 108 angebracht, wobei das Handgelenk 108 den Endeffektor 110 drehbar trägt. Der Endeffektor 110 ist eine Roboterhand, ein Schweißbrenner, ein Farbapplikator etc. und führt an einem Werkstück einen vorgegebenen Arbeitsvorgang aus.
-
Der Roboter 100 umfasst mehrere Servomotoren 116 (2). Diese Servomotoren 116 sind in die jeweiligen Komponenten (die Roboterbasis, 102, den Drehkörper 104, den Roboterarm 106 und das Handgelenk 108) des Roboters 100 eingebaut und drehen diese Komponenten um die Antriebsachsen.
-
Die Roboterlehrvorrichtung 10 umfasst eine Robotersteuereinrichtung 12 und ein Programmiergerät 14. Die Robotersteuereinrichtung 12 umfasst einen Prozessor 16 und eine Speichereinrichtung 18 und steuert den Roboter 100. Der Prozessor 16 ist z.B. eine CPU oder GPU und führt verschiedene Verarbeitungsarten aus, die später beschrieben sind. Die Speichereinrichtung 18 umfasst z.B. ein ROM und ein RAM und speichert verschiedene Arten von Daten. Der Prozessor 16 und die Speichereinrichtung 18 sind über einen Bus 20 kommunikationsfähig miteinander verbunden.
-
Ein Roboterkoordinatensystem CR ist für den Roboter 100 festgelegt. Bei der vorliegenden Ausführungsform ist das Roboterkoordinatensystem CR so festgelegt, dass sein Ursprung an der Roboterbasis 102 positioniert ist, seine z-Achse parallel zur vertikalen Richtung verläuft und der Drehkörper 104 um die z-Achse gedreht wird.
-
Für die Handspitze (d.h. den Endeffektor 110) des Roboters 100 hingegen ist ein Werkzeugkoordinatensystem CT festgelegt. Das Werkzeugkoordinatensystem CT dient dazu, die Position des Endeffektors 110 im Roboterkoordinatensystem CR zu definieren. Es wird darauf hingewiesen, dass in der vorliegenden Offenbarung „Position“ Position und Ausrichtung bedeuten kann.
-
Die Robotersteuereinrichtung 12 erzeugt gemäß einer später beschriebenen Betriebsanweisung, die in der Speichereinrichtung 18 gespeichert wird, einen Befehl für jeden Servomotor 116 und betreibt jede Komponente des Roboters 100 so, dass der Endeffektor 110 sequentiell in einer Mehrzahl Zielpositionen angeordnet wird. Folglich bewegt sich der Roboter 100 entlang eines durch die Mehrzahl Zielpositionen definierten Bewegungswegs.
-
Beim Anordnen des Endeffektors 110 in einer Zielposition legt die Robotersteuereinrichtung 12 zunächst das Werkzeugkoordinatensystem CT im Roboterkoordinatensystem CR fest. Die Robotersteuereinrichtung 12 betreibt dann den Roboter 100 unter Bezugnahme auf das Roboterkoordinatensystem CR , um den Endeffektor 110 in der durch das festgelegte Werkzeugkoordinatensystem CT definierten Zielposition anzuordnen. Auf diese Weise wird der Endeffektor 110 in der Zielposition im Roboterkoordinatensystem CR angeordnet.
-
Bei der vorliegenden Ausführungsform ist das Programmiergerät 14 beispielsweise ein Handprogrammiergerät und umfasst einen Prozessor (CPU, GPU etc.), eine Speichereinrichtung (RAM, ROM etc.), eine Anzeigeeinrichtung 22 und eine Eingabeeinrichtung 24. Die Anzeigeeinrichtung 22 ist beispielsweise eine Flüssigkristallanzeigeeinrichtung oder eine organische EL-Anzeigeeinrichtung und zeigt Daten als Bild an. Die Eingabeeinrichtung 24 ist z.B. eine Tastatur mit einer Mehrzahl Bedienungstasten und empfängt einen durch einen Bediener eingegebenen Betrieb.
-
Das Programmiergerät 14 ist auf drahtlose oder drahtgebundene Weise kommunikationsfähig mit der Robotersteuereinrichtung 12 verbunden. Der Bediener kann durch Bedienen der Eingabeeinrichtung 24 des Programmiergeräts 14 (einen sogenannten Tippbetrieb (Jog-Operation)) den Roboter 100 mittels der Robotersteuereinrichtung 12 in einer beliebigen Position anordnen.
-
Außerdem kann der Bediener durch Bedienen der Eingabeeinrichtung 24 des Programmiergeräts 14 eine Betriebsanweisung für den Roboter 100 eingeben. Das Programmiergerät 14 empfängt die durch den Bediener eingegebene Betriebsanweisung für den Roboter 100 und sendet die eingegebenen Informationen der Betriebsanweisung an die Robotersteuereinrichtung 12.
-
Die Speichereinrichtung
18 speichert die Betriebsanweisung zum Anordnen des Roboters
100 in der Zielposition. Somit fungiert die Speichereinrichtung
18 bei der vorliegenden Ausführungsform als Betriebsanweisungsspeicherabschnitt
26 (
2), der dazu eingerichtet ist, die Betriebsanweisung zu speichern. Die nachstehende Tabelle 1 zeigt ein Beispiel für einen in der Speichereinrichtung
18 zu speichernden Satz Betriebsanweisungen.
Tabelle 1
BETRIEBSANWEISUNG |
1 | VERSCHIEBE POSITION [1] |
2 | VERSCHIEBE POSITION [2] |
3 | VERSCHIEBE POSITION [3] |
. | . |
. | . |
. | . |
n | VERSCHIEBE POSITION [m] |
-
Bei dem Beispiel von Tabelle 1 wird von der ersten Zeile der Betriebsanweisung, die die Zeichenfolge „VERSCHIEBE POSITION [1]“ umfasst, zur n-ten Zeile der Betriebsanweisung, die die Zeichenfolge „VERSCHIEBE POSITION [m]“ umfasst, eine Gesamtzahl von „n“ Zeilen Betriebsanweisungen gespeichert.
-
Die Speichereinrichtung
18 speichert ferner Zielpositionsdaten für den Roboter
100. Somit fungiert die Speichereinrichtung
18 bei der vorliegenden Ausführungsform als Positionsdatenspeicherabschnitt
28 (
2), der dazu eingerichtet ist, die Zielpositionsdaten zu speichern. Es wird darauf hingewiesen, dass ein einziges ROM (oder RAM) der Speichereinrichtung
18 als Betriebsanweisungsspeicherabschnitt
26 und Positionsdatenspeicherabschnitt
28 fungieren kann. Alternativ kann ein erstes ROM (oder RAM) der Speichereinrichtung
18 als Betriebsanweisungsspeicherabschnitt
26 fungieren, während ein zweites ROM (oder RAM) der Speichereinrichtung
18 als Positionsdatenspeicherabschnitt
28 fungieren kann. Die nachstehende Tabelle 2 zeigt ein Beispiel für eine Datenbank der Zielpositionsdaten.
Tabelle 2
ZIELPOSITIONSDATEN |
ID | X | Y | Z | W | P | R |
1 | X1 | Y1 | Z1 | W1 | P1 | R1 |
2 | X2 | Y2 | Z2 | W2 | P2 | R2 |
3 | X3 | Y3 | Z3 | W3 | P3 | R3 |
. | . | . | . | . | . | . |
. | . | . | . | . | . | . |
. | . | . | . | . | . | . |
m | Xm | Ym | Zm | Wm | Pm | Rm |
-
Bei dem in Tabelle 2 gezeigten Beispiel werden Koordinaten (X, Y, Z, W, P, R) als Zielpositionsdaten gespeichert. Bei der vorliegenden Ausführungsform definieren die Zielpositionsdaten (X, Y, Z, W, P, R) die Position (d.h. den Ursprung und die Richtung jeder Achse) des im Roboterkoordinatensystem CR festzulegenden Werkzeugkoordinatensystems CT beim Anordnen des Endeffektors 110 in der Zielposition.
-
Genauer gesagt gibt die Koordinate X die x-Koordinate des Ursprungs des Werkzeugkoordinatensystems CT im Roboterkoordinatensystem CR , die Koordinate Y die y-Koordinate des Ursprungs des Werkzeugkoordinatensystems CT im Roboterkoordinatensystem CR und die Koordinate Z die z-Koordinate des Ursprungs des Werkzeugkoordinatensystems CT im Roboterkoordinatensystem CR an. Durch diese Koordinaten X, Y und Z wird die Position des Werkzeugkoordinatensystems CT (d.h. des Endeffektors 110) im Roboterkoordinatensystem CR definiert.
-
Dagegen gibt die Koordinate W den Drehwinkel des Werkzeugkoordinatensystems CT um die x-Achse eines Referenzkoordinatensystems (z.B. des Roboterkoordinatensystems CR ), die Koordinate P den Drehwinkel des Werkzeugkoordinatensystems CT um die y-Achse des Referenzkoordinatensystems und die Koordinate R den Drehwinkel des Werkzeugkoordinatensystems CT um die z-Achse des Referenzkoordinatensystems an. Durch diese Koordinaten W, P und R wird die Ausrichtung des Werkzeugkoordinatensystems CT (d.h. des Endeffektors 110) definiert.
-
Sämtlichen Zielpositionsdaten wird eine eindeutige Kennung ID zugewiesen. Bei dem in Tabelle 2 gezeigten Beispiel ist die Kennung ID als Zahl von „1“ bis „m“ festgelegt. Beispielsweise haben die m-ten Positionsdaten, denen ID=m zugewiesen wurde, die Koordinaten (Xm, Ym, Zm, Wm, Pm, Rm).
-
Auf diese Weise wird in der in Tabelle 2 gezeigten Datenbank von den ersten Zielpositionsdaten (X1, Y1, Z1, W1, P1, R1) bis zu den m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm) eine Gesamtzahl von „m“ Zielpositionsdaten gespeichert, so dass diese durch ihre eindeutigen Kennungen identifizierbar sind.
-
Beim Betreiben des Roboters 100 liest die Robotersteuereinrichtung 12 sequentiell die erste bis n-te Zeile der Betriebsanweisungen aus, die in Tabelle 1 gezeigt sind, und veranlasst den Roboter 100, den durch diese Betriebsanweisungen definierten Betrieb auszuführen. Beispielsweise veranlasst die n-te Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ den Roboter 100, einen Betrieb zum Anordnen des Endeffektors 110 in der m-ten Zielposition durchzuführen, die durch ID=m kenntlich gemacht ist.
-
„POSITION [m]“ in der n-ten Zeile der Betriebsanweisung ist eine Zeichenfolge, die die Kennung ID=m der m-ten Zielpositionsdaten angibt. Wenn die Robotersteuereinrichtung 12 die Zeichenfolge „POSITION [m]“ ausliest, nimmt die Robotersteuereinrichtung 12 auf die in Tabelle 2 gezeigte Datenbank Bezug, die in der Speichereinrichtung 18 (im Positionsdatenspeicherabschnitt 28) gespeichert ist, und liest die m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm) aus, die mit der Kennung ID=m versehen sind.
-
Die Robotersteuereinrichtung 12 legt dann das Werkzeugkoordinatensystem CT auf die durch die m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm) definierte m-te Zielposition fest und betreibt den Roboter 100 so, dass der Endeffektor 110 in der durch das festgelegte Werkzeugkoordinatensystem CT definierten m-ten Zielposition angeordnet wird. Somit umfasst die n-te Zeile der Betriebsanweisung bei der vorliegenden Ausführungsform die Zeichenfolge, die die Kennung ID=m der m-ten Zielpositionsdaten angibt, enthält aber nicht die m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm).
-
Als Nächstes wird ein Verfahren zum Anlernen des Roboters 100 unter Verwendung der Roboterlehrvorrichtung 10 beschrieben. Beim Anlernen des Roboters 100 bedient ein Bediener zunächst das Programmiergerät 14, um einen Tippbetrieb (Jogging) des Roboters 100 durchzuführen, um den Endeffektor 110 in der zu lehrenden Zielposition anzuordnen.
-
Der Bediener bedient dann die Eingabeeinrichtung 24, um eine Betriebsanweisung zum Anlernen des Roboters 100 bezüglich eines Betriebs einzugeben. Beispielsweise zeigt die Roboterlehrvorrichtung 10 eine Betriebslehrtaste zum Eingeben der Betriebsanweisung auf der Anzeigeeinrichtung 22 an. In diesem Fall bedient der Bediener die Eingabeeinrichtung 24, um die auf der Anzeigeeinrichtung 22 angezeigte Betriebslehrtaste zu betätigen, um die Betriebsanweisung einzugeben.
-
Als weiteres Beispiel kann bei dem Programmiergerät 14 eine Bedienungstaste der Eingabeeinrichtung 24 als Betriebslehrtaste zugewiesen werden. In diesem Fall bedient der Bediener die. Eingabeeinrichtung 24 als Bedienlehrtaste, um die Betriebsanweisung einzugeben. Der Prozessor des Programmiergeräts 14 empfängt die durch den Bediener über die Eingabeeinrichtung 24 eingegebene Betriebsanweisung und sendet die eingegebenen Informationen der Betriebsanweisung an die Robotersteuereinrichtung 12.
-
Bei Empfang der durch den Bediener eingegebenen Betriebsanweisung erfasst der Prozessor 16 der Robotersteuereinrichtung 12 die aktuellen Positionsdaten des Roboters 100 zu diesem Zeitpunkt. Genauer gesagt erfasst der Prozessor 16 die Koordinaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) des Endeffektors 110 zu diesem Zeitpunkt als aktuelle Positionsdaten des Roboters 100. Es wird darauf hingewiesen, dass der Prozessor 16 bei Empfang der eingegebenen Betriebsanweisung den Drehwinkel jedes Servomotors 116 erfassen und die Koordinaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) des Endeffektors 110 basierend auf dem Drehwinkel berechnen kann.
-
Der Prozessor
16 versieht die erfassten aktuellen Positionsdaten (X
m+1, Y
m+1, Z
m+1, W
m+1, P
m+1, R
m+1) mit einer eindeutigen Kennung „m+1“ und schreibt diese aktuellen Positionsdaten (X
m+1, Y
m+1, Z
m+1, W
m+1, P
m+1, R
m+1) als neue Zielpositionsdaten in die Speichereinrichtung
18. Dadurch werden die neuen Zielpositionsdaten (X
m+1, Y
m+1, Z
m+1, W
m+1, P
m+1, R
m+1), denen die Kennung „m+1“ zugewiesen wurde, wie in der nachstehenden Tabelle 3 gezeigt, der in der Speichereinrichtung
18 gespeicherten Datenbank der Zielpositionsdaten hinzugefügt.
Tabelle 3
ZIELPOSITIONSDATEN |
ID | X | Y | Z | W | P | R |
1 | X1 | Y1 | Z1 | W1 | P1 | R1 |
2 | X2 | Y2 | Z2 | W2 | P2 | R2 |
3 | X3 | Y3 | Z3 | W3 | P3 | R3 |
. | . | . | . | . | . | . |
. | . | . | . | . | . | . |
. | . | . | . | . | . | . |
m | Xm | Ym | Zm | Wm | Pm | Rm |
m+1 | Xm+1 | Ym+1 | Zm+1 | Wm+1 | Pm+1 | Rm+1 |
-
Somit fungiert der Prozessor 16 bei der vorliegenden Ausführungsform als Positionsdatenschreibabschnitt 30 (2), der dazu eingerichtet ist, bei der Eingabe der Betriebsanweisung die aktuellen Positionsdaten des Roboters zu erfassen und die aktuellen Positionsdaten als Zielpositionsdaten zusammen mit der Kennung in den Positionsdatenspeicherabschnitt 28 (d.h. in die Speichereinrichtung 18) zu schreiben.
-
Des Weiteren versieht der Prozessor
16 bei Empfang der eingegebenen Betriebsanweisung die Betriebsanweisung automatisch mit der Kennung „m+1“ der neuen Zielpositionsdaten (X
m+1, Y
m+1, Z
m+1, W
m+1, P
m+1, R
m+1) und schreibt diese als neue Betriebsanweisung „VERSCHIEBE POSITION [m+1]“ automatisch in die Speichereinrichtung
18. Dadurch wird die neue Betriebsanweisung „VERSCHIEBE POSITION [m+1]“, wie in der nachstehenden Tabelle 4 gezeigt, in der (n+1)-ten Zeile hinzugefügt.
Tabelle 4
BETRIEBSANWEISUNG |
1 | VERSCHIEBE POSITION [1] |
2 | VERSCHIEBE POSITION [2] |
3 | VERSCHIEBE POSITION [3] |
. | . |
. | . |
. | . |
n | VERSCHIEBE POSITION [m] |
n+1 | VERSCHIEBE POSITION [m+1] |
-
Somit fungiert der Prozessor 16 bei der vorliegenden Ausführungsform als Betriebsanweisungsschreibabschnitt 32, der dazu eingerichtet ist, die eingegebene Betriebsanweisung in den Betriebsanweisungsspeicherabschnitt 26 (d.h. in die Speichereinrichtung 18) zu schreiben. Auf diese Weise wird dem Roboter 100 ein durch die neue Betriebsanweisung definierter Betrieb (d.h. ein Betrieb zum Anordnen des Endeffektors 110 in der (m+1)-ten Zielposition) beigebracht.
-
Wie vorstehend beschrieben, erfasst der Prozessor 16 (der Positionsdatenschreibabschnitt 30) bei der vorliegenden Ausführungsform bei der Eingabe der Betriebsanweisung durch den Bediener die aktuellen Positionsdaten des Roboters 100 und schreibt diese als neue Zielpositionsdaten zusammen mit der neuen Kennung in den Positionsdatenspeicherabschnitt 28. Dann bringt der Prozessor 16 durch automatisches Versehen der Betriebsanweisung mit der neuen Kennung dem Roboter 100 den Betrieb bei.
-
Durch diese Konfiguration muss der Bediener nicht jedes Mal, wenn er/sie die Betriebsanweisung eingibt, die Zielpositionsdaten manuell eingeben und die Betriebsanweisung mit der Kennung versehen, wodurch die Anzahl Vorgänge reduziert werden kann, die notwendig ist, um dem Roboter 100 den Betrieb beizubringen. Daher ist es möglich, den mit dem Anlernen des Roboters 100 verbundenen Arbeitsvorgang zu vereinfachen.
-
Als Nächstes wird eine andere Funktion der Roboterlehrvorrichtung 10 beschrieben. Wie vorstehend beschrieben, fungiert der Prozessor 16 bei Empfang der durch einen Bediener über das Programmiergerät 14 eingegebenen Betriebsanweisung als Positionsdatenschreibabschnitt 30, um die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) des Roboters 100 zu diesem Zeitpunkt zu erfassen.
-
Dann bestimmt der Prozessor 16, ob die neu erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den ersten bis m-ten Zielpositionsdaten übereinstimmen, die in der Vergangenheit in der Speichereinrichtung 18 (im Positionsdatenspeicherabschnitt 28) gespeichert wurden. Der Prozessor 16 bestimmt beispielsweise, ob die Koordinaten Xm+1, Ym+1, Zm+1, Wm+1, Pm+1 und Rm+1 der erfassten aktuellen Positionsdaten jeweils innerhalb von Schwellenwertbereichen liegen, die für die einzelnen Koordinaten X, Y, Z, W, P und R sämtlicher der ersten bis m-ten Zielpositionsdaten vorgegeben sind.
-
Die Schwellenwertbereiche können beispielsweise auf 95 % bis 105 % der jeweiligen Koordinaten X, Y, Z, W, P und R sämtlicher der ersten bis m-ten Zielpositionsdaten festgelegt werden (d.h. [X×0,95, X×1,05], [Y×0,95, Y×1,05], [Z×0,95, Z×1,05], [W×0,95, W×1,05], [P×0,95, P×1,05], [R×0,95, R×1,05]).
-
Wenn der Prozessor 16 bestimmt, dass die Koordinaten Xm+1, Ym+1, Zm+1, Wm+1, Pm+1 und Rm+1 der erfassten aktuellen Positionsdaten jeweils innerhalb der entsprechenden Schwellenwertbereiche liegen, bestimmt der Prozessor 16, dass die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen.
-
Es wird darauf hingewiesen, dass der Prozessor 16 bestimmen kann, ob wenigstens eine der Koordinaten Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1 der erfassten aktuellen Positionsdaten (z.B. Xm+1, Ym+1 und Zm+1) in dem Schwellenwertbereich liegt, der für wenigstens eine der entsprechenden Koordinaten X, Y, Z, W, P und R (z.B. X, Y und Z) sämtlicher der ersten bis m-ten Zielpositionsdaten vorgegeben ist.
-
Alternativ kann der Prozessor 16 nur dann bestimmen, dass die aktuellen Positionsdaten mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, wenn wenigstens eine der Koordinaten Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1 der erfassten aktuellen Positionsdaten (z.B. Xm+1, Ym+1 und Zm+1) vollständig mit wenigstens einer der entsprechenden Koordinaten X, Y, Z, W, P und R (z.B. X, Y und Z) sämtlicher der ersten bis m-ten Zielpositionsdaten übereinstimmt.
-
Als weiteres Beispiel berechnet der Prozessor 16 einen Abstand δ zwischen der Position (Xm+1, Ym+1, Zm+1) im Roboterkoordinatensystem CR der erfassten aktuellen Positionsdaten und der Position (X, Y, Z) im Roboterkoordinatensystem CR sämtlicher der ersten bis m-ten Zielpositionsdaten, die in der Vergangenheit in der Speichereinrichtung 18 gespeichert wurden (d.h. δ=((Xm+1-X)2 + (Ym+1-Y)2 + (Zm+1-Z)2)1/2).
-
Dann bestimmt der Prozessor 16, ob der berechnete Abstand δ innerhalb eines Bereichs vorgegebener Schwellenwerte [0, δth] liegt. Wenn der Prozessor 16 bestimmt, dass der Abstand δ in dem Bereich [0, δth] liegt (d.h. 0≤δ≤δth), bestimmt der Prozessor 16, dass die erfassten aktuellen Positionsdaten mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen.
-
Es wird darauf hingewiesen, dass der Prozessor 16 zusätzlich zum Abstand δ ferner Unterschiede ΦW zwischen den Koordinaten (Wm+1, Pm+1, Rm+1), die die Ausrichtung der erfassten aktuellen Positionsdaten angeben, und den Koordinaten (W, P, R), die die Ausrichtung sämtlicher in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten angeben, berechnen kann (d.h. ΦW=Wm+1-W, ΦP=Pm+1-P, ΦR=Rm+1-R).
-
Dann kann der Prozessor 16 bestimmen, ob die Unterschiede ΦW, ΦP und ΦR jeweils in Bereichen [0, ΦWth] [0, ΦPth] und [0, ΦRth] liegen, die für die einzelnen Unterschiede vorgegeben sind. In diesem Fall kann der Prozessor 16 bestimmen, dass die erfassten aktuellen Positionsdaten mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen, wenn der Prozessor 16 bestimmt, dass der Abstand δ in dem Bereich [0, δth] liegt und die Unterschiede ϕW, ϕP und ϕR jeweils in den Bereichen [0, ϕWth] [0, ϕPth] bzw. [0, ϕRth] liegen.
-
Wenn der Prozessor 16 bestimmt, dass die erfassten aktuellen Positionsdaten nicht mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, fungiert der Prozessor 16 als Positionsdatenschreibabschnitt 30, um ähnlich wie bei der vorstehend beschriebenen Ausführungsform die aktuellen Positionsdaten zusammen mit einer neuen eindeutigen Kennung in die Speichereinrichtung 18 zu schreiben.
-
Wenn der Prozessor 16 hingegen bestimmt, dass die erfassten aktuellen Positionsdaten mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, versieht der Prozessor 16 die Betriebsanweisung, für die die aktuellen Positionsdaten erfasst werden, automatisch mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten, ohne die aktuellen Positionsdaten in die Speichereinrichtung 18 zu schreiben.
-
Nehmen wird beispielsweise an, dass der Prozessor 16 bestimmt, dass die erfassten aktuellen Positionsdaten mit den dritten Zielpositionsdaten (X3, Y3, Z3, W3, P3, R3) in der Datenbank von Tabelle 2 übereinstimmen, die in der Vergangenheit in der Speichereinrichtung 18 gespeichert wurden. In diesem Fall fügt der Prozessor 16 der eingegebenen Betriebsanweisung automatisch die Kennung „3“ der dritten Zielpositionsdaten (X3, Y3, Z3, W3, P3, R3) hinzu und schreibt die Betriebsanweisung „VERSCHIEBE POSITION [3]“ in die Speichereinrichtung 18, um sie der in Tabelle 4 gezeigten (n+1)-ten Zeile der Betriebsanweisung hinzuzufügen.
-
Wie vorstehend beschrieben, schreibt der Prozessor 16 bei der vorliegenden Ausführungsform die aktuellen Positionsdaten nicht in die Speichereinrichtung 18, wenn der Prozessor 16 bestimmt, dass die erfassten aktuellen Positionsdaten mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen. Durch diese Konfiguration ist es möglich, zu verhindern, dass mehrere Zielpositionsdaten, die sich im Wesentlichen teilweise decken, redundant in der Speichereinrichtung 18 gespeichert werden, und die bereits gespeicherten Zielpositionsdaten effektiv zu nutzen. Dadurch kann die Datenmenge in der die Zielpositionsdaten speichernden Datenbank reduziert werden und es ist folglich möglich, die Kapazität der Speichereinrichtung 18 zu verringern.
-
Wenn die Datenbank der Zielpositionsdaten auf der Anzeigeeinrichtung angezeigt wird, um für einen Bediener sichtbar zu sein, ist es außerdem möglich, eine Anzeige mehrerer Zielpositionsdaten, die im Wesentlichen miteinander übereinstimmen, zu vermeiden, wodurch die Wartung der Datenbank erleichtert werden kann. Wenn die Zielposition als Bild auf der Anzeigeeinrichtung angezeigt wird, ist es ferner möglich, unnötige Zielpositionen wegzulassen, wodurch sich die Sichtbarkeit des Bildes verbessern lässt.
-
Es wird darauf hingewiesen, dass bestimmt werden kann, dass mehrere Zielpositionsdaten der in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten mit den erfassten aktuellen Positionsdaten übereinstimmen. Wenn der Prozessor 16 beispielsweise den vorstehend beschriebenen Abstand δ berechnet, können mehrere Zielpositionsdaten vorhanden sein, deren Abstand δ jeweils in dem Bereich [0, δth] liegt. In diesem Fall kann der Prozessor 16 ein Zielpositionsdatenelement auswählen, dessen Abstand δ 0 am nächsten ist, und die eingegebene Betriebsanweisung automatisch mit der Kennung des einen Zielpositionsdatenelements versehen.
-
Alternativ kann der Prozessor 16 die mehreren Zielpositionsdaten, deren Abstand δ in dem Bereich [0, δth] liegt, einem Bediener als Bild in Form einer Liste zur Verfügung stellen. Der Prozessor 16 kann beispielsweise einen Befehl an das Programmiergerät 14 senden, in Antwort worauf das Programmiergerät 14 die Liste der mehreren Zielpositionsdaten auf der Anzeigeeinrichtung 22 anzeigen kann.
-
Der Bediener kann dann die Eingabeeinrichtung 24 bedienen, um ein Signal zum Auswählen gewünschter Zielpositionsdaten aus den angezeigten mehreren Zielpositionsdaten einzugeben. Der Prozessor 16 kann dann die Eingabe empfangen und die eingegebene Betriebsanweisung automatisch mit der Kennung der durch den Bediener ausgewählten Zielpositionsdaten versehen.
-
Alternativ kann der Prozessor 16 die Liste der mehreren Zielpositionsdaten auf der in der Robotersteuereinrichtung 12 bereitgestellten Anzeigeeinrichtung (nicht gezeigt) anzeigen. Der Bediener kann dann die in der Robotersteuereinrichtung 12 bereitgestellte Eingabeeinrichtung (z.B. eine Tastatur etc.) bedienen, um ein Signal zum Auswählen gewünschter Zielpositionsdaten aus den angezeigten mehreren Zielpositionsdaten einzugeben. Der Prozessor 16 kann dann die eingegebene Betriebsanweisung automatisch mit der Kennung der durch den Bediener ausgewählten Zielpositionsdaten versehen.
-
Als Nächstes wird noch ein weiteres Merkmal der Roboterlehrvorrichtung 10 beschrieben. Nehmen wir an, dass die in Tabelle 3 gezeigte Datenbank der Zielpositionsdaten und die in Tabelle 4 gezeigte Datenbank der Betriebsanweisung in der Speichereinrichtung 18 gespeichert sind und dass ein Bediener das Programmiergerät 14 bedient, um einer Zeile zwischen der n-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ und der (n+1)-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m+1]“, die in 4 gezeigt sind, eine neue Betriebsanweisung hinzuzufügen.
-
Das heißt, die n-te Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ und die (n+1)-te Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m+1]“ wurden bereits vor der neuen Betriebsanweisung gelehrt. Anstatt bei der Eingabe einer neuen Betriebsanweisung die aktuellen Positionsdaten des Roboters 100 zu erfassen, berechnet der Prozessor 16 in diesem Fall eine Zwischenposition zwischen den m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm) mit der Kennung ID=m und den (m+1)-ten Zielpositionsdaten(Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit der Kennung ID=m+1, wobei die m-ten Zielpositionsdaten durch die n-te Zeile der Betriebsanweisung angewiesen werden, während die (m+1)-ten Zielpositionsdaten durch die (n+1)-te Zeile der Betriebsanweisung angewiesen werden.
-
Beispielsweise berechnet der Prozessor 16 als Zwischenposition Mittelpunktkoordinaten ((Xm+1-Xm)/2, (Ym+1-Ym)/2, (Zm+1-Zm)/2) zwischen den Koordinaten (Xm, Ym, Zm) im in den m-ten Zielpositionsdaten enthaltenen Roboterkoordinatensystem CR und den Koordinaten (Xm+1, Ym+1, Zm+1) im in den (m+1)-ten Zielpositionsdaten enthaltenen Roboterkoordinatensystem CR .
-
Was hingegen die Koordinaten (W, P, R) betrifft, die die Ausrichtung der Zwischenposition angeben, verwendet der Prozessor 16 die Koordinaten (Wm, Pm, Rm) der Ausrichtung der m-ten Zielpositionsdaten. Somit berechnet der Prozessor 16 bei dem vorliegenden Beispiel die Positionsdaten ((Xm+1-Xm)/2, (Ym+1-Ym)/2, (Zm+1-Zm)/2, Wm, Pm, Rm) der Zwischenposition.
-
Es wird darauf hingewiesen, dass der Prozessor 16 die Koordinaten (Wm+1, Pm+1, Rm+1) der (m+1)-ten Zielpositionsdaten als Koordinaten (W, P, R) verwenden kann, die die Ausrichtung der Zwischenposition angeben. In diesem Fall berechnet der Prozessor 16 Positionsdaten ((Xm+1-Xm)/2, (Ym+1-Ym)/2, (Zm+1-Zm)/2, Wm+1, Pm+1, Rm+1) der Zwischenposition.
-
Als anderes Beispiel kann der Prozessor 16 zusätzlich zu den Koordinaten des Mittelpunkts der in dem vorstehenden Beispiel beschriebenen zwei Zielpositionen außerdem die Koordinaten der Zwischenausrichtung zwischen der durch die m-ten Zielpositionsdaten definierten Ausrichtung und der durch die (m+1)-ten Zielpositionsdaten definierten Ausrichtung berechnen.
-
Genauer gesagt berechnet der Prozessor 16 die Koordinaten (Wm+(Wm+1-Wm)/2, Pm+(Pm+1-Pm)/2, Rm+(Rm+1-Rm)/2) der Zwischenausrichtung. Folglich berechnet der Prozessor 16 bei diesem Beispiel die Positionsdaten ((Xm+1-Xm)/2, (Ym+1-Ym)/2, (Zm+1-Zm)/2, Wm+(Wm+1-Wm)/2, Pm+(Pm+1-Pm)/2, Rm+(Rm+1-Rm)/2) der Zwischenposition.
-
Der Prozessor
16 schreibt die derart erfassten Zwischenpositionsdaten als neue Zielpositionsdaten (X
m+2, Y
m+2, Z
m+2, W
m+2, P
m+2, R
m+2) zusammen mit einer eindeutigen Kennung ID=m+2 in die Speichereinrichtung
18 (den Positionsdatenspeicherabschnitt
28). Dadurch werden die (m+2)-ten Zielpositionsdaten(X
m+2, Y
m+2, Z
m+2, W
m+2, P
m+2, R
m+2), die mit der Kennung ID=m+2 versehen sind, wie in der nachstehenden Tabelle 5 gezeigt, der Datenbank der Zielpositionsdaten hinzugefügt.
Tabelle 5
ZIELPOSITIONSDATEN |
ID | X | Y | Z | W | P | R |
1 | X1 | Y1 | Z1 | W1 | P1 | R1 |
2 | X2 | Y2 | Z2 | W2 | P2 | R2 |
3 | X3 | Y3 | Z3 | W3 | P3 | R3 |
. | . | . | . | . | . | . |
. | . | . | . | . | . | . |
. | . | . | . | . | . | . |
m | Xm | Ym | Zm | Wm | Pm | Rm |
m+1 | Xm+1 | Ym+1 | Zm+1 | Wm+1 | Pm+1 | Rm+1 |
m+2 | Xm+2 | Ym+2 | Zm+2 | Wm+2 | Pm+2 | Rm+2 |
-
Gemäß einem vorstehend beschriebenen Beispiel ist Xm+2=(Xm+1-Xm)/2, Ym+2=(Ym+1-Ym)/2, Zm+2=(Zm+1-Zm)/2, Wm+2=Wm (oder Wm+1), Pm+2=Pm (oder Pm+1) und Rm+2=Rm (oder Rm+1). Gemäß einem anderen vorstehend beschriebenen Beispiel ist Xm+2=(Xm+1-Xm)/2, Ym+2=(Ym+1-Ym)/2, Zm+2=(Zm+1-Zm)/2, Wm+2=Wm+(Wm+1-Wm)/2, Pm+2=Pm+(Pm+1-Pm)/2 und Rm+2=Rm+(Rm+1-Rm)/2.
-
Außerdem schreibt der Prozessor 16 die Betriebsanweisung „VERSCHIEBE POSITION [m+2]“ neu in die Speichereinrichtung 18, um sie zwischen der n-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ und der (n+1)-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m+1]“ in die in Tabelle 4 gezeigte Datenbank einzufügen. Nun versieht der Prozessor 16 die neu zu schreibende Betriebsanweisung automatisch mit der Kennung „m+2“ der erfassten (m+2)-ten Zielpositionsdaten.
-
Dadurch wird die neue Betriebsanweisung „VERSCHIEBE POSITION [m+2]“ der (n+1)-ten Zeile hinzugefügt, wie in der nachstehenden Tabelle 6 gezeigt. Auf diese Weise wird der durch die neue Betriebsanweisung „VERSCHIEBE POSITION [m+2]“ definierte Betrieb (d.h. der Betrieb zum Anordnen des Endeffektors
110 in der (m+1)-ten Zielposition) dem Roboter
100 beigebracht.
Tabelle 6
BETRIEBSANWEISUNG |
1 | VERSCHIEBE POSITION [1] |
2 | VERSCHIEBE POSITION [2] |
3 | VERSCHIEBE POSITION [3] |
. | . |
. | . |
. | . |
n | VERSCHIEBE POSITION [m] |
n+1 | VERSCHIEBE POSITION [m+2] |
n+2 | VERSCHIEBE POSITION [m+1] |
-
Wie vorstehend beschrieben, erfasst der Prozessor 16 bei der vorliegenden Ausführungsform, wenn der Prozessor 16 zwischen der n-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ und der (n+1)-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m+1]“, die in 4 gezeigt sind, die neue Betriebsanweisung „VERSCHIEBE POSITION [m+2]“ hinzufügt, die Positionsdaten der Zwischenposition zwischen der m-ten Zielposition und der (m+1)-ten Zielposition und speichert sie als neue (m+2)-te Zielpositionsdaten (Xm+2, Ym+2, Zm+2, Wm+2, Pm+2, Rm+2) in die Speichereinrichtung 18.
-
Die derart als Zwischenposition berechnete (m+2)-te Zielposition würde nicht erheblich vom Bewegungsweg des Roboters 100 von der m-ten Zielposition zur (m+1)-ten Zielposition abweichen.
-
Daher ist es möglich, die Sicherheit des Betriebs des Roboters 100 zu erhöhen, wenn sich dieser von der m-ten Zielposition über die (m+2)-te Zielposition und dann zur (m+1)-ten Zielposition bewegt, und gleichzeitig den durch den Bediener durchgeführten Arbeitsvorgang zum Korrigieren der hinzugefügten (m+2)-ten Zielposition zu vereinfachen. Außerdem ist es möglich, da die (m+2)-te Zielposition automatisch in die Speichereinrichtung 18 geschrieben wird, den Arbeitsaufwand beim Anlernen zu verringern.
-
Es wird darauf hingewiesen, dass das vorstehend beschriebene Programmiergerät 14 nicht auf ein Handprogrammiergerät beschränkt ist, sondern beispielsweise ein Arbeitsplatzrechner oder ein mobiler PC (Tablet, Notebook etc.) sein kann. Außerdem ist die Speichereinrichtung 18 bei der vorstehend beschriebenen Ausführungsform in die Robotersteuereinrichtung 12 eingebaut und der Prozessor 16 der Robotersteuereinrichtung 12 fungiert als Positionsdatenschreibabschnitt 30 und Betriebsanweisungsschreibabschnitt 32. Es kann jedoch auch eine Roboterlehrvorrichtung, die die Speichereinrichtung 18, den Positionsdatenschreibabschnitt 30 und den Betriebsanweisungsschreibabschnitt 32 umfasst, separat von der Robotersteuereinrichtung 12 bereitgestellt werden.
-
Eine solche Ausführungsform ist in 3 und 4 gezeigt. Bei dieser Ausführungsform ist eine Roboterlehrvorrichtung 50 beispielsweise ein mobiler PC und umfasst den Prozessor 16, die Speichereinrichtung 18, die Anzeigeeinrichtung 22 und eine Eingabeeinrichtung 54. Die Eingabeeinrichtung 54 ist z.B. ein auf dem Bildschirm der Anzeigeeinrichtung 22 bereitgestellter Berührungssensor und empfängt eine Kontaktbedienung durch einen Bediener. Der Prozessor 16, die Speichereinrichtung 18, die Anzeigeeinrichtung 22 und die Eingabeeinrichtung 54 sind über den Bus 20 kommunikationsfähig miteinander verbunden.
-
Die Roboterlehrvorrichtung 50 ist drahtlos oder drahtgebunden mit einer Robotersteuereinrichtung 52 verbunden. Die in die Roboterlehrvorrichtung 50 eingebaute Speichereinrichtung 18 fungiert als der vorstehend beschriebene Betriebsanweisungsspeicherabschnitt 26 und Positionsdatenspeicherabschnitt 28. Der in die Roboterlehrvorrichtung 50 eingebaute Prozessor 16 fungiert als der vorstehend beschriebene Positionsdatenschreibabschnitt 30 und Betriebsanweisungsschreibabschnitt 32.
-
Nachstehend ist ein Verfahren zum Anlernen des Roboters 100 unter Verwendung der Roboterlehrvorrichtung 50 beschrieben. Zunächst bedient ein Bediener die Eingabeeinrichtung 54, um über die Robotersteuereinrichtung 52 einen Tippbetrieb des Roboters 100 durchzuführen, um den Endeffektor 110 in der zu lehrenden Zielposition anzuordnen.
-
Der Bediener bedient dann die Eingabeeinrichtung 54, um eine Betriebsanweisung für den Roboter 100 einzugeben. Bei Empfang der in die Eingabeeinrichtung 54 eingegebenen Betriebsanweisung fungiert der Prozessor 16 der Roboterlehrvorrichtung 50 als Positionsdatenschreibabschnitt 30, um über die Robotersteuereinrichtung 52 aktuelle Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) des Roboters 100 zu diesem Zeitpunkt zu erfassen.
-
Dann bestimmt der Prozessor 16, ob die erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen. Wenn der Prozessor 16 bestimmt, dass die erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) nicht mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, fungiert der Prozessor 16 als Positionsdatenschreibabschnitt 30, um die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) zusammen mit der Kennung ID=m+1 in die Speichereinrichtung 18 zu schreiben.
-
Wenn der Prozessor 16 hingegen bestimmt, dass die erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, versieht der Prozessor die eingegebene Betriebsanweisung automatisch mit der Kennung der Zielpositionsdaten, mit denen die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) übereinstimmen, ohne die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) in die Speichereinrichtung 18 zu schreiben.
-
Wenn der Bediener die Eingabeeinrichtung 54 bedient, um einer Zeile zwischen der n-ten Zeile der Betriebsanweisung und der (n+1)-ten Zeile der Betriebsanweisung eine neue Betriebsanweisung hinzuzufügen, erfasst der Prozessor 16 der Roboterlehrvorrichtung 50 Positionsdaten der Zwischenposition zwischen der m-ten Zielposition und der (m+1)-ten Zielposition und schreibt sie als neue (m+2)-te Zielpositionsdaten(Xm+2, Ym+2, Zm+2, Wm+2, Pm+2, Rm+2) zusammen mit einer Kennung „m+2“ in die Speichereinrichtung 18. Gemäß dieser Ausführungsform ist es möglich, ähnliche Effekte wie bei der vorstehend beschriebenen Roboterlehrvorrichtung 10 zu erzielen.
-
Es wird darauf hingewiesen, dass der Bediener bei der Roboterlehrvorrichtung 10, 50 die Eingabeeinrichtung 24, 54 bedienen kann, um jede Koordinate der Zielpositionsdaten(Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) manuell einzugeben. In diesem Fall bestimmt der Prozessor 16, ob die eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen.
-
Wenn der Prozessor 16 bestimmt, dass die eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, schreibt der Prozessor 16 die eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) nicht in die Speichereinrichtung 18. Dann versieht der Prozessor 16 die Betriebsanweisung, deren Eingabe vom Bediener empfangen wird, automatisch mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten, die mit den eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) übereinstimmen, und schreibt sie in die Speichereinrichtung 18.
-
Wenn der Prozessor 16 hingegen bestimmt, dass die eingegebenen Zielpositionsdaten(Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) nicht mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, fungiert der Prozessor 16 als Positionsdatenschreibabschnitt 30, um die Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) zusammen mit der Kennung ID=m+1 in die Speichereinrichtung 18 zu schreiben.
-
Es wird darauf hingewiesen, dass die vorstehend genannte Roboterlehrvorrichtung 50 beispielsweise ein Arbeitsplatzrechner sein kann. Außerdem sind die Zielpositionsdaten nicht auf die vorstehend beschriebenen Koordinaten (X, Y, Z, W, P, R) beschränkt, sondern können beispielsweise der Drehwinkel jedes Servomotors sein. Des Weiteren ist die Kennung nicht auf eine Zahl beschränkt, sondern kann ein beliebiges Zeichen oder Symbol sein.
-
Außerdem kann die Speichereinrichtung 18 auch außerhalb der Robotersteuereinrichtung 12 oder der Roboterlehrvorrichtung 50 bereitgestellt werden, anstatt in die Robotersteuereinrichtung 12 oder die Roboterlehrvorrichtung 50 eingebaut zu werden. Die Speichereinrichtung 18 kann beispielsweise eine . externe Speichereinrichtung (EEPROM etc.) sein, die extern an der Robotersteuereinrichtung 12 oder der Roboterlehrvorrichtung 50 angebracht ist, oder in einen externen Server eingebaut werden, der über ein Netzwerk mit der Robotersteuereinrichtung 12 oder der Roboterlehrvorrichtung 50 verbunden ist. Des Weiteren können sowohl der Betriebsanweisungsspeicherabschnitt 26 als auch der Positionsdatenspeicherabschnitt 28 durch eine einzige unabhängige Speichereinrichtung gebildet werden.
-
Des Weiteren kann eine Mehrzahl Roboter 100 über ein Netzwerk mit der Robotersteuereinrichtung 12, 52 verbunden werden, wobei die Roboterlehrvorrichtung 10, 50 dazu eingerichtet ist, der Mehrzahl Roboter 100 den Betrieb beizubringen. In diesem Fall kann die Datenbank der Zielpositionsdaten und der Daten der Betriebsanweisungen durch die Mehrzahl Roboter 100 gemeinsam genutzt werden. Außerdem ist der Roboter 100 nicht auf einen vertikalen Knickarmroboter beschränkt, sondern kann ein beliebiger Robotertyp sein, der einen horizontalen Knickarmroboter oder einen Parallel-Link-Roboter etc. umfasst.
-
Obgleich die vorliegende Offenbarung anhand spezifischer Ausführungsformen beschrieben ist, schränken die vorstehend beschriebenen Ausführungsformen die durch die angefügten Ansprüche definierte Erfindung nicht ein.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-