DE102019006748B4 - Roboterlehrvorrichtung, roboterlehrverfahren und verfahren zum speichern einer betriebsanweisung - Google Patents

Roboterlehrvorrichtung, roboterlehrverfahren und verfahren zum speichern einer betriebsanweisung Download PDF

Info

Publication number
DE102019006748B4
DE102019006748B4 DE102019006748.7A DE102019006748A DE102019006748B4 DE 102019006748 B4 DE102019006748 B4 DE 102019006748B4 DE 102019006748 A DE102019006748 A DE 102019006748A DE 102019006748 B4 DE102019006748 B4 DE 102019006748B4
Authority
DE
Germany
Prior art keywords
position data
target position
operation instruction
robot
storage section
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.)
Active
Application number
DE102019006748.7A
Other languages
English (en)
Other versions
DE102019006748A1 (de
DE102019006748A8 (de
Inventor
Gou Inaba
Tomoyuki Yamamoto
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 DE102019006748A1 publication Critical patent/DE102019006748A1/de
Publication of DE102019006748A8 publication Critical patent/DE102019006748A8/de
Application granted granted Critical
Publication of DE102019006748B4 publication Critical patent/DE102019006748B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0019End effectors other than grippers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/023Cartesian coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36401Record play back, teach position and record it then play back
    • 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/39001Robot, manipulator control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

Roboterlehrvorrichtung (10), umfassend:
einen Positionsdatenspeicherabschnitt (28), der dazu eingerichtet ist, Zielpositionsdaten für einen Roboter (100) zu speichern,
einen Betriebsanweisungsspeicherabschnitt (26), der dazu eingerichtet ist, eine Betriebsanweisung zum Anordnen des Roboters (100) in einer Zielposition zu speichern, wobei die Betriebsanweisung die Zielpositionsdaten nicht enthält, und
einen Positionsdatenschreibabschnitt (30), der dazu eingerichtet ist:
bei der Eingabe der Betriebsanweisung aktuelle Positionsdaten des Roboters (100) zu erfassen, und
die aktuellen Positionsdaten als Zielpositionsdaten zusammen mit einer eindeutigen Kennung in den Positionsdatenspeicherabschnitt (28) zu schreiben,
wobei die Roboterlehrvorrichtung (10) dazu eingerichtet ist, durch automatisches Versehen der eingegebenen Betriebsanweisung mit der eindeutigen Kennung der Zielpositionsdaten dem Roboter (100) einen Betrieb beizubringen.

Description

  • Die vorliegende Erfindung betrifft eine Roboterlehrvorrichtung, ein Roboterlehrverfahren und ein Verfahren zum Speichern einer Betriebsanweisung.
  • Roboterlehrvorrichtungen zum Anlernen (Teachen) eines Roboters bezüglich eines vorgegebenen Betriebs sind bekannt (z.B. JP 2006 - 167 884 A ). Nach dem Stand der Technik besteht der Bedarf, den mit dem Anlernen des Roboters verbundenen Betrieb zu vereinfachen. Zum Stand der Technik gehören außerdem die Druckschriften DE 696 18 606 T2 , EP 2 687 974 A1 , US 2015 / 0 316 388 A1 , US 6 587 743 B1 , JP H09 - 323 278 A und JP H05 - 265 563 A.
  • Die Aufgabe der vorliegenden Erfindung ist es, den mit dem Anlernen eines Roboters verbundenen Arbeitsvorgang zu vereinfachen.
  • Gemäß einer Lösung der Aufgabe umfasst eine Roboterlehrvorrichtung einen Positionsdatenspeicherabschnitt, der dazu eingerichtet ist, Zielpositionsdaten für einen Roboter zu speichern, einen Betriebsanweisungsspeicherabschnitt, der dazu eingerichtet ist, eine Betriebsanweisung zum Anordnen des Roboters in einer Zielposition zu speichern, wobei die Betriebsanweisung die Zielpositionsdaten nicht enthält, und einen Positionsdatenschreibabschnitt, der dazu eingerichtet ist, bei der Eingabe der Betriebsanweisung aktuelle Positionsdaten des Roboters zu erfassen und die aktuellen Positionsdaten als Zielpositionsdaten zusammen mit einer eindeutigen Kennung in den Positionsdatenspeicherabschnitt zu schreiben, wobei die Roboterlehrvorrichtung dazu eingerichtet ist, durch automatisches Versehen der eingegebenen Betriebsanweisung mit der eindeutigen Kennung der Zielpositionsdaten dem Roboter einen Betrieb beizubringen.
  • Gemäß einer anderen Lösung der Aufgabe umfasst ein Roboterlehrverfahren das Erfassen aktueller Positionsdaten eines Roboters bei der Eingabe einer Betriebsanweisung, die die Zielpositionsdaten für den Roboter nicht enthält, das Speichern der aktuellen Positionsdaten als Zielpositionsdaten zusammen mit einer eindeutigen Kennung und das Anlernen des Roboters bezüglich eines Betriebs durch automatisches Versehen der eingegebenen Betriebsanweisung mit der eindeutigen Kennung der Zielpositionsdaten.
  • Gemäß einer weiteren Lösung der Aufgabe umfasst eine Roboterlehrvorrichtung einen Positionsdatenspeicherabschnitt, der dazu eingerichtet ist, Zielpositionsdaten für einen Roboter zusammen mit einer eindeutigen Kennung zu speichern, einen Betriebsanweisungsspeicherabschnitt, der dazu eingerichtet ist, eine Betriebsanweisung zum Anordnen des Roboters in einer Zielposition zu speichern, wobei die Betriebsanweisung die Zielpositionsdaten nicht enthält, und einen Betriebsanweisungsschreibabschnitt, der dazu eingerichtet ist, wenn neu eingegebene Zielpositionsdaten mit den in der Vergangenheit im Positionsdatenspeicherabschnitt gespeicherten Zielpositionsdaten übereinstimmen, eine eingegebene Betriebsanweisung automatisch mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten zu versehen und die eingegebene Betriebsanweisung in Form einer Betriebsanweisung, die die Zielpositionsdaten nicht enthält, in den Betriebsanweisungsspeicherabschnitt zu schreiben.
  • Gemäß noch einer weiteren Lösung der Aufgabe umfasst ein Verfahren das Speichern einer Betriebsanweisung zum Anordnen eines Roboters in einer Zielposition, wobei die Betriebsanweisung die Zielpositionsdaten des Roboters nicht enthält, das automatische Versehen einer eingegebenen Betriebsanweisung mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten, wenn neu eingegebene Zielpositionsdaten mit den in der Vergangenheit zusammen mit einer eindeutigen Kennung gespeicherten Zielpositionsdaten übereinstimmen, und Speichern der eingegebenen Betriebsanweisung in Form einer Betriebsanweisung, die die Zielpositionsdaten nicht enthält.
  • Gemäß der vorliegenden Offenbarung muss ein Bediener nicht jedes Mal, wenn der Bediener die Betriebsanweisung eingibt, Zielpositionsdaten eingeben und eine Kennung für eine Betriebsanweisung schreiben, so dass es folglich möglich ist, die Anzahl der Arbeitsvorgänge zum Anlernen eines Roboters bezüglich eines Betriebs zu verringern. Deswegen ist es möglich, den mit dem Anlernen des Roboters verbundenen Arbeitsvorgang zu vereinfachen.
    • 1 ist eine Darstellung, die eine Roboterlehrvorrichtung gemäß einer Ausführungsform zeigt.
    • 2 ist ein Blockdiagramm, das die in 1 gezeigte Roboterlehrvorrichtung darstellt.
    • 3 ist eine Darstellung, die eine Roboterlehrvorrichtung gemäß einer anderen Ausführungsform zeigt.
    • 4 ist ein Blockdiagramm, das die in 3 gezeigte Roboterlehrvorrichtung darstellt.
  • Ausführungsformen der vorliegenden Offenbarung sind nachstehend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. Es wird darauf hingewiesen, dass bei den verschiedenen nachstehend beschriebenen Ausführungsformen ähnliche Komponenten mit den gleichen Bezugszeichen versehen sind und auf unnötige Beschreibungen derselben verzichtet wird. Zunächst wird eine Roboterlehrvorrichtung 10 gemäß einer Ausführungsform unter Bezugnahme auf 1 und 2 beschrieben. Die Roboterlehrvorrichtung 10 dient dazu, einem Roboter 100 einen Betrieb beizubringen.
  • Der Roboter 100 ist ein vertikaler Knickarmroboter und umfasst eine Roboterbasis 102, einen Drehkörper 104, einen Roboterarm 106, ein Handgelenk 108 und einen Endeffektor 110. Die Roboterbasis 102 ist auf dem Boden einer Arbeitszelle fixiert. Der Drehkörper 104 ist auf der Roboterbasis 102 bereitgestellt, so dass er um eine vertikale Achse drehbar ist. Der Roboterarm 106 umfasst einen Unterarm 112, der drehbar mit dem Drehkörper 104 verbunden ist, und einen Oberarm 114, der drehbar mit einem distalen Ende des Unterarms 112 verbunden ist.
  • Das Handgelenk 108 ist mit einem distalen Ende des Oberarms 114 verbunden. Der Endeffektor 110 ist am Handgelenk 108 angebracht, wobei das Handgelenk 108 den Endeffektor 110 drehbar trägt. Der Endeffektor 110 ist eine Roboterhand, ein Schweißbrenner, ein Farbapplikator etc. und führt an einem Werkstück einen vorgegebenen Arbeitsvorgang aus.
  • Der Roboter 100 umfasst mehrere Servomotoren 116 (2). Diese Servomotoren 116 sind in die jeweiligen Komponenten (die Roboterbasis, 102, den Drehkörper 104, den Roboterarm 106 und das Handgelenk 108) des Roboters 100 eingebaut und drehen diese Komponenten um die Antriebsachsen.
  • Die Roboterlehrvorrichtung 10 umfasst eine Robotersteuereinrichtung 12 und ein Programmiergerät 14. Die Robotersteuereinrichtung 12 umfasst einen Prozessor 16 und eine Speichereinrichtung 18 und steuert den Roboter 100. Der Prozessor 16 ist z.B. eine CPU oder GPU und führt verschiedene Verarbeitungsarten aus, die später beschrieben sind. Die Speichereinrichtung 18 umfasst z.B. ein ROM und ein RAM und speichert verschiedene Arten von Daten. Der Prozessor 16 und die Speichereinrichtung 18 sind über einen Bus 20 kommunikationsfähig miteinander verbunden.
  • Ein Roboterkoordinatensystem CR ist für den Roboter 100 festgelegt. Bei der vorliegenden Ausführungsform ist das Roboterkoordinatensystem CR so festgelegt, dass sein Ursprung an der Roboterbasis 102 positioniert ist, seine z-Achse parallel zur vertikalen Richtung verläuft und der Drehkörper 104 um die z-Achse gedreht wird.
  • Für die Handspitze (d.h. den Endeffektor 110) des Roboters 100 hingegen ist ein Werkzeugkoordinatensystem CT festgelegt. Das Werkzeugkoordinatensystem CT dient dazu, die Position des Endeffektors 110 im Roboterkoordinatensystem CR zu definieren. Es wird darauf hingewiesen, dass in der vorliegenden Offenbarung „Position“ Position und Ausrichtung bedeuten kann.
  • Die Robotersteuereinrichtung 12 erzeugt gemäß einer später beschriebenen Betriebsanweisung, die in der Speichereinrichtung 18 gespeichert wird, einen Befehl für jeden Servomotor 116 und betreibt jede Komponente des Roboters 100 so, dass der Endeffektor 110 sequentiell in einer Mehrzahl Zielpositionen angeordnet wird. Folglich bewegt sich der Roboter 100 entlang eines durch die Mehrzahl Zielpositionen definierten Bewegungswegs.
  • Beim Anordnen des Endeffektors 110 in einer Zielposition legt die Robotersteuereinrichtung 12 zunächst das Werkzeugkoordinatensystem CT im Roboterkoordinatensystem CR fest. Die Robotersteuereinrichtung 12 betreibt dann den Roboter 100 unter Bezugnahme auf das Roboterkoordinatensystem CR, um den Endeffektor 110 in der durch das festgelegte Werkzeugkoordinatensystem CT definierten Zielposition anzuordnen. Auf diese Weise wird der Endeffektor 110 in der Zielposition im Roboterkoordinatensystem CR angeordnet.
  • Bei der vorliegenden Ausführungsform ist das Programmiergerät 14 beispielsweise ein Handprogrammiergerät und umfasst einen Prozessor (CPU, GPU etc.), eine Speichereinrichtung (RAM, ROM etc.), eine Anzeigeeinrichtung 22 und eine Eingabeeinrichtung 24. Die Anzeigeeinrichtung 22 ist beispielsweise eine Flüssigkristallanzeigeeinrichtung oder eine organische EL-Anzeigeeinrichtung und zeigt Daten als Bild an. Die Eingabeeinrichtung 24 ist z.B. eine Tastatur mit einer Mehrzahl Bedienungstasten und empfängt einen durch einen Bediener eingegebenen Betrieb.
  • Das Programmiergerät 14 ist auf drahtlose oder drahtgebundene Weise kommunikationsfähig mit der Robotersteuereinrichtung 12 verbunden. Der Bediener kann durch Bedienen der Eingabeeinrichtung 24 des Programmiergeräts 14 (einen sogenannten Tippbetrieb (Jog-Operation)) den Roboter 100 mittels der Robotersteuereinrichtung 12 in einer beliebigen Position anordnen.
  • Außerdem kann der Bediener durch Bedienen der Eingabeeinrichtung 24 des Programmiergeräts 14 eine Betriebsanweisung für den Roboter 100 eingeben. Das Programmiergerät 14 empfängt die durch den Bediener eingegebene Betriebsanweisung für den Roboter 100 und sendet die eingegebenen Informationen der Betriebsanweisung an die Robotersteuereinrichtung 12.
  • Die Speichereinrichtung 18 speichert die Betriebsanweisung zum Anordnen des Roboters 100 in der Zielposition. Somit fungiert die Speichereinrichtung 18 bei der vorliegenden Ausführungsform als Betriebsanweisungsspeicherabschnitt 26 (2), der dazu eingerichtet ist, die Betriebsanweisung zu speichern. Die nachstehende Tabelle 1 zeigt ein Beispiel für einen in der Speichereinrichtung 18 zu speichernden Satz Betriebsanweisungen. Tabelle 1
    BETRIEBSANWEISUNG
    1 VERSCHIEBE POSITION [1]
    2 VERSCHIEBE POSITION [2]
    3 VERSCHIEBE POSITION [3]
    . .
    . .
    . .
    n VERSCHIEBE POSITION [m]
  • Bei dem Beispiel von Tabelle 1 wird von der ersten Zeile der Betriebsanweisung, die die Zeichenfolge „VERSCHIEBE POSITION [1]“ umfasst, zur n-ten Zeile der Betriebsanweisung, die die Zeichenfolge „VERSCHIEBE POSITION [m]“ umfasst, eine Gesamtzahl von „n“ Zeilen Betriebsanweisungen gespeichert.
  • Die Speichereinrichtung 18 speichert ferner Zielpositionsdaten für den Roboter 100. Somit fungiert die Speichereinrichtung 18 bei der vorliegenden Ausführungsform als Positionsdatenspeicherabschnitt 28 (2), der dazu eingerichtet ist, die Zielpositionsdaten zu speichern. Es wird darauf hingewiesen, dass ein einziges ROM (oder RAM) der Speichereinrichtung 18 als Betriebsanweisungsspeicherabschnitt 26 und Positionsdatenspeicherabschnitt 28 fungieren kann. Alternativ kann ein erstes ROM (oder RAM) der Speichereinrichtung 18 als Betriebsanweisungsspeicherabschnitt 26 fungieren, während ein zweites ROM (oder RAM) der Speichereinrichtung 18 als Positionsdatenspeicherabschnitt 28 fungieren kann. Die nachstehende Tabelle 2 zeigt ein Beispiel für eine Datenbank der Zielpositionsdaten. Tabelle 2
    ZIELPOSITIONSDATEN
    ID X Y Z W P R
    1 X1 Y1 Z1 W1 P1 R1
    2 X2 Y2 Z2 W2 P2 R2
    3 X3 Y3 Z3 W3 P3 R3
    . . . . . . .
    . . . . . . .
    . . . . . . .
    m Xm Ym Zm Wm Pm Rm
  • Bei dem in Tabelle 2 gezeigten Beispiel werden Koordinaten (X, Y, Z, W, P, R) als Zielpositionsdaten gespeichert. Bei der vorliegenden Ausführungsform definieren die Zielpositionsdaten (X, Y, Z, W, P, R) die Position (d.h. den Ursprung und die Richtung jeder Achse) des im Roboterkoordinatensystem CR festzulegenden Werkzeugkoordinatensystems CT beim Anordnen des Endeffektors 110 in der Zielposition.
  • Genauer gesagt gibt die Koordinate X die x-Koordinate des Ursprungs des Werkzeugkoordinatensystems CT im Roboterkoordinatensystem CR, die Koordinate Y die y-Koordinate des Ursprungs des Werkzeugkoordinatensystems CT im Roboterkoordinatensystem CR und die Koordinate Z die z-Koordinate des Ursprungs des Werkzeugkoordinatensystems CT im Roboterkoordinatensystem CR an. Durch diese Koordinaten X, Y und Z wird die Position des Werkzeugkoordinatensystems CT (d.h. des Endeffektors 110) im Roboterkoordinatensystem CR definiert.
  • Dagegen gibt die Koordinate W den Drehwinkel des Werkzeugkoordinatensystems CT um die x-Achse eines Referenzkoordinatensystems (z.B. des Roboterkoordinatensystems CR), die Koordinate P den Drehwinkel des Werkzeugkoordinatensystems CT um die y-Achse des Referenzkoordinatensystems und die Koordinate R den Drehwinkel des Werkzeugkoordinatensystems CT um die z-Achse des Referenzkoordinatensystems an. Durch diese Koordinaten W, P und R wird die Ausrichtung des Werkzeugkoordinatensystems CT (d.h. des Endeffektors 110) definiert.
  • Sämtlichen Zielpositionsdaten wird eine eindeutige Kennung ID zugewiesen. Bei dem in Tabelle 2 gezeigten Beispiel ist die Kennung ID als Zahl von „1“ bis „m“ festgelegt. Beispielsweise haben die m-ten Positionsdaten, denen ID=m zugewiesen wurde, die Koordinaten (Xm, Ym, Zm, Wm, Pm, Rm).
  • Auf diese Weise wird in der in Tabelle 2 gezeigten Datenbank von den ersten Zielpositionsdaten (X1, Y1, Z1, W1, P1, R1) bis zu den m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm) eine Gesamtzahl von „m“ Zielpositionsdaten gespeichert, so dass diese durch ihre eindeutigen Kennungen identifizierbar sind.
  • Beim Betreiben des Roboters 100 liest die Robotersteuereinrichtung 12 sequentiell die erste bis n-te Zeile der Betriebsanweisungen aus, die in Tabelle 1 gezeigt sind, und veranlasst den Roboter 100, den durch diese Betriebsanweisungen definierten Betrieb auszuführen. Beispielsweise veranlasst die n-te Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ den Roboter 100, einen Betrieb zum Anordnen des Endeffektors 110 in der m-ten Zielposition durchzuführen, die durch ID=m kenntlich gemacht ist.
  • „POSITION [m]“ in der n-ten Zeile der Betriebsanweisung ist eine Zeichenfolge, die die Kennung ID=m der m-ten Zielpositionsdaten angibt. Wenn die Robotersteuereinrichtung 12 die Zeichenfolge „POSITION [m]“ ausliest, nimmt die Robotersteuereinrichtung 12 auf die in Tabelle 2 gezeigte Datenbank Bezug, die in der Speichereinrichtung 18 (im Positionsdatenspeicherabschnitt 28) gespeichert ist, und liest die m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm) aus, die mit der Kennung ID=m versehen sind.
  • Die Robotersteuereinrichtung 12 legt dann das Werkzeugkoordinatensystem CT auf die durch die m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm) definierte m-te Zielposition fest und betreibt den Roboter 100 so, dass der Endeffektor 110 in der durch das festgelegte Werkzeugkoordinatensystem CT definierten m-ten Zielposition angeordnet wird. Somit umfasst die n-te Zeile der Betriebsanweisung bei der vorliegenden Ausführungsform die Zeichenfolge, die die Kennung ID=m der m-ten Zielpositionsdaten angibt, enthält aber nicht die m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm).
  • Als Nächstes wird ein Verfahren zum Anlernen des Roboters 100 unter Verwendung der Roboterlehrvorrichtung 10 beschrieben. Beim Anlernen des Roboters 100 bedient ein Bediener zunächst das Programmiergerät 14, um einen Tippbetrieb (Jogging) des Roboters 100 durchzuführen, um den Endeffektor 110 in der zu lehrenden Zielposition anzuordnen.
  • Der Bediener bedient dann die Eingabeeinrichtung 24, um eine Betriebsanweisung zum Anlernen des Roboters 100 bezüglich eines Betriebs einzugeben. Beispielsweise zeigt die Roboterlehrvorrichtung 10 eine Betriebslehrtaste zum Eingeben der Betriebsanweisung auf der Anzeigeeinrichtung 22 an. In diesem Fall bedient der Bediener die Eingabeeinrichtung 24, um die auf der Anzeigeeinrichtung 22 angezeigte Betriebslehrtaste zu betätigen, um die Betriebsanweisung einzugeben.
  • Als weiteres Beispiel kann bei dem Programmiergerät 14 eine Bedienungstaste der Eingabeeinrichtung 24 als Betriebslehrtaste zugewiesen werden. In diesem Fall bedient der Bediener die Eingabeeinrichtung 24 als Bedienlehrtaste, um die Betriebsanweisung einzugeben. Der Prozessor des Programmiergeräts 14 empfängt die durch den Bediener über die Eingabeeinrichtung 24 eingegebene Betriebsanweisung und sendet die eingegebenen Informationen der Betriebsanweisung an die Robotersteuereinrichtung 12.
  • Bei Empfang der durch den Bediener eingegebenen Betriebsanweisung erfasst der Prozessor 16 der Robotersteuereinrichtung 12 die aktuellen Positionsdaten des Roboters 100 zu diesem Zeitpunkt. Genauer gesagt erfasst der Prozessor 16 die Koordinaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) des Endeffektors 110 zu diesem Zeitpunkt als aktuelle Positionsdaten des Roboters 100. Es wird darauf hingewiesen, dass der Prozessor 16 bei Empfang der eingegebenen Betriebsanweisung den Drehwinkel jedes Servomotors 116 erfassen und die Koordinaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) des Endeffektors 110 basierend auf dem Drehwinkel berechnen kann.
  • Der Prozessor 16 versieht die erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit einer eindeutigen Kennung „m+1“ und schreibt diese aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) als neue Zielpositionsdaten in die Speichereinrichtung 18. Dadurch werden die neuen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1), denen die Kennung „m+1“ zugewiesen wurde, wie in der nachstehenden Tabelle 3 gezeigt, der in der Speichereinrichtung 18 gespeicherten Datenbank der Zielpositionsdaten hinzugefügt. Tabelle 3
    ZIELPOSITIONSDATEN
    ID X Y Z W P R
    1 X1 Y1 Z1 W1 P1 R1
    2 X2 Y2 Z2 W2 P2 R2
    3 X3 Y3 Z3 W3 P3 R3
    . . . . . . .
    . . . . . . .
    . . . . . . .
    m Xm Zm Wm Pm Rm
    m+1 Xm+1 Ym+1 Zm+1 Wm+1 Pm+1 Rm+1
  • Somit fungiert der Prozessor 16 bei der vorliegenden Ausführungsform als Positionsdatenschreibabschnitt 30 (2), der dazu eingerichtet ist, bei der Eingabe der Betriebsanweisung die aktuellen Positionsdaten des Roboters zu erfassen und die aktuellen Positionsdaten als Zielpositionsdaten zusammen mit der Kennung in den Positionsdatenspeicherabschnitt 28 (d.h. in die Speichereinrichtung 18) zu schreiben.
  • Des Weiteren versieht der Prozessor 16 bei Empfang der eingegebenen Betriebsanweisung die Betriebsanweisung automatisch mit der Kennung „m+1“ der neuen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) und schreibt diese als neue Betriebsanweisung „VERSCHIEBE POSITION [m+1]“ automatisch in die Speichereinrichtung 18. Dadurch wird die neue Betriebsanweisung „VERSCHIEBE POSITION [m+1]“, wie in der nachstehenden Tabelle 4 gezeigt, in der (n+1)-ten Zeile hinzugefügt. Tabelle 4
    BETRIEBSANWEISUNG
    1 VERSCHIEBE POSITION [1]
    2 VERSCHIEBE POSITION [2]
    3 VERSCHIEBE POSITION [3]
    . .
    . .
    . .
    n VERSCHIEBE POSITION [m]
    n+1 VERSCHIEBE POSITION [m+1]
  • Somit fungiert der Prozessor 16 bei der vorliegenden Ausführungsform als Betriebsanweisungsschreibabschnitt 32, der dazu eingerichtet ist, die eingegebene Betriebsanweisung in den Betriebsanweisungsspeicherabschnitt 26 (d.h. in die Speichereinrichtung 18) zu schreiben. Auf diese Weise wird dem Roboter 100 ein durch die neue Betriebsanweisung definierter Betrieb (d.h. ein Betrieb zum Anordnen des Endeffektors 110 in der (m+1)-ten Zielposition) beigebracht.
  • Wie vorstehend beschrieben, erfasst der Prozessor 16 (der Positionsdatenschreibabschnitt 30) bei der vorliegenden Ausführungsform bei der Eingabe der Betriebsanweisung durch den Bediener die aktuellen Positionsdaten des Roboters 100 und schreibt diese als neue Zielpositionsdaten zusammen mit der neuen Kennung in den Positionsdatenspeicherabschnitt 28. Dann bringt der Prozessor 16 durch automatisches Versehen der Betriebsanweisung mit der neuen Kennung dem Roboter 100 den Betrieb bei.
  • Durch diese Konfiguration muss der Bediener nicht jedes Mal, wenn er/sie die Betriebsanweisung eingibt, die Zielpositionsdaten manuell eingeben und die Betriebsanweisung mit der Kennung versehen, wodurch die Anzahl Vorgänge reduziert werden kann, die notwendig ist, um dem Roboter 100 den Betrieb beizubringen. Daher ist es möglich, den mit dem Anlernen des Roboters 100 verbundenen Arbeitsvorgang zu vereinfachen.
  • Als Nächstes wird eine andere Funktion der Roboterlehrvorrichtung 10 beschrieben. Wie vorstehend beschrieben, fungiert der Prozessor 16 bei Empfang der durch einen Bediener über das Programmiergerät 14 eingegebenen Betriebsanweisung als Positionsdatenschreibabschnitt 30, um die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) des Roboters 100 zu diesem Zeitpunkt zu erfassen.
  • Dann bestimmt der Prozessor 16, ob die neu erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den ersten bis m-ten Zielpositionsdaten übereinstimmen, die in der Vergangenheit in der Speichereinrichtung 18 (im Positionsdatenspeicherabschnitt 28) gespeichert wurden. Der Prozessor 16 bestimmt beispielsweise, ob die Koordinaten Xm+1, Ym+1, Zm+1, Wm+1, Pm+1 und Rm+1 der erfassten aktuellen Positionsdaten jeweils innerhalb von Schwellenwertbereichen liegen, die für die einzelnen Koordinaten X, Y, Z, W, P und R sämtlicher der ersten bis m-ten Zielpositionsdaten vorgegeben sind.
  • Die Schwellenwertbereiche können beispielsweise auf 95 % bis 105 % der jeweiligen Koordinaten X, Y, Z, W, P und R sämtlicher der ersten bis m-ten Zielpositionsdaten festgelegt werden (d.h. [X×0,95, X×1,05], [Y×0,95, Y×1,05], [Z×0,95, Z×1,05], [W×0,95, W×1,05], [P×0,95, P×1,05], [R×0,95, R×1,05]).
  • Wenn der Prozessor 16 bestimmt, dass die Koordinaten Xm+1, Ym+1, Zm+1, Wm+1, Pm+1 und Rm+1 der erfassten aktuellen Positionsdaten jeweils innerhalb der entsprechenden Schwellenwertbereiche liegen, bestimmt der Prozessor 16, dass die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen.
  • Es wird darauf hingewiesen, dass der Prozessor 16 bestimmen kann, ob wenigstens eine der Koordinaten Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1 der erfassten aktuellen Positionsdaten (z.B. Xm+1, Ym+1 und Zm+1) in dem Schwellenwertbereich liegt, der für wenigstens eine der entsprechenden Koordinaten X, Y, Z, W, P und R (z.B. X, Y und Z) sämtlicher der ersten bis m-ten Zielpositionsdaten vorgegeben ist.
  • Alternativ kann der Prozessor 16 nur dann bestimmen, dass die aktuellen Positionsdaten mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, wenn wenigstens eine der Koordinaten Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1 der erfassten aktuellen Positionsdaten (z.B. Xm+1, Ym+1 und Zm+1) vollständig mit wenigstens einer der entsprechenden Koordinaten X, Y, Z, W, P und R (z.B. X, Y und Z) sämtlicher der ersten bis m-ten Zielpositionsdaten übereinstimmt.
  • Als weiteres Beispiel berechnet der Prozessor 16 einen Abstand δ zwischen der Position (Xm+1, Ym+1, Zm+1) im Roboterkoordinatensystem CR der erfassten aktuellen Positionsdaten und der Position (X, Y, Z) im Roboterkoordinatensystem CR sämtlicher der ersten bis m-ten Zielpositionsdaten, die in der Vergangenheit in der Speichereinrichtung 18 gespeichert wurden (d.h. δ=((Xm+1-X)2 + (Ym+1-Y)2 + (Zm+1-Z)2)1/2).
  • Dann bestimmt der Prozessor 16, ob der berechnete Abstand δ innerhalb eines Bereichs vorgegebener Schwellenwerte [0, δtn] liegt. Wenn der Prozessor 16 bestimmt, dass der Abstand δ in dem Bereich [0, δtn] liegt (d.h. 0≤δ≤δth), bestimmt der Prozessor 16, dass die erfassten aktuellen Positionsdaten mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen.
  • Es wird darauf hingewiesen, dass der Prozessor 16 zusätzlich zum Abstand δ ferner Unterschiede ϕw zwischen den Koordinaten (Wm+1, Pm+1, Rm+1), die die Ausrichtung der erfassten aktuellen Positionsdaten angeben, und den Koordinaten (W, P, R), die die Ausrichtung sämtlicher in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten angeben, berechnen kann (d.h. ϕw=Wm+1-W, ϕP=Pm+1-P, ϕR=Rm+1-R).
  • Dann kann der Prozessor 16 bestimmen, ob die Unterschiede ϕW, ϕP und ϕR jeweils in Bereichen [0, ϕWth] [0, ϕPth] und [0, ϕRth] liegen, die für die einzelnen Unterschiede vorgegeben sind. In diesem Fall kann der Prozessor 16 bestimmen, dass die erfassten aktuellen Positionsdaten mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen, wenn der Prozessor 16 bestimmt, dass der Abstand δ in dem Bereich [0, δtn] liegt und die Unterschiede ϕW, ϕP und ϕR jeweils in den Bereichen [0, ϕWth] [0, ϕPth] bzw. [0, ϕRth] liegen.
  • Wenn der Prozessor 16 bestimmt, dass die erfassten aktuellen Positionsdaten nicht mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, fungiert der Prozessor 16 als Positionsdatenschreibabschnitt 30, um ähnlich wie bei der vorstehend beschriebenen Ausführungsform die aktuellen Positionsdaten zusammen mit einer neuen eindeutigen Kennung in die Speichereinrichtung 18 zu schreiben.
  • Wenn der Prozessor 16 hingegen bestimmt, dass die erfassten aktuellen Positionsdaten mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, versieht der Prozessor 16 die Betriebsanweisung, für die die aktuellen Positionsdaten erfasst werden, automatisch mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten, ohne die aktuellen Positionsdaten in die Speichereinrichtung 18 zu schreiben.
  • Nehmen wird beispielsweise an, dass der Prozessor 16 bestimmt, dass die erfassten aktuellen Positionsdaten mit den dritten Zielpositionsdaten (X3, Y3, Z3, W3, P3, R3) in der Datenbank von Tabelle 2 übereinstimmen, die in der Vergangenheit in der Speichereinrichtung 18 gespeichert wurden. In diesem Fall fügt der Prozessor 16 der eingegebenen Betriebsanweisung automatisch die Kennung „3“ der dritten Zielpositionsdaten (X3, Y3, Z3, W3, P3, R3) hinzu und schreibt die Betriebsanweisung „VERSCHIEBE POSITION [3]“ in die Speichereinrichtung 18, um sie der in Tabelle 4 gezeigten (n+1)-ten Zeile der Betriebsanweisung hinzuzufügen.
  • Wie vorstehend beschrieben, schreibt der Prozessor 16 bei der vorliegenden Ausführungsform die aktuellen Positionsdaten nicht in die Speichereinrichtung 18, wenn der Prozessor 16 bestimmt, dass die erfassten aktuellen Positionsdaten mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen. Durch diese Konfiguration ist es möglich, zu verhindern, dass mehrere Zielpositionsdaten, die sich im Wesentlichen teilweise decken, redundant in der Speichereinrichtung 18 gespeichert werden, und die bereits gespeicherten Zielpositionsdaten effektiv zu nutzen. Dadurch kann die Datenmenge in der die Zielpositionsdaten speichernden Datenbank reduziert werden und es ist folglich möglich, die Kapazität der Speichereinrichtung 18 zu verringern.
  • Wenn die Datenbank der Zielpositionsdaten auf der Anzeigeeinrichtung angezeigt wird, um für einen Bediener sichtbar zu sein, ist es außerdem möglich, eine Anzeige mehrerer Zielpositionsdaten, die im Wesentlichen miteinander übereinstimmen, zu vermeiden, wodurch die Wartung der Datenbank erleichtert werden kann. Wenn die Zielposition als Bild auf der Anzeigeeinrichtung angezeigt wird, ist es ferner möglich, unnötige Zielpositionen wegzulassen, wodurch sich die Sichtbarkeit des Bildes verbessern lässt.
  • Es wird darauf hingewiesen, dass bestimmt werden kann, dass mehrere Zielpositionsdaten der in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten mit den erfassten aktuellen Positionsdaten übereinstimmen. Wenn der Prozessor 16 beispielsweise den vorstehend beschriebenen Abstand δ berechnet, können mehrere Zielpositionsdaten vorhanden sein, deren Abstand δ jeweils in dem Bereich [0, δtn] liegt. In diesem Fall kann der Prozessor 16 ein Zielpositionsdatenelement auswählen, dessen Abstand δ 0 am nächsten ist, und die eingegebene Betriebsanweisung automatisch mit der Kennung des einen Zielpositionsdatenelements versehen.
  • Alternativ kann der Prozessor 16 die mehreren Zielpositionsdaten, deren Abstand δ in dem Bereich [0, δth] liegt, einem Bediener als Bild in Form einer Liste zur Verfügung stellen. Der Prozessor 16 kann beispielsweise einen Befehl an das Programmiergerät 14 senden, in Antwort worauf das Programmiergerät 14 die Liste der mehreren Zielpositionsdaten auf der Anzeigeeinrichtung 22 anzeigen kann.
  • Der Bediener kann dann die Eingabeeinrichtung 24 bedienen, um ein Signal zum Auswählen gewünschter Zielpositionsdaten aus den angezeigten mehreren Zielpositionsdaten einzugeben. Der Prozessor 16 kann dann die Eingabe empfangen und die eingegebene Betriebsanweisung automatisch mit der Kennung der durch den Bediener ausgewählten Zielpositionsdaten versehen.
  • Alternativ kann der Prozessor 16 die Liste der mehreren Zielpositionsdaten auf der in der Robotersteuereinrichtung 12 bereitgestellten Anzeigeeinrichtung (nicht gezeigt) anzeigen. Der Bediener kann dann die in der Robotersteuereinrichtung 12 bereitgestellte Eingabeeinrichtung (z.B. eine Tastatur etc.) bedienen, um ein Signal zum Auswählen gewünschter Zielpositionsdaten aus den angezeigten mehreren Zielpositionsdaten einzugeben. Der Prozessor 16 kann dann die eingegebene Betriebsanweisung automatisch mit der Kennung der durch den Bediener ausgewählten Zielpositionsdaten versehen.
  • Als Nächstes wird noch ein weiteres Merkmal der Roboterlehrvorrichtung 10 beschrieben. Nehmen wir an, dass die in Tabelle 3 gezeigte Datenbank der Zielpositionsdaten und die in Tabelle 4 gezeigte Datenbank der Betriebsanweisung in der Speichereinrichtung 18 gespeichert sind und dass ein Bediener das Programmiergerät 14 bedient, um einer Zeile zwischen der n-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ und der (n+1)-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m+1]“, die in 4 gezeigt sind, eine neue Betriebsanweisung hinzuzufügen.
  • Das heißt, die n-te Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ und die (n+1)-te Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m+1]“ wurden bereits vor der neuen Betriebsanweisung gelehrt. Anstatt bei der Eingabe einer neuen Betriebsanweisung die aktuellen Positionsdaten des Roboters 100 zu erfassen, berechnet der Prozessor 16 in diesem Fall eine Zwischenposition zwischen den m-ten Zielpositionsdaten (Xm, Ym, Zm, Wm, Pm, Rm) mit der Kennung ID=m und den (m+1)-ten Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit der Kennung ID=m+1, wobei die m-ten Zielpositionsdaten durch die n-te Zeile der Betriebsanweisung angewiesen werden, während die (m+1)-ten Zielpositionsdaten durch die (n+1)-te Zeile der Betriebsanweisung angewiesen werden.
  • Beispielsweise berechnet der Prozessor 16 als Zwischenposition Mittelpunktkoordinaten ((Xm+1-Xm)/2, (Ym+1-Ym)/2, (Zm+1-Zm)/2) zwischen den Koordinaten (Xm, Ym, Zm) im in den m-ten Zielpositionsdaten enthaltenen Roboterkoordinatensystem CR und den Koordinaten (Xm+1, Ym+1, Zm+1) im in den (m+1)-ten Zielpositionsdaten enthaltenen Roboterkoordinatensystem CR.
  • Was hingegen die Koordinaten (W, P, R) betrifft, die die Ausrichtung der Zwischenposition angeben, verwendet der Prozessor 16 die Koordinaten (Wm, Pm, Rm) der Ausrichtung der m-ten Zielpositionsdaten. Somit berechnet der Prozessor 16 bei dem vorliegenden Beispiel die Positionsdaten ((Xm+1-Xm)/2, (Ym+1-Ym)/2, (Zm+1-Zm)/2, Wm, Pm, Rm) der Zwischenposition.
  • Es wird darauf hingewiesen, dass der Prozessor 16 die Koordinaten (Wm+1, Pm+1, Rm+1) der (m+1)-ten Zielpositionsdaten als Koordinaten (W, P, R) verwenden kann, die die Ausrichtung der Zwischenposition angeben. In diesem Fall berechnet der Prozessor 16 Positionsdaten ((Xm+1-Xm)/2, (Ym+1-Ym)/2, (Zm+1-Zm)/2, Wm+1, Pm+1, Rm+1) der Zwischenposition.
  • Als anderes Beispiel kann der Prozessor 16 zusätzlich zu den Koordinaten des Mittelpunkts der in dem vorstehenden Beispiel beschriebenen zwei Zielpositionen außerdem die Koordinaten der Zwischenausrichtung zwischen der durch die m-ten Zielpositionsdaten definierten Ausrichtung und der durch die (m+1)-ten Zielpositionsdaten definierten Ausrichtung berechnen.
  • Genauer gesagt berechnet der Prozessor 16 die Koordinaten (Wm+(Wm+1-Wm)/2, Pm+(Pm+1-Pm)/2, Rm+(Rm+1-Rm)/2) der Zwischenausrichtung. Folglich berechnet der Prozessor 16 bei diesem Beispiel die Positionsdaten ((Xm+1-Xm)/2, (Ym+1-Ym)/2, (Zm+1-Zm)/2, Wm+(Wm+1-Wm)/2, Pm+(Pm+1-Pm)/2, Rm+(Rm+1-Rm)/2) der Zwischenposition.
  • Der Prozessor 16 schreibt die derart erfassten Zwischenpositionsdaten als neue Zielpositionsdaten (Xm+2, Ym+2, Zm+2, Wm+2, Pm+2, Rm+2) zusammen mit einer eindeutigen Kennung ID=m+2 in die Speichereinrichtung 18 (den Positionsdatenspeicherabschnitt 28). Dadurch werden die (m+2)-ten Zielpositionsdaten (Xm+2, Ym+2, Zm+2, Wm+2, Pm+2, Rm+2), die mit der Kennung ID=m+2 versehen sind, wie in der nachstehenden Tabelle 5 gezeigt, der Datenbank der Zielpositionsdaten hinzugefügt. Tabelle 5
    ZIELPOSITIONSDATEN
    ID X Y Z W P R
    1 X1 Y1 Z1 W1 P1 R1
    2 X2 Y2 Z2 W2 P2 R2
    3 X3 Y3 Z3 W3 P3 R3
    . . . . . . .
    . . . . . . .
    . . . . . . .
    m Xm Zm Wm Pm Rm
    m+1 Xm+1 Ym+1 Zm+1 Wm+1 Pm+1 Rm+1
    m+2 Xm+2 Ym+2 Zm+2 Wm+2 Pm+2 Rm+2
  • Gemäß einem vorstehend beschriebenen Beispiel ist Xm+2=(Xm+1-Xm)/2, Ym+2=(Ym+1-Ym)/2, Zm+2=(Zm+1-Zm)/2, Wm+2=Wm (oder Wm+1), Pm+2=Pm (oder Pm+1) und Rm+2=Rm (oder Rm+1). Gemäß einem anderen vorstehend beschriebenen Beispiel ist Xm+2=(Xm+1-Xm)/2, Ym+2=(Ym+1-Ym)/2, Zm+2=(Zm+1-Zm)/2, Wm+2=Wm+(Wm+1-Wm)/2, Pm+2=Pm+(Pm+1-Pm)/2 und Rm+2=Rm+(Rm+1-Rm)/2.
  • Außerdem schreibt der Prozessor 16 die Betriebsanweisung „VERSCHIEBE POSITION [m+2]“ neu in die Speichereinrichtung 18, um sie zwischen der n-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ und der (n+1)-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m+1]“ in die in Tabelle 4 gezeigte Datenbank einzufügen. Nun versieht der Prozessor 16 die neu zu schreibende Betriebsanweisung automatisch mit der Kennung „m+2“ der erfassten (m+2)-ten Zielpositionsdaten.
  • Dadurch wird die neue Betriebsanweisung „VERSCHIEBE POSITION [m+2]“ der (n+1)-ten Zeile hinzugefügt, wie in der nachstehenden Tabelle 6 gezeigt. Auf diese Weise wird der durch die neue Betriebsanweisung „VERSCHIEBE POSITION [m+2]“ definierte Betrieb (d.h. der Betrieb zum Anordnen des Endeffektors 110 in der (m+1)-ten Zielposition) dem Roboter 100 beigebracht. Tabelle 6
    BETRIEBSANWEISUNG
    1 VERSCHIEBE POSITION [1]
    2 VERSCHIEBE POSITION [2]
    3 VERSCHIEBE POSITION [3]
    . .
    . .
    . .
    n VERSCHIEBE POSITION [m]
    n+1 VERSCHIEBE POSITION [m+2]
    n+2 VERSCHIEBE POSITION [m+1]
  • Wie vorstehend beschrieben, erfasst der Prozessor 16 bei der vorliegenden Ausführungsform, wenn der Prozessor 16 zwischen der n-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m]“ und der (n+1)-ten Zeile der Betriebsanweisung „VERSCHIEBE POSITION [m+1]“, die in 4 gezeigt sind, die neue Betriebsanweisung „VERSCHIEBE POSITION [m+2]“ hinzufügt, die Positionsdaten der Zwischenposition zwischen der m-ten Zielposition und der (m+1)-ten Zielposition und speichert sie als neue (m+2)-te Zielpositionsdaten (Xm+2, Ym+2, Zm+2, Wm+2, Pm+2, Rm+2) in die Speichereinrichtung 18.
  • Die derart als Zwischenposition berechnete (m+2)-te Zielposition würde nicht erheblich vom Bewegungsweg des Roboters 100 von der m-ten Zielposition zur (m+1)-ten Zielposition abweichen.
  • Daher ist es möglich, die Sicherheit des Betriebs des Roboters 100 zu erhöhen, wenn sich dieser von der m-ten Zielposition über die (m+2)-te Zielposition und dann zur (m+1)-ten Zielposition bewegt, und gleichzeitig den durch den Bediener durchgeführten Arbeitsvorgang zum Korrigieren der hinzugefügten (m+2)-ten Zielposition zu vereinfachen. Außerdem ist es möglich, da die (m+2)-te Zielposition automatisch in die Speichereinrichtung 18 geschrieben wird, den Arbeitsaufwand beim Anlernen zu verringern.
  • Es wird darauf hingewiesen, dass das vorstehend beschriebene Programmiergerät 14 nicht auf ein Handprogrammiergerät beschränkt ist, sondern beispielsweise ein Arbeitsplatzrechner oder ein mobiler PC (Tablet, Notebook etc.) sein kann. Außerdem ist die Speichereinrichtung 18 bei der vorstehend beschriebenen Ausführungsform in die Robotersteuereinrichtung 12 eingebaut und der Prozessor 16 der Robotersteuereinrichtung 12 fungiert als Positionsdatenschreibabschnitt 30 und Betriebsanweisungsschreibabschnitt 32. Es kann jedoch auch eine Roboterlehrvorrichtung, die die Speichereinrichtung 18, den Positionsdatenschreibabschnitt 30 und den Betriebsanweisungsschreibabschnitt 32 umfasst, separat von der Robotersteuereinrichtung 12 bereitgestellt werden.
  • Eine solche Ausführungsform ist in 3 und 4 gezeigt. Bei dieser Ausführungsform ist eine Roboterlehrvorrichtung 50 beispielsweise ein mobiler PC und umfasst den Prozessor 16, die Speichereinrichtung 18, die Anzeigeeinrichtung 22 und eine Eingabeeinrichtung 54. Die Eingabeeinrichtung 54 ist z.B. ein auf dem Bildschirm der Anzeigeeinrichtung 22 bereitgestellter Berührungssensor und empfängt eine Kontaktbedienung durch einen Bediener. Der Prozessor 16, die Speichereinrichtung 18, die Anzeigeeinrichtung 22 und die Eingabeeinrichtung 54 sind über den Bus 20 kommunikationsfähig miteinander verbunden.
  • Die Roboterlehrvorrichtung 50 ist drahtlos oder drahtgebunden mit einer Robotersteuereinrichtung 52 verbunden. Die in die Roboterlehrvorrichtung 50 eingebaute Speichereinrichtung 18 fungiert als der vorstehend beschriebene Betriebsanweisungsspeicherabschnitt 26 und Positionsdatenspeicherabschnitt 28. Der in die Roboterlehrvorrichtung 50 eingebaute Prozessor 16 fungiert als der vorstehend beschriebene Positionsdatenschreibabschnitt 30 und Betriebsanweisungsschreibabschnitt 32.
  • Nachstehend ist ein Verfahren zum Anlernen des Roboters 100 unter Verwendung der Roboterlehrvorrichtung 50 beschrieben. Zunächst bedient ein Bediener die Eingabeeinrichtung 54, um über die Robotersteuereinrichtung 52 einen Tippbetrieb des Roboters 100 durchzuführen, um den Endeffektor 110 in der zu lehrenden Zielposition anzuordnen.
  • Der Bediener bedient dann die Eingabeeinrichtung 54, um eine Betriebsanweisung für den Roboter 100 einzugeben. Bei Empfang der in die Eingabeeinrichtung 54 eingegebenen Betriebsanweisung fungiert der Prozessor 16 der Roboterlehrvorrichtung 50 als Positionsdatenschreibabschnitt 30, um über die Robotersteuereinrichtung 52 aktuelle Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) des Roboters 100 zu diesem Zeitpunkt zu erfassen.
  • Dann bestimmt der Prozessor 16, ob die erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen. Wenn der Prozessor 16 bestimmt, dass die erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) nicht mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, fungiert der Prozessor 16 als Positionsdatenschreibabschnitt 30, um die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) zusammen mit der Kennung ID=m+1 in die Speichereinrichtung 18 zu schreiben.
  • Wenn der Prozessor 16 hingegen bestimmt, dass die erfassten aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, versieht der Prozessor die eingegebene Betriebsanweisung automatisch mit der Kennung der Zielpositionsdaten, mit denen die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) übereinstimmen, ohne die aktuellen Positionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) in die Speichereinrichtung 18 zu schreiben.
  • Wenn der Bediener die Eingabeeinrichtung 54 bedient, um einer Zeile zwischen der n-ten Zeile der Betriebsanweisung und der (n+1)-ten Zeile der Betriebsanweisung eine neue Betriebsanweisung hinzuzufügen, erfasst der Prozessor 16 der Roboterlehrvorrichtung 50 Positionsdaten der Zwischenposition zwischen der m-ten Zielposition und der (m+1)-ten Zielposition und schreibt sie als neue (m+2)-te Zielpositionsdaten (Xm+2, Ym+2, Zm+2, Wm+2, Pm+2, Rm+2) zusammen mit einer Kennung „m+2“ in die Speichereinrichtung 18. Gemäß dieser Ausführungsform ist es möglich, ähnliche Effekte wie bei der vorstehend beschriebenen Roboterlehrvorrichtung 10 zu erzielen.
  • Es wird darauf hingewiesen, dass der Bediener bei der Roboterlehrvorrichtung 10, 50 die Eingabeeinrichtung 24, 54 bedienen kann, um jede Koordinate der Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) manuell einzugeben. In diesem Fall bestimmt der Prozessor 16, ob die eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit in der Speichereinrichtung 18 gespeicherten Zielpositionsdaten übereinstimmen.
  • Wenn der Prozessor 16 bestimmt, dass die eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, schreibt der Prozessor 16 die eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) nicht in die Speichereinrichtung 18. Dann versieht der Prozessor 16 die Betriebsanweisung, deren Eingabe vom Bediener empfangen wird, automatisch mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten, die mit den eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) übereinstimmen, und schreibt sie in die Speichereinrichtung 18.
  • Wenn der Prozessor 16 hingegen bestimmt, dass die eingegebenen Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) nicht mit den in der Vergangenheit gespeicherten Zielpositionsdaten übereinstimmen, fungiert der Prozessor 16 als Positionsdatenschreibabschnitt 30, um die Zielpositionsdaten (Xm+1, Ym+1, Zm+1, Wm+1, Pm+1, Rm+1) zusammen mit der Kennung ID=m+1 in die Speichereinrichtung 18 zu schreiben.
  • Es wird darauf hingewiesen, dass die vorstehend genannte Roboterlehrvorrichtung 50 beispielsweise ein Arbeitsplatzrechner sein kann. Außerdem sind die Zielpositionsdaten nicht auf die vorstehend beschriebenen Koordinaten (X, Y, Z, W, P, R) beschränkt, sondern können beispielsweise der Drehwinkel jedes Servomotors sein. Des Weiteren ist die Kennung nicht auf eine Zahl beschränkt, sondern kann ein beliebiges Zeichen oder Symbol sein.
  • Außerdem kann die Speichereinrichtung 18 auch außerhalb der Robotersteuereinrichtung 12 oder der Roboterlehrvorrichtung 50 bereitgestellt werden, anstatt in die Robotersteuereinrichtung 12 oder die Roboterlehrvorrichtung 50 eingebaut zu werden. Die Speichereinrichtung 18 kann beispielsweise eine externe Speichereinrichtung (EEPROM etc.) sein, die extern an der Robotersteuereinrichtung 12 oder der Roboterlehrvorrichtung 50 angebracht ist, oder in einen externen Server eingebaut werden, der über ein Netzwerk mit der Robotersteuereinrichtung 12 oder der Roboterlehrvorrichtung 50 verbunden ist. Des Weiteren können sowohl der Betriebsanweisungsspeicherabschnitt 26 als auch der Positionsdatenspeicherabschnitt 28 durch eine einzige unabhängige Speichereinrichtung gebildet werden.
  • Des Weiteren kann eine Mehrzahl Roboter 100 über ein Netzwerk mit der Robotersteuereinrichtung 12, 52 verbunden werden, wobei die Roboterlehrvorrichtung 10, 50 dazu eingerichtet ist, der Mehrzahl Roboter 100 den Betrieb beizubringen. In diesem Fall kann die Datenbank der Zielpositionsdaten und der Daten der Betriebsanweisungen durch die Mehrzahl Roboter 100 gemeinsam genutzt werden. Außerdem ist der Roboter 100 nicht auf einen vertikalen Knickarmroboter beschränkt, sondern kann ein beliebiger Robotertyp sein, der einen horizontalen Knickarmroboter oder einen Parallel-Link-Roboter etc. umfasst.
  • Obgleich die vorliegende Offenbarung anhand spezifischer Ausführungsformen beschrieben ist, schränken die vorstehend beschriebenen Ausführungsformen die durch die angefügten Ansprüche definierte Erfindung nicht ein.

Claims (9)

  1. Roboterlehrvorrichtung (10), umfassend: einen Positionsdatenspeicherabschnitt (28), der dazu eingerichtet ist, Zielpositionsdaten für einen Roboter (100) zu speichern, einen Betriebsanweisungsspeicherabschnitt (26), der dazu eingerichtet ist, eine Betriebsanweisung zum Anordnen des Roboters (100) in einer Zielposition zu speichern, wobei die Betriebsanweisung die Zielpositionsdaten nicht enthält, und einen Positionsdatenschreibabschnitt (30), der dazu eingerichtet ist: bei der Eingabe der Betriebsanweisung aktuelle Positionsdaten des Roboters (100) zu erfassen, und die aktuellen Positionsdaten als Zielpositionsdaten zusammen mit einer eindeutigen Kennung in den Positionsdatenspeicherabschnitt (28) zu schreiben, wobei die Roboterlehrvorrichtung (10) dazu eingerichtet ist, durch automatisches Versehen der eingegebenen Betriebsanweisung mit der eindeutigen Kennung der Zielpositionsdaten dem Roboter (100) einen Betrieb beizubringen.
  2. Roboterlehrvorrichtung (10) nach Anspruch 1, wobei, wenn die durch den Positionsdatenschreibabschnitt (30) neu erfassten aktuellen Positionsdaten mit den in der Vergangenheit im Positionsdatenspeicherabschnitt (28) gespeicherten Zielpositionsdaten übereinstimmen, der Positionsdatenschreibabschnitt (30) die neuen aktuellen Positionsdaten nicht in den Positionsdatenspeicherabschnitt (28) schreibt, wobei die Betriebsanweisung, für die die neuen aktuellen Positionsdaten erfasst werden, automatisch mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten versehen wird.
  3. Roboterlehrvorrichtung (10) nach Anspruch 2, wobei, wenn die neuen aktuellen Positionsdaten innerhalb eines Schwellenwertbereichs liegen, der für die in der Vergangenheit gespeicherten Zielpositionsdaten vorgegeben ist, der Positionsdatenschreibabschnitt (30) die neuen aktuellen Positionsdaten nicht in den Positionsdatenspeicherabschnitt schreibt.
  4. Roboterlehrvorrichtung (10) nach Anspruch 2 oder 3, die ferner eine Eingabeeinrichtung (24) umfasst, die dazu eingerichtet ist, wenn die neuen aktuellen Positionsdaten mit mehreren in der Vergangenheit im Positionsdatenspeicherabschnitt (28) gespeicherten Zielpositionsdaten übereinstimmen, eine Eingabe zum Auswählen eines der mehreren Zielpositionsdatenelemente zu empfangen.
  5. Roboterlehrvorrichtung (10) nach einem der Ansprüche 1 bis 4, wobei, wenn eine erste Betriebsanweisung und eine zweite Betriebsanweisung von drei voneinander unterschiedlichen Betriebsanweisungen gelehrt werden und anschließend eine dritte Betriebsanweisung der drei Betriebsanweisungen zwischen der ersten Betriebsanweisung und der zweiten Betriebsanweisung hinzugefügt wird, der Positionsdatenschreibabschnitt (30) dazu eingerichtet ist: Positionsdaten einer Zwischenposition zwischen einer durch die erste Betriebsanweisung angewiesenen ersten Zielposition und einer durch die zweite Betriebsanweisung angewiesenen zweiten Zielposition zu erfassen, anstatt bei der Eingabe der dritten Betriebsanweisung die aktuellen Positionsdaten zu erfassen, und die Positionsdaten der Zwischenposition als Zielpositionsdaten zusammen mit einer eindeutigen Kennung in den Positionsdatenspeicherabschnitt (28) zu schreiben.
  6. Roboterlehrvorrichtung (10) nach einem der Ansprüche 1 bis 5, die ferner einen Betriebsanweisungsschreibabschnitt (32) umfasst, der dazu eingerichtet ist, die Betriebsanweisung, die automatisch mit der eindeutigen Kennung versehen wurde, in Form einer Betriebsanweisung, die die Zielpositionsdaten nicht enthält, in den Betriebsanweisungsspeicherabschnitt (26) zu schreiben.
  7. Roboterlehrverfahren, das umfasst: Erfassen aktueller Positionsdaten eines Roboters (100) bei der Eingabe einer Betriebsanweisung, die die Zielpositionsdaten für den Roboter (100) nicht enthält, Speichern der aktuellen Positionsdaten als Zielpositionsdaten zusammen mit einer eindeutigen Kennung, und Anlernen des Roboters bezüglich eines Betriebs durch automatisches Versehen der eingegebenen Betriebsanweisung mit der eindeutigen Kennung der Zielpositionsdaten.
  8. Roboterlehrvorrichtung (10), die umfasst: einen Positionsdatenspeicherabschnitt (28), der dazu eingerichtet ist, Zielpositionsdaten für einen Roboter (100) zusammen mit einer eindeutigen Kennung zu speichern, einen Betriebsanweisungsspeicherabschnitt (26), der dazu eingerichtet ist, eine Betriebsanweisung zum Anordnen des Roboters (100) in einer Zielposition zu speichern, wobei die Betriebsanweisung die Zielpositionsdaten nicht enthält, und einen Betriebsanweisungsschreibabschnitt (32), der dazu eingerichtet ist: wenn neu eingegebene Zielpositionsdaten mit den in der Vergangenheit im Positionsdatenspeicherabschnitt (28) gespeicherten Zielpositionsdaten übereinstimmen, eine eingegebene Betriebsanweisung automatisch mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten zu versehen, und die eingegebene Betriebsanweisung in Form einer Betriebsanweisung, die die Zielpositionsdaten nicht enthält, in den Betriebsanweisungsspeicherabschnitt (26) zu schreiben.
  9. Verfahren, das umfasst: Speichern einer Betriebsanweisung zum Anordnen eines Roboters (100) in einer Zielposition, wobei die Betriebsanweisung die Zielpositionsdaten für den Roboter (100) nicht enthält, automatisches Versehen einer eingegebenen Betriebsanweisung mit der Kennung der in der Vergangenheit gespeicherten Zielpositionsdaten, wenn neu eingegebene Zielpositionsdaten mit den in der Vergangenheit zusammen mit einer eindeutigen Kennung gespeicherten Zielpositionsdaten übereinstimmen, und Speichern der eingegebenen Betriebsanweisung in Form einer Betriebsanweisung, die die Zielpositionsdaten nicht enthält.
DE102019006748.7A 2018-10-03 2019-09-26 Roboterlehrvorrichtung, roboterlehrverfahren und verfahren zum speichern einer betriebsanweisung Active DE102019006748B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-188350 2018-10-03
JP2018188350A JP6841805B2 (ja) 2018-10-03 2018-10-03 ロボット教示装置、ロボット教示方法、及び動作命令を記憶する方法

Publications (3)

Publication Number Publication Date
DE102019006748A1 DE102019006748A1 (de) 2020-04-09
DE102019006748A8 DE102019006748A8 (de) 2020-10-29
DE102019006748B4 true DE102019006748B4 (de) 2023-03-30

Family

ID=69886548

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019006748.7A Active DE102019006748B4 (de) 2018-10-03 2019-09-26 Roboterlehrvorrichtung, roboterlehrverfahren und verfahren zum speichern einer betriebsanweisung

Country Status (4)

Country Link
US (1) US11518025B2 (de)
JP (1) JP6841805B2 (de)
CN (1) CN110977932A (de)
DE (1) DE102019006748B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113043250B (zh) * 2021-04-21 2022-09-16 深圳先进技术研究院 一种机器人控制系统及方法
WO2022222061A1 (zh) * 2021-04-21 2022-10-27 深圳先进技术研究院 一种机器人示教系统及方法、机器人控制系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265563A (ja) 1992-03-17 1993-10-15 Matsushita Electric Ind Co Ltd ロボットの制御装置
JPH09323278A (ja) 1996-06-05 1997-12-16 Shinko Electric Co Ltd 産業用ロボットの動作教示方法並びに動作教示装置及びその制御方法
DE69618606T2 (de) 1995-09-19 2002-09-12 Yaskawa Denki Kitakyushu Kk Prozessor für robotersprache
US6587743B1 (en) 1999-01-29 2003-07-01 B P Microsystems, Inc. Pick and place teaching method and apparatus for implementing the same
JP2006167884A (ja) 2004-12-17 2006-06-29 Nachi Fujikoshi Corp ロボット教示装置およびその制御方法
EP2687974A1 (de) 2011-03-18 2014-01-22 Fujitsu Limited Speicherungsvorrichtung, steuervorrichtung und steuerverfahren
US20150316388A1 (en) 2014-04-30 2015-11-05 Shuang Xie Navigation apparatus and method for updating map data thereof

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025838A (en) * 1974-12-26 1977-05-24 Kawasaki Heavy Industries, Ltd. Signal modification device for memory controlled manipulator apparatus
SE436848B (sv) * 1982-06-28 1985-01-28 Asea Ab Styrsystem for industrirobot
JPS59194214A (ja) * 1983-04-18 1984-11-05 Komatsu Ltd テイ−チング情報表示装置
US4835730A (en) * 1987-02-27 1989-05-30 Adept Technology, Inc. Database driven robot programming system and method
JPH06105412B2 (ja) * 1987-09-28 1994-12-21 株式会社日立製作所 関節形ロボツトの動作制御方法
JPH05265533A (ja) * 1992-03-19 1993-10-15 Hitachi Ltd ロボットの制御方法
JP3208467B2 (ja) * 1993-10-19 2001-09-10 松下電器産業株式会社 ロボットの制御装置
JP2007242054A (ja) * 1995-09-19 2007-09-20 Yaskawa Electric Corp ロボット言語処理装置
JP4667417B2 (ja) * 2000-08-25 2011-04-13 蛇の目ミシン工業株式会社 ロボットの動作設定方法
JP4134812B2 (ja) * 2003-05-20 2008-08-20 株式会社安川電機 ロボット制御装置
US20100161562A1 (en) * 2008-12-12 2010-06-24 Sachin Karajagi Method and apparatus for preventing duplicate or redundant data from storing in media player
JP5506294B2 (ja) * 2009-08-28 2014-05-28 株式会社ダイヘン アーク溶接ロボットの制御装置
US20150094855A1 (en) * 2012-05-04 2015-04-02 Leoni Cia Cable Systems Sas Imitation learning method for a multi-axis manipulator
JP5975010B2 (ja) * 2013-10-17 2016-08-23 株式会社安川電機 ティーチングシステムおよびティーチング方法
JP2015098076A (ja) * 2013-11-20 2015-05-28 キヤノン株式会社 ロボットプログラム作成方法、ロボットプログラム作成装置、プログラム及び記録媒体
JP6379874B2 (ja) * 2014-08-29 2018-08-29 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法
JP6698268B2 (ja) * 2014-10-14 2020-05-27 蛇の目ミシン工業株式会社 ロボット
CN109590563B (zh) * 2017-10-02 2021-09-10 白光株式会社 焊接装置、存储介质以及焊接方法
US10942906B2 (en) * 2018-05-31 2021-03-09 Salesforce.Com, Inc. Detect duplicates with exact and fuzzy matching on encrypted match indexes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265563A (ja) 1992-03-17 1993-10-15 Matsushita Electric Ind Co Ltd ロボットの制御装置
DE69618606T2 (de) 1995-09-19 2002-09-12 Yaskawa Denki Kitakyushu Kk Prozessor für robotersprache
JPH09323278A (ja) 1996-06-05 1997-12-16 Shinko Electric Co Ltd 産業用ロボットの動作教示方法並びに動作教示装置及びその制御方法
US6587743B1 (en) 1999-01-29 2003-07-01 B P Microsystems, Inc. Pick and place teaching method and apparatus for implementing the same
JP2006167884A (ja) 2004-12-17 2006-06-29 Nachi Fujikoshi Corp ロボット教示装置およびその制御方法
EP2687974A1 (de) 2011-03-18 2014-01-22 Fujitsu Limited Speicherungsvorrichtung, steuervorrichtung und steuerverfahren
US20150316388A1 (en) 2014-04-30 2015-11-05 Shuang Xie Navigation apparatus and method for updating map data thereof

Also Published As

Publication number Publication date
JP2020055082A (ja) 2020-04-09
DE102019006748A1 (de) 2020-04-09
US20200108498A1 (en) 2020-04-09
CN110977932A (zh) 2020-04-10
JP6841805B2 (ja) 2021-03-10
US11518025B2 (en) 2022-12-06
DE102019006748A8 (de) 2020-10-29

Similar Documents

Publication Publication Date Title
DE102015001527B4 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE102019006800B4 (de) Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität
DE102015105687B4 (de) Roboter
DE60127644T2 (de) Lehrvorrichtung für einen Roboter
DE102013021917B4 (de) Robotersystemanzeigevorrichtung
DE102019006748B4 (de) Roboterlehrvorrichtung, roboterlehrverfahren und verfahren zum speichern einer betriebsanweisung
DE102018213985A1 (de) Robotersystem
DE2526504A1 (de) Verfahren und geraet zur programmierung eines computergesteuerten roboterarmes
DE102017222057B4 (de) Robotersystem
DE10296625T5 (de) Industrieroboter umfassend eine tragbare Betriebseinheit mit einer bewegbaren Schlüsseleinrichtung zur Identifikation des Roboters
DE102017128543A1 (de) Störbereich-einstellvorrichtung für einen mobilen roboter
DE102017124502A1 (de) Simulationsvorrichung und Simulationsverfahren, die eine Betriebssimulation eines Robotersystems ausführen, und Aufzeichnungsmedium, das ein Computerprogramm aufzeichnet
WO2010086261A1 (de) Modellaufbau einer fertigungsstätte mit massstabsgerechten modellen von fertigungseinrichtungen sowie verfahren zur eingabe eines räumlichen aufbaus von fertigungseinrichtungen in ein rechnergestütztes planungsprogramm
DE102017124423B4 (de) Simulationsvorrichtung und simulationsverfahren zum simulieren einer operation eines roboters
DE102019117877A1 (de) Roboterprogrammgenerierungsvorrichtung
DE10013344A1 (de) Verfahren und Vorrichtung zum Führen eines Laserstrahls über ein Objekt
DE4002031C2 (de) Verfahren und Vorrichtung zum Erstellen von Nähdaten für eine Nähmaschine
DE102014225278A1 (de) Mehrachsiges dreidimensionales Messgerät
DE112021003517T5 (de) Numerisches Steuersystem
DE10320268B4 (de) Vorrichtung und Verfahren zum Auffinden und Darstellen von Informationen
DE112021007154T5 (de) Vorrichtung zur einstellung von sicherheitsparametern, lehrvorrichtung und -verfahren
WO2010009744A1 (de) Parallele navigation in mehreren cad-modellen
DE112021002550T5 (de) Anzeigevorrichtung für Industriemaschine
EP1510893B1 (de) Verfahren und Vorrichtung zum Festlegen der Bewegungsbahn eines Handling-systems
DE112018007985T5 (de) Anzeigesystem, 3D-Druckvorrichtung und Fortschrittsanzeigeverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final