-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
-
Diese Anmeldung basiert auf und beansprucht den Nutzen der Priorität der
Japanischen Patentanmeldung Nr. 2015-120201 , eingereicht am 15. Juni 2015, deren gesamte Inhalte hier unter Bezugnahme inkorporiert seien.
-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich auf ein Programm, das einen Roboter steuert.
-
HINTERGRUND
-
Verschiedene Industrieroboter werden populär. Roboter werden zum Schrauben-Festziehen, Schweißen und Lackieren an einem Werkstück, Transport des Werkstücks, Anbringen eines Teils am Werkstück und Löten etc. eingesetzt. Solche Roboter beinhalten beispielsweise eine vertikale Mehrverbindungstyp-Bewegungseinheit und ein Werkzeug ist an der Bewegungseinheit angebracht. Ein Computer, der ein Programm ausführt, steuert die Bewegungseinheit und das Werkzeug. Unter der Steuerung des Computers wird das Werkzeug zu einem vorbestimmten Punkt bewegt und betätigt.
-
Das Programm kann in einer Punkt-basierten Robotersprache beschrieben sein. Dieses Programm beinhaltet Punktaussagen, die in Abfolge angeordnet sind, und jede Punktaussage gilt für einen Punkt. Die Punktaussage hält eine Punktnummer, die ein Kopf ist, Punktart-Information und Punktkoordinaten-Information. Die Punktart-Information ist ein sogenannter Funktionsidentifizierer und identifiziert eine Anweisungssequenz, die Arbeitsdetails zu einem Punkt, und ein Bewegungsverfahren dahin definiert.
-
Der Roboter steuert die Bewegungseinheit und das Arbeitswerkzeug gemäß der durch die Punktart-Information identifizierten Anweisungssequenz, bewegt das Arbeitswerkzeug zu einem durch die Koordinateninformation angegebenen Punkt und führt eine Arbeit am Punkt durch. Parameter, die Operationsgrößen, wie etwa verschiedene Distanzen, verschiedene Winkel, und verschiedene andere Größen angeben, sind für die Bewegung zu einem Punkt und für die Arbeit an diesem Punkt notwendig. Beispielsweise wird eine Mehrzahl von Punkten für ein Werkstück eingestellt. Jeder Punkt ist eine Schraubenbefestigungsposition. Ein Arbeitswerkzeug, das ein elektrischer Schraubendreher ist, wird zuerst oberhalb jedes Punkts positioniert. Zweitens bewegt sich das Arbeitswerkzeug zum Punkt, während eine Schraube gedreht wird. Ein Abwärtsbewegungsbetrag ist äquivalent zu einer Schraubenlänge. Dieser Abwärtsbewegungsbetrag wird durch einen Parameter angegeben, welcher durch die Schraubenlänge spezifiziert ist.
-
Es gilt nicht immer, dass an dem Punkt zu befestigende Schrauben vom selben Typ sind. Es können Schrauben, die für jeden Punkt eine unterschiedliche Schraubenlänge aufweisen, befestigt werden. Schrauben können beispielsweise in eine an einem Punkt einmalige Schraube, eine Schraube die erheblich für dasselbe Werkstück verwendet wird, und eine Schraube, die erheblich und unabhängig vom Werkstück verwendet wird, klassifiziert werden. Da der Abwärtsbewegungsbetrag des Arbeitswerkzeugs zum Punkt hin abhängig von der Schraubenlänge variiert, kann jedes Mal deklariert eine Variable werden, wenn die Punktaussage deklariert wird, und kann ein angemessener Parameter in diese Variable eingesetzt werden. Diesem Schema entsprechend ist es eine jedoch zeitaufwändige Arbeit, die Variable jedes Mal, wenn die Punktaussage ausgeführt wird, zu initialisieren.
-
Daher verbessert sich, wenn entsprechende Systemvariablen, die mit Speicherbereichen verlinkt sind, die verschiedene Schraubenlängen speichern, vorab vorbereitet werden, die Anwenderfreundlichkeit. Wenn beispielsweise eine einmalige Schraube an einem Punkt zu befestigen ist, wird vorher eine Systemvariable, die „CondScrewL” ist, entsprechend einer solchen Schraubenlänge eingerichtet. Wenn eine Schraube, die im selben Werkstück stark eingesetzt wird, zu befestigen ist, wird vorher eine Variable, die „ProgScrewL” ist, entsprechend einer solchen Schraubenlänge eingerichtet. Wenn eine Schraube, die unabhängig vom Werkstück stark verwendet wird, zu befestigen ist, wird eine Systemvariable, die „CommongScrewL” ist, einer solchen Schraubenlänge entsprechend eingerichtet. Als Nächstes wird die Systemvariable, die „CondScrewL”, „ProgScrewL”, oder „CommongScrewL” ist, auf eine Anweisungssequenz angewendet, die ein Bewegungsverfahren und Arbeitsdetails definiert.
-
Die Anweisungssequenz, auf welche die Systemvariable „CondScrewL” angewendet wird, die Anweisungssequenz, auf welche die Systemvariable „ProgScrewL” angewendet wird und die Anweisungssequenz, auf welche die Systemvariable „CommongScrewL” angewendet wird, weisen die gemeinsame Operation auf, nämlich, eine Schraube zu befestigen. Daher sind in der Anweisungssequenz andere Codes als die Systemvariable im Wesentlichen konsistent.
-
Da jedoch die Systemvariable anders ist, ist die Anweisungssequenz selbst anders. Vom Standpunkt eines Programmierers aus, der eine durch die Punktart-Information identifizierte Anweisungssequenz erzeugt, ist es eine zeitraubende Arbeit, individuell eine Mehrzahl von Anweisungssequenzen zu erzeugen, die nur eine Differenz aufweisen, welche die Systemvariable ist. Zusätzlich führt eine solche zeitaufwendige Arbeit zu einem Anstieg bei den Kosten des Roboters.
-
Die vorliegende Erfindung ist vorgeschlagen worden, um die obigen technischen Probleme konventioneller Technologien anzugehen und es ist eine Aufgabenstellung, einen Roboter bereitzustellen, der eine Substituierung einer Mehrzahl von Parameterkandidaten in einem Punkt durch eine Einzelart-Anweisungssequenz in Entsprechung zu dem Punkt ermöglicht.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Um die obige Aufgabenstellung zu erzielen, beinhaltet ein Roboter gemäß einem Aspekt der vorliegenden Erfindung:
ein Arbeitswerkzeug, das eine Bearbeitung an einer Mehrzahl von Punkten auf einem Werkstück ausführt;
eine Bewegungseinheit, die das Arbeitswerkzeug zu dem Punkt bewegt; und
eine Steuerung, die das Arbeitswerkszeug und die Bewegungseinheit gemäß einem Programm steuert,
wobei: die Steuerung beinhaltet:
einen ersten Speicher, der ein erstes Programm speichert, wobei das erste Programm Aussagen enthält, die in Abfolge angeordnet sind, für jeden der Punkte, wobei die Aussage Artinformation enthält, die Steuerdetails durch die Steuerung angibt und Koordinateninformation zu dem Punkt;
einen zweiten Speicher, der ein zweites Programm speichert, das durch die Artinformation identifiziert ist, beinhaltend eine Anweisungsabfolge, die eine Variable enthält und die Steuerdetails definiert;
einen dritten Speicher, der eine Mehrzahl von Parametern speichert, wobei der Parameter ein Einsetzungskandidat für eine einzelne Art der Variable ist;
eine Bestimmungseinheit, die den in die einzelne Art von Variable einzusetzenden Parameter für jede der Aussagen bestimmt; und
eine Änderungseinheit, die wieder einen von Speicherbereichen, wo die Parameter gespeichert sind, mit der Variable für jede der Aussagen in Übereinstimmung mit einem vorbestimmten Ergebnis durch die Bestimmungseinheit verknüpft.
-
Arbeitsdetails für die Mehrzahl von Punkten können konsistent sein, außer dem Parameter;
jede der Aussagen kann dieselbe Artinformation enthalten; und
die Steuerung kann sich auf dasselbe zweite Programm beziehen, wenn jede der Aussagen ausgeführt wird.
-
Der Roboter kann weiter ein Programmierwerkzeug enthalten, welches das erste Programm in Übereinstimmung mit einer Anwendermanipulation erzeugt und editiert, wobei:
das Programmierwerkzeug in der Lage sein kann, die Aussage mit Identifikationsinformation über den Parameter entsprechend der Anwendermanipulation zu assoziieren;
die Bestimmungseinheit bestimmen kann, ob es die assoziierte Identifikationsinformation gibt oder nicht; und
die Änderungseinheit den Speicherbereich für den durch die Identifikationsinformation angegebenen Parameter mit der Variablen verknüpfen kann, wenn es die assoziierte Identifikationsinformation gibt.
-
Die Änderungseinheit kann den Speicherbereich für den Parameter, der angewendet wird, wenn es keine Identifikationsinformation gibt, mit der Variablen verknüpfen.
-
Einer der Mehrzahl von Parametern, die angewendet werden, wenn es nicht die Identifikationsinformation gibt, kann mit einem, eine Anwendbarkeit anzeigenden Flag assoziiert sein;
die Bestimmungseinheit kann bestimmen, ob es nicht die Identifikationsinformation gibt, und das Flag gibt eine Anwendbarkeit an; und
die Änderungseinheit kann den Speicherbereich für den Parameter, der angewendet wird, wenn es keine Identifikationsinformation gibt, und das Flag die Anwendbarkeit angibt, mit der Variablen verknüpfen.
-
Die Bestimmungseinheit kann bestimmen, ob es nicht die Identifikationsinformation gibt und das Flag eine Nicht-Anwendbarkeit anzeigt; und
die Änderungseinheit kann den Speicherbereich für den Parameter, der angewendet wird, wenn es die Identifikationsinformation nicht gibt und das Flag die Nicht-Anwendbarkeit anzeigt, mit der Variablen verknüpfen.
-
Das Arbeitswerkzeug kann ein elektrischer Schraubendreher sein, der eine Schraube mit einer anderen Schraubenlänge für jeden der Punkte befestigt; und
die Variable kann in der Instruktionssequenz auf solche Weise enthalten sein, dass die Schraubenlänge in die Variable eingesetzt wird.
-
Gemäß der vorliegenden Erfindung, da der in die Variable einzusetzende Parameter aus der Mehrzahl von Kandidaten bestimmbar ist, ist eine Arbeit an jedem Punkt durch die gemeinsame Anweisungssequenz ausführbar, selbst wenn es verschiedene Parameter gibt, die einem Programmierer ermöglichen, die Instruktionsanweisung zu erzeugen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein beispielhaftes Diagramm, das eine Gesamtstruktur eines Roboters illustriert;
-
2 ist ein Blockdiagramm, das eine Struktur einer Steuerung illustriert;
-
3 ist ein beispielhaftes Programm, das einen Beispielbetrieb eines Roboters zeigt;
-
4 ist ein beispielhaftes Diagramm, welches eine Gesamtstruktur eines Hauptprogramms illustriert;
-
5 ist ein beispielhaftes Diagramm, das eine Gesamtstruktur eines Parameters illustriert;
-
6 ist ein beispielhaftes Diagramm, das eine Gesamtstruktur eines Unterprogramms illustriert;
-
7 ist ein Flussdiagramm, das einen Ausführungsbetrieb von Programmen durch die Steuerung illustriert;
-
8 ist ein Blockdiagramm, das eine Funktion der Steuerung illustriert;
-
9 ist ein beispielhaftes Diagramm, das einen Übergang im Parameter-Einstellbildschirm durch ein Programmierwerkzeug illustriert;
-
10 ist ein beispielhaftes Diagramm, das eine erste Beispielausführung einer Punktaussage illustriert;
-
11 ist ein beispielhaftes Diagramm, das eine zweite Beispielausführung einer Punktaussage illustriert;
-
12 ist ein beispielhaftes Diagramm, das eine dritte Beispielausführung einer Punktaussage illustriert; und
-
13 ist ein beispielhaftes Diagramm, das eine vierte Beispielausführung einer Punktaussage illustriert.
-
KURZE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Roboterstruktur
-
Ein Roboter gemäß einer Ausführungsform der vorliegenden Erfindung wird unten im Detail unter Bezugnahme auf die beigefügten Zeichnungen erläutert. Wie in 1 illustriert, beinhaltet ein Roboter 1 eine Bewegungseinheit 2 und eine Steuereinheit 3a. Ein Arbeitswerkzeug 4 ist an der Bewegungseinheit 2 angebracht. Der Roboter 1 positioniert das Arbeitswerkzeug 4 durch die Bewegungseinheit 2 an einer gewünschten Position und betätigt das Arbeitswerkzeug 4. In dieser Ausführungsform ist das Arbeitswerkzeug 4 ein elektrischer Schraubendreher und befestigt eine Schraube an einem Werkstück.
-
Die Bewegungseinheit 2 bewegt das Arbeitswerkzeug 4 in einer X-Achsenrichtung, einer Y-Achsenrichtung und einer Z-Achsenrichtung und positioniert das Arbeitswerkzeug 4 an einem spezifizierten Punkt. Die X-Achsenrichtung ist eine erste Richtung parallel zu einer Ebene, auf der ein Werkstück platziert ist. Die Y-Achsenrichtung ist eine zweite Richtung parallel zur Ebene und orthogonal zur X-Achsenrichtung. Die Z-Achsenrichtung ist eine Höhenrichtung. Die Bewegungseinheit 2 beinhaltet einen X-Linearschieber 21 der das Arbeitswerkzeug 4 in der X-Achsenrichtung bewegt, einen Y-Linearschieber 22, der das Arbeitswerkzeug 4 in Y-Achsenrichtung bewegt und einen Z-Linearschieber 23, der das Arbeitswerkzeug 4 in der Z-Achsenrichtung bewegt.
-
Der X-Linearschieber 21 weist den Y-Linearschieber 22 verschiebbar auf einer Schiene vorgesehen auf, die sich in der X-Achsenrichtung erstreckt und weist den Y-Linearschieber 22 mit einem Endlosriemen, der in X-Achsenrichtung läuft, befestigt auf, was orthogonal zum Y-Linearschieber 22 ist. Der Endlosriemen wird durch einen X-Achsenmotor zum Bewegen des Y-Linearschiebers 22 längs der X-Achsenrichtung angetrieben.
-
Der Y-Linearschieber 22 weist den verschiebbar auf einer Schiene vorgesehenen Z-Linearschieber 23 auf, der sich in der Y-Achsenrichtung erstreckt und weist den mit einem Endlosriemen, der in der Y-Achsenrichtung läuft, befestigten Z-Linearschieber 23 auf. Der Endlosriemen wird durch einen Y-Achsenmotor zum Bewegen des Z-Linearschiebers 23 längs der Y-Achsenrichtung angetrieben. Beispiel-Übertragungsmechanismen für die X- und Y-Linearschieber 21, 22 sind, zusätzlich zu Endlosriemen, verschiedene Aktuatoren, einschließlich eines Zylinders und einer Leitspindel.
-
Der Z-Linearschieber 23 beinhaltet einen Arm mit einer Achse, welche parallel zur Z-Achsenrichtung ist und das Arbeitswerkzeug 4 ist am Führungsende dieses Armes angebracht. Dieser Z-Linearschieber 23 beinhaltet beispielweise einen Zahnstangenmechanismus, weist die in der Z-Achsenrichtung ausgedehnte Zahnstange auf und weist den an dieser Zahnstange fixierten Arm auf. Das Ritzel wird durch einen Z-Achsenmotor gedreht, um den Arm in der Z-Achsenrichtung zu bewegen. Dieser Z-Linearschieber 23 bewegt das Arbeitswerkzeug 4 in der Z-Achsenrichtung.
-
Wie in 2 illustriert, ist die Steuerung 3 ein sogenannter Computer, der einen Prozessor 31, einen Speicher 32, einen Speicher 33 und Peripherievorrichtungen beinhaltet. Die Peripherievorrichtungen sind ein Motortreiber 34 und eine Manipulationsvorrichtung 35. Der Speicher 32 speichert Programme, wie etwa Hauptprogramme 6, ein Unterprogramm 7 und Parameter 8. Das Hauptprogramm 6 ist eine Hauptroutine, das Unterprogramm 7 ist eine Unterroutine und die Parameter 8 sind Einsetzungskandidaten für eine Variable 75 im Unterprogramm 7.
-
Der Prozessor 31 führt einen Rechenprozess und einen Steuerprozess für die Peripherievorrichtung anhand des Hauptprogramms 6 aus. Der Prozessor 31 bezieht sich nach Bedarf auf das Unterprogramm 7 und die Parameter 8, beim Ausführen des Hauptprogramms 6. Die Programme werden in den Speicher 33 nach Bedarf entwickelt und Rechenergebnisse durch den Prozessor 31 werden darin zeitweilig gespeichert. Der Motortreiber 34 liefert Strompulse an entsprechende Motoren in Übereinstimmung mit einem Anweisungssignal, das aus dem Prozessor 31 als ein Ergebnis des Steuerprozesses eingegeben wird.
-
Die Manipulationsvorrichtung 35 beinhaltet eine Anzeigeneinheit wie eine Flüssigkeitskristallanzeige, eine Maus, eine Tastatur und ein Programmierhandgerät. Die Programme werden über eine Lehrmanipulation unter Verwendung der Manipulationsvorrichtung 35 erzeugt und editiert. Der Speicher 32 ist zum Speichern der Mehrzahl von Hauptprogrammen 6 in der Lage. Das auszuführende Hauptprogramm 6 wird durch eine Manipulation unter Verwendung der Manipulationsvorrichtung 35 ausgewählt.
-
Es wird eine Beispieloperation des Roboters 1 gemäß solchen Programmen erläutert. Wie in 3 illustriert, werden im Hauptprogramm 6 Punkte P1, P2 und P3 an einem Werkstück eingestellt und wird das Unterprogramm 7, das eine Bewegung zu jedem Punkt P1, P2, P3 und eine Schraubenbefestigungsarbeit definiert, benannt. Jedoch variiert ein in eine Variable 75 des Unterprogramms 7 einzusetzender Wert abhängig von den Punkten P1, P2 und P3. Eine Schraube, die eine einmalige Schraubenlänge von 3 mm bis zum Punkt P1 aufweist, ist an diesem Punkt zu befestigen. Eine Schraube, die eine einmalige Schraubenlänge von 5 mm zum Punkt P2 aufweist, ist an diesem Punkt zu befestigen. Eine Schraube, die eine Schraubenlänge von 10 mm aufweist und massiv für dieses Werkstück verwendet wird, oder eine Schraube, die unabhängig vom Werkstück eine Schraubenlänge von 8 mm aufweist, wird am Punkt P3 befestigt.
-
Die Steuerung 3 positioniert das Arbeitswerkzeug 4 genau über den Punkten P1, P2 und P3 in dieser Reihenfolge und betätigt das Arbeitswerkzeug 4, während sie gleichzeitig das Arbeitswerkzeug 4 herunterbewegt. Jedoch positioniert die Steuerung 3 das Arbeitswerkzeug 4 vom Punkt P1 um eine Höhe entfernt, die 3 mm beträgt, und bewegt das Arbeitswerkzeug 4 um die Höhe, die 3 mm beträgt, herunter. Die Steuerung 3 positioniert das Arbeitswerkzeug 4 um eine Höhe vom Punkt P2 entfernt, die 5 mm beträgt und bewegt das Arbeitswerkzeug 4 um die Höhe, die 5 mm beträgt, herunter. Die Steuerung 3 positioniert das Arbeitswerkzeug 4 vom Punkt P3 um eine Höhe entfernt, die 10 oder 8 mm beträgt, und bewegt das Arbeitswerkzeug 4 um die Höhe, die 10 oder 8 mm beträgt, herunter.
-
Programmstruktur
-
4 ist ein Beispieldiagramm, welches die Gesamtstruktur des Hauptprogramms 6 illustriert. Das Hauptprogramm 6 weist Punktaussagen 61 für entsprechende Punkte P1 bis P3, die in Abfolge angeordnet sind, auf. Die Punktaussage 61 gibt die Position des Punkts an und steuert Details. In der Punktaussage 61, wobei eine Punktnummer 62 als ein Kopf dient, sind eine Punktart-Information 63 und eine Punktkoordinaten-Information 64 in Abfolge angeordnet. Einige Punktaussagen 61 weisen weiter eine Parameternummer 65, die in Abfolge angeordnet ist, auf.
-
Die Punktnummer 62 klärt eine Erklärung, dass die Punktaussage 61 in einer Punkt-basierten Satzstruktur und ein Trennzeichen ist und unterteilt jede Punktaussage 61. Die Punktkoordinateninformation 64 identifiziert die Position des Punkts im Koordinatensystem des Roboters 1. Beispielsweise werden die entsprechenden Koordinaten der Punkte P1 bis P3 identifiziert.
-
Die Punktart-Information 63 ist ein sogenannter Funktionsidentifizierer, der das Unterprogramm 7 anzeigt, welches die Steuerdetails am Punkt definiert. Beispielsweise ist die Punktart-Information 61 des Unterprogramms 7, die ein Bewegungsverfahren und die Arbeitsdetails des Schraubenanziehens definiert, in Abfolge angeordnet. Wenn in der Punktaussage 61 definiert, identifiziert der Parameter 65 einen Einsetzwert in die im Unterprogramm 7 deklarierte Variable 75. Beispielsweise identifiziert die Parameternummer 65 einen Herunterbewegbetrag des Arbeitswerkzeugs 4 zum Zeitpunkt der Schraubenbefestigungsoperation.
-
5 ist ein beispielhaftes Diagramm, welches die Gesamtstruktur des Parameters 8 illustriert. Der Speicher 33 speichert die Mehrzahl von Parametern, welche Einsetzkandidaten an die Variable 75 im Unterprogramm 7 sind. Das heißt, dass der Speicher 33 mehrere Arten von Punkt-einmaligen Parametern 81, die durch die Parameternummern 65 identifiziert sind, und einen Programm-einmaligen Parameter 62, der einem einzelnen Hauptprogramm 6 gemeinsam ist und einen gemeinsamen Parameter 83, der unabhängig vom Hauptprogramm 6 anzuwenden ist, speichert. Der Programm-einmalige-Parameter 82 weist ein damit assoziiertes Flag 84 auf. Dieses Flag 84 gibt an, ob der assoziierte Programm-einmalige-Parameter 82 anzuwenden ist oder nicht. Die Details im Flag 84 werden durch eine Manipulation unter Verwendung der Manipulationsvorrichtung 35 wieder geschrieben.
-
6 ist ein beispielhaftes Diagramm, welches die Gesamtstruktur des Unterprogramms 7 illustriert. Das Unterprogramm 7 wird durch die Punktart-Information 71 identifiziert, die ein sogenannter Funktionsidentifizierer ist. Im Unterprogramm 7 sind eine Bewegungsverfahren-Anweisungssequenz 72, eine Vorbewegungs-Arbeitsanweisungssequenz 73 und eine Nachbewegungs-Arbeitsanweisungssequenz 74 beschrieben. Die Bewegungsverfahren-Anweisungssequenz 72 ist ein Bündel von Aussagen zur Steuerung eines Bewegungsverfahrens zu dem Punkt. Beispielsweise gibt die Bewegungsverfahren-Anweisungssequenz 72 eine PTP-Bewegung etc. an, die das Arbeitswerkzeug 4 linear bewegt, um so die angrenzenden Punkte zu verbinden. Die Bewegungsverfahren-Anweisungssequenz 72 kann ein Funktionsidentifizierer einer vorab definierten externen Funktion sein.
-
Die Vorbewegungsarbeits-Anweisungssequenz 73 ist ein Bündel von Aussagen, die vor der Bewegung für den Punkt auszuführen sind. Beispielsweise wird die Vorbewegungs-Arbeitsanweisungssequenz 73 mit einer Operation des Haltens einer Schraube beschrieben. Die Nachbewegungs-Arbeitsanweisungssequenz 74 ist ein Bündel von Aussagen, die nach der Bewegung zu dem Punkt auszuführen ist. Beispielsweise wird die Nachbewegungs-Arbeitsanweisungssequenz 74 mit einer Operation des Herabbewegens des Arbeitswerkzeugs 4, während das Arbeitswerkzeug 4 betätigt wird, beschrieben. Das Unterprogramm 7 enthält die Variable 75. Um beispielsweise das Arbeitswerkzeug 4 zu dem Punkt herunterzubewegen, wird die Nachbewegungsarbeits-Anweisungssequenz 74 mit einem Satz von Abwärtsbewegungsanweisung und Abwärtsbewegungsvariable beschrieben.
-
Es wird eine Erläuterung zu einer Ausführungsoperation jener Programme gegeben. 7 ist ein Flussdiagramm, welches einen Prozess des Hauptprogramms 6 durch die Steuerung 3 illustriert. Die Steuerung 3 bestimmt (Schritt S01), ob die Punktaussage 61, welche die Punktnummer 62 aufweist, die N ist, mit der Parameternummer 65 assoziiert ist. Der Anfangswert von N beträgt 1. Wenn die Punktaussage 61 mit der Parameternummer 65 assoziiert ist (Schritt S01: Ja), wird der durch die Parameternummer 65 identifizierte Punkt-einmalige-Parameter 81 in die Variabel 75 eingesetzt (Schritt S02).
-
Wenn die Punktaussage 61 nicht mit der Parameternummer 65 assoziiert ist (Schritt S01: Nein), prüft die Steuerung 3 (Schritt S03) das Flag 84. Wenn das Flag 85 einen Wert aufweist, der 1 ist, das heißt der Wert ist, der angibt, dass der Programm-einmalige-Parameter 82 anzuwenden ist (Schritt S03: Ja), setzt die Steuerung 3 den Programm-einmaligen-Parameter 82 in die Variable 75 ein (Schritt S04).
-
Wenn das Flag 84 einen Wert aufweist, der 0 ist, das heißt den Wert, der angibt, dass der Programm-einmalige-Parameter 82 nicht anzuwenden ist (Schritt S03: Nein), setzt die Steuerung 3 den gemeinsamen Parameter 83 in die Variable 75 ein (Schritt S05).
-
Nach Vollenden des Einsetzens in die Variable 75 ruft die Steuerung 3 das Unterprogramm 7, das durch dieselbe Punktidentifikationsinformation 71 wie die in der N-ten Punktaussage 61 angeordnete Punktart-Information 63 identifiziert ist, auf (Schritt S06) und führt dieses Unterprogramm 7 aus (Schritt S07). Nach Abschluss der Ausführung des Unterprogramms 7 kehrt der Prozess zum Hauptprogramm 6 zurück und wird der ab dem Schritt S01 beginnende Prozess für die nächste Punktaussage 61 wiederholt.
-
Wie oben erläutert, fungiert, wie in 8 illustriert, die Steuerung 3 als Steuereinheit 3a für den Roboter 1, eine Bestimmungseinheit 3b, welche den Parameter 8 für die Variable 75 festlegt und eine Änderungseinheit 3c, welche die Details bei der Variable 75 auf den vorbestimmen Parameter 8 ändert. Die Bestimmungseinheit 3b bestimmt Anwesenheit oder Abwesenheit der Parameternummer 65 in jeder Punktaussage 61 und die Details des Flags 84, das mit dem Programm-einmaligen-Parameter 82 assoziiert ist. Die Änderungseinheit 3c verknüpft die Variable 75 mit einem Speicherbereich, wo der Punkt-einmalige-Parameter 81, der Programm-einmalige-Parameter 82 oder der gemeinsame Parameter 83 gemäß dem Bestimmungsergebnis durch die Bestimmungseinheit 3b gespeichert ist.
-
Wie in 8 illustriert, fungiert die Steuerung 3 weiter als Programmierwerkzeug 3d und erzeugt und editiert neu die Programme in Reaktion auf eine Eingabe, die der Manipulationsvorrichtung 35 gegeben wird. Wenn die Programme erzeugt und editiert werden, zeigt das Programmierwerkzeug 3d die Details des Hauptprogramms 6 auf der Anzeigeeinheit an und assoziiert die Parameternummer 65 mit der Punktaussage 61 in Reaktion auf eine an die Manipulationsvorrichtung 35 gegebene Eingabe.
-
Zusätzlich, wie in 9 illustriert, wird ein Parametereinstellbildschirm für das Hauptprogramm 6 angezeigt. Im Parameter-Einstellbildschirm wird eine Auswahl getroffen, ob der Programm-einmalige Parameter 82 oder gemeinsame Parameter 83 in die Variable 75 in der Punktaussage 61 eingesetzt wird, die keine Parameternummer 65 aufweist. Entsprechend der Auswahl durch die Manipulationsvorrichtung 35 schreibt das Programmierwerkzeug 3d die Details des Flags 84 neu. Zusätzlich werden in diesem Parameter-Einstellbildschirm der Punkt-einmalige Parameter 81, der Programm-einmalige Parameter 82 und der gemeinsame Parameter 83 eingerichtet. Das Programmierwerkzeug 3d speichert den Untergrenzwert und den Obergrenzwert in jedem Parameter 8 und wenn der eingegebene Parameter 8 niedriger als der Untergrenzwert ist oder den Obergrenzwert übersteigt, wird eine Fehlermitteilung herausgegeben.
-
Aktion
-
Wie in 10 illustriert, gibt beispielsweise die in Abfolge im Hauptprogramm 6 angeordnete erste Punktaussage 61 „#1 Schraubenbefestigungspunkt X = X1, Y = Y1, Z = Z1 Parameternummer 1” an. Zusätzlich wird an der Adresse des Speichers 33, der durch die „Parameternummer 1” identifiziert ist, ein Wert, der 3 mm beträgt, gespeichert.
-
Zuerst identifiziert die Steuerung 3 den Begrenzer der Punktaussage 61, basierend auf der Punktnummer 62, die „#1” ist. Die Steuerung 3 führt eine Initialisierung des Einsetzens von X1, Y1 und Z1 in eine X-Koordinatenvariable X, eine Y-Koordinatenvariable Y bzw. eine Z-Koordinatenvariable Z aus. Zusätzlich, da die Parameternummer 65, die „Parameternummer 1” ist, assoziiert wird, führt die Steuerung 3 eine Initialisierung des Einsetzens des durch die „Parameternummer 1” identifizierten Werts, der 3 mm beträgt, in die Variable 75, die „ScrewL” ist, deklariert als die Schraubenlänge, aus.
-
Als Nächstes werden die Bewegungseinheit 2 und das Arbeitswerkzeug 4 entsprechend dem Unterprogramm 7, welches dieselbe Punktart-Information 71 wie die Punktart-Information 63 aufweist, die „Schraubenbefestigungspunkt” ist, gesteuert. Das Unterprogramm 7 enthält einen Anweisungsabfolgeblock zum Bewegen und Betätigen des Arbeitswerkzeugs 4.
-
Einer der Blöcke der Instruktionsanweisungen ist die Bewegungsverfahren-Anweisungssequenz 72 und wird mit einem Funktionsidentifizierer beschrieben, der „PTPpoint” ist, für eine PTP-Bewegung. Eine externe Funktion von „PTPpoint” enthält die Variable für „ScrewL” die „Bewege X Y Z + ScrewL” ist. Zusätzlich ist einer Blöcke von Anweisungssequenzen die nach Bewegungsarbeits-Anweisungssequenz 74 und ist die Nachbewegungs-Arbeitsinstruktionsanweisung 74 mit einem Satz von Funktionsidentifizierer „downZ” und der Variable 75, die „ScrewL” ist, beschrieben.
-
Zuerst bewegt die Steuerung 3 das Arbeitswerkzeug 4 durch PTP-Bewegung zu einer Position (X, Y, Z) = (X1, Y1, Z1 + 3) um so den Wert zu erreichen, der die Höhe von 3 mm ist, angegeben durch die Variable 75 von ScrewL in Reaktion auf eine Bewegungsanweisung. Als Nächstes bewegt die Steuerung 3 das Arbeitswerkzeug 4 um einen durch den Wert der Variablen 75 von ScrewL angegebenen Betrag, der 3 mm beträgt, in Reaktion auf eine downZ-Anweisung, während das Arbeitswerkzeug 4 betätigt wird.
-
Wie in 11 illustriert, gibt beispielweise die in Abfolge im Hauptprogramm 6 angeordnete zweite Punktaussage 61 „#2 Schraubenbefestigungspunkt X = X2 Y = Y2 Z = Z2 Parameternummer 2” an. In der Adresse des Speichers 33, die durch „Parameternummer 2” identifiziert ist, wird ein Wert, der 5 mm beträgt, gespeichert.
-
Zuerst identifiziert die Steuerung 3 den Begrenzer der Punktaussage 61, basierend auf der Punktnummer 62, die „#2” beträgt. Die Steuerung 3 führt eine Initialisierung des Einsetzens von X2, Y2, Z2 in die X-Koordinatenvariable X, die Y-Koordinatenvariable Y und die Z-Koordinatenvariable Z ein. Zusätzlich, da die Parameternummer 65, die „Parameternummer 2” ist, assoziiert wird, führt die Steuerung 3 eine Initialisierung des Einsetzten des durch „Parameternummer 2” identifizierten Werts, der 5 mm beträgt, in die Variable 75, die „ScrewL” ist, die als die Schraubenlänge deklariert ist, aus.
-
Als Nächstes werden die Bewegungseinheit 2 und das Arbeitswerkzeug 4 anhand desselben Unterprogramms 7 wie dasjenige der Punktaussage 61 für „#1”, welche „Schraubenbefestigungspunkt” ist, gesteuert. Das heißt, dass einer der Blöcke von Anweisungssequenzen in dem Bewegungsverfahren-Anweisungsabfolge 72 mit dem Funktionsidentifizierer für eine „PTP-Bewegung” beschrieben wird. Eine externe Funktion von „PTP-Bewegung” enthält die Variable 75 für „ScrewL”, welche „Bewege X Y Z + ScrewL” ist. Zusätzlich ist einer der Blöcke von Anweisungssequenzen die Nachbewegungsarbeits-Anweisungssequenz 74 und wird die Nachbewegungs-Arbeitsanweisungssequenz 74 mit einem Satz des Funktionsidentifizierers „downZ” und der Variable 75, die „ScrewL” ist, beschrieben.
-
Nachdem das Festschrauben der ersten Schraube abgeschlossen ist, bewegt die Steuerung 3 das Arbeitswerkzeug 4 durch PTP-Bewegung zu einer Position (X, Y, Z) = (X2, Y2, Z2 + 5) um so zum Wert zu passen, welcher die Höhe von 5 mm ist, der durch die Variable 75 von ScrewL in Reaktion auf einer Bewegungsanweisung angegeben wird. Als Nächstes bewegt die Steuerung 3 das Arbeitswerkzeug 4 um einen Betrag herunter, der durch den Wert der Variablen 75 von ScrewL angegeben ist, der 5 mm beträgt, in Reaktion auf eine downZ-Anweisung, während das Arbeitswerkzeug 4 betätigt wird.
-
Wie in 12 illustriert, gibt beispielsweise die in Abfolge im Hauptprogramm 6 angeordnete dritte Punktaussage 61 „#3 Schraubenbefestigungspunkt X = X3 Y = Y3 Z = Z3” an. Zusätzlich ist das Flag 84 „1”, was Anwendbarkeit anzeigt. An der Adresse des Speichers 33, der als ein Bereich für einen Programm-einmaligen Parameter 82 gesichert ist, wird ein Wert, der 10 mm ist, gespeichert.
-
Zuerst identifiziert die Steuerung 3 den Begrenzer der Punktaussage 61, basierend auf der Punktnummer 62, die „#3” ist. Die Steuerung 3 führt eine Initialisierung des Einsetzens von X3, Y3 und Z3 in die X-Koordinatenvariable X, die Y-Koordinatenvariable Y bzw. die Z-Koordinatenvariable Z aus. Zusätzlich, da keine Parameternummer 65 assoziiert ist, ist das Flag 84 „1”, führt die Steuerung 3 eine Initialisierung des Einsetzens des durch den Programm-einmaligen-Parameter 82, der 10 mm ist, identifizierten Wert in die Variable 75, die „ScrewL” ist, deklariert als die Schraubenlänge, aus.
-
Als Nächstes werden die Bewegungseinheit 2 und das Arbeitswerkzeug 4 gemäß demselben Unterprogramm 7 wie jene der Punktaussagen 61 für „#1” und „#2”, die „Schraubenbefestigungspunkt” sind, gesteuert. Das heißt, dass, nachdem das Befestigen der zweiten Schraube abgeschlossen ist, die Steuerung 3 das Arbeitswerkzeug 4 durch PTP-Bewegung zu einer Position (X, Y, Z) = (X3, Y3, Z + 10) bewegt, so dass es zu dem Wert passt, der die Höhe von 10 mm ist, der durch die Variable 75 von ScrewL angegeben ist, in Reaktion auf eine Bewegungsanweisung. Als Nächstes bewegt die Steuerung 3 das Arbeitswerkzeug 4 um einen durch den Wert der Variablen 75 von ScrewL, der 10 mm ist, angegebenen Wert herunter, in Reaktion auf eine downZ-Anweisung, während das Arbeitswerkzeug 4 betätigt wird.
-
Wie in 13 illustriert, gibt beispielsweise die in einem anderen Hauptprogramm 8 angeordnete Punktaussage 61 „#3 Schraubenbefestigungspunkt X = X3 Y = Y3 Z = Z3” an. Zusätzlich ist das Flag 84 „Null” was Unanwendbarkeit angibt. In der Adresse des Speichers 33, der als ein Bereich für einen gemeinsamen Parameter 83 gesichert ist, wird ein Wert, der 8 mm ist, gespeichert.
-
Da keine Parameternummer 65 assoziiert ist und das Flag 84 „Null” ist, führt die Steuerung 3 eine Initialisierung des Einsetzens eines Werts, der 8 mm ist, der durch den gemeinsamen Parameter 83 identifiziert ist, in die Variable 75 von „ScrewL”, welche als die Schraubenlänge deklariert ist, aus.
-
Als Nächstes werden die Bewegungseinheit 2 und das Arbeitswerkzeug 4 gemäß demselben Unterprogramm 7 wie jenes der Startaussagen 61 für „#1” und „#2”, welches „Schraubenbefestigungspunkte” sind, gesteuert. Das heißt, dass, nachdem das Befestigen der zweiten Schraube abgeschlossen ist, die Steuerung 3 das Arbeitswerkzeug 4 durch PTP-Bewegung zu einer Position (X, Y, Z) = (X3, Y3, Z3 + 8) bewegt, um so zu dem Wert zu passen, welcher die durch die Variable 75 von ScrewL angegebenen Höhe von 8 mm ist, in Reaktion auf eine Bewegungsanweisung. Als Nächstes bewegt die Steuerung 3 das Arbeitswerkzeug 4 um einen Betrag herunter, der durch den Wert der Variablen 75 von ScrewL, welcher 8 mm ist, angegeben ist, in Reaktion auf eine downZ-Anweisung, während das Arbeitswerkzeug 4 betätigt wird.
-
Wie oben erläutert, dient gemäß dem Roboter 1 dieser Ausführungsform die Deklaration der Variablen 75 nicht dazu, den Bereich im Speicher 83 sicherzustellen. Zusätzlich wird keine Variable 75, die einen unterschiedlichen Variablennamen aufweist, um jeden Parameter 8 zu substituieren, vorbereitet, und es wird kein Parameter 8 für die Variable 75 verändert. Mehrere Arten von Kandidaten, welche der Punkt-einmalige Parameter 81, der Programm-einmalige Parameter 82 und der gemeinsame Parameter 83 sind, werden im Speicher 33 vorab gespeichert und der Speicherbereich des Parameters 8 für die Variable 75 wird selektiv verändert.
-
Daher ist es ausreichend, falls eine einzelne Art von Unterprogramm, das unterschiedliche Parameter aufweist, die einzusetzen sind, aber welches dieselben Prozessdetails definiert, vorbereitet wird. Das heißt, anders als konventionelle Techniken, wenn Schrauben, die Schraubenlängen von 3 mm, 8 mm und 10 mm aufweisen, am selben Werkstück zu befestigen sind, es unnötig ist, verschiedene Unterprogramme 7 vorzubereiten, welche das Unterprogramm 7 sind, welches die Variable 75 aufweist, die beispielsweise „condScrewL” ist, deklarierend den Bereich, wo der Wert 3 mm gespeichert ist, und welches die konsistenten verbleibenden beschriebenen Details aufweist, das Unterprogramm 7, welches die Variable 75 aufweist, die beispielsweise „ProgScrewL” ist, welche den Bereich deklariert, wo der Wert 8 mm gespeichert ist, und welche die konsistenten verbleibenden beschriebenen Details aufweist, und das Unterprogramm 7, welches die Variable 75 aufweist, die beispielsweise „CommongScrewL” ist, die den Bereich deklariert, wo der Wert 10 mm gespeichert ist, und welches die konsistenten verbleibenden beschriebenen Details aufweist.
-
Gemäß dem Roboter 1 dieser Ausführungsform, selbst falls Schrauben, welche die Schraubenlängen von 3 mm, 8 mm und 10 mm aufweisen, am selben Werkstück zu befestigen sind, ist es ausreichend, falls ein einzelnes Unterprogramm 7, das die Variable 75 enthält, die beispielsweise „ScrewL” ist.
-
Effekt
-
Wie oben erläutert, speichert dieser Roboter 1 das Hauptprogramm 6, welches die Punktaussagen 61 enthält, die in Abfolge Punkt-für-Punkt angeordnet sind, und enthält die Punktaussage 61 die Punktart-Information 63 und die Punktkoordinateninformation 64, welche die Steuerdetails auf der Bewegungseinheit 2 und dem Arbeitswerkzeug 4 durch die Steuerung 3 angeben. Zusätzlich speichert der Roboter 1 das Unterprogramm 7, welches durch die Punktart-Information 71 identifiziert ist, beinhaltet die Variable 75 enthaltende Anweisungssequenzen und definiert die Steuerdetails. Noch weiterhin speichert der Roboter 1 die Mehrzahl von Parametern 8, die Einsetzkandidaten in einer einzelnen Art von Variable 75 sind.
-
Der Parameter 8, der in die einzelne Art von Variable 75 einzusetzen ist, wird für jede Punktaussage 61 bestimmt und einer der Speicherbereiche wo der Parameter 8 gespeichert ist, wird wieder mit der Variable 75 für jede Punktaussage 61 anhand des Bestimmungsergebnisses verknüpft.
-
Dies ermöglicht ein Einsetzen des anderen Parameters 8 in die einzelne Art von Variable 75 gemäß dem Bestimmungsergebnis und somit wird es unnötig, entsprechende Programme vorzubereiten, welche die unterschiedlichen Variablen 75 deklarieren, aufgrund der Differenz beim Parameter 8. Das heißt, dass es ausreicht, falls ein einzelnes Programm mit denselben Arbeitsdetails vorbereitet wird, selbst falls der Parameter 8 anders ist. Daher wird eine Zeit zum Erzeugen des Programms reduziert, wodurch die Herstellkosten des Roboters 1 reduziert werden.
-
Daher, wenn die Arbeitsdetails für die Mehrzahl von Punkten konsistent sind, außer dem Parameter, ist es angemessen, dieselbe Punktart-Information 63 für jede Punktaussage 61 ausgewählt wird, und bezieht sich die Steuerung 3 auf dasselbe Unterprogramm 7 beim Ausführen jeder Punktaussage 61. Dies ermöglicht dem Anwender, der eine Lehrmanipulation am Roboter 1 gibt, eine Auswahlmanipulation des Unterprogramms 7 zu eliminieren, welches gemäß dem Parameter 8, der anzuwenden ist, angewendet wird, wodurch der Arbeitsaufwand reduziert wird.
-
Bei dieser Ausführungsform ist ein Beispielfall gegeben worden, bei welchem die Variable 75 die Schraubenlänge ist und in der Bewegungsverfahren-Anweisungssequenz 72 und in der Nachbewegungs-Anweisungssequenz 74 enthalten ist. Jedoch ist die vorliegende Erfindung nicht auf diesen Beispielfall beschränkt und ist auf verschiedene Variablen 75 anwendbar, wie etwa Schraubengang und Umdrehungsanzahl des elektrischen Schraubendrehers. Zusätzlich ist bei dieser Ausführungsform die Erläuterung eines Beispielfalls gegeben worden, bei welchem das Arbeitswerkzeug 4 ein elektrischer Schraubendreher zum Schraubenbefestigen ist, aber verschiedene Arbeitswerkzeuge, wie etwa ein Schweißer, eine Lackierpistole, eine Lackiernadel, ein Löteisen und ein Greifer sind anwendbar und die Variable 75, die im Unterprogramm 7 enthalten ist, ist gemäß den Arbeitsdetails, die auf die vorliegende Erfindung anwendbar sind, veränderbar.
-
Andere Ausführungsformen
-
Oben ist eine Ausführungsform der vorliegenden Erfindung erläutert worden, aber verschiedene Weglassungen, Austäusche und Modifikationen können daran gemacht werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Solche Ausführungsformen und modifizierten Beispiele derselben liegen im Umfang der vorliegenden Erfindung und sind auch innerhalb der Erfindung gemäß den anhängigen Ansprüchen und deren Äquivalenzbereich.
-
Beispielsweise ist die Erläuterung eines Beispielfalls gegeben worden, bei welchem die Programmierung für den Roboter 1 direkt dem Roboter 1 gegeben wird, aber die vorliegende Erfindung ist nicht auf diesen Beispielfall beschränkt und es kann beispielsweise die Programmierung durch das Programmierwerkzeug 3d durchgeführt werden, dass beispielsweise ein anderer Computer als der Roboter 1 ist, und die Programme können in den Roboter 1 geladen werden.
-
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
-