DE68918318T2 - Echtzeitsteuersystem für einen industriellen Roboter zum Folgen eines Standardweges. - Google Patents

Echtzeitsteuersystem für einen industriellen Roboter zum Folgen eines Standardweges.

Info

Publication number
DE68918318T2
DE68918318T2 DE68918318T DE68918318T DE68918318T2 DE 68918318 T2 DE68918318 T2 DE 68918318T2 DE 68918318 T DE68918318 T DE 68918318T DE 68918318 T DE68918318 T DE 68918318T DE 68918318 T2 DE68918318 T2 DE 68918318T2
Authority
DE
Germany
Prior art keywords
point
data
tool
workpiece shape
workpiece
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
DE68918318T
Other languages
English (en)
Other versions
DE68918318D1 (de
Inventor
Chisao C O Kabushiki K Hayashi
Yasuo C O Toyota Jido Ishiguro
Yoshito C O Toyota Jidosh Kato
Mitsuo C O Kabushiki Kai Koide
Toshitaka C O Kabushiki K Kuno
Masaru C O Kabushiki Ka Nakano
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.)
Toyota Motor Corp
Toyota Central R&D Labs Inc
Original Assignee
Toyota Motor Corp
Toyota Central R&D Labs Inc
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 Toyota Motor Corp, Toyota Central R&D Labs Inc filed Critical Toyota Motor Corp
Application granted granted Critical
Publication of DE68918318D1 publication Critical patent/DE68918318D1/de
Publication of DE68918318T2 publication Critical patent/DE68918318T2/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
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36417Programmed coarse position, fine position by alignment, follow line, path adaptive

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Description

  • Diese Erfindung bezieht sich auf einen industriellen Roboter bzw. einen Industrieroboter, der einen Arbeitspunkt vor dem Bearbeiten des Punkts mit einem Form-Sensor abtastet.
  • Es gibt viele Arten von Industrierobotern. Einige haben einen Sensor zum Abtasten gewisser Bezugspunkte oder Linien eines Werkstücks. Bei einem Steuersystem für derartige Roboter erfaßt ein vor einem Werkzeug angeordneter Sensor die Bezugspunkte und erfaßt jeden Form- oder Einstellfehler des Werkstücks. Unter Verwendung der erfaßten Fehler werden während der Profilsteuerung Interpolationswerte für den Standard-Weg sequentiell korrigiert. Jedoch weist dieses Steuersystem ein Problem bei der Zeitablaufsteuerung auf, wenn die erfaßten Daten des Sensors zur Korrektur der Interpolationswerte verwendet werden. Insbesondere ist das Herstellen eines Zusammenhangs zwischen einem Punkt T1, wenn der Sensor einen Arbeitspunkt erfaßt, und einem Punkt T2, wenn das Werkzeug den Erfassungspunkt wirklich erreicht, in Echtzeit aus verschiedenen Gründen schwierig, beispielsweise wegen der Arbeitsgeschwindigkeit und Verzögerungen im Servo-System des Roboters.
  • Zum Lösen dieses Problems wurde das folgende Verfahren vorgeschlagen: von dem Sensor erfaßte Werkstückform-Daten werden in einem FIFO-Zwischenspeicher gespeichert, wobei die ältesten dieser Daten zum Berechnen der Interpolationswerte für das dem Sensor folgende Werkzeug herangezogen werden (Japanische Patentoffenlegungsschrift Nr. 26276/1988). Bei diesem Verfahren kann die Zeit zum Beginnen der Weg-Korrektur entsprechend der Arbeitsgeschwindigkeit eingestellt werden, wenn die Arbeitsgeschwindigkeit des Roboters gleich der Geschwindigkeit ist, mit der die im Zwischenspeicher gespeicherten Werkstückform-Daten verwendet werden. Somit erlaubt es eine präzise Profilsteuerung für verschiedene Arbeitsgeschwindigkeiten des Roboters, solange die Geschwindigkeit während eines Betriebs konstant ist.
  • Dieses Steuersystem kann jedoch nicht immer eine genaue Profilsteuerung erzielen: wenn der Roboter während eines Betriebs die Arbeitsgeschwindigkeit ändert, gilt die Beziehung zwischen der Zeitablaufsteuerung zur Verwendung der Werkstückform-Daten im Zwischenspeicher zur Weg-Korrektur und dem wirklichen Arbeitspunkt des Roboters nicht mehr länger. Die Arbeitsgeschwindigkeit eines Roboters kann sich während des Betriebs aus folgenden Gründen ändern.
  • (1) Im allgemeinen verändern Roboter die Arbeitsgeschwindigkeit am Anfang oder am Ende des Betriebs, um unnötige Oszillationen zu verhindern.
  • (2) Die Arbeitsgeschwindigkeit muß an verschiedene örtliche Gegebenheiten, beispielsweise Ebenen und Ecken, angepaßt werden.
  • (3) Zum Laserschneiden verwendete Roboter bewegen sich auf flachen und geraden Teilen des Werkstücks schnell und in Kurven langsam, um die gesamte Arbeitsdauer zu verringern. Wenn die Arbeitsgeschwindigkeit festgelegt ist, muß der Roboter sich über das gesamte Werkstück langsam bewegen. Da der Roboter sich während eines Betriebs nie auf lediglich einer Linie bewegt, werden typischerweise mehrere Standard- Wege auf der Grundlage mehrerer Lernpunkte gelernt. Somit verändert sich notwendigerweise der Weg des Roboters.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung erlaubt einem Roboter, ohne Berücksichtigung von Änderungen der Arbeitsgeschwindigkeit oder des Wegs des Roboters, während eines Betriebs eine geeignete Profilsteuerung reproduzierbar auszuführen.
  • Das Steuersystem für einen Industrieroboter R4 ist wie in Fig. 1 dargestellt. Der Roboter R4 bewegt sich auf einem durch zuvor in dem System gespeicherte Daten bestimmten Standard-Weg und hat eine Hand R1 mit einem Werkzeug R2 und einen in einem vorbestimmten Abstand vor dem Werkzeug R2 angeordneten Werkstückform-Sensor R3 zum Erfassen eines Werkstücks. Das System umfaßt eine Zwischenspeichereinrichtung R5 zum Berechnen und Speichern von Werkstückform-Daten unter Verwendung der Daten des Sensors R3, eine Interpolations-Bestimmungseinrichtung R6 zum Interpolieren eines Punkts auf dem Standard-Weg als eine Zielposition des Werkzeugs R2, eine Auswahleinrichtung R7 zum Erzeugen eines dem Interpolationspunkt auf dem Standard-Weg entsprechenden Bezugspunkts und zum Auswählen der am besten mit den Bezugspunkt-Daten übereinstimmenden Werkstückform-Daten, eine Weg-Korrektureinrichtung R8 zum Erzeugen der Zielposition und Stellungs-Daten für das Werkzeug aus den von der Auswahleinrichtung R7 empfangenen Werkstückform-Daten, und eine Roboter-Steuereinrichtung R9 zum Steuern des Werkzeugs R2, um einer Folge von einer Zielposition entsprechenden Punkten sowie Stellungs-Daten von einer Weg-Korrektureinrichtung R8 zu folgen. Dieses Steuersystem ist gekennzeichnet durch einen Roboter, der die Abweichung vom Standard- Weg während des Betriebs des Werkzeugs R2 in Echtzeit korrigiert.
  • Bei diesem System bestimmt der Standard-Weg die Verarbeitungsreihenfolge für das Werkstück, die Position des Werkzeugs R2 mit Bezug auf das Werkstück sowie die Arbeitsgeschwindigkeit. Der Standard-Weg wird durch im voraus gespeicherte Positionsdaten gebildet, die während einer Lernfunktion von einem Bediener eingegeben wurden. Der Werkstückform-Sensor R3 an der Hand R1 kann den Abstand zwischen dem Sensor und dem Werkstück oder eine Form des Werkstücks erfassen (d. h. eine Richtung des Normalenvektors der Arbeitsoberfläche). Der Sensor R3 kann ein berührungsloser Sensortyp sein (beispielsweise ein Laser-Entfernungssensor) oder ein mit Berührung arbeitender Sensortyp sein (beispielsweise ein Draht-Meßfühler).
  • Wenn die Stellung des Werkzeugs R2 unveränderlich ist, kann der Roboter R4 ein einfacher zweiachsiger Typ mit zwei Freiheitsgraden sein: eine zum Steuern des Abstands zwischen der Hand R1 und dem Werkstück und die andere für eine zum Abstand senkrechte Bewegung. Der Roboter R4 kann ebenso ein mehrachsiger oder mehrgelenkiger Roboter mit beispielsweise fünf oder sechs Drehachsen sein. In diesem Fall kann die Stellung des Werkzeugs zusätzlich zur Position eingestellt werden. Bei der mit dem Werkzeug R2 ausgeführten Arbeit kann es sich um Schweißen, Anstreichen, Schneiden, Zurichten, Bohren, andere Laserverfahren, Montieren, Messen von Abmessungen und Qualitätskontrolle bezüglich Oberflächendefekten oder Stiftlöchern handeln.
  • Die Zwischenspeichereinrichtung R5 besteht aus einer Logik- Schaltung und einem Speicher, der von dem Sensor R3 erfaßte Daten zwischenzeitlich speichert.
  • Die Interpolations-Bestimmungseinrichtung R6 wählt einen Interpolationspunkt auf dem Standard-Weg aus, den das Werkzeug passieren wird. Der Interpolationspunkt stellt die Positionsdaten dar, die den Standard-Weg bilden (beispielsweise die Arbeitsgeschwindigkeit und der Weg).
  • Die Auswahleinrichtung R7 erzeugt einen dem Interpolationspunkt auf dem Standard-Weg entsprechenden Bezugspunkt. Der Bezugspunkt wird zum Auswählen der zur Korrektur geeignetsten Werkstückform-Daten verwendet. Beispielsweise kann der Bezugspunkt ein Interpolationspunkt auf dem Standard-Weg oder der Endpunkt eines Vektors sein, dessen Startpunkt ein der derzeitigen Werkzeugposition entsprechender Punkt auf dem Standard-Weg ist und dessen Endpunkt der Interpolationspunkt auf dem Standard-Weg ist, wenn der Startpunkt des Vektors die derzeitige Werkzeugposition ist. In diesem Fall kann der Startpunkt auf dem Standard-Weg ein von der derzeitigen Werkzeugposition auf den Standard-Weg projizierter Punkt sein. Deshalb wählt die Auswahleinrichtung R7 zum Korrigieren des Wegs Werkstückform-Daten aus, die dem Bezugspunkt am nächsten liegen.
  • Die Weg-Korrektureinrichtung R8 berechnet und erzeugt entsprechend den ausgewählten Werkstückform-Daten Zielpositions- und Stellungs-Daten für das Werkzeug, indem die vorbestimmten Beziehungen der Position und Stellung zwischen dem Werkstück und dem Werkzeug in Betracht gezogen werden.
  • Die Steuereinrichtung R9 steuert das Werkzeug R2 zum aufeinanderfolgenden Erreichen einer Reihe von den Zieldaten der Korrektureinrichtung R8 entsprechenden Punkten in der gleichen Weise wie bei dem herkömmlichen Steuerverfahren.
  • Die Auswahleinrichtung R7 umfaßt vorzugsweise eine Berechnungseinrichtung zum Berechnen eines Bezugsvektors aus den Werkstückform-Daten oder dem Standard-Weg, eine Projektionseinrichtung zum Projizieren eines vorbestimmten Projektions-Punkts auf den Bezugsvektor, und eine Vektor- Auswahleinrichtung zum Auswählen der Werkstückform-Daten mit dem geringsten Abstand zwischen dem projizierten Punkt und einem vorbestimmten Vergleichspunkt auf dem Bezugsvektor.
  • Es kann eine Anordnung der Erfindung geschaffen werden, bei der der Bezugsvektor aus Werkstückform-Daten bestimmt wird; der Projektionspunkt der einer von dem Werkzeug zu erreichenden angenäherten Werkzeugposition äquivalente Bezugspunkt ist, wobei die Werkzeugposition aus dem Standard-Weg und einem tatsächlichen Weg angenähert wird; und der Vergleichspunkt durch die von dem Werkstückform-Sensor erfaßten Daten bestimmt ist.
  • Die Erfindung kann ebenfalls derart aufgebaut sein, daß der Bezugsvektor der Standard-Weg ist; der Projektionspunkt durch die von dem Werkstückform-Sensor erfaßten Daten bestimmt ist; und der Vergleichspunkt ein dem Interpolationspunkt auf dem Standard-Weg äquivalenter Bezugspunkt ist.
  • Ferner kann die Bezugslinie entweder ein zwei benachbarte erfaßte Datenpunkte verbindender Vektor sein, ein zwei in einem vorbestimmten Intervall erfaßte Datenpunkte verbindender Vektor oder ein einen erfaßten Datenpunkt und einen die Position der Werkzeugspitze beschreibenden Datenpunkt zum Zeitpunkt des Erfassens des erfaßten Datenpunkts verbindender Vektor sein.
  • Es ist am besten, wenn die Zwischenspeichereinrichtung R5 die alten Werkstückform-Daten löscht, um Platz für neue Zielpositions-Daten für das Werkzeug zu schaffen.
  • Der Roboter R4 steuert die Hand R1 mit dem Werkzeug R2 wie folgt.
  • (1) Die Zwischenspeichereinrichtung R5 berechnet und speichert Werkstückform-Daten, die durch Verwenden des dem Werkzeug R2 voreilenden Sensors R3 erhalten werden.
  • (2) Die Interpolations-Bestimmungseinrichtung R6 wählt einen Interpolationsweg auf dem von dem Werkzeug R2 verfolgten Standard-Weg aus.
  • (3) Die Auswahleinrichtung R7 erzeugt dem Interpolationspunkt entsprechende Bezugspunkt-Daten und verwendet die Bezugspunkt-Daten zum Auswählen der zur Korrektur des Wegs geeignetsten Werkstückform-Daten.
  • (4) Die Weg-Korrektureinrichtung R8 berechnet aus den Werkstückform-Daten eine Zielposition und Lageposition für das Werkzeug R2, und eine Roboter-Steuereinrichtung R9 steuert die Hand R1 derart, daß das Werkzeug R2 einer Reihe von Punkten folgt.
  • Fig. 2 stellt das verfahren zum Berechnen der Zielposition und der Stellung des Werkzeugs R2 dar, wobei das Verfahren Schritte enthält zum Erhalten eines Bezugspunkts Nd, der dem von dem Werkzeug R2 auf dem Standard-Weg S zu erreichenden Interpolationspunkt Sd entspricht, zum Bestimmen der Arbeitsgeschwindigkeit (das heißt, der Bewegungsgeschwindigkeit des Werkzeugs R2) und des Wegs, zum Auswählen der dem Bezugspunkt Nd am nächsten kommenden Werkstückform- Daten Wd, zum Berechnen der Zielposition und der Stellung des Werkzeugs R2 aus den ausgewählten Werkstückform-Daten Wd, und zum Korrigieren des Wegs des Werkzeugs R2.
  • Wenn die Arbeitsgeschwindigkeit oder der Weg während des Betriebs verändert wird, beeinflußt eine derartige Änderung direkt die Interpolationspunkte auf dem Standard-Weg, so daß das Werkzeug R2 veränderlichen Arbeitsgeschwindigkeiten und veränderlichen Wegen exakt folgen kann.
  • Beschreibung der Zeichnung
  • Es zeigen:
  • Fig. 1 ein Blockschaltbild der Erfindung;
  • Fig. 2 ein Beispiel der in Betrieb befindlichen Erfindung;
  • Fig. 3 eine perspektivische Ansicht eines Ausführungsbeispiels der Erfindung;
  • Fig. 4A eine Draufsicht auf das Stellglied 16;
  • Fig. 4B eine Frontansicht des Ste11glieds 16;
  • Fig. 4C eine linksseitige Ansicht des Stellglieds 16;
  • Fig. 5 eine perspektivische Ansicht der Hand 18;
  • Fig. 6 ein Blockschaltbild der Sensor-Steuereinrichtung 24 mit einem Beispiel derselben beim Erfassen eines Abstands;
  • Fig. 7 ein Blockschaltbild der Roboter-Steuereinrichtung 12;
  • Fig. 8 ein Blockschaltbild des ersten Ausführungsbeispiels;
  • Fig. 9 eine Darstellung der Positionsbeziehung zwischen den bei dem ersten Ausführungsbeispiel verwendeten Punkten;
  • Fig. 10 ein Blockschaltbild der Roboter-Steuereinrichtung 12 bei dem ersten Ausführungsbeispiel;
  • Fig. 11 die Einteilung des Werkstückform-Speichers 406;
  • Fig. 12 eine Erklärung der Positionsbeziehung zwischen den für den Speicher 406 verwendeten Punkten;
  • Fig. 13 ein Flußdiagramm der Verarbeitung in der ersten CPU 300;
  • Fig. 14 ein Flußdiagramm der Verarbeitung in der zweiten CPU 301;
  • Fig. 15 ein Blockschaltbild des zweiten Ausführungsbeispiels;
  • Fig. 16 ein Blockschaltbild der Roboter-Steuereinrichtung 12 bei dem zweiten Ausführungsbeispiel;
  • Fig. 17 die Einteilung des Werkstückform-Speichers 706;
  • Fig. 18 eine Erklärung der Positionsbeziehung zwischen den für den Speicher 706 verwendeten Punkten;
  • Fig. 19 ein Flußdiagramm der zweiten CPU 301;
  • Ausführungsbeispiel
  • Bei diesem Ausführungsbeispiel handelt es sich um einen sechsachsigen Roboter, der zum Bearbeiten eines Werkstücks mit einem einen Laserstrahl verwendenden Werkzeug sowie mit einem Sensor zum Erfassen der Form des Werkstücks an einer noch nicht bearbeiteten Position ausgestattet ist. Wie in der Perspektivansicht des Robotersystems gemäß Fig. 3 gezeigt, hat ein Roboter 10 eine Roboter-Steuereinrichtung 12 für die gesamte Steuerung des Roboters 10, eine Lern-Einrichtung 14 bei der Roboter-Steuereinrichtung 12, die es einem Bediener ermöglicht, dem Roboter 10 im voraus beizubringen, wie eine Aufgabe zu erfüllen ist, ein Stellglied 16 mit sechs Drehachsen, das von der Roboter-Steuereinrichtung 12 gesteuert wird, eine Hand 18 mit einem Laserwerkzeug 20 und einem Sensorkopf 22 zum Erfassen der Form eines Werkstücks W sowie eine Sensor-Steuereinrichtung bzw. einen Sensor-Controller 24 zum Verarbeiten von Informationen von dem Sensorkopf 22. Die Roboter-Steuereinrichtung 12 hat eine Datenendstation bzw. ein Terminal T und einen Drucker P.
  • Das Werkzeug 20 verwendet einen von einer (nicht gezeigten) externen Einrichtung erzeugten Hochenergie-Laserstrahl. Ein Lichtleiter 26 leitet den Laserstrahl zur Spitze des Werkzeugs 20, von wo aus ein Punkt der Oberfläche des Werkstücks W mit dem Strahl angestrahlt wird. Weitere Bauteile des Laserwerkzeugs 20, beispielsweise Spiegel, Prismen und Linsen sind für die vorliegende Erfindung nicht von Bedeutung, so daß sie nicht gezeigt sind.
  • Der Sensorkopf 22 erfaßt die Position des Werkstücks W relativ zu dem Sensorkopf 22, und erfaßt ebenso die Stellung des Werkstücks W mittels einer Kombination aus drei Entfernungssensoren (vergleiche Fig. 5). Daten von dem Sensorkopf 22 werden durch eine Sensor-Datenleitung 28 zum Sensor-Controller 24 übertragen, wo sie verarbeitet werden.
  • Das in den Fig. 4A bis 4C dargestellte Stellglied 16 hat sechs Drehachsen: Die erste, zweite und dritte Achse steuern die Position der Hand 18 bezogen auf das Werkstück W; und die vierte, fünfte und sechste Achse steuern die Stellung der Hand 18 bezogen auf das Werkstück W. Jede Achse hat einen Motor, eine Bremse und eine Codiereinrichtung (das heißt, einen Drehwinkelsensor): die erste Achse hat einen ersten Motor 30, eine erste Bremse 32 und einen ersten Winkelsensor 34; die zweite Achse hat einen zweiten Motor 40, eine zweite Bremse 42 und einen zweiten Winkelsensor 44; die dritte Achse hat einen dritten Motor 50, eine dritte Bremse 52 und einen dritten Winkelsensor 54; die vierte Achse hat einen vierten Motor 60, eine vierte Bremse 62 und einen vierten Winkelsensor 64; die fünfte Achse hat einen fünften Motor 70, eine fünfte Bremse 72 und einen fünften Winkelsensor 74; und die sechste Achse hat einen sechsten Motor 80, eine sechste Bremse 82 und einen sechsten Winkelsensor 84. Drehungen um die zweite Achse und die dritte Achse durch die Motoren 40 und 50 werden mit entsprechenden Kugelumlaufspindelschiebern 90 und 92 in lineare Bewegungen umgewandelt, und die linearen Bewegungen werden mit Parallelverbindungen in Drehungen um die Achsen umgewandelt. Drehungen um die anderen Achsen werden mit den entsprechenden Motoren der Achsen über Drehmomentwellen, Untersetzungsgetrieben, Schraubgetrieben und anderen Übertragungsvorrichtungen angetrieben.
  • In Fig. 5 sind das Laserwerkzeug 20 und der Sensorkopf 22 mit einem vorbestimmten Abstand dazwischen an der Hand 18 befestigt. Die relativen Positionen des Werkzeugs 20 und des Sensorkopfs 22 sind unveränderlich, unabhängig von der Bewegung der Hand 18. Der Sensorkopf 22 hat drei Entfernungssensoren 102, 104 & 106. Die Hand 18 bewegt sich derart über das Werkstück W, daß der Sensorkopf 22 dem Werkzeug 20 voreilt. Anders ausgedrückt, der Sensorkopf 22 erfaßt einen Punkt P1 auf einer Werkstückoberfläche, den das Werkzeug 20 bearbeiten wird, nachdem es seine derzeitige Bearbeitung am Punkt P0 beendet hat.
  • Der Sensorkopf 22 erfaßt den Punkt P1 unter Verwendung der drei Entfernungssensoren 102, 104 & 106, um die Entfernung und die Richtung dreier Punkte P11, P12 & P13 der entsprechenden Sensoren 102, 104 & 106 zu messen. Der Sensor-Controller 24 berechnet dann die Position und die Neigung des Punkts P1 auf der Grundlage des gemessenen Ergebnisses. Die Punkte P11, P12 & P13 sind tatsächlich sehr nahe bei dem Punkt P1, sind jedoch zum Vereinfachen der Erklärung in Fig. 5 weiter entfernt dargestellt.
  • Fig. 6 zeigt ein Blockschaltbild des Sensorkopfs 22 und des Sensor-Controllers 24. Jeder Entfernungssensor 102, 104 & 106 erfaßt die Entfernung zu einem Oberflächenpunkt LC auf dem Werkstück W mittels dem folgenden Verfahren (der Kürze wegen ist dieses Verfahren nur für den Sensor 102 beschrieben). Der Entfernungssensor 102 enthält eine Laserdiode 200 zum Emittieren eines Laserlichts mit einer Wellenlänge von etwa 750 um, einen Impulsmodulator 202 zum Pulsieren bzw. Pulsen des Laserlichts mit einem voreingestellten Betriebsdauerverhältnis, eine Kollimatorlinse 204 zum Sammeln des Laserlichts, eine eindimensionale positionsempfindliche Einrichtung 206, nachfolgend als PSD-Einrichtung ("Position Sensitive Device") bezeichnet, der Länge 2 L, eine Objektivlinsse 208 zum Bündeln des von der Werkstückoberfläche reflektierten Lichts auf die PSD-Einrichtung 206, und zwei Vorverstärker 210 & 212 zum Wandeln eines photoinduzierten elektrischen Stroms Io der PSD-Einrichtung 206 in entsprechende Spannungen.
  • Die PSD-Einrichtung 206 ist aus Silizium-Photodioden hergestellt, bei denen eine p-Typ Widerstandsschicht auf einem hochohmigen Siliziumsubstrat (i-Schicht) vorgesehen ist, zwei Elektroden an beiden Enden der Schichtstruktur zum Abgeben von Signalen vorgesehen sind, und eine gemeinsame Elektrode auf der Oberfläche des hochohmigen Siliziumsubstrats (i-Schicht) vorgesehen ist. Wenn Licht auf eine bestimmte Stelle der Oberfläche der p-Typ Schicht fokussiert wird, wird an dieser Stelle der elektrische Strom Io erzeugt. Der Strom Io wird in zwei Anteile I1 und I2 aufgeteilt, die von den Elektroden an den entgegengesetzten Enden der PSD-Einrichtung 206 abgegeben werden. Wenn die fokussierte Stelle um eine Entfernung X von der Mitte der PSD-Einrichtung 206 der Länge 2L verschoben wird, sind die entsprechenden, von der PSD-Einrichtung 206 an die Vorverstärker 210, 212 abgegebenen Ströme I1 und I2 durch die folgenden Formeln gegeben:
  • I1 = Io (L + ΔX) /(2 L) und
  • I2 = Io (L - ΔX)/(2 L) ...(1).
  • Der Strom Io wird nämlich im umgekehrten Verhältnis des Widerstands von der fokussierten Stelle zu den entsprechenden Stirnflächem-Elektroden aufgeteilt.
  • Das die Laserdiode 200, die Kollimatorllinse 204, die Objektivlinse 208 und die PSD-Einrichtung 206 enthaltende optische System ist derart angeordnet, daß:
  • (1) wenn die Achse des einfallenden Laserlichts und die Achse des reflektierten Lichts einen Winkel δ bilden, das reflektierte Laserlicht die Mitte der PSD-Einrichtung 206 Passiert, und
  • (2) in diesem Fall ein zwischen der Achse des reflektierten Lichts und der PSD-Einrichtung 206 gebildeter Winkel Θ auf einen derartigen Wert eingestellt wird, daß das von dem angestrahlten Punkt LC auf der Werkstückoberfläche reflektierte Laserlicht, unabhängig von der Position des Punkts LC, auf der Oberfläche der PSD-Einrichtung fokussiert wird.
  • Somit genügen eine Verschiebung X des Werkstücks W (das heißt, eine Änderung der Entfernung zwischen dem Entfernungssensor 102 und dem Werkstück W) und die Verschiebung ΔX des Brennpunkts von der Mitte der PSD-Einrichtung 206 der folgenden Beziehung:
  • ΔX = (1 / cos Θ) {Bo - (Ao f + f X cos δ) / {(Ao - f) +X cos δ)} ...(2)
  • wobei f die Brennweite der Objektivlinse 208, Ao die Entfernung zwischen dem angestrahlten Punkt LC und der Objektivlinse 208, wenn die Achse einfallenden Lichts und die Achse reflektierten Lichts einen Winkel δ einnehmen, und Bo die Entfernung zwischen der Objektivlinse 208 und dem Mittelpunkt der PSD-Einrichtung 206 ist.
  • Aus Formel (1) und einer allgemeinen Formel (1/f = 1/Ao + 1/Bo), die eine Beziehung zwischen Brennweiten darstellt, wird die folgende Formel abgeleitet:
  • / x /L = (I1 - I2)/(I1 + I2) = K x/(1 + (α x) ...(3)
  • wobei K = ((cos δ) (Bo - f))/(L (cos Θ) (Ao - f)) und α = (cos δ)/(Ao - f) ist.
  • Wie aus Formel (3) hervorgeht, wird die Verschiebung X des Werkstücks W bezogen auf den Entfernungssensor 102 bestimmt, indem die Ausgangsströme I1 und I2 an den entgegengesetzten Enden der PSD-Einrichtung 206 gemessen werden. Die Berechnung von Formel (3) wird bei diesem Ausführungsbeispiel in Berechnungseinrichtungen 214, 216 & 218 des Sensor-Controllers 24 durchgeführt. Da alle drei Berechnungseinrichtungen 214, 216 & 218 den gleichen Aufbau aufweisen, wird lediglich die Einrichtung 214 beschrieben.
  • Eine Positions-Bestimmungseinrichtung 224 in der Berechnungseinrichtung 214 empfängt die Ausgangsströme I1 und I2 von der PSD-Einrichtung 206 über entsprechende Eingabe- Zwischenspeicher 220 und 222 und berechnet (I1 - I2)/(I1 + I2). Die Positions-Bestimmungseinrichtung 224 erzeugt ein Signal, das das Berechnungsergebnis darstellt und zu ΔX/L proportional ist, und führt das Signal einer Linearisierungseinrichtung 226 zu, von der das Signal korrigiert wird, damit es der Verschiebung X des Werkstücks W proportional ist. Das Ausgangssignal der Linearisierungseinrichtung 226 wird mit einer A/D-Wandlereinrichtung bzweinem A/D-Konverter 228 in ein digitales Signal gewandelt, um in einer Sensor-Eingabe-Schnittstelle 230 der Roboter- Steuereinrichtung 12 verarbeitet zu werden.
  • In Fig. 7, ist die Roboter-Steuereinrichtung 12, die eine Verarbeitungs-Steuereinrichtung für das sechsachsige Stellglied 16 und eine Lern-Steuereinrichtung für den Roboter 10 ist, ein Mikrocomputer mit einer ersten Zentralverarbeitungseinheit bzw. CPU 300, einer zweiten CPU 301, einem Festspeicher bzw. ROM 302, einem Schreib-Lese- Speicher bzw. RAM 304, einem Sicherheits- bzw. Backup-RAM 306 und weiteren elektronischen Bauteilen, die über eine Sammelleitung bzw. einen Bus 308 miteinander verbunden sind, wobei all diese Bauteile allgemein bekannt und gebrauchsfertig erhältlich sind. Die weiteren Bauteile umfassen einen Blasen-Speicher 310 als externe Speichereinrichtung, eine Blasen-Speicher-Schnittstelle 312 für den Blasenspeicher 310, eine Terminal-E/A-Schnittstelle 314 für ein mit einer CRT-Anzeigeeinrichtung und einer Tastatur ausgestattetes Terminal T, eine Drucker-Ausgabeschnittstelle 316 für einen Drucker P, eine Lern-Einrichtungs-Eingabeschnittstelle 318 für eine Lern-Einrichtung 14, die Sensor-Eingabe-Schnittstelle 230 für den Sensorkopf 22 (die Sensor-Eingabe-Schnittstelle 230 erzeugt in voreingestellten Zeitabständen eine Unterbrechung in der zweiten CPU 301, um das Signal von dem Sensor-Controller 24 zu übertragen), und sechs Servo-Schaltungen 320, 322, 324, 326, 328 & 330 für die erste bis sechste Achse.
  • Jede Servo-Schaltung 320 bis 330 ist vom sogenannten intelligenten Typ und hat eine CPU. Wenn Zielpositionsdaten und Zielstellungsdaten für das Werkzeug 20 von der ersten CPU 300 über den Bus 308 übertragen werden, steuern die Schaltungen 320, 322, 324, 326, 328 & 330 entsprechend Motoren 30, 40, 50, 60, 70 & 80 über Motor-Ansteuerschaltungen bzw - Motor-Treiber 332, 334, 336, 338, 340 & 342 an, um die Spitze des Werkzeugs 20 in die Zielposition und um das Werkzeug 20 oder die Hand 18 in eine Zielstellung zu bewegen. Bei der Ansteuerung übertragen die Winkelsensoren 34, 44, 54, 64, 74 & 84 Drehwinkel-Daten für die entsprechenden Achsen zu den Servo-Schaltungen 320 bis 330. Die Schaltungen 320 bis 330 steuern je nach den Gegebenheiten auch die Bremsen 32, 42, 52, 62, 72 & 82 an, um ein Herunterfallen des Arms des Stellglieds 16 zu verhindern, wenn die Energiequelle der Servoschaltungen 320 bis 330 oder der Motoren 30, 40, 50, 60, 70 & 80 abgeschaltet wird.
  • Wie in dem Blockschaltbild in Fig. 8 dargestellt ist, umfaßt die Roboter-Steuereinrichtung 12 einen Standard-Weg- Speicher 400 zum Speichern gelernter Punktdaten PTtch als Bestandteil eines Standard-Wegs, wobei die Daten PTtch mittels der Lern-Einrichtung 14 gelernt werden; eine Interpolations-Bestimmungseinrichtung 402 zum Erzeugen von Zielpositionsdaten PTpath für das Werkzeug 20, um entsprechend den gelernten Punktdaten PTtch in dem Speicher 400 nacheinander die Zielpositionsdaten PTpath zu erreichen, die den Interpolationspunkt auf dem Standard-Weg angeben; eine Werkstückform-Näherungseinrichtung 404, um von dem Sensor 22 erfaßte Daten Ssen bezüglich des Werkstücks W und Bereichs-Mittelpunkts-Daten für die Hand 18 zu empfangen, und zum Berechnen von Werkstückform-Daten PSwall, Arbeitspunkt- Daten PTtool, einem Vektor L (in der Beschreibung sind Vektoren mit Fettdruck-Buchstaben, beispielsweise L, bezeichnet; in der Zeichnung sind sie mit einem Pfeil über dem Buchstaben kenntlich gemacht) von PTtool nach PSwall, und der Länge L des Vektors L; einen Werkstückform-Speicher 406 zum Speichern von PSwall, PTtool, L und L ; eine Werkzeugpositions-Näherungseinrichtung 408 zum Berechnen einer genäherten Werkzeugposition PTpmod-dash aus den Zielpositions-Daten PTpath von der Interpolations-Bestimmungseinrichtung 402 und einer Korrektur ΔPT von einer (nachstehend erklärten) Weg-Korrektureinrichtung 414; eine Näherungspositions-Projektionseinrichtung 410 zum Berechnen mehrerer Vektoren IL, indem PTpmod-dash auf den Vektor L im Werkstückform-Speicher 406 projiziert wird, der die Werkstückform annähert; eine Projektions-Bestimmungseinrichtung 412 zum Auswählen des kürzesten Vektors IL; eine Weg-Korrektureinrichtung 414 zum Berechnen modifizierter Daten PTmod und der Korektur ΔPT aus dem kürzesten von der Projektions-Bestimmungseinrichtung 412 ausgewählten Vektor entsprechenden Werkstück-Punkt-Daten PSlwall und aus den Zielpositions-Daten PTpath der Interpolations-Bestimmungseinrichtung 402; und eine Roboter-Steuereinrichtung 416 zum Positionieren des Werkzeugs 20 entsprechend den modifizierten Daten PTmod.
  • Fig. 9 stellt die Beziehungen zwischen dem Werkstück W, der Hand 18, dem Werkzeug 20, dem Sensor 22 und den gerade eingeführten Werten dar. Mittels der Roboter-Steuereinrichtung 12 verhält der Roboter 10 sich wie folgt.
  • (1) Die Werkstückform-Daten PSwall und der genäherte Vektor L von der Werkstückform-Näherungseinrichtung 404 werden in dem Werkstückform-Speicher 406 gespeichert.
  • (2) Die Werkzeugpositions-Näherungseinrichtung 408 berechnet die genäherte Werkzeugposition PTpmod-dash aus den Zielpositionsdaten PTpath und der zuvor von der Weg-Korrektureinrichtung 414 erhaltenen Korrektur ΔPT.
  • (3) Die Näherungspositions-Projektionseinrichtung 410 projiziert die genäherte Werkzeugposition PTpmod-dash auf die genäherten Vektoren und berechnet die Differenz zwischen der Länge des genäherten Vektors L und der Entfernung zu dem Projektionspunkt.
  • (4) Die Projektions-Bestimmungeinrichtung 412 wählt die Werkstück-Punktdaten PSlwall aus, die die geringste Differenz zwischen der Vektorlänge und der Entfernung zu dem Projektionspunkt aufweisen.
  • (5) Die Weg-Korrektureinrichtung 414 berechnet die Korrektur ΔPT aus den Werkstück-Punktdaten PSlwall und erzeugt modifizierte Daten PTmod aus PSlwall und den Zielpositionsdaten PTpath.
  • (6) Die Roboter-Steuereinrichtung 416 positioniert die Hand 18 entsprechend den modifizierten Daten PTmod.
  • Die Roboter-Steuereinrichtung 416 ist mit Bezug auf die Figuren 10 und 11 erklärt. Bevor eine besondere Aufgabe mit dem Roboter 10 begonnen wird, benutzt ein Bediener die Lern-Einrichtung 14, damit der Roboter 10 lernt, welchen Arbeitspunkten 21 (vergleiche Fig. 3) auf dem Werkstück W das Werkzeug 20 folgen soll und welche Stellung das Werkzeug 20 vor dem Erreichen jedes Arbeitspunkts 21 einnehmen soll. Beispielsweise ist ein Abstandhalter einer gewissen Länge an der Spitze des Laserwerkzeugs 20 befestigt. Die Länge des Abstandhalters ist zunächst so bestimmt, daß ein für die spezielle Aufgabe zweckmäßiger Abstand zwischen der Spitze des Werkzeugs 20 und der Werkstück-Oberfläche vorhanden ist. Der Bediener bewegt die Hand 18 mit der Spitze des Abstandhalters, wodurch ein gewünschter Weg auf der Werkstück-Oberfläche verfolgt wird, oder manchmal weg von der Oberfläche, wodurch die Position und Stellung des Werkzeugs an jedem einzelnen Arbeitspunkt 21 bestimmt wird (Fig. 3).
  • Die Position jedes einzelnen Arbeitspunkts 21 mit Bezug auf einen vorbestimmten Bezugspunkt des Roboters 10, sowie die Stellung des Werkzeugs 20 an dem Arbeitspunkt 21 werden in Form einer 4x4 Matrix in dem Standard-Weg-Speicher 400 gespeichert. Beispielsweise werden gelernte Daten an einem inten Lern-Punkt (Arbeitspunkt) repräsentiert durch
  • wobei Nx, Ny und Nz x-y-z-Komponenten eines Normalenvektors sind; Ox , Oy und Oz x-y-z-Komponenten eines Orientierungsvektors sind; Ax, Ay und Az x-y-z-Komponenten eines Annäherungs-Vektors sind; und X, Y und Z x-y-z-Komponenten eines Positionsvektors des m-ten Lern-Punkts sind.
  • Jede Komponente der Vektoren wird von einem Koordinatensystem O-XYZ mit dem Ursprung O an dem vorbestimmten Bezugspunkt des Stellglieds 16 dargestellt. Der Normalenvektor, der Orientierungsvektor und der Annäherungs-Vektor stehen zueinander senkrecht.
  • Nach dem Lern-Vorgang beginnt der Roboter 10 mit der speziellen Aufgabe. Die Grundfunktionen des Roboters 10 sind mit Bezug auf Fig. 10 erklärt.
  • Zuerst empfängt die Interpolations-Bestimmungeinrichtung 402 einen Lern-Punkt PTtch (Positionsdaten) aus dem Standard-Weg-Speicher 400 in dem Blasen-Speicher 310 und berechnet dann Positions-und Stellungsdaten PTpath (Zielpositionsdaten), die dann in einem Interpolations-Speicher 420 in dem RAM 304 gespeichert werden. Auf das Empfangen der Zieldaten PTpath von dem Interpolations-Speicher 420 hin, wendet die Weg-Korrektureinrichtung 414 in einem Ziel-Offset-Addierer 414d eine Korrektur ΔPT und eine Ziel-Verschiebung bzw. einen Ziel-Offset Ofs auf die Zieldaten PTpath an, um modifizierte Daten PTmod gemäß der folgenden Berechnung zu erhalten:
  • PTpmod = PTpath ΔPT ...(4)
  • PTmod = PTpmod Ofs ...(5)
  • Der Ziel-Offset Ofs ist eine Position des Arbeitspunkts 21, die durch ein Koordinatensystem, dessen Ursprung in der Spitze des Werkzeugs 20 liegt, dargestellt wird, und stellt eine relative Position des Arbeitspunkts 21 mit Bezug auf die Werkzeugspitze dar. Die Korrektur ΔPT wird, wie nachstehend beschrieben, in der zweiten CPU 301 berechnet. In diesem Fall stehen PTpath, ΔPT, PTpmod, Ofs und PTmod in den in Fig. 9 gezeigten Beziehungen zueinander. Dann werden die modifizierten Daten PTmod einer inversen kinematischen Umwandlungsschaltung 416a der Roboter-Steuereinrichtung 416 (Fig. 10) zugeführt, die PTmod decodiert und Drehwinkel Θhost für die sechs Achsen erzeugt. Diese Funktionen werden in der ersten CPU 300 ausgeführt.
  • Die sechs Winkeldaten Θhost werden den entsprechenden Servo-Schaltungen 320 bis 330 zugeführt, die über die Treiber 332 bis 342 die Motoren 30, 40, 50, 60, 70 & 80 ansteuern, um den Arbeitspunkt 21 des Werkzeugs 20 zu dem durch PTmod dargestellten modifizierten Zielpunkt zu bewegen.
  • Die Berechnung der Korrektur ΔPT mit der zweiten CPU 301 ist mit Bezug auf die Figuren 9 und 10 erklärt. Zuerst empfängt die Werkstückform-Näherungseinrichtung 404 Bereichs- Mittelpunkts-Daten für das Werkzeug 20 und die relative Position des Sensors 22 zu dem Werkstück W darstellende erfaßte Daten Ssen. Die Bereichs-Mittelpunkts-Daten werden aus einer kinematischen Umwandlungsschaltung bzw. Transformationsschaltung 422 erhalten, indem der Drehwinkel Θenc der sechs Achsen von den Winkelsensoren 34, 44, 54, 64, 74 & 84 umgewandelt wird. Die Transformation erfolgt entsprechend der folgenden Berechnung.
  • Bereichs-Mittelpunkts-Daten = Λ[Θenc] ...(6)
  • wobei Λ eine kinematische Transformation und [Θenc] ein Winkelvektor ist.
  • Dann berechnet die Werkstückform-Näherungseinrichtung 404 aus den Bereichs-Mittelpunkts-Daten wie folgt Sensor-End- Daten PS und tatsächliche Positions-Daten PTenc:
  • PS = (Bereichs-Mittelpunkts-Daten) πf-> S ...(7)
  • PTenc = (Bereichs-Mittelpunkts-Daten) πf-> T ... (8)
  • wobei πf-> S eine die Position des Sensors 22 mit Bezug auf das Bereichs-Ende des Werkzeugs 20 darstellende Positions - und Stellungsmatrix ist und πf-> T eine die Position des Arbeitspunkts 21 mit Bezug auf das Bereichs-Ende darstellende Positions- und Stellungsmatrix ist.
  • Die Werkstückform-Näherungseinrichtung 404 empf ängt von dem Sensor-Controller 24 die erfaßten Daten Ssen, die die relative Position des Sensors 22 zu dem Werkstück W und die Form des Werkstücks W am Erfassungspunkt wiedergeben, und wandelt diese Daten Ssen dann unter Verwendung der Sensor- End-Daten PS in Werkstückform-Daten PSwall um, die die Position und Stellung des Werkstücks W mit Bezug auf den Bezugspunkt O des Roboters 10 darstellen.
  • PSwall = PS Ssen ...(9)
  • Die erfaßten Daten Ssen können ein aus innerhalb eines sehr kurzen Abtastintervalls erhaltenen mehreren Proben gebildeter Mittelwert sein. Die Daten PSwall werden zwischenzeitlich in dem Werkstückform-Speicher 406 gespeichert.
  • Die Werkstückform-Näherungseinrichtung 404 berechnet aus den tatsächlichen Positionsdaten PTenc und dem Ziel-Offset Ofs entsprechend der folgenden Formel Werkstückpunkt-Daten PTtool, um Positionsanteile der Werkstückpunkt-Daten PTtool in dem Speicher 406 zu speichern.
  • PTtool = PTenc Ofs&supmin;¹ ...(10).
  • Hier wird der Ziel-Offset Ofs gemäß externer, dem Roboter 10 zugeführten Informationen (beispielsweise Bearbeitungsbedingungen) oder gemäß in dem Steuerprogramm des Roboters 10 erzeugter Befehle verändert.
  • Unter Verwendung der x-y-z-Komponenten (Xwall, Ywall, Zwall) der Werkstückform-Daten PSwall und der x-y-z-Komponenten (Xtool, Ytool, Ztool) der Werkstückpunkt-Daten PTtool ist ein von PTtool zu PSwall reichender Vektor L definiert als
  • L = (Xwall, Ywall, Zwall) - (Xtool, Ytool, Ztool)
  • Dieser Vektor L und seine Länge L werden dem Werkstückform-Speicher 406 zugeführt.
  • Eine Gruppe von in der Werkstückform-Näherungseinrichtung 404 synchron erhaltenen Daten wird in dem Speicher 406, wie in Fig. 11 dargestellt, gespeichert. Wenn alle dieser synchronen Daten vorbereitet sind, inkrementiert ein Zwischenspeicher-Zähler 424 den Zähler um eins. In Fig. 11 bezeichnen KH1 und KH1-n die derzeitige beziehungsweise die unmittelbar zuvor erhaltene Probe aus n Proben in der Zeitfolge.
  • Die Werkzeugpositions-Näherungseinrichtung 408 nähert unter Verwendung der Zieldaten PTpath und der von einer Korrektur-Berechnungseinrichtung 414a der Weg-Korrektureinrichtung 414 bei einem letzten Korrekturvorgang berechneten Korrektur Δ PT eine Werkzeug-Zielposition PTpmod-dash an. Die Näherung ist definiert als:
  • PTpmod-dash = PTpath ΔPT(KH1-1) ...(12)
  • wobei KH1-1 eine unmittelbar zuvor erhaltene Probe bezeichnet1.
  • Die Änderung der Arbeitsgeschwindigkeit ist im allgemeinen durch den Standard-Weg bestimmt. Genauer, die Werkzeug- Zielposition PTpmod-dash wird aus der Geschwindigkeit berechnet, die durch die Zielpositionsdaten PTpath sowie durch die Bewegung des Werkzeugs bis zur letzten Korrektur ΔPT(KH1-1) bestimmt ist. Zudem werden die geeignetsten Werkstückform-Daten PSwall aus mehreren Werkstückform-Daten ausgewählt, so daß sie der Werkzeug-Zielposition PTpmod- dash am nächsten kommen. Deshalb kann eine geeignete Zielposition entsprechend der sich verändernden Geschwindigkeit des Roboters 10 bestimmt werden.
  • Eine Vektor-Berechnungseinrichtung 410a der Projektionseinrichtung 410 berechnet unter Verwendung der x-y-z-Komponenten (Xpmod-dash, Ypmod-dash, Zpmod-dash) der Werkzeug-Zielposition PTpmod-dash und der x-y-z-Komponenten (Xtool,Ytool, Ztool) der Werkstückpunkt-Daten PTtool einen von PTtool nach PTpmod-dash reichenden Vektor I.
  • I = (Xpmod-dash, Ypmod-dash, Zpmod-dash) - (Xtool,Ytool, Ztool) ...(13)
  • Die folgende Verarbeitung berechnet den PTpmod-dash am nächsten liegenden Wert PSlwall.
  • Da es lange dauert, die Positionsbeziehungen für alle Werkstückform-Daten PSwall zu berechnen, wird zuerst das abgeschlossene Intervalll [a,b] eingestellt, das ein Bereich eines zu vergleichenden Zeitintervalls ist. Ein Anfangswert von a ist KHI1-n, das das n-te Zeitintervall vor dem derzeitigen Zeitintervall KH1 ist, während ein Anfangswert von b das derzeitige Zeitintervall KH1 ist. n wird entsprechend Bearbeitungsbedingungen eingestellt, wie beispielsweise der Bearbeitungsgeschwindigkeit und dem Abstand zwischen dem Werkzeug und dem Sensor.
  • Eine Winkel-Berechnungseinrichtung 410b berechnet unter Verwendung der Formel (15) aus einem aus dem Speicher 406 ausgelesenen Vektor L im Zeitintervall a, L(a) und dem Vektor I einen Winkel cosΘ zwischen I und L(a).
  • cosΘ = (L(a) I) / ( L(a) I ) ...(15)
  • wobei der Vektor L als L(a) bezeichnet ist, um ihn von Daten aus anderen Zeitintervallen zu unterscheiden. Andere Variable können ähnlich bezeichnet werden.
  • Eine Berechnungseinrichtung 410c zur Berechnung trigonometrischer Funktionen berechnet eine Länge IL(a) eines Vektors IL(a), der eine Projektion von I auf L(a) ist, unter Verwendung von Formel (16) aus I und dem gemäß Formel (15) berechneten Wert cosΘ.
  • IL(a) = I cosΘ ...(16)
  • Eine Differenz-Berechnungseinrichtung 410d berechnet unter Verwendung von Formel (17) die Differenz zwischen dem gemäß Formel (16) berechneten Wert IL(a) und L(a) von L(a).
  • f(a) = L(a) - IL(a) ...(17)
  • Unter Verwendung der im Speicher 406 gespeicherten Daten für das Zeitintervall b wird als nächstes f(b) berechnet, indem die von der Vektor-Berechnungseinrichtung 410a bis zur Differenz-Berechnungseinrichtung 410d ausgeführten Funktionen wiederholt werden.
  • Dann werden die von der Projektionseinrichtung 410 berechneten Werte f(a) und f(b) einem Differenz-Vergleicher 412a der Bestimmungseinrichtung 412 zugeführt und mit den in Formel (17b) genannten Bedingungen verglichen.
  • f(a) < L
  • f(b) > 0 ...(17b)
  • Wenn Formel (17b) nicht erfüllt ist, wird die Verarbeitung von einem Anomalie-Prozessor 426 fortgesetzt, und der von der Korrektur-Berechnungseinrichtung 414a für die vorherige Wegkorrektur berechnete Wert &Delta;PT(KH1-1) wird als &Delta;PT zu einer Berechnungseinrichtung 414b zum Berechnen eines Weg- Anzeigewerts übertragen.
  • Wenn Formel (17b) erfüllt ist, vergleicht eine Überprüfungseinrichtung 412b, die ein abgeschlossenes Intervall überprüft, die abgeschlossenen Zeitintervalle a und b unter Verwendung der Formel (18)
  • b - a &le; 1 ...(18)
  • Wenn Formel 18 erfüllt ist, wird PSwall gemäß Fig. 11 eines Zeitintervalls mit dem kleineren Wert von f(x) für die Zeitintervalle a und b zu dem zur Weg-Korrektur verwendeten PSlwall gesetzt.
  • Wenn Formel (18) andererseits nicht erfüllt ist, berechnet eine einen Mittelpunkt des abgeschlossenen Intervalls berechnende Berechnungseinrichtung 412c den Mittelpunkt c zwischen den Zeitintervallen a und b.
  • Dann wird ein Lese-Signal zu dem Speicher 406 übertragen, so daß f(c) für den Mittelpunkt c erhalten wird, indem die von der Berechnungseinrichtung 410a bis zur Berechnungseinrichtung 410d der Projektionseinrichtung 410 ausgeführten Funktionen wiederholt werden.
  • Ein Differenz-Vergleicher (2) 412d untersucht f(c) auf den Mittelpunkt c hin. Wenn f(c) > 0 ist, wird b durch c ersetzt; wenn f(c) < 0 ist, wird a durch c ersetzt. All diese Verarbeitungen werden zum Erhalten des zur Weg-Korrektur verwendeten PSlwall wiederholt. Das zum Zeitintervall KH1 ausgewählte PSlwall kann auch wie folgt erhalten werden.
  • Wenn ein Wert KH2 existiert, für den L(KH2) - IL(KH2 KH1) am kleinsten ist, kann PSlwall bestimmt werden, indem eine Interpolation auf der Grundlage der drei Werkstückform-Daten PSwall(KH2-1), PSwall (KH2), PSwall(KH2+1) durchgeführt wird. Beispielsweise werden lediglich die Positionsvektoren mittels der folgenden Interpolation berechnet.
  • &alpha;1 = ( PSwall(KH2-1) - PTpath(KH1) )&supmin;¹ ...(19)
  • &alpha;2 = ( PSwall(KH2) - PTpath(KH1) )&supmin;¹ ...(20)
  • &alpha;3 = ( PSwall(KH2+1) - PTpath(KH1) )&supmin;¹ ...(21)
  • wobei PSwall ein Positionsvektor von PSwall und PTpath ein Positionsvektor von PTpath ist.
  • Wenn die folgenden Gleichungen
  • &Gamma;1 = &alpha;1/(&alpha;1+&alpha;2+&alpha;3),
  • &Gamma;2 = &alpha;2/(&alpha;1+&alpha;2+&alpha;3), und
  • &Gamma;3 = &alpha;3/(&alpha;1+&alpha;2+&alpha;3),
  • erfüllt sind, wird ein Positionsvektor PSlwall von PSlwall unter Verwendung der folgenden Formel erhalten.
  • PSlwall(KH1) = &Gamma;1 PSwall(KH2-1) + &Gamma;2 PSwall(KH2) + &Gamma;3 PSwall(KH2+1) ...(22)
  • PSlwall wird ausgewählt, da das Intervall der Ausgabe der Zieldaten von der Roboter-Steuereinrichtung 12 an die Servo-Schaltungen 332 bis 342 länger ist als das Intervall der Eingabe der Positions- und Form-Daten des Arbeitspunkts von dem Sensor-Controller 24, oder da die Arbeitsgeschwindigkeit des Roboters 10 sich erhöht. Anders ausgedrückt, der Speicher 406 speichert im allgemeinen mehrere Werkstückform-Daten. Deshalb sollten optimale Daten aus einer großen Auswahl von Daten ausgewählt werden.
  • Wenn die Roboter-Steuereinrichtung 12 derart aufgebaut ist, werden, selbst wenn sich die Arbeitsgeschwindigkeit des Roboters ändert, korrekte Zielpositionen bestimmt. Wenn beispielsweise die von dem Sensor-Controller 24 erzeugte Datenanzahl annähernd gleich der von der Roboter- Steuereinrichtung 12 erzeugten Datenanzahl ist, und sich die Arbeitsgeschwindigkeit des Roboters 10 sich während des Betriebs erhöht, können Informationen über das Werkstück W an dem gewünschten Punkt fehlen. Da die Roboter-Steuerdaten bei diesem Ausführungsbeispiel jedoch durch Interpolieren erfaßter Daten auf mangelnde bzw. fehlende Punkte erzeugt werden, wird dieses Problem nicht auftreten.
  • Wenn die aus dem Speicher 406 ausgewählten Daten PSlwall erzeugt werden, wird die Differenz R-ofs zwischen den Daten PSlwall und den zuvor in dem Speicher 420 abgelegten Daten PTpath wie folgt erhalten
  • R-ofs = PTpath&supmin;¹ PSlwall ...(23)
  • Bei einer Korrektur-Auswahleinrichtung 414c wird unter Verwendung der Daten R-ofs wie folgt eine Matrix &Delta;PT erhalten, die von Null verschiedene Elemente lediglich an den Stellen bzw. in den Zellen aufweist, die den von dem Sensor 522 erfaßten Stellen entsprechen.
  • Wenn beispielsweise
  • (1) lediglich die Entfernung der Z-Komponente im Werkzeug- Koordinatensystem erfaßt wird;
  • (2) lediglich die Entfernung der Y-Komponente im Werkzeug- Koordinatensystem erfaßt wird;
  • (3) wenn lediglich die Werkzeug-Stellung und lediglich die Entfernung der Z-Komponente erfaßt werden;
  • R-ofs = PTpath&supmin;¹ PSlwall ...(26) und
  • Die so erhaltene Korrektur &Delta;PT wird der Anomalie-Erfassungseinrichtung 428 zugeführt und mit dem voreingestellten Wert ß verglichen.
  • Wenn der Betrag &Delta;PT von &Delta;PT größer als ß ist, wird eine Anomalie-Verarbeitung (beispielsweise eine Notabschaltung des Roboterbetriebs) durchgeführt, da der Roboter 10 die Zielposition verfehlen könnte.
  • Wenn andererseits &Delta;PT kleiner als ß ist, verwendet die Berechnungseinrichtung 414b &Delta;PT, um gemäß Formel (4) PTpmod zu erhalten.
  • Wenn die Stellungs-Komponente in den Korrektur-Komponenten von &Delta;PT enthalten ist und eine Bewegung lang ist, können Vibrationen auftreten, so daß die folgenden Verarbeitungen durchgeführt werden.
  • (1) Ein Hauptantriebswellen-Drehwinkel &Theta; wird aus den beiden Matrizen von PTmod(KH1) und PTmod(KH1-1) erhalten. Wenn dieser Winkel &Theta; größer als Winkel &alpha; ist, mit dem der Roboter 10 bei der Maximalgeschwindigkeit betreibbar ist, wird &Theta; durch &alpha; zum Erzeugen neuer Daten PTmod(KH1) ersetzt.
  • (2) Wenn der Hauptantriebswellen-Drehwinkel &Theta; beispielsweise kleiner als 2º ist, wird die Stellung nicht korrigiert.
  • Diese Verarbeitungen der ersten CPU 300 und der zweiten CPU 301 sind in den Flußdiagrammen in Fig. 13 und 14 dargestellt.
  • Die Roboter-Steuereinrichtung 12 enthält bei diesem Ausführungsbeispiel die beiden in Fig. 7 gezeigten CPU's 300 und 301, die synchron zueinander zusammenarbeiten. Fig. 13 ist ein Flußdiagramm, das den Funktionsablauf in der ersten CPU 300 zeigt; Fig. 14 ist ein Flußdiagramm für die zweite CPU 301.
  • Wenn der Roboter 10 den Betrieb aufnimmt, führt die erste CPU 300 sequentiell die folgenden Verarbeitungsschritte aus.
  • Schritt 500: PTpath zum Zeitintervall KH1 wird durch Interpolieren der Positionsdaten PTtch auf den im Speicher 400 gespeicherten Standard-Weg berechnet.
  • Schritt 502: PTpath wird der zweiten CPU 301 zugeführt, um die modifizierten Daten PTmod von der zweiten CPU 301 an zufordern.
  • Schritt 504: PTmod wird von der zweiten CPU 301 empfangen.
  • Schritt 506: PTmod wird in Ziel-Drehwinkel &Theta;host für jede Achse dekodiert.
  • Schritt 508: Die Winkel &Theta;host werden den Servo-Schaltungen 320 bis 330 der entsprechenden Achsen zugeführt.
  • Schritt 510: KH1 wird um eins inkrementiert, um die Schritte 500 bis 510 für das nächste Zeitintervall zu wiederholen.
  • Die zweite CPU 301 führt die folgenden Verarbeitungsschritte aus. Schritte 602 und 604, und Schritte 610 bis 638 werden aufgrund einer Multitasking-Verarbeitung parallel ausgeführt. Die Schritte 602 und 604 werden in einem Zeitzyklus des Sensor-Controllers 24 ausgeführt, während die Schritte 610 bis 638 in einem Zeitzyklus der Roboter- Steuereinrichtung 12 ausgeführt werden.
  • Schritt 600: Die zweite CPU-Karte wird initialisiert.
  • Schritt 602: Die Positions- und Form-Daten Ssen des Abtastpunkts werden von dem Sensor-Controller 24 empfangen.
  • Schritt 604: Drehwinkel-Daten &Theta;enc für jede einzelne Achse werden von den Winkelsensoren 34, 44, 54, 64, 74 & 84 zur gleichen Zeit empfangen, zu der der Sensor 22 mit dem Abtasten beginnt.
  • Schritt 610: PTpath wird von der ersten CPU 300 empfangen.
  • Schritt 612: Die tatsächlichen Daten PTenc des Arbeitspunkts, Positions-Komponenten von PTtool, PSwall und von dem sich von PTtool bis PSwall erstreckenden Vektor L, sowie L werden entsprechend den vorstehenden Formeln erhalten und dann in einem KH1 entsprechenden Speicherbereich des Speichers 406 gespeichert.
  • Schritt 614: PTmod-dash wird aus PTpath und der in den vorstehenden Formeln zur vorherigen Weg-Korrektur verwendeten Korrektur &Delta;PT erhalten.
  • Schritt 616: Ein Daten-Such-Intervall [a, b] zum Auswählen von PSlwall aus dem Speicher 406 wird erhalten. Wie vorstehend beschrieben, sind die Anfangswerte: a = KH1-n und b = KH1.
  • Schritt 618: PTtool wird aus dem Speicher 406 ausgelesen und der sich von PTtool zu PTpmod-dash erstreckende Vektor I und dessen Länge I werden entsprechend den vorstehenden Formeln erhalten. Ferner werden L(a) und L(b) aus dem Speicher 406 ausgelesen, und der durch I und L(a), L(b) bestimmte cos&Theta; wird entsprechend den vorstehenden Formeln erhalten.
  • Dann werden die Vektoren IL(a) und IL(b), die eine Projektion von I auf L(a), L(b) sind, und ihre Längen IL(a) und IL(b) entsprechend den vorstehenden Formeln erhalten.
  • Schritt 620: Wenn im Daten-Such-Intervall [a, b]
  • f(a) < L , oder
  • f(b) > 0 ist,
  • schreitet die Steuerung zu Schritt 622 fort, bei dem die Anomalie-Verarbeitung ausgeführt wird; andernfalls schreitet die Steuerung zu Schritt 624 fort.
  • Schritt 622: Der zuvor berechnete Wert &Delta;PT(KH1-1) verbleibt als &Delta;PT für die derzeitige Verarbeitung, und die Steuerung schreitet zu Schritt 636 fort.
  • Schritt 624: Wenn die PTpmod-dash am nächsten gelegenen Werkstückform-Daten gefunden wurden, schreitet die Steuerung zu Schritt 632 fort, andernfalls geht sie zu Schritt 626 über. Die Testbedingung dafür, b - a &le; 1, ist erfüllt, wenn beide Endpunkte des Such-Intervalls am selben Punkt sind, oder wenn sie aneinandergrenzen.
  • Schritt 626: Das Einschluß-Verfahren wird verwendet, um schnell innerhalb des Such-Intervalls zu überprüfen. Auf diese Weise wird der Mittelpunkt des Daten-Such-Intervalls [a, b] gefunden.
  • Schritt 628: f(c) wird im Mittelpunkt c erhalten.
  • Schritt 630: Wenn f(c) > 0 ist, wird c durch ein neues b ersetzt. Wenn f(c) < 0 ist, wird c durch ein neues a ersetzt. Dann kehrt die Steuerung zu Schritt 624 zurück.
  • Schritt 632: PSwall wird für das ausgewählte Zeitintervall aus dem Speicher 406 ausgelesen, und dieses PSwall wird PSlwall zugewiesen.
  • Schritt 634: Die Differenz R-ofs zwischen dem ausgewählten PSlwall und PTpath wird unter Verwendung der vorstehenden Formeln bestimmt. Unter Verwendung von R-ofs und der Korrektur-Auswahleinrichtung 414c wird unter Verwendung der vorstehenden Formeln die Korrektur &Delta;PT bestimmt, um mit der Anomalie-Erfassungseinrichtung 428 auf das Vorhandensein von Anomalien hin zu überprüfen.
  • Schritt 636: Die modifizierten Daten PTmod werden aus PTpath, &Delta;PT und einem Ziel-Offset ofs berechnet.
  • Schritt 638: PTmod wird zur ersten CPU 300 übertragen und die Steuerung kehrt zu Schritt 610 zurück.
  • Der Roboter 10 arbeitet, während der Punkt auf dem Werkstück für die nächste Bearbeitung erfaßt wird, indem die vorstehende Verarbeitung wiederholt wird.
  • Diese Ausführung scheint einen Speicher unbegrenzter Speicherkapazität zum Speichern der Position und Stellung im Arbeitspunkt zu erfordern. Tatsächlich tritt dieses Problem jedoch nicht auf, da die Daten in einem Ring-Zwischenspeicher abgelegt sind.
  • Bei dem dem Stand der Technik gemäßen Roboter wird der Roboter betrieben, indem in der Interpolationspunkt- Erzeugungseinrichtung interpolierte Zieldaten direkt der Roboter-Steuereinrichtung zugeführt werden.
  • Bei diesem Ausführungsbeispiel dagegen werden Arbeitspunkt- Daten in der Korrektureinrichtung auf der Grundlage erfaßter Informationen revidiert, um einen neuen Weg zum Steuern des Roboters zu erhalten.
  • Das vorliegende Ausführungsbeispiel der vorstehend beschriebenen Zusammensetzung hat die folgenden Wirkungen.
  • (1) Der Roboter kann Hochgeschwindigkeits-Arbeiten ausführen, da der Zielpunkt im voraus erfaßt wird. Insbesondere beträgt die Arbeitsgeschwindigkeit eines mit einem dem Stand der Technik gemäßen Sensor gesteuerten Roboters höchstens 50 bis 100 mm/sec, während ein diese Erfindung verwendender Roboter eine Arbeitsgeschwindigkeit von 500 mm/sec hat.
  • (2) Der Roboter weicht nicht vom Weg ab, da er sich nicht auf die von dem Sensor 22 erfaßten Informationen verläßt, sondern auch auf den Lern-Punkt.
  • (3) Eine genaue Steuerung wird erreicht, da der Roboter auf der Grundlage einer Reihe von Zielpunkten gesteuert wird. Selbst wenn beispielsweise eine abrupte Änderung zwischen dem gegenwärtigen Arbeitspunkt und dem gegenwärtigen Erfassungspunkt existiert, sind die Zieldaten dieses Teils bereits im Speicher gespeichert, sodaß eine zweckmäßige Spur auf dem Werkstück verfolgt wird.
  • (4) Hochgenaue Funktion wird erreicht. Änderungen der Geschwindigkeit sind im allgemeinen durch den Standard-Weg bestimmt. Mit dieser Erfindung wird der Standard-Weg sequentiell abgetastet, um Änderungen der Geschwindigkeit sofort zu erkennen und um auf diese Änderungen flexibel anzusprechen.
  • (5) Da die Informationen von dem Sensor 22 bezüglich der Position und Stellung von einer Matrix dargestellt werden, kann die vorliegende Erfindung auf ein-, zwei- oder dreidimensionale Korrekturfunktionen angewendet werden.
  • Nun wird ein zweites Ausführungsbeispiel der vorliegenden Erfindung erklärt. Bei diesem Ausführungsbeispiel wird der Roboter 10 von einer Roboter-Steuereinrichtung mit von denen des ersten Ausführungsbeispiels verschiedenen Verarbeitungsschritten gesteuert. Der Roboter 10 selbst ist der selbe wie der bei dem ersten Ausführungsbeispiel verwendete.
  • Wie im Blockschaltbild in Fig. 15 gezeigt, enthält die Roboter-Steuereinrichtung 12 dieses Ausführungsbeispiels einen Standard-Weg-Speicher 700 zum vorherigen Speichern von bei der Lern-Funktion unter Verwendung der Lern-Einrichtung 14 gelernten Positionsdaten PTtch als ein Standard-Weg; eine Interpolations-Bestimmungseinrichtung 702 zum Bestimmen der Ziel-Daten PTpath (das heißt, den Interpolationspunkt auf dem Standard-Weg, zu dem das Werkzeug 20 sich bewegt) auf der Grundlage der im Speicher 700 gespeicherten Positionsdaten; eine Werkstückform-Näherungseinrichtung 704 zum Eingeben erfaßter Daten Ssen für ein Werkstück W und der Bereichs-Mittelpunkts-Daten für die Hand 18, und zum Berechnen der Werkstückform-Daten PSwall; einen Werkstückform-Speicher 706 zum Speichern der Werkstückform- Daten PSwall; eine Näherungsposition-Projektionseinrichtung 708 zum Berechnen einer Vielzahl von Vektoren IL, die Projektionen von im Speicher 706 gespeicherten Daten PSwall auf den Vektor L sind, der vom Startpunkt des Lernens bis zu PTpath reicht; eine Projektions-Bestimmungseinrichtung 710 zum Auswählen des kürzesten der Vektoren IL; eine Weg- Korrektureinrichtung 712 zum Berechnen von PTmod und PT aus den dem ausgewählten Vektor entsprechenden Daten PSlwall und den von der Interpolations-Bestimmungseinrichtung 702 bestimmten Daten PTpath; und eine Roboter-Steuereinrichtung 714 zum Bewegen des Werkzeugs 20 zu der von der Korrektureinrichtung 712 berechneten Position von PTmod. Die Beziehungen zwischen dem Werkstück W, der Hand 18, dem Werkzeug 20, dem Sensor 22 und den entsprechenden Beträgen ist ebenfalls in Fig. 9 dargestellt.
  • Die Roboter-Steuereinrichtung 12 dieses zweiten Ausführungsbeispiels arbeitet wie folgt.
  • (1) Der Speicher 706 speichert Werkstückpunkt-Daten PSwall von der Werkstückform-Näherungseinrichtung 704.
  • (2) In der Projektionseinrichtung 708 werden Werkstückpunkt-Daten auf den Standard-Weg projiziert, und die Differenz der Entfernung zwischen den projizierten Punkten und den Zieldaten wird erhalten.
  • (3) In der Projektions-Bestimmungseinrichtung 710 wird ein Wert für PSlwall mit der minimalen Differenz der Entfernung ausgewählt.
  • (4) In der Korrektureinrichtung 712 wird &Delta;PT aus den ausgewählten Daten PSlwall erhalten, und aus PTpath und PT wird ein neuer Wert PTmod berechnet.
  • (5) In der Roboter-Steuereinrichtung 714 wird die Hand 18 auf der Grundlage des berechneten PTmod gesteuert.
  • Zuerst wird PTtch aus dem Speicher 700 in dem Blasen-Speicher 310 von der Interpolations-Bestimmungseinrichtung 702 interpoliert, um PTpath für das Werkzeug 20 zu berechnen. Dann wird der berechnete Wert PTpath in dem Speicher 720 empfangen, der voreingestellten Speicherbereichen des RAM 304 zugewiesen ist.
  • Wenn die Korrektureinrichtung 712 den Wert PTpath von dem Speicher 720 empfängt, werden von einem Ziel-Offset-Addierer 712a, entsprechend den Formeln (4) und (5), &Delta;PT und ofs zu PTpath addiert. Somit werden wirklich modifizierte Daten PTmod erhalten. PTmod wird einer inversen kinematischen Umwandlungseinrichtung 714a der Roboter-Steuereinrichtung 714 zugeführt, und der Roboter 10 wird wie bei dem ersten Ausführungsbeispiel gesteuert.
  • Nun wird das Verfahren zum Berechnen von &Delta;PT erklärt. Zuerst werden die erfaßten Daten Ssen für das Werkstück W und die Bereichs-Mittelpunkts-Daten für die Hand 18 von der Näherungseinrichtung 704 empfangen. Letztere werden aus einer kinematischen Umwandlung bzw. Transformation erhalten. Dann wird auf die gleiche Weise wie bei dem ersten Ausführungsbeispiel PSwall erhalten und im Speicher 706 gespeichert.
  • Der PTpath am nächsten liegende Wert PSlwall wird durch das folgende Verfahren erhalten. Da es lange dauert, die Positionsbeziehungen für alle Werkstückform-Daten PSwall zu berechnen, wird zuerst das geschlossene Intervalll [a,b], das das relevante Zeitintervall ist, auf die gleiche Weise wie bei dem ersten Ausführungsbeispiel eingestellt. Der Anfangswert von a ist KH1-n, das das n-te Zeitintervall vor dem derzeitigen Zeitintervall KH1 ist, während der Anfangswert von b das derzeitige Zeitintervall KH1 ist. n wird entsprechend Bearbeitungsbedingungen bestimmt, wie beispielsweise der Arbeitsgeschwindigkeit und dem Abstand zwischen dem Werkzeug und dein Sensor.
  • Eine Vektor-Berechnungseinrichtung 708a in der Berechnungseinrichtung 708 bestimmt unter Verwendung von Formel (29) und der Positions-Komponenten (Xpath, Ypath, Zpath) der Zieldaten PTpath und der Positions-Komponenten (Ox, Oy, Oz) der Startpunkt-Daten des Lern-Vorgangs den Vektor L, der von dem Lern-Startpunkt bis zu PTpath reicht.
  • L = (Xpath, Ypath, Zpath) - (Ox, Oy, Oz) ...(29)
  • Aus den aus dem Speicher 706 ausgelesenen Positions-Komponenten (Xwall(a), Ywall(a), Zwall(a)) von Pswall(a) im Zeitintervall a und den Positions-Komponenten (Ox, Oy, Oz) der Startpunkt-Daten des Lern-Vorgangs wird unter Verwendung von Formel (30) der Vektor I(a) erhalten, der von dem Lern- Startpunkt bis zu PSwall reicht.
  • I(a) = {Xwall(a), Ywall(a), Zwall(a)} - (Ox, Oy, Oz) ...(30)
  • In einer Winkel-Berechnungseinrichtung 708b wird, wie bei dem ersten Ausführungsbeispiel, der Winkel cos&Theta; zwischen L und I(a) erhalten. Eine Berechnungseinrichtung 708c zur Berechnung trigonometrischer Funktionen berechnet, wie im ersten Ausführungsbeispiel, unter Verwendung von I(a) und cos&Theta;, die entsprechend den vorstehenden Formeln erhalten werden, die Länge IL(a) des Vektors IL(a), der eine Projektion von I(a) auf L ist.
  • In einer Differenz-Berechnungseinrichtung 708d wird, wie im ersten Ausführungsbeispiel, die Differenz f(a) zwischen IL(a) und L erhalten. Unter Verwendung der im Speicher 706 gespeicherten Daten des Zeitintervalls b wird f(b) durch Wiederholen der Verarbeitungen der Berechnungseinrichtungen 708a bis 708d berechnet.
  • Genau wie im ersten Ausführungsbeispiel wird PSlwall von der Bestimmungseinrichtung 710 ausgewählt, die den selben Aufbau wie die Projektions-Bestimmungseinrichtung 412 des ersten Ausführungsbeispiels aufweist.
  • Dann wird PTmod von der Korrektureinrichtung 712 berechnet, die ebenfalls die selbe wie im ersten Ausführungsbeispiel ist, und der Roboter-Steuereinrichtung 714 zugeführt.
  • Wie bei dem ersten Ausführungsbeispiel wird der Roboter von einem Anomalie-Prozessor 726 und einer Anomalie-Erfassungseinrichtung 728 wie jenen des ersten Ausführungsbeispiels gesteuert, damit der Roboter nicht mit anomalen Daten gesteuert wird.
  • Das Verfahren zum Ausführen dieser Verarbeitungen in der zweiten CPU 301 wird nun erklärt; die Erklärung der Verarbeitung in der ersten CPU 300 ist ausgelassen, da sie mit der des ersten Ausführungsbeispiels übereinstimmt. Das Flußdiagramm in Fig. 19 beschreibt die Funktion der zweiten CPU 301.
  • Schritte 802 und 804, und Schritte 810 bis 836 werden aufgrund einer Multitasking-Verarbeitung parallel ausgeführt. Die Schritte 802 und 804 werden in einem Zeitzyklus des Sensor-Controllers 24 ausgeführt, während die Schritte 810 bis 836 in einem Zeitzyklus der Roboter-Steuereinrichtung 12 ausgeführt werden.
  • Schritt 800: Die zweite CPU-Karte wird initialisiert.
  • Schritt 802: Die Positions- und Form-Daten Ssen des Abtastpunkts werden von dem Sensor-Controller 24 empfangen.
  • Schritt 804: Drehwinkel-Daten &Theta;enc für jede einzelne Achse werden simultan von den Winkelsensoren 34, 44, 54, 64, 74 & 84 empfangen, wenn der Sensor 22 mit dem Abtasten beginnt.
  • Schritt 810: PTpath wird von der ersten CPU 300 empfangen.
  • Schritt 812: PSwall wird entsprechend den vorstehenden Formeln berechnet und in dem KH1 entsprechenden Speicherbereich des Speichers 706 gespeichert.
  • Schritt 814: Das Suchintervall [a, b] zum Auswählen von PSlwall aus dem Speicher 706 wird erhalten. Wie vorstehend beschrieben, sind die Anfangswerte: a = KH1-n und b = KH1.
  • Schritt 816: PTwall(a) wird aus dem Speicher 706 ausgelesen und der sich von dem Lern-Startpunkt bis zu PSwall(a) erstreckende Vektor I(a) und dessen Länge I(a) werden unter Verwendung der vorstehenden Formeln erhalten. Zudem wird der sich von dem Lern-Startpunkt bis zu den Zieldaten PTpath erstreckende Vektor L unter Verwendung der vorstehenden Formeln erhalten, und unter Verwendung der vorstehenden Formeln wird der durch I(a) und L(a) bestimmte cos &Theta;(a) erhalten.
  • Dann wird der Vektor IL(a), der eine Projektion von I(a) auf L(a) ist, sowie dessen Länge IL(a) entsprechend den vorstehenden Formeln erhalten.
  • Schritt 818: Wenn für das Daten-Suchintervall [a, b] gilt
  • f(a) < L , oder
  • f(b) > 0,
  • dann fährt die Steuerung mit Schritt 820 fort, bei dem die Anomalie-Verarbeitung ausgeführt wird, andernfalls fährt die Steuerung mit Schritt 822 fort.
  • Schritt 820: Das zuvor berechnete &Delta;PT(KH1-1) verbleibt als &Delta;PT für die derzeitige Verarbeitung und die Steuerung fährt mit Schritt 834 fort.
  • Schritt 822: Wenn die PTpath am nächsten liegenden Werkstückform-Daten gefunden sind, geht die Steuerung zu Schritt 830 über. Andernfalls fährt die Steuerung mit Schritt 824 fort. Die Testbedingung, b - a &le; 1, ist erfüllt, wenn beide Endpunkte des Such-Intervalls am selben Punkt sind oder wenn sie aneinandergrenzen.
  • Schritt 824: Da es viel Zeit in Anspruch nimmt, die Daten innerhalb des Suchintervalls sequentiell zu überprüfen, wird zum Beschleunigen der Verarbeitung das Einschluß-Verfahren verwendet. Auf diese Weise wird der Mittelpunkt des Daten-Suchintervalls [a, b] erhalten.
  • Schritt 826: f(c) wird für den Mittelpunkt c erhalten.
  • Schritt 828: Wenn f(c) > 0 ist, wird c durch ein neues b ersetzt. Wenn f(c) < 0 ist, wird c durch ein neues a ersetzt. Dann kehrt die Steuerung zu Schritt 822 zurück.
  • Schritt 830: PSwall des aus dem Speicher 706 ausgewählten Zeitintervalls wird gelesen, und dieses PSwall wird PSlwall zugewiesen.
  • Schritt 832: Die Differenz R-ofs zwischen den ausgewählten Werkstückform-Daten PSwall und PTpath wird unter Verwendung der vorstehenden Formeln erhalten. Unter Verwendung von R- ofs und der Korektur-Auswahleinrichtung 712b wird mit den vorstehenden Formeln die Korrektur &Delta;PT ermittelt, um mit der Anomalie-Erfassungseinrichtung 728 auf Anomalien hin zu überprüfen.
  • Schritt 834: Die modifizierten Daten PTmod werden aus PTpath, &Delta;PT und ofs berechnet. Schritt 836: PTmod wird der ersten CPU 300 zugeführt, und die Steuerung kehrt zu Schritt 810 zurück.
  • Der Roboter dieses zweiten Ausführungsbeispiels erzielt die gleiche Wirkung wie der des ersten Ausführungsbeispiels, da jedoch lediglich die Werkstückform-Daten PSwall im Speicher gespeichert werden, kann bei diesem Ausführungsbeispiel die Speicherkapazität kleiner als bei dem ersten Ausführungsbeispiel sein.
  • Bei dieser Erfindung handelt es sich um eine Echtzeit-Spurfolge-Steuereinrichtung für einen einem Standard-Weg folgenden Roboter, die einen Zielpunkt im voraus erfaßt, was eine höhere Arbeitsgeschwindigkeit erlaubt. Der Roboter verwendet beide, erfaßte Daten und zuvor gelernte Daten, um seine Aufgabe genau auszuführen. Die genaue Steuerung wird erreicht, indem Zeitintervallen entsprechende Zielpunkte verwendet werden. Somit wird, selbst wenn die Geschwindigkeit oder der Weg während des Betriebs geändert werden, eine genaue Spurführung kontinuierlich ausgeführt.

Claims (5)

1. Steuersystem für einen industriellen Roboter (R4), der einer Werkstückform folgt, indem er einem durch zuvor in dem System gespeicherte Daten bestimmten Standard-Weg (S) folgt, und der eine Hand (R1) mit einem Werkzeug (R2) sowie einen in einem vorbestimmten Abstand vor dem Werkzeug (R2) angeordneten Werkstückform-Sensor (R3) aufweist, wobei das System Abweichungen von dem Standard-Weg (S) in Echtzeit korrigiert, während das Werkzeug (R2) in Betrieb ist, mit: einer Zwischenspeichereinrichtung (R5) zum Empfangen von während dem Betrieb des Werkzeugs (R2) erfaßten Daten und zum Berechnen und Speichern von Werkstückform-Daten (Wd) unter Verwendung der erfaßten Daten;
einer Interpolations-Bestimmungseinrichtung (R6) zum Auswählen eines interpolierten Punktes (Sd) auf dein Standard-Weg (S), wobei der interpolierte Punkt (Sd) einer Zielposition des Werkzeugs entspricht; und
einer Roboter-Steuereinrichtung (R9) zum Steuern des Werkzeugs (R2), um einer Folge von einer Zielposition entsprechenden Punkten sowie Lagedaten von einer Weg-Korrektureinrichtung (R8) zu folgen;
dadurch gekennzeichnet, daß
die ausgewählten Werkstückform-Daten (Wd) mittels der Anordnung erhalten werden, mit:
einer Auswahleinrichtung (R7) zum Erzeugen eines dem interpolierten Punkt (Sd) entsprechenden Bezugspunkts (Nd) und zum Auswählen der dem Bezugspunkt (Nd) am nächsten liegenden Werkstückform-Daten (Wd), wobei der Bezugspunkt (Nd) erhalten wird, indem der von der Interpolations- Bestimmungseinrichtung (R6) ausgewählte interpolierte Punkt (Sd) als Bezugspunkt (Nd) bestimmt wird, oder indem (1) der der derzeitigen Position des Werkzeugs (R2) auf dem Standard-Weg (S) entsprechende Punkt als Startpunkt eingestellt wird und der von der Interpolations-Bestimmungseinrichtung (R6) ausgewählte interpolierte Punkt (Sd) als Endpunkt eingestellt wird, wodurch ein Vektor erzeugt wird, und (2) der Endpunkt des Vektors als der Bezugspunkt (Nd) bestimmt wird, wenn der Startpunkt des Vektors als die derzeitige Position des Werkzeugs (R2) bestimmt wird; und
einer Weg-Korrektureinrichtung (R8) zum Erzeugen der Zielposition und Stellungs-Daten für das Werkzeug (R2) auf der Grundlage der Differenz zwischen dem interpolierten Punkt (Sd) und den ausgewählten Werkstückform-Daten (Wd).
2. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahleinrichtung (R7) enthält:
eine Bezugslinien-Berechnungseinrichtung zum Berechnen einer Bezugslinie aus entweder den Werkstückform-Daten (Wd) oder dem Standard-Weg (S);
eine Projektionseinrichtung zum Projizieren eines vorbestimmten Projektions-Startpunkts auf die Bezugslinie; und eine Bezugslinien-Auswahleinrichtung zum Auswählen der Werkstückform-Daten mit der geringsten Entfernung zwischen einem projizierten Punkt und einem vorbestimmten Vergleichspunkt auf der Bezugslinie.
3. Steuersystem nach Anspruch 2, dadurch gekennzeichnet, daß die Auswahleinrichtung eine Einrichtung aufweist zum Bestimmen der Bezugslinie aus den Werkstückform-Daten (Wd); zum Bestimmen des Projektions-Startpunkts aus dem Bezugspunkt, der eine genäherte, von dem Werkzeug (R2) zu erreichende, Werkzeugposition ist, wobei die genäherte Werkzeugposition aus dem Standard-Weg (S) und dem während des Betriebs wirklich verfolgten Weg genähert wird; und zum Bestimmen des Vergleichspunkts auf der Grundlage von Daten des Werkstückform-Sensors (R3).
4. Steuersystem nach Anspruch 3, dadurch gekennzeichnet, daß die Auswahleinrichtung (R7) die Bezugslinie aus der aus einem zwei benachbarte erfaßte Datenpunkte verbindenden Vektor, einem zwei in einem vorbestimmten Intervall erfaßte Datenpunkte verbindenden Vektor und einem einen erfaßten Datenpunkt und einen Werkzeug-Ende-Punkt zum Zeitpunkt des Erfassens des erfaßten Datenpunkts verbindenden Vektor bestehenden Gruppe bestimmt.
5. Steuersystem nach Anspruch 2, dadurch gekennzeichent, daß die Auswahleinrichtung (R7) eine Einrichtung aufweist zum Bestimmen der Bezugslinie aus dem Standard-Weg (S); zum Bestimmen des Projektions-Startpunkts auf der Grundlage von Daten von dem Werkstückform-Sensor (R3); und zum Bestimmen des Vergleichspunkts aus dem dem interpolierten Punkt auf dem Standard-Weg (S) äquivalenten Bezugspunkt (Nd).
DE68918318T 1988-04-01 1989-04-03 Echtzeitsteuersystem für einen industriellen Roboter zum Folgen eines Standardweges. Expired - Fee Related DE68918318T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63081787A JP2708458B2 (ja) 1988-04-01 1988-04-01 倣い制御ロボット

Publications (2)

Publication Number Publication Date
DE68918318D1 DE68918318D1 (de) 1994-10-27
DE68918318T2 true DE68918318T2 (de) 1995-01-26

Family

ID=13756198

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68918318T Expired - Fee Related DE68918318T2 (de) 1988-04-01 1989-04-03 Echtzeitsteuersystem für einen industriellen Roboter zum Folgen eines Standardweges.

Country Status (4)

Country Link
US (1) US5006999A (de)
EP (1) EP0336342B1 (de)
JP (1) JP2708458B2 (de)
DE (1) DE68918318T2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10255037A1 (de) * 2002-11-26 2004-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks
DE102008042612A1 (de) * 2008-10-06 2010-04-08 Kuka Roboter Gmbh Industrieroboter und Bahnplanungsverfahren zum Steuern der Bewegung eines Industrieroboters

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2512099B2 (ja) * 1988-08-24 1996-07-03 松下電器産業株式会社 ロボットの動作教示方法および制御装置
DE69033605T2 (de) * 1989-05-17 2001-08-16 Fujitsu Ltd Profilsteuerungssystem für Roboter
JPH03190652A (ja) * 1989-12-19 1991-08-20 Fanuc Ltd 非接触ならい制御装置
FR2667261B1 (fr) * 1990-10-02 1995-04-28 Peugeot Procede de reglage automatique de l'effort de coupe applique par un robot d'usinage a un outil, par exemple pour ebavurer une arete sur une piece.
FR2678192B1 (fr) * 1991-06-28 1995-07-07 Commissariat Energie Atomique Tete de soudage pour mesure de parametres de soudage et son application au soudage automatique.
US5341458A (en) * 1991-09-11 1994-08-23 Honda Giken Kogyo Kabushiki Kaisha Method of and system for generating teaching data for robots
US5761390A (en) * 1991-12-12 1998-06-02 Hitachi, Ltd. Robot for removing unnecessary portion on workpiece
GB9300403D0 (en) * 1993-01-11 1993-03-03 Huissoon Jan P Dynamic seam tracking with redundant axes control
JPH06210475A (ja) * 1993-01-14 1994-08-02 Fanuc Ltd レーザロボットのハイトセンサ装置
FR2701415B1 (fr) * 1993-02-12 1995-05-19 Technigaz Ste Nouvelle Machine automatique de soudage "in situ" suivant un profil à tronçon curviligne, et avec commande programmable d'extrapolation.
US5390128A (en) * 1993-04-12 1995-02-14 Cargill Detroit Corporation Robotic processing and inspection system
JP3665353B2 (ja) * 1993-09-14 2005-06-29 ファナック株式会社 ロボットの教示位置データの3次元位置補正量取得方法及びロボットシステム
JPH07266272A (ja) * 1994-03-29 1995-10-17 Nippon Telegr & Teleph Corp <Ntt> マニピュレータ用追従方法及び装置
JPH0816221A (ja) * 1994-06-28 1996-01-19 Fanuc Ltd レーザセンサを用いたロボット教示経路の変更方法
CN1039511C (zh) * 1994-08-31 1998-08-12 陈幼曾 机器人预选定位控制系统
US5675229A (en) * 1994-09-21 1997-10-07 Abb Robotics Inc. Apparatus and method for adjusting robot positioning
US6272396B1 (en) * 1998-02-20 2001-08-07 Tairob Industrial Technology Ltd. Method for applying knowledge from a skilled worker via a master expert machine to a slave expert machine for repetitive tasks
WO2000025185A1 (en) * 1998-10-27 2000-05-04 Irobotics, Inc. Robotic process planning using templates
US6588738B1 (en) 1999-07-23 2003-07-08 Lillbacka Jetair Oy Laser cutting system
US6326586B1 (en) 1999-07-23 2001-12-04 Lillbacka Jetair Oy Laser cutting system
US6376798B1 (en) 1999-07-23 2002-04-23 Lillbacka Jetair Oy Laser cutting system
US6300592B1 (en) 1999-07-23 2001-10-09 Lillbacka Jetair Oy Laser cutting system
US6284999B1 (en) * 1999-07-23 2001-09-04 Lillbacka Jetair Oy Laser cutting system
US6327520B1 (en) 1999-08-31 2001-12-04 Intelligent Machine Concepts, L.L.C. Planar normality sensor
US6259519B1 (en) 1999-08-31 2001-07-10 Intelligent Machine Concepts, L.L.C. Method of determining the planar inclination of a surface
US6430472B1 (en) 1999-12-20 2002-08-06 Servo-Robot Inc. Robot feature tracking devices and methods
SE0001312D0 (sv) * 2000-04-10 2000-04-10 Abb Ab Industrirobot
US7081599B2 (en) * 2000-10-24 2006-07-25 Elpatronic Ag Apparatus and method for processing workpieces
JP4210056B2 (ja) * 2001-12-25 2009-01-14 株式会社日立製作所 工具経路の作成装置及び方法
DE10210040C1 (de) * 2002-03-07 2003-10-30 Siemens Ag Betriebsverfahren und Transportwagen für eine Laserbearbeitungsanlage
AU2003229008A1 (en) * 2002-05-10 2003-11-11 Honda Giken Kogyo Kabushiki Kaisha Real-time target tracking of an unpredictable target amid unknown obstacles
WO2004024384A1 (en) * 2002-09-13 2004-03-25 Tamicare Ltd. Laser modification of complex objects
JP4578056B2 (ja) * 2003-02-06 2010-11-10 株式会社ダイヘン 作業ロボットを用いた制御システムによるワーク加工方法
EP1473123B1 (de) * 2003-04-30 2018-06-06 Günther Battenberg System zum Erfassen, Beeinflussen und Ausnutzen von Roboterbewegungen
DE10361018C9 (de) * 2003-12-23 2021-03-04 QUISS Qualitäts-Inspektionssysteme und Service GmbH Verfahren zum Erkennen einer auf einem Substrat aufzubringenden Struktur mit mehreren Kameras sowie eine Vorrichtung hierfür
JP2006122830A (ja) * 2004-10-29 2006-05-18 Trinity Ind Corp 塗装膜厚シミュレーション方法
EP1854037B1 (de) * 2005-02-25 2014-12-31 Abb Research Ltd. Verfahren und vorrichtung zum automatisierten lernen eines wegs
JP4137909B2 (ja) * 2005-04-13 2008-08-20 ファナック株式会社 ロボットプログラム補正装置
JP2007098464A (ja) * 2005-10-07 2007-04-19 Nissan Motor Co Ltd レーザー加工ロボット制御装置、レーザー加工ロボット制御方法およびレーザー加工ロボット制御プログラム
US8560047B2 (en) * 2006-06-16 2013-10-15 Board Of Regents Of The University Of Nebraska Method and apparatus for computer aided surgery
JP4836872B2 (ja) * 2007-05-31 2011-12-14 株式会社東芝 制御装置、制御方法、プログラム及びロボット
JP4291382B2 (ja) * 2007-07-31 2009-07-08 ファナック株式会社 接触検知による取り付け誤差の自動補正機能を有する工作機械
JP4347386B2 (ja) * 2008-01-23 2009-10-21 ファナック株式会社 加工用ロボットプラグラムの作成装置
ATE452005T1 (de) * 2008-02-13 2010-01-15 Abb As System und verfahren zur visualisierung von verfahrensfehlern
JP5461145B2 (ja) * 2009-10-30 2014-04-02 三菱重工業株式会社 マニピュレータの制御方法及び管台内作業方法
EP2363772B1 (de) * 2010-03-05 2017-05-31 FIDIA S.p.A. Verfahren zum Bewegen eines Werkzeugs einer CNC-Maschine über eine Oberfläche
CA2796369A1 (en) * 2010-04-13 2011-10-20 National Research Council Of Canada Laser processing control method
CN103764061B (zh) 2011-06-27 2017-03-08 内布拉斯加大学评议会 工具承载的追踪系统和计算机辅助外科方法
US11911117B2 (en) 2011-06-27 2024-02-27 Board Of Regents Of The University Of Nebraska On-board tool tracking system and methods of computer assisted surgery
US9498231B2 (en) 2011-06-27 2016-11-22 Board Of Regents Of The University Of Nebraska On-board tool tracking system and methods of computer assisted surgery
DE102011079083A1 (de) * 2011-07-13 2013-01-17 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren zum Bearbeiten eines Werkstücks und Bearbeitungsvorrichtung
US10105149B2 (en) 2013-03-15 2018-10-23 Board Of Regents Of The University Of Nebraska On-board tool tracking system and methods of computer assisted surgery
WO2015079740A1 (ja) * 2013-11-28 2015-06-04 三菱電機株式会社 ロボットシステムおよびロボットシステムの制御方法
DE102014226787B3 (de) * 2014-12-22 2016-03-17 Kuka Roboter Gmbh Sicherer Roboter mit Bahnfortschrittsvariablen
FR3043004B1 (fr) * 2015-10-29 2017-12-22 Airbus Group Sas Procede d'orientation d'un effecteur portant un outil d'assemblage par rapport a une surface
JP6173628B1 (ja) * 2017-01-30 2017-08-02 株式会社ミツトヨ 形状測定装置の制御方法
JP6517871B2 (ja) * 2017-04-25 2019-05-22 ファナック株式会社 溶接ロボットの教示システムおよび教示方法
JP6572262B2 (ja) * 2017-06-06 2019-09-04 ファナック株式会社 教示位置修正装置および教示位置修正方法
US11065707B2 (en) * 2017-11-29 2021-07-20 Lincoln Global, Inc. Systems and methods supporting predictive and preventative maintenance
US10551179B2 (en) 2018-04-30 2020-02-04 Path Robotics, Inc. Reflection refuting laser scanner
JP2020203349A (ja) * 2019-06-18 2020-12-24 株式会社ダイヘン ロボット制御装置、及びロボット制御システム
WO2022016152A1 (en) 2020-07-17 2022-01-20 Path Robotics, Inc. Real time feedback and dynamic adjustment for welding robots
CN114074043A (zh) * 2020-08-21 2022-02-22 泰科电子(上海)有限公司 喷漆系统
WO2022182896A2 (en) 2021-02-24 2022-09-01 Path Robotics Inc. Autonomous welding robots
CN116400639B (zh) * 2023-06-08 2023-08-11 佛山市星际云数字科技有限公司 一种plc采集数据智能清洗方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4380696A (en) * 1980-11-12 1983-04-19 Unimation, Inc. Method and apparatus for manipulator welding apparatus with vision correction for workpiece sensing
IT1174831B (it) * 1983-11-30 1987-07-01 Armco Spa Macchina elettrosaldatrice automatica
JPS62139006A (ja) * 1985-12-13 1987-06-22 Toyoda Mach Works Ltd ロボツト制御装置
US4675502A (en) * 1985-12-23 1987-06-23 General Electric Company Real time tracking control for taught path robots
JPH0731536B2 (ja) * 1986-06-30 1995-04-10 トヨタ自動車株式会社 教示デ−タ補正ロボツト
JPH07104692B2 (ja) * 1986-10-02 1995-11-13 トヨタ自動車株式会社 予見追跡制御型ロボツト

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10255037A1 (de) * 2002-11-26 2004-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks
US7292910B2 (en) 2002-11-26 2007-11-06 Kuka Roboter Gmbh Method and device for machining a workpiece
DE102008042612A1 (de) * 2008-10-06 2010-04-08 Kuka Roboter Gmbh Industrieroboter und Bahnplanungsverfahren zum Steuern der Bewegung eines Industrieroboters

Also Published As

Publication number Publication date
JPH01255009A (ja) 1989-10-11
EP0336342B1 (de) 1994-09-21
EP0336342A3 (en) 1990-10-24
EP0336342A2 (de) 1989-10-11
JP2708458B2 (ja) 1998-02-04
DE68918318D1 (de) 1994-10-27
US5006999A (en) 1991-04-09

Similar Documents

Publication Publication Date Title
DE68918318T2 (de) Echtzeitsteuersystem für einen industriellen Roboter zum Folgen eines Standardweges.
DE3787342T2 (de) Steuersystem für einen Industrieroboter mit einer Voraussichtsfunktion.
DE69736348T2 (de) Roboterkraftsteuersystem mit visuellem sensor für zusammenfügungsarbeiten
DE69637413T2 (de) Kompositdetektionssystem für roboter
DE102018112820B4 (de) Teach-Positionskorrekturvorrichtung und Teach-Positionskorrekturverfahren
DE102017117837B4 (de) Laserbearbeitungs-Robotersystem und Laserbearbeitungsverfahren
DE69105476T2 (de) Verfahren zum kalibrieren eines optischen sensors.
DE69125986T2 (de) Verfahren und gerät zur messung des winkels eines werkstücks
DE602006000541T2 (de) Servosteuervorrichtung und Verfahren zur Einstellung eines Servosystems
DE102018001026A1 (de) Robotersystem mit einer lernenden steuerungsfunktion und lernendes steuerungsverfahren
DE102020128718A1 (de) Steuervorrichtung, die die massnahme der korrektur der position oder der lage eines roboters bestimmt
DE102020100803B4 (de) Folgeroboter und Roboterarbeitssystem
DE102019131284B4 (de) Robotersystem und Koordinatenumwandlungsverfahren
DE102019212452A1 (de) Interferenzvermeidungsvorrichtung und Robotersystem
DE3624959C2 (de)
DE102020204622A1 (de) Verfahren und Bearbeitungsmaschine zur Werkstücklageerfassung mittels OCT
DE112016004105T5 (de) Numerische Steuervorrichtung
DE112008003863B4 (de) Verfahren zum Erzeugen eines Antriebsmusters für ein Galvano-Scannersystem
DE69120791T2 (de) Berührungsloses kopiersteuergerät
DE102018205443B4 (de) Steuerungssystem einer Werkzeugmaschine
DE69120802T2 (de) Vorrichtung zur regelung von digitalisierungsvorgängen
DE112021000986T5 (de) Robotersystem
DE112021001173T5 (de) Entgratungsvorrichtung und Steuerungssystem
DE69219958T2 (de) Vorrichtung zur steuerung von kopierung
DE102018100490A1 (de) Steuerung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee