DE3787342T2 - Steuersystem für einen Industrieroboter mit einer Voraussichtsfunktion. - Google Patents
Steuersystem für einen Industrieroboter mit einer Voraussichtsfunktion.Info
- Publication number
- DE3787342T2 DE3787342T2 DE87308743T DE3787342T DE3787342T2 DE 3787342 T2 DE3787342 T2 DE 3787342T2 DE 87308743 T DE87308743 T DE 87308743T DE 3787342 T DE3787342 T DE 3787342T DE 3787342 T2 DE3787342 T2 DE 3787342T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- sensor
- robot
- tool
- 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
Links
- 238000012545 processing Methods 0.000 claims description 38
- 239000013598 vector Substances 0.000 claims description 32
- 238000012937 correction Methods 0.000 claims description 31
- 230000005856 abnormality Effects 0.000 claims description 14
- 238000006073 displacement reaction Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 18
- 239000000872 buffer Substances 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000003466 welding Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000003754 machining Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording 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/425—Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36417—Programmed 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)
- Manipulator (AREA)
Description
- Die Erfindung bezieht sich auf einen Industrieroboter, der mit einem Werkstückformsensor eine Funktion zur Voraussicht auf einen noch zu bearbeitenden Arbeitspunkt hat.
- Es gibt mancherlei Arten von Industrierobotern. Manche von diesen haben einen Sensor zum Abtasten bestimmter Bezugspunkte oder Linien eines Werkstückes, z. B. einer auf einer Werkstückoberfläche vorgeschriebenen Profillinie. Ein Elektroschweißroboter dieser Art erfaßt die zu schweißenden Linien durch Überwachen des Stromes in der Schweißelektrode und durch Steuern des Schweißelektrodenhalters. Ein Roboter anderer Art speichert im voraus Schweißliniendaten dadurch, daß eine Bedienungsperson bei einem Lehrvorgang eine Werkzeugspitze entlang der Schweißlinie führt, und die Werkzeugspitze bewegt sich dann an dem Werkstück und bearbeitet dieses entsprechend den gespeicherten Daten.
- Der Schweißroboter der ersteren Art kann die Verbindungslinie mit niedriger Arbeitsgeschwindigkeit abtasten, ihr aber nicht mit hoher Geschwindigkeit folgen, da zum genauen Erkennen der zu schweißenden Stelle Rechenzeit erforderlich ist. Wenn die Stelle genau erkannt ist, ist die Schweißelektrode schon von der Stelle weg. Der Roboter der letzteren Art mit dem Lerndatenspeicher kann bei einem tatsächlichen Arbeitsstadium die gelernte Linie mit hoher Geschwindigkeit abtasten, macht aber einen zweifachen Abtastvorgang erforderlich, nämlich einen für das Lernen und den anderen für die tatsächliche Arbeit. Das Ergebnis ist ein geringer Gesamtarbeitswirkungsgrad.
- Als fortgeschrittene Technologie offenbart die ungeprüfte JP-OS 59-223817 einen Roboter zum Steuern eines Werkzeugs für das Abtasten einer Nahtlinie von Werkstücken mittels eines Schlitzlichtprojektors und einer zweidimensionalen Kamera. Da durch den Roboter das Abtasten und Bearbeiten gleichzeitig erfolgt, könnte die Arbeitszeit verkürzt werden. Er hat aber noch einige Mängel wie folgt:
- (1) Da die Datenverarbeitung für die Daten des erfaßten zweidimensionalen Bildes eine gewisse Zeit beansprucht, gewöhnlich mehr als einige Sekunden für ein Einzelbild, wird dieser Roboter direkt von dem gegenwärtigen Arbeitspunkt zu dem nächsten entfernten Arbeitspunkt geführt. Diesem Roboter sind nur ein Anfangspunkt und ein Endpunkt des Werkstückes im voraus angelernt, aber keine Informationen über die Punkte dazwischen. Zwischen diesen Punkten wird der Roboter ausschließlich gemäß den aus dem Sensor erhaltenen Informationen gesteuert. Daher ist keine hohe Nachführungsgetreue möglich, wenn sich zwischen diesen Punkten an der Werkstückoberfläche ein unerwarteter steiler unregelmäßiger Teil befindet.
- (2) Wenn der Sensor den Verlauf der Bearbeitung verfehlt, folgt der Roboter den falschen Daten des Sensors, was eine mögliche Kollision mit dem Werkstück ergibt.
- Die Erfindung ist zum Lösen der vorstehend genannten, dem Stand der Technik anhaftenden Probleme gestaltet.
- Ein Steuersystem gemäß dem Oberbegriff f des Patentanspruchs 1 ist in INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, Band 4, Nr. 1, 1985 Cambridge MA. US, Seiten 13 bis 26 von CLOCKSIN W.F. u. a. unter dem Titel "An Implementation of Model-based Visual Feedback for Robot Arc Welding of Thin Sheet Steel" beschrieben.
- Die Erfindung ergibt ein Steuersystem gemäß Patentanspruch 1.
- Ein erfindungsgemäßes System ist gemäß der schematischen Darstellung in Fig. 1 bei einem Industrieroboter R4 mit einer Hand R1 anwendbar, die mit einem Werkzeug R2 und einem Werkstückformsensor R3 versehen ist. Das Werkzeug R2 und der Werkstückformsensor R3 haben in bezug zueinander einen bekannten räumlichen Zusammenhang. Das System, das einem voreingespeicherten Normalweg folgt, enthält eine Zwischenspeichereinrichtung R5 für das Eingeben von durch den Werkstückformsensor R3 an dem gegenwärtigen Abtastpunkt erfaßten Formdaten für ein Werkstück W, für das Berechnen und Speichern eines nachfolgenden Lage- und/oder Stellungsdatenwert für das Werkzeug R2, der einem Zeitpunkt entspricht, an dem das Werkzeug R2 zu dem gegenwärtigen Abtastpunkt gelangt, und für das Ausgeben des nachfolgenden Lage- und/oder Stellungsdatenwertes nach einem Verzögerungszeitintervall, das einem Zeitintervall entspricht, während dem das Werkstück R2 zu dem gegenwärtigen Abtastpunkt gelangt, eine Vergleichseinrichtung R6 für das Berechnen einer Differenz zwischen dem nachfolgenden Lage- und/oder Stellungsdatenwert und einem aus dem vorgespeicherten Normalweg berechneten angelernten normalen Lage- und/oder Stellungs- oder Höhendatenwert für das Werkzeug R2 und eine Steuereinrichtung R7 für das Steuern der Lage und/oder Stellung der Hand R1 gemäß der berechneten Differenz.
- Der Roboter R4 kann eine einfache Ausführung mit zwei Freiheitsgraden sein. Ein Freiheitsgrad dient zum Steuern des Abstandes zwischen der Hand R1 und dem Werkstück W, der andere Freiheitsgrad dient für die zu dem Abstand senkrechte Bewegung. In diesem Fall ist die Stellung des Werkzeugs R2 festgelegt. Der Vorteil der Erfindung besteht darin, daß die Steuereinrichtung kompliziertere mehrachsige oder mehrgelenkige Roboter mit beispielsweise fünf oder sechs Schwenkachsen steuern kann. In diesem Fall kann zusätzlich zu der Lage auch die Stellung des Werkzeugs R2 gesteuert werden. Die Art der durch den Roboter ausgeführten Bearbeitung ist natürlich für die Erfindung ohne Bedeutung. Einige Beispiele für die Bearbeitung sind das Schweißen, das Lackieren, das Schneiden, das Zurichten, das Bohren, das Zusammenbauen, das Messen und das Prüfen auf Oberflächenfehler. Das Werkzeug R2 ist nicht auf herkömmliche Metallwerkzeuge oder moderne Laserwerkzeuge für die Bearbeitung beschränkt und das Werkzeug R2 kann erfindungsgemäß eine Meßvorrichtung oder irgendeine andere Prüfvorrichtung sein.
- Der Werkstückformsensor R3 kann ein einfacher Abstandssensor sein, der nur den Abstand zwischen dem Sensor und dem Werkstück erfaßt. Ein Sensor dieser Art kann bei dem Zweiachsen-Roboter verwendet werden. Bei höher entwickelten Robotern erfaßt der Sensor R3 außer dem Abstand eine Werkstückform, d. h., eine Richtung des Normalvektors der Werkstückoberfläche. Der Sensor R3 kann von irgendeiner Bauart sein wie ein berührungsloser Sensor, z. B. ein Laser- Abstandssensor, oder ein Berührungssensor, z. B. ein Drahtsondensensor.
- Die Zwischenspeichereinrichtung R5 speichert vorübergehend die aus dem Sensor R3 zugeführten Informationen und gibt sie aufeinanderfolgend oder selektiv an die Vergleichseinrichtung R6 ab. Im einzelnen kann die Zwischenspeichereinrichtung R5 aus Speicherbausteinen und integrierten Schaltungen für das Ausführen vorbestimmter logischer Funktionen gebildet sein. Die Zwischenspeichereinrichtung R5 hat eine weitere Funktion dahingehend, die Erfassungszeitbestimmung des Sensors R3 und die Steuerzeitbestimmung des Roboters R4 miteinander in Einklang zu bringen.
- Der normale Weg oder Lauf der Hand R1 ist in einem Fall ein Kurs, der durch Interpolieren von in einem Speicher des Robotersteuersystems gespeicherten diskreten Lernpunkten zusammengestellt ist. In einem anderen Fall kann er ein Weg oder Verlauf sein, der durch ein voreingestelltes Programm bestimmt ist.
- Gemäß einer Form der Erfindung kann die Zwischenspeichereinrichtung R5 des Steuersystems
- eine Einrichtung zum Berechnen der nachfolgenden Lageund/oder Stellungsdaten aus gegenwärtigen relativen Lageund/oder Stellungsdaten für das Werkstück W in bezug auf den Werkstückformsensor R3, die von dem Werkstückformsensor R3 erfaßt werden, und gegenwärtigen Lage- und/oder Stellungs- oder Haltungsdaten für die Hand R1,
- eine Einrichtung zum Speichern der nachfolgenden Lageund/oder Stellungsdaten,
- eine Einrichtung zum Bestimmen, ob am Ende des Verzögerungszeitintervalls ein gegenwärtiger Lage- und/oder Stellungsdatenwert im wesentlichen der gleiche ist wie der gespeicherte nachfolgende Lage- und/oder Stellungsdatenwert, und
- eine Einrichtung zum Korrigieren des Normalweges unter Ansetzen des gegenwärtigen Lage- und/oder Stellungsdatenwertes aufweisen, der in der Bestimmungseinrichtung als im wesentlichen der gleiche bestimmt wird.
- Die Steuereinrichtung R7 kann eine Abnormalitätsverarbeitungseinrichtung enthalten, die eine vorbestimmte Abnormalitätsverarbeitung ausführt, wenn die in der Vergleichseinrichtung R6 berechnete Differenz größer als ein vorbestimmter Schwellenwert ist. Die vorbestimmte Abnormalitätsverarbeitung kann das Unterbrechen der Bewegung des Roboters R4 und das Ausgeben eines Abnormalitätssignals aus dem Roboter R4 umfassen. Die vorbestimmte Abnormalitätsverarbeitung kann andernfalls das Anhalten, das Anwenden der berechneten Differenz, die auf den erfaßten Formdaten basiert, und das Steuern der Lage und/oder Stellung der Hand R1 allein gemäß den aus dem Normalweg berechneten Normal-Lage- und/oder Stellungsdaten für das Werkzeug R2 umfassen.
- Die vorstehend beschriebenen verschiedenen Funktionseinrichtungen können durch eine logische Schaltung mit diskreten elektronischen Elementen oder durch einen Mikrocomputer mit einigen integrierten Schaltungen mit vorbestimmten Arbeitsprogrammen gebildet sein.
- Die Erfindung ergibt ein Steuersystem für einen Industrieroboter mit einer Funktion zur Voraussicht auf das Werkstück und einer Funktion zum Speichern von Lerndaten, was in Zusammenwirkung einen Roboter mit Ansprechvermögen auf eine höhere Bearbeitungsgeschwindigkeit selbst bei einem Werkstück mit komplizierter Form ergibt.
- Ein weiterer Vorteil der Erfindung besteht darin, daß sie ein wirkungsvolles Steuersystem ergibt, welches bei verschiedenartigen Industrierobotern von solchen mit einfacher Steuerungsfähigkeit bis zu solchen mit komplizierter Steuerungsfähigkeit anwendbar ist.
- Die Erfindung ist am besten aus der folgenden Beschreibung eines bevorzugten Ausführungsbeispiels und aus den Zeichnungen ersichtlich, in denen
- Fig. 1 eine schematische Blockdarstellung ist, die die grundlegende Gestaltung der Erfindung veranschaulicht,
- Fig. 2 eine perspektivische Ansicht eines Robotersystems mit einem Laserwerkzeug bei einem bevorzugten Ausführungsbeispiel der Erfindung ist,
- Fig. 3A eine Draufsicht auf den Stellantriebsteil des Roboters nach Fig. 2 ist,
- Fig. 3B eine Seitenansicht des Stellantriebsteils des Roboters nach Fig. 2 ist,
- Fig. 3C eine Vorderansicht des Stellantriebsteils des Roboters nach Fig. 2 ist,
- Fig. 4 eine vergrößerte unvollständige perspektivische Ansicht eines Teils des Roboters nach Fig. 2 ist, die den Handteil mit dem Laserwerkzeug und einem Formsensor des Roboters in Arbeitsstellung zeigt,
- Fig. 5 eine erläuternde Darstellung eines Werkstückes, eines Sensorkopfes und einer Sensorsteuereinheit des Roboters während einer Erfassung ist,
- Fig. 6 eine schematische Blockdarstellung der Stellantriebe und der Steuereinheit des Roboters nach Fig. 2 ist,
- Fig. 7 eine Funktionsblockdarstellung einer ersten Zentraleinheit und einer zweiten Zentraleinheit ist, die in dem Roboter nach Fig. 2 eingesetzt sind,
- Fig. 8 eine schematische Darstellung des Roboterwerkzeugs und des Werkstücks ist, die eine Situation zeigt, bei der die tatsächliche Form des Werkstücks von einer zuvor angelernten Form verschieden ist,
- Fig. 9 eine schematische Darstellung des Roboterwerkzeugs und des Werkstücks ist, die Zusammenhänge von verschiedenen Vektoren während der Bewegung veranschaulicht,
- Fig. 10 ein Ablaufdiagramm für ein Programm ist, das in der ersten Zentraleinheit 300 nach Fig. 6 und 7 ausgeführt wird, und
- Fig. 11A und Fig. 11B Ablaufdiagramme von Programmen sind, die in der zweiten Zentraleinheit 301 parallel ausgeführt werden.
- Dieses Ausführungsbeispiel ist ein Sechsachsen-Roboter, der mit einem Werkzeug zum Bearbeiten eines Werkstückes mittels eines Laserstrahls und mit einem Sensor zum Erfassen der Form eines Werkstückes an einer noch zu bearbeitenden Stelle ausgestattet ist. Gemäß der perspektivischen Darstellung eines Robotersystems in Fig. 2 enthält ein Roboter 10 eine Roboter-Steuereinheit 12 für das allgemeine Steuern des Roboters 10, einen Anlernkasten 14, mit dem eine Bedienungsperson den Roboter 10 im voraus anweisen kann, wie bei der Arbeit vorzugehen ist, einen Stellantrieb 16, der sechs Drehachsen hat und der durch die Roboter-Steuereinheit 12 gesteuert ist, eine Hand 18 mit einem Laserwerkzeug 20 und einem Sensorkopf 22 für das Erfassen der Form eines Werkstückes W und eine Sensor-Steuereinheit 24 für das Verarbeiten von Informationen aus dem Sensorkopf 22. Die Roboter-Steuereinheit 12 ist mit einem Endgerät T und einem Drucker P versehen. Einzelheiten des Stellantriebs 16 und der Hand 18 werden nachstehend beschrieben.
- Das Werkzeug 20 setzt einen Laserlichtstrahl hoher Leistung ein, der von einem (nicht gezeigten) externen Gerät erzeugt wird. Der Laserstrahl wird über einen Lichtleiter 26 zu der Spitze des Werkzeugs 20 geleitet und als Lichtpunkt auf der Oberfläche des Werkstücks W abgebildet. Andere Komponenten des Laserwerkzeugs 20 wie Spiegel und Prismen sind in der Zeichnung nicht dargestellt, da sie für die Erfindung unwichtig sind.
- Der Sensorkopf 22 erfaßt mittels einer Kombination aus drei Abstandssensoren (siehe Fig. 4) die Relativlage des Werkstücks W in bezug auf den Sensorkopf 22 und auch die Stellung des Werkstücks W. Die Ausgangssignale des Sensorkopfes 22 werden über ein Sensorkabel 28 zu der Sensorsteuereinheit 24 übertragen und in der Steuereinheit 24 verarbeitet, was nachfolgend ausführlich beschrieben wird.
- Der Stellantrieb 16 des Roboters 10 wird nun in Verbindung mit der Beschreibung der Fig. 3A, 3B und 3C ausführlich erläutert. Dieser Stellantrieb 16 hat sechs Drechachsen: die erste, die zweite und die dritte Achse steuern eine Lage der Hand 18 in bezug auf das Werkstück W und die vierte, die fünfte und die sechste Achse steuern eine Stellung der band 18 in bezug auf das Werkstück W. Jede Achse hat einen Motor, eine Bremse und einen Drehwinkelsensor (in Codiererausführung): 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. Die Drehungen um die zweite und die dritte Achse werden durch folgende Mechanismen ausgeführt: Die Drehungen der Motore 40 und 50 werden jeweils mittels einer Kugelumlauf- Fördervorrichtung 90 bzw. 92 in lineare Bewegungen umgesetzt und die linearen Bewegungen werden durch Parallelgelenke in Drehungen um die Achsen umgesetzt. Die Drehungen um die anderen Achsen werden durch die jeweiligen Motore über Drehwellen, Untersetzungsgetriebe und andere Übertragungselemente hervorgerufen.
- Die Hand 18 des Stellantriebs 16 wird unter Bezugnahme auf die Fig. 4 beschrieben. An der Hand 18 sind in einem vorbestimmten Zwischenabstand das Laserwerkzeug 20 und der Sensorkopf 22 angebracht. Die relative Lagebeziehung zwischen dem Werkzeug 20 und dem Sensorkopf 22 bleibt unabhängig von der Bewegung der Hand 18 unverändert.- Gemäß der vorangehenden Beschreibung enthält der Sensorkopf 22 drei Abstandssensoren 102, 104 und 106. Der Roboter 10 bewegt über das Werkstück W in der Weise, daß der Sensorkopf 22 dem Werkzeug 20 vorangeht. D.h., der Sensorkopf 22 erfaßt einen Punkt P1 einer Arbeitsfläche, an dem das Werkzeug 20 nach einem Punkt P0 bearbeiten wird, für welchen das Werkzeug 20 in Arbeitsstellung ist.
- Der Sensorkopf 22 erfaßt den Punkt P1 folgendermaßen: Die drei Abstandssensoren 102, 104 und 106 messen den Abstand und die Richtung von Punkten P11, P12 und P13 von dem jeweiligen Sensor 102, 104 und 106 weg. Die Punkte P11, P12 und P13 sind in Wirklichkeit sehr nahe an dem Punkt P1, aber in Fig. 4 zur Erläuterung weiter entfernt dargestellt.
- Die Fig. 5 zeigt eine Blockdarstellung des Sensorkopfes 22 und der Sensorsteuereinheit 24. Der jeweilige Abstandssensor 102, 104 und 106 mißt den Abstand zu einem Oberflächenpunkt LC des Werkstücks W nach folgendem Verfahren: Zur Kurzfassung wird dieses Verfahren nur für den Sensor 102 beschrieben. Der Abstandssensor 102 enthält eine Laserdiode 200 zur Abgabe von Laserlicht mit einer Wellenlänge von ungefähr 750 nm, einen Impulsmodulator 202 zur Impulsmodulation des Laserlichtes mit einem vorbestimmten Tastverhältnis, eine Kollimatorlinse 204 zum Kollimieren des Laserlichtes, eine eindimensionale Lagemeßvorrichtung (PSD) 206 mit 2 L Länge, ein Objektiv 208 zum Fokussieren des von der Werkstückoberfläche reflektierten Laserlichtes auf der Lagemeßvorrichtung 206 und zwei Vorverstärker 210 und 212 zum Umsetzen von fotoelektrisch induzierten Strömen 11 und 12 aus der Lagemeßvorrichtung 206 in entsprechende Spannungen. Die Lagemeßvorrichtung 206 kann aus Siliciumfotodioden gebildet sein, die dadurch gebildet sind, daß auf einem Siliciumsubstrat (einer i-Schicht) hohen Widerstands eine p-Widerstandsschicht aufgebracht ist, an den beiden Enden der Schichtung zwei Elektroden für die Ausgabe von Signalen angebracht sind und an der Flächenmitte des Siliciumsubstrats (der i-Schicht) mit dem hohen Widerstand eine gemeinsame Elektrode angebracht ist. Wenn auf einer bestimmten Stelle der p-Schichtoberfläche Licht fokussiert wird, wird dort ein elektrischer Strom Io erzeugt. Der Strom Io wird in die beiden Ströme I1 und I2 aufgeteilt, die aus den Elektroden an den beiden Enden der Lagemeßvorrichtung 206 ausgegeben werden. Wenn die Fokussierstelle von der Mitte der Lagemeßvorrichtung 206 weg um eine Strecke Δx versetzt ist, ergeben sich die jeweils von der Lagemeßvorrichtung 206 an die Vorverstärker 210 und 212 abgegebenen Ströme I1 und I2 zu:
- I1 = Io (L+ Δx)/(2L) und I2 = Io (L- Δx)/(2L) . . . (1)
- D.h., der Strom Io wird in die Ströme I1 und I2 in umgekehrter Proportion zum Abstand der Fokussierstelle zu den entsprechenden Endelektroden geteilt.
- Das optische System mit der Laserdiode 200, der Kollimatorlinse 204, dem Objektiv 208 und der Lagemeßvorrichtung 206 ist derart gestaltet, daß
- (1) das reflektierte Laserlicht durch die Mitte der Lagemeßvorrichtung 206 verläuft, wenn die Achse des einfallenden Laserlichtes und die Achse des reflektierten Lichtes einen Winkel R bilden, und
- (2) in diesem Fall ein durch die Reflexionsachse und die Lagemeßvorrichtung 206 gebildeter Winkel R auf einen derartigen Wert eingestellt wird, daß das von dem bestrahlten Punkt LC auf der Werkstückoberfläche reflektierte Laserlicht unabhängig von der Lage des Punktes LC auf der Oberfläche der Lagemeßvorrichtung fokussiert wird.
- Daher besteht zwischen einer Versetzung x des Werkstücks W, nämlich einer Änderung des Abstandes zwischen dem Abstandssensor 102 und dem Werkstück W und der Versetzung Δx des Fokussierpunktes von der Mitte der Lagemeßvorrichtung 206 die folgende Beziehung:
- Δx = (1/cosR)(Bo-(Ao·f+f·x·cosδ)/(Ao-f+x·cosδ)) . . . (2)
- wobei f die Brennweite des Objektivs 208 ist, Ao ein Abstand zwischen dem bestrahlten Punkt LC und dem Objektiv 208 in dem Fall ist, daß die Einfallachse und die Reflexionsachse einen Winkel δ bilden, und Bo ein Abstand zwischen dem Objektiv 208 und dem Mittelpunkt der Lagemeßvorrichtung 206 ist.
- Aus den Gleichungen (1) und einer allgemeinen Gleichung (1/f = 1/Ao + 1/Bo), die den Zusammenhang zwischen Brennweiten darstellt, leitet sich die folgende Gleichung her:
- Δx/L = (I1 - I2)/(I1 + I2) = K·x/(1 + α·x) . . . (3)
- wobei K = ((cosδ)·(Bo - f))/(L·(cosR)·(Ao - f)) ist und
- α = (cosδ)/(Ao - f) ist.
- Die Gleichung (3) zeigt, daß die Versetzung x des Werkstücks W in bezug auf den Abstandssensor 102 durch Messen der Ausgangsströme I1 und I2 aus den einander gegenüberliegenden Enden der Lagemeßvorrichtung 206 bekannt ist. Bei diesem Ausführungsbeispiel werden die Berechnungen für die Gleichung (3) in Rechenabschnitten 214, 216 und 218 der Sensorsteuereinheit 24 ausgeführt. Da die drei Rechenabschnitte 214, 216 und 218 die gleiche Gestaltung haben, wird nur der Abschnitt 214 beschrieben.
- Eine Lagebestimmungseinrichtung 224 des Rechenabschnitts 214 nimmt über jeweilige Eingangspuffer 220 und 222 die Ausgangsströme I1 und I2 der Lagemeßvorrichtung 206 auf und berechnet (I1 - I2)/(I1 + I2). Die Lagebestimmungseinrichtung 224 gibt ein das Rechenergebnis darstellendes und zu Δx/L proportionales Signal an einen Linearisierer 226 ab, in welchem das Signal derart korrigiert wird, daß es zu der Versetzung x des Werkstücks W proportional ist. Das Ausgangssignal des Linearisierers 226 wird durch einen A/D-Umsetzer 228 in ein digitales Signal zur Eingabe in einen Sensoreingang 230 der Robotersteuereinheit 12 umgesetzt.
- Die Robotersteuereinheit 12 wird nun unter Bezugnahme auf die Fig. 6 erläutert. Die Robotersteuereinheit 12, die als Prozeßsteuereinheit für den Sechsachsen-Stellantrieb 16 und als Anlernsteuereinheit für den Roboter 10 wirkt, ist ein Mikrocomputer mit einer ersten Zentraleinheit (CPU) 300, einer zweiten Zentraleinheit 301, einem Festspeicher (ROM) 302, einem Schreib/Lesespeicher (RAM) 304, einem Datensicherungs-Schreib/Lesespeicher 306 und andere elektronische Elemente gebildet, die miteinander über eine Busleitung 308 verbunden sind und die alle bekannte und leicht erhältliche Vorrichtungen sind. Zu den anderen Elementen zählen ein Magnetblasenspeicher 310 als externe Speichervorrichtung, eine Speicherschnittstelle 312 für den Magnetblasenspeicher 310, eine Endgerät-Eingabe/Ausgabe- Einheit 314 für ein Endgerät T, das mit einer Kathodenstrahlröhren-Anzeige und einer Tastatur ausgestattet ist, ein Druckerausgabeanschluß 316 für einen Drucker P, ein Anlernkasten-Eingabeanschluß 318 für den Anlernkasten 14, die Sensoreingabeeinheit 230 für den Sensorkopf 22, die hierbei bei jedem vorbestimmten Zeitintervall in der zweiten Zentraleinheit 301 eine Unterbrechung für das Übertragen des Signals aus der Sensorsteuereinheit 24 erzeugt, und sechs Servoschaltungen 320, 322, 324, 326, 328 und 330 für jeweils die erste bis sechste Achse.
- Jede der Servoschaltungen 320 bis 330 ist eine sogenannte intelligente bzw. lernende Schaltung, die mit einer Zentraleinheit versehen ist. Wenn aus der ersten Zentraleinheit 300 über die Busleitung 308 ein Soll- Lagedatenwert und ein Soll-Stellungsdatenwert für das Werkzeug 20 eingegeben wird, betreiben die Schaltungen 320, 322, 324, 326, 328 und 330 über Motortreiberstufen 332, 334, 336, 338, 340 und 342 die jeweiligen Motore 30, 40, 50, 60, 70 und 80 derart, daß die Spitze des Werkzeugs 20 an die Soll-Lage angesetzt wird und das Werkzeug 20 oder die Hand 18 in eine Sollstellung gebracht wird. Bei dem Antriebsprozeß führen die Winkelsensoren 34, 44, 54, 64, 74 und 84 den jeweiligen Drehwinkel an den betreffenden Achsen zu den Servoschaltungen 320 bis 330 zurück. Die Schaltungen 320 bis 330 steuern ferner nach Erfordernis die Bremsen 32, 42, 52, 62, 72 und 82, um zu verhindern, daß der Arm des Stellantriebs 16 herabfällt, wenn die Stromversorgung für die Servoschaltungen 320 bis 330 oder für die Motore 30, 40, 50, 60, 70 und 80 abgeschaltet wird.
- Die Funktionen der Robotersteuereinheit 12 werden hierbei unter Bezugnahme auf die perspektivische Ansicht des Systems in Fig. 2 und die Funktionsblockdarstellung in Fig. 7 erläutert. Die Steuerung durch die Robotersteuereinheit 12 ist allgemein in zwei Teile zu unterteilen. Einer ist ein durch die erste Zentraleinheit 300 gesteuerter Teil zum Erzeugen eines Befehlssignals, das aus einem zuvor angelernten Datenwert berechnet und durch die Korrekturgröße ΔPT(KH1) korrigiert ist, und zum Ausgeben desselben an den Stellantrieb 16; der andere ist ein durch die zweite Zentraleinheit 301 gesteuerter Teil zum Berechnen der Korrekturgröße ΔPT(KH1) aufgrund der durch den Sensorkopf 22 erfaßten Formdaten.
- Zuerst wird der Befehlserzeugungsteil erläutert. Vor Beginn einer bestimmten Arbeit mit dem Roboter 10 unterweist eine Bedienungsperson über den Anlernkasten 14 den Roboter 10, welchen Arbeitspunkten 21 (siehe Fig. 2) an dem Werkstück W das Werkzeug 20 nachgehen soll und welche Stellung das Werkzeug 20 vor dem jeweiligen Arbeitspunkt 21 einnehmen soll. Die Eingabedaten 400 (Fig. 7) für die Lerninformationen werden in dem Datensicherungs-Schreib/ Lesespeicher 306 (Fig. 6) gespeichert.
- Ein Beispiel für einen einfachen Lernvorgang ist folgendes: An der Spitze des Laserwerkzeugs 20 wird ein Versetzungsstab mit einer bestimmten Länge angebracht. Die Länge des Versetzungsstabes wird als ein für die bestimmte Arbeit angepaßter geeigneter Abstand zwischen der Spitze des Werkzeugs 20 und der Werkstückoberfläche bestimmt. Die Bedienungsperson bewegt die Hand 18 unter Nachführung eines gewünschten Weges an der Werkstückoberfläche mit der Spitze des Versetzungsstabes oder manchmal von der Oberfläche abgesetzt, wodurch die Lage und die Stellung des Werkzeugs 20 an jedem Arbeitspunkt 21 (Fig. 2) bestimmt wird.
- Die Lage eines jeden Arbeitspunktes 21 in bezug auf einen vorbestimmten Bezugspunkt des Roboters 10 und die Stellung des Werkzeugs 20 an dem Arbeitspunkt 21 werden in Form einer 4·4-Matrix gespeichert. Die Lerndaten an einem m-ten Lernpunkt (Arbeitspunkt) werden beispielsweise dargestellt durch
- wobei Nx, Ny, Nz die xyz-Komponenten eines Normalvektors sind,
- Ox, Oy, Oz die xyz-Komponenten eines Richtungsvektors sind,
- Ax, Ay, Az die xyz-Komponenten eines Annäherungsvektors sind und
- X, Y, Z die xyz-Komponenten eines Lagevektors für den mten Lernpunkt sind.
- Jede Komponente der Vektoren wird durch ein Koordinatensystem O-XYZ mit dem Ursprung O an dem vorbestimmten Bezugspunkt des Roboters 10 dargestellt. Der Normalvektor stellt die Richtung der Normalen auf der Werkstückoberfläche dar, der Richtungsvektor stellt eine Bewegungsrichtung des Werkzeugs 20 dar und ist zu dem Normalvektor senkrecht und der Annäherungsvektor ist zu den beiden Vektoren senkrecht.
- Nach dem Lernvorgang beginnt der Roboter 10 die bestimmte Arbeit. Die grundlegenden Funktionen des Roboters 10 sind denjenigen eines bekannten Playback-Roboters gleichartig und werden unter Bezugnahme auf Fig. 7 erläutert. Wenn der Lernvorgang für eine Reihe von Lernpunkten PTtch(KHO) ausgeführt wird und die Daten 400 in den Speicher eingespeichert werden, sind die Punkte PTtch(KH0) für eine tatsächliche Bearbeitung zu wenige. Daher werden nach einem bekannten Interpolationsverfahren (402) aus einigen nächstliegenden Lernpunktdaten PTtch(KH0) (400) Lage- und Stellungsdaten PTpath(KH1) (Solldaten) für das Werkzeug 20 berechnet. Dann werden zur Ausgabe modifizierter Daten PTmod(KH1) an den Solldaten PTpath(KH1) eine Korrekturgröße ΔPT(KH1) und eine Soll-Versetzungsgröße Ofs(KH1) 412 angesetzt:
- PTpmod(KH1) = PTpath(KH1)·ΔPT(KH1) . . . (5)
- Hierbei ist PTpmod(KH1) eine primäre Sollstellung der Werkzeugspitze.
- PTmod(KH1) = PTpmod(KH1)·(Ofs(KH1)) . . . (6)
- Die Sollversetzung Ofs(KH1) ist eine durch ein Koordinatensystem mit dem Ursprung an der Spitze des Werkzeugs 20 dargestellte Lage des Arbeitspunktes 21 und stellt eine relative Lage des Arbeitspunktes 21 in bezug auf die Werkzeugspitze dar. Die Korrekturgröße ΔPT(KH1) wird in der zweiten Zentraleinheit 301 berechnet, die nachfolgend beschrieben wird. In diesem Fall haben PTpath(KH1), ΔPT(KH1), PTpmod(KH1), Ofs(KH1) und PTmod(KH1) einen in Fig. 8 dargestellten Zusammenhang. Die modifizierten Daten PTmod(KH1) werden in einen Block 404 zur inversen kinematischen Transformation eingegeben (Fig. 7), der PTmod(KH1) decodiert und Drehwinkeldaten Φhost(KH1) für die sechs Achsen erzeugt. Diese Funktionen werden in der ersten Zentraleinheit 300 ausgeführt.
- Jeder der sechs Winkeldatenwerte Φhost(KH1) wird an eine jeweilige Servoschaltung 320 bis 330 ausgegeben, die über Treiberstufen 332 bis 342 die Motore 30, 40, 50, 60, 70 und 80 steuern, um den Arbeitspunkt 21 des Werkzeugs 20 zu dem durch PTmod(KH1) dargestellten-modifizierten Zielpunkt zu bewegen.
- Wenn von der ersten Zentraleinheit 300 die in der zweiten Zentraleinheit 301 berechnete Korrekturgröße ΔPT(KH1) aufgenommen wird, wird sie zuerst in dem Abnormalitätsdetektorblock 405 mit einem vorbestimmten Schwellenwert β verglichen. Wenn die durch l&sub2;norm ΔPT(KH1) im euklidischen Raum dargestellte Korrekturgröße ΔPT(KH1) größer als β ist, ist es möglich, daß der Roboter 10 vom Weg abkommen kann. In diesem Fall werden vorbestimmte Abnormalitätsverarbeitungen, z. B. ein Nothalt des Roboters 10 begonnen. Falls die Korrekturgröße ΔPT(KH1) kleiner als β ist, wird die Korrekturgröße ΔPT(KH1) auf die vorstehend beschriebene Weise normal eingesetzt, um in der ersten Zentraleinheit 300 den modifizierten Solldatenwert PTmod(KH1) hervorzurufen.
- Der Rechenprozeß für die Korrekturgröße ΔPT(KH1) in der zweiten Zentraleinheit 301 wird unter Bezugnahme auf Fig. 7 und Fig. 9 erläutert. Die erste Zentraleinheit 300 und die zweite Zentraleinheit 301 arbeiten parallel und der Zeitpunkt der Ausgabe des modifizierten Solldatenwertes PTmod(KH1) aus der ersten Zentraleinheit 300 ist mit dem Zeitpunkt der Ausgabe der Korrekturgröße ΔPT(KH1) aus der zweiten Zentraleinheit 301 synchron. Der Zeitabstand für das in der zweiten Zentraleinheit 301 ausgeführte Erfassen und Speichern der Form des Werkstücks W ist jedoch kürzer oder gleich dem Zeitabstand der vorstehend genannten Ausgabezeiten von PTmod(KH1) und ΔPT(KH1). Daher ist ein einer Folge von Punkten KH2 entsprechender Zeitraum für das Erfassen, das erläutert wird, kürzer als oder gleich dem Zeitraum für die vorangehend erläuterte Folge von Punkten KH1.
- Wenn eine Routine der zweiten Zentraleinheit 301 eingeleitet wird, werden von der Zentraleinheit 301 zuerst aus den Winkelsensoren 34, 44, 54, 64, 74 und 84 die Drehwinkeldaten Renc(KH2) für die sechs Achsen aufgenommen und dann die Daten mittels eines Blocks 406 zur kinematischen Transformation in Ist-Lage- und Stellungsdaten PTenc(KH2) für das Werkzeug 20 umgesetzt. Die Umsetzung erfolgt entsprechend der folgenden Berechnung:
- PTenc(KH2) = [Renc(KH2)] . . . (7)
- wobei eine Codiermatrix ist und [Renc(KH2)] ein aus den eingegebenen sechs Winkeln zusammengesetzter Winkelvektor ist. In einem Koordinatentransformationsblock 408 werden die Ist-Daten PTenc(KH2) nach folgender Gleichung in Ist- Lagedaten PS(KH2) für den Sensor 22 transformiert:
- PS(KH2) = PTenc(KH2)·π-s . . . (8)
- wobei πt-s eine Lage- und Stellungsmatrix ist, die die Lage des Sensors 22 in bezug auf den Arbeitspunkt 21 darstellt.
- Ein aus der Sensorsteuereinheit 24 eingegebener erfaßter Datenwert Ssen(KH2), der die Relativlage des Sensors 22 und des Werkstücks W und die Form des Werkstücks W an dem Abtastpunkt darstellt, wird unter Ansetzen des Datenwertes PS(KH2) in einen Werkstückformdatenwert PSwall(KH2) (410_1) umgesetzt, der die Lage und die Stellung des Werkstücks W in bezug auf den Bezugspunkt O des Roboters 10 darstellt.
- PSwall(KH2) = PS(KH2)·Ssen(KH2) . . . (9)
- Der erfaßte Datenwert Ssen(KH2) kann ein Mittelwert einer Vielzahl von mit sehr kurzen Abtastintervallen erfaßten Daten sein.
- Der Datenwert PSwall(KH2) wird vorübergehend in einem Speicher 410_2 gespeichert, wobei als Speicher 410_2 tatsächlich der Schreib/Lesespeicher 304 wirkt.
- Nach einem vorbestimmten Zeitabschnitt berechnet ein Vergleichsblock 410_3 unter Anwendung der in dem Zwischenspeicher 410_2 gespeicherten Daten PSwall(KH2) einen auf bestimmte Weise gewählten Werkstückformdatenwert PS1wall(KH1) für einen nächsten Arbeitspunkt durch die folgenden Prozesse,.
- Zuerst wird eine Lage des Arbeitspunktes PTtool(KH2) aus dem Ist-Lagedatenwert PTenc(KH2) und der Sollversetzung Ofs(KH1) nach folgender Gleichung berechnet:
- PTtool(KH2) = PTenc(KH2)·(Ofs(KH1))&supmin;¹ . . . (10)
- Hierbei wird die Sollversetzung Ofs(KH1) entsprechend Informationen außerhalb des Roboters 10, z. B. Bearbeitungsbedingungen, oder entsprechend im Steuerprogramm des Roboters 10 erzeugten Befehlen geändert.
- Durch die xyz-Komponenten (Xwall, Ywall, Zwall) der Werkstückformdaten PSwall(KH2) und die xyz-Komponenten (Xtool, Ytool, Ztool) der Lagedaten PTtool(KH2) des Arbeitspunktes bei KH2 wird ein sich von PTtool(KH2) bis PSwall(KH2) erstreckender Vektor L(KH2) bestimmt zu
- L(KH2) = (Xwall,Ywall,Zwall)-(Xtool,Ytool,Ztool) . . . (11)
- Ein weiterer Vektor I(KH2 KH1), der von PTtool(KH2) bis PTmod(KH1-1) verläuft, wird aus den xyz-Komponenten (Xmod, Ymod, Zmod) der gegenwärtigen modifizierten Lagedaten PTmod(KH1-1) und aus den xyz-Komponenten (Xtool, Ytool, Ztool) der Lagedaten PTtool(KH2) des Arbeitspunktes bei KH2 bestimmt:
- I(KH2 KH1) = (Xmod,Ymod,Zmod)-(Xtool,Ytool,Ztool) . . . (12)
- Aus diesen beiden Vektoren L(KH2) und I(KH2 KH1) wird eine Länge IL(KH2 KH1) eines Vektors IL(KH2 KH1), der eine Projektion von I(KH2 KH1) auf L(KH2) ist, berechnet zu
- IL(KH2 KH1) = I(KH2 KH1)·cosR(KH2 KH1) . . . (13)
- wobei gilt:
- cosR(KH2 KH1) = (L(KH2)·I(KH2 KH1))/ ( (KH2) · I(KH2 KH1) )
- Dann wird eine Änderung ΔIL von IL um ein Abtastintervall berechnet zu
- ΔIL(KH2 KH1) = IL(KH2 KH1) - IL(KH2 KH1-1) . . . (14)
- PS1wall(KH1) wird als PSwall(KH2) bestimmt, bei dem L(KH2) - ( IL(KH2 KH1) + ΔIL(KH2 KH1) ) am nächsten an "0" liegt. Wenn ein KH2-Wert vorliegt, bei dem L(KH2) - ( IL(KH2 KH1) + ΔIL(KH2 KH1) ) am kleinsten ist, kann PS1wall(KH1) alternativ durch Interpolieren aus drei Werkstückformdatenwerten PSwall(KH2-1), PSwall(KH2) und PSwall(KH2+1) bestimmt werden. Beispielsweise können nur die Lagevektoren durch die folgende Interpolation berechnet werden:
- α1 = ( PSwall(KH2-1) - PTpath(KH1) )&supmin;¹,
- α1 = ( PSwall(KH2) - PTpath(KH1) )&supmin;¹ und
- α1 = ( PSwall(KH2+1) - PTpath(KH1) )&supmin;¹,
- wobei PSwall ein Lagevektor von PSwall ist und PTpath ein Lagevektor von PTpath ist. Mit
- = α1/(α1 + α2 + α3),
- = α1/(α1 + α2 + α3) und
- = α1/(α1 + α2 + α3)
- wird der Lagevektor PSwall berechnet zu
- PS1wall(KH1) = ·PS1wall(KH2-1) + ·PS1wall(KH2) + ·PS1wall(KH2+1)
- Der Grund, warum PS1wall(KH1) auf die vorstehend beschriebene Weise gewählt wird, besteht darin, daß das Intervall der Ausgabe von Solldaten aus der Robotersteuereinheit 12 an die Servoschaltungen 332 bis 342 länger ist als das Intervall der Eingabe der Lage- und Formdaten für den Arbeitspunkt aus der Sensorsteuereinheit 24. Ein anderer Grund besteht darin, daß die Arbeitsgeschwindigkeit des Roboters 10 sich gelegentlich von einer niedrigeren Geschwindigkeit auf eine höhere Geschwindigkeit ändern kann. In einem jeden Fall wird eine Vielzahl von Werkstückformdatenwerten in den Zwischenspeicher 410_2 gespeichert und es ist erforderlich, aus der Vielzahl der Datenwerte einen am besten geeigneten Datenwert zu wählen.
- Da die Robotersteuereinheit 12 auf diese Weise gestaltet ist, wird eine geeignete Soll-Lage selbst dann bestimmt, wenn sich die Arbeitsgeschwindigkeit des Roboters 10 ändert. Wenn beispielsweise die Anzahl der aus der Sensorsteuereinheit 24 ausgegebenen Datenwerte und die Anzahl der aus der Robotersteuereinheit 12 ausgegebenen Datenwerte nahezu gleich sind und die Arbeitsgeschwindigkeit des Roboters 10 sich plötzlich von niedrig auf hoch ändert, können Informationen über das Werkstück W an dem gewünschten Sollpunkt fehlen. Bei dem vorstehend beschriebenen Ausführungsbeispiel wird jedoch dieses Problem nicht entstehen, da die Robotersteuerdaten durch Interpolieren von an spärlicheren Punkten erfaßten Daten erzeugt werden.
- Wenn aus dem Vergleichsblock 410_3 der gewählte Datenwert PS1wall(KH1) ausgegeben wird, wird an dem Interpolationsblock 402 eine Differenz R_ofs(KH1) zwischen PS1wall(KH1) und dem Solldatenwert PTpath(KH1) berechnet zu
- R_ofs(KH1) = (PTpath(KH1))&supmin;¹·PS1wall(KH1) . . . (15)
- An einem Wählblock 410_4 wird eine Matrix ΔPT(KH1) berechnet, die von Null verschiedene Komponenten nur an denjenigen Zellen hat, die den mittels des Sensors 22 erfaßten entsprechen. Beispielsweise ergibt sich
- (1) wenn nur die z-Komponentenstrecke (durch das Werkzeugkoordinatensystem) erfaßt wird:
- (2) wenn nur die y-Komponentenstrecke (durch das Werkzeugkoordinatensystem) erfaßt wird:
- (3) wenn die z-Komponentenstrecke und die Stellung erfaßt werden:
- wobei R_ofs(KH1) = (PTpath(KH1))&supmin;¹·PS1wall(KH1) gilt. Die auf diese Weise erhaltene Korrekturgröße ΔPT(KH1) wird in den Abnormalitätsdetektorblock 405 eingegeben, in der sie mit dem vorbestimmten Schwellenwert β verglichen wird. Wenn die Größe von ΔPT(KH1), d. h., ΔPT(KH1) größer als ist, werden geeignete Abnormalitätsverarbeitungen, z. B. eine Notabschaltung der Roboterfunktionen ausgeführt, da es möglich ist, daß der Roboter 10 vom Wege abkommt. Falls ΔPT(KH1) kleiner als β ist, wird auf die vorstehend beschriebene Weise ΔPT(KH1) zum Bilden des modifizierten Datenwertes PTmod(KH1) herangezogen.
- Die in der ersten Zentraleinheit 300 und der zweiten Zentraleinheit 301 ausgeführten vorstehenden Prozesse sind in den Ablaufdiagrammen in Fig. 10, 11A und 11B dargestellt. Gemäß der vorangehenden Beschreibung wirken die erste Zentraleinheit 300 und die zweite Zentraleinheit 301 synchron miteinander zusammen. Nachdem der Roboter 10 eine bestimmte Arbeit beginnt, werden in der ersten Zentraleinheit 300 die folgenden Prozesse gemäß Fig. 10 ausgeführt:
- Schritt 500: Aus den in dem Speicher gespeicherten Lerndaten PTtch(KH0) werden nach einem bekannten Interpolationsverfahren Soll-Lage- und Stellungsdaten PTpath(KH1) berechnet.
- Schritt 502: Die Solldaten PTpath(KH1) für den gegenwärtigen Punkt und modifizierte Daten PTmod(KH1-1) für einen Punkt zuvor werden der zweiten Zentraleinheit 301 zugeführt, um die Korrekturgröße ΔPT(KH1) anzufordern.
- Schritt 504: Aus der zweiten Zentraleinheit 301 wird die Korrekturgröße PT(KH1) eingegeben.
- Schritt 506: Die Korrekturgröße ΔPT(KH1) wird mit dem vorbestimmten Schwellenwert β verglichen. Bei ΔPT(KH1) ≥β werden die Prozeßschritte 510 und danach ausgeführt, während bei PT(KH1) < β das Programm zu dem Schritt 508 fortschreitet.
- Schritt 508: Es wird eine Abnormalitätsverarbeitung ausgeführt. Im einzelnen wird eine Notabschaltung des Roboters 10 vorgenommen und die Prozesse werden beendet.
- Schritt 510: Aus PTpath(KH1), ΔPT(KH1) und der Sollversetzung Ofs(KH1) werden die modifizierten Daten PTmod(KH1) berechnet.
- Schritt 512: Die modifizierten Daten PTmod(KH1) werden zu sechs Solldrehwinkeln Rhost(KH1) für die jeweiligen Achsen des Roboters decodiert.
- Schritt 514: Die Solldrehwinkel Rhost(KH1) werden an die jeweiligen Servoschaltungen 320 bis 330 ausgegeben.
- Schritt 516: Der Zählstand KH1 wird um "1" aufgestuft, um die vor stehende Verarbeitung für den neuen Punkt zu wiederholen.
- Die zweite Zentraleinheit 301 führt durch die bekannte Multitasking-Abarbeitung parallel das Programm nach Fig. 11A und das Programm nach Fig. 11B aus. Bei dem ersten Programm nach Fig. 11A werden die folgenden Prozeßschritte ausgeführt:
- Schritt 600: Der Zählstand KH2 für die Erfassungszeit wird auf "0" gelöscht.
- Schritt 601: Aus der Sensorsteuereinheit 24 werden die Lage- und Formdaten Ssen(KH2) für den Meßpunkt eingegeben.
- Schritt 602: Aus den Winkelsensoren 34, 44, 54, 64, 74 und 84 werden die Drehwinkel Renc(KH2) für die sechs Achsen eingegeben. Das Erfassungsergebnis soll unmittelbar nach dem Beginn der Erfassung durch den Sensor 22 eingegeben werden.
- Schritt 603: Auf die vorstehend beschriebene Weise werden Istdaten PTenc(KH2) für den Arbeitspunkt, Istdaten PTtool(KH2) für die Werkzeugspitze, die Daten für den Meßpunkt PSwall(KH2), der Vektor L(KH2) und die Länge L(KH2) berechnet und in dem Zwischenspeicher 410_2 gespeichert.
- Schritt 604: Der Zählstand KH2 wird um > 1" aufgestuft, um die vorstehend beschriebenen Erfassungsprozesse zu wiederholen.
- Parallel mit den Schritten 600 bis 604 werden durch die Multitasking-Abarbeitung die folgenden Schritte 606 bis 623 ausgeführt:
- Schritt 606: Ein Vergleichszählstand i wird auf "0" gelöscht.
- Schritt 607: Aus der ersten Zentraleinheit 300 werden die gegenwärtigen Solldaten PTpath(KH1) und die vorangehenden modifizierten Daten PTmod(KH1-1) eingegeben.
- Schritt 608: Aus dem Zwischenspeicher 410_2 wird PTtool(i) ausgelesen und es werden der Vektor I(i KH1), der sich von PTtool(i) bis PTmod(KH1-1) erstreckt, und die Länge I(i KH1) berechnet.
- Schritt 609: Aus dem Werkstückformspeicher wird L(i) ausgelesen und es wird auf die vorstehend beschriebene Weise der Winkel cosR(i KH1) zwischen den Vektoren I(i KH1) und L(i) berechnet.
- Schritt 610: Nach der Gleichung (13) werden der Vektor IL(i KH1), der eine Projektion des Vektors I(i KH1) auf den Vektor L(i) ist, und die Länge IL(i KH1) berechnet.
- Schritt 611: Nach der Gleichung (14) werden die Änderung ΔIL(i KH1) und die Länge ΔIL(i KH1) berechnet.
- Schritt 612: Es wird ermittelt, ob L(i) nahezu gleich ( IL(i KH1) + ΔIL(i KH1) ) ist. Wenn die absolute Differenz zwischen L(i) und ( IL(i KH1) + ΔIL(i KH1) ) kleiner als ein vorbestimmter kleiner Wert ε ist, werden diese als nahezu gleich bestimmt. Wenn sie nahezu gleich sind, schreitet das Programm zu dem Schritt 618 weiter, andernfalls zu dem Schritt 615.
- Schritt 615: Der Vergleichszählstand i wird mit dem Erfassungszählstand KH2 verglichen. Bei i ≥ KH2 schreitet das Programm zu dem Schritt 622 weiter, während es bei i < KH2 zu dem Schritt 616 fortschreitet.
- Schritt 616: Der Vergleichszählstand i wird um "1" aufgestuft, um die Schritte 608 und danach zu wiederholen.
- Schritt 618: Die Daten PS1wall(i) werden aus dem Zwischenspeicher 410_2 ausgelesen und in PS1wall(KH1) eingegeben.
- Schritt 619: Nach der Gleichung (15) wird eine Differenz R_ofs(KH1) zwischen den angenommenen Werkstückformdaten PS1wall(KH1) und den Solldaten PTpath(KH1) berechnet.
- Schritt 620: Aus der Differenz R_ofs(KH1) wird in dem Wählblock 410_4 die Korrekturgröße ΔPT(KH1) berechnet.
- Schritt 622: Bei i ≥ KH2 wird als gegenwärtige Korrekturgröße ΔPT(KH1) die vorangehende Korrekturgröße ΔPT(KH1-1) eingesetzt.
- Schritt 623: Die Korrekturgröße ΔPT(KH1) wird der ersten Zentraleinheit 300 zugeführt.
- Schritt 624: Der Vergleichszählstand i wird um "1" aufgestuft, um die Schritte 607 und danach zu wiederholen.
- Durch die vorstehenden Prozesse arbeitet der Roboter 10 an einem jeweiligen Punkt, während der zukünftige Punkt an dem Werkstück abgetastet wird. Bei dem vorstehenden Ausführungsbeispiel hat es den Anschein, als ob der Zwischenspeicher 410_2 eine unendlich große Speicherkapazität haben müßte. Zum Realisieren des Zwischenspeichers 410_2 ist jedoch ein sog. Ringpufferspeicher nutzbar.
- Das vorstehend beschriebene Ausführungsbeispiel hat gegenüber den Robotersteuersystemen nach dem Stand der Technik die folgenden Vorteile:
- (1) Der Roboter 10 kann mit hoher Geschwindigkeit arbeiten, da er den Zielpunkt im voraus erfaßt. Im einzelnen hat ein erfindungsgemäßer Roboter eine maximale Arbeitsgeschwindigkeit bis zu 500 m/s, während herkömmliche Roboter maximale Arbeitsgeschwindigkeiten von ungefähr 50 bis 100 m/s haben.
- (2) Der Roboter 10 kann nicht vom Weg abgekommen, da er nicht ausschließlich auf die erfaßten Informationen angewiesen ist, sondern auch auf die Lerninformationen Bezug nimmt.
- (3) Da der Roboter 10 entsprechend einer Folge von Zielpunkten gesteuert wird, kann eine genaue Steuerung ausgeführt werden. Selbst wenn beispielsweise zwischen dem gegenwärtigen Arbeitspunkt und dem gegenwärtigen Abtastpunkt sich die Form des Werkstücks plötzlich ändert, sind die Solldaten für diesen Teil schon in dem Speicher gespeichert und es kann eine entsprechende Nachführung an dem Werkstück vorgenommen werden.
- (4) Der Zwischenspeicher 410_2 läßt einen Wechsel hinsichtlich der Bearbeitungsgeschwindigkeit zu. Auf diese Weise kann die Bearbeitungsgeschwindigkeit während der Bearbeitung geändert werden.
- (5) Da die erfaßten Informationen über die Lage und/oder die Stellung durch eine Matrix dargestellt sind, ist das System für ein einfaches System mit einer nur eindimensionalen Korrekturfunktion bis zu einem solchen mit einer dreidimensionalen Korrekturfunktion anwendbar.
Claims (9)
1. Steuersystem für einen Industrieroboter, der ein
Stellglied (16) mit mindestens einer Achse, eine Hand (18),
die mit dem Stellglied verbunden ist und ein Werkzeug (20)
hat, und einen Werkstückformsensor (22) aufweist, der in
einem vorbestimmten Abstand vor dem Werkzeug in der Richtung
der Fortbewegung desselben angeordnet ist, und daß eine
Steuereinheit (12) mit einem Speicher enthält, der einen
Normalweg für das Werkzeug speichert, wobei der
Werkstückformsensor zum Nachführen mit dem gespeicherten
Normalweg betätigt wird,
gekennzeichnet durch
(a) eine Sensoreinrichtung (22, 24, 34, 44, 54, 64,
74 und 84) zum gleichzeitigen Erfassen von Sensordaten
(Ssen(KH2)), die eine Lage und/oder Form des Werkstückes in
bezug auf den Werkstückformsensor an einem Erfassungspunkt
darstellen, und von Drehwinkeldaten (Renc(KH2)) der Achse
des Stellglieds,
(b) eine Umsetzeinrichtung (406) zum Umsetzen der
Drehwinkeldaten durch Vorwärtstransformation zu
Ist-Lageund/oder Stellungsdaten (PTenc(KH2)) für das Werkzeug an dem
Arbeitspunkt (21) in einem Roboterbasis-Koordinatensystem
(O-XYZ), das in der gleichen Lage wie bei dem Erfassen der
Drehwinkeldaten ist, und zum Ermitteln von Ist-Lagedaten
(PS(KH2)) des Werkstückformsensors in Roboterbasis-
Koordinaten aus den Ist-Lage- und/oder Stellungsdaten
(PTenc(KH2)) für das Werkzeug,
(c) eine Recheneinrichtung zum Addieren der
Sensordaten (Ssenc(KH2)) zu den Ist-Lagedaten (PS(KH2)) des
Werkstückformsensors für das Erzeugen von Werkstückformdaten
(PSwall(KH2)) für das Werkstück an dem-Erfassungspunkt in
Roboterbasis-Koordinaten,
(d) eine Korrektureinrichtung zum Berechnen von
Korrekturdaten (ΔPT(KH1)) entsprechend den
Werkstückformdaten und zum Korrigieren von Lage- und/oder
Stellungs-Solldaten (PTpath(KH1)) für das Werkzeug an dem
Arbeitspunkt mittels der Korrekturdaten für das Erzeugen von
modifizierten Daten (PTmod(KH1)) und
(e) eine Steuereinrichtung zum Steuern der Lage und/oder
Stellung der Hand entsprechend den modifizierten Daten.
2. Steuersystem nach Anspruch 1, bei dem die
Umsetzeinrichtung ferner
(b1) eine Eingabeeinrichtung für das Eingeben der
Drehwinkeldaten (Renc(KH2)) für sechs Achsen aus der
Sensoreinrichtung,
(b2) eine Codiereinrichtung zum Umsetzen der
Drehwinkeldaten in die Ist-Lage- und/oder Stellungsdaten
mittels einer Codiermatrix (A) und
(b3) eine Addiereinrichtung aufweist, die eine
Lageund/oder Stellungsmatrix (IIt→s), welche eine Lage des
Werkstückformsensors in bezug auf den Arbeitspunkt
darstellt, zu den tatsächlichen Lage- und/oder
Stellungsdaten addiert, um die Ist-Lagedaten (PS(KH2)) zu
erzeugen.
3. Steuersystem nach Anspruch 1, bei dem die
Korrektureinrichtung ferner
(d1) eine erste Subtrahiereinrichtung, die eine
Sollversetzung (Ofs(KH1)), welche ein geometrisches
Verhältnis zwischen dem Arbeitspunkt und dem Werkzeug
definiert, von den tatsächlichen Lage- und/oder
Stellungsdaten- subtrahiert, um Lagedaten (PTtool(KH2)) für
den Arbeitspunkt zu erzeugen,
(d2) eine zweite Subtrahiereinrichtung, die die
Lagedaten von den Werkstückformdaten subtrahiert, um einen
ersten Vektor (L(KH2)) zu erzeugen,
(d3) eine dritte Subtrahiereinrichtung, die die
Lagedaten von vorangehenden modifizierten Daten (PTmod(KH1-
1)) für den Arbeitspunkt subtrahiert, um einen zweiten
Vektor (I(KH1/KH2)) zu erzeugen, und
(d4) eine Näherungseinrichtung aufweist, die aus dem
ersten Vektor und dem zweiten Vektor durch Vektornäherung
optimale Werkstückformdaten (PS1wall(KH1)) berechnet.
4. Steuersystem nach Anspruch 1, bei dem die
Korrektureinrichtung ferner
(d5) eine Geometrik-Wähleinrichtung aufweist, die
entsprechend der Arbeitsgeschwindigkeit des Roboters aus
einer Vielzahl der Werkstückformdaten (PSwall(KH2)) optimale
Werkstückformdaten (PS1wall(KH1)) wählt.
5. Steuersystem nach Anspruch 1, bei dem die
Korrektureinrichtung ferner
(d6) eine Geometrik-Wähleinrichtung aufweist, die
entsprechend einem ersten Intervall eines Ausgangssignals
für aus den modifizierten Daten berechnete Winkeldaten
(Rhost(KH1)) und einem zweiten Intervall eines
Eingangssignals für die Sensordaten aus dem
Werkstückformsensor optimale Werkstückformdaten
(PS1wall(KH1)) aus einer Vielzahl der Werkstückformdaten
(PSwall(KH2)) wählt, wobei das zweite Intervall kürzer als
das erste Intervall ist.
6. Steuersystem nach Anspruch 1, bei dem die
Korrektureinrichtung ferner
(d7) eine Differenzeinrichtung aufweist, die die
Korrekturdaten (PT(KH1)) entsprechend Differenzdaten
(R_Ofs(KH1)) berechnet, die durch Subtrahieren der
Lageund/oder Stellungs-Solldaten (PTpath(KH1)) von den optimalen
Werkstückformdaten (PS1wall(KH1)) berechnet werden.
7. Steuersystem nach Anspruch 1, bei dem die
Korrektureinrichtung ferner
(d8) eine Speichereinrichtung zum Speichern von
Lernpunktedaten (PTtch(KH0)), die eine Lage des
Arbeitspunktes in Roboterbasis-Koordinaten darstellen,
(d9) eine Interpoliereinrichtung, die die
Lernpunktedaten zum Erzeugen der Lage- und/oder Stellungs-
Solldaten (PTpath(KH1)) interpoliert,
(d10) eine Addiereinrichtung, die zum Erzeugen von
primären Solldaten (PTpmod(KH1)) die Korrekturdaten zu den
Lage- und/oder Stellungs-Solldaten addiert, und
(d11) eine Versetzungseinrichtung aufweist, die zum
Erzeugen der modifizierten Daten (PTmod(KH1)) eine
Sollversetzung (Ofs(KH1)), die einen geometrischen
Zusammenhang zwischen dem Arbeitspunkt und dem Werkzeugende
definiert, zu den primären Solldaten addiert.
8. Steuersystem nach Anspruch 1, bei dem die
Steuereinrichtung ferner
(e1) eine Vergleichseinrichtung zum Vergleichen der
Korrekturdaten (ΔPT(KH1)) mit einem vorbestimmten
Schwellenwert (β),
(e2) eine normalerweise abgeschaltete
Abnormalitätsverarbeitungseinrichtung für das Anzeigen eines
abnormalen Zustands bei dem Einschalten und
(e3) eine Einschalteinrichtung aufweist, die die
Abnormalitätsverarbeitungseinrichtung einschaltet, wenn die
Korrekturdaten den vorbestimmten Schwellenwert übersteigen.
9. Steuersystem nach Anspruch 8, bei dem die
normalerweise abgeschaltete
Abnormalitätsverarbeitungseinrichtung ferner
(e4) eine auf das Einschalten der normal
abgeschalteten Verarbeitungseinrichtung ansprechende
Anhalteeinrichtung zum Unterbrechen der Bewegung des
Roboters aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61234772A JPH07104692B2 (ja) | 1986-10-02 | 1986-10-02 | 予見追跡制御型ロボツト |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3787342D1 DE3787342D1 (de) | 1993-10-14 |
DE3787342T2 true DE3787342T2 (de) | 1994-02-24 |
Family
ID=16976122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE87308743T Expired - Fee Related DE3787342T2 (de) | 1986-10-02 | 1987-10-02 | Steuersystem für einen Industrieroboter mit einer Voraussichtsfunktion. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4831316A (de) |
EP (1) | EP0266070B1 (de) |
JP (1) | JPH07104692B2 (de) |
DE (1) | DE3787342T2 (de) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4833381A (en) * | 1987-12-31 | 1989-05-23 | Westinghouse Electric Corp. | Optical automatic seam tracker and real time control system for an industrial robot |
US4843287A (en) * | 1987-12-31 | 1989-06-27 | Westinghouse Electric Corp. | Path contriving system for look-ahead sensor in a robotic control system |
JPH02210506A (ja) * | 1987-12-31 | 1990-08-21 | Westinghouse Electric Corp <We> | ロボット制御方法及びシステム |
US4965499A (en) * | 1987-12-31 | 1990-10-23 | Westinghouse Electric Corp | Parametric path modeling for an optical automatic seam tracker and real time robotic control system |
US5015821A (en) * | 1988-02-15 | 1991-05-14 | Amada Company, Limited | Computer controlled welding robot |
US5017082A (en) * | 1988-03-07 | 1991-05-21 | Tokyo Electron Limited | Handling apparatus |
JP2708458B2 (ja) * | 1988-04-01 | 1998-02-04 | 株式会社豊田中央研究所 | 倣い制御ロボット |
US4969108A (en) * | 1988-04-08 | 1990-11-06 | Cincinnati Milacron Inc. | Vision seam tracking method and apparatus for a manipulator |
JP2676793B2 (ja) * | 1988-06-30 | 1997-11-17 | トヨタ自動車株式会社 | 倣い制御ロボット |
JP2512099B2 (ja) * | 1988-08-24 | 1996-07-03 | 松下電器産業株式会社 | ロボットの動作教示方法および制御装置 |
US4952772A (en) * | 1988-11-16 | 1990-08-28 | Westinghouse Electric Corp. | Automatic seam tracker and real time error cumulative control system for an industrial robot |
JPH081819Y2 (ja) * | 1989-08-23 | 1996-01-24 | 豊田工機株式会社 | ロボット制御装置 |
DE4026759A1 (de) * | 1989-09-14 | 1991-03-28 | Gen Electric | Mit schweissstossverfolgung arbeitendes laserschweisssystem |
DE3938851C1 (de) * | 1989-11-23 | 1990-11-22 | Maho Ag, 8962 Pfronten, De | |
JPH0433104U (de) * | 1990-07-11 | 1992-03-18 | ||
US5083073A (en) * | 1990-09-20 | 1992-01-21 | Mazada Motor Manufacturing U.S.A. Corp. | Method and apparatus for calibrating a vision guided robot |
JPH04101102U (ja) * | 1991-01-31 | 1992-09-01 | 豊田工機株式会社 | 倣い加工装置 |
JPH05143139A (ja) * | 1991-11-21 | 1993-06-11 | Fanuc Ltd | ワーク加工再開方法 |
US5761390A (en) * | 1991-12-12 | 1998-06-02 | Hitachi, Ltd. | Robot for removing unnecessary portion on workpiece |
US5255096B1 (en) * | 1992-04-10 | 1997-12-23 | William M Boyle | Video time code synchronized robot control apparatus |
US5339103A (en) * | 1992-08-18 | 1994-08-16 | Schmidt Robert H | Part machining programming using a camera interchangeable with maching nozzle |
JPH06149327A (ja) * | 1992-11-12 | 1994-05-27 | Fanuc Ltd | リアルタイム位置補正方法 |
GB9300403D0 (en) * | 1993-01-11 | 1993-03-03 | Huissoon Jan P | Dynamic seam tracking with redundant axes control |
US5657394A (en) * | 1993-06-04 | 1997-08-12 | Integrated Technology Corporation | Integrated circuit probe card inspection system |
JPH0816221A (ja) * | 1994-06-28 | 1996-01-19 | Fanuc Ltd | レーザセンサを用いたロボット教示経路の変更方法 |
US5987726A (en) | 1996-03-11 | 1999-11-23 | Fanuc Robotics North America, Inc. | Programmable positioner for the stress-free assembly of components |
JP3799581B2 (ja) * | 1996-04-09 | 2006-07-19 | 旭硝子株式会社 | ガラス成形装置 |
US5959425A (en) * | 1998-10-15 | 1999-09-28 | Fanuc Robotics North America, Inc. | Vision guided automatic robotic path teaching method |
US6259519B1 (en) | 1999-08-31 | 2001-07-10 | Intelligent Machine Concepts, L.L.C. | Method of determining the planar inclination of a surface |
US6327520B1 (en) | 1999-08-31 | 2001-12-04 | Intelligent Machine Concepts, L.L.C. | Planar normality sensor |
US6374158B1 (en) * | 2000-02-15 | 2002-04-16 | General Electric Company | Robotic laser pointer |
US6285920B1 (en) | 2000-02-18 | 2001-09-04 | Fanuc Robotics North America | Method of robot teaching with motion constraints |
JP3806342B2 (ja) * | 2001-11-26 | 2006-08-09 | 三菱重工業株式会社 | 3次元形状物溶接方法及びその装置 |
JP2005108144A (ja) * | 2003-10-02 | 2005-04-21 | Fanuc Ltd | ロボットの補正データ確認装置 |
CA2489941C (en) * | 2003-12-18 | 2012-08-14 | Comau S.P.A. | A method and device for laser welding |
DE102004011769B3 (de) * | 2004-03-09 | 2005-08-18 | Kuka Schweissanlagen Gmbh | Verfahren zum Laserbearbeiten und Lasereinrichtung |
ITTO20040361A1 (it) * | 2004-05-28 | 2004-08-28 | Comau Spa | Metodo e dispositivo per saldatura laser remota mediante robot, con controllo semplificato della direzione di focalizzazione del fascio laser. |
JP4857534B2 (ja) * | 2004-07-13 | 2012-01-18 | パナソニック株式会社 | アーク溶接ロボット |
US20060042083A1 (en) * | 2004-08-27 | 2006-03-02 | Baker Martin C | Repair of turbines on wing |
DE102004042135A1 (de) * | 2004-08-30 | 2006-03-02 | Iht Automation Gmbh & Co. Kg | Verfahren zur Einstellung mindestens eines vorgegebenen Abstands zwischen einem Bearbeitungswerkzeug und einem metallischen Werkstück |
JP2006154924A (ja) * | 2004-11-25 | 2006-06-15 | Denso Wave Inc | 自動化設備システム |
JP4922584B2 (ja) * | 2004-12-10 | 2012-04-25 | 株式会社安川電機 | ロボットシステム |
JP2006331255A (ja) * | 2005-05-30 | 2006-12-07 | Daihen Corp | 産業用ロボットの制御方法 |
JP2007098464A (ja) * | 2005-10-07 | 2007-04-19 | Nissan Motor Co Ltd | レーザー加工ロボット制御装置、レーザー加工ロボット制御方法およびレーザー加工ロボット制御プログラム |
DE102007008903A1 (de) * | 2007-02-23 | 2008-08-28 | Abb Technology Ag | Einrichtung zum Steuern eines Roboters |
DE102007062952A1 (de) * | 2007-12-21 | 2009-07-02 | Karosseriewerke Dresden Gmbh | Verfahren und Einrichtung zum Schweißen von Sitzstrukturen sowie Sitz |
WO2009102767A2 (en) * | 2008-02-11 | 2009-08-20 | Fanuc Robotics America, Inc. | Method of controlling a robot for small shape generation |
DE102008047575B4 (de) * | 2008-09-17 | 2012-09-27 | Leica Biosystems Nussloch Gmbh | Gerät zur Handhabung mindestens eines Objektträgers |
US7908757B2 (en) | 2008-10-16 | 2011-03-22 | Hexagon Metrology, Inc. | Articulating measuring arm with laser scanner |
JP2010120123A (ja) * | 2008-11-20 | 2010-06-03 | Yamaha Motor Co Ltd | 直交ロボット、該直交ロボットを備えた部品実装装置および前記直交ロボットの制御方法 |
US8082673B2 (en) | 2009-11-06 | 2011-12-27 | Hexagon Metrology Ab | Systems and methods for control and calibration of a CMM |
CA2796369A1 (en) * | 2010-04-13 | 2011-10-20 | National Research Council Of Canada | Laser processing control method |
US8763267B2 (en) | 2012-01-20 | 2014-07-01 | Hexagon Technology Center Gmbh | Locking counterbalance for a CMM |
CN105792996B (zh) * | 2013-11-28 | 2017-07-25 | 三菱电机株式会社 | 机器人系统以及机器人系统的控制方法 |
JP2015171746A (ja) * | 2014-03-12 | 2015-10-01 | ファナック株式会社 | 制動部を備えた駆動軸を有する産業用ロボット |
EP3131720A4 (de) | 2014-04-16 | 2017-09-13 | University Of Southern California | Automatisierte konstruktion von türmen und säulen |
ITUB20154937A1 (it) * | 2015-11-03 | 2017-05-03 | Scm Group Spa | Dispositivo di lavorazione perfezionato e relativo metodo di funzionamento. |
JP6496340B2 (ja) * | 2017-03-17 | 2019-04-03 | ファナック株式会社 | スキャナ制御装置、ロボット制御装置及びリモートレーザ溶接ロボットシステム |
JP6517871B2 (ja) * | 2017-04-25 | 2019-05-22 | ファナック株式会社 | 溶接ロボットの教示システムおよび教示方法 |
EP3710778A1 (de) | 2017-11-13 | 2020-09-23 | Hexagon Metrology, Inc | Thermische verwaltung einer optischen abtastvorrichtung |
JP6836558B2 (ja) * | 2018-08-31 | 2021-03-03 | ファナック株式会社 | レーザ加工のための教示装置 |
WO2020250306A1 (ja) * | 2019-06-11 | 2020-12-17 | 株式会社安川電機 | 制御システム、監視装置、監視方法、及びプログラム |
JP2020203349A (ja) * | 2019-06-18 | 2020-12-24 | 株式会社ダイヘン | ロボット制御装置、及びロボット制御システム |
JP7249242B2 (ja) * | 2019-08-22 | 2023-03-30 | 川崎重工業株式会社 | シーリングロボット |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2217117A1 (en) * | 1973-02-08 | 1974-09-06 | Inst Avtomatiki Min | Photoelectric arc welding electrode control - based on photocells for joint and weld and two servo systems |
FR2475445A1 (fr) * | 1980-02-13 | 1981-08-14 | Commissariat Energie Atomique | Procede automatique et autoadaptatif de soudage par fusion et dispositif pour la mise en oeuvre de ce procede |
JPS5880192U (ja) * | 1981-11-25 | 1983-05-31 | トキコ株式会社 | 工業用ロボツト |
DE3244307A1 (de) * | 1982-11-30 | 1984-05-30 | Siemens AG, 1000 Berlin und 8000 München | Robotersteuerung |
IT1174831B (it) * | 1983-11-30 | 1987-07-01 | Armco Spa | Macchina elettrosaldatrice automatica |
US4675502A (en) * | 1985-12-23 | 1987-06-23 | General Electric Company | Real time tracking control for taught path robots |
-
1986
- 1986-10-02 JP JP61234772A patent/JPH07104692B2/ja not_active Expired - Fee Related
-
1987
- 1987-10-01 US US07/103,403 patent/US4831316A/en not_active Expired - Lifetime
- 1987-10-02 EP EP87308743A patent/EP0266070B1/de not_active Expired - Lifetime
- 1987-10-02 DE DE87308743T patent/DE3787342T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0266070A3 (en) | 1989-08-16 |
DE3787342D1 (de) | 1993-10-14 |
JPS6388612A (ja) | 1988-04-19 |
JPH07104692B2 (ja) | 1995-11-13 |
EP0266070A2 (de) | 1988-05-04 |
US4831316A (en) | 1989-05-16 |
EP0266070B1 (de) | 1993-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3787342T2 (de) | Steuersystem für einen Industrieroboter mit einer Voraussichtsfunktion. | |
DE68918318T2 (de) | Echtzeitsteuersystem für einen industriellen Roboter zum Folgen eines Standardweges. | |
EP0866390B1 (de) | Verfahren zur Steuerung von Koordinatenmessgeräten nach Solldaten | |
DE69637413T2 (de) | Kompositdetektionssystem für roboter | |
DE68920212T2 (de) | Roboter mit Werkzeugsteuerung für Verschiebungsfolge. | |
DE69409315T2 (de) | Werkzeugmaschine | |
EP0569694B1 (de) | Verfahren und Gerät zur Messung von Formelementen auf einem Koordinatenmessgerät | |
DE69325975T2 (de) | System zum Sicherheitsbetrieb von Manipulatoren | |
EP1604789A2 (de) | Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts | |
EP1537008A2 (de) | Verfahren und vorrichtung zum herstellen eines verbindungsbereichs auf einem werkstück | |
EP1681111A1 (de) | Fertigungseinrichtung, insbesondere Biegepresse und Verfahren zum Betrieb der Fertigungseinrichtung | |
DE102019212452A1 (de) | Interferenzvermeidungsvorrichtung und Robotersystem | |
DE69809835T2 (de) | Positions- und/oder Stellkraftregelungseinrichtung mit Entkopplung durch ein Regelungsverfahren des gleitend einstellbaren Typs | |
DE4212455C2 (de) | Verfahren zur Messung von Formelementen auf einem Koordinatenmeßgerät | |
DE102018125841B4 (de) | Roboter, Robotersystem und Verfahren zum Festlegen eines Koordinatensystems eines Roboters | |
DE4108880A1 (de) | Numerische steuerung fuer maschinen | |
EP2091699B1 (de) | Verfahren und vorrichtung zur feinpositionierung eines werkzeugs mit einer handhabungseinrichtung | |
DE102020213847A1 (de) | Korrekturwertmessverfahren und Korrekturwertmesssystem eines Positionsmesssensors in einer Werkzeugmaschine | |
DE3624959C2 (de) | ||
WO2021204960A1 (de) | Verfahren, bearbeitungsmaschine und computerprogramm zur werkstücklageerfassung mittels oct | |
DE10133624A1 (de) | Vorrichtung und Anordnung zur Ermittlung von korrigierten Bewegungsdaten für einen vorgegebenen Bewegungsablauf einer bewegbaren Einrichtung sowie bewegbare Einrichtung und System aus bewegbaren Einrichtungen | |
DE69120791T2 (de) | Berührungsloses kopiersteuergerät | |
DE112021001173T5 (de) | Entgratungsvorrichtung und Steuerungssystem | |
EP1125173B1 (de) | Verfahren zur kompensation von temperaturbedingten massabweichungen in der maschinengeometrie | |
DE69720503T2 (de) | Überwachungsverfahren für die Bewegung eines Werkzeugs und Werkzeugschlittens |
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 |