DE69936073T2 - Robotersteuerung - Google Patents

Robotersteuerung Download PDF

Info

Publication number
DE69936073T2
DE69936073T2 DE69936073T DE69936073T DE69936073T2 DE 69936073 T2 DE69936073 T2 DE 69936073T2 DE 69936073 T DE69936073 T DE 69936073T DE 69936073 T DE69936073 T DE 69936073T DE 69936073 T2 DE69936073 T2 DE 69936073T2
Authority
DE
Germany
Prior art keywords
coordinate system
robot
tool
workpiece
control device
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
DE69936073T
Other languages
English (en)
Other versions
DE69936073D1 (de
Inventor
Koichi Room 7-305 Minamitsuru-gun Yamanashi Okanda
Takeaki Room12-505 Minamitsuru-gun Yamanashi 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 DE69936073D1 publication Critical patent/DE69936073D1/de
Application granted granted Critical
Publication of DE69936073T2 publication Critical patent/DE69936073T2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

  • Die Erfindung betrifft eine Roboter-Steuervorrichtung zum Erleichtern einer Einlernarbeit.
  • Ein Verfahren zum Einlernen eines Roboters ist das direkte Einlernen, wobei ein Roboter von Hand bedient wird, so dass ihm jeder Einlernpunkt einprogrammiert wird. Bei diesem Verfahren lernt ein Operator selektiv die Einlernpunkte ein, während er die Positionsbeziehung zwischen den am Handgelenk des Roboters angebrachten Werkzeugen und dem Werkstück überwacht.
  • Muss jedoch beispielsweise eine Position im unteren Teil des Körpers eines Fahrzeugs als Position zum Punktschweißen eingelernt werden, ist diese einzulernende Position wahrscheinlich nicht sichtbar. Beim Einlernen von Stellen, bei denen die Positionsbeziehung zwischen den Roboter-Werkzeugen und dem Werkstück schwierig zu erkennen ist, verlässt man sich herkömmlicherweise auf das Gespür des Operators. Beim Einlernen einer Kontaktposition zwischen Werkzeug und Werkstück werden die Kontaktbedingungen vom Operator festgestellt. Kann man eine Stelle schlecht sehen, werden auch die zuvor beschriebenen Verfahren, bei denen man sich auf das Gespür des Operators verlässt oder bei denen der Operator die Stelle einlernt, während er sich mit Hilfe einer Lampe bezüglich des Kontakts zwischen Werkzeugen und einem Werkstück vergewissert, in der Praxis verwendet.
  • Wird eine Position eingelernt, wobei ein Roboter (Werkzeug) in einer festen Richtung um einen festen Betrag von einer aktuellen Position aus bewegt werden sollte, wird im Stand der Technik ein Verfahren eingesetzt, bei dem eine Handbetätigung erfolgt, während der Operator die aktuelle Position des Roboters (des Werkzeugs) bestätigt, der Roboter (das Werkzeug) bis zur Einlernposition bewegt wird, die gewünschte Bewegungsdistanz zur aktuellen Position addiert wird und die Einlernposition direkt erhalten wird.
  • Es gibt auch Fälle, bei denen die Position oder Lage eines Werkzeugs vorzugsweise durch einen Handvorschub zu der Position geändert wird, wohin das Werkzeug bewegt werden soll, wobei der Werkzeugmittelpunkt als Referenz herangezogen wird. In diesem Fall wird das Werkzeugkoordinatensystem im Stand der Technik jedes Mal dann zurückgesetzt, wenn die Position, in welcher der Werkzeugmittelpunkt gesetzt wird, bewegt wird. Ferner betätigt der Operator, beim Einprogrammieren eines Einlernpunktes, wobei das Werkzeug in eine feste Lage zum Werkstück gebracht oder nahe an dieses herangeführt wird, das Werkzeug von Hand, bis die gewünschte Lage erreicht ist.
  • Verlässt man sich jedoch auf das Gespür des Operators beim Einlernen von unübersichtlichen Positionen, führt dies zu Ungenauigkeiten beim Einlernen der Positionen, und die Einlernarbeit wird daher schwierig. Ferner treten beim Einlernen der Kontaktposition zwischen Werkstück und Werkzeug Abweichungen der Einlernposition auf, und eine zuverlässige Einlernarbeit wird schwierig, wenn man sich beim Einlernen auf das Gespür des Operators verlässt oder wenn der Operator das Einlernen ausführt, während er die Kontaktposition zwischen Werkstück und Werkzeug mit einer Lampe überwacht.
  • Bei Arbeitsschritten um einen festen Betrag in einer festen Richtung von einer aktuellen Position mit Verfahren, bei denen eine Einlernposition mittels einem Handvorschub durch den Operator oder durch Addieren einer Bewegungsdistanz zu einer aktuellen Position erhalten wird, treten Abweichungen der Einlernposition auf, und die Einlernarbeit wird komplex. Ferner verkompliziert ein Rücksetzen eines Werkzeugkoordinatensystems die Einlernarbeit jedes Mal dann, wenn der Werkzeugmittelpunkt verschoben wird, wenn die Werkzeuglage geändert wird, wobei der Werkzeugmittelpunkt als Referenz angenommen wird, oder das Gewinnen einer Werkzeuglage durch Handbetätigung, wenn ein Werkzeug in einer festen Lage mit einem Werkstück zusammengebracht oder nahe an dieses herangeführt wird.
  • Man möchte eine Roboter-Steuervorrichtung bereitstellen, die einen Einlernvorgang unterstützen kann und mit der das Einlernen einfach ist.
  • Eine Roboter-Steuervorrichtung kann automatisch eine Zielposition gewinnen beim Eingeben eines manuellen Lageausrichtungsbefehls, wobei eine Achse selektiv eingestellt wird für das eingestellte Werkzeugkoordinatensystem und eine Achse selektiv eingestellt wird für ein Werkzeugkoordinatensystem, wobei die Achsen einander in einem festen Winkel schneiden oder parallel zueinander verlaufen, auf der Basis der eingestellten Daten über den Schnittwinkel oder die Anordnungsbeziehung dieser Achsen. Dann wird der Roboter manuell gesteuert, so dass er sich zur Zielposition bewegt. Dieses Verfahren erleichtert die Einlernarbeit.
  • Somit lässt sich bereitstellen, ist allerdings hier nicht beansprucht:
    eine Roboter-Steuervorrichtung, umfassend:
    Speichervorrichtungen zum Speichern eines Werkzeugkoordinatensystems, das auf eine Position und Lage eines am Roboter angebrachten Werkzeug eingestellt wird, eines Werkstückkoordinatensystems, das auf die Umgebung eingestellt ist, in der sich das Werkstück befindet, wobei eine jede Koordinatenachse, ausgewählt aus den drei Koordinatenachsen des Werkzeugkoordinatensystems und eine jede Koordinatenachse, ausgewählt aus den drei Koordinatenachsen des Werkzeugkoordinatensystems, das bei der Lageausrichtung verwendet wird, und ein Schnittwinkel, der sich zwischen zwei ausgewählten Koordinatenachsen gebildet wird;
    Vorrichtungen zum Gewinnen einer Ziellage des Roboters auf eine Weise, dass der Winkel, der sich zwischen den beiden ausgewählten Koordinatenachsen gebildet hat, gleich dem gespeicherten Winkel wird, wenn ein Lageausrichtungsbefehl eingegeben wird; und
    Vorrichtungen zum automatischen Bewegen des Roboters zur Ziellage.
    Zudem lässt sich bereitstellen, ist allerdings hier nicht beansprucht:
    eine Roboter-Steuervorrichtung, umfassend:
    Speichervorrichtungen zum Speichern eines Werkzeugkoordinatensystems, das auf die Position und die Lage eines am Roboter angebrachten Werkzeugs eingestellt ist, eines Werkstückkoordinatensystems, das auf die Umgebung eingestellt ist, in der ein Werkstück untergebracht ist, und Daten, die eine Lagebeziehung zwischen Werkzeugkoordinatensystem und Werkstückkoordinatensystem festlegen, die bei der Lageausrichtung verwendet werden;
    Vorrichtungen zum Gewinnen einer Ziellage des Roboters auf eine Weise, dass das Werkzeugkoordinatensystem und das Werkstückkoordinatensystem die Lagebeziehung übernehmen, die durch die festgelegten Daten angezeigt werden, die in der Speichervorrichtung gespeichert sind, wenn ein Lageausrichtungsbefehl eingegeben wird; und
    Vorrichtungen zum automatischen Bewegen des Roboters auf zur Ziellage.
  • Die Einlernarbeit kann zudem erleichtert werden durch automatisches Gewinnen einer Zielposition, in der eine für das Werkzeugkoordinatensystem und das Werkstückkoordinatensystem eingestellte Beziehung erfüllt wird, mit einem manuellen Ausrichtungsbefehl und durch Handvorschub des Roboters zur Zielposition.
  • Ist ein Werkzeug mit beweglichen Teilen am Handgelenk am Ende eines Roboterarms befestigt und ist ein Referenz-Werkzeugkoordinatensystem auf die beweglichen Teile eingestellt, kann das Referenz-Werkzeugkoordinatensystem transformiert werden auf der Basis des Bewegungsbetrags der beweglichen Teile des Werkzeugs, und das Werkzeugkoordinatensystem wird zur Bewegung der beweglichen Teile des Werkzeugs abgeglichen. Dies erleichtert auch die Einlernarbeit.
  • Zudem kann bereitgestellt werden, ist allerdings hier nicht beansprucht:
    eine Roboter-Steuervorrichtung mit einem Werkzeug, das bewegliche Teile aufweist, die an einem Roboter befestigt sind, und mit einem Werkzeugkoordinatensystem, das auf eine Referenzposition und eine Lage der beweglichen Teile eingestellt ist, wobei die Roboter-Steuervorrichtung umfasst:
    Vorrichtungen zum Transformieren des Werkzeugkoordinatensystems auf der Basis eines Bewegungsbetrags der beweglichen Teile des Werkzeugs von der Referenzposition und der Lage,
    wobei das Werkzeugkoordinatensystem veranlasst wird, sich zur Bewegung der beweglichen Teile des Werkzeugs von der Referenzposition und Lage auszurichten.
  • Werden Handvorschub-Unterbrechungsbedingungen an der Roboter-Steuervorrichtung voreingestellt und erfasst eine Überwachungsvorrichtung, dass die Unterbrechungsbedingungen während des Handvorschubs erfüllt sind, kann der Handvorschub automatisch unterbrochen werden. Dies erleichtert auch die Einlernarbeit.
  • EP-A-0 540 753 offenbart eine Roboter-Steuervorrichtung, die so arbeitet, dass ein Handbetrieb eines Roboters unterbrochen wird, wenn eine vorher eingestellte Handbetriebsbedingung erfüllt ist.
  • Erfindungsgemäß wird eine Roboter-Steuervorrichtung bereitgestellt, umfassend einen Eingang, der sich an einen Sensor anschließen lässt zum Erfassen des Kontakts eines am Roboter befestigten Werkzeugs, Drehmomenterfassungsvorrichtungen, Positionsspeichervorrichtungen, Überwachungsvorrichtungen, mit denen man überwacht, ob eine vorher in der Roboter-Steuervorrichtung eingestellte Handbetriebs-Unterbrechungsbedingung erfüllt ist, und Vorrichtungen zum Auswählen der Vorschubrichtung durch Handvorschub in eine der X-, Y- und Z-Achsen des Roboter-Referenz-Koordinatensystems, des Werkstückkoordinatensystems oder des Werkzeugkoordinatensystems, wobei die Steuervorrichtung automatisch den Handbetrieb unterbricht, wenn die Überwachungsvorrichtungen während des Handvorschubs erfassen, dass eine der folgenden Unterbrechungsbedingungen erfüllt ist: ein Kontakterfassungssignal vom Sensor zum Erfassen des Kontakts eines am Roboter befestigten Werkzeugs zu einem Werkstück, wird von der Steuervorrichtung erfasst; ein von der Drehmomenterfassungsvorrichtung erfasstes Lastmoment auf einen oder mehrere Motoren, die jeweils die Achsen des Roboters antreiben, überschreitet ein eingestelltes Moment; eine Strecke, die von einem Handbetriebsstartpunkt zurückgelegt wurde, übersteigt einen eingestellten Wert.
  • Die vorstehenden und anderen Eigenschaften der Erfindung und dazu gehörige Ausführungsformen werden aus der folgenden Beschreibung der Ausführungsformen anhand der beigefügten Zeichnungen ersichtlich. Es zeigt/zeigen:
  • 1 ein Blockdiagramm der grundlegenden Teile einer erfindungsgemäßen Roboter-Steuervorrichtung;
  • 2 eine Programmierkonsole der Roboter-Steuervorrichtung gemäß 1;
  • 3, ein Ablaufschema, eine Lageausrichtung, die durch die erste Ausführungsform von 1 durchgeführt werden kann;
  • 4(a) bis 4(g) Vorgänge, die mit der ersten Ausführungsform ausgeführt werden;
  • 5, ein Ablaufschema, eine Lageausrichtung, die mit einer zweiten Ausführungsform durchgeführt wird;
  • 6(a) bis 6(c) Vorgänge, die mit der zweiten Ausführungsform ausgeführt werden;
  • 7, ein Ablaufschema, ein Werkzeugkoordinatensystem-Rückstellverfahren, das mit einer dritten Ausführungsform durchgeführt wird;
  • 8(a) bis 8(c') und 9(a) bis 9(c') Vorgänge, die mit der dritten Ausführungsform ausgeführt werden;
  • 10, ein Ablaufschema, ein Verfahren zum automatischen Unterbrechen eines Handvorschubs, das mit einer vierten erfindungsgemäßen Ausführungsform durchgeführt wird;
  • 11(a) bis 11(d) die Anwendung der vorliegenden Erfindung auf eine Servopistole zum Punktschweißen;
  • 12 einen Vorgang zum Zurückziehen, nachdem ein Werkzeug mit einem Werkstück zusammengebracht wurde, wenn eine erfindungsgemäße Ausführungsform auf eine Druckluft-Ausblaspistole zum Punktschweißen angewendet wird.
  • 13(a) bis 13(c) einen Vorgang, wenn eine erfindungsgemäße Ausführungsform auf eine Hand mit beweglichen Teilen angewendet wird, die durch ein Servosystem angetrieben werden.
  • 1 zeigt ein Blockdiagramm der grundlegenden Teile einer Roboter-Steuervorrichtung, die die gleiche Konfiguration wie eine Roboter-Steuervorrichtung des Standes der Technik hat. Ein Hauptprozessor 101 (nachstehend einfach als "Prozessor" bezeichnet), ein Speicher 102, der einen RAM, einen ROM und einen nichtflüchtigen Speicher (EEPROM usw.) umfasst, eine Schnittstelle 103 für eine Programmierkonsole, eine Eingabe/Ausgabe-Schnittstelle 106 zur Verwendung mit Außengeräten und eine Servo-Steuereinheit 105 sind an einem Bus 107 angeschlossen. Eine Programmierkonsole 104 ist an die Programmierkonsolen-Schnittstelle 103 angeschlossen.
  • Ein Systemprogramm zum Unterstützen der grundlegenden Funktionen des Roboters und der Robotersteuerung ist in dem ROM von Speicher 102 gespeichert. Roboterbetriebsprogramme, die in Reaktion auf Anwendungen einprogrammiert werden, und dazugehörige eingestellte Daten werden im nichtflüchtigen Speicher von Speicher 102 gespeichert. Der RAM von Speicher 102 wird als Speicherbereich zur vorübergehenden Speicherung von Daten bei verschiedenen Rechenverarbeitungen verwendet, die durch den Prozessor 101 durchgeführt werden.
  • Die Servo-Steuereinheit 105 hat Servo-Steuervorrichtungen #1, #2, ... #n (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 Rechenverarbeitung (Orbit-Plan-Produktion sowie einer Interpolation und Invers-Transformationen usw. auf der Grundlage dieser Orbit-Plan-Produktion) ergeben, und steuert Servomotoren, die Aktoren für jeden der Axial-Mechanismen des Roboters antreiben, über Servoverstärker.
  • Sensoren, die sich am Roboter befinden, und Sensoren und Aktoren für Außengeräte sind an die externen Eingabe/Ausgabe-Schaltungen der Eingabe/Ausgabe-Schnittstelle 106 angeschlossen, wobei insbesondere bei der vorliegenden Erfindung Sensoren zum Erfassen des Kontakts zwischen Werkzeugen und dem Werkstück angeschlossen sind.
  • Die Konfiguration für die oben beschriebene Roboter-Steuervorrichtung unterscheidet sich nicht von einer Roboter-Steuervorrichtung des Standes der Technik. Eine Lageausrichtungs-Taste ist jedoch in der Programmierkonsole 104 bereitgestellt, und eine Steuerung oder dergleichen der Lage und der Position eines Werkzeugs wird automatisch ausgeführt, so dass das Einlernen unterstützt wird.
  • 2 veranschaulicht ein Beispiel für eine Programmierkonsole 104. Diese Programmierkonsole 104 unterscheidet sich von einer Programmierkonsole des Standes der Technik dadurch, dass eine Lageausrichtungs-Taste 19 bereitgestellt ist und mit einer Funktionstaste 11 ein Modus für eine Einlern-Unterstützung (wird später beschrieben) ausgewählt werden kann, wobei andere Gesichtpunkte die gleichen wie beim Stand der Technik sind.
  • Die Programmierkonsole 104 von 2 hat eine Anzeigeeinrichtung 10, die eine LCD usw. umfasst, die Funktionstaste 11 zum Auswählen eines Modus für eine Einlern-Unterstützung, eine Linearbewegungstaste 12 zum Erteilen von Befehlen zur Bewegung in positiven und negativen Richtungen längs der Achsen X, Y und Z eines orthogonalen Koordinatensystems, das aus Koordinatensystemen (einem Roboter-Referenz-Koordinatensystem, einem Werkstückkoordinatensystem, das in Bezug auf das Referenz-Koordinatensystem eingestellt ist, und einem Werkzeugkoordinatensystem) durch eine Taste 16 zum Auswählen eines Koordinatensystems ausgewählt wird, Drehbetätigungstasten 13 zum Erteilen von Befehlen zur Drehung in positiven und negativen Richtungen um die Achsen X, Y und Z und Achsenbetätigungstasten 14 zum Befehlen von Arbeitsgängen des Roboters in positiven und negativen Richtungen einer jeden Gelenkachse J1 bis J6. Die in 2 gezeigte Programmierkonsole 104 ist für einen 6-Achsen-Roboter vorgesehen.
  • Ferner hat die Programmierkonsole 104 wie beim Stand der Technik außerdem eine Umschalttaste 15, die zusammen mit jeder der Betätigungstasten 12, 13 und 14 zum Eingeben der entsprechenden Befehle gedrückt werden muss, die Taste 16 zum Auswählen eines Koordinatensystems, eine Modustaste 17 zum Umschalten zwischen einem Einlern-Modus und einem Wiedergabe-Modus, und eine Funktionsauswahltaste 18 zum Auswählen von Stellbildschirmen für die Einstellungen verschiedener Koordinatensysteme und Parameter usw., so dass man die Einstellungen vornehmen kann.
  • Die Programmierkonsole 104 hat neben den zuvor beschriebenen Tasten eigentlich auch Tasten, wie verschiedene Befehlstasten, die eine Programmierkonsole des Standes der Technik hat.
  • Ein Operator führt genauso wie im Stand der Technik durch Handbetätigung der Programmierkonsole 104, die Wiedergabe eines eingelernten Betriebsprogramms, einen Handvorschub und dgl. neben dem Einlernen eines Roboter-Betriebsprogramms, Modifizieren und Registrieren des Programms und Einstellen verschiedener Parameter aus. Mit der Anzeigeeinrichtung kann man auch Befehle an den Operator erteilen, sowie Eingabedaten und Simulationsergebnisse anzeigen.
  • [Erste Ausführungsform]
  • Die erste Ausführungsform (hier nicht beansprucht) ändert automatisch eine Werkzeuglage derart, dass die Beziehung zwischen einem an einem Handgelenk am Ende eines Roboterarms angebrachten Werkzeug und einem Werkstück die gewünschte Beziehung ist.
  • Die erste Ausführungsform ändert insbesondere automatisch eine Werkzeuglage in einer Weise, dass eine Achse aus einem beliebigen System ausgewählt wird aus einem Arbeits-Koordinatensystems W, das für das Werkstück relativ zu dem Roboterreferenzkoordinatensystem eingestellt wird, und einem Werkzeugkoordinatensystem T, das in Bezug auf das Werkzeug eingestellt wird, und eine für diese Achsen eingestellte Beziehung (Schnittwinkel) erreicht wird. Wie später anhand von 11(c) beschrieben ist dies beim Einstellen der Lage einer Punktschweißpistole anwendbar, und zwar derart, dass die Spitze der Punktschweißpistole (Werkzeug) senkrecht zur Oberfläche einer zu schweißenden Stelle eines Werkstücks steht.
  • Die Arbeitsweise dieser ersten Ausführungsform wird beschrieben anhand von 3, die die Verarbeitung durch den Hauptprozessor 101 der Roboter-Steuervorrichtung zeigt, und 4(a) bis 4(g), welche die Arbeitsweise gemäß der Ausführungsform veranschaulichen. 4(a) bis 4(g) zeigen ein Beispiel für den Einsatz einer Punktschweißpistole als Werkzeug.
  • Zunächst wird vorab die Funktionsauswahltaste 18 betätigt, und es werden, wie in 4(a) gezeigt, ein Werkzeugkoordinatensystem T und ein Werkstückkoordinatensystem W genauso wie im Stand der Technik eingestellt.
  • Gemäß dieser Ausführungsform wird eine Lageausrichtung derart ausgeführt, dass sich eine Achse, die für das Werkstückkoordinatensystem W ausgewählt ist, und eine Achse, die für das Werkzeugkoordinatensystem T ausgewählt ist, in einem festgelegten Winkel schneiden. Zu diesem Zweck wird eine der Achsen X, Y und Z des Werkzeugkoordinatensystems T und eine der Achsen X, Y und Z des Werkstückkoordinatensystems selektiv gesetzt, damit die Lageausrichtung ausgeführt wird, und es wird ein Schnittwinkel zwischen den selektiv eingestellten Achsen festgelegt.
  • In dem Beispiel von 4(a) bis 4(g) wird die Z-Achse sowohl für das Werkzeugkoordinatensystem T als auch das Werkstückkoordinatensystem W ausgewählt, und es wird ein Schnittwinkel θ festgelegt. Ist der festgelegte Schnittwinkel gleich 0, verlaufen die ausgewählten Achsen in die gleiche Richtung. Die Betätigungsgeschwindigkeit für den Handvorschub wird ebenfalls vorher durchgeführt, so dass man eine Lageausrichtung ausführt.
  • Der Operator betreibt nach dem Betätigen der Modustaste 17 den Roboter derart, dass er sich zu der Position bewegt, die ihm gegenüber dem Werkstück 21 eingelernt werden soll. Dann drückt der Operator zum Ausführen der Stellungsausrichtung die Umschalttaste 15 und die Lageausrichtungstaste 19, so dass der Prozessor 101 das Verfahren von 3 startet.
  • Es wird ein Einheitsvektor t (siehe 4(b)) erhalten, der parallel zu der selektiv für das Werkzeug-Koordinatensystem T gesetzten Achse (Achse Z im Falle von 4(a) bis 4(g)) durch den Ursprung des Werkzeugkoordinatensystems T verläuft (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(a)) durch den Nullpunkt des Werkzeugkoordinatensystems T verläuft und selektiv für das Werkstückkoordinatensystem W eingestellt wird (Schritt a2).
  • Dann wird ein Normalvektor n, der durch den Ursprung des Werkzeug-Koordinatensystems T verläuft und orthogonal zu den Vektoren t und w ist, aus dem Vektorprodukt von Einheitsvektors t und Einheitsvektor w (siehe 4(d)) gewonnen (Schritt a3): n = t x w (wobei x der Operator des Vektorprodukts ist).
  • Dann wird bestimmt, ob der gewonnene Normalvektor n "0" ist oder nicht (Schritt a4). Ist der Normalvektor n nicht gleich "0", wird die Verarbeitung bei Schritt a8 fortgesetzt.
  • Ist dagegen der Normalvektor n gleich "0", verlaufen die Einheitsvektoren t und w parallel zueinander, so dass kein eindeutiger Normalvektor aus diesen Vektoren erhalten werden kann. Dann wird in der Anzeigevorrichtung usw. der Programmierkonsole 104 ein Alarm ausgegeben, und es wird eine Meldung angezeigt (Schritt a5), die zum Eingeben eines Vektors n' auffordert, der durch den Nullpunkt des Werkzeugkoordinatensystems T in einer Ebene verläuft, die durch zwei Achsen gebildet wird, die sich von denen unterscheiden, die für das Werkzeugkoordinatensystem gesetzt sind. In dem Beispiel von 4(a) bis 4(g) ist die Achse Z des Werkzeugkoordinatensystems T als ausgewählte Achse gesetzt, und in diesem Fall wird zum Eingeben eines Vektors n' aufgefordert, der durch den Nullpunkt des Werkzeug-Koordinatensystems in der XY-Ebene des Werkzeugkoordinatensystems T verläuft. In der Praxis reicht es jedoch zum Gewinnen eines solchen Vektors n' aus, dass die X-Achse oder die Y-Achse bestimmt wird. In dem Beispiel von 4(e) ist die X-Achse bestimmt.
  • Wird der Vektor n' eingegeben (Schritt a6), wird der Vektor n' als Normalvektor herangezogen (Schritt a7), und die Verarbeitung setzt sich bei Schritt a8 fort. In Schritt a8 wird der Schnittwinkel α der Vektoren t und w abgeleitet (s. 4(e)).
  • Dann wird eine Transformations-Matrix F durch Drehen des Normalvektors n um eine Differenz (α – θ) des gewonnenen Schnittwinkels α und eines gesetzten Zielschnittwinkels θ gewonnen (Schritt a9). Ist der gesetzte Zielschnittwinkel gleich "0", ist die Differenz α – θ = α – 0 = α, und es wird eine Transformationsmatrix F erhalten, bei der der Vektor t mit dem Vektor w zusammenfällt (in dem Beispiel von 4(a) bis 4(g) verlaufen die Achse z des Werkzeugkoordinatensystems T und die Achse Z des Werkstückkoordinatensystems W parallel zueinander).
  • Dann wird ein Koordinatensystem R für eine angeflanschte Oberfläche des Handgelenks am Ende eines Arms des Roboters in einer aktuellen Roboterlage und -Position aus Sicht des Roboterreferenzkoordinatensystems erhalten. Außerdem wird ein Koordinatensystem H für das Ende des Werkzeugs aus Sicht des Roboterreferenzkoordinatensystems aus dem Koordinatensystem R und dem Werkzeugkoordinatensystem T erhalten (Schritt a10): H = R·T
  • Dann wird die zuvor genannte Transformationsmatrix auf das zuvor erhaltene Koordinatensystem H angewendet, und es wird ein Koordinatensystem H' für eine Ziellage und -Position für die Werkzeuglageausrichtung erhalten (Schritt a11) (siehe 4(f)): H' = H·F
  • Der Roboter wird dann derart betrieben, dass er sich mit einer eingestellten Betriebsgeschwindigkeit zur Ziellageposition H' bewegt (Schritt a12). 4(g) zeigt die Werkzeuglage H vor der Lageausrichtung durch gestrichelte Linien, und die Werkzeuglage H' nach der Lageausrichtung (wenn der gesetzte Zielwinkel θ = 0 ist) ist durch durchgehende Linien gezeigt.
  • Der Roboter wird dann derart automatisch angetrieben, dass die Achse, die für das Werkzeugkoordinatensystem T ausgewählt ist, eine vorgegebene Beziehung (gesetzter Schnittwinkel θ) gegenüber der Achse, die für das Werkstückkoordinatensystem W ausgewählt ist, erfüllt, und die Lage des Werkzeugs 20 erfüllt dann die gewünschte Beziehung gegenüber dem Werkstück 21.
  • [Zweite Ausführungsform]
  • In der ersten Ausführungsform wird ein Roboter automatisch angetrieben, und die Lage des Werkzeugs 20 wird derart geändert, dass die für das Werkzeugkoordinatensystem T ausgewählte Achse und die für das Werkstückkoordinatensystem W ausgewählte Achse eine festgelegte Beziehung erfüllen (d. h. sie schneiden einander im festgesetzten Winkel). In der zweiten Ausführungsform (hier nicht beansprucht) wird dagegen die Werkzeuglage durch automatisches Antreiben eines Roboters in einer solchen Weise geändert, dass das Werkzeugkoordinatensystem T eine gesetzte relative Beziehung gegenüber dem Werkstückkoordinatensystem W erfüllt.
  • Zunächst werden das Werkzeugkoordinatensystem T und das Werkstückkoordinatensystem W genauso wie in der ersten Ausführungsform eingestellt. Die Betriebsgeschwindigkeit für den Handvorschub während einer Lageausrichtung wird ebenfalls eingestellt. Die relative Beziehung, die man zwischen dem Werkstückkoordinatensystem W und dem Werkzeug-Koordinatensystem T aufbauen möchte, wird ebenfalls eingestellt.
  • Es werden Drehwinkel zur Drehung um die Achsen X, Y und Z des Werkstückkoordinatensystems eingestellt, wenn man ein gedrehtes Werkstückkoordinatensystem zur Ziellage für das Werkzeugkoordinatensystem T machen möchte. Dann wird das Verfahren von 5 vom Hauptprozessor 101 durch stetiges gleichzeitiges Niederdrücken der Umschalttaste 15 und der Stellungsausrichtungstaste 19 der Programmierkonsole 104 ausgeführt, und die Werkzeuglage wird automatisch in die Ziellage überführt.
  • Die 6(a) bis 6(c) veranschaulichen die Arbeitsweise dieser zweiten Ausführungsform, wobei 6(a) die Beziehung zwischen dem Werkstück (Werkstückkoordinatensystem) vor dem Ausführen der Lageausrichtung und dem Werkzeug (Werkzeugkoordinatensystem) zeigt.
  • Werden die Umschalttaste 15 und die Lageausrichtungstaste 19 zugleich gedrückt, wird eine Transformationsmatrix F zum Drehen des Werkstückkoordinatensystems W nur um die gesetzten Drehwinkel auf der Grundlage der Drehwinkel um die Drehachsen X, Y und Z erhalten, die für das Werkstückkoordinatensystem W eingestellt sind (Schritt b1). Die Transformationsmatrix F wird dann auf das Werkstückkoordinatensystem W angewendet, so dass man nach Erhalt der Transformation ein Werkstückkoordinatensystem G erhält, (Schritt b2) (siehe 6b)): G = W·F
  • Als nächstes wird ein Koordinatensystem R für eine angeflanschte Oberfläche des Handgelenks am Ende eines Arms des Roboters in einer aktuellen Roboterlage und -Position aus Sicht des Roboterreferenzkoordinatensystems erhalten, und es wird ein Koordinatensystem H für das Ende des Werkzeugs aus Sicht des Roboter-Referenz-Koordinatensystems unter Benutzung des Koordinatensystems R und des Werkzeugkoordinatensystems T erhalten (Schritt b3): H = R·T
  • Die auf diese Weise erhaltenen Koordinatensysteme G und H werden dann in Lagekomponenten Gr und Hr und Positionskomponenten GI und HI aufgelöst, die Lagekomponente Hr des Koordinatensystems H wird durch die Lagekomponente Gr des Koordinatensystems G ersetzt, und es wird ein neues Koordinatensystem H' für das Koordinatensystem für das Ende des Werkzeugs erhalten (Schritt b4) (siehe 6(c)).
  • Das Koordinatensystem G und das Koordinatensystem H werden durch die folgenden Gleichungen 1 und 2 ausgedrückt:
    Figure 00120001
  • Das neue Koordinatensystem H', das durch Ersetzen der Lagekomponente Hr des Koordinatensystems H durch Stellungskomponente Gr des Koordinatensystems G erhalten wird, wird durch die folgende Gleichung 3 ausgedrückt:
    Figure 00120002
  • Der Roboter wird mit der eingestellten Betriebsgeschwindigkeit in Richtung des aus Gleichung 3 erhaltenen neuen Koordinatensystems H' angetrieben, und die Werkzeuglage wird derart geändert, dass das Werkzeugkoordinatensystem die relative Beziehung gegenüber dem Werkstückkoordinatensystem erfüllt, und der Lageausrichtungsvorgang wird beendet (Schritt b5).
  • [Dritte Ausführungsform]
  • In der dritten Ausführungsform (hier nicht beansprucht) wird eine Servopistole benutzt, die die Position von bewegbaren Teilen von Werkzeugen erfassen kann. Sie wird durch einen Servomotor angetrieben und wird als Werkzeug 20 verwendet. In dieser Ausführungsform werden die bewegbaren Teile des Werkzeugs 20 als zusätzliche Achse der Roboter-Steuervorrichtung einer Servosteuerung unterzogen, und die Steuerung der bewegbaren Teile wird auch durch die Roboter-Steuervorrichtung ausgeführt. Auf der Programmierkonsole 104 kann sich auch eine Taste als Handbetätigungsvorrichtung für den Handvorschub der beweglichen Teile des Werkzeugs befinden. Das in 2 gezeigte Beispiel hat eine solche Taste jedoch nicht.
  • Ist es zweckdienlicher, das Werkzeug auf der Grundlage eines Werkzeugmittelpunkts (im folgenden als "TCP" bezeichnet) zu drehen und zu bewegen, wird das Werkzeugkoordinatensystem T für das Werkzeug 20 gesetzt, und wenn ein Teil, für das der TCP gesetzt ist, bewegt wird, wird das Werkzeugkoordinatensystem T automatisch entsprechend der Bewegung des TCP gesetzt.
  • Anhand des Ablaufschemas von 7 wird ein Verfahren erklärt, das durch den Hauptprozessor 101 der Roboter-Steuervorrichtung ausgeführt wird, und 8(a) bis 8(c) und 9(a) bis 9(c') veranschaulichen Arbeitsabläufe des Werkzeugs.
  • Zunächst wird ein Werkzeugkoordinatensystem T, das als Referenz herangezogen wird, für ein Teil des Werkzeugs 20 gesetzt. 8(a) zeigt einen Fall, in dem das Werkzeugkoordinatensystem T für ein bewegbares Teil 20a des Werkzeugs 20 (speziell für die Spitze einer bewegbaren Seite einer Punktschweißpistole) gesetzt ist, und 8(a') zeigt einen Fall, in dem das Werkzeugkoordinatensystem T für ein festes Teil 20b des Werkzeugs 20 gesetzt ist.
  • 8(a) bis 8(c) und 9(a) bis 9(c) zeigen den Fall, in dem das Werkzeugkoordinatensystem T für das bewegbare Teil 20a des Werkzeugs 20 gesetzt ist, wohingegen 8(a') bis 8(c') und 9(a') bis 9(c') den Fall zeigen, in dem das Werkzeugkoordinatensystem T für das feste Teil 20b des Werkzeugs 20 eingestellt ist.
  • Als nächstes wird eine Referenzposition 0 des bewegbaren Teils in dem Werkzeugkoordinatensystem eingestellt, das in der zuvor beschriebenen Weise eingestellt wurde. In 8(b) und 8(b') ist diese Referenzposition 0 an einer Stelle eingestellt, wo sie um eine Distanz "0" in Richtung des bewegbaren Teils von der Position B des festen Teils auf der Seite, auf der sich die Spitze des bewegbaren Teils befindet, beabstandet ist.
  • Die Richtung der Verschiebung des bewegbaren Teils 20a des Werkzeugs 20 wird auf der Grundlage der Achse X, Y oder Z des Werkzeugkoordinatensystems T eingestellt. In den Beispielen von 8(c) und 8(c') ist die Z-Achse des Werkzeugkoordinatensystems Z gesetzt.
  • Ferner wird das bewegbare Teil (das Spitze auf der bewegbaren Seite) 20a des Werkzeugs 20 nach dem Einstellen der Betriebsgeschwindigkeit beim Handvorschub zu der gewünschten Position P durch Handvorschub oder durch Ausführen eines Programms bewegt (s. 9(a) und 9(a')).
  • Werden dann die Umschalttaste 15 und die Betätigungsrichtungstaste 12 gedrückt und wird ein Handvorschub auf der Grundlage des Werkzeugkoordinatensystems T befohlen, startet der Hauptprozessor 101 der Roboter-Steuervorrichtung die Verarbeitung von 7.
  • Zunächst wird eine für das bewegliche Teil 20a des Werkzeugs eingestellte Distanz L (L = P – O) von der Referenzposition 0 zur aktuellen Position P des beweglichen Teils 20a des Werkzeugs erhalten (Schritt c1) (siehe 9(b) und 9(b')) und es wird die Transformationsmatrix F als Übersetzungsmatrix für die gewonnene Distanz L in Richtung der Achse (in diesem Beispiel in Richtung der Z-Achse) erhalten, die für die Bewegungsrichtung eingestellt ist (Schritt c2).
  • Aus dem eingestellten Werkzeugkoordinatensystem T als Referenzkoordinatensystem und der zuvor erwähnten Transformationsmatrix F wird mit der folgenden Gleichung ein neues Werkzeugkoordinatensystem T' gewonnen (Schritt c3) (s. 9(c) und 9(c')). T = T·F
  • Dann wird ein in Richtung der Achse auf der Grundlage des neu gewonnenen Werkzeugkoordinatensystems T befohlener Handvorschub ausgeführt (Schritt c4). Gemäß dieser Ausführungsform kann das Werkzeugkoordinatensystem T, wie in
  • 9(b) und 9(b') und 9(c) und 9(c') gezeigt, selbst dann, wenn sich das bewegliche Teil 20a des Werkzeugs 20 bewegt, nach der Bewegung automatisch erhalten werden, und die Bewegung findet in der befohlenen Betriebsrichtung auf der Grundlage des erhaltenen Werkzeugkoordinatensystems T statt, so dass das Werkzeug 20 und das Werkstück 21 daher während der Bewegung nicht miteinander kollidieren können.
  • [Vierte Ausführungsform]
  • In dem vierten Ausführungsbeispiel, das durch die Erfindung gemäß der vorliegenden Ansprüche abgedeckt ist, wird der Betrieb des Roboters automatisch unterbrochen, wenn bestimmte aufgestellte Unterbrechungsbedingungen erfüllt werden, wenn der Roboter durch Betätigung von Hand bewegt wird. Die Bedingungen für eine Unterbrechung müssen daher in dieser Ausführungsform vorab gesetzt werden. Die Unterbrechungsbedingungen werden z. B. in den folgenden Fällen als erfüllt betrachtet:
    • (1) Es gibt einen Sensor zum Erfassen der Tatsache, dass das Werkzeug mit dem Werkstück in Kontakt kommt, und es wird ein Ausgangssignal des Sensors über die Eingabe/Ausgabe-Schnittstelle 106 erfasst.
    • (2) Das Lastmoment von Servomotoren, die jede Achse des Roboters antreiben, wird erfasst, und wenn ein Schwellenwert durch das Lastmoment von einem der Servomotoren überschritten wird, wird dies als Tatsache angesehen, dass das Werkzeug 20 mit dem Werkstück 21 in Kontakt gekommen ist.
  • In der Praxis wird das Lastmoment 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 angesehen, dass die Unterbrechungsbedingungen erfüllt sind, wenn das erfasste Lastmoment (oder der erfasste Strom) oder der Drehmoment-Befehlswert gleich oder größer als der gesetzte Schwellenwert ist.
  • Ist zudem eine Beobachtungseinrichtung zum Ermitteln eines Lastmoments vorhanden, können die Unterbrechungsbedingungen derart angeordnet sein, dass der Betrieb unterbrochen wird, wenn das durch die Beobachtungseinrichtung ermittelte Lastmoment größer oder gleich dem Schwellenwert ist.
    • (3) Ein Handvorschub wird automatisch unterbrochen, wenn die von dem Startpunkt des Handvorschubs zurückgelegte Distanz einen Sollwert überschreitet.
  • Es gibt verschiedene Arten von Unterbrechungsbedingungen, und es wird eine optimale Unterbrechungsbedingung entsprechend einer Anwendung ausgewählt. Sind beispielsweise die Unterbrechungsbedingungen (1) bis (3) auf die Roboter-Steuervorrichtung anwendbar, kann vorab bestimmt werden, welche dieser Bedingungen als Unterbrechungsbedingung ausgewählt werden sollte. Wird die Unterbrechungsbedingung (3) ausgewählt, muss man für die automatische Unterbrechung eine Strecke, die vom Startpunkt zurückgelegt werden muss, als Sollwert einstellen.
  • Nach dem Einstellen der Betriebsgeschwindigkeit während des Handbetriebs und dem Erfüllen der Unterbrechungsbedingungen, wird eingestellt, ob eine Bewegung um einen bestimmten Betrag in einer bestimmten Richtung von der Unterbrechungsposition aus stattfinden soll oder nicht. Wenn dies bestimmt ist, wird das Koordinatensystem (Roboter-Referenz-Koordinatensystem, Werkstückkoordinatensystem, Werkzeugkoordinatensystem usw.), das als Referenz für die Betätigungsrichtung herangezogen wird, selektiv eingestellt, es wird eine der Achsen X, Y oder Z dieses ausgewählten Koordinatensystems als die Betätigungsrichtung gesetzt, und die zurückzulegende Distanz wird ebenfalls gesetzt.
  • Nach dem Einstellen der Unterbrechungsbedingungen und der Betriebsgeschwindigkeit dahingehend, ob nach Erfüllung der Unterbrechungsbedingungen ein Zurückziehen erfolgen soll oder nicht, und dahingehend, in welcher Richtung und um welchen Betrag eine Rückziehbewegung im Falle eines Zurückziehens erfolgen muss, werden die Umschalttaste 15 und die Betätigungsrichtungstasten 12 und 13 gedrückt, damit ein Handvorschub befohlen wird. Dann startet der Hauptprozessor 101 der Roboter-Steuervorrichtung den Prozess von 10.
  • Der Hauptprozessor 101 gibt einen Bewegungsbefehl aus, um den Roboter in einer durch die Betätigungsrichtungstasten 12 und 13 befohlenen Betriebsrichtung mit der eingestellten Betriebsgeschwindigkeit zu bewegen, so dass der Roboter veranlasst wird, sich mit der gesetzten Betriebsgeschwindigkeit zu bewegen (Schritt d1). Dann wird bestimmt, ob die Unterbrechungsbedingungen erfüllt sind oder nicht (Schritt d2). Wenn sie nicht erfüllt sind, wird bestimmt, ob das Drücken der Betätigungsrichtungstasten beendet worden ist oder nicht (Schritt d8). Wurden sie nicht losgelassen, kehrt das Verfahren zu Schritt d1 zurück, und das Verfahren von Schritt d1, Schritt d2 und Schritt d8 wird wiederholt.
  • Werden die Umschalttaste 15 oder die Betätigungsrichtungstasten 12 und 13 losgelassen, bevor die Erfüllung der Unterbrechungsbedingung erfasst wurde, wird der Betrieb des Roboters unterbrochen (Schritt d7).
  • Ist die Unterbrechungsbedingung erfüllt, beispielsweise, wenn die zuvor beschriebene Unterbrechungsbedingung (1) gesetzt worden ist, erfasst der Hauptprozessor 101, ob der Eingabe/Ausgabe-Schnittstelle 106 in jedem festgelegten Zeitraum ein Kontakterfassungssignal von dem Sensor eingegeben worden ist oder nicht. Erfasst der Hauptprozessor 101 die Eingabe eines Kontakterfassungssignals, wird die Position zu dieser Zeit gespeichert, und der Handvorschub des Roboters wird (ungeachtet der Tatsache, ob die Umschalttaste 15 und die Betätigungsrichtungstasten 12 und 13 gedrückt sind oder nicht) automatisch unterbrochen (Schritt d2), (Schritt d3).
  • Ist die zuvor beschriebene Bedingung (2) eingestellt, bestimmt der Hauptprozessor 101 in jedem festgelegten Zeitraum, ob das Lastmoment (Strom-Rückkopplungswert, Drehmoment-Befehlswert oder Drehmomentwert, der durch eine Beobachtungs-Einrichtung ermittelt wird) für die Motoren jeder Achse des Roboters gleich einem oder größer als ein Schwellenwert ist oder nicht (Schritt d2). Dann wird die Position zu der Zeit, zu der das Lastmoment eines Motors für irgendeine der Achsen größer als der oder gleich dem Schwellenwert ist, gespeichert und der Betrieb des Roboters wird unterbrochen (Schritt d3).
  • Ist die zuvor beschriebene Unterbrechungsbedingung (3) eingestellt, addiert der Hauptprozessor 101 nach dem Start des Handvorschubs in jedem festgelegten Zeitraum in Schritt d1 den Betrag der Bewegung des Roboters zu einem Registerwert und bestimmt, ob die Unterbrechungsbedingung erfüllt ist oder nicht, indem bestimmt wird, ob dieser addierte Wert den Sollwert angenommen hat oder nicht. Wenn dieser addierte Wert gleich dem Sollwert oder größer ist, geht man davon aus, dass die Unterbrechungsbedingung erfüllt ist (Schritt d2), so dass dann die Position des Roboters zu dieser Zeit gespeichert und die Bewegung des Roboters unterbrochen wird (Schritt d3).
  • Wird ein Befehl zum Unterbrechen der Roboterbewegung durch die Roboter-Steuervorrichtung ausgegeben, 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 Unterbrechungsbedingung erfüllt ist (Schritt d4). Dann wird bestimmt, ob eine Rückziehbewegung des Roboters eingestellt wurde oder nicht (Schritt d5). Wurde der Rückzug eingestellt, wird eine Bewegung in der eingestellten Richtung um den gesetzten Betrag ausgeführt (Schritt d6), und die Bewegung des Roboters wird unterbrochen (Schritt d7). Wurde keine Rückziehbewegung eingestellt, wird der Roboter dagegen an der Position belassen, in welcher der Roboter gemäß der Unterbrechungsbedingung gestoppt wurde.
  • Die zuvor erfolgten Erklärungen betreffen Ausführungsformen für einen Handvorschub, der den Einlernvorgang unterstützt. Jedoch kann eine der zuvor beschriebenen ersten bis vierten Ausführungsformen in einer Roboter-Steuereinrichtung bereitgestellt und ausgeführt werden, oder es können alle der ersten bis vierten Ausführungsformen bereitgestellt werden und dann unter Benutzung einer Funktionstaste usw. zur Ausführung aufgerufen werden.
  • In der folgenden Ausführungsform sind die erste Ausführungsform, die zweite Ausführungsform, die dritte Ausführungsform und die vierte Ausführungsform in einer Roboter-Steuervorrichtung als "Lageausrichtungs-Modus zur Verwendung einer einzigen Achse", "Lageausrichtungs-Modus zur Verwendung eines Koordinatensystems", "Modus zum Einstellen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" bzw. ein "Unterbrechungsmodus, der von Unterbrechungsbedingungen 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 Werkstückkoordinatensystem und das Werkzeugkoordinatensystem (das Referenz-Werkzeug-Koordinatensystem, auf das sich der "Modus zum Einstellen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" der dritten Ausführungsform bezieht), sind für jede Ausführungsform (jeden Modus) gleich. Daher wird die Funktionsauswahltaste 18 zur Auswahl des Koordinatensystems betätigt, und das Werkstückkoordinatensystem und das Werkzeugkoordinatensystem werden in Bezug auf die vier Modi zum Unterstützen des Einlernvorgangs gemeinsam eingestellt.
  • Ferner kann der Wert, der für die Geschwindigkeit des Handbetriebs bei diesem Einlern-Unterstützungsvorgang eingestellt wird, auch vorab derart eingestellt werden, dass er für alle Modi gemeinsam gilt. Wird die Betätigungsgeschwindigkeit in jedem Modus von Hand eingestellt, kann die Funktionstaste 11 alternativ betätigt werden, damit einzelne Stellmodi aufgerufen werden, wodurch die Betriebsgeschwindigkeit für jeden Modus eingestellt wird.
  • In dem "Modus zum Einstellen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß der dritten Ausführungsform muss der Referenzwert O gesetzt werden. Dieser Sollwert, der für jeden Modus spezifisch ist, kann jedoch nach dem Aufrufen des einzelnen Stellmodus eingestellt werden.
  • [Anwendung auf eine Servopistole]
  • Nachstehend wird eine Ausführungsform beschrieben, die bei einer Servopistole zum Einsatz kommt, so dass eine bewegbare Seitenspitze mit einem Servomotors angetrieben wird, damit man eine Punktschweißung ausführt.
  • In dieser Ausführungsform wird die Lage einer Servopistole 20 derart eingelernt, dass die Öffnungs- und Schließrichtung der Pistole senkrecht zur Oberfläche des Werkstücks 21 liegt, die eine Kontaktstelle enthält. Ferner wird die Kontaktstelle zwischen einer festen Seitenspitze 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 verwehrt ist, und es wird der Einlernvorgang beschrieben, der unter einer solchen Bedingung durch die Roboter-Steuervorrichtung ausgeführt wird.
  • Zunächst wird der Roboter, wie in 11(a) gezeigt, von Hand vorbewegt, und die Servopistole 20 wird derart bewegt, dass sie nahe zu der Stelle kommt, an der sie auf das Werkstück 21 trifft.
  • Anschließend muss die Lage der Servopistole so geändert werden, dass die Öffnungs- und Schließrichtung der Servopistole senkrecht zu der Oberfläche des Werkstücks ist, die einen Kollisionspunkt enthält. Man kann dies über drei Verfahren erreichen. Bei einem Verfahren wird der "Modus zum Einstellen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß der dritten Ausführungsform eingesetzt. Beim zweiten Verfahren wird der "Lageausrichtungsmodus unter Benutzung einer einigen Achse" der ersten Ausführungsform eingesetzt, und beim dritten Verfahren wird der "Lageausrichtungsmodus unter Benutzung eines Koordinatensystems" gemäß dem zweiten Ausführungsbeispiel eingesetzt.
  • Beim Einsatz des "Modus zum Einstellen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß der dritten Ausführungsform wird dieser Modus durch die Funktionstaste usw. der Programmierkonsole 104 ausgewählt, und die bewegbare Spitze der Servopistole derart bewegt, dass der TCP so nahe wie möglich an das Werkstück 21 kommt. Dann wird die Drehbetätigungstaste 13 so gewählt, dass die die Öffnungs- und Schließrichtung der Pistole senkrecht zur Oberfläche des Werkstücks 21 liegt, die einen Kollisionspunkt enthält. Werden die Umschalttaste 15 und die Drehbetätigungstaste 13 gedrückt, führt der Hauptprozessor 101 der Robotersteuervorrrichtung das in 7 gezeigte Verfahren aus, so dass der Roboter veranlasst wird, zu arbeiten (siehe 11(b)), wobei der am Ende der bewegbaren Spitze 20a gesetzte TCP als Referenz herangezogen wird.
  • Als Ergebnis kann die Lage der Servopistole 20 derart von Hand bewegt werden, dass die Öffnungs- und Schließrichtung der Servopistole 20 senkrecht zur Oberfläche des Werkstücks 21 wird, die einen Kollisionspunkt enthält, wobei sich die Servopistole 20 und das Werkstück 21 einander nicht stören.
  • Beim Einsatz des "Lageausrichtungsmodus, der eine einzige Achse verwendet" gemäß der ersten Ausführungsform wird dieser Modus durch die Funktionstaste 11 ausgewählt. Der Schnittwinkel θ der Achsen des Werkzeug-Koordinatensystems T und des Werkstückkoordinatensystems W wird zur Lageausrichtung der gesetzt. In dem Beispiel von 11(c) werden die Z-Achsen des Werkzeugkoordinatensystems T und des Werkstückkoordinatensystems W als Achsen für die Lageausrichtung gesetzt, und der Schnittwinkel θ wird auf "0" gesetzt (d. h. die Z-Achsen der beiden Koordinatensysteme werden parallel zueinander ausgerichtet).
  • Werden Umschalttaste 15 und die Lageausrichtungstaste 19 gedrückt, startet der Hauptprozessor 101 der Roboter-Steuervorrrichtung das in 3 gezeigte Verfahren, der Roboter wird derart angetrieben, dass der Schnittwinkel zwischen den Achsen Z, d. h. den Achsen, die für das Werkzeugkoordinatensystem T und das Werkstückkoordinatensystem W ausgewählt sind, zu dem eingestellten Schnittwinkel θ (= 0) wird, und über die Position wird in einer Weise entschieden, dass die Öffnungs- und Schließrichtung der Servopistole 20 senkrecht zur Oberfläche des Werkstücks 21 wird, die einen Kollisionspunkt enthält (siehe 11(c)).
  • Wird der "Lageausrichtungs-Modus, der ein Koordinatensystem verwendet" gemäß der zweiten Ausführungsform gewählt, wird der Drehwinkel um jede Achse des Werkstückkoordinatensystems W gesetzt, der die relative Beziehung zwischen dem Werkzeugkoordinatensystem T und dem Werkstückkoordinatensystem W definiert. Werden die Umschalttaste 15 und die Lageausrichtungstaste 19 gedrückt, führt der Prozessor 101 das in 5 gezeigte Verfahren aus, damit eine solche Position eingenommen wird, 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 von 11(c) ist das Werkzeugkoordinatensystem T zum Werkstückkoordinatensystem W ausgerichtet, so dass sämtliche der um jede Achse zu setzenden Drehwinkel "0" werden, und die in Schritt b1 in 5 erhaltene Transformationsmatrix F zur 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 liegen, die einen Kollisionspunkt enthält, wird der Modus umgeschaltet zum "Unterbrechungsmodus, der von Unterbrechungsbedingungen abhängig ist" gemäß der vierten Ausführungsform. Dann werden die Unterbrechungsbedingungen für die Überwachung selektiv eingestellt, und es wird kein Zurückziehen ausgewählt. Wird die Umschalttaste 15 zusammen mit der Betätigungstaste 12 gedrückt, so dass die feste Seitenspitze mit dem Werkstück 21 in Kontakt kommt, führt der Hauptprozessor 101 der Roboter-Steuervorrichtung das Verfahren von 10 aus, und es erfolgt automatisch eine Unterbrechung an der Stelle, an der das Werkstück 21 und die feste Seitenspitze 20b des Werkzeugs 20 in Kontakt kommen (d. h. an einer Stelle, an der eine Bewegung in der eingestellten Richtung und um den eingestellten Betrag der Bewegung ausgeführt wird).
  • [Anwendung auf eine Druckluft-Ausblaspistole]
  • Verwendet man statt einer Servopistole, die durch einen Servomotor angetrieben wird, eine Punktschweißpistole, welche die Funktion einer Druckluft-Ausblaspistole hat, die sich unter Benutzung von Druckluft öffnet und schließt, muss man die Öffnungs- und Schließrichtung der Druckluft-Ausblaspistole 20 senkrecht zu der Oberfläche des Werkstücks 21 ausrichten, die einen Kollisionspunkt enthält, und man benötigt einen Spalt einer bestimmten Distanz zwischen der festen Seitenspitze 20a und dem Werkstück 21.
  • Wird eine Druckluft-Ausblaspistole 20 verwendet, wird die Pistole wie bei 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 "Lageausrichtungs-Modus, der ein Koordinatensystem verwendet" gemäß der zweiten Ausführungsform gewählt, die Öffnungs- und Schließ-Richtung der Pistole wird senkrecht zu der Oberfläche ausgerichtet, die einen Kollisionspunkt enthält, und es wird wie bei der Servopistole der "Unterbrechungs-Modus, der von Unterbrechungsbedingungen abhängig ist" gemäß der vierten Ausführungsform ausgewählt. Da man jedoch in diesem Fall einen festgelegten Trennabstand schaffen muss, nachdem die Servopistole 20 und das Werkstück 21 in Kontakt gekommen sind, wird "Zurückziehen" gewählt, und es werden die Rückzugrichtung und das Ausmaß der Räumung eingestellt.
  • In dem Beispiel von 12 wird die Rückzugrichtung als Z-Achsenrichtung des Werkstückkoordinatensystems (oder des Werkzeugkoordinatensystems) herangezogen, und es wird das Ziel-Ausmaß des Rückzugs gesetzt. Dann wird das Werkzeug 20 durch die Verarbeitung in Schritt d5 und Schritt d6 von 10 um den eingestellten Abstand getrennt, und der Roboter wird angehalten, nachdem das Werkstück 21 und das Werkzeug 20 in Kontakt gekommen sind.
  • [Anwendung auf eine Servohand]
  • 13(a) bis 13(c) beschreiben ein Beispiel, das zum Einlernen einer Greifpositionslage einer durch einen Servomotor angetriebenen Hand 20 angewendet 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 (siehe 13(a)). Dann muss die Hand so gedreht werden, dass die Greifoberflächen der Hand zu den Seiten des Werkstücks parallel liegen. Um dies zu erreichen, werden der "Lageausrichtungs-Modus, der eine einzige Achse verwendet" gemäß der ersten Ausführungsform, der "Lageausrichtungs-Modus, der ein Koordinatensystem verwendet" gemäß der zweiten Ausführungsform und der "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß der dritten Ausführungsform verwendet.
  • 13(b) veranschaulicht den Fall, bei dem der "Modus zum Setzen eines Koordinatensystems für ein bewegliches Teil eines Werkzeugs" gemäß der dritten Ausführungsform verwendet wird. Zunächst wird der am beweglichen Teil der Hand eingestellte TCP manuell bewegt, damit er so nahe wie möglich an das Werkstück 21 gebracht wird. Dann wird der Modus zu dem "Modus zum Einstellen eines Koordinatensystems an einem beweglichen Teil eines Werkzeugs" gewechselt, und es wird eine Drehrichtung gewählt. Werden die Drehbetätigungstaste 13 für diese Richtung und die Umschalttaste 15 gedrückt, führt der Prozessor 101 für die Roboter-Steuervorrichtung den Prozess aus, der in 7 gezeigt ist, so dass die Drehung um den TCP durch manuelles Betätigen durchgeführt wird, was dazu führt dass die Einlern-Seitenfläche der Hand 20 zu der Seitenfläche des Werkstücks 21 parallel liegt (siehe 13(b)).
  • 13(c) veranschaulicht die Verwendung des "Lageausrichtungs-Modus, der eine einzige Achse verwendet" gemäß der ersten Ausführungsform oder des "Lageausrichtungs-Modus, der ein Koordinatensystem verwendet" gemäß der zweiten Ausführungsform.
  • Bei der Verwendung des "Lageausrichtungs-Modus, der eine einzige Achse verwendet" werden eine Achse (Achse Z in 13(c)), die in dem Werkzeug-Koordinatensystem T parallel zur Greifoberfläche der Hand 20 liegt, und eine Achse (Achse Z in 13(e)), die in dem Arbeits-Koordinatensystem W parallel zu einer Seitenoberfläche des Werkstücks 21 liegt, gewählt, und der Schnittwinkel wird beispielsweise auf "0" eingestellt. Werden die Umschalttaste 15 und die Lageausrichtungstaste 19 gedrückt, führt der Hauptprozessor 101 das Verfahren von 3 aus, so dass der Roboter derart betätigt wird, dass die Einlern-Seitenoberfläche der Hand 20 und die Seitenoberfläche des Werkstücks 21 parallel zueinander liegen.
  • Beim Einsatz des "Lageausrichtungs-Modus, der ein Koordinatensystem verwendet" in dem Beispiel von 13(c), werden sämtliche Drehwinkel um jede der Achsen X, Y und Z des Werkstückkoordinatensystems W jeweils auf "0" gesetzt. Werden die Umschalttaste 15 und die Lageausrichtungstaste 19 gedrückt, führt der Hauptprozessor 101 das Verfahren von 5 aus, und der Roboter wird derart betätigt, dass die Einlern-Seitenoberfläche der Hand 20 parallel zu der Seitenoberfläche des Werkstücks 21 ausgerichtet wird.
  • Da die Werkzeuglage durch eine Handbetätigung während des Einlernens automatisch zur gewünschten Lage bewegt werden kann, kann das Einlernen gemäß der vorliegenden Offenbarung selbst für Positionen, in denen die Beziehung zwischen dem Werkzeug und dem Werkstück nicht gesehen werden kann, ohne Schwierigkeiten und genau ausgeführt werden. Das Werkzeugkoordinatensystem, das für ein bewegliches Teil eines Werkzeugs gesetzt wurde, kann auch automatisch in Übereinstimmung mit einer Bewegung beweglicher Teile rückgesetzt werden. Daher kann eine Störung zwischen Werkzeug und Werkstück selbst dann vermieden werden, wenn die Werkzeuglage um den Werkzeugmittelpunkt (TCP) gedreht wird.
  • Werden Unterbrechungsbedingungen eingestellt und werden diese Unterbrechungsbedingungen dann erfüllt, ist zudem ein genaues Einlernen nach dem automatischen Unterbrechen einer Handbetätigung möglich.

Claims (3)

  1. Roboter-Steuervorrichtung, umfassend: einen Eingang, der sich an einen Sensor zum Erfassen eines Kontaktes eines an dem Roboter befestigten Werkzeugs anschließen lässt, Drehmomenterfassungsvorrichtungen, Positionsspeichervorrichtungen, Überwachungsvorrichtungen, mit denen man kontrolliert, ob eine vorher in der Robotersteuervorrichtung festgelegte Handbedienungs-Unterbrechungsbedingung erfüllt ist oder nicht, und Vorrichtungen zum Auswählen der Vorschubrichtung durch Handvorschub in eine der X-, Y- und Z-Achsen des Roboterreferenz-Koordinatensystems, des Werkstück-Koordinatensystems oder Werkzeug-Koordinatensystems, wobei die Steuervorrichtung automatisch die Handbedienung unterbricht, wenn die Überwachungsvorrichtungen während der Handbedienung erfasst, dass eine der folgenden Unterbrechungsbedingungen erfüllt ist: ein Kontakterfassungssignal von dem Sensor zum Erfassen des Kontaktes eines am Roboter befestigten Werkzeugs mit einem Werkstück wird von der Steuervorrichtung erfasst; ein Lastmoment, das von der Drehmomenterfassungsvorrichtung an einem oder mehreren Motoren erfasst wird, die die Achsen des Roboters jeweils antrieben, übersteigt ein eingestelltes Drehmoment; eine Strecke, die von einer Handbedienungsstartposition überwunden wurde, übersteigt einen eingestellten Wert.
  2. Roboter-Steuervorrichtung nach Anspruch 1, zudem umfassend: Vorrichtungen zum Speichern einer Roboterposition bei erfüllter Unterbrechungsbedingung, wobei der Roboter, der sich aufgrund seiner Trägheit von der Erfüllung der Unterbrechungsbedingung zum eigentlichen Halt um eine Strecke bewegt hat, zu der in den Speichervorrichtungen gespeicherten Position zurück gebracht wird.
  3. Roboter-Steuervorrichtung nach Anspruch 2, zudem umfassend: Vorrichtungen zum Einstellen und Speichern einer Richtung und einer Strecke des Rückzugs von einer Position, an der die Unterbrechungsbedingung erfüllt ist, wobei sich der Roboter um eine eingestellte Strecke in eine Richtung bewegt, die in den Speichervorrichtungen gespeichert ist, nach der Unterbrechung bei einer Position, an der die Unterbrechungsbedingung erfüllt ist.
DE69936073T 1998-07-09 1999-07-09 Robotersteuerung Expired - Fee Related DE69936073T2 (de)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
DE69936073D1 DE69936073D1 (de) 2007-06-21
DE69936073T2 true DE69936073T2 (de) 2007-08-16

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 Before (1)

Application Number Title Priority Date Filing Date
DE69925204T Expired - Fee Related DE69925204T2 (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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10710240B2 (en) 2017-09-12 2020-07-14 Fanuc Corporation Programming device for welding robot and programming method for welding robot
DE102018007842B4 (de) * 2017-10-11 2020-11-19 Fanuc Corporation Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs
DE102018218289B4 (de) * 2017-10-31 2021-07-01 Fanuc Corporation Robotersystem

Families Citing this family (55)

* 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
EP1542837A1 (de) * 2002-07-23 2005-06-22 Protedyne Corporation Mit einem roboter handhabbares werkzeug mit bordprozessor
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 ファナック株式会社 教示位置修正方法及び教示位置修正装置
DE602004019781D1 (de) * 2003-06-20 2009-04-16 Fanuc Robotics America Inc Mehrfach-roboterarm-verfolgung und spiegel-jog
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 ファナック株式会社 アーク溶接用装置
EP1911552A1 (de) * 2005-07-15 2008-04-16 Kabushiki Kaisha Yaskawa Denki Waferpositionslehrverfahren und -lehrwerkzeug
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 澁谷工業株式会社 ロボット制御システム
US8060250B2 (en) * 2008-12-15 2011-11-15 GM Global Technology Operations LLC Joint-space impedance control for tendon-driven manipulators
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株式会社 溶接ロボットのティーチング装置およびティーチング方法
DE102010037734A1 (de) 2010-09-23 2012-03-29 Inovel Elektronik Gmbh Roboterschnittstelle
US9921712B2 (en) 2010-12-29 2018-03-20 Mako Surgical Corp. System and method for providing substantially stable control of a surgical tool
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
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
JPWO2014013605A1 (ja) * 2012-07-20 2016-06-30 株式会社安川電機 ロボットシミュレータ、ロボット教示装置およびロボット教示方法
US9820818B2 (en) 2012-08-03 2017-11-21 Stryker Corporation System and method for controlling a surgical manipulator based on implant parameters
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
CN112932672A (zh) 2012-08-03 2021-06-11 史赛克公司 用于机器人外科手术的***和方法
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
US11144043B2 (en) 2016-02-02 2021-10-12 Abb Schweiz Ag Method and system for aligning a tool during programming of an industrial robot
JP2018051692A (ja) * 2016-09-29 2018-04-05 ファナック株式会社 オフラインプログラミング用ジョグ支援装置、ジョグ支援方法及びジョグ支援プログラム
CN110072675B (zh) * 2016-12-13 2022-04-19 株式会社富士 作业机器人的目的位置校正方法
US11202682B2 (en) 2016-12-16 2021-12-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
JP6542839B2 (ja) * 2017-06-07 2019-07-10 ファナック株式会社 制御装置及び機械学習装置
JP6626065B2 (ja) 2017-10-31 2019-12-25 ファナック株式会社 教示点又は教示線の位置ずれを警告又は修正するロボット教示装置
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
CN113110433B (zh) * 2021-04-02 2024-05-31 深圳优地科技有限公司 机器人姿态调整方法、装置、设备及存储介质
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 株式会社日立製作所 産業用ロボットの制御装置
AU664372B2 (en) * 1991-06-04 1995-11-16 Anca Pty Ltd Improvements in or relating to computer numerically controlled machines
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 ロボットの簡易ジョグ座標系の設定方法
DE69616735T2 (de) * 1995-08-09 2002-05-08 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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10710240B2 (en) 2017-09-12 2020-07-14 Fanuc Corporation Programming device for welding robot and programming method for welding robot
DE102018215115B4 (de) * 2017-09-12 2020-10-29 Fanuc Corporation Programmiervorrichtung für einen Schweißroboter und Programmierverfahren für einen Schweißroboter
DE102018007842B4 (de) * 2017-10-11 2020-11-19 Fanuc Corporation Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs
US10850396B2 (en) 2017-10-11 2020-12-01 Fanuc Corporation Controller for monitoring movement direction of operation tool
DE102018218289B4 (de) * 2017-10-31 2021-07-01 Fanuc Corporation Robotersystem
US11097419B2 (en) 2017-10-31 2021-08-24 Fanuc Corporation Robot system

Also Published As

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

Similar Documents

Publication Publication Date Title
DE69936073T2 (de) Robotersteuerung
EP2851162B1 (de) Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
DE102018116053B4 (de) Robotersystem und Roboterlernverfahren
DE102008027008B4 (de) Verfahren und Vorrichtung zum Steuern eines Manipulators
DE69220409T2 (de) Werkzeugsteueranlage bestehend aus einer Schweisszange zur Durchführung von bestimmten Arbeiten an Werkstücken und aus einem automatischen Positionierungsystem zur Steuerung der relativen Bewegung der Schweisszange in Beziehung zu diesem Werkstück
DE102008062622B4 (de) Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators
EP1950010B1 (de) Roboter und Verfahren zum Programmieren eines Roboters
EP2212753B1 (de) Verfahren zum abfahren einer vorgegebenen bahn durch einen manipulator, sowie steuervorrichtung zur durchführung eines solchen verfahrens
DE102006055359B4 (de) Roboter und Verfahren zur Vermeidung einer Interferenz bei vielen Robotern
DE102018009025B4 (de) Robotersteuervorrichtung zum Einstellen eines Bewegungskoordinatensystems
DE69837741T2 (de) Verfahren und system zur steuerung eines roboters
EP2500789B1 (de) Roboter und Verfahren zum Betreiben eines Roboters
DE102010036499A1 (de) Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse
DE68926739T2 (de) Lernverfahren und steuergerät für ein roboter
DE102006056051B4 (de) Roboter mit Steuerung für Zusatzachsen
EP1591209A2 (de) Verfahren zum Steuern einer Maschine, insbesondere eines Industrieroboters
DE102015004481B4 (de) Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters
DE102015114013B4 (de) Verfahren und Vorrichtung zur Steuerung des Betriebs eines Roboters
DE102018007842B4 (de) Steuergerät zum Überwachen der Bewegungsrichtung eines Betätigungswerkzeugs
DE102013004692A1 (de) 3D-Eingabegerät mit einem zusätzlichen Drehregler
DE102009007181A1 (de) Verfahren zum Abfahren einer vorgegebenen Bahn durch einen Manipulator, sowie Steuervorrichtung zur Durchführung eines solchen Verfahrens
DE102007029398A1 (de) Verfahren und Vorrichtung zum Programmieren eines Industrieroboters
EP2208584B1 (de) Verfahren zur Steuerung von Industrierobotern
WO2017064105A2 (de) Mehrachs-maus für einen mehrachsroboter
EP0368088B1 (de) Verfahren zum Betrieb eines Industrieroboters

Legal Events

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