DE69925204T2 - Robotersteuerung - Google Patents

Robotersteuerung Download PDF

Info

Publication number
DE69925204T2
DE69925204T2 DE69925204T DE69925204T DE69925204T2 DE 69925204 T2 DE69925204 T2 DE 69925204T2 DE 69925204 T DE69925204 T DE 69925204T DE 69925204 T DE69925204 T DE 69925204T DE 69925204 T2 DE69925204 T2 DE 69925204T2
Authority
DE
Germany
Prior art keywords
coordinate system
tool
robot
workpiece
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69925204T
Other languages
English (en)
Other versions
DE69925204D1 (de
Inventor
Koichi Okanda
Takeaki Aramaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE69925204D1 publication Critical patent/DE69925204D1/de
Application granted granted Critical
Publication of DE69925204T2 publication Critical patent/DE69925204T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4086Coordinate conversions; Other special calculations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39134Teach point, move workpiece, follow point with tip, place tip on next point
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39137Manual teaching, set next point when tool touches other tool, workpiece
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45104Lasrobot, welding robot

Description

  • Die vorliegende Erfindung bezieht sich auf ein Roboter-Steuereinrichtung zum Erleichtern einer Einlernarbeit.
  • Ein Verfahren zum Einlernen eines Roboters ist das direkte Einlernen, bei dem ein Roboter von Hand bedient wird, um auf diese Weise jeden Einlernpunkt einzulernen. In diesem Verfahren lernt eine Bedienungsperson selektiv die Einlernpunkte ein, während sie die positionsmäßige Beziehung zwischen Werkzeugen, die an dem Handgelenk des Roboters angebracht sind, und dem Werkstück überwacht.
  • Wenn jedoch beispielsweise eine Position in dem unteren Teil des Körpers eines Fahrzeug als eine Position für eine Punktschweißung einzulernen ist, ist es wahrscheinlich, dass diese einzulernende Position nicht gesehen werden kann. Herkömmlicherweise hat man sich beim Einlernen von Orten, bei denen die positionsmäßige Beziehung zwischen den Roboter-Werkzeugen und dem Werkstück schwierig zu erkennen ist, auf die Intuition der Bedienungsperson verlassen. Wenn eine Berührungsposition eines Werkzeugs und eines Werkstücks eingelernt wird, werden durch die Bedienungsperson die Berührungsbedingungen festgestellt. Wenn es schwierig ist, einen Ort zu sehen, haben auch Verfahren, wie zuvor beschrieben, bei denen man sich auf die Intuition der Bedienungsperson verlassen hat, oder bei denen die Bedienungsperson den Ort einlernt, während sie sich mit Hilfe einer Lampe Gewißheit über die Berührung zwischen Werkzeugen und einem Werkstück verschafft, in die Praxis Eingang gefunden.
  • In Fällen, in denen eine Position eingelernt wird, wobei ein Roboter (Werkzeug) in einer festen Richtung um einen festen Betrag von einer gegenwärtigen Position aus bewegt werden sollte, ist herkömmlicherweise ein Verfahren ange nommen worden, bei dem eine Handbetätigung ausgeführt wird, während die Bedienungsperson die gegenwärtige Position des Roboters (des Werkzeugs) bestätigt, der Roboter (das Werkzeug) bis zu der Einlernposition bewegt wird, die gewünschte Bewegungsdistanz zu der gegenwärtigen Position addiert wird und die Einlernposition direkt gewonnen wird.
  • Es gibt auch Fälle, in denen es vorzuziehen ist, die Position oder Stellung eines Werkzeugs durch Durchführen einer Vorgewegungsbetätigung von Hand zu der Position zu ändern, zu der das Werkzeug zu bewegen ist, wobei der Werkzeugmittelpunkt als eine Referenz herangezogen wird. In diesem Fall wird herkömmlicherweise das Werkzeug-Koordinatensystem jedesmal dann rückgesetzt, wenn die Position, in welcher der Werkzeugmittelpunkt gesetzt wird, geändert wird. Ferner betätigt die Bedienungsperson, wenn ein Einlernpunkt eingelernt wird, wobei das Werkzeug in einer festen Stellung in Berührung mit dem Werkstück gebracht oder nahe an dieses herangeführt wird, das Werkzeug von Hand, bis die gewünschte Stellung erreicht ist.
  • Wenn man sich jedoch auf die Intuition der Bedienungsperson beim Einlernen von Positionen verlässt, die nur unter Schwierigkeiten zu sehen sind, führt dies zu Ungenauigkeiten beim Einlernen der Positionen, und die Einlernarbeit wird daher schwierig. Ferner treten im Falle des Einlernens der Position einer Berührung des Werkstücks und des Werkzeugs Änderungen der Einlernposition auf, und eine zuverlässige Einlernarbeit wird schwierig, wenn man sich beim Einlernen auf die Intuition der Bedienungsperson verlässt oder wenn die Bedienungsperson das Einlernen ausführt, während sie die Berührungsposition eines Werkstücks und eines Werkzeugs unter Benutzung einer Lampe überwacht.
  • Im Falle von Betätigungen zum Bewegen um einen festen Betrag in einer festen Richtung von einer gegenwärtigen Position aus mit Verfahren, bei denen eine Einlernposition mit tels einer Vorbewegung von Hand durch die Bedienungsperson oder durch Addieren einer Bewegungsdistanz zu einer gegenwärtigen Position gewonnen wird, treten Änderungen der Einlernposition auf, und die Einlernarbeit wird komplex. Ferner macht auch ein Rücksetzen eines Werkzeug-Koordinatensystems jedesmal dann, wenn der Werkzeugmittelpunkt bewegt wird, wenn die Werkzeugstellung geändert wird, wobei der Werkzeugmittelpunkt als eine Referenz angenommen wird, oder das Gewinnen einer Stellung des Werkzeugs durch Handbetätigung, wenn ein Werkzeug in einer festen Stellung in Berührung mit einem Werkstück gebracht oder nahe an dieses herangeführt wird, die Einlernarbeit kompliziert.
  • In der Druckschrift US-A-5343385 sind ein Verfahren und eine Vorrichtung zum Bestimmen einer kollisionsfreien Einführungsbewegungsbahn eines bewegten festen Körpers innerhalb eines Hohlraums offenbart, wobei der Körper in bestimmer Weise bewegt wird, um eine Kollision zwischen einem sehr großen Satz von Körper-Oberflächenelementen, welche die Körper-Oberfläche beschreiben, und einem sehr großern Satz von Hohlraum-Oberflächenelementen, die den Hohlraum definieren, zu vermeiden.
  • Die Druckschrift US-A-5008832 offenbart einen Industrie-Roboter, der in der Lage ist, automatisch Betriebsbedingungen in Übereinstimmung mit einer Installationsposition des Industrie-Roboters abhängig von dem Winkel einer Neigung einer Roboter-Einheit zu setzen, wenn sie beispielsweise auf der Oberfläche einer Wand oder einer Decke eines Gebäudes statt eines auf der Oberfläche Bodens montiert ist.
  • Die Druckschrift EP-A-0785492 beschreibt ein Anstoß-Betriebsverfahren für einen Roboter, das durch eine Roboter-Steuereinrichtung gemäß dem Oberbegriff des vorliegenden Anspruchs erzielt wird.
  • Eine Aufgabe der vorliegende Erfindung besteht darin, eine Roboter-Steuereinrichtung zu schaffen, die einen Einlernvorgang unterstützen kann und mit der das Einlernen unkompliziert ist.
  • Gemäß der vorliegenden Erfindung ist eine Roboter-Steuereinrichtung vorgesehen, die umfasst: Mittel zum Gewinnen einer Zielstellung eines Roboters in Abhängigkeit von einer Richtung, die einem Werkzeug zugeordnet ist, das an dem Roboter angebracht ist, und einer Richtung, die einem Werkstück zugeordnet ist, gekennzeichnet durch ein Mittel zum Speichern einer Roboter-Stellungsausrichtungsbedingung, die durch die relative Beziehung zwischen einem Werkzeug-Koordinatensystem, das für die Position und die Stellung des Werkzeugs gesetzt worden ist, und einem Arbeits-Koordinatensystem bestimmt ist, das für die Umgebung gesetzt worden ist, in der das Werkstück plaziert worden ist, welches Mittel zum Gewinnen einer Zielstellung des Roboters eingerichtet ist, um die Roboter-Stellungsausrichtungsbedingung zu erfüllen, die in dem Mittel zum Speichern gespeichert ist, wenn ein Stellungsausrichtungsbefehl eingegeben ist, und Mittel zum automatischen Bewegen des Roboters in die Zielstellung.
  • Die Roboter-Steuereinrichtung kann automatisch auf das Eingeben eines Stellungsausrichtungs-Befehls von Hand hin eine Zielposition erreichen, eine Achse für ein gesetztes Werkzeug-Koordinatensystem wird selektiv gesetzt, und eine Achse für ein Arbeits-Koordinatensystem wird selektiv gesetzt, welche Achsen sich unter einem gesetzten Winkel durchschneiden oder parallel zueinander sind. Diese Vorgänge laufen auf der Grundlage gesetzter Daten für den Durchschneidungswinkel oder der Beziehung dieser Achsen zueinander ab. Dann wird der Roboter von Hand gesteuert, um ihn zu der Zielposition zu bewegen. Diese Prozeduren erleichtern die Einlernarbeit.
  • Die Einlernarbeit kann auch durch automatisches Gewinnen einer Zielposition unter Benutzung eines von Hand eingegebenen Ausrichtungs-Befehls und durch Vorbewegen des Roboters zu der Zielposition von Hand erleichtert werden, wenn eine Beziehung, die für das Werkzeug-Koordinatensystem und das Arbeits-Koordinatensystem gesetzt ist, erfüllt ist.
  • Wenn ein Werkzeug, das bewegliche Teile hat, an einem Handgelenk an dem Ende eines Roboter-Arms angebracht ist, und ein Referenz-Werkzeug-Koordinatensystem für die beweglichen Teile gesetzt ist, kann das Referenz-Werkzeug-Koordinatensystem auf der Grundlage des Betrags einer Bewegung der beweglichen Teile des Werkzeugs und des Werkzeug-Koordinatensystems, das auf die Bewegung der beweglichen Teile des Werkzeugs ausgerichtet ist, transformiert werden. Dies erleichtert ebenfalls die Einlernarbeit.
  • Wenn in der Roboter-Steuereinrichtung Aufschubbedingungen für ein Vorbewegen von Hand voreingestellt sind und ein Überwachungsmittel erfasst, dass die Aufschubbedingungen während des Vorbewegens von Hand erfüllt worden sind, kann das Vorbewegen von Hand automatisch aufgeschoben werden. Dies erleichtert ebenfalls die Einlernarbeit.
  • Das zuvor Beschriebene und weitere Merkmale von Ausführungsbeispielen der Erfindung werden aus der folgenden Beschreibung bevorzugter Ausführungsbeispiele der Erfindung unter Bezugnahme auf die vorliegenden Figuren ersichtlich.
  • 1 zeigt ein Blockschaltbild der grundlegenden Teile einer Roboter-Steuereinrichtung gemäß der vorliegenden Erfindung.
  • 2 zeigt eine Ansicht, die ein Einlern-Schaltfeld der Roboter-Steuereinrichtung gemäß 1 veranschaulicht.
  • 3 zeigt ein Flussdiagramm, das eine Stellungsausrichtungs-Verarbeitung darstellt, die durch ein erstes Ausführungsbeispiel der vorliegenden Erfindung durchgeführt wird.
  • 4(a) bis 4(g) zeigen Darstellungen, die Aktionen veranschaulichen, die mittels des ersten Ausführungsbeispiels ausgeführt werden.
  • 5 zeigt ein Flussdiagramm, das eine Stellungsausrichtungs-Verarbeitung darstellt, die mittels eines zweiten Ausführungsbeispiels der vorliegenden Erfindung durchgeführt wird.
  • 6(a) bis 6(c) zeigen Darstellungen, die Aktionen veranschaulichen, die mittels des zweiten Ausführungsbeispiels ausgeführt werden.
  • 7 zeigt ein Flussdiagramm, das einen Werkzeug-Koordinatensystem-Neufestlegungsprozess darstellt, der mittels eines dritten Ausführungsbeispiels durchgeführt wird, das sich nicht mit der vorliegenden Erfindung in Übereinstimmung befindet.
  • 8(a) bis 8(c') und 9(a) bis 9(c') zeigen Darstellungen, die Aktionen veranschaulichen, die mittels des dritten Ausführungsbeispiels ausgeführt werden.
  • 10 zeigt ein Flussdiagramm, das einen Prozess zum automatischen, zeitweiligen Aufschieben eines von Hand eingeleiteten Vorbewegens darstellt.
  • 11(a) bis 11(d) zeigen Darstellungen, die Anwendungen jedes der Ausführungsbeispiele der vorliegenden Erfindung auf eine Servo-Pistole zum Ausführen einer Punktschweißung veranschaulichen.
  • 12 zeigt eine Darstellung, die einen Vorgang zum Zurückziehen veranschaulicht, nachdem ein Werkzeug ein Werkstück berührt hat, wenn jedes Ausführungsbeispiel der vorliegenden Erfindung auf einen Luftpulser zum Ausführen einer Punktschweißung angewendet ist.
  • 13(a) bis 13(c) zeigen Darstellungen, die einen Vorgang veranschaulichen, wenn jedes Ausführungsbeispiel der vorliegenden Erfindung auf eine Hand mit beweglichen Teilen angewendet ist, die durch ein Servosystem angetrieben werden.
  • 1 zeigt ein Blockschaltbild der grundlegenden Teile einer Roboter-Steuereinrichtung gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung, welche die gleiche Konfiguration wie eine Roboter-Steuereinrichtung nach dem Stand der Technik hat.
  • Mit einem Bus 107 sind ein Haupt-Prozessor 101 (im folgenden einfach als "Prozessor" bezeichnet), ein Speicher 102, der einen RAM, einen ROM und einen nichtflüchtigen Speicher (EEPROM usw.) umfasst, eine Einlernschaltfeld-Schnittstelle 103, eine Eingabe/Ausgabe-Schnittstelle 106 zur Benutzung mit externen Einrichtungen und eine Servo-Steuereinheit 105 verbunden. Mit der Einlernschaltfeld-Schnittstelle 103 ist ein Einlernschaltfeld 104 verbunden.
  • In dem ROM des Speichers 102 ist ein Systemprogramm gespeichert, das die grundlegenden Funktionen des Roboters und der Roboter-Steuereinrichtung unterstützt. In dem nichtflüchtigen Speicher des Speichers 102 sind Programme zum Betreiben des einzulernenden Roboters in Rekation auf Anwendungen und darauf bezogene gesetzte Daten gespeichert. Der RAM des Speichers 102 wird als ein Speicherbereich zum vorübergehenden Speichern von Daten benutzt, die in verschiedenen arithmetischen Verarbeitungen auftreten, die durch den Prozessor 101 ausgeführt werden.
  • Die Servo-Steuereinheit 105 ist mit Servo-Steuereinrichtungen #1, #2, ... #n ausgestattet (wobei n eine Zahl ist, die durch Addieren der Anzahl bewegbarer Achsen des Werkzeugs zu der Gesamtanzahl von Achsen des Roboters gegeben ist), empfängt Bewegungsbefehle zum Steuern des Roboters, die sich aus einer arithmetischen Verarbeitung (Bereichs-Planfertigung sowie einer Interpolation und Invers-Transformationen usw. auf der Grundlage dieser Bereichs-Planfertigung) ergeben, und steuert Servomotoren, die Aktoren für jeden der Axial-Mechanismen des Roboters antreiben, über Servo-Verstärker.
  • Mit externen Eingabe/Ausgabe-Schaltungen der Eingabe/Ausgabe-Schnittstelle 106 sind Sensoren, die an dem Roboter vorgesehen sind, und Sensoren und Aktoren für periphere Einrichtungen verbunden, wobei insbesondere im Falle der vorliegenden Erfindung Sensoren zum Erfassen von Berührungen zwischen Werkzeugen und dem Werkstück angeschlossen sind.
  • Die Konfiguration für die Roboter-Steuereinrichtung, die zuvor beschrieben wurde, unterscheidet sich nicht von einer Roboter-Steuereinrichtung nach dem Stand der Technik. Die vorliegende Erfindung unterscheidet sich jedoch dadurch vom Stand der Technik, dass eine Stellungsausrichtungs-Taste in dem Einlernschaltfeld 104 vorgesehen ist und dass eine Steuerung oder dgl. der Stellung und der Position eines Werkzeugs automatisch ausgeführt wird, um eine Einlern-Unterstützung zu schaffen.
  • 2 zeigt eine Ansicht, die ein Beispiel für ein Einlernschaltfeld 104 gemäß der vorliegenden Erfindung veranschaulicht. Dieses Einlernschaltfeld 104 unterscheidet sich dadurch von einem Einlernschaltfeld nach dem Stand der Technik, dass eine Stellungsausrichtungs-Taste 19 vorgesehen ist und unter Benutzung einer Funktionstaste 11 ein Modus für eine Einlern-Unterstützung (später zu beschreiben) ausgewählt werden kann, wobei andere Gesichtpunkte die gleichen wie beim Stand der Technik sind.
  • 2 zeigt lediglich den Teil, der sich auf die vorliegende Erfindung bezieht, wobei andere Teile fortgelassen sind, d. h. solche, die zur einschlägigen Technik gehören. Das Einlernschaltfeld 104 gemäß 2 hat eine Anzeigeeinrichtung 10, die eine LCD usw. umfasst, die Funktionstaste 11 zum Auswählen eines Modus für eine Einlern-Unterstützung gemäß der vorliegenden Erfindung, eine Linearbewegungs-Taste 12 zum Erteilen von Befehlen zur Bewegung in positiven und negativen Richtungen längs Achsen X, Y u. Z eines orthogonalen Koordinatensystems, das aus Koordinatensystemen (ein Roboter-Referenz-Koordinatensystem, ein Arbeits-Koordinatensystem, das relativ zu dem Referenz-Koordinatensystem gesetzt ist, und ein Werkzeug-Koordinatensystem) durch eine Taste 16 zum Auswählen eines Koordinatensystems ausgewählt ist, Drehbetätigungs-Tasten 13 zum Erteilen von Befehlen zur Drehung in positiven und negativen Richtungen um die Achsen X, Y u. Z und Achsenbetätigungs-Tasten 14 zum Befehlen von Betätigungen des Roboters in positiven und negativen Richtungen jeder von Gelenkachsen J1 bis J6. Das in 2 gezeigte Einlernschaltfeld 104 ist für einen 6-Achsen-Roboter vorgesehen.
  • Ferner ist das Einlernschaltfeld 104 wie beim Stand der Technik außerdem mit einer Umschalt-Taste 15, die zusammen mit jeder der Betätigungs-Tasten 12, 13 u. 14 zum Eingeben betreffender Befehle zu drücken ist, der Taste 16 zum Auswählen eines Koordinatensystems, einer Modus-Taste 17 zum Umschalten zwischen einem Einlern-Modus und einem Wiedergabe-Modus und einer Funktionsauswahl-Taste 18 zum Auswählen einer Einstellung von Anzeigeeinrichtungs-Bildschirmen für die verschiedenen Koordinatensysteme, Einstellungen, Parameter-Einstellungen usw. ausgestattet, um vorzunehmende Einstellungen zu ermöglichen.
  • In Wirklichkeit ist das Einlernschaltfeld 104 außerdem mit Tasten, wie verschiedenen Befehls-Tasten, die auch ein Einlernschaltfeld nach dem Stand der Technik haben würde, zusätzlich zu solchen Tasten versehen, die zuvor beschrieben wurden. 2 zeigt jedoch nur Tastenbereiche, die sich direkt auf die vorliegende Erfindung beziehen.
  • Eine Bedienungsperson führt unter Benutzung des Einlernschaltfelds 104 durch manuelles Betätigen in der gleichen Weise wie beim Stand der Technik das Wiedergeben eines eingelernten Betriebsprogramms, eine Versetzungs-Bewegung und dgl. zusätzlich zum Einlernen eines Roboter-Betriebsprogramms, zum Modifizieren und zum Registrieren des Programms und zu einem Setzen verschiedener Parameter aus. Die Anzeigeeinrichtung kann auch dazu benutzt werden, Befehle an die Bedienungsperson zu erteilen sowie Eingabedaten und Simulationsergebnisse anzuzeigen.
  • [Erstes Ausführungsbeispiel]
  • Das erste Ausführungsbeispiel ändert automatisch eine Werkzeugstellung in einer Weise, dass die Beziehung zwischen einem Werkzeug, das an einem Handgelenk am Ende eines Roboter-Arms angebracht ist, und einem Werkstück zu einer gewünschten Beziehung wird.
  • Insbesondere ändert das erste Ausführungsbeispiel automatisch eine Werkzeugstellung in einer Weise, dass eine Achse, die aus allen Achsen eines Arbeits-Koordinatensystems W ausgewählt ist, das für das Werkstück gesetzt ist, relativ zu dem Roboter-Referenz-Koordinatensystem und einem Werkzeug-Koordinatensystem T gestellt wird, das in bezug auf das Werkzeug gesetzt ist, und eine Beziehung (Durchschneidungseinkel), die für diese Achsen gesetzt ist, erreicht wird. Wie später anhand von 11(c) beschrieben ist dies auf Fälle zum Einstellen der Stellung einer Punktschweißpistole in einer Weise anwendbar, dass das vordere Ende der Punktschweißpistole (Werkzeug) und die Oberflächenposition eines zu schweißenden Werkstücks in bezug zueinander senkrecht werden.
  • Die Arbeitsweise dieses ersten Ausführungsbeispiels wird unter Bezugnahme auf 3, welche die Verarbeitung durch den Haupt-Prozessor 101 der Roboter-Steuereinrichtung zeigt, und 4(a) bis 4(g) beschrieben, welche die Arbeitsweise gemäß dem Ausführungsbeispiel veranschaulichen. 4(a) bis 4(g) zeigen ein Beispiel für den Einsatz einer Punktschweißpistole als ein Werkzeug.
  • Zunächst wird vorab die Funktionsauswahl-Taste 18 betätigt, und es werden, wie in 4(a) gezeigt, ein Werkzeug-Koordinatensystem T und ein Arbeits-Koordinatensystem W in der gleichen Weise wie im Falle des Standes der Technik gesetzt.
  • Gemäß diesem Ausführungsbeispiel wird eine Stellungsausrichtung in einer Weise ausgeführt, dass sich eine Achse, die für das Arbeits-Koordinatensystem W ausgewählt ist, und eine Achse, die für das Werkzeug-Koordinatensystem T ausgewählt ist, unter einem gesetzten Winkel einander durchschneiden. Zu diesem Zweck werden eine Achse aus den Achsen X, Y u. Z des Werkzeug-Koordinatensystems T und eine Achse aus den Achsen X, Y u. Z des Arbeits-Koordinatensystems selektiv gesetzt, um die Stellungsausrichtung auszuführen, und es wird ein Winkel der Durchschneidung zwischen den selektiv gesetzten Achsen gesetzt.
  • In dem Beispiel, das in 4(a) bis 4(g) gezeigt ist, ist die Z-Achse für sowohl das Werkzeug-Koordinatensystem T als auch das Arbeits-Koordinatensystem W ausgewählt, und es ist ein Winkel der Durchschneidung θ gesetzt. Wenn der Winkel der Durchschneidung, der gesetzt ist, 0 ist, bedeutet dies, dass die ausgewählten Achsen in die gleiche Richtung weisen. Die Betätigungsgeschwindigkeit für das Bewegen zum Durchführen der Stellungsausrichtung wird ebenfalls vorab von Hand gesetzt.
  • Die Bedienungsperson betätigt, nachdem sie die Modus-Taste 17 betätigt hat, den Roboter derart, dass sich der Roboter zu der Position bewegt, die ihm in bezug auf ein Werkstück 21 einzulernen ist. Dann drückt die Bedienungsperson zum Ausführen der Stellungsausrichtung die Umschalt-Taste 15 und die Stellungsausrichtungs-Taste 19 nieder, so dass der Prozessor 101 den Prozess gemäß 3 startet.
  • Es wird ein Einheitsvektor t (s. 4(b)) gewonnen, der parallel zu der Achse (Achse Z im Falle von 4(a) bis 4(g)) durch den Nullpunkt des Werkzeug-Koordinatensystems T verläuft und selektiv für das Werkzeug-Koordinatensystem T gesetzt ist (Schritt a1).
  • Als nächstes wird ein Einheitsvektor w (s. 4(c)) gewonnen, der parallel zu der Achse (Achse Z im Falle von 4(a) bis 4(g)) durch den Nullpunkt des Werkzeug-Koordinatensystems T verläuft und selektiv für das Arbeits-Koordinatensystem W gesetzt ist (Schritt a2).
  • Dann wird ein Normalvektor n aus dem Vektorprodukt des Einheitsvektors t und des Einheitsvektors w (s. 4(d)) gewonnen, der durch den Nullpunkt des Werkzeug-Koordinatensystems T verläuft und orthogonal zu den Vektoren t u. w liegt (Schritt a3): n = t × w(wobei × der Operator des Vektorprodukts ist).
  • Dann wird bestimmt, ob der gewonnene Normalvektor n "0" ist oder nicht (Schritt a4). Wenn der Normalvektor n nicht "0" ist, setzt sich die Verarbeitung zu Schritt a8 fort.
  • Andererseits kann, wenn der Normalvektor n "0" ist, was bedeutet, dass die Einheitsvektoren t u. w parallel zueinander sind, kein eindeutiger Normalvektor aus diesen Vektoren gewonnen werden. Dann wird in der Anzeigeeinrichtung usw. des Einlernschaltfelds 104 ein Alarm erzeugt, und es wird eine Meldung angezeigt (Schritt a5), die zum Eingeben eines Vektors n' auffordert, der in einer Ebene, die durch zwei Achsen gebildet ist, die von denen unterschiedlich sind, die für das Werkzeug-Koordinatensystem gesetzt sind, durch den Nullpunkt des Werkzeug-Koordinatensystems T verläuft. In dem Beispiel, das in 4(a) bis 4(g) gezeigt ist, ist die Achse Z des Werkzeug-Koordinatensystems T als die ausgewählte Achse gesetzt, und in diesem Fall wird zum Eingeben eines Vektors n' aufgefordert, der in der XY-Ebene des Werkzeug-Koordinatensystems T durch den Nullpunkt des Werkzeug-Koordinatensystems verläuft. In der Praxis ist es jedoch zum Gewinnen eines solchen Vektors n' ausreichend, dass die X-Achse oder die Y-Achse bestimmt wird. In dem Beispiel gemäß 4(e) ist die X-Achse bestimmt.
  • Wenn der Vektor n' eingegeben ist (Schritt a6), wird der Vektor n' als der Normalvektor angenommen (Schritt a7), und die Verarbeitung setzt sich zu Schritt a8 fort. In Schritt a8 wird der Durchschneidungswinkel α der Vektoren t u. w gewonnen (s. 4(e)).
  • Dann wird eine Transformations-Matrix F durch Drehen des Normalvektors n um eine Differenz (α – θ) des gewonnenen Durchschneidungswinkels α und eines gesetzten Durchschneidungs-Zielwinkels θ gewonnen (Schritt a9). Wenn der gesetzte Durchschneidungs-Zielwinkel "0" ist, ist die Differenz α – θ = α – 0 = α, und es wird eine Transformations-Matrix F gewonnen, bei welcher der Vektor t mit dem Vektor w zusammenfällt (in dem Beispiel gemäß 4(a) bis 4(g) liegen die Achse Z des Werkzeug-Koordinatensystems T und die Achse Z des Arbeits-Koordinatensystems W parallel zu einander).
  • Dann wird ein Koordinatensystem R für eine mit einem Flansch versehene Oberfläche des Handgelenks am Ende eines Arms des Roboters in einer gegenwärtigen Roboter-Stellung und -Position von einem Roboter-Referenz-Koordinatensystem aus gesehen gewonnen. Außerdem wird ein Koordinatensystem H für das Ende des Werkzeugs von dem Roboter-Referenz-Koordinatensystem aus gesehen aus dem Koordinatensystem R und dem Werkzeug-Koordinatensystem T gewonnen (Schritt a10): H = R·T
  • Dann wird die zuvor genannte Transformations-Matrix auf das zuvor gewonnene Koordinatensystem H angewendet, und es wird ein Koordinatensystem H' für eine Ziel-Stellung und -Position für die Werkzeug-Stellungsausrichtung gewonnen (Schritt a11) (s. 4(f)): H' = H·F
  • Der Roboter wird dann in einer Weise in Richtung auf die Ziel-Stellungsposition H' angetrieben, dass er bei einer gesetzten Betätigungsgeschwindigkeit betrieben wird (Schritt a12). In 4(g) ist die Werkzeugstellung H vor der Stellungsausrichtung durch gestrichelte Linien gezeigt, und die Werkzeugstellung H' nach der Stellungsausrichtung (wenn der gesetzte Ziel-Winkel θ = 0 ist) ist durch durchgehende Linien gezeigt.
  • Der Roboter wird dann automatisch in einer Weise angetrieben, dass die Achse, die für das Werkzeug-Koordinatensystem T ausgewählt ist, eine vorgegebene Beziehung (gesetzter Durchschneidungswinkel θ) in bezug auf die Achse, die für das Arbeits-Koordinatensystem W ausgewählt ist, erfüllt, und die Stellung des Werkzeugs 20 erfüllt dann die gewünschte Beziehung bezüglich des Werkstücks 21.
  • [Zweites Ausführungsbeispiel]
  • In dem ersten Ausführungsbeispiel wird ein Roboter automatisch angetrieben, und die Stellung des Werkzeugs 20 wird derart geändert, dass die Achse, die für das Werkzeug-Koordinatensystem T ausgewählt ist, und die Achse, die für das Arbeits-Koordinatensystem W ausgewählt ist, eine vorbestimmte Beziehung erfüllen (d. h. sich miteinander unter einem gesetzten Winkel durchschneiden). Im Gegensatz dazu wird in dem zweiten Ausführungsbeispiel die Werkzeugstellung durch automatisches Antreiben eines Roboters in einer solchen Weise geändert, dass das Werkzeug-Koordinatensystem T eine gesetzte relative Beziehung in bezug auf das Arbeits-Koordinatensystem W erfüllt.
  • Zunächst werden das Werkzeug-Koordinatensystem T und das Arbeits-Koordinatensystem W in der gleichen Weise wie im Falle des ersten Ausführungsbeispiels gesetzt. Die Betätigunggeschwindigkeit für ein von Hand eingeleitetes Bewegen während einer Stellungsausrichtung wird ebenfalls gesetzt. Die relative Beziehung, die zwischen dem Arbeits-Koordinatensystem W und dem Werkzeug-Koordinatensystem T festzulegen gewünscht ist, wird ebenfalls gesetzt.
  • Es werden Drehungswinkel zur Drehung um die Achsen X, Y u. Z des Arbeits-Koordinatensystems gesetzt, wenn es erwünscht ist, ein gedrehtes Arbeits-Koordinatensystem zur Grundlage zum Festlegen der Ziel-Stellung für das Werkzeug-Koordinatensystem T zu machen. Dann wird der Prozess gemäß 5 mittels des Haupt-Prozessors 101 durch forlaufendes gleichzeitiges Niederdrücken der Umschalt-Taste 15 und der Stellungsausrichtungs-Taste 19 des Einlernschaltfelds 104 ausgeführt, und die Werkzeugstellung wird automatisch in die Ziel-Stellung geändert.
  • 6(a) bis 6(c) sind Ansichten, welche die Arbeitsweise dieses zweiten Ausführungsbeispiels veranschaulichen, wobei 6(a) die Beziehung zwischen dem Werkstück (Arbeits-Koordinatensystem) vor dem Ausführen der Stellungsausrichtung und dem Werkzeug (Werkzeug-Koordinatensystem) zeigt.
  • Wenn die Umschalt-Taste 15 und die Stellungsausrichtung-Taste 19 gleichzeitig niedergedrückt sind, wird eine Transformations-Matrix F zum Drehen des Arbeits-Koordinatensystems W um nur die gesetzten Drehungswinkel auf der Grundlage der Drehungswinkel um die Achsen der Drehung X, Y u. Z gewonnen, die für das Arbeits-Koordinatensystem W gesetzt sind (Schritt b1). Die Transformations-Matrix F wird dann auf das Arbeits-Koordinatensystem W angewendet, um ein Arbeits-Koordinatensystem G zu gewinnen, nachdem die Transformation durchgeführt ist (Schritt b2) (s. 6b)): G = W·F
  • Als nächstes wird ein Koordinatensystem R für eine mit einem Flansch versehene Oberfläche des Handgelenks am Ende eines Arms des Roboters in einer gegenwärtigen Roboter-Stellung und -Position gesehen von dem Roboter-Referenz-Koordinatensystem aus gewonnen, und es wird ein Koordinatensystem H für das Ende des Werkzeugs gesehen von dem Roboter-Referenz-Koordinatensystem aus unter Benutzung des Koordinatensystems R und des Werkzeug-Koordinatensystems T gewonnen (Schritt b3): H = R·T
  • Die Koordinatensysteme G u. H, die auf diese Weise gewonnen sind, werden dann auf Stellungskomponenten Gr u. Hr und Positionskomponenten GI u. HI zurückgeführt, die Stellungskomponente Hr des Koordinatensystems H wird durch die Stellungskomponente Gr des Koordinatensystems G ersetzt, und es wird ein neues Koordinatensystem H' für das Koordinatensystem für das Ende des Werkzeugs gewonnen (Schritt b4) (s. 6(c)).
  • Das Koordinatensystem G und das Koordinatensystem H werden durch die folgenden Gleichungen 1 u. 2 ausgedrückt:
  • Figure 00170001
  • Das neue Koordinatensystem H', das durch Ersetzen der Stellungskomponente Hr des Koordinatensystems H mit der Stellungskomponente Gr des Koordinatensystems G gewonnen ist, wird durch die folgende Gleichung 3 ausgedrückt:
  • Figure 00170002
  • Der Roboter wird mit der gesetzten Bewegungsgeschwindigkeit in der Richtung des neuen Koordinatensystems H' angetrieben, das aus Gl. 3 gewonnen ist, die Werkzeugstellung wird in einer Weise geändert, dass das Werkzeug-Koordinatensystem die relative Beziehung in bezug auf das Arbeits-Koordinatensystem erfüllt, und die Stellungsausrichtungs-Operation wird abgeschlossen (Schritt b5).
  • [Drittes Ausführungsbeispiel]
  • In dem dritten Ausführungsbeispiel, das sich nicht in Übereinstimmung mit der vorliegenden Erfindung befindet, wird eine Servopistole benutzt, die in der Lage ist, die Posi tion von bewegbaren Teilen von Werkzeugen zu erfassen. Sie wird durch einen Servomotor angetrieben und wird als das Werkzeug 20 benutzt. In diesem Ausführungsbeispiel werden die bewegbaren Teile des Werkzeugs 20 als eine zusätzliche Achse für die Roboter-Steuereinrichtung einer Servosteuerung unterzogen, und die Steuerung der bewegbaren Teile wird auch durch die Roboter-Steuereinrichtung ausgeführt. In dem Einlernschaltfeld 104 kann auch eine Taste als Handbetätigungsmittel für von Hand zu bewegende bewegliche Teile des Werkzeugs vorgesehen sein. In dem in 2 gezeigten Beispiel ist eine solche Taste jedoch nicht vorgesehen.
  • Wenn es zweckdienlicher ist, das Werkzeug auf der Grundlage eines Werkzeugmittelpunkts (im folgenden als "TCP" bezeichnet) zu drehen und zu bewegen, wird das Werkzeug-Koordinatensystem T für das Werkzeug 20 gesetzt, und wenn ein Teil, für das der TCP gesetzt ist, bewegt wird, wird das Werkzeug-Koordinatensystem T automatisch in Übereinstimmung mit der Bewegung des TCP gesetzt.
  • Unter Benutzung eines Flussdiagramms gemäß 7 wird ein Prozess erklärt, der durch den Haupt-Prozessor 101 der Roboter-Steuereinrichtung ausgeführt wird, und 8(a) bis 8(c) u. 9(a) bis 9(c') veranschaulichen Betätigungen des Werkzeugs.
  • Zunächst wird ein Werkzeug-Koordinatensystem T, das als eine Referenz angenommen wird, für ein Teil des Werkzeugs 20 gesetzt. 8(a) zeigt einen Fall, in dem das Werkzeug-Koordinatensystem T für ein bewegbares Teil 20a des Werkzeugs 20 (speziell für das vordere Ende einer bewegbaren Seite einer Punktschweißpistole) gesetzt ist, und 8(a') zeigt einen Fall, in dem das Werkzeug-Koordinatensystem T für ein festes Teil 20b des Werkzeugs 20 gesetzt ist.
  • 8(a) bis 8(c) u. 9(a) bis 9(c) zeigen den Fall, in dem das Werkzeug-Koordinatensystem T für das bewegbare Teil 20a des Werkzeugs 20 gesetzt ist, während 8(a') bis 8(c') u. 9(a') bis 9(c') den Fall zeigen, in dem das Werkzeug-Koordinatensystem T für das feste Teil 20b des Werkzeugs 20 besetzt ist.
  • Als nächstes wird eine Referenz-Position 0 des bewegbaren Teils in dem Werkzeug-Koordinatensystem gesetzt, das in der zuvor beschriebenen Weise gesetzt ist. Gemäß 8(b)) u. 8(b') ist diese Referenz-Position 0 an einer Stelle gesetzt, wo sie um eine Distanz "0" von einer Position B des festen Teils auf der Seite, auf der das vordere Ende des bewegbaren Teils vorgesehen ist, in der Richtung des bewegbaren Teils abseits liegt.
  • Die Richtung der Verschiebung des bewegbaren Teils 20a des Werkzeugs 20 wird auf der Grundlage der Achse X, Y oder Z des Werkzeug-Koordinatensystems T gesetzt. In den Beispielen gemäß 8(c) u. 8(c') ist die Z-Achse des Werkzeug-Koordinatensystems Z gesetzt.
  • Ferner wird das bewegbare Teil (das vordere Ende auf der bewegbaren Seite) 20a des Werkzeugs 20 nach einem Setzen der Bewegungsgeschwindigkeit von Hand zu der gewünschten Position P durch Bewegen von Hand oder durch Ausführen eines Programms (s. 9(a) u. 9(a')) bewegt.
  • Wenn dann die Umschalt-Taste 15 und die Betätigungs-Taste 12 niedergedrückt sind und ein von Hand eingeleitetes Bewegen auf der Grundlage des Werkzeug-Koordinatensystems T befohlen ist, startet der Haupt-Prozessor 101 der Roboter-Steuereinrichtung die Verarbeitung gemäß 7.
  • Zunächst wird eine Distanz L (L = P × O) von der Referenz-Position 0, die für das bewegliche Teil 20a des Werkzeugs gesetzt ist, zu der gegenwärtigen Position P des bewegli chen Teils 20a des Werkzeugs gewonnen (Schritt c1) (s. 9(b) u. 9(b')), und es wird die Transformations-Matrix F als eine Übersetzungs-Matrix für die gewonnene Distanz L in der Richtung der Achse (in diesem Beispiel der Richtung der Z-Achse) gewonnen, die für die Richtung der Bewegung gesetzt ist (Schritt c2).
  • Aus dem gesetzten Werkzeug-Koordinatensystem T als das Referenz-Koordinatensystem und der zuvor erwähnten Transformations-Matrix F wird mittels der folgenden Gleichung ein neues Werkzeug-Koordinatensystem T' gewonnen (Schritt c3) (s. 9(c) u. 9(c')): T' = T·F
  • Dann wird ein von Hand eingeleitetes Bewegen, das in der Richtung der Achse auf der Grundlage des neu gewonnenen Werkzeug-Koordinatensystems T' befohlen ist, ausgeführt (Schritt c4).
  • Gemäß diesem Ausführungsbeispiel kann das Werkzeug-Koordinatensystem T, wie dies in 9(b) u. 9(b') und 9(c) u. 9(c') gezeigt ist, selbst dann, wenn sich das bewegliche Teil 20a des Werkzeugs 20 bewegt, nach der Bewegung automatisch gewonnen werden, und die Bewegung findet in der befohlenen Richtung der Betätigung auf der Grundlage des gewonnenen Werkzeug-Koordinatensystems T' statt, so dass das Werkzeug 20 und das Werkstück 21 daher daran gehindert werden, während der Bewegung miteinander zu kollidieren.
  • [Viertes Ausführungsbeispiel]
  • In dem vierten Ausführungsbeispiel, das nicht durch die vorliegenden Ansprüche abgedeckt ist, soweit es sich auf einen Roboter-Betriebsaufschub bezieht, wird der Betrieb des Roboters automatisch aufgeschoben, wenn bestimmte Auf schubbedingungen, die aufgestellt sind, erfüllt sind, wenn der Roboter durch Betätigung von Hand bewegt wird. Die Bedingungen für einen Aufschub müssen daher in diesem Ausführungsbeispiel vorab gesetzt worden sein. Die Aufschubbedingungen werden z. B. in den folgenden Fällen als erfüllt betrachtet:
    • (1) Es ist ein Sensor zum Erfassen der Tatsache, dass das Werkzeug in Berührung mit dem Werkstück kommt, vorgesehen, und es wird ein Ausgangssignal des Sensors über die Eingabe/Ausgabe-Schnittstelle 106 erfasst.
    • (2) Das jeweilige Last-Drehmoment von Servomotoren, die jede Achse des Roboters antreiben wird erfasst, und wenn ein Schwellwert durch das Last-Drehmoment irgendeines der Servomotoren überschritten wird, wird dies als Tatsache betrachtet, dass das Werkzeug 20 in Berührung mit dem Werkstück 21 gekommen ist. In der Praxis wird das Last-Drehmoment auf der Grundlage von Rückkopplungswerten der Treiberströme für die Servomotoren für jede Achse oder auf der Grundlage von Drehmoment-Befehlswerten (Strom-Befehlswerten) erfasst, und es wird als Tatsache betrachtet, dass die Aufschubbedingungen erfüllt sind, wenn ein erfasstes Last-Drehmoment (oder der erfasste Strom) oder der Drehmoment-Befehlswert gleich oder größer als der gesetzte Schwellwert ist. Ferner können die Aufschubbedingungen, wenn, eine Beobachtungseinrichtung zum Abschätzen eines Last-Drehmoments vorgesehen ist, in einer Weise aufgestellt sein, dass der Betrieb aufgeschoben wird, wenn das Last-Drehmoment, das durch die Beobachtungseinrichtung abgeschätzt ist, gleich dem Schwellwert ist oder diesen überschreitet.
    • (3) Eine von Hand eingeleitete Betätigung wird automatisch aufgeschoben, wenn die Distanz, um die eine Bewegung von dem Startpunkt der Betätigung von Hand aus bewegt wird, einen gesetzten Wert überschreitet.
  • Es gibt verschiedene Arten von Aufschubbedingungen, und es wird eine optimale Aufschubbedingung in Übereinstimmung mit einer Anwendung ausgewählt. Beispielsweise kann, wenn die Aufschubbedingungen (1) bis (3) auf die Roboter-Steuereinrichtung anwendbar sind, vorab bestimmt werden, welche dieser Bedingungen als die Aufschubbedingung ausgewählt werden sollte. Es ist in dem Fall, in dem die Aufschubbedingung (3) ausgewählt ist, notwendig, für den automatischen Aufschub eine Distanz, um die eine Bewegung von dem Startpunkt aus stattzufinden hat, als einen gesetzten Wert zu bestimmen.
  • Nachdem die Betätigungsgeschwindigkeit während der von Hand einzuleitenden Betätigung gesetzt ist und die Bedingungen für einen Aufschub erfüllt sind, wird bestimmt, ob eine Bewegung um einen bestimmten Betrag in einer bestimmten Richtung von der Aufschubposition aus stattfinden soll oder nicht. Wenn dies bestimmt ist, wird das Koordinatensystem (Roboter-Referenz-Koordinatensystem, Arbeits-Koordinatensystem, Werkzeug-Koordinatensystem usw.), das als eine Referenz für die Betätigungsrichtung angenommen wird, selektiv bestimmt, es wird eine der Achsen X, Y oder Z dieses ausgewählten Koordinatensystems als die Betätigungsrichtung gesetzt, und die Distanz, um die eine Bewegung zu erfolgen hat, wird ebenfalls gesetzt.
  • Nach dem Setzen der Aufschubbedingungen und der Betätigungsgeschwindigkeit, nach einer Bestimmung, ob nach Erfüllung der Aufschubbedingungen ein Zurückziehen erfolgen soll oder nicht, und nach einer Bestimmung, in welcher Richtung und um welchen Betrag eine Rückziehbewegung im Falle eines Zurückziehens zu erfolgen hat, werden die Umschalt-Taste 15 und die Betätigungs-Tasten 12 u. 13 niedergedrückt, um ein von Hand eingeleitetes Bewegen zu be fehlen. Dann startet der Haupt-Prozessor 101 der Roboter-Steuereinrichtung den Prozess gemäß 10.
  • Der Haupt-Prozessor 101 gibt einen Bewegungsbefehl aus, um den Roboter in einer Betätigungsrichtung mit der gesetzten Betätigungsgeschwindigkeit zu bewegen, die durch die Betätigungs-Tasten 12 u. 13 für die Richtung befohlen ist, so dass der Roboter veranlasst wird, sich mit der gesetzten Betätigungsgeschwindigkeit zu bewegen (Schritt d1). Dann wird bestimmt, ob die Aufschubbedingungen erfüllt sind oder nicht (Schritt d2). Wenn sie nicht erfüllt sind, wird bestimmt, ob das Niederdrücken der Betätigungs-Tasten für die Betätigungsrichtung beendet worden ist oder nicht (Schritt (d8). Wenn sie nicht freigegeben worden sind, kehrt der Prozess zu Schritt d1 zurück, und der Prozess von Schritt d1, Schritt d2 u. Schritt d8 wird wiederholtis repeated.
  • Wenn erfasst ist, dass die Umschalt-Taste 15 oder die Betätigungs-Tasten 12 u. 13 vor Erfüllung der Aufschubbedingung freigegeben worden sind, wird die Betätigung des Roboters aufgeschoben (Schritt d7).
  • Wenn die Bedingung für den Aufschub erfüllt ist, beispielsweise, wenn die zuvor beschriebene Aufschubbedingung (1) gesetzt worden ist, erfasst der Haupt-Prozessor 101, ob der Eingabe/Ausgabe-Schnittstelle 106 in jeder vorbestimmten Periode ein Berührungs-Erfassungssignal von dem betreffenden Sensor eingegeben worden ist oder nicht. Wenn der Haupt-Prozessor 101 die Eingabe eines Berührungs-Erfassungssignals erfasst, wird die Position zu dieser Zeit gespeichert, und das von Hand eingeleitete Bewegen des Roboters wird (ungeachtet der Tatsache, ob die Umschalt-Taste 15 und die Betätigungs-Tasten 12 u. 13 niedergedrückt sind oder nicht) automatisch aufgeschoben (Schritt d2), (Schritt d3).
  • In dem Fall, in dem die zuvor beschriebene Bedingung (2) gesetzt ist, bestimmt der Haupt-Prozessor 101 in jeder vorbestimmten Periode, ob das Last-Drehmoment (Strom-Rückkopplungswert, Drehmoment-Befehlswert oder Drehmomentwert, der durch eine Beobachtungs-Einrichtung abgeschätzt ist) für die Motoren jeder Achse des Roboters gleich einem oder größer als ein Schwellwert ist oder nicht (Schritt d2). Dann wird die Position zu der Zeit, zu der das Last-Drehmoment eines Motors für irgendeine der Achsen größer als der oder gleich dem Schwellwert ist, gespeichert und die Betätigung des Roboters wird aufgeschoben (Schritt d3).
  • In dem Fall, in dem die zuvor beschriebene Aufschubbedingung (3) gesetzt ist, addiert der Haupt-Prozessor 101 nach dem Start der von Hand eingeleiteten Betätigung in jeder vorbestimmten Periode in Schritt d1 den Betrag der Bewegung des Roboters zu einem Registerwert und bestimmt durch Bestimmen, ob dieser addierte Wert zu dem gesetzten Wert geworden ist oder nicht, ob die Aufschubbedingung erfüllt ist oder nicht. Wenn dieser addierte Wert gleich dem oder größer als der gesetzte Wert ist, wird angenommen, dass die Aufschubbedingung erfüllt ist (Schritt d2), so dass dann die Position des Roboters zu dieser Zeit gespeichert und die Bewegung des Roboters aufgeschoben wird (Schritt d3).
  • Wenn ein Befehl zum Aufschieben der Bewegung des Roboters durch die Roboter-Steuereinrichtung ausgegeben ist, bewegt sich der Roboter wegen seines eigenen Trägheitsmoments über das Ziel hinaus. Der Roboter wird daher zu der Position zurückbewegt, in der die gespeicherte Aufschubbedingung erfüllt ist (Schritt d4). Dann erfolgt eine Bestimmung dahingehend, ob eine Rückziehbewegung des Roboters gesetzt worden ist oder nicht (Schritt d5). Wenn eine Rückziehbewegung gesetzt worden ist, wird eine Bewegung in der gesetzten Richtung um den gesetzten Betrag ausgeführt (Schritt d6), und die Bewegung des Roboters wird aufgeschoben (Schritt (d7). Andererseits wird der Roboter, wenn keine Rückziehbewegung gesetzt worden ist, in der Position belas sen, in welcher der Roboter gemäß der Aufschubbedingung gestoppt wurde.
  • Die zuvor erfolgten Erklärungen betreffen Ausführungsbeispiele für eine von Hand gesteuerte Unterstützungsbewegung bei einem Einlernvorgang gemäß der vorliegenden Erfindung. Jedoch kann irgendeines der ersten bis vierten Ausführungsbeispiele, die zuvor beschrieben wurden, in einer Roboter-Steuereinrichtung vorgesehen sein und ausgeführt werden, oder es können alle der ersten bis vierten Ausführungsbeispiele vorgesehen sein und dann unter Benutzung einer Funktionstaste usw. zur Ausführung aufgerufen werden.
  • In dem folgenden Ausführungsbeispiel sind das erste Ausführungsbeispiel, das zweite Ausführungsbeispiel, das dritte Ausführungsbeispiel und das vierte Ausführungsbeispiel in einer Roboter-Steuereinrichtung als ein "Stellungsausrichtungs-Modus zur Benutzung einer einzigen Achse", ein "Stellungsausrichtungs-Modus zur Benutzung eines Koordinatensystems, ein "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" bzw. ein "Aufschub-Modus, der von Aufschubbedingungen abhängig ist" gespeichert. Dann wird ein Modus unter Benutzung der Funktionstaste 11 ausgewählt, und es wird eine Verarbeitung für den ausgewählten Modus ausgeführt.
  • Das Arbeits-Koordinatensystem und das Werkzeug-Koordinatensystem (das Referenz-Werkzeug-Koordinatensystem, auf das sich der "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" des dritten Ausführungsbeispiels) bezieht, sind für jedes Ausführungsbeispiel (jeden Modus) gleich. Daher wird die Funktionsauswahl-Taste 18 betätigt, um das Koordinatensystem auszuwählen, und das Arbeits-Koordinatensystem und das Werkzeug-Koordinatensystem werden in bezug auf die vier Modi zum Unterstützen des Einlernvorgangs kollektiv gesetzt.
  • Ferner kann der Wert, der für die Geschwindigkeit der von Hand eingeleiteten Betätigung bei diesem Einlern-Unterstützungsvorgang zu setzen ist, auch vorab in einer Weise gesetzt werden, dass er für alle Modi gemeinsam ist. Alternativ dazu kann die Funktionstaste 11 betätigt werden, wenn die Betätigungsgeschwindigkeit in jedem Modus von Hand gesetzt wird, um einzelne Modi zum Setzen aufzurufen, um dabei die Betätigungsgeschwindigkeit für jeden Modus zu setzen.
  • In dem "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß dem dritten Ausführungsbeispiel ist der Referenz-Wert 0 zu setzen. Ein solcher gesetzter Wert, der für jeden Modus eigentümlich ist, kann jedoch nach dem Aufrufen einzelnen Modus zum Setzen gesetzt werden.
  • [Anwendung auf eine Servopistole]
  • Das Folgende stellt eine Beschreibung eines Ausführungsbeispiels dar, bei dem die vorliegende Erfindung auf eine Servopistole zum Antreiben einer bewegbaren Seite eines vorderen Endes unter Benutzung eines Servomotors angewendet ist, um eine Punktschweißung auszuführen.
  • In diesem Ausführungsbeispiel wird die Stellung einer Servopistole 20 derart eingelernt, dass die Öffnungs- und Schließrichtung der Pistole senkrecht zu der Oberfläche des Werkstücks 21 liegt, das einen Berührungspunkt enthält. Ferner wird die Position der Berührung zwischen einer festen Seite eines vorderen Endes 20b und dem Werkstück 21 eingelernt. Bei einer typischen Fahrzeug-Punktschweißung gibt es viele Fälle, in denen die Sicht auf den unteren Teil einer Verkleidung durch den Fahrzeugkörper versperrt ist.
  • Im folgenden wird eine Beschreibung des Einlernvorgangs ge geben, der unter einer solchen Bedingung durch die Roboter-Steuereinrichtung gemäß der vorliegenden Erfindung ausgeführt wird.
  • Zunächst wird der Roboter, wie in 11(a) gezeigt, von Hand vorbewegt, und die Servopistole 20 wird in einer Weise bewegt, dass sie einem Punkt einer Kollision mit dem Werkstück 21 nahe kommt.
  • Als nächstes muss die Stellung der Servopistole in einer Weise geändert werden, dass die Öffnungs- und Schließrichtung der Servopistole senkrecht zu der Oberfläche des Werkstücks liegt, die einen Kollisionspunkt enthält. Es gibt drei Verfahren, mit denen dies zu erreichen ist. Eines besteht darin, den "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß dem dritten Ausführungsbeispiel zu benutzen. Ein anderes besteht darin, den "Stellungsausrichtungs-Modus unter Benutzung einer einigen Achse" zu benutzen, ein anderes darin, das erste Ausführungsbeispiel zu benutzen, und ein noch weiteres darin, den "Stellungsausrichtungs-Modus unter Benutzung eines Koordinatensystems" gemäß dem zweiten Ausführungsbeispiel zu benutzen.
  • Im Falle der Benutzung des "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß dem dritten Ausführungsbeispiel wird dieser Modus durch die Funktionstaste usw. des Einlernschaltfelds 104 ausgewählt, und es wird die bewegbare Seite des vorderen Endes der Servopistole derart bewegt, dass der TCP so nahe wie möglich an das Werkstück 21 kommt. Dann wird zum Veranlassen einer Drehung in einer Weise, dass die Öffnungs- und Schließrichtung der Pistole senkrecht zu der Oberfläche des Werkstücks 21 liegt, die einen Kollisionspunkt enthält, die Betätigungs-Taste 13 ausgewählt. Wenn die Umschalt-Taste 15 und die Betätigungs-Taste 13 zum Auswählen der Drehung niedergedrückt sind, führt der Haupt-Prozessor 101 der Robo ter-Steuereinrichtung den Prozess aus, der in 7 gezeigt ist, um den Roboter zu veranlassen, zu arbeiten (s. 11(b)), wobei der gesetzte TCP am Ende des bewegbaren vorderen Endes 20a als eine Referenz angenommen ist.
  • Als Ergebnis kann die Stellung der Servopistole 20 in einer Weise von Hand bewegt werden, dass die Öffnungs- und Schließrichtung der Servopistole 20 senkrecht zu der Oberfläche des Werkstücks 21 wird, die einen Kollisionspunkt enthält, wobei die Servopistole 20 und das Werkstück 21 nicht in Kollision miteinander kommen.
  • Andererseits wird im Falle der Benutzung des "Stellungsausrichtungs-Modus, der eine einzige Achse benutzt" gemäß dem ersten Ausführungsbeispiel dieser Modus durch die Funktionstaste 11 ausgewählt, und es wird zur Stellungsausrichtung der Durchschneidungswinkel θ der Achsen des Werkzeug-Koordinatensystems T und des Arbeits-Koordinatensystems W gesetzt. In dem Beispiel gemäß 11(c) werden die Z-Achsen des Werkzeug-Koordinatensystems T und des Arbeits-Koordinatensystems W als die Achsen für die Stellungsausrichtung gesetzt, und der Durchschneidungswinkel θ wird auf "0" gesetzt (d. h. die Z-Achsen der beiden Koordinatensysteme werden in bezug zueinander parallel ausgerichtet).
  • Wenn die Umschalt-Taste 15 und die Stellungsausrichtungs-Taste 19 niedergedrückt sind, startet der Haupt-Prozessor 101 der Roboter-Steuereinrichtung den Prozess, der in 3 gezeigt ist, der Roboter wird in einer Weise angetrieben, dass der Durchschneidungswinkel zwischen den Achsen Z, d. h. den Achsen, die für das Werkzeug-Koordinatensystem T und das Arbeits-Koordinatensystem W ausgewählt sind, zu dem gesetzten Durchschneidungswinkel θ (= 0) wird, und über die Position wird in einer Weise entschieden, dass die Öffnungs- und Schließrichtung der Servopistole 20 senkrecht zu der Oberfläche des Werkstücks 21 wird, die einen Kollisionspunkt enthält (s. 11(c)).
  • In dem Fall, in dem der "Stellungsausrichtungs-Modus, der ein Koordinatensystem benutzt" gemäß dem zweiten Ausführungsbeispiel ausgewählt ist, wird der Winkel der Drehung um jede Achse des Arbeits-Koordinatensystems W gesetzt, der die relative Beziehung zwischen dem Werkzeug-Koordinatensystem T und dem Arbeits-Koordinatensystem W definiert. Wenn die Umschalt-Taste 15 und die Stellungsausrichtungs-Taste 19 niedergedrückt sind, führt der Prozessor 101 den Prozess aus, der in 5 gezeigt ist, um eine Positionierung derart auszuführen, dass die Öffnungs- und Schließrichtung der Servopistole 20 senkrecht zu der Oberfläche des Werkstücks 21 wird, die einen Kollisionspunkt enthält, wie dies in 11(c) gezeigt ist.
  • In dem Beispiel gemäß 11(c) ist das Werkzeug-Koordinatensystem T auf das Arbeits-Koordinatensystem W ausgerichtet, was zu dem Ergebnis führt, dass alle der zu setzenden Drehungswinkel um jede Achse "0" werden und die Transformations-Matrix F, die in Schritt b1 in 5 gewonnen wird, eine Einheitsmatrix wird.
  • Nachdem die Positionierung derart ausgeführt ist, dass die Öffnungs- und Schließrichtung der Servopistole 20 senkrecht zu der Oberfläche des Werkstücks 21 liegt, die einen Kollisionspunkt enthält, wird der Modus zu dem "Aufschub-Modus, der von Aufschubbedingungen abhängig ist" gemäß dem vierten Ausführungsbeispiel gewechselt. Dann werden die Aufschubbedingungen für die Überwachung selektiv gesetzt, und das Zurückziehen wird nicht ausgewählt. Wenn die Umschalt-Taste 15 zusammen mit der Betätigungs-Taste 12 niedergedrückt wird, was veranlasst, dass das vordere Ende der festen Seite in Berührung mit dem Werkstück 21 kommt, führt der Haupt-Prozessor 101 der Roboter-Steuereinrichtung den Prozess gemäß 10 aus, und es findet automatisch ein Aufschub in der Position statt, in der das Werkstück 21 und das vordere Ende der festen Seite 20b des Werkzeugs 20 in Berührung kommen (d. h. in einer Position, in der eine Bewegung in der gesetzten Richtung und um den gesetzten Betrag der Bewegung ausgeführt wird).
  • [Anwendung auf einen Luftpulser]
  • Im Falle der Benutzung einer Punktschweißpistole, welche die Funktion eines Luftpulsers hat, der sich unter Benutzung von Druckluft öffnet und schließt, anstelle einer Servopistole, die durch einen Servomotor angetrieben wird, ist es notwendig, die Öffnungs- und Schließrichtung des Luftpulsers 20 senkrecht zu der Oberfläche des Werkstücks 21 auszurichten, die einen Kollisionspunkt enthält, und es ist notwendig, einen Spalt zum Schaffen einer bestimmten Distanz zwischen dem vorderen Ende der festen Seite 20a und dem Werkstück 21 vorzusehen.
  • Wenn ein Luftpulser 20 benutzt wird, wird die Pistole wie im Falle der zuvor erwähnten Servopistole offen gehalten und von Hand zu einer geeigneten Position nahe dem Kollisionspunkt des Werkstücks 21 vorbewegt. Es wird der "Stellungsausrichtungs-Modus, der ein Koordinatensystem benutzt" gemäß dem zweiten Ausführungsbeispiel ausgewählt, die Richtung des Öffnens und Schließens der Pistole wird senkrecht zu der Oberfläche ausgerichtet, die einen Kollisionspunkt enthält, und es wird wie im Falle der Servopistole der "Aufschub-Modus, der von Aufschubbedingungen abhängig ist" gemäß dem vierten Ausführungsbeispiel ausgewählt. In diesem Fall ist es jedoch notwendig, eine vorgeschriebene Distanz zur Trennung zu schaffen, nachdem die Servopistole 20 und das Werkstück 21 in Berührung gekommen sind. Dazu wird "Zurückziehen" ausgewählt, und es werden die Zurückziehrichtung und das Ausmaß einer vorzunehmenden Evakuierung gesetzt.
  • In dem Beispiel gemäß 12 ist angenommen, dass die Richtung des Zurückziehens die Z-Achsenrichtung des Arbeits-Koordinatensystems (oder des Werkzeug-Koordinatensy stems) ist, und es wird der Ziel-Betrag des Zurückziehens gesetzt. Dann wird das Werkzeug 20 durch die Verarbeitung in Schritt d5 und Schritt d6 gemäß 10 um die gesetzte Distanz getrennt, und die Bewegung des Roboter wird aufgeschoben, nachdem das Werkstück 21 und das Werkzeug 20 in Berührung gekommen sind.
  • [Anwendung auf eine Servohand]
  • 13(a) bis 13(c) zeigen Ansichten, die ein Beispiel für die vorliegende Erfindung beschreiben, das auf das Einlernen einer Greifposition und der Stellung einer Hand 20 angewendet ist, die durch einen Servomotor angetrieben wird.
  • Zunächst wird die Hand 20 manuell betätigt, damit die Hand 20 in einem offenen Zustand nahe an das Werkstück 21 kommt (s. 13(a)). Dann muss die Hand in einer Weise gedreht werden, dass die Greifoberflächen der Hand parallel zu den Seiten des Werkstücks liegen. Um dies zu erreichen, werden der "Stellungsausrichtungs-Modus, der eine einzige Achse benutzt" gemäß dem ersten Ausführungsbeispiel, der "Stellungsausrichtungs-Modus, der ein Koordinatensystem benutzt" gemäß dem zweiten Ausführungsbeispiel und der "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß dem dritten Ausführungsbeispiel verwendet.
  • 13(b) zeigt eine Ansicht, die den Fall veranschaulicht, in dem der "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß dem dritten Ausführungsbeispiel verwendet wird. Zunächst wird der für das bewegliche Teil der Hand gesetzte TCP manuell bewegt, um ihn so nahe wie möglich an das Werkstück 21 zu bringen. Dann wird der Modus zu dem "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gewechselt, und es wird eine Drehrichtung ausgewählt. Wenn die Betätigungs-Taste 13 für diese Richtung und die Umschalt-Taste 15 niedergedrückt sind, führt der Prozessor 101 für die Roboter-Steuereinrichtung den Prozess aus, der in 7 gezeigt ist, so dass die Drehung um den TCP durch manuelles Betätigen mit dem Ergebnis durchgeführt wird, dass die Einlern-Seitenoberfläche der Hand 20 parallel zu der Seitenoberfläche des Werkstücks 21 liegt (s. 13(b)).
  • 13(c) zeigt eine Ansicht, die den Fall der Benutzung des "Stellungsausrichtungs-Modus, der eine einzige Achse benutzt" gemäß dem ersten Ausführungsbeispiel oder des "Stellungsausrichtungs-Modus, der ein Koordinatensystem benutzt" gemäß dem zweiten Ausführungsbeispiel veranschaulicht.
  • Im Falle der Benutzung des "Stellungsausrichtungs-Modus, der eine einzige Achse benutzt" werden eine Achse (Achse Z in 13(c)) in dem Werkzeug-Koordinatensystem T, die parallel zu der Greifoberfläche der Hand 20 liegt, und eine Achse (Achse Z in 13(c)) in dem Arbeits-Koordinatensystem W, die parallel zu einer Seitenoberfläche des Werkstücks 21 liegt, ausgewählt, und es wird der Durchschneidungswinkel z. B. auf "0" gesetzt. Wenn die Umschalt-Taste 15 und die Stellungsausrichtung Taste 19 niedergedrückt sind, führt der Haupt-Prozessor 101 den Prozess gemäß 3 aus, um den Roboter in einer Weise zu betätigen, dass die Einlern-Seitenoberfläche der Hand 20 und die Seitenoberfläche des Werkstück 21 parallel zueinander werden.
  • In dem Fall, in dem der "Stellungsausrichtungs-Modus, der ein Koordinatensystem benutzt" in dem Beispiel gemäß 13(c) benutzt wird, werden die Winkel der Drehung um jede der Achsen X, Y u. Z des Arbeits-Koordinatensystems W alle auf "0" gesetzt. Wenn die Umschalt-Taste 15 und die Stellungsausrichtungs-Taste 19 niedergedrückt sind, führt der Haupt-Prozessor 101 den Prozess gemäß 5 aus, und der Roboter wird in einer Weise betätigt, dass die Einlern-Seitenoberfläche der Hand 20 parallel zu der Seitenoberfläche des Werkstücks 21 ausgerichtet wird.
  • Gemäß der vorliegenden Erfindung kann das Einlernen, wenn die Werkzeugstellung durch eine manuelle Betätigung während eines Einlernens automatisch zu der gewünschten Stellung bewegt wird, selbst für Positionen in denen die Beziehung zwischen dem Werkzeug und dem Werkstück nicht gesehen werden kann, ohne Schwierigkeiten und mit Genauigkeit ausgeführt werden. Das Werkzeug-Koordinatensystem, das für ein bewegliches Teil eines Werkzeugs gesetzt worden ist, kann auch automatisch in Übereinstimmung mit einer Bewegung beweglicher Teile rückgesetzt werden. Daher kann eine Kollision zwischen dem Werkzeug und dem Werkstück selbst dann vermieden werden, wenn die Werkzeugstellung um den Werkzeugmittelpunkt (TCP) gedreht wird.
  • Ferner ist, wenn Aufschubbedingungen gesetzt sind und diese Aufschubbedingungen dann erfüllt werden, ein genaues Einlernen nach einem automatischen Unterbrechen einer manuellen Betätigung möglich.

Claims (4)

  1. Roboter-Steuereinrichtung, die umfasst: Mittel zum Gewinnen einer Zielstellung eines Roboters in Abhängigkeit von einer Richtung, die einem Werkzeug (20) zugeordnet ist, das an dem Roboter angebracht ist, und einer Richtung, die einem Werkstück (21) zugeordnet ist, gekennzeichnet durch ein Mittel (102) zum Speichern einer Roboter-Stellungsausrichtungsbedingung, die durch die relative Beziehung zwischen einem Werkzeug-Koordinatensystem (T), das für die Position und die Stellung des Werkzeugs (20) gesetzt worden ist, und einem Arbeits-Koordinatensystem (W) bestimmt ist, das für die Umgebung gesetzt worden ist, in der das Werkstück (21) plaziert worden ist, welches Mittel zum Gewinnen einer Zielstellung des Roboters eingerichtet ist, um die Roboter-Stellungsausrichtungsbedingung zu erfüllen, die in dem Mittel (102) zum Speichern gespeichert ist, wenn ein Stellungsausrichtungsbefehl eingegeben ist, und Mittel zum automatischen Bewegen des Roboters in die Zielstellung.
  2. Roboter-Steuereinrichtung nach Anspruch 1, wobei die Roboter-Stellungsausrichtungsbedingung durch irgendeine Koordinatenachse, die aus den drei Koordinatenachsen des Werkzeug-Koordinatensystems (T) ausgewählt ist, und irgendeine Koordinatenachse, die aus den drei Koordinatenachsen des Arbeits-Koordinatensystems (W) ausgewählt ist, und einen Schnittwinkel bestimmt wird, der zwischen diesen zwei ausgewählten Koordinatenachsen gebildet ist.
  3. Roboter-Steuereinrichtung nach Anspruch 1, wobei die Roboter-Stellungsausrichtungsbedingung derart bestimmt wird, dass das Werkzeug-Koordinatensystem (T) und das Arbeits-Koordinatensystem (W) die Stellungsbeziehung annehmen, die durch die bestimmten Daten angegeben ist, die in dem Mittel (102) zum Speichern gespeichert sind.
  4. Roboter-Steuereinrichtung nach Anspruch 3, wobei die Daten, welche die Stellungsbeziehung des Werkzeug-Koordinatensystems (T) und des Arbeits-Koordinatensystems (W) bestimmen, Drehungswinkel um jede Koordinatenachse angeben, die notwendig wären, um eine Stellung eines virtuellen Koordinatensystems, das durch Drehen des Arbeits-Koordinatensystems (W) um jede Koordinatenachse des Arbeits-Koordinatensystems (W) selbst in einer virtuellen Weise und in einer vorgeschrieben Reihenfolge gewonnen ist, mit einer Stellung des Werkzeug-Koordinatensystems (T) zusammenfallen zu lassen, wenn der Roboter zur Stellungsausrichtung in die Zielstellung bewegt bewegt wird.
DE69925204T 1998-07-09 1999-07-09 Robotersteuerung Expired - Fee Related DE69925204T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP20853298 1998-07-09
JP20853298A JP3215086B2 (ja) 1998-07-09 1998-07-09 ロボット制御装置

Publications (2)

Publication Number Publication Date
DE69925204D1 DE69925204D1 (de) 2005-06-16
DE69925204T2 true DE69925204T2 (de) 2006-03-09

Family

ID=16557756

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69925204T Expired - Fee Related DE69925204T2 (de) 1998-07-09 1999-07-09 Robotersteuerung
DE69936073T Expired - Fee Related DE69936073T2 (de) 1998-07-09 1999-07-09 Robotersteuerung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69936073T Expired - Fee Related DE69936073T2 (de) 1998-07-09 1999-07-09 Robotersteuerung

Country Status (4)

Country Link
US (1) US6124693A (de)
EP (3) EP1431854B1 (de)
JP (1) JP3215086B2 (de)
DE (2) DE69925204T2 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102010037734A1 (de) 2010-09-23 2012-03-29 Inovel Elektronik Gmbh Roboterschnittstelle
DE102009057285B4 (de) * 2008-12-15 2015-05-21 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Impedanzsteuerung im Gelenkraum für sehnengetriebene Manipulatoren
DE102018006946B4 (de) * 2017-06-07 2020-10-08 Fanuc Corporation Steuerung und maschinelle Lernvorrichtung
DE102018008395B4 (de) 2017-10-31 2021-10-28 Fanuc Corporation Robotereinlernvorrichtung zum melden oder korrigieren einer positionsabweichung von einlernpunkten oder einer einlernlinie

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL120889A (en) * 1997-05-22 1998-10-30 Eshed Robotec 1982 Ltd Method and facility for direct learning of vending machines
JP3761344B2 (ja) * 1998-12-01 2006-03-29 トヨタ自動車株式会社 溶接ガンとそれを用いたセンサー校正方法、溶接制御方法、溶接打点位置精度変化管理方法
US6323616B1 (en) * 1999-03-15 2001-11-27 Berkeley Process Control, Inc. Self teaching robotic wafer handling system
US6278077B1 (en) * 1999-12-02 2001-08-21 Dimitrios G. Cecil Weld indexing method and system
JP3808321B2 (ja) * 2001-04-16 2006-08-09 ファナック株式会社 ロボット制御装置
US6640458B2 (en) 2002-03-25 2003-11-04 Btm Corporation End arm effector set-up
US20040028507A1 (en) * 2002-07-23 2004-02-12 Peter Massaro Robotically manipulable tool with on-board processor
ITTO20020862A1 (it) * 2002-10-04 2004-04-05 Comau Spa Sistema di programmazione per robot o simili apparati
US6828522B2 (en) * 2002-10-18 2004-12-07 Tol-O-Matic, Inc. Adaptable servo-control system for force/position actuation
US6768078B1 (en) 2003-01-09 2004-07-27 Fanuc Robotics North America, Inc. Servo spot welding control system and method of welding workpieces
JP3805317B2 (ja) * 2003-03-17 2006-08-02 ファナック株式会社 教示位置修正方法及び教示位置修正装置
CN1846181A (zh) * 2003-06-20 2006-10-11 美国发那科机器人有限公司 多个机械手的跟踪和镜像微动
JP3819883B2 (ja) * 2003-08-27 2006-09-13 ファナック株式会社 ロボットプログラム位置修正装置
KR101003666B1 (ko) * 2003-12-10 2010-12-23 엘지디스플레이 주식회사 정렬장치
JP2005196242A (ja) * 2003-12-26 2005-07-21 Fanuc Ltd 倣い加工装置
JP4917252B2 (ja) * 2004-07-23 2012-04-18 ファナック株式会社 アーク溶接用装置
JP4930853B2 (ja) * 2005-07-15 2012-05-16 株式会社安川電機 ウェハ搬送装置
DE102007026299B4 (de) * 2007-06-06 2018-08-16 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
JP2009090403A (ja) * 2007-10-05 2009-04-30 Fanuc Ltd ロボット動作範囲設定装置
US8847100B2 (en) * 2008-01-08 2014-09-30 Fanuc America Corporation Weld cap and tip inspection method and apparatus
JP4335286B2 (ja) * 2008-02-08 2009-09-30 ファナック株式会社 部品保護機能を備えたロボット制御装置及びロボット制御方法
JP5062424B2 (ja) * 2008-02-25 2012-10-31 澁谷工業株式会社 ロボット制御システム
JP5483554B2 (ja) * 2010-01-22 2014-05-07 新明和工業株式会社 ツール座標系の較正装置及び較正方法
DE102010019640A1 (de) * 2010-05-06 2011-11-10 Kuka Roboter Gmbh Handgerät und Verfahren zum Steuern und/oder Programmieren eines Manipulators
JP5170175B2 (ja) * 2010-06-30 2013-03-27 株式会社安川電機 ロボットシステム
JP5606816B2 (ja) * 2010-07-22 2014-10-15 Scsk株式会社 溶接ロボットのティーチング装置およびティーチング方法
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
US9921712B2 (en) 2010-12-29 2018-03-20 Mako Surgical Corp. System and method for providing substantially stable control of a surgical tool
JP5533727B2 (ja) * 2011-02-18 2014-06-25 株式会社安川電機 ワークピッキングシステム
US9144860B2 (en) * 2012-03-29 2015-09-29 Fanuc Robotics America Corporation Robotic weld gun orientation normalization
EP2875914A1 (de) * 2012-07-20 2015-05-27 Kabushiki Kaisha Yaskawa Denki Robotersimulator roboterlehrvorrichtung und roboterlehrverfahren
KR102304096B1 (ko) 2012-08-03 2021-09-24 스트리커 코포레이션 로봇 수술을 위한 시스템 및 방법
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
US9334936B2 (en) 2013-04-18 2016-05-10 Tolomatic, Inc. High stiffness thrust component for linear actuator
JP5971226B2 (ja) * 2013-11-01 2016-08-17 株式会社安川電機 ロボットシステムおよび被加工物の製造方法
JP2016010824A (ja) * 2014-06-27 2016-01-21 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法
JP6698268B2 (ja) * 2014-10-14 2020-05-27 蛇の目ミシン工業株式会社 ロボット
US9804593B1 (en) * 2014-12-12 2017-10-31 X Development Llc Methods and systems for teaching positions to components of devices
DE102015200428B3 (de) * 2015-01-14 2016-03-17 Kuka Roboter Gmbh Verfahren zur Ausrichtung eines mehrachsigen Manipulators mit einem Eingabegerät
US9796086B2 (en) * 2015-05-01 2017-10-24 Kawasaki Jukogyo Kabushiki Kaisha Method of teaching robot and robot
CN108475051B (zh) * 2016-02-02 2022-01-25 Abb瑞士股份有限公司 用于在工业机器人的编程期间对准工具的方法和系统
JP2018051692A (ja) * 2016-09-29 2018-04-05 ファナック株式会社 オフラインプログラミング用ジョグ支援装置、ジョグ支援方法及びジョグ支援プログラム
US10940586B2 (en) * 2016-12-13 2021-03-09 Fuji Corporation Method for correcting target position of work robot
WO2018112025A1 (en) 2016-12-16 2018-06-21 Mako Surgical Corp. Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site
JP6568169B2 (ja) 2017-09-12 2019-08-28 ファナック株式会社 溶接ロボットプログラミング装置および溶接ロボットのプログラミング方法
JP6592053B2 (ja) * 2017-10-11 2019-10-16 ファナック株式会社 作業ツールの移動方向を監視する制御装置
JP6677694B2 (ja) 2017-10-31 2020-04-08 ファナック株式会社 ロボットシステム
JP7131323B2 (ja) * 2018-11-15 2022-09-06 トヨタ自動車株式会社 制御装置
US11925996B2 (en) 2018-11-27 2024-03-12 Tolomatic, Inc. Integrated guide linear actuator system
JP2021154439A (ja) * 2020-03-27 2021-10-07 セイコーエプソン株式会社 教示方法
US11754157B2 (en) 2020-05-20 2023-09-12 Tolomatic, Inc. Integrated motor linear actuator
CN113110433A (zh) * 2021-04-02 2021-07-13 深圳优地科技有限公司 机器人姿态调整方法、装置、设备及存储介质
CN113282018B (zh) * 2021-05-14 2023-04-18 广东智源机器人科技有限公司 移动控制方法、装置、电子设备以及烹饪系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS595309A (ja) * 1982-07-02 1984-01-12 Mitsubishi Electric Corp ロボツトの制御装置
JPS6149205A (ja) * 1984-08-16 1986-03-11 Seiko Instr & Electronics Ltd ロボツト制御方式
JPS62214404A (ja) * 1986-03-17 1987-09-21 Yaskawa Electric Mfg Co Ltd ロボツト制御装置
JPH01177980A (ja) * 1988-01-09 1989-07-14 Fanuc Ltd 設置姿勢に応じた動作条件自動設定機能を備えた産業用ロボット
JP2676793B2 (ja) * 1988-06-30 1997-11-17 トヨタ自動車株式会社 倣い制御ロボット
GB2232504B (en) * 1989-05-23 1993-09-29 Honda Motor Co Ltd Method of teaching a robot
JPH033687A (ja) * 1989-05-31 1991-01-09 Fanuc Ltd サーボモータにより駆動される被駆動体の衝突破損防止方法
JPH03184785A (ja) * 1989-12-12 1991-08-12 Fanuc Ltd 計測ロボットのデータ変換方式
JP2812582B2 (ja) * 1991-05-21 1998-10-22 株式会社日立製作所 産業用ロボットの制御装置
AU665000B2 (en) * 1991-06-04 1995-12-14 Anca Pty Ltd Improved control of CNC machine tools
JPH05185387A (ja) * 1992-01-14 1993-07-27 Mitsubishi Electric Corp ロボットの制御装置
JP3166316B2 (ja) * 1992-06-24 2001-05-14 株式会社明電舎 プレイバック型ロボットの教示・制御方法
KR0167021B1 (ko) * 1993-03-15 1999-02-01 카타다 테쯔야 자동연삭장치
JPH06328385A (ja) * 1993-05-20 1994-11-29 Fanuc Ltd 産業用ロボットの視覚センサの姿勢制御方法
US5343385A (en) * 1993-08-17 1994-08-30 International Business Machines Corporation Interference-free insertion of a solid body into a cavity
JPH0916260A (ja) * 1995-06-30 1997-01-17 Fanuc Ltd ロボットの簡易ジョグ座標系の設定方法
EP0785492B1 (de) * 1995-08-09 2001-11-07 Fanuc Ltd Verfahren zum schrittbetrieb eines roboters
JPH09277045A (ja) * 1996-04-12 1997-10-28 Fanuc Ltd 多層盛り溶接における制御方法
JPH1034334A (ja) * 1996-07-19 1998-02-10 Fanuc Ltd 溶接ロボット制御システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009057285B4 (de) * 2008-12-15 2015-05-21 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Impedanzsteuerung im Gelenkraum für sehnengetriebene Manipulatoren
DE102010037734A1 (de) 2010-09-23 2012-03-29 Inovel Elektronik Gmbh Roboterschnittstelle
DE102018006946B4 (de) * 2017-06-07 2020-10-08 Fanuc Corporation Steuerung und maschinelle Lernvorrichtung
DE102018008395B4 (de) 2017-10-31 2021-10-28 Fanuc Corporation Robotereinlernvorrichtung zum melden oder korrigieren einer positionsabweichung von einlernpunkten oder einer einlernlinie

Also Published As

Publication number Publication date
EP0974884B1 (de) 2005-05-11
EP1517208A2 (de) 2005-03-23
JP3215086B2 (ja) 2001-10-02
US6124693A (en) 2000-09-26
EP1517208A3 (de) 2005-04-27
EP0974884A2 (de) 2000-01-26
EP0974884A3 (de) 2002-01-23
DE69936073T2 (de) 2007-08-16
DE69925204D1 (de) 2005-06-16
EP1431854A1 (de) 2004-06-23
DE69936073D1 (de) 2007-06-21
EP1517208B1 (de) 2012-08-22
EP1431854B1 (de) 2007-05-09
JP2000024968A (ja) 2000-01-25

Similar Documents

Publication Publication Date Title
DE69925204T2 (de) Robotersteuerung
DE102018116053B4 (de) Robotersystem und Roboterlernverfahren
EP2851162B1 (de) Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
DE102008062622B4 (de) Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators
DE102008027008B4 (de) Verfahren und Vorrichtung zum Steuern eines Manipulators
EP2905111B1 (de) Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
DE60205300T2 (de) Vorrichtung zur Vermeidung von Kollisionen
DE102015004484B4 (de) Robotersteuerung und Robotersystem zum Bewegen eines Roboters in Erwiderung einer Kraft
DE102018009025B4 (de) Robotersteuervorrichtung zum Einstellen eines Bewegungskoordinatensystems
EP2212753B1 (de) Verfahren zum abfahren einer vorgegebenen bahn durch einen manipulator, sowie steuervorrichtung zur durchführung eines solchen verfahrens
DE69838934T2 (de) Roboterkontrolleinrichtung
EP2500789B1 (de) Roboter und Verfahren zum Betreiben eines Roboters
EP2546711B2 (de) Verfahren zum Programmieren eines Roboters
DE69837741T2 (de) Verfahren und system zur steuerung eines roboters
EP2987592A2 (de) Verfahren zum programmieren eines industrieroboters und zugehöriger industrieroboter
EP2000872B1 (de) Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
DE10296748T5 (de) Roboter
DE102006055359A1 (de) Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern
DE102010036499A1 (de) Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse
DE102018007842B4 (de) Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs
DE3842254A1 (de) Blechbearbeitungsmaschine, insbesondere blechbiegemaschine, mit einem manipulator sowie verfahren und einrichtung zur steuerung desselben
WO2008064727A1 (de) Roboter mit steuerung für zusatzachsen
EP3166759A1 (de) Maschine und verfahren zum betreiben einer maschine
DE102018200864B3 (de) Verfahren und System zum Steuern eines Roboters

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee