-
Die
vorliegende Erfindung bezieht ich auf einen Industrie-Roboter, insbesondere
auf einen Roboter, der eine Funktion zum Einfügen eines Einpassteil in ein
Aufnahmeteil hat.
-
Es
ist bereits bekannt, einen kraftregelnden Roboter zu benutzen, der
in der Lage ist, unter Kraftregelung automatisch ein Werkstück in ein
anderes Werkstück
einzupassen. Ferner ist ein Verfahren zum Einpassen eines Einpassteils
in ein Aufnahmeteil, wobei deren Seiten miteinander zusammenpassen,
unter Benutzung eines kraftregelnden Roboters in der Japanischen
Patent-Offenlegungsschrift Nr. 9-136279 offenbart.
-
Es
gibt einen Fall, in dem der Einpassvorgang wegen eines ungeeigneten
Passzustands beim Durchführen
des Einpassvorgangs unter Benutzung des kraftregelnden Roboters
nicht abgeschlossen wird. In einem solchen Fall wird herkömmlicherweise während des
Einpassvorgangs ein Fehler angezeigt, der Roboter wird gestoppt
und dann wird manuell ein Wiederherstellungsvorgang durchgeführt.
-
Ferner
wird herkömmlicherweise,
wenn ein Zusammenbau, der durch eine Vielzahl von Teilen gebildet
ist, zu zerlegen ist, ein Herausziehen eines eingepassten Teil aus
dem zu zerlegenden Zusammenbau manuell und nicht automatisch unter
Benutzung eines Roboters durchgeführt.
-
Der
Vorgang zum Einpassen eines Werkstücks in ein anderes Werkstück unter
Benutzung eines kraftregelnden Roboters nimmt, wenn der Einpassvorgang
nicht abgeschlossen ist und der Roboter infolge eines Fehlers, der
bei dem Einpassvorgang auftritt, stoppt, Zeit und Arbeit in Anspruch,
um eine manuelle Wiederherstellung durchzuführen, und eine solche manuelle
Wiederherstellung ist sehr beschwerlich, was die gesamte Arbeits-Leistungsfähigkeit
herabsetzt.
-
Es
sind bereits eine Vorrichtung und ein Verfahren zum Erleichtern
des Einpassens eines Werkstücks
in ein anderes Werkstück
offenbart worden. Hierzu sei auf den Artikel von E. Vaaler et al "Automated assmbly
with systems having significant manipulator and Part location errors", 1987 IEEE INTERNATIONAL
CONFERENCE ON ROBOTICS AND AUTOMATION, Bd. 3, 31. März 1987
(1987-03-31) – 3. April
1987 (1987-04-03),
S. 1357–1360, XP002118986
US verwiesen. 1 daraus
zeigt einen Dübel,
der in ein Passloch eingesetzt ist, und der Dübel wird unter Benutzung eines
Roboters mit Sensoren, welche die auf den Dübel in den X-, Y- u. Z-Richtungen ausgeübten Kräfte messen,
eingesetzt. Wenn der Dübel
in kleinen Einzelschritten in das Loch eingeführt wird, werden Kräfte verzeichnet, und
wenn eine zuvor festgestellte Kraft oder ein Drehmomentgrenzwert überschrittten
wird, wird der Dübel
positionsmäßig neu
eingestellt, und wenn der Grenzwert nicht länger überschritten wird, wird das Einführen forgesetzt.
-
Eine
Aufgabe der vorliegenden Erfindung besteht darin, einen kraftregelnden
Roboter, der eine Funktion zum Herausziehen eines Einpassteils aus einem
Aufnahmeteil hat, und ein Einpass- und Herausziehverfahren zur Benutung
des kraftregelnden Roboters zu schaffen.
-
Gemäß einer
ersten Ausführungsform
der vorliegenden Erfindung ist ein kraftregelnder Roboterkörper vorgesehen,
der einen Kraftsensor an einem Handgelenkteil des Roboterkörpers hat,
wobei der Roboterkörper
und der Kraftsensor mit einer Roboter-Steuereinrichtung verbunden
sind, die eine Funktion zum Einsetzen eines Einpassteils hat, das in
das Aufnahmeteil einzupassen ist, während eine Kraftregelung durchgeführt wird,
dadurch gekennzeichnet, dass die Roboter-Steuereinrichtung eine weitere
Funktion zum Her ausziehen des Einpassteils aus dem Aufnahmeteil
durch Bewegen des Einpassteil in einer Richtung entgegengesetzt
zu einer Einfügungsrichtung
hat, wenn ein Einpassvorgang nicht innerhalb einer vorbestimmten
Zeitperiode um eine vorbestimmte Distanz oder bis zu einer vorbestimmten
Position fortgeschritten ist.
-
Gemäß einer
zweiten Ausführungsform
der vorliegenden Erfindung ist ein Verfahren vorgesehen zum Einpassen
eines Einpassteils in ein Aufnahmeteil unter Benutzung eines Roboters,
der einen Kraftsensor an einem Handgelenk des Roboters und eine Roboter-Steuereinrichtung
hat, das Schritte umfasst zum (a) Starten eines Einpassvorgangs
zum Bewegen des Einpassteils in bezug auf das Aufnahmeteil, um so
das Einpassteil in das Aufnahmeteil einzuführen, während eine Kraftregelung unter
Benutzung des Kraftsensors durchgeführt wird, welches Verfahren
gekennzeichnet ist durch Schritte zum (b) Bestimmen, ob der Einpassvorgang
innerhalb einer vorbestimmten Zeitperiode um eine vorbestimmte Distanz
oder bis zu einer vorbestimmten Position fortgeschritten ist oder
nicht und (c) Herausziehen des Einpassteils aus dem Aufnahmeteil
durch Bewegen des Einpassteils in einer Richtung entgegengesetzt
zu der Einpassrichtung, wenn bestimmt ist, dass der Einpassvorgang
nicht innerhalb der zuvor in Schritt genannten vorbestimmten Zeitperiode
fortgeschritten ist.
-
Das
Bewegen des Einpassteils in der Richtung entgegengesetzt zu der
Einfügungsrichtung kann
durch Änderungsparameter
eerreicht werden, die für
Einpassvorgang gesetzt sind, und der Herausziehvorgang und der Einpassvorgang
können
wiederholt ausgeführt
werden, wenn der Einpassvorgang nicht richtig abgeschlossen ist.
-
Ferner
kann ein kraftregelnder Roboter gemäß der vorliegenden Erfindung
eine Funktion zum Halten eines eingepassten Teils in zusammengebauten
Teilen durch eine Robo terhand, während
eine Kraftregelung unter Benutzung des Kraftsensors durchgeführt wird,
und zum Herausziehen des eingepassten Teils aus den zusammengebauten
Teilen haben, während
die Kraftregelung unter Benutzung des Kraftsensors durchgeführt wird.
-
Ferner
ist es wünschenwert
einen Vorgang zum Herausziehen eines eingepassten Teils aus einem
Zusammenbau statt durch einen manuellen Vorgang automatisch durch
einen Roboter durchzuführen,
wenn ein Zusammenbau zerlegt wird, der durch eine Vielzahl von Teilen
gebildet ist.
-
Überdies
sieht die vorliegende Erfindung ein Einpass/Herauszieh-Verfahren
vor, in dem der Herausziehvorgang mitten in dem Einpassvorgang durchgeführt wird,
wenn der Einpassvorgang nicht forschreitet.
-
1 zeigt eine schematische
Darstellung eines Ausführungsbeispiels
der vorliegenden Erfindung.
-
2 zeigt ein Blockschaltbild,
das den Aufbau einer Roboter-Steuereinrichtung darstellt, die in dem
Ausführungsbeispiel
gemäß 1 benutzt wird.
-
3a bis 3d zeigen Darstellungen, die erklären, wie
gemäß der vorliegenden
Erfindung ein Teil eingepasst und herausgezogen wird.
-
4a bis 4c zeigen Darstellungen, die erklären, wie
ein eingepasstes Teil, das in einem Zusammenbau enthalten ist, herausgezogen
und von einem Aufnahmeteil getrennt wird, das in dem Zusammenbau
enthalten ist, wobei dieses Verfahren nicht gemäß der vorliegenden Erfindung
beschaffen ist.
-
5 zeigt ein Flussdiagramm
eines Prozesses zum Einpassen und Herausziehen eines Teils gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung.
-
6 zeigt ein Flussdiagramm
eines Prozesses zum Herausziehen eines eingepassten Teils aus einem
Aufnahmeteil, um die zusammengebauten Teile gemäß einem Verfahren zu zerlegen,
das nicht der vorliegenden Erfindung entspricht.
-
7 zeigt ein Flussdiagramm
eines Prozesses zum Herausziehen eines Teils in einem Ausführungsbeispiel
der vorliegenden Erfindung.
-
1 zeigt eine schematische
Darstellung eines Ausführungsbeispiels
der vorliegenden Erfindung. Das Bezugszeichen 1 bezeichnet
einen kraftregelnden Roboterkörper,
der durch ein Kabel 11 mit einer Roboter-Steuereinrichtung 2 verbunden
ist. Der Aufbau des Roboters (Körpers) 1 selbst
ist nicht speziell verschieden von dem eines herkömmlichen.
Die Roboter-Steuereinrichtung 2 kann mit Ausnahme der Softwaremittel
zum Durchführen
eines Prozesses, der später
beschrieben wird, die gleiche wie eine herkömmlicherweise benutzte sein.
-
An
das Ende eines Handgelenks des kraftregelnden Roboters 1 ist
ein 6-Achsen-Kraftsensor 3 angebracht, der eine Kraftübertragung
in den Richtungen dreier Achsen, die senkrecht zueinander liegen,
und ein Moment um diese drei Achsen (die Kraft und das Moment werden
als "6-Achsen-Kraft" bezeichnet) erfassen
kann. Das Bezugszeichen 31 bezeichnet ein Kabel, das den
Kraftsensor 3 und die Roboter-Steuereinrichtung 2 verbindet.
-
Teile,
die Objekte des Vorgangs sind, sind durch Bezugszeichen 4, 5 bezeichnet.
In dem vorliegenden Ausführungsbeispiel
wird ein Vorgang zum Einpassen eines Einpassteils 4, das
durch eine Hand 7 gehalten ist, die an einem Ende eines
Handgelenks des Roboters 1 mit dem 6-Achsen-Kraftsensor 3 angebracht
ist, der dazwischen angeordnet ist, in ein Aufnahmeteil 5 eingesetzt,
das auf einem Arbeitstisch 6 plaziert ist, oder es wird
ein Vorgang zum Herausziehen eines eingepassten Teils 4 aus
dem Aufnahmeteil 5 in einem Zusammenbau durchgeführt. In einem
Zentrum einer Endfläche
des Einpassteils 4 ist ein Werkzeug-Mittelpunkt gesetzt.
-
Ferner
sei angenommen, dass ein Arbeits-Koordinatensystem (Benutzer-Koordinatensystem) Σw gesetzt
ist, so dass eine Richtung einer Einführungsachse (Richtung, in der
sich der Roboter 1 bewegt, wenn das Einpassteil 4 in
eine Öffnung
des Aufnahmeteils 5 eingeführt wird) mit einer Richtung der
Y-Achse übereinstimt.
Ferner sei angenommen, dass das Aufnahmeteil 5, das auf
dem Arbeitstisch 6 zugeführt wird, mit einer Stellungis
positionier wird, die mit der Richtung der Einführungsachse (der Y-Achsenrichtung)
zusammenpasst.
-
2 zeigt ein Blockschaltbild,
das schematisch den Aufbau eines Steuersystems darstellt, das die
Roboter-Steuereinrichtung 2 und den 6-Achsen-Kraftsensor 3 enthält, der
in 1 gezeigt ist, enthält. Wie
in 2 gezeigt ist das
gesamte System aus der Roboter-Steuereinrichtung 2, dem
Roboter (mechanischer Abschnitt des Körpers) 1, der unter der
Kraftregelung durch die Roboter-Steuereinrichtung 2 arbeitet,
dem 6-Achsen-Kraftsensor 3, der auf dem Handgelenk an dem
köperfernen
Ende des Arms des Roboterkörpers
gehalten wird, und einer Signalverarbeitungs-Einheit 30 zum
Verarbeiten von Signalen, die durch den 6-Achsen-Kraftsensor 3 erfasst
sind, zusammengesetzt.
-
Die
Roboter-Steuereinrichtung 2 enthält eine zentrale Verarbeitungs-Einheit
(CPU) 21. Mit der CPU 21 sind über einen Bus 29 ein
Speicher 22 in Form eines ROM, ein Speicher 23 in
Form eines RAM, ein nichtflüchtiger
Speicher 24, ein Einlern-Betätigungsfeld 25 mit
einer Tastatur zum Eingeben verschiedener Befehle und gesetzter
Werte betreffend das Roboter-Einlernen und den Betrieb anderer Abschnitte
des Systems, eine Eingabe/Ausgabe-Einrichtung 26, die als
eine Schnittstelle zwischen der CPU 21 und der Signalverarbeitungs-Einheit 30 fungiert,
und ein Roboterachsen-Steuerabschnitt 27 zum Steuern der
Achsen des Roboterkörpers 1 durch eine
Servoschaltung 28 zum Steuern des Triebs von Servomotoren
verbunden.
-
Der
6-Achsen-Kraftsensor 3 kann einen bekannten Aufbau haben,
der z. B. eine Vielzahl von Brückenschaltungen
enthält,
wovon jede einen Dehnungsmessstreifen umfasst und durch einen Oszillator
mit Wechselstrom getrieben wird. Der 6-Achsen-Kraftsensor 3 sendet
Erfassungssignale, die Komponenten einer 6-Achsen-Kraft angeben,
an die Signalverarbeitungs-Einheit 30.
-
Ein Überblick
der Signalverarbeitung durch die Signalverarbeitungs-Einheit 30 ergibt
Folgendes: Die von dem 6-Achsen-Kraftsensor 3 gesendeten
Erfassungssignale werden durch einen Differentilverstärker verstärkt, synchron
gleichgerichtet, um sie in Gleichstromsignale umzuwandeln, und dann
einem Multiplexer in der Signalverarbeitungs-Einheit zugeführt. Der
Multiplexer gibt die Erfassungssignale, die Komponenten der 6-Achsen-Kraft
angeben, durch eine Abtast-und-Halte-Schaltung
und einen A/D-Wandler in Übereinstim-mung
mit einem Steuersignal, das durch die Eingabe/Ausgabe-Einrichtung 26 von
der CPU 21 der Roboter-Steuereinrichtung 2 empfangen
wird, nacheinander an die Eingabe/Ausgabe-Einrichtung 26 aus.
-
Die
CPU 21 speichert die Erfassungssignale nacheinander in
einem vorbestimmten Bereich in dem nichtflüchtigen Speicher 24.
Diese gespeicherten Erfassungssignale des 6-Achsen-Kraftsensors 3 werden
zur Kraftregelung (Impedanzregelung) des Roboters benutzt.
-
Der
ROM 22, der RAM 23 und der nichtflüchtige Speicher 24 werden
zum Speichern eines Systemprogramms zum Steuern des Betriebs der
Steuereinrichtung 2 selbst, eines Programms für die Impedanzregelung
(später
beschrieben), eines Programms zur Steuerung der Übertragung von Signalen zwischen
der Roboter-Steuereinrichtung 2 und der Signalverarbeitungs-Einheit 30 und
von gesetzten Werten für
verschiedene Verarbeitungen zusätzlich
zu den zuvor beschriebenen Erfassungsdaten aus dem 6-Achsen-Kraftsensor 3 benutzt.
-
Die
zuvor erwähnten
gesetzten Werte enthalten Daten einer Transformationsmatrix zur
Transformation sowohl von einem Sensor-Koordinatensystem, das in
dem 6-Achsen-Kraftsensor 3 gesetzt ist, in ein rechtwinkliges
Koordinatensystem, das in dem Roboter gesetzt wird, als auch von
Parametern für die
Kraftregelung (Impedanzregelung).
-
Als
nächstes
erfolgt eine Beschreibung eines Vorgangs des Einpassens/Herausziehens
eines Einpassteils 5 in ein/aus einem Aufnahmeteil 6 und
eines Vorgangs des Herausziehens eines Einpassteils 5 aus
einem Aufnahmeteil 6 unter Benutzung des zuvor beschriebenen
kraftregelnden Roboters.
-
3a bis 3d zeigen schematische Darstellungen
des Einpass/Herausziehvorgangs, bei dem ein Herausziehvorgang in
einem Einpassvorgang durchgeführt
wird, wenn der Einpassvorgang nicht fortschreitet.
-
Nachem
er in einer Annäherungs-Startposition
zum Einpassen positioniert ist, startet der Roboter einen Annäherungsvorgang
unter Geschwindigkeits- und Kraftsteuerung in Übereinstimmung mit einer Annäherungsrichtung
(Einpassrichtung, d. h. der Y-Achsenrichtung in 1), einer Ziel-Druckkraft und einer Annäherungsgeschwindigkeit,
die durch Parameter vorbestimmt sind (s. 3a). Wenn das Einpassteil 4 in
Berührung
mit dem Aufnahmeteil 5 kommt und eine Reaktionskraft desselben
einen Schwellwert, der durch Parameter gesetzt ist, überschreitet,
wird bestimmt, dass das Einpassteil 4 in Berührung mit dem
Aufnahmeteil 5 kommt, und die Prozedur schreitet zu einem
Einpassvorgang fort, wie dies in 3b gezeigt
ist. Bei dem Einpassvorgang wird das Einpassteil 4 unter
Geschwindigkeits- und Kraftregelung in Übereinstimmung mit der Einfügungs/Einpassrichtung
(der Y-Achsenrichtung), einer Ziel-Druckkraft und einer Geschwindigkeit
bewegt, die durch Parameter gesetzt sind.
-
Während des
Einpassvorgangs wird das Einpassteil 4 in diesem Ausführungsbeispiel,
wenn der Einpassvorgang aus irgendeinem Grund nicht fortschreitet
und wenn die Bewegung um eine gesetzte Distanz nicht erreicht wird
und die Bewegung mitten in dem Einpassvorgang stoppt (s. 3c), in einer Richtung entgegengesetzt
zu der Einfügungsrichtung aufwärts bis
zu der Annäherungs-Startposition
unter der Geschwindigkeits- und Kraftregelung in Übereinstimmung
mit der Geschwindigkeit und der Ziel-Kraft für den Einpassvorgang bewegt,
um dadurch das Einpassteil 4 aus dem Aufnahmeteil 5 herauszuziehen
(3d).
-
Die
Bewegungen, die in 3a–3d gezeigt sind, werden
eine vorbestimmte Anzahl von Malen durchgeführt, bis der Einpassvorgang
abgeschlossen ist.
-
4a–4c zeigen
Darstellungen eines Vorgangs zum Herausziehen eines eingepassten Teils 4 aus
einem empfangenden Teil 5 zum Zerlegen von zusammengebauten
Teilen. Dieser Vorgang befindet sich nicht in Übereinstimmung mit der vorliegenden
Erfindung und ist nur der Vollständigkeit
halber gezeigt.
-
Zuerst
wird die Hand 7 zu einer Position bewegt, in der sie das
eingepasste Teil 4 (4a)
halten kann, und dann wird die Hand 7 geschlossen, um das
eingepasste Teil 4 unter Kraftregelung mit einer Versatzkraft
zu halten, die als eine Ziel-Kraft durch Parameter vorbestimmt ist
(s. 4b). Um das eingepasste
Teil 4 oder das Aufnahmeteil 5 nicht mit der Hand 7 zu
beschädigen,
die das eingepasste Teil 4 in ungeeigneter Weise hält, um eine
große
Kraft auf das eingepasst Teil 4 auszuüben, wird das eingepasste Teil 4 unter
Kraftregelung mit der Versatzkraft, die als die Ziel-Kraft durch
Parameter gesetzt ist, durch die Hand 7 gehalten. Dann
wird das eingepasste Teil 4 in einer gesetzten Herausziehrichtung
mit einer gesetzten Geschwindigkeit unter Kraftregelung mit einer Herausziehkraft
bewegt, die als die Ziel-Kraft durch Parameter gesetzt ist, um das
eingepasste Teil 4 aus dem empfangenden Teil 5 herauszuziehen.
Der Herauszieh/Zerlegungsvorgang wird beendet, wenn das eingepasste
Teil 4 um einen gesetzten Betrag der Herausziehbewegung
bewegt ist (4c).
-
Die
zuvor gegebene Beschreibung dient zur Erklärung eines Überblicks über den Einpassvorgang und
den Herausziehvorgang, die durchgeführt werden, wenn bei dem Einpassvorgang
und dem Herausziehvorgang zum Zerlegen eines Zusammenbaus ein Stopp
aufgeteten ist.
-
Als
nächstes
wird eine Verarbeitung, die durch die CPU 21 der Roboter-Steuereinrichtung 2 beim
Durchführen
des zuvor beschriebenen Einpass/Herausziehvorgangs und des Herausziehvorgangs
zum Zerlegen durch den kraftregelnden Roboter durchzuführen ist,
unter Bezugnahme auf die Flussdiagramme gemäß 5–7 beschrieben.
-
Zuerst
werden Werte verschiedener Parameter für den Roboterbetrieb gesetzt
und in dem nichtflüchtigen
Speicher 24 gespeichert. Unter den Parametern, die für den Einpassvorgang
und den Herausziehvorgang, der durchgeführt wird, wenn während des
Einpassvorgangs ein Stopp auftritt, zusetzen sind, sind Parameter
zum Bestimmen des Annäherungsvorgang,
eine Einfügungsrichtung
(in dem Beispiel gemäß 1 die Y-Achsenrichtung in
dem Arbeits-Koordinatensystem), eine Annäherungsgeschwindigkeit, eine
Ziel-Kraft für
die Kraftregelung mit Bezug auf sechs Achsen (die X-, Y-, Z-Achsen in dem Arbeits-Koordinatensystem
gemäß 1 als Richtungen der Übertragung,
und die X-, Y-, Z-Achsen als Achsen der Drehung) (in dem Beispiel
gemäß 1 muss die Ziel-Kraft, da
die Einfügung
in der Y-Achsenrichtung durchgeführt
wird, nur mit Bezug auf die Y-Achsenrichtung bestimmt werden (Werte der
Ziel-Kraft mit Bezug auf die X-Achsenrichtung und
die Z-Achsenrichtung und mit Bezug auf die Achsen der Drehung sind "0"), eine Ziel-Geschwindigkeit für den Annäherungsvorgang
(in dem Beispiel gemäß 1 muss die zu bestimmende
Ziel-Geschwindigkeit nur mit Bezug auf die Y-Achsenrichtung bestimmt
werden (Werte der Ziel-Geschwindigkeit
mit Bezug auf die X-Achsenrichtung und die Z-Achsenrichtung und
mit Bezug auf die Achsen der Drehung sind "0"),
und ein Schwellwert der Reaktionskraft infolge einer Berührung eines
Einpassteils mit einem Aufnahmeteil wird zum Bestimmen benutzt,
ob die Annäherung
abgeschlossen ist oder nicht.
-
In
dem vorliegenden Ausführungsbeispiel
ist ein Impedanzregelungsverfahren als ein Verfahren zur Kraftregelung
angenommen. Als Parameter für die
Impedanzregelung werden Werte, welche die Größe von Federn, die Größe der Masse
(Trägheit) und
die Größe von Dämpfern repräsentieren,
vorbestimmt. Ferner wird ein Kriterium, ob die Kraftregelung durch
das Impedanzregelungsverfahren wirksam gemacht werden sollte oder
nicht, mit Bezug auf jede der sechs Achsen gesetzt (in dem Beispiel
gemäß 1 wird die Kraftregelung,
da die Annäherungsbewegung
nur eine Übertragung
in der Einfügungsrichtung
umfasst, nur mit Bezug auf die Y-Achse als eine Richtung der Übertragung
wirksam genmacht, und sie wird mit Bezug auf die anderen Achsen
unwirksam gemacht). In ähnlicher
Weise werden Parameter, die angeben, ob ein Bewegungsbefehl erzeugt
werden sollte oder nicht, mit Bezug auf jede der sechs Achsen gesetzt
(in dem Beispiel gemäß 1 wird ein Bewegungsbefehl
nur mit Bezug auf die Y-Achse
als eine Richtung der Übertragung
wirksam gemacht, und er wird mit Bezug auf die anderen Achsen unwirksam
gemacht). Einzelheiten des Impedanzregelungsverfahrens sind in der
zuvor erwähnten
Japanischen Patent-Offenlegungsschrift Nr. 9-136279 offenbart.
-
Parameter,
die für
den Einpassvorgang zu setzen sind, enthalten eine Einfügungsrichtung
(in the Beispiel gemäß 1 die Y-Achsenrichtung),
einen Betrag der Bewegung von einer Annäherungs-Startposition zu einer
Einpassabschlussposition (im folgenden als "Betrag der Einpassbewegung" bezeichnet), eine
Ziel-Kraft für
den Einpassvorgang (in dem Beispiel gemäß 1 ist ein spezieller Wert als die Ziel-Kraft mit Bezug auf
die Y-Achsenrichtung gewählt)
(die Werte der Ziel-Kraft mit Bezug auf die X-Achsenrichtung und
die Z-Achsenrichtung und mit Bezug auf die Achsen of Drehung sind "0"), eine Ziel-Geschwindigkeit (in dem
Beispiel gemäß 1 muss die Ziel-Geschwindigkeit
nur mit Bezug auf die Y-Achsenrichtung gesetzt werden) (die Werte
der Ziel-Geschwindigkeit mit Bezug auf die X-Achsenrichtung und
die Z-Achsenrichtung und mit Bezug auf die Achsen der Drehung sind "0"), Impedanzparameter (Größe von Federn,
Größe der Masse,
Größe der Dämpfer),
Parameter, die anzeigen, ob die Kraftregelung mit Bezug auf jede
der sechs Achsen durch das Impedanzregelungsverfahren wirksam gemacht
werden sollte oder nicht (in dem Beispiel gemäß 1 wird die Kraftregelung nur mit Bezug
auf die Y-Achse als eine Achse Drehung unwirksam gemacht und sie wird
mit Bezug auf die anderen Achsen wirksam gemacht), und Parameter,
die mit Bezug auf jede der sechs Achsen anzeigen, ob ein Bewegungsbefehl ausgegeben
werden sollte oder nicht (in dem Beispiel gemäß 1 wird ein Bewegungsbefehl nur mit Bezug
auf die Y-Achse als eine Achse der Drehung unwirksam gemacht, und
er wird mit Bezug auf die anderen Achsen wirksam gemacht).
-
Der
Annäherungsvorgang
und der Einpassvorgang sind die gleichen wie bei einer herkömmlichen
Annäherung,
und die Einpassvorgänge
werden unter Kraftregelung durch das Impedanzregelungsverfahren
durchgeführt.
Außerdem
ist die Art der Bestimmung von Parametern die gleiche wie eine herkömm liche
Art. In der zuvor gegebenen Beschreibung sind nur die typischen
Parameter erwähnt
worden.
-
Gemäß der vorliegenden
Erfindung wird der Einpassvorgang, wenn er wegen einer Hemmung usw.
nicht fortschreitet, gestoppt, und die Prozedur setzt sich zu dem
Herausziehvorgang fort. In dem vorliegenden Ausführungsbeispiel wird als eine
Weise zum Bestimmen des Verarbeitungsstandes durch Messen der Zeit
vom Start des Einpassvorangs ab bestimmt, dass der Einpassvorgang
wegen einer Hemmung usw. nicht fortschreitet, wenn der Einpassvorgang
nicht abgeschlossen ist, nachdem eine gesetzte Zeitperiode verstrichen
ist. Für
diese Bestimmung wird durch Parameter ein Grenzwert der Zeitperiode
des Einpassvorgangs gesetzt.
-
Außerdem müssen eine
Herausziehrichtung, eine Ziel-Geschwindigkeit, eine Ziel-Kraft,
eine Herausziehabschlussposition usw. für den Herausziehvorgang gesetzt
werden. Diese Parameterdaten können
gesetzt werden, sie müssen
jedoch nicht immer speziell gesetzt werden, weil die Herausziehrichtung im
Fall des Herausziehvorgangs in dem Einpassvorgang die Richtung entgegengesetzt
zu der Einfügungsrichtung
ist und die Ziel-Geschwindigkeit und die Ziel-Kraft die gleichen wie diejenigen für den Einpassvorgang
sein können,
es sei denn, dass sie eine entgegengesetzte Richtung haben. In einem
Beispiel, das später
beschrieben wird, werden die Herausziehrichtung, die Ziel-Geschwindigkeit
und die Ziel-Kraft für
den Herausziehvorgang so bestimmt, dass sie umgekehrt wie die Einpassrichtung,
die Ziel-Geschwindigkeit und die Ziel-Kraft für den Einpassvorgang sind,
und die Herausziehabschlussposition wird so bestimmt, dass sie mit
der Annäherungs-Startposition
zusammenfällt.
-
Für den Herausziehvorgang
zum Zerlegen müssen
jedoch eine Herausziehrichtung, eine Ziel-Herausziehkraft, eine
Ziel-Geschwindigkeit
und ein Betrag der Herausziehbewegung (Be trag der Bewegung zu einer
Position, die einer Annäherungs-Startposition entspricht)
speziell gesetzt werden. Ferner müssen wie bei dem Einpassvorgang
Impedanzparameter, Parameter, die angeben, ob die Kraftregelung
durch das Impedanzregelungsverfahren mit Bezug auf jede der sechs
Achsen wirksam gemacht werden sollte oder nicht, und Parameter,
die angeben, ob ein Bewegungsbefehl mit Bezug auf jede der sechs
Achsen ausgegeben werden sollte oder nicht, gesetzt werden.
-
Überdies
besteht ein Risiko des Ausübens einer
großen
Kraft auf das eingepasste Teil 4, die das eingepasste Teil 4 oder
das Aufnahmeteil 5 durch ungünstiges Halten des eingepassten
Teils 4 beschädigen
könnte,
wenn es zu Beginn des Vorgangs zum Herausziehen des eingepassten
Teils 4 aus dem Aufnahmeteil 5 durch die Hand 7 gehalten
wird, und ein Kraft-Versatzbetrag des gehaltenen Teils für die Schwerkraft
kann anders als im Falle eines gewöhnlichen Einpassvorgangs vor
dem Einpassen nicht bekannt sein. Daher werden, um den Kraft-Versatzbetrag
als Ziel-Haltekraft berechnen zu können, die Masse und die Position
des Schwerpunkts des eingepassten Teils 4, das herauszunehmen
ist, vorab gesetzt. Überdies
werden außerdem
die zulässige
Abweichung der Versatzkraft, die als Ziel-Kraft zum Erfassen des
Abschlusses des Haltens benutzt wird, und ein Zeitgrenzwert für den Haltevorgang
durch Parameter gesetzt.
-
Wie
zuvor beschrieben werden Werte verschiedener Parameter vorbestimmt,
und dann wird ein Roboterbetriebsprogramm ausgeführt.
-
Zuerst
wird der Prozess zum Durchführen des
Herausziehvorgangs für
den Fall, in dem der Einpassvorgang wegen eines Stopps des Einpassvorgangs
nicht abgeschlossen ist, unter Bezugnahme auf ein Flussdiagramm
gemäß 5 beschrieben. In dem vorliegenden
Ausführungsbeispiel
werden der Einpass- und
der Herausziehvorgang wiederholt, wenn während des Ein passvorgangs ein
Stopp auftritt, und die Anzahl von Wiederholungen wird ebenfalls
durch Parameter gesetzt.
-
Die
CPU 21 der Roboter-Steuereinrichtung 2 liest Blöcke eines
Betriebsprogramms einen nach dem anderen aus. Auf der Grundlage
eines Befehls in einem gelesenen Block treibt die CPU 21 Servomotoren
für Achsen
des Roboterkörpers 1,
um dadurch den Roboterkörper 1 anzutreiben.
Auf diese Weise wird der Roboter in der Annäherungs-Startposition positioniert,
von welcher aus der Roboter den Annäherungsvorgang starten sollte,
und dann liest die CPU 21 den nächsten Block aus. Wenn der nächste Block
einen Einpasskraftbefehl enthält,
startet die CPU 21 einen Pro-zess gemäß 5.
-
Die
CPU 21 veranlasst den Roboter, das Einpassteil 4,
das durch die Hand 7 gehalten ist, unter Geschwindigkeits-
und Kraftregelung von der Annäherungs-Startposition
in der vorbestimmten Einfügungsrichtung
(in dem Beispiel gemäß 1 die Y-Rchsenrichtung)
mit der vorbestimmten Annäherungsgeschwindigkeit
zu bewegen. In dem Beispiel gemäß 1, wird die Kraftregelung
in dieser Phase in Übereinstimmung
mit der Ziel-Kraft, die nur mit Bezug auf die Einfügungsrichtung,
d. h. die Y-Achsen-Übertragungsrichtung,
bestimmt ist, durchgeführt.
Die Kraftregelung wird mit Bezug auf die X-Achsenrichtung und die
Z-Achsenrichtung und mit Bezug auf die Achsen der Drehung (Signale
mit Bezug auf solche Richtungen und Achsen der Drehung, die von dem
Kraftsensor 3 gesendet sind, werden nicht ausgemutzt) unwirksam
gemacht. Ein Bewegungsbefehl wird nur mit Bezug auf die Y-Achsen-Übertragungsrichtung
erzeugt. Mit Bezug auf die X-Achsenrichtung und
die Z-Rchsenrichtung und mit Bezug auf die Achsen der Drehung wird
kein Bewegungsbefehl erzeugt. Auf diese Weise wird der Roboter gesteuert, um
eine feste Stellung beizubehalten (Schritt a1).
-
Wenn
das Einpassteil 4 in Berührung mit dem Aufnahmeteil 5 kommt
und die Kraft, die durch den Kraftsensor 3 erfasst wird,
den vorbestimmten Schwellwert erreicht oder übersteigt, veranlasst die CPU 21 den
Roboter, den Annäherungsvorgang
zu beenden, setzt den vorbestimmten Zeitgrenzwert in einem Zeitgeber
und startet den Zeitgeber (Schritt a2). Zur selben Zeit veranlasst
die CPU 21 den Roboter, den Einpassvorgang zu starten (Schritt
a3). Die CPU 21 veranlasst den Roboter, das Einpassteil in
der vorbestimmten Einfügungsrichtung
(der Y-Achsenrichtung) unter Geschwindigkeits- und Kraftregelung,
die in Übereinstimmung
mit der vorbestimmten Geschwindigkeit und der vorbestimmten Ziel-Kraft durchgeführt wird,
zu bewegen. In dieser Phase wird mit Bezug auf die X-Achsenrichtung
und die Z-Achsenrichtung, die Richtungen senkrecht zu der Einfügungsrichtung
sind, kein Bewegungsbefehl erzeugt, und die Kraftregelung wird mit
Bezug auf diese Achsen in Übereinstimmung
mit der Ziel-Kraft, die "0" ist, durchgeführt. Ferner
wird mit Bezug auf die Y-Achse als eine Achse der Drehung kein Bewegungsbefehl erzeugt
(es sei angemerkt, dass die Einfügung
in der Y-Achsenrichtung durchgeführt
wird), und der Roboter wird gesteuert, um eine feste Stellung mit
Bezug auf diese Richtungen beizubehalten. Ferner wird die Kraftregelung
so durchgeführt,
dass das Moment um die X-Achse und die Z-Achse, die senkrecht zu
der Achse der Einfügung
liegen, "0" sein kann.
-
Der
zuvor beschriebene Prozess für
den Annäherungsvorgang
und den Einpassvorgang ist der gleiche wie derjenige eines bekannten
herkömmlichen
Falls, es sei denn, dass der Zeitgeber vorbereitet ist und gestartet
wird, wenn der Annäherungsvorgang
endet.
-
Als
nächstes
entscheidet die CPU 21, ob der Betrag der Bewegung von
der Annäherungs-Startposition
aus den vorbestimmten Betrag der Einpassbewegung (Betrag der Bewegung
zwischen der Annäherungs-Startposition
und der Einpassabschlussposition) erreicht oder nicht (Schritt a4).
Wenn er nicht den vorbestimmt Betrag erreicht, entscheidet die CPU 21,
ob die Zeit, die durch den Zeitgeber gemessen ist, den vorbestimmten
Zeitgrenzwert erreicht hat odeer nicht (Schritt a6). Wenn die gemessene
Zeit nicht den Zeitgrenzwert erreicht hat, kehrt die CPU 21 zu
Schritt a3 zurück.
Auf diese Weise wiederholt die CPU 21 die Schritte a3,
a4, a6, um den Roboter zu veranlassen, den Einpassvorgang fortzusetzen.
-
Wenn
ermittelt wird, dass der Roboter sich um den vorbestimmten Betrag
der Einpassbewegung bewegt hat und der Einpassvorgang abgeschlossen worden
ist, geht die CPU 21 von Schritt a4 zu Schritt a5, setzt
einen Zähler
C (später
beschrieben) auf einen Zustand "0" und veranlasst den
Roboter, den Einpassvorgang zu beenden.
-
Wenn
nicht ermittelt wird, dass sich der Roboter um den vorbestimmten
Betrag der Einpassbewegung bewegt hat, sondern die durch den Zeitgeber gemessene
Zeit den vorbestimmten Zeitgrenzwert erreicht hat, geht die CPU 21 von
Schritt a6 zu Schritt a7, erfasst die gegenwärtige Position (Herauszieh-Startposition)
und gewinnt die Distanz L zwischen der gegenwärtigen Position und der Annäherungs-Startposition.
Dann geht die CPU 21 zu Schritt a8 und führt eine
Subroutine, die in 7 gezeigt
ist, zum Veranlassen des Roboters aus, den Herausziehvorgang durchzuführen. Die
CPU 21 setzt den vorbestimmten Herauszieh-Zeitgrenzwert
in dem Zeitgeber und startet den Zeitgeber (Schritt c1). Die Richtung
der Ziel-Kraft und die Ziel-Geschwindigkeit für den Herausziehvorgang sind
solche, die umgekehrt wie die Richtung der Ziel-Kraft und die Ziel-Geschwindigkeit
für den
Einpassvorgang sind, die vorbestimmt worden sind. Die CPU 21 veranlasst
den Roboter, den Herausziehvorgang unter der Kraft- und Geschwindigkeitsregelung ähnlich derjenigen
in dem Einpassvorgang durchzuführen
(Schritt c2).
-
Der
Herausziehvorgang kann durch Umkehrung der Einfügungsrichtung, die so gesetzt
ist, dass sie mit der Y-Achsen richtung in dem Arbeits-Kordinatensystem Σw übereinstimmt,
wobei die Ziel-Geschwindigkeit und die Ziel-Kraft unverändert sind, oder
durch Umkehrung der Vorzeichen der Ziel-Geschwindigkeit und der Ziel-Kraft erreicht
werden, wobei die Einfügungsrichtung
unverändert
ist.
-
Dann
entscheidet die CPU 21, ob sich der Roboter um die Bewegungsdistanz
L bewegt hat oder nicht, die in Schritt a7 gewonnen ist (Schritt
c3). Wenn er sich nicht um die Bewegungsdistanz L bewegt hat, entscheidet
die CPU 21, ob der Zeitgeber den Herauszieh-Zeitgrenzwert
erreicht hat oder nicht (Schritt c4). Wenn er diesen Zeitgrenzwert
nicht erreicht hat, kehrt die CPU 21 zu Schritt c2 zurück. Demzufolge
wiederholt die CPU 21 die Schritte c2, c3, c4, um den Roboter
zu veranlassen, den Herausziehvorgang fortzusetzen.
-
Während des
Herausziehvorgangs veranlasst die CPU 21 den Roboter, wenn
in Schritt c3 ermittel wird, dass sich der Roboter um die Bewegungsdistanz
L bewegt hat, den Herausziehvorgang zu benden und geht zu Schritt
a9 in 5. Wenn sich der
Roboter nicht um die Bewegungsdistanz L bewegt hat, sondern der
Zeitgeber den Zeitgrenzwert erreicht hat (Schritt c4), veranlasst
die CPU 21 den Roboter, den Herausziehvorgang zu stoppen
und führt
einen Prozess zum Behandeln eines Fehlers durch, wie einen solchen,
der einen Herausziehfehler anzeigt (Schritt c5).
-
Wenn
das Herausziehen abgeschlossen ist und die CPU 21 zu Schritt
a9 geht, addiert die CPU 21 "1" in
dem Zähler
C, der zum Abzählen
dafür vorgesehen
ist, wie viele Male der Einpassvorgang durchgeführt worden ist (der Zähler C wird
anfangs in den Zustand "0" versetzt, wenn die
Stromversorgung eingeschaltet wird). Dann entscheidet die CPU 21,
ob der Wert, der in dem Zähler
C gespeichert ist, die vorbestimmte Anzahl C0 von Malen zum Wiederversuchen
des Einpassvorgangs erreicht oder nicht (Schritt c10). Wenn er die
vorbestimmte Anzahl C0 nicht erreicht, keht die CPU zu Schritt a1
zurück
und veranlasst den Robotern den Einpassvorgang erneut zu starten.
-
Die
CPU 21 veranlasst den Roboter, den Einpass- und Herausziehvorgang
zu wiederholen, bis die Anzahl von Wiederholungen die vorbestimmten Anzahl
von Malen zum Wiederversuchen des Einpassvorgangs erreicht, es sei
denn, dass in Schritt a4 herausgefunden wird, dass sich der Roboter
um den vorbestimmten Betrag der Einpassbewegung bewegt hat. Wenn
in Schritt a4 ermittelt ist, dass sich der Roboter um den vorbestimmten
Betrag der Einpassbewegung bewegt hat, versetzt die CPU 21 den
Zähler C
in einen Zustand "0" und veranlasst den
Roboter, den Einpassvorgang zu beenden. Andererseits veranlasst
die CPU 21, wenn der Wert, der in dem Zähler C gespeichert ist, die
vorbestimmte Anzahl C0 von Malen zum Wiederversuchen des Einpassvorgangs erreicht
(Schritt a10), den Roboter, den Einpass- und Herausziehvorgang zu
stoppen und führt
einen Prozess zum Behandeln eines Fehlers durch, wie einen einen
Einpassfehler (Schritt a1).
-
Zuvor
ist das Ausführungsbeispiel
zum Durchführen
des Herausziehvorgangs in dem Fall, in dem aus irgendeinem Grund
ein Stopp des Einpassvorgangs auftitt und der Einpassvorgang nicht
abgeschlossen ist, beschrieben worden. Als nächstes wird der Prozess zum
Herausziehen eines eingepassten Teils 4 aus einem Aufnahmeteil 5 in
einem Zusammenbau, der durch eine Vielzahl von Teilen gebildet ist,
und zum Trennen derselben voneinander mit Bezug auf ein Flussdiagramm
gemäß 6 beschrieben.
-
Die
CPU 21 liest Blöcke
eines Roboterbetriebsprogramms einen nach dem anderen aus, wenn
der Roboter in einer Position (einer Position, die in 4a gezeigt ist) positioniert
ist, in welcher der Roboter das eingepasste Teil 4 halten
kann und dann liest die CPU 21 einen Block, der einen Herausziehbefehl
enthält.
Die CPU 21 startet einen Prozess gemäß 6.
-
Zuerst
berechnet die CPU 21 eine Versatzkraft f0 aus der Position
des Schwerpunkts und der Masse des zu trennenden eingepassten Teils
(Schritt b1). Die Position des Schwerpunkts und die Masse des eingepassten
Teils sind wie zuvor beschrieben vorab gegeben. Als nächstes veranlasst
die CPU 21 die Hand 7, den Schließvorgang
mit Kraftregelung unter Benutzung der berechneten Versatzkraft f0
als Ziel-Kraft zu starten (Schritt b2), setzt einen vorbestimmten
Handschließ-Zeitgrenzwert
in einem Zeitgeber und startet den Zeitgeber (Schritt b3). Dann berechnet
die CPU 21 eine Abweichung der Kraft, die durch den Kraftsensor 3 erfasst
wird, aus der Ziel-Kraft f0 (Schritt b4) und entscheidet, ob die
Abweichung der Kraft innerhalb eines vorbestimmten zulässigen Bereichs
liegt oder nicht (Schritt b5). Wenn sie nicht geringer als die zulässige Abweichung
ist, entscheidet die CPU 21, ob der Zeitgeber den Zeitgrenzwert
erreicht hat oder nicht (Schritt b7). Wenn der Zeitgeber den Zeitgrenzwert
nicht erreicht hat, wiederholt die CPU die Schritte b4, bS, b7,
um die Hand zu veranlassen, den Haltevorgang fortzusetzen. Da der
Haltevorgang unter Kraftregelung durchgeführt wird, die ihererseits in Übereinstimmung
mit der Ziel-Haltekraft f0 durchgeführt wird, wird wenn die Hand
eine Seite des eingepassten Teils 4 trifft, keine große Kraft
auf das eingepasste Teil 4 ausgeübt, und daher wird das eingepasste
Teil 4 oder das Aufnahmeteil 5 nicht beschädigt.
-
Wenn
die Abweichung der Kraft nicht geringer als die zulässige Abweichung
wird und der Zeitgeber den Zeitgrenzwert erreicht hat (Schritt b7), lässt die
CPU 21 die Hand den Haltevorgang stoppen und führt einen
Prozess zum Behandeln eines Fehles durch, wie eines solchen, der
einen Haltefehler anzeigt (Schritt b6).
-
Wenn
die berechnete Abweichung der Kraft in den zulässigen Bereich eintritt, bevor
der Zeitgeber den Zeitgrenzwert erreicht, veranlasst die CPU 21 den
Roboter dazu, den Herausziehvorgang zu starten (Schritt b6). Der
Herausziehvorgang ist der gleiche wie derjenige, der in dem Prozess
des Einpassvorgangs durchgeführt
wird, und die CPU 21 führt
die Subroutine aus, die in 7 gezeigt
ist. Es sei nur angemerkt, dass der Betrag L der Herausziehbewegung
bei dem Herausziehvorgang zum Zerlegen durch Parameter vorbestimmt
ist. Daher wird in Schritt c3 entschieden, ob sich der Roboter um
den vorbestimmten Betrag L der Herausziehbewegung bewegt hat.
-
Mit
der vorliegenden Erfindung ist es möglich, unter Kraftregelung
ein Einpassteil aus einem Aufnahmeteil herauszuziehen und dieselben
voneinander zu trennen. Daher kann selbst dann, wenn während des
Einpassvorgangs ein Stopp aufgetreten ist und der Einpassvorgang
nicht abgeschlossen ist, ein Einpassteil ohne Erfordernis manueller
Arbeit automatisch aus dem Aufnahmeteil herausgezogen from ein.
Der Einpass- und der Herausziehvorgang können automatisch wiederholt
werden. Demzufolge verbessert die vorliegende Erfindung die Arbeits-Leistungsfähigkeit
und die Produktions-Leistungsfähigkeit.