-
VERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung basiert auf der am 17. Januar 2014 eingereichten
japanischen Patentanmeldung Nr. 2014-007217 , deren Priorität sie beansprucht und die hiermit gesamtumfänglich durch Bezugnahme hierin aufgenommen ist.
-
HINTERGRUND DER ERFINDUNG
-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft ein Robotersteuerungsverfahren, mit dem bewirkt wird, dass der Roboter mehrere gespeicherte Arbeitsanweisungen an einer vorherbestimmten Position, die allgemein als Punkt bezeichnet wird, ausführt, einen Roboter, der dieses Verfahren anwendet, und ein Betriebs-Einstellprogramm, um den Betrieb des Roboters zu steuern.
-
BESCHREIBUNG DES STANDES DER TECHNIK
-
Im Allgemeinen sind bei Programmen zur Steuerung des Betriebs eines Roboters ein anweisungsbasiertes Verfahren für den Roboter, mit dem bewirkt wird, dass der Roboter einen beliebigen Arbeitsgang ausführt, und ein prozessbasiertes Verfahren an einem Punkt, wo der Roboter in Betrieb gesetzt wird, bekannt. Bei einem prozessbasierten Roboter an einem Punkt wird bewirkt, dass der Roboter einen beliebigen Prozess an einer vorherbestimmten Position, die als Punkt bezeichnet wird, ausführt.
-
Um beispielsweise zu bewirken, dass ein prozessbasierter Roboter an einem Punkt zwei Arten von Arbeiten ausführt, wie z. B. eine Arbeit des tastenden Einsetzens und eine Arbeit des abschließenden Festziehens an einem beliebigen Punkt, ist es notwendig, eine Arbeit des tastenden Einsetzens an die Arbeit an diesem Punkt festzulegen, und die Arbeit des abschließenden Festziehens an demselben Punkt festzulegen. Das heißt, es ist erforderlich, dieselben Koordinaten als unterschiedliche Punkte zu erkennen und die Arbeit des tastenden Einsetzens sowie die Arbeit des abschließenden Festziehens auf die jeweiligen Koordinaten festzulegen.
-
LISTE VON ENTGEGENHALTUNGEN
-
PATENTLITERATUR
-
- Patentdokument 1: JP 2007-193846 A
-
Wenn die Arbeit des tastenden Einsetzens sowie die Arbeit des abschließenden Festziehens an Positionen der Punkte 1 bis 8 ausgeführt werden, ist es bei derartigen Robotern, wie in 12 dargestellt, notwendig, die folgenden Details (a) bis (d) festzulegen.
- (a) Festlegen der jeweiligen X-, Y- und Z-Koordinaten der Punkte 1 bis 8, wo die Arbeit des tastenden Einsetzens ausgeführt wird.
- (b) Festlegen von „Arbeit des tastenden Einsetzens” als „Punktarbeit”, die an den Punkten 1 bis 8 ausgeführt wird.
- (c) Festlegen der jeweiligen X-, Y- und Z-Koordinaten der Punkte 1 bis 8, wo die Arbeit des tastenden Einsetzens ausgeführt wird, als Punkte 9 bis 16, wo die Arbeit des abschließenden Festziehens ausgeführt wird.
- (d) Festlegen von „Arbeit des abschließenden Festziehens” als „Punktarbeit”, die an den Punkten 9 bis 16 ausgeführt wird.
-
Wenn die vorstehend erläuterten Details (a) bis (d) festgelegt sind, wird es möglich, die „Arbeit des tastenden Einsetzens” und die „Arbeit des abschließenden Festziehens” an einem Zielwerkstück an den Punkten 1 bis 8 auszuführen.
-
Als Beispiel für das Festlegen einer Punktsequenz wird zunächst die „Arbeit des tastenden Einsetzens” an jedem Punkt festgelegt, und dann wird die „Arbeit des abschließenden Festziehens” an jedem Punkt festgelegt. Wie in 13 dargestellt, wird als Einstellung der „Arbeit des tastenden Einsetzens” eine Nummer „1” als „Punktarbeitsnummer” an den Punkten 1 bis 8 festgelegt. Die „Punktarbeitsnummer” ist eine Nummer, die die Arbeitsanweisungssequenz anzeigt, welche an dem Punkt ausgeführt wird, und auf die festgelegte Nummer wird Bezug genommen, um die von der Nummer angezeigte Arbeitsanweisungssequenz auszuführen. Was die Punkte 2 bis 8 betrifft, so wird in gleicher Weise die Nummer „1” als „Punktarbeitsnummer” festgelegt.
-
Dann werden die Punkte, die dieselben X-, Y- und Z-Koordinaten haben wie diejenigen der Punkte 1 bis 8, jeweils als die Punkte 9 bis 16 festgelegt, und die „Arbeit des abschließenden Festziehens” wird festgelegt. Als „Punktarbeitsnummer”, die an den Punkten 9 bis 16 ausgeführt wird, wird eine Nummer „2” festgelegt.
-
Wie vorstehend erläutert, ist es bei einem herkömmlichen Einlernen (Teachen) von punktbasierten Robotern schwierig, zwei Punktarbeiten an demselben Punkt festzulegen. Wenn daher zwei Arten von Arbeiten, nämlich die Arbeit des tastenden Einsetzens und die Arbeit des abschließenden Festziehens, an demselben Punkt festgelegt werden, ist es – wie vorstehend erläutert – erforderlich, einen Punkt, der von derselben Koordinate angezeigt wird, als unterschiedliche Punkte zu erkennen, und die Arbeit des tastenden Einsetzens und die Arbeit des abschließenden Festziehens an den jeweiligen Punkten festzulegen. Wie oben erläutert, werden die Punkte als unterschiedliche Punkte behandelt, obwohl es sich hierbei um die Arbeiten handelt, die an dem Punkt ausgeführt werden, der durch dieselbe Koordinate angezeigt wird. Daher müssen zum Zeitpunkt des Einlernens (Teachen) an beiden Punkten ähnliche Einstellungen vorgenommen werden, was aufwändig ist und oft zu Fehlern führt.
-
Wenn außerdem die beiden Arbeiten relevant sind und wenn beispielsweise unter Bezugnahme auf Daten, die als Ergebnis einer ersten Arbeit erhalten wurden (Arbeiten an den Punkten 1 bis 8), eine zweite Arbeit (Arbeiten an den Punkten 9 bis 16) ausgeführt wird, ist es zur Verknüpfung derartiger Daten notwendig, einige explizite Anweisungen zu geben. So wird beispielsweise, wie in 14 dargestellt, als erste Arbeit an einem gegebenen Punkt eine Arbeit der „Ausführung einer Arbeit des tastenden Einsetzens und beim Stoppen Eingabe eines Drehwinkels eines Schraubendrehers in eine Variable rot[tagNumber]” ausgeführt. Dann wird als zweite Arbeit eine Arbeit des „Auslesens des Drehwinkels aus rot[tagNumber] und Einstellen des Schraubendrehers auf diesen Winkel, bevor eine Arbeit des abschließenden Festziehens ausgeführt wird” ausgeführt. In diesem Fall ist es erforderlich, die Seite der zweiten Arbeit, die sich auf das Variablenarray rot[tagNumber] bezieht, darüber zu informieren, wo der Schraubendreher-Drehwinkel, der das Ergebnis der ersten Arbeit darstellt, in dem Variablenarray rot[tagNumber] gespeichert ist, und diesen Ort anzuzeigen. Eine derartige Arbeit ist jedoch aufwändig und führt häufig zu Fehlern.
-
Die vorliegende Erfindung wurde vorgeschlagen, um die vorgenannten Probleme der herkömmlichen Technologien anzugehen, und ermöglicht es, zwei Arbeiten, nämlich eine erste Arbeit und eine zweite Arbeit, als Arbeiten an einem Punkt festzulegen. Somit wird es möglich, einen Roboter und ein Robotersteuerungsverfahren zu schaffen, und ein Robotersteuerungsprogramm kann geschaffen werden, das das Einlernen (Teachen) vereinfacht und menschliche Fehler verhindern kann.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Um die vorgenannte Aufgabe zu erfüllen, wird gemäß einem Aspekt der vorliegenden Erfindung ein Roboter geschaffen, der ein Arbeitswerkzeug zu einem vorherbestimmten Punkt bewegt und einen an dem Punkt spezifizierten Prozess ausführt, wobei der Roboter aufweist: einen Punktpositionsspeicher, der eine Position des Punktes speichert; einen ersten Arbeitsanweisungssequenzspeicher, der eine erste Arbeitsanweisung speichert, die an dem Punkt ausgeführt wird; einen zweiten Arbeitsanweisungssequenzspeicher, der eine zweite Arbeitsanweisung speichert, die an dem Punkt ausgeführt wird; und einen Controller, der das Arbeitswerkzeug an eine Position bewegt, die in dem Punktpositionsspeicher gespeichert ist, und der bewirkt, dass das Arbeitswerkzeug die erste Arbeitsanweisung und die zweite Arbeitsanweisung ausführt.
-
Darüber hinaus sind auch ein Steuerungsverfahren für einen Roboter, der ein Arbeitswerkzeug zu Punkten bewegt, an denen mehrere Werkstücke platziert sind, und der an dem Punkt, an dem jedes Werkstück platziert ist, einen spezifizierten Prozess ausführt, sowie ein Steuerungsprogramm hierfür Aspekte der vorliegenden Erfindung.
-
KURZE BESCHREIBUNG DER ZEICHNUNG
-
1ist eine perspektivische Ansicht einer Gesamtstruktur eines Roboters gemäß einer ersten Ausführungsform der vorliegenden Erfindung;
-
2 ist ein Blockschaltbild einer Steuerungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung;
-
3 ist ein Blockdiagramm, das eine Struktur eines Punktsequenzspeichers gemäß der ersten Ausführungsform der vorliegenden Erfindung veranschaulicht;
-
4 ist ein Diagramm, das einen Arbeitsinhalt veranschaulicht, der in einem Arbeitsanweisungssequenzspeicher gemäß der ersten Ausführungsform der vorliegenden Erfindung gespeichert ist;
-
5 ist ein Diagramm, das eine Punktnummer veranschaulicht, die in dem Arbeitsanweisungssequenzspeicher gemäß der ersten Ausführungsform der vorliegenden Erfindung gespeichert ist;
-
6 ist ein Diagramm, das ein Beispiel für einen Weg der Speicherung durch den Punktsequenzspeicher gemäß der ersten Ausführungsform der vorliegenden Erfindung veranschaulicht;
-
7 ist ein Flussdiagramm, das einen Betrieb eines Roboters an mehreren Werkstücken gemäß der ersten Ausführungsform der vorliegenden Erfindung veranschaulicht;
-
8 ist ein Diagramm, das einen Arbeitsinhalt veranschaulicht, der in dem Arbeitsanweisungssequenzspeicher gespeichert ist, wenn auf einen Korrekturlevel einer Position Bezug genommen wird und ein Arbeitswerkzeug bewegt wird, gemäß der ersten Ausführungsform der vorliegenden Erfindung;
-
9 ist ein Diagramm, das einen Arbeitsinhalt veranschaulicht, der in dem Arbeitsanweisungssequenzspeicher gespeichert ist, wenn ein Rückkehrpunkt festgelegt wird, um nach Abschluss einer ersten Arbeit eine zweite Arbeit auszuführen, gemäß einer weiteren Ausführungsform der vorliegenden Erfindung;
-
10 ist ein Flussdiagramm, das einen Betrieb eines Roboters veranschaulicht, wenn ein Rückkehrpunkt festgelegt wird, um nach dem Abschluss der ersten Arbeit die zweite Arbeit auszuführen;
-
11 ist ein Diagramm, das ein Detail einer Einstellung veranschaulicht, wenn eine Punktart in dem Arbeitsanweisungssequenzspeicher definiert wird, gemäß einer weiteren Ausführungsform der vorliegenden Erfindung;
-
12 ist ein Diagramm, das eine Arbeit des Festziehens einer Schraube durch einen herkömmlichen Roboter veranschaulicht;
-
13 ist ein Diagramm, das eine Arbeitsanweisungssequenz eines herkömmlichen Roboters veranschaulicht; und
-
14 ist ein Diagramm, das eine Punktarbeitsanweisung eines herkömmlichen Roboters und eine diesbezüglich Arrayvariable veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Ein Roboter nach Ausführungsformen der vorliegenden Erfindung wird nachfolgend unter Bezugnahme auf die beiliegenden Zeichnungen ausführlich erläutert. Bei den Ausführungsformen wird auf doppelte Erläuterungen betreffend die Zeichnungen verzichtet.
-
[1. Ausführungsform]
-
1 ist ein Diagramm, das eine Gesamtstruktur eines Roboters gemäß dieser Ausführungsform veranschaulicht. Der Roboter nach dieser Ausführungsform weist hauptsächlich zwei Teile auf, wie in 1 dargestellt. Der eine Teil ist ein Controller 1 und der andere Teil ist eine Haupteinheit 2. Die Haupteinheit 2 weist ein X-Gleitstück 3 auf, das in X-Richtung beweglich ist, ein Y-Gleitstück 4, das auf einem Bereich angebracht ist, der in Y-Richtung beweglich ist, und ein Z-Gleitstück 5, das an einem Bereich befestigt ist, der in Z-Richtung beweglich ist. Ein (nicht dargestelltes) Arbeitswerkzeug ist an einem Bereich des Z-Gleitstücks 5 befestigt, der in Z-Richtung beweglich ist. Jedes Gleitstück wird durch einen Motor betätigt, und wenn der Motor gemäß einer Anweisung aus dem Controller 1 betätigt wird, kann das Arbeitswerkzeug in X-, Y- und Z-Richtung bewegt werden.
-
Wenn bei dem Roboter nach dieser Ausführungsform eine Arbeit des tastenden Einsetzens und eine Arbeit des abschließenden Festziehens an den Punkten 1 bis 8 ausgeführt werden, müssen die folgenden Details (a) und (b) festgelegt werden.
- (a) Festlegen der jeweiligen X-, Y- und Z-Koordinaten der Punkte 1 bis 8, wo die Arbeit des tastenden Einsetzens ausgeführt wird.
- (b) Festlegen von „Arbeit des tastenden Einsetzens” als erste Arbeit an den Punkten 1 bis 8 und von „Arbeit des abschließenden Festziehens” als zweite Arbeit.
-
Wenn die vorgenannten Details (a) und (b) festgelegt sind, können die „Arbeit des tastenden Einsetzens” und die „Arbeit des abschließenden Festziehens” an den Punkten 1 bis 8, wo ein Zielwerkstück platziert ist, ausgeführt werden.
-
Gemäß einer derartigen Robotersteuerung wird das Arbeitswerkzeug nach der Reihenfolge von Punkten bewegt, die durch Teachen festgelegt werden, und die erste Arbeit und die zweite Arbeit, die an jedem Punkt als Punktarten definiert sind, werden ausgeführt. Außerdem findet bei der Ausführung der zweiten Arbeit das Ergebnis der ersten Arbeit seinen Niederschlag.
-
[1-1. Aufbau]
-
Eine Steuervorrichtung 10 ist in den Controller 1 eingebaut. 2 ist ein Blockschaltbild der Steuervorrichtung 10. In 2 steuert ein Controller (CPU) 11, der hauptsächlich einen Mikrocomputer aufweist, den gesamten Roboter. Der Controller 11 führt gemäß einem Steuerungsprogramm, das in einem Robotersteuerungsprogrammspeicher 12 gespeichert ist, eine Eingabeoperation, eine Anzeige, eine Speicherung, eine Motorbetätigung und eine Signaleingabe und Signalausgabe aus. Der Roboter weist eine Betriebseinheit 13, eine Anzeige 14, einen Kurzzeitspeicher 15, einen Punktsequenzspeicher 16 und einen Arbeitsanweisungssequenzspeicher 17 auf. Der Kurzzeitspeicher 15 wird für einen derartigen Steuerungsvorgang verwendet.
-
Der Controller 11 gibt eine Anweisung an einen Motorantriebscontroller 21 aus, einen Motor 22 zu betätigen, wodurch verschiedene Vorgänge ausgeführt werden. Die Anzahl von Motorantriebscontrollern 21 und von Motoren 22 wird nach Bedarf in beliebiger Anzahl festgelegt. Der Motor 22 ist mit einem Arbeitswerkzeug verbunden, das durch die Antriebskraft aus dem Motor 22 eine Arbeit und einen Vorgang ausführt.
-
So wird beispielsweise im Fall eines Arbeitswerkzeugs zum Festziehen von Schrauben eine Steuerung durch vier Motoren durchgeführt, zu denen abgesehen von einem in Richtung der X-Achse beweglichen Motor, einem in Richtung der Y-Achse beweglichen Motor und einem in Richtung der Z-Achse beweglichen Motor, die das Arbeitswerkzeug zum Festziehen von Schrauben an einen vorherbestimmten Punkt bewegen, auch ein Schraubeneindrehmotor zählt, um das Werkzeug zum Festziehen von Schrauben in Drehung zu versetzen. Darüber hinaus gibt der Controller 11 eine Anweisung an eine Signaleingabe-/ausgabeeinheit 23 aus, ein Signal von außen einzugeben oder ein Signal nach außen auszugeben. Die Signaleingabe von außen spiegelt sich in einer Steuerung für den Roboter wider, und basierend auf einem nach außen ausgegebenen Signal wird eine externe Vorrichtung gesteuert.
-
Die Betriebseinheit 13 weist eine Eingabevorrichtung wie z. B. eine Tastatur und eine Hardwareressource und eine Softwareressource zum Einlernen (Teachen) auf, und gibt ein Programm sowie Daten des Roboters ein. Darüber hinaus weist die Anzeige 14 eine LCD-Anzeigevorrichtung auf und zeigt einen Sollwert und eine Eingabebedingung durch die Betriebseinheit 13 an.
-
Der Kurzzeitspeicher 15 ist ein sogenannter Speicher und speichert vorübergehend die erforderliche Information, wenn der Controller 11 eine Steuerungsanweisung ausgibt.
-
Der Punktsequenzspeicher 16 speichert einen Punkt, an den das Arbeitswerkzeug bewegt wird, wobei die erste Arbeit und die zweite Arbeit an diesem Punkt ausgeführt werden. Darüber hinaus weist der Punktsequenzspeicher 16 einen Speicherbereich auf, der ein Ergebnis der ersten Arbeit an diesem Punkt vorübergehend speichert. Wie in 3 dargestellt, weist der Punktsequenzspeicher 16 einen Punktnummernspeicher 16a, einen Punktkoordinatenspeicher 16b, einen ersten Arbeitsanweisungssequenzspeicher 16c, einen zweiten Arbeitsanweisungssequenzspeicher 16d und einen Punktvariablenspeicher 16e auf.
-
Der Punktnummernspeicher 16a speichert eine Punktnummer, die dem Punkt gegeben wird, an dem der Roboter eine Arbeit ausführt. Bei einem punktbasierten Roboter wird in Übereinstimmung mit einem Inhalt des in dem Punktsequenzspeicher 16 festgelegten Einlernens das Arbeitswerkzeug gesteuert. Die Punktnummer wird dem Punkt gegeben, an dem das Arbeitswerkzeug gesteuert wird, und der Roboter führt die Anweisung in der Reihenfolge einer kleineren Punktnummer aus. Der Punktkoordinatenspeicher 16b speichert X-, Y- und Z-Koordinaten des Punktes, an dem der Roboter eine Punktarbeit ausführt. Der Punktkoordinatenspeicher 16b entspricht einem Punktpositionsspeicher.
-
Der erste Arbeitsanweisungssequenzspeicher 16c speichert eine Arbeitsanweisungssequenz, um an dem Punkt die erste Arbeit auszuführen. Der zweite Arbeitsanweisungssequenzspeicher 16d speichert eine Arbeitsanweisungssequenz, um an dem Punkt die zweite Arbeit auszuführen. Die Arbeitsanweisungssequenzen, die in den ersten und zweiten Arbeitsanweisungssequenzspeichern 16c, 16d gespeichert sind, werden als eine Nummer gespeichert, die das Detail der Arbeitsanweisungssequenz anzeigt. Der Punktvariablenspeicher 16e speichert als eine Variable an dem Punkt eine Variable, die nach der Ausführung der ersten Arbeit erhalten wurde. Wenn die zweite Arbeit an diesem Punkt ausgeführt wird, wird diese Variable ausgelesen und schlägt sich in der zweiten Arbeit nieder.
-
Der Arbeitsanweisungssequenzspeicher 17 speichert eine Arbeitsanweisungssequenz, mit der bewirkt wird, dass das Arbeitswerkzeug eine Arbeit ausführt. Was die Arbeitsanweisungssequenz betrifft, so wird eine Nummer, die diese Arbeitsanweisungssequenz anzeigt, als Punktarbeitsnummer gespeichert. Die Arbeitsanweisung ist eine Anweisung, die dem Roboter die Ausführung eines Arbeitsvorgangs befiehlt, und weist Anweisungen für verschiedene Arbeiten auf, wie z. B. das Festziehen einer Schraube, Anstreichen bzw. Lackieren, und Löten. Was die Arbeitsanweisung betrifft, so werden Arbeitsanweisungen, die mit mannigfaltigen zeitlichen Abstimmungen ausgeführt werden, also beispielsweise bevor das Arbeitswerkzeug sich an einen Punkt bewegt, während das Arbeitswerkzeug sich zu dem Punkt bewegt, und nachdem das Arbeitswerkzeug den Punkt erreicht hat, festgelegt und gespeichert. 4 ist ein Diagramm, das ein Beispiel für eine Arbeitsanweisungssequenz veranschaulicht, die in dem Arbeitsanweisungssequenzspeicher 17 gespeichert ist. Die Arbeitsanweisungssequenz in 4 wird in Verbindung mit der Punktarbeitsnummer gespeichert.
-
Wie in 4 dargestellt, wird eine Arbeitsanweisungssequenz der „Ausführung einer Arbeit des tastenden Einsetzens und, beim Stoppen, Eingabe eines Drehwinkels eines Schraubendrehers in eine Variable pointVar” gespeichert. Als Punktarbeitsnummer, die dieser Arbeitsanweisungssequenz entspricht, wird „1” festgelegt. Das heißt, wenn vor dem Einlernen (Teachen) eine Punktnummer zur Ausführung der ersten Arbeit und der zweiten Arbeit als „1” festgelegt wird, führt der Roboter eine Operation der „Ausführung der Arbeit des tastenden Einsetzens, und, beim Stoppen, Eingabe des Drehwinkels des Schraubendrehers in die Variable pointVar” aus.
-
In ähnlicher Weise wird eine Arbeitsanweisungssequenz des „Auslesens des Drehwinkels aus pointVar, und Einstellen des Schraubendrehers auf diesen Winkel vor dem Beginn eines abschließenden Festziehens” gespeichert. Als Punktarbeitsnummer für diese Arbeitsanweisungssequenz wird „2” zugeordnet.
-
Als Punktarbeitsnummer „3” wird eine Arbeitsanweisungssequenz der „Berechnung eines Werkstückkorrekturlevels durch eine Kamera, und Speichern einer Werkstückkorrekturlevelvariablen an diesem Punkt in workAdjVar” in Verbindung mit der Nummer gespeichert. Als Punktarbeitsnummer „4” wird eine Arbeitsanweisungssequenz des „Auslesens einer Werkstückkorrekturlevelvariablen aus workAdjVar bei einer Bewegung zu einer Position, an der die zweite Arbeit ausgeführt wird, und Bewegung in Übereinstimmung mit dem Korrekturlevel” in Verbindung mit der Nummer gespeichert.
-
Die in dem Arbeitsanweisungssequenzspeicher 17 gespeicherte Arbeitsanweisungssequenz kann das Detail der in Verbindung mit der Punktnummer gespeicherten Arbeit aufweisen, und die Anweisungssequenz kann als Befehl gespeichert werden. Das heißt, wie in 5 dargestellt, kann eine Arbeitsanweisungssequenz, die der Punktarbeitsnummer „3” entspricht, als Befehl „cameraWadj” gespeichert werden.
-
[1-2. Betrieb]
-
Gemäß dieser Ausführungsform werden als Teaching an jedem Punkt zwei Arbeiten, nämlich die erste Arbeit und die zweite Arbeit, festgelegt. Daher wird in Übereinstimmung mit der Anordnung der Punkte zunächst die erste Arbeit ausgeführt, und dann wird die zweite Arbeit ausgeführt. Darüber hinaus werden Ergebnisdaten der ersten Arbeit als Daten an dem Punkt gespeichert, und die zweite Arbeit wird unter Bezugnahme auf die in diesem Punkt gespeicherten Daten ausgeführt.
-
Wenn ein Arbeitsprozess ausgeführt wird, wobei eine Korrektur an mehreren Werkstücken erfolgt, die an den Positionen der Punkte 1 bis 8 platziert sind, ist es bei dem Roboter nach dieser Ausführungsform notwendig, die folgenden Details (a) und (b) in dem Punktsequenzspeicher 16 festzulegen, wie in 6 dargestellt.
- (a) Festlegen der jeweiligen X-, Y- und Z-Koordinaten der Punkte 1 bis 8, wo die „Arbeit des tastenden Einsetzens” und die „Arbeit des abschließenden Festziehens” ausgeführt werden.
- (b) Festlegen der „Arbeit des tastenden Einsetzens” als erste „Punktarbeit” und der „Arbeit des abschließenden Festziehens” als zweite „Punktarbeit” in den Punkten 1 bis 8.
-
Wenn die vorgenannten Details (a) und (b) festgelegt sind, können die „Arbeit des tastenden Einsetzens” und die „Arbeit des abschließenden Festziehens” an den Punkten 1 bis 8, wo die Zielwerkstücke platziert sind, ausgeführt werden.
-
Wenn, wie in 6 dargestellt, die beiden Punktarbeiten an den Punktnummern 1 bis 8 ausgeführt werden, werden zuerst jeweilige X-, Y- und Z-Koordinaten der Punktnummern 1 bis 8 festgelegt. In 6 ist der Ort des Werkstücks, das an der Punktnummer 1 platziert ist, als (100, 100, 30) in den (X-, Y-, Z-)Koordinaten angegeben, der Ort des Werkstücks, das an der Punktnummer 2 platziert ist, ist als (100, 110, 30) in den (X-, Y-, Z-)Koordinaten angegeben, und der Ort des Werkstücks, das an der Punktnummer 8 platziert ist, ist als (100, 130, 30) in den (X-, Y-, Z-)Koordinaten angegeben. Eine derartige Einstellung wird für die Orte der Werkstücke, die an den Punkten 1 bis 8 platziert sind, vorgenommen.
-
Dann wird eine Arbeitsanweisungssequenz zur Ausführung der ersten Arbeit an den Punkten 1 bis 8 mit der Punktarbeitsnummer festgelegt. In 6 wird als Punktarbeitsnummer der ersten Arbeit, die an dem Punkt 1 ausgeführt wird, „1” festgelegt. Die Arbeitsanweisungssequenz, die durch die Punktarbeitsnummer „1” angezeigt wird, soll den Roboter veranlassen, eine Arbeit der „Ausführung einer Operation des tastenden Einsetzens, und, beim Stoppen, Eingabe des Drehwinkels des Schraubendrehers in die Variable pointVer” auszuführen. Die Variable pointVer ist eine Variable, die in dem Speicher für jeden Punkt gespeichert ist. Somit wird die Variable, die nach Ausführung der durch die Punktarbeitsnummer angezeigten Arbeitsanweisungssequenz erhalten wird, als Datenwert an dem Punkt gespeichert. In gleicher Weise wird „1” als Punktarbeitsnummer der ersten Arbeit an den Punkten 2 bis 8 festgelegt.
-
Dann wird die Arbeitsanweisungssequenz zur Ausführung der zweiten Arbeit an den Punkten 1 bis 8 mit der Punktarbeitsnummer festgelegt. In 6 ist „2” als Punktarbeitsnummer der zweiten Arbeit, die an dem Punkt 1 ausgeführt wird, festgelegt. Die Arbeitsanweisungssequenz, die durch die Punktarbeitsnummer „2” angezeigt wird, soll den Roboter veranlassen, eine Arbeit des „Auslesens des Drehwinkels aus pointVer, und Einstellen des Schraubendrehers auf diesen Winkel vor dem Beginn eines abschließenden Festziehens” auszuführen. Wie vorstehend erläutert, ist die Variable pointVer eine Variable, die in dem Speicher für jeden Punkt gespeichert ist. Somit ist es nicht notwendig, in der Arbeitsanweisungssequenz, die durch die Punktarbeitsnummer „2” angezeigt wird, zu spezifizieren, wo die Variable pointVer gespeichert ist.
-
In der nachfolgenden Erläuterung wird ein Steuerungsablauf für den Roboter in Übereinstimmung mit dem in dem Punktsequenzspeicher gespeicherten Detail gemäß der Darstellung in 6 erklärt. Wie in 7 dargestellt, bewegt zuerst der Roboter (SCHRITT 01) das Arbeitswerkzeug zu der Koordinate, die mit der Punktnummer 1 festgelegt ist. Dann bewirkt der Roboter, dass das Arbeitswerkzeug in Übereinstimmung mit der Arbeitsanweisungssequenz, die durch die an dem Punkt 1 festgelegte Punktarbeitsnummer angezeigt wird, die erste Arbeit ausführt (SCHRITT 02).
-
Nach der ersten Arbeit an dem Punkt 1 wird bestimmt (SCHRITT 3), ob der Punkt 1 ein endgültiger Punkt der Arbeit ist oder nicht. Wenn der Punkt 1 nicht der endgültige Punkt der Arbeit ist (SCHRITT 03: NEIN), so schreitet der Prozess um einen Punkt voran (SCHRITT 04). Dann wird das Arbeitswerkzeug zu der Koordinate bewegt, die an dem Punkt 2 festgelegt ist, und es wird bewirkt, dass das Arbeitswerkzeug die erste Arbeit in Übereinstimmung mit der Arbeitsanweisungssequenz, die durch die an dem Punkt 2 festgelegte Punktarbeitsnummer angezeigt wird, ausführt. Dieser Prozess wird wiederholt, bis der Punkt, an dem bewirkt wird, dass das Arbeitswerkzeug die erste Arbeit ausführt, zum endgültigen Punkt wird.
-
Wenn der Punkt, an dem die erste Arbeit ausgeführt wird, der endgültige Punkt ist (SCHRITT 03: JA), wird dann, wie bei dem Punkt 8 in 6, der Punkt, an dem die zweite Arbeit ausgeführt wird, als Header-Punkt festgelegt. Das heißt, nachdem die erste Arbeit an dem Punkt 8 ausgeführt ist, wird der Punkt, an dem die zweite Arbeit ausgeführt wird, als Punkt 1 festgelegt (SCHRITT 05).
-
Dann wird das Arbeitswerkzeug in Übereinstimmung mit der Koordinate, die an dem Punkt 1 festgelegt ist, bewegt, und es wird bewirkt, dass das Arbeitswerkzeug die zweite Arbeit in Übereinstimmung mit der Arbeitsanweisungssequenz, die durch die an dem Punkt 1 festgelegte Punktarbeitsnummer angezeigt wird, ausführt. Dieser Prozess wird wiederholt, bis der Punkt, an dem die zweite Arbeit durch das Arbeitswerkzeug ausgeführt wird, zum endgültigen Punkt wird (SCHRITTE 06 bis 09).
-
Dann wird, wie bei dem Punkt 8 in 6, eine Robotersteuerung abgeschlossen, wenn der Punkt, an dem die zweite Arbeit ausgeführt wird, zum endgültigen Punkt wird (SCHRITT 08: JA).
-
[1-3. Vorteilhafte Wirkungen]
-
Gemäß einem Einlernen (Teachen) des Roboters nach dieser Ausführungsform können, wie vorstehend erläutert, als Teachen an einem gegebenen Punkt zwei Arbeiten, nämlich die erste Arbeit und die zweite Arbeit, festgelegt werden. Somit wird gemäß dem Roboter dieser Ausführungsform basierend auf einem Einlernen an einem Punkt die erste Arbeit ausgeführt, und dann wird die zweite Arbeit ausgeführt. Damit kann die Anzahl der Schritte des Einlernens reduziert werden, was das Einlernen vereinfacht. Menschliche Fehler, wie eine fehlerhafte Eingabe, können damit verhindert werden.
-
Darüber hinaus wird gemäß dieser Ausführungsform der Variablenspeicher geschaffen, welcher eine Variable speichert, die nach der Ausführung der ersten Arbeitsanweisung erzielt wird, und wenn die zweite Arbeit ausgeführt wird, wird eine Anweisung, die die Variable widerspiegelt, ausgeführt. Wenn also die zweite Arbeitsanweisung basierend auf dem Ergebnis der ersten Arbeit ausgeführt wird, ist es nicht erforderlich, einen Speicherbereich festzulegen, aus dem das Ergebnis der ersten Arbeit ausgelesen wird. Daher kann das Einlernen vereinfacht werden.
-
Darüber hinaus wird gemäß dieser Ausführungsform ein Datenwert, der einen Korrekturlevel einer Position anzeigt, als die Variable festgelegt, und bei der Ausführung der zweiten Arbeit wird der Korrekturlevel dieser Position ausgelesen, um das Arbeitswerkzeug zu bewegen. Wie in 8 dargestellt, wird als Punktarbeitsnummer, die die erste Arbeit anzeigt, „3” festgelegt, und als Punktarbeitsnummer, die die zweite Arbeit anzeigt, wird „4” festgelegt.
-
Die Arbeitsanweisungssequenz, die durch die Punktarbeitsnummer „3” angezeigt wird, bewirkt, dass der Roboter eine Arbeit der „Berechnung eines Werkstückkorrekturlevels durch eine Kamera, und Speichern der Werkstückkorrekturlevelvariablen an diesem Punkt in workAdjVar” ausführt. Die Variable workAdjVar ist eine Variable, die für jeden Punkt in einem Speicher gespeichert ist, und wird als Korrekturlevel an jedem Punkt gespeichert. Der tatsächliche Werkstückkorrekturlevel ist nicht nur ein einziger numerischer Wert, sondern eine Kombination aus mehreren numerischen Werten, wie z. B. eine Drehung, eine Parallelbewegung (X-Richtung) und eine Parallelbewegung (Y-Richtung). Diese Kombination wird als die Variable workAdjVar gespeichert.
-
Die durch die Punktarbeitsnummer „4” angezeigte Arbeitsanweisungssequenz bewirkt, dass der Roboter eine Arbeit des „Auslesens der Werkstückkorrekturlevelvariablen aus workAdjVar bei einer Bewegung zu der Position, an der die zweite Arbeit ausgeführt wird, und Bewegung in Übereinstimmung mit dem Korrekturlevel” ausführt. Diese Korrekturbewegung wird nicht auf der Basis der Arbeitsanweisungssequenz durchgeführt, die mit einer Punktnummer festgelegt wird, sondern kann durch ein Steuerungsprogramm durchgeführt werden, das in dem Robotersteuerungsprogrammspeicher 12 gespeichert ist. Wenn die zweite Arbeit ausgeführt wird, kann das Arbeitswerkzeug bewegt werden, nachdem die Koordinaten des Ziels in einen Korrekturlevel umgewandelt wurden. In diesem Fall wird die Variable workAdjVar in einem Speicher für jeden Punkt gespeichert. Wenn also die zweite Arbeit an einem gegebenen Punkt ausgeführt wird, ist es ausreichend, wenn die für diesen Punkt gespeicherte Variable workAdjVar verwendet wird, und eine explizite Anzeige ist nicht erforderlich. Somit wird das Einlernen der Betätigung des Arbeitswerkzeugs in Übereinstimmung mit dem Positionskorrekturlevel vereinfacht.
-
[2. Andere Ausführungsformen]
-
Vorstehend wurde die Ausführungsform der vorliegenden Erfindung erläutert, doch es ist möglich, verschiedene Passagen auszulassen, zu ersetzen oder zu modifizieren, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Derartige Ausführungsformen und modifizierte Beispiele derselben sollten im Umfang der vorliegenden Erfindung liegen, und auch im Rahmen des in den beigefügten Ansprüchen vorgetragenen Gegenstands und des äquivalenten Umfangs derselben.
- (a) So sind beispielsweise in der dargestellten Ausführungsform die erste Arbeitsanweisung und die zweite Arbeitsanweisung als Befehle definiert, die eine Punktnummer und eine Anweisungssequenz darstellen, doch es ist auch möglich, eine Anweisung zu spezifizieren, indem direkt ein Statement zur Ausführung dieser Anweisungen eingegeben wird.
- (b) Der Punktsequenzspeicher 16 kann nach Maßgabe eines zu speichernden Inhalts eine Kombination aus einem flüchtigen Speicher und einem nicht flüchtigen Speicher sein. Das heißt, die Punktnummer und die Punktkoordinaten werden in einem nicht flüchtigen Speicher gespeichert, der selbst dann keine Daten löscht, wenn die Energiezufuhr abgeschaltet ist, und die Variablen, wie z. B. die Variable pointVer und die Werkstückkorrekturlevelvariable workAdjVar, werden in einem flüchtigen Speicher gespeichert, der bei Abschalten der Energiezufuhr Daten löscht. Der Punktsequenzspeicher kann eine Kombination aus zwei unterschiedlichen Arten von Speichern sein, wie vorstehend erläutert. Gemäß dieser Struktur wird es möglich, im Hinblick auf die Daten-Schreibgeschwindigkeit oder die Daten-Auslesegeschwindigkeit und im Hinblick darauf, ob es notwendig ist, beim Abschalten der Energiezufuhr Daten zu sichern oder nicht, einen physikalischen Speicherbereich des Punktsequenzspeichers festzulegen.
- (c) Gemäß dieser Ausführungsform wird davon ausgegangen, dass die erste und die zweite Arbeit ausgeführt wird, doch die Anzahl der Arbeitsanweisungen ist nicht auf zwei begrenzt; so kann beispielsweise ein dritter Arbeitsanweisungssequenzspeicher vorgesehen sein, der eine dritte Arbeitsanweisung speichert, und es können an einem Punkt größer oder gleich drei Anweisungen ausgeführt werden.
- (d) Als ein Einlernen des Roboters kann, wie in 9 dargestellt, ein Rückkehrpunkt zur Ausführung der zweiten Arbeit nach dem Abschluss der ersten Arbeit festgelegt werden. Wenn also eine Arbeit an mehreren Punkten ausgeführt wird, wird es möglich, zwei Arbeiten an einem beliebigen Punkt festzulegen. In diesem Fall wird, wie in 10 dargestellt, anstelle von SCHRITT 03 in dem Flussdiagramm nach 7 bestimmt, ob die erste Arbeit abgeschlossen ist oder nicht, und es wird auch bestimmt, ob eine Bewegung zum nächsten Punkt erfolgt, oder ob nach Maßgabe der vorherigen Bestimmung eine Bewegung zum Rückkehrpunkt erfolgt.
- (e) Darüber hinaus kann als ein Einlernen des Roboters eine Anweisung zum Umschalten der Arbeit zwischen der ersten Arbeit und der zweiten Arbeit vorgesehen sein, und basierend auf einer derartigen Anweisung kann eine explizite Umschaltarbeit und eine Punktrückkehr ausgeführt werden. Somit wird es möglich, ein beliebiges Muster zu bewältigen.
- (f) Als ein Einlernen des Roboters findet die Definition der Punktart Anwendung, wie in 11 dargestellt. Das heißt, bei der Definition der Punktart können zwei Arbeiten, nämlich die erste Arbeit und die zweite Arbeit, definiert werden. Bei der Definition der Punktart können zusätzlich zu einer Arbeit an einem Punkt eine Arbeit vor der Bewegung und eine Arbeit während der Bewegung festgelegt werden. Bei der Definition der Punktart werden die beiden Arbeiten, nämlich die erste Arbeit und die zweite Arbeit, in den Arbeiten vor der Bewegung und während der Bewegung definiert.
-
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
-