-
Hintergrund
-
Technisches Gebiet
-
Die vorliegende Offenbarung betrifft ein Verfahren und eine Vorrichtung zum Korrigieren von Bewegungen eines Roboters, und insbesondere ein Verfahren und eine Vorrichtung zum Korrigieren von Bewegungsveränderungen von Industrierobotern aufgrund einer bei dem Roboter aufgetretenen mechanischen Auslenkung.
-
Industrieroboter sind heutzutage unerlässliche Produktionsmittel in Fabriken und anderen Einrichtungen. Diese Industrieroboter (nachfolgend einfach als Roboter bezeichnet) werden üblicherweise mit einem für die Verwendung geeigneten Werkzeug verwendet, das an dem Roboterwirkglied angebracht ist. Ein solcher Roboter kann eine Bewegung durchführen, die eine Kraft in einer Richtung senkrecht zu dessen Installationsfläche aufbringt, wie in einem Fall, wenn ein durch das Werkzeug gehaltenes Werkstück an einer vorbestimmten Position eines Objekts montiert wird oder wenn eine Schraube in ein Werkstück geschraubt wird, falls das Werkzeug einem Schraubendreher entspricht, oder dergleichen.
-
Wenn eine solche Bewegung erfolgt, wird die durch den Roboter zu erzeugende Kraft üblicherweise durch einen Sensor oder dergleichen erlangt und beispielsweise hinsichtlich der Impedanz gesteuert, so dass die erlangte Kraft einer spezifizierten Druckkraft entsprechen wird. Um Kratzer auf der Oberfläche des Werkstücks zu verhindern oder eine Beschädigung des Werkstücks zu verhindern, wenn die Kraft aufgebracht wird, muss das Spitzenende des Roboters mit hoher Genauigkeit über dem Objekt ausgerichtet werden und das Lastmoment muss mit hoher Genauigkeit abgeschätzt werden.
-
Tatsächlich kann die unter der Steuerung geschaffene exakte Ausrichtung jedoch aufgrund einer mechanischen Auslenkung bzw. Abweichung des Roboters verloren gehen, die durch dessen Eigengewicht oder dergleichen hervorgerufen wird. Beim Auftreten einer mechanischen Auslenkung kann die Spitzenendposition des Werkzeugs von der Zielposition abweichen, was eine Montage des Werkstücks verhindert, oder das Lastmoment kann fehlerhaft abgeschätzt werden, was zum Aufbringen einer übermäßig großen Kraft führt. Als Gegenmaßnahmen für eine solche mechanische Auslenkung schlägt Patentdokument
JP H04-233602 A das Erfassen der bei einem Roboter hervorgerufenen mechanischen Auslenkung und ein Korrigieren der Wirkgliedposition des Roboters vor.
-
Zitierungsliste
-
Patentliteratur
-
-
Kurzfassung der Erfindung
-
Zu lösendes technisches Problem
-
Der in Patentdokument
JP H04-233602 A vorgebrachte Vorschlag liegt darin, ein auf jede Achse (W-Achse, U-Achse) aufgebrachtes Gelenkmoment zur Verwendung bei der Berechnung eines Auslenkungswinkels der Achse zu berechnen und die Wirkgliedposition basierend auf dem berechneten Auslenkungswinkel der Achse zu korrigieren. Im Falle des in diesem Patentdokument beschriebenen Roboters kann die Wirkgliedposition nicht geeignet korrigiert werden, falls sich das berechnete Gelenkmoment mehr oder weniger von dem tatsächlichen Moment unterscheidet. Die mechanische Auslenkung während einer Montage eines Werkstücks kann nicht nur durch das Eigengewicht des Roboters hervorgerufen werden, sondern ebenso durch eine während der Montage aufgebrachte externe Kraft. Der in diesem Patentdokument beschriebene Prozess kann nicht auf die Korrektur einer mechanischen Auslenkung angewendet werden, falls diese durch eine externe Kraft hervorgerufen wurde.
-
Diesbezüglich kann ein Kraftsensor oder dergleichen an dem Spitzenende angebracht sein, um die darauf aufgebrachte externe Kraft zum Berechnen der Auslenkung zu erfassen. Diese Konfiguration führt jedoch zur Verwendung einer zusätzlichen Komponente, wie eines Sensors, mit hoher Genauigkeit und kann die Kosten erhöhen. Andererseits kann sichergestellt werden, dass jede Achse eine hohe Steifigkeit besitzt, so dass keine Auslenkung hervorgerufen wird. Das Erreichen einer hohen Steifigkeit bei jeder Achse kann die Größe und das Gewicht des Arms erhöhen. Entsprechend ist es schwierig, eine hohe Steifigkeit mit anderen Anforderungen, wie einem geringen Raumbedarf, einer Geschwindigkeitszunahme oder einer Gewichtseinsparung, von Robotern auszugleichen.
-
Kurzfassung
-
Mit Blick auf die vorstehend dargelegten Umstände ist es wünschenswert, ein Verfahren zum Korrigieren einer Auslenkung eines Roboters vorzusehen, und insbesondere ein Verfahren zum Korrigieren einer Veränderung einer Bewegung eines Industrieroboters aufgrund einer bei dem Roboter aufgetretenen mechanischen Auslenkung vorzusehen, und eine Steuerungsvorrichtung für den Roboter vorzusehen.
-
Gemäß einem typischen Beispiel wird ein in einer Nicht-Rotationsrichtung entgegengesetzt zu einer Rotationsrichtung der ersten Achse auf die erste Achse aufgebrachtes Moment basierend auf einem in einer Rotationsrichtung auf die zweite Achse aufgebrachten Lastmoment, einem Moment aufgrund eines Eigengewichts auf einer Seite der zweiten Achse und einem Verhältnis aus einem Abstand zwischen Rotationsmitten der ersten Achse und der zweiten Achse relativ zu einem Abstand zwischen Rotationsmitten der zweiten Achse und eines Werkzeugs berechnet. Nachfolgend wird ein Auslenkungsbetrag, welcher durch einen Winkel der sich in der Nicht-Rotationsrichtung neigenden ersten Achse angegeben ist, basierend auf dem in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachten Moment und einer Steifigkeit der ersten Achse in der Nicht-Rotationsrichtung berechnet.
-
Daher kann der mechanische Auslenkungsbetrag der ersten Achse ohne die Notwendigkeit des Vorsehens einer zusätzlichen Komponente, wie eines Kraftsensors, berechnet werden. Außerdem wird basierend auf dem Auslenkungsbetrag ein Steuerungswert für die Steuerung des Roboters korrigiert, was die Notwendigkeit zum Erhöhen der Steifigkeit des Arms beseitigt. Entsprechend kann eine Veränderung einer Roboterbewegung aufgrund einer bei der Gelenkachse des Roboters hervorgerufenen Auslenkung ohne Beschränken einer Reduktion der Größe oder des Gewichts oder einer Geschwindigkeitszunahme des Roboters korrigiert werden.
-
Bei einem weiteren Beispiel wird das in der Rotationsrichtung auf die zweite Achse aufgebrachte Lastmoment aus einer Differenz zwischen Winkeln, die auf einer Eingangswellenseite und einer Ausgangswellenseite der zweiten Achse erfasst werden, und einer Steifigkeit eines bei der zweiten Achse vorgesehenen Verzögerers 24 berechnet. Daher kann ein in der Nicht-Rotationsrichtung auf die zweite Achse aufgebrachtes Lastmoment, das heißt, ein zum Berechnen eines Auslenkungsbetrags erforderlicher Parameter, ohne die Notwendigkeit des zusätzlichen Vorsehens einer Komponente berechnet werden.
-
Bei einem noch weiteren Beispiel wird ein auf einer Ausgangswellenseite der ersten Achse erfasster Winkel basierend auf dem Auslenkungsbetrag korrigiert. Daher kann der tatsächliche Rotationswinkel der ersten Achse beim Auftreten eines Fehlers bei den erfassten Winkeln aufgrund einer Auslenkung der ersten Achse geeignet erlangt werden. Entsprechend kann der Rotationswinkel der ersten Achse korrekt gesteuert werden und die distale Endposition des Werkzeugs kann beispielsweise mit hoher Genauigkeit bestimmt werden.
-
Vorzugsweise kann ein auf die erste Achse aufzubringendes abgeschätztes Lastmoment basierend auf dem Auslenkungsbetrag korrigiert werden. Daher kann das tatsächliche Lastmoment beim Auftreten eines Fehlers bei der Abschätzung des Lastmoments aufgrund einer Auslenkung der ersten Achse mit hoher Genauigkeit abgeschätzt werden. Diese Art und Weise der Korrektur kann verhindern, dass das Werkstück beschädigt wird, da der Roboter infolge einer fehlerhaften Bestimmung des Lastmoments als übermäßig klein eine übermäßige Kraft darauf aufbringt, oder dass dieses fehlerhaft montiert wird, da der Roboter infolge einer fehlerhaften Bestimmung des Lastmoments als übermäßig groß eine notwendige Kraft nicht erzeugen kann.
-
Vorzugsweise kann eine distale Endposition eines Werkzeugs basierend auf dem Auslenkungsbetrag korrigiert werden. Daher kann beim Auftreten einer fehlerhaften Ausrichtung der distalen Endposition des Werkzeugs aufgrund einer Auslenkung der ersten Achse die fehlerhafte Ausrichtung korrigiert werden. Entsprechend kann die distale Endposition des Werkzeugs mit hoher Genauigkeit bestimmt werden, was zum Verhindern einer Montage bei einer fehlerhaften Position oder zum Reduzieren möglicher Kratzer auf der Oberfläche des Werkstücks oder einer möglichen Beschädigung des Werkstücks führt.
-
Gemäß einem noch weiteren typischen Beispiel kann eine Korrekturvorrichtung für einen Roboter einen Momentenerlangungsabschnitt, welcher ein in einer Nicht-Rotationsrichtung auf eine erste Achse aufgebrachtes Moment erlangt, einen Auslenkungsbetragerlangungsabschnitt, welcher einen Auslenkungsbetrag der ersten Achse erlang, und einen Korrekturabschnitt, welcher einen Steuerungswert basierend auf dem Auslenkungsbetrag korrigiert, umfassen. Daher kann, wie vorstehend beschrieben ist, eine bei dem Roboter auftretende Auslenkung ohne Einschränken einer Reduktion der Größe oder des Gewichts oder einer Geschwindigkeitszunahme des Roboters korrigiert werden, da keine Notwendigkeit besteht, eine Komponente, wie einen Kraftsensor, bei dem Roboter zusätzlich vorzusehen oder die Steifigkeit des Arms zu erhöhen. Entsprechend kann die distale Endposition des Werkzeugs mit hoher Genauigkeit bestimmt werden und die auf das distale Ende des Werkzeugs aufgebrachte Kraft kann mit hoher Genauigkeit erfasst werden. Folglich kann der Roboter eine sehr schwierige Bearbeitung durchführen, die eine hohe Montagegenauigkeit erfordert.
-
Figurenliste
-
In den beigefügten Abbildungen sind:
- 1 eine schematische, perspektivische Ansicht, welche eine Gesamtkonfiguration eines Roboters gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt;
- 2 eine schematische Abbildung, welche eine Konfiguration eines Motors darstellt;
- 3 eine schematische Abbildung, welche Momente darstellt, die auf erste und zweite Achsen aufgebracht werden;
- 4A und 4B schematische Abbildungen, welche eine Verschiebung einer Leseposition eines Encoders bzw. Drehgebers aufgrund einer Auslenkung darstellen;
- 5 eine schematische Abbildung, welche ein Beispiel eines Arbeitsmodus eines Roboters darstellt;
- 6 ein Flussdiagramm, welches eine durch eine Steuerungsvorrichtung durchgeführte Verarbeitung darstellt;
- 7 eine schematische Abbildung, welche einen Zustand darstellt, in welchem eine Auslenkung aufgetreten ist;
- 8 ein Diagramm, welches ein Beispiel eines Verfahrens zum Berechnen einer Proportionalitätskonstante auf einer Versuchsbasis darstellt; und
- 9 ein Flussdiagramm ist, welches eine Modifikation darstellt.
-
Detaillierte Beschreibung der bevorzugten Ausführungsformen
-
Verschiedene Ausführungsformen werden mit Bezug auf die Abbildungen beschrieben.
-
Unter Bezugnahme auf 1 bis 8 erfolgt zunächst eine Beschreibung eines Verfahrens und einer Vorrichtung zum Korrigieren einer bei einem Roboter hervorgerufenen mechanischen Auslenkung gemäß einer Ausführungsform. Wie später beschrieben wird, sind dieses Verfahren und diese Vorrichtung durch eine Steuerungsvorrichtung verkörpert, welche einen Roboter steuert.
-
1 ist eine schematische perspektivische Ansicht, welche eine Gesamtkonfiguration eines Roboters 1 gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt. Wie in 1 gezeigt ist, ist der Roboter 1 mit einer bekannten Konfiguration als ein vertikal beweglicher Roboter mit einer Steuerungsvorrichtung 10 verbunden. Die Steuerungsvorrichtung 10 dient als eine Korrekturvorrichtung mit einer Korrekturfunktion, die bei der vorliegenden Offenbarung besonders ist.
-
Die Steuerungsvorrichtung 10 ist mit einer Steuerungseinheit 11 vorgesehen, die einen nicht gezeigten Mikrocomputer umfasst. Die Steuerungseinheit 11 umfasst beispielsweise eine Eingangs-/Ausgangsschnittstelle 11A, eine CPU (zentrale Verarbeitungseinheit) 11B, einen ROM (Nurlesespeicher) 11C, welcher Programme, spezifische Daten und dergleichen im Vorhinein speichert, und einen RAM (Direktzugriffsspeicher) 11D, welcher zum temporären Lesen/Schreiben von Daten verwendet wird, sowie weitere Elemente, welche nicht gezeigt sind, die zum Erreichen von Computerfunktionen verwendet werden.
-
Der ROM 11C speichert Daten verschiedener Programme einschließlich eines Programms für eine Robotersteuerung und eines Programms für eine Positions-/Haltungskorrektur (Auslenkungskorrektur) eines Wirkglieds eines Arms aufgrund einer bei dem Arm aufgetretenen Auslenkung. Die CPU 11B liest die Programme und führt diese sequenziell aus, wenn diese gestartet wird. Entsprechend wird der Aktivierungszustand des Roboters 1 gesteuert und gleichzeitig wird eine später beschriebene Korrektur mit Software ausgeführt. Daher dient der ROM 11C als ein nicht flüchtiges, computerlesbares Speichermedium.
-
Der ROM 11C kann einem Masken-ROM, einem PROM (programmierbarer ROM) oder anderen Typen von Speichervorrichtungen entsprechen.
-
Mit den mit Software ausgeführten Programmen dient die Steuerungsvorrichtung 10 als der Momentenerlangungsabschnitt, der Auslenkungsbetragerlangungsabschnitt und der Korrekturabschnitt, welche später spezifisch beschrieben werden. Der Momentenerlangungsabschnitt, der Auslenkungsbetragerlangungsabschnitt und der Korrekturabschnitt sind bei der vorliegenden Ausführungsform auf einer Softwarebasis durch die durch die Steuerungseinheit 11 (das heißt, die CPU 11B) der Steuerungsvorrichtung 10 ausgeführten Programme realisiert.
-
Der Roboter 1 besitzt eine auf einer Basis 2 vorgesehene Schulter 3. Die Schulter 3 ist über eine erste Achse (J1) mit einer Z-Richtungs-Wellenmitte horizontal rotierbar mit der Basis 2 verbunden. Die Schulter 3 besitzt einen distalen Endabschnitt, mit welchem ein unterer Arm 4, der sich nach oben erstreckt, über eine zweite Achse (J2), die einer Rotationsachse senkrecht zu der ersten Achse entspricht, rotierbar verbunden ist. Der untere Arm 4 besitzt einen distalen Endabschnitt, mit welchem ein erster oberer Arm 5 über eine dritte Achse (J3), die einer Rotationsachse parallel zu der zweiten Achse entspricht, rotierbar verbunden ist. Der erste obere Arm 5 besitzt einen distalen Endabschnitt, mit welchem ein zweiter oberer Arm 6 verdrehbar und rotierbar über eine vierte Achse (J4) verbunden ist, die einer Rotationsachse senkrecht zu der dritten Achse entspricht.
-
Der zweite obere Arm 6 besitzt einen gabelförmigen distalen Endabschnitt, mit welchem ein Handgelenk 7, das zwischen den beiden Vorsprüngen der Gabel des Handgelenks aufgenommen ist, über eine fünfte Achse (J5), die einer Rotationsachse senkrecht zu der vierten Achse entspricht, rotierbar verbunden ist. Das Handgelenk 7 ist mit einem Flansch 8 vorgesehen, welcher über eine sechste Achse (J6), die einer Rotationsachse senkrecht zu der fünften Achse entspricht, verdreh- und rotierbar mit dem Handgelenk 7 verbunden ist. Die ersten bis sechsten Achsen entsprechen den Gelenkachsen des Roboters 1.
-
An dem Flansch 8, welcher als ein äußerster Spitzenabschnitt des Arms des Roboters 1 dient, ist eine Hand oder ein Werkzeug 9 (siehe 5), welches ebenso als ein Wirkglied bezeichnet ist, oder dergleichen angebracht. Das Werkzeug 9 kann beispielsweise einem Halter zum Halten eines Werkstücks W (siehe 5), einem Schraubendreher zum Schrauben einer Schraube in das Werkstück W oder anderen Werkzeugen entsprechen.
-
Die Achsen des Roboters 1 sind mit jeweiligen Motoren vorgesehen, die als Antriebsquellen dienen, um die Arme zu rotieren. Die Motoren werden hinsichtlich der Rotationswinkel durch die Steuerungsvorrichtung 10 gesteuert, um die Haltung des Roboters 1 zu verändern. Von den Motoren ist ein in 2 gezeigter erster Motor 20 mit der ersten Achse als eine Rotationsachse auf der Innenseite der Basis 2 vorgesehen, der in einem Gehäuse 21 aufgenommen ist.
-
Der erste Motor 20 umfasst einen eingangswellenseitigen Encoder bzw. Messgeber bzw. Drehgeber 22, welcher einen eingangswellenseitigen Rotationswinkel erfasst, einen ausgangswellenseitigen Encoder 23, welcher einen ausgangswellenseitigen Rotationswinkel erfasst, und einen Verzögerer 24, welcher als ein Übertragungsmechanismus dient. Zur Vereinfachung verzichtet 2 auf einer Schraffur, welche einen Querschnitt angibt.
-
Der eingangswellenseitige Encoder 22 ist mit einem Achselement des ersten Motors 20 verbunden. Das Achselement ist koaxial zu der ersten Achse und umfasst eine Encoderscheibe 25 und ein Erfassungselement 26. Die Encoderscheibe 25 rotiert in einer Ebene senkrecht zu der ersten Achse. Das Erfassungselement 26 bringt Licht auf die Encoderscheibe 25 auf und empfängt das reflektierte Licht.
-
Der bei der vorliegenden Ausführungsform verwendete Encoder entspricht einem Encoder von Reflexionstyp, bei welchem eine Lichtquelle und ein lichtaufnehmendes Element in einer einzelnen Einheit aufgenommen sind. Der Encoder kann jedoch vom Übertragungstyp sein. Der eingangswellenseitige Encoder 20 ist an einer Rotationswelle 20a des ersten Motors 20 montiert.
-
Wie bekannt ist, ist die Encoderscheibe 25 mit einer Mehrzahl von Schlitzen vorgesehen und so konfiguriert, dass Abschnitte, welche Licht reflektieren, und Abschnitte, welche Licht weiterleiten, dem Erfassungselement 26 abwechselnd zugewandt sind, wenn die Encoderscheibe 25 rotiert. Das reflektierte Licht, welches durch die Schlitze eintritt, wird durch das Erfassungselement 26 erfasst, um einen Rotationswinkel der Encoderscheibe 25, das heißt, einen eingangswellenseitigen Rotationswinkel bei der ersten Achse, zu erhalten. Der eingangswellenseitige Encoder 22 kann vom Erhöhungstyp oder vom Absolut-Typ sein.
-
Die Encoderscheibe 25 und das Erfassungselement 26 sind mit einer Abdeckung 27 bedeckt. Die Abdeckung 27 mit einer Wärmewiderstandsstruktur trägt zum Verbessern des Wärmewiderstands des Encoders bei. Mit anderen Worten, der eingangswellenseitige Encoder 22 trifft Maßnahmen gegen eine Wärme oder ein Geräusch.
-
Das Erfassungselement 26 ist bei einer Position angeordnet, welche der Encoderscheibe 25 auf der Innenseite der Abdeckung 27 zugewandt ist. Die der Encoderscheibe 25 zugewandte Position bezieht sich hier auf eine Position, die den Schlitzen der Encoderscheibe 25 zugewandt ist. Daher rotiert die Encoderscheibe 25 entsprechend relativ zu dem Erfassungselement 26 in einem Zustand, in welchem diese dem Erfassungselement 26 direkt zugewandt ist, wenn der erste Motor 20 aktiviert und rotiert wird. Daher wird der eingangswellenseitige Rotationswinkel des ersten Motors 20 erfasst.
-
Der Verzögerer 24 reduziert die Drehzahl des Achselements des ersten Motors 20 und überträgt die verzögerte Rotation hin zu einer Ausgangsstufe, das heißt, der Ausgangswelle. Bei der vorliegenden Ausführungsform wird eine Wellenbewegungsverzahnungsvorrichtung als der Verzögerer 24 verwendet. Es kann irgendeine andere Struktur als der Verzögerer 24 als ein Übertragungsmechanismus verwendet werden, solange die Struktur das Drehmoment des ersten Motors 20 übertragen kann. Entsprechend kann ein von der Wellenbewegungsverzahnungsvorrichtung abweichender Mechanismus als der Verzögerer 24 verwendet werden. Der Verzögerer 24 besitzt eine Rotationswelle 24a, mit welcher der untere Arm 4 rotierbar verbunden ist.
-
Der ausgangswellenseitige Encoder 23 ist auf einer Ausgangswellenseite des Verzögerers 24 angeordnet. In gleicher Art und Weise wie der eingangswellenseitige Encoder 22 umfasst der ausgangswellenseitige Encoder 23 eine Encoderscheibe 25 und ein Erfassungselement 26, um den Rotationswinkel der ausgangswellenseitigen ersten Achse zu erfassen. Die Encoderscheibe 25 rotiert in einer Ebene senkrecht zu der ersten Achse. Das Erfassungselement 26 bringt Licht auf die Encoderscheibe 25 auf und empfängt das reflektierte Licht. Der ausgangswellenseitige Encoder 23 ist auf der Rotationswelle 24a des Verzögerers 24 montiert.
-
Die erste Achse ist so konfiguriert, dass diese Rotationswinkel auf sowohl Eingangs- als auch Ausgangswellenseiten erfasst. Der durch den eingangs- oder ausgangswellenseitigen Encoder 22 oder 23 erfasste Rotationswinkel kann nachfolgend als erfasste Winkel oder nur als Winkel bezeichnet sein. Daher werden die Rotationswinkel hochgenau erfasst und unter Verwendung der eingangs- und ausgangswellenseitig erfassten Winkel bestimmt.
-
Obwohl dies nicht gezeigt ist, umfasst die zweite Achse einen zweiten Motor, welcher in gleicher Art und Weise wie bei der ersten Achse mit Encodern auf den entsprechenden Eingangs- und Ausgangswellenseiten vorgesehen ist. Das heißt, die zweite Achse ist ebenso so konfiguriert, dass diese Winkel auf sowohl den Eingangs- als auch den Ausgangswellenseiten erfasst.
-
Der Auslenkungsbetrag bei erfassten Winkeln auf den jeweiligen Eingangs- und Ausgangswellenseiten der zweiten Achse, das heißt, ein Auslenkungsbetrag in der Rotationsrichtung, ist nachfolgend als Verdrehungswinkel bezeichnet. Es ist anzumerken, dass die dritten bis sechsten Achsen so konfiguriert sein können, dass diese lediglich den eingangswellenseitigen Rotationswinkel erfassen, oder so konfiguriert sein können, dass diese Rotationswinkel auf sowohl den Eingangs- als auch den Ausgangswellenseiten erfassen.
-
Die nachfolgende Beschreibung adressiert vorteilhafte Effekte, welche durch die vorstehend beschriebene Konfiguration hervorgebracht werden.
-
Wie in 3 schematisch gezeigt ist, erstreckt sich die erste Achse nahezu vertikal zu der Installationsfläche des Roboters 1, während sich die zweite Achse in einer Richtung senkrecht zu der ersten Achse erstreckt. Daher entspricht bei der vorliegenden Ausführungsform die Basis 2 dem ersten Arm mit der ersten Achse und die Schulter 3 entspricht dem zweiten Arm mit der zweiten Achse.
-
Auf die erste Achse wird eine äußere Kraft in einer Nicht-Rotationsrichtung aufgebracht, die von der Rotationsrichtung (R1) abweicht. Die äußere Kraft ist dem Eigengewicht auf der Seite der zweiten Achse oder der Haltungsveränderung des Roboters auf der Seite der zweiten Achse zuzuordnen. Mit anderen Worten, auf die erste Achse wird ein Moment in der Nicht-Rotationsrichtung aufgebracht, aufgrund welchem sich die erste Achse neigen kann, was zum Auftreten einer mechanischen Auslenkung bei der ersten Achse führt. Wie in 3 gezeigt ist, wird das in der Auslenkungsrichtung auf die erste Achse aufgebrachte Moment (N1) gleich dem in der Verdrehungsrichtung auf die zweite Achse aufgebrachten Moment (N2), da das untere Ende der zweiten Achse an der Basis 2 fixiert ist.
-
Wie vorstehend erwähnt, ist die erste Achse mit dem ausgangswellenseitigen Encoder vorgesehen. Wie in 4A gezeigt ist, bleibt die Rotationswelle 24a des Verzögerers 24 bei dem ausgangswellenseitigen Encoder 23 nicht geneigt, so dass die Encoderscheibe 25 dem Erfassungselement 26 direkt zugewandt ist, wenn keine mechanische Auslenkung vorliegt. In diesem Fall ist die Leseposition (P) korrekt positioniert, wie durch die doppelte Linie schematisch angegeben ist.
-
Beim Auftreten einer mechanischen Auslenkung bei der ersten Achse neigt sich die Rotationswelle 24a des Verzögerers 24, wie in 4B gezeigt ist, und die Encoderscheibe 25 ist dem Erfassungselement 26 nicht länger direkt zugewandt. In diesem Zustand ist die Leseposition (P) zu der korrekten Position versetzt, was einen Fehler bei erfassten Winkeln hervorruft. Der Fehler bei erfassten Winkeln kann die Genauigkeit der distalen Endposition des Werkzeugs 9 beeinträchtigen oder zu einer fehlerhaften Abschätzung des Lastmoments führen.
-
Da die erste Achse einer Art des Fußes des Roboters 1 entspricht, kann der Versatz des Fußes die distale Endposition des Werkzeugs 9 stark versetzen. Aus diesem Grund ist es wichtig, die bei der ersten Achse aufgetretene Auslenkung zu erfassen und eine ungewollte Veränderung der Bewegung aufgrund der Auslenkung zu korrigieren.
-
Wie in 5 gezeigt ist, wird insbesondere eine Bewegung angenommen, um beispielsweise das Werkzeug 9 vertikal gegen das Werkstück (W) zu drücken. Die Bewegung kann alternativ einer Bewegung zum Drücken des durch das Werkzeug 9 gehaltenen Werkstücks (W) in einer vertikalen Richtung entsprechen. Zum Zwecke der Vereinfachung stellt 5, sowie auf die später Bezug genommene 7, den Roboter 1 schematisch dar, welcher durch die Achsen und die Verbindungen, die zwischen den Achsen eine Verbindung vorsehen, dargestellt ist.
-
Bei der in 5 gezeigten Bewegung bringt der Roboter 1 eine Kraft (F) vertikal nach unten auf und dieser nimmt dann eine Reaktionskraft (Fb) in der Richtung entgegengesetzt zu dieser der aufgebrachten Kraft auf. Der Roboter 1 empfängt insbesondere eine externe Kraft in der vertikalen Richtung. Die externe Kraft, das heißt, die Reaktionskraft, wird in Form eines Moments in der Nicht-Rotationsrichtung auf die erste Achse ausgeübt.
-
Wenn eine externe Kraft in der vertikalen Richtung aufgenommen wird, ist das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment gleich der Summe aus dem in der Rotationsrichtung auf die zweite Achse aufgebrachten Lastmoment und dem Moment entsprechend dem Eigengewicht auf der Seite der zweiten Achse. Dies liegt daran, da das untere Ende der Basis 2 an der Installationsfläche fixiert ist.
-
Daher kann das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment berechnet werden, falls das in der Rotationsrichtung auf die zweite Achse aufgebrachte Lastmoment und das Moment gemäß dem Eigengewicht auf der Seite der zweiten Achse berechnet werden können. Falls darüber hinaus das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment berechnet werden kann, kann das Moment als eine Grundlage zum Berechnen des Neigungswinkels, das heißt, des Auslenkungsbetrags der ersten Achse in der Nicht-Rotationsrichtung, verwendet werden.
-
Diesbezüglich führt die Steuerungsvorrichtung 10 den in 6 gezeigten Prozess aus. Bei diesem Prozess erlangt die Steuerungsvorrichtung 10 ein in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachtes Moment (Schritt S1), erlangt ferner einen Auslenkungs- bzw. Abweichungsbetrag der ersten Achse (Schritt S2) und korrigiert den Steuerungswert basierend auf dem Auslenkungsbetrag (Schritt S3). Details der Schritte des Prozesses werden nachstehend beschrieben.
-
Zunächst sind die Parameter wie folgt definiert.
- N1:
- Moment [Nm], welches in der Nicht-Rotationsrichtung auf die erste Achse aufgebracht wird
- φ:
- Auslenkungsbetrag [Grad] der ersten Achse (Neigung der ersten Achse in der Nicht-Rotationsrichtung)
- N2:
- Lastmoment [Nm], welches in der Rotationsrichtung auf die zweite Achse aufgebracht wird
- g:
- Erdbeschleunigung [m/s2]
- m2:
- Masse [kg] eines Abschnitts, der sich ausgehend von der Ausgangswellenseite des Verzögerers der ersten Achse hin zu der Eingangswellenseite des Verzögerers der zweiten Achse erstreckt
- L12:
- Abstand [m] zwischen den Rotationsmitten der ersten und zweiten Achsen
- L2T:
- Abstand [m] zwischen den Rotationsmitten der zweiten Achse und des Werkzeugs
- K1:
- Steifigkeit [Nm/Grad] der ersten Achse in der Nicht-Rotationsrichtung
- K2:
- Steifigkeit [Nm/Grad] der zweiten Achse in der Verdrehungsrichtung
- K3:
- Proportionalitätskonstante
- θ1:
- erfasster eingangswellenseitiger Winkel [Grad] der ersten Achse
-
Von diesen Definitionen sind der Abstand zwischen den Rotationsmitten der ersten und zweiten Achsen und der Abstand zwischen den Rotationsmitten der zweiten Achse und des Werkzeugs 9 entsprechend als der Abstand L12 zwischen der ersten Achse (J1) und einer Vorsprungposition (J2'), bei welcher die zweite Achse zu der Installationsfläche vorsteht, und als der Abstand L2T zwischen der Vorsprungposition (J2') und der Rotationsmitte (Tc) des Werkzeugs 9 definiert, wie in 7 gezeigt ist.
-
Der Abstand zwischen den Rotationsmitten der ersten und zweiten Achsen kann aus der Haltung des Roboters berechnet werden, da der Abstand zwischen den ersten und zweiten Achsen bereits als ein Konstruktionswert bekannt ist.
-
Der Abstand zwischen den Rotationsmitten der zweiten Achse und des Werkzeugs 9 kann unter Verwendung eines Steuerungskoordinatensystems berechnet werden, in welchem die Position, welche die erste Achse durchläuft, allgemeinen als der Ursprung bestimmt ist. Dieser Abstand wird insbesondere beispielhaft aus der Ursprungskoordinate und der Koordinate der distalen Endposition des Werkzeugs 9, welche aus dem Steuerungswert erhalten wird, berechnet.
-
Wenn der Roboter
1 eine externe Kraft in der vertikalen Richtung aufnimmt, wird das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment aus folgenden Größen berechnet: dem in der Rotationsrichtung auf die zweite Achse aufgebrachten Lastmoment; dem Moment aufgrund des Eigengewichts auf der Seite der zweiten Achse; und dem Verhältnis aus dem Abstand zwischen den Rotationsmitten der ersten und zweiten Achsen zu dem Abstand zwischen den Rotationsmitten der zweiten Achse und des Werkzeugs
9, wie durch die nachfolgende Gleichung (1) ausgedrückt ist.
-
Das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment wird durch den Momentenerlangungsabschnitt erlangt, welcher auf einer Softwarebasis durch die Steuerungseinheit 11 (das heißt, CPU 11B) der Steuerungsvorrichtung 10 realisiert ist.
-
Der Auslenkungsbetrag der ersten Achse ist durch die nachfolgende Gleichung (2) ausgedrückt. Die Steifigkeit der ersten Achse in der Nicht-Rotationsrichtung kann aus der Spezifikation des Verzögerers 24 erhalten werden. Die Steifigkeit der ersten Achse in der Nicht-Rotationsrichtung ist andererseits als die Spezifikation des Verzögerers 24 veröffentlicht.
-
Basierend auf diesen Gleichungen (1) und (2) kann der Auslenkungsbetrag φ der ersten Achse aus der nachfolgenden Gleichung (3) berechnet werden.
-
Der Auslenkungsbetrag φ der ersten Achse wird durch den Auslenkungsbetragerlangungsabschnitt erlangt, der auf einer Softwarebasis durch die Steuerungseinheit 11 der Steuerungsvorrichtung 10 realisiert ist.
-
Wie allgemein bekannt ist, kann das in der Rotationsrichtung auf die zweite Achse aufgebrachte Lastmoment aus einem aktuellen Wert berechnet werden. Wenn die zweite Achse jedoch mit den eingangs- und ausgangswellenseitigen Encodern 22 und 23 vorgesehen ist, wie bei der vorliegenden Ausführungsform, kann das fragliche Lastmoment, wie in der nachfolgenden Gleichung (4) angegeben ist, basierend auf einem Verdrehungswinkel θ berechnet werden, welcher der Differenz zwischen den erfassten Winkeln entspricht. Die Steifigkeit der zweiten Achse in der Verdrehungsrichtung kann aus der Spezifikation des Verzögerers 24 erhalten werden. Andererseits ist die Steifigkeit der zweiten Achse in der Verdrehungsrichtung als die Spezifikation des Verzögerers 24 veröffentlicht.
-
Eine Differenz β zwischen den erfassten Winkeln der eingangs- und ausgangswellenseitigen Encoder 22 und 23 der ersten Achse kann in der nachfolgenden Gleichung (5) berechnet werden. Falls ein erfasster Winkel θ
1 des eingangswellenseitigen Encoders der ersten Achse und das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment berechnet werden, kann die Differenz zwischen den erfassten Winkeln der ersten Achse, das heißt, ein Fehler in dem erfassten Winkel der Ausgangswelle, berechnet werden.
-
Die Gleichung (5) wird erläutert. Falls ein Moment in der Nicht-Rotationsrichtung auf die erste Achse aufgebracht wird, wird sich die Rotationswelle 24a des Verzögerers 24 neigen. Diesbezüglich resultiert das Aufbringen eines Moments der gleichen Größe nicht immer in der gleichen Leseposition bezüglich der Encoderscheibe 25, diese kann jedoch in Abhängigkeit der Neigungsrichtung der Rotationswelle 24a in einer unterschiedlichen Leseposition resultieren. Insbesondere wird in 4A, falls ein Moment nach links aufgebracht wird, wie in der Figur gezeigt ist, die Leseposition stark verschoben. Falls jedoch ein Moment in Richtung zu der nahen Seite aufgebracht wird, wie in der Figur gezeigt, wird die Leseposition der Encoderscheibe nicht verschoben. Diese Variation der Leseposition tritt sinusförmig gemäß dem Eingangswellenwinkel θ1 der ersten Achse auf.
-
Die Proportionalitätskonstante (das heißt, der Gradient) K3 kann aus einem Konstruktionswert des Roboters 1 berechnet werden, oder diese kann einem tatsächlich gemessenen Wert entsprechen. Insbesondere kann der Eingangswellenwinkel θ1 der ersten Achse einem Winkel entsprechen, welcher den Versatz der Leseposition der Encoderscheibe 25 maximiert. Mit einem solchen Winkel kann ermöglicht werden, dass das auf die ausgangswellenseitige erste Achse aufgebrachte Moment variiert, wie in 8 unter Verwendung von Testeinrichtungen gezeigt ist, während welchem der bei der Ausgangswelle hervorgerufene Ausgangswellenwinkelfehler gemessen werden kann, um die Neigung als die Proportionalitätskonstante zu verwenden.
-
Auf diese Art und Weise kann das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment basierend auf dem in der Rotationsrichtung auf die zweite Achse aufgebrachten Lastmoment, dem auf die zweite Achse aufgrund dessen Eigengewicht aufgebrachten Moment und dem Verhältnis aus dem Abstand zwischen den Rotationsmitten der ersten und zweiten Achsen zu dem Abstand zwischen den Rotationsmitten und der zweiten Achse und des Werkzeugs 9 berechnet werden. Sobald das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment berechnet ist, kann der Auslenkungsbetrag der ersten Achse aus dem in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachten Moment und der Steifigkeit der ersten Achse in der Nicht-Rotationsrichtung berechnet werden.
-
Dann wird der Steuerungswert basierend auf diesen Ergebnissen korrigiert, um die Position des distalen Endes des Werkzeugs 9 mit hoher Genauigkeit zu bestimmen und das Lastmoment mit hoher Genauigkeit abzuschätzen. Die Korrektur erfolgt durch den Korrekturabschnitt, welcher auf einer Softwarebasis durch die Steuerungseinheit 11 der Steuerungsvorrichtung 10 realisiert ist.
-
Insbesondere kann die vorstehend dargelegte Gleichung (5) zum Berechnen eines Fehlers der erfassten Winkel basierend auf dem Auslenkungsbetrag verwendet werden, was eine Korrektur des Ausgangswerts, das heißt, eine Korrektur des erfassten Winkels des ausgangswellenseitigen Encoders 23, ermöglicht. Mit dieser Korrektur kann der ausgangswellenseitige Rotationswinkel der ersten Achse ohne einen Fehler genau erlangt werden, was zu einer erhöhten Genauigkeit beim Positionieren und zum Reduzierens von möglichen Kratzern auf der Oberfläche des Werkstücks (W) oder einer möglichen Beschädigung des Werkstücks (W) führt.
-
Die Verwendung des Auslenkungsbetrags für die Korrektur des erfassten Winkels des ausgangswellenseitigen Encoders 23 ermöglicht eine geeignete Erlangung der Differenz zwischen den Winkeln, die auf den Ausgangs- und Eingangswellenseiten der ersten Achse erfasst werden. Mit anderen Worten, der Verdrehungswinkel der ersten Achse kann geeignet erlangt werden. Daher kann das Lastmoment der ersten Achse basierend auf der Steifigkeit des Verzögerers und dem Verdrehungswinkel der ersten Achse ohne einen Fehler erlangt werden. Auf diese Art und Weise kann ein notwendiges Lastmoment mit hoher Genauigkeit spezifiziert werden, was zum Reduzieren einer übermäßigen Druckkraft oder einer Druckkraft in einer ungewünschten Richtung, oder zum Reduzieren eines möglichen Auftretens einer unzureichenden Druckkraft führt.
-
Der Auslenkungsbetrag kann zum direkten Korrigieren der distalen Endposition des Werkzeugs 9 verwendet werden. Falls eine Auslenkung beispielsweise nach links auftritt, wie in 7 gezeigt, kann die distale Endposition des Werkzeugs 9 entsprechend nach rechts bewegt werden, wie in 7 gezeigt ist, um die distale Endposition des Werkzeugs 9 mit hoher Genauigkeit zu bestimmen. Mit anderen Worten, der Fehler des Roboters 1 kann hinsichtlich dessen distaler Endposition und Haltung (dreidimensionale Position und Haltung) korrigiert werden.
-
Gemäß der vorstehend dargelegten Ausführungsform können die folgenden vorteilhaften Effekte erhalten werden.
-
Bei dem Korrekturverfahren gemäß der Ausführungsform wird das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment berechnet, um den Auslenkungsbetrag der ersten Achse zu berechnen, und der Auslenkungsbetrag wird zum Korrigieren des Steuerungswerts verwendet. Insbesondere wird das in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachte Moment basierend auf dem in der Rotationsrichtung auf die zweite Achse aufgebrachten Lastmoment, dem Moment aufgrund des Eigengewichts auf der Seite der zweiten Achse und dem Verhältnis aus dem Abstand zwischen den Rotationsmitten der ersten und zweiten Achsen zu dem Abstand zwischen den Rotationsmitten der zweiten Achse und des Werkzeugs 9 berechnet. Dann wird der Auslenkungsbetrag der ersten Achse aus dem in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachten berechneten Moment und der Steifigkeit der ersten Achse in der Nicht-Rotationsrichtung berechnet. Ferner wird der Steuerungswert unter Verwendung des Auslenkungsbetrags als eine Grundlage zum Korrigieren der Position des Wirkglieds bei dem distalen Ende des Arms korrigiert. Mit dem korrigierten Steuerungswert wird die Position und Haltung (Armbewegung) des distalen Endes (beispielsweise das distale Ende des Wirkglieds) des Roboterarms gemäß dem Auslenkungsbetrag korrigiert; das heißt, ungewollte Beträge der Position und Haltung werden korrigiert. Entsprechend stellt das Korrekturverfahren eine hochgenaue Position und Haltung des distalen Endes sicher.
-
Wie vorstehend beschrieben ist, kann eine durch eine externe Kraft hervorgerufene Auslenkung ohne Einschränken einer Größen- oder Gewichtsreduktion oder einer Geschwindigkeitszunahme des Roboters 1 korrigiert werden, da keine Notwendigkeit besteht, eine Komponente, wie einen Kraftsensor, bei dem Roboter zusätzlich vorzusehen oder die Steifigkeit des Arms zu erhöhen.
-
Darüber hinaus ermöglicht das Korrekturverfahren ein Positionieren des distalen Endes des Werkzeugs mit hoher Genauigkeit und eine Erfassung der auf das distale Ende des Werkzeugs aufgebrachten Kraft mit hoher Genauigkeit. Daher kann der Roboter eine sehr schwierige Bearbeitung durchführen, welche eine hohe Montagegenauigkeit erfordert.
-
In diesem Fall wird das auf die zweite Achse aufgebrachte Lastmoment aus der Differenz zwischen den auf den Eingangs- und Ausgangswellenseiten der zweiten Achse erfassten Winkeln und der Steifigkeit des bei der zweiten Achse vorgesehenen Verzögerers 24 berechnet. Daher kann das in der Rotationsrichtung auf die zweite Achse aufgebrachte Lastmoment ohne die Notwendigkeit des Vorsehens irgendeiner zusätzlichen Komponente bei dem Roboter berechnet werden.
-
Dann wird der auf der Ausgangswellenseite der ersten Achse erfasste Winkel unter Verwendung des Auslenkungsbetrags korrigiert, wodurch der Fehler zwischen dem tatsächlichen Rotationswinkel und dem erfassten Winkel reduziert wird und somit der Rotationswinkel geeignet gesteuert wird.
-
Die Verwendung des Auslenkungsbetrags zum Korrigieren des abgeschätzten Lastmoments der ersten Achse ermöglicht eine hochgenaue Abschätzung des Lastmoments. Diese Art und Weise der Korrektur kann verhindern, dass das Werkstück (W) dadurch beschädigt wird, dass der Roboter eine übermäßige Kraft darauf aufbringt, oder dass dieses dadurch fehlerhaft zusammengebaut wird, dass der Roboter nicht in der Lage ist, eine notwendige Kraft zu erzeugen.
-
Darüber hinaus ermöglicht die Verwendung des Auslenkungsbetrags für die Korrektur der distalen Endposition des Werkzeugs 9 eine hochgenaue Positionierung der distalen Endposition des Werkzeugs 9. Diese Art der Korrektur kann eine Montage bei einer fehlerhaften Position verhindern oder mögliche Kratzer auf der Oberfläche des Werkstücks (W) oder eine mögliche Beschädigung bei dem Werkstück (W) verhindern.
-
Die Steuerungsvorrichtung 10 kann ebenso zum Korrigieren einer Auslenkung verwendet werden, die durch eine externe Kraft hervorgerufen wird, ohne eine Größen- oder Gewichtsreduktion oder eine Geschwindigkeitszunahme des Roboters 1 zu beschränken, wobei die Steuerungsvorrichtung 10 mit einem Momentenerlangungsabschnitt, der ein in der Nicht-Rotationsrichtung auf die erste Achse aufgebrachtes Moment erhält, einem Auslenkungsbetragerlangungsabschnitt, welcher einen Auslenkungsbetrag der ersten Achse erhält, und einem Korrekturabschnitt, welcher den Steuerungswert basierend auf dem Auslenkungsbetrag korrigiert, vorgesehen ist. Dies liegt daran, da die Verwendung der Steuerungsvorrichtung 10 für die Korrektur die Notwendigkeit für ein zusätzlichen Vorsehen einer Komponente, wie eines Kraftsensors, bei dem Roboter oder ein Erhöhen der Steifigkeit des Arms beseitigen kann.
-
Weitere Ausführungsformen
-
Die vorstehend beschriebene Offenbarung sollte nicht dahingehend ausgelegt werden, dass diese auf die Ausführungsformen beschränkt ist, welche vorstehend beschrieben oder in den Abbildungen dargestellt sind, sondern diese kann über Modifikationen oder Erweiterungen der Ausführungsform oder Kombinationen dieser Ausführungsformen implementiert sein, ohne von dem Grundgedanken der Offenbarung abzuweichen.
-
Bei der vorstehenden Ausführungsform wird die distale Endposition des Werkzeugs 9 unter Verwendung eines Auslenkungsbetrags direkt korrigiert (Auslenkungskorrektur). Es können jedoch Bedingungen, dass keine Korrektur der Armbewegung durchgeführt wird, trotz der Erfassung einer Auslenkung des Roboters geschaffen sein. Insbesondere kann der Korrekturabschnitt so konfiguriert sein, dass dieser während einer Impedanzsteuerung keine Positionskorrektur vornimmt.
-
Beispielsweise kann in 7, auch wenn mit dem geeignet positionierten Roboter auf das Werkstück (W) gedrückt wird und eine Auslenkung durch die Reaktionskraft gegen die Druckkraft hervorgerufen wird, die distale Endposition des Werkzeugs 9 als geeignet positioniert angenommen werden.
-
In diesem Zusammenhang kann, falls der Roboter nach links ausgelenkt wird bzw. abweicht, wie in 7 gezeigt ist, automatisch gefolgt von einer Bewegung nach rechts des distalen Endes des Werkzeugs 9 gemäß dem Auslenkungsbetrag, das heißt, automatisch gefolgt von einer Korrektur der distalen Endposition des Werkzeugs, das distale Ende des Werkzeugs 9 von bzw. zu der geeigneten Position verschoben sein. Außerdem kann die Oberfläche des Werkstücks (W) durch das Werkzeug 9 verkratzt werden, da das Werkzeug 9 gegen das Werkstück (W) gedrückt wird.
-
Daher kann eine solche Konfiguration vorliegen, dass während einer Impedanzsteuerung, beispielsweise auch wenn eine Auslenkung erfasst wurde, keine Positionskorrektur erfolgt, insbesondere, dass während einer Impedanzsteuerung in einer Richtung senkrecht zu der Richtung, in welcher die Kraft aufgebracht wird, keine Positionskorrektur erfolgt. In diesem Fall kann die Bestimmung, ob eine Impedanzsteuerung durchgeführt wird, durch das Vorsehen einer Erfassungsvorrichtung für eine passive externe Kraft oder eine Erfassungsvorrichtung für eine aktive externe Kraft erfolgen. Die Erfassungsvorrichtung für eine passive externe Kraft kann eine externe Kraft in einem Zustand erfassen, in welchem der Roboter beispielsweise eine Druckkraft über ein Federelement oder dergleichen aufbringt. Die Erfassungsvorrichtung für eine aktive externe Kraft kann eine externe Kraft basierend auf einer Differenz beispielsweise zwischen dem bei dem Roboter 1 vorgegebenen Steuerungswert und dem tatsächlichen Betrag der Bewegung erfassen. Alternativ kann die Bestimmung, ob der Roboter 1 bei dem Werkstück (W) angekommen ist, aus dem Steuerungswert erfolgen.
-
Insbesondere kann der Steuerungseinheit 11 ermöglicht sein, den in 9 gezeigten Prozess auszuführen. Die CPU 11B der Steuerungseinheit 11 kann insbesondere während einer Ausführung des im Vorhinein in dem ROM 11C gespeicherten Programms bestimmen, ob der aktuelle Zustand zum Durchführen der Auslenkungskorrektur ungünstig ist, wie eine Impedanzsteuerung, (ob der aktuelle Zustand einem Auslenkungskorrektur-Sperrzustand entspricht) (Schritt S11).
-
Falls die Bestimmung gleich Ja ist, stellt die CPU 11B ein Kennzeichen F ein, welches eine Auslenkungskorrektursperrung angibt, um Anweisungen für eine Auslenkungskorrektursperrung vorzugeben (Schritt S12: F = 1). Der Initialwert des Kennzeichens F ist gleich 0. Dann wartet die CPU 11B ein vorbestimmtes Zeitintervall (Schritt S13) und wiederholt die vorgenannte Verarbeitung, solange die Steuerung nicht beendet wird (Nein bei Schritt S14). Falls die Bestimmung bei Schritt S11 Nein ergibt, stellt die CPU 11B das Kennzeichen F auf 0 ein, um das Steuerungsprogramm über das Aussetzen der Korrektursperrung zu informieren. Daher überwacht die CPU 11B den Zustand des Kennzeichens F beispielsweise periodisch, um eine Auslenkungskorrektur auszuführen oder zu verhindern, während das Steuerungsprogramm ausgeführt wird.
-
Die Bedingungen für eine Auslenkungskorrektursperrung sind nicht notwendigerweise auf die Zeitdauer der Ausführung einer Impedanzsteuerung beschränkt, sondern können andere Bedingungen entsprechen, bei welchen die distale Endposition des Werkzeugs 9 besser nicht zwangsweise korrigiert wird.
-
Die vorstehende Ausführungsform wurde beispielhaft anhand eines vertikal beweglichen Roboters beschrieben. Das Korrekturverfahren der Ausführungsform kann jedoch auf einen horizontal beweglichen Roboter angewendet werden.
-
Bei der vorstehenden Ausführungsform dient die Rotationswelle (J1) der Basis 2 als die erste Achse und die Rotationswelle (J2) der Schulter 3 dient als die zweite Achse. Die ersten und zweiten Achsen, welche mit einer Mehrzahl von Armen vorgesehen sind, sind jedoch nicht auf die Verwendung zum Kombinieren der Rotationswellen J1 und J2 der Basis 2 bzw. der Schulter 3 beschränkt. Solange zwischen Achsen eine rechtwinklige Beziehung geschaffen ist, kann eine andere Rotationswelle des Roboters 1 als die erste Achse dienen und eine Welle senkrecht zu der Rotationswelle kann als die zweite Achse dienen und die Auslenkung der Rotationswelle kann berechnet oder korrigiert werden.
-
Bezugszeichenliste
-
In den Abbildungen sind:
- 1
- Roboter
- 2
- Basis (der erste Arm)
- 3
- Schulter (der zweite Arm)
- 9
- Werkzeug (Haltewerkzeug)
- 10
- Steuerungsvorrichtung
- 11
- Steuerungseinheit (Momentenerlangungsabschnitt, Auslenkungsbetragerlangungsabschnitt, Korrekturabschnitt)
- 20
- Erster Motor (Motor)
- J1
- Eine erste Achse (die erste Achse)
- J2
- Eine zweite Achse (die zweite Achse)
-
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
-
- JP H04233602 A [0004, 0005, 0006]