DE102020128718A1 - Steuervorrichtung, die die massnahme der korrektur der position oder der lage eines roboters bestimmt - Google Patents

Steuervorrichtung, die die massnahme der korrektur der position oder der lage eines roboters bestimmt Download PDF

Info

Publication number
DE102020128718A1
DE102020128718A1 DE102020128718.6A DE102020128718A DE102020128718A1 DE 102020128718 A1 DE102020128718 A1 DE 102020128718A1 DE 102020128718 A DE102020128718 A DE 102020128718A DE 102020128718 A1 DE102020128718 A1 DE 102020128718A1
Authority
DE
Germany
Prior art keywords
robot
correction
point
unit
movement
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.)
Pending
Application number
DE102020128718.6A
Other languages
English (en)
Inventor
Tomonori Matsushima
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102020128718A1 publication Critical patent/DE102020128718A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/20Bonding
    • B23K26/21Bonding by welding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K26/00Working by laser beam, e.g. welding, cutting or boring
    • B23K26/70Auxiliary operations or equipment
    • B23K26/702Auxiliary equipment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K9/00Arc welding or cutting
    • B23K9/12Automatic feeding or moving of electrodes or work for spot or seam welding or cutting
    • B23K9/127Means for tracking lines during arc welding or cutting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K31/00Processes relevant to this subclass, specially adapted for particular articles or purposes, but not covered by only one of the preceding main groups
    • B23K31/12Processes relevant to this subclass, specially adapted for particular articles or purposes, but not covered by only one of the preceding main groups relating to investigating the properties, e.g. the weldability, of materials
    • B23K31/125Weld quality monitoring
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K9/00Arc welding or cutting
    • B23K9/095Monitoring or automatic control of welding parameters
    • B23K9/0956Monitoring or automatic control of welding parameters using sensing means, e.g. optical
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0019End effectors other than grippers
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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/36414Compare image detected path with stored reference, difference corrects position
    • 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/37Measurements
    • G05B2219/37217Inspect solder joint, machined part, workpiece, welding result
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45104Lasrobot, welding robot
    • 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/47Tracing, tracking
    • G05B2219/4704Store actual edge, seam in memory before machining, compare with detected

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Plasma & Fusion (AREA)
  • Manipulator (AREA)
  • Human Computer Interaction (AREA)

Abstract

Eine Steuervorrichtung berechnet ein Korrekturausmaß der Position eines Roboters 1 an einem Bewegungspunkt auf einem ersten Bewegungspfad und treibt den Roboter 1 auf einem zweiten Bewegungspfad, für den der erste Bewegungspfad korrigiert wurde, an. Die Steuervorrichtung umfasst eine zweite Kamera zur Detektion der Form eines Bereichs nach der Vornahme einer Tätigkeit durch den Roboter und eine Variablenberechnungseinheit, die auf Basis des Ausgangs der zweiten Kamera eine Qualitätsvariable, die die Qualität eines Werkstücks angibt, berechnet. Wenn die Qualitätsvariable von einem vorab festgelegten Entscheidungsbereich abweicht, bestimmt eine Bestimmungseinheit der Steuervorrichtung auf Basis einer Wechselbeziehung zwischen dem Korrekturausmaß der Position des ersten Bewegungspfads und der Qualitätsvariablen, ob eine Korrektur der Position oder der Lage des Roboters 1 erforderlich ist.

Description

  • Allgemeiner Stand der Technik
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Steuervorrichtung, die die Maßnahme der Korrektur der Position oder der Lage eines Roboters bestimmt.
  • Beschreibung des Stands der Technik
  • Eine Robotervorrichtung umfasst einen Roboter, ein an dem Roboter angebrachtes Arbeitswerkzeug und eine Steuervorrichtung, die den Roboter steuert. Die Steuervorrichtung treibt den Roboter und das Arbeitswerkzeug auf Basis eines Betriebsprogramms an. Um die Position und die Lage des Roboters zu bestimmen, kann ein Betreiber vorab Lehrpunkte lehren. Das Betriebsprogramm wird auf Basis der Position der Lehrpunkte und der Lage des Roboters an den Lehrpunkten erzeugt. Wenn der Roboter angetrieben wird, kann die Steuervorrichtung auf Basis der Lehrpunkte Interpolationspunkte zwischen den einzelnen Lehrpunkten festlegen. Die Steuervorrichtung steuert den Roboter so, dass er an den Lehrpunkten und den Interpolationspunkten eine festgelegte Position und Lage erreicht.
  • Nach dem Stand der Technik ist eine Steuerung bekannt, bei der während der Vornahme der Tätigkeit durch die Robotervorrichtung die Position eines Werkstücks durch eine Kamera detektiert wird und eine Korrektur der Position und die Lage des Roboters zur Anpassung an die Position des tatsächlichen Werkstücks vorgenommen wird (siehe zum Beispiel die Patentoffenlegungsschrift Hei-9-72717). Außerdem ist eine Steuerung bekannt, bei der der Bewegungspfad bei der Erstellung des Betriebsprogramms in einem Offline-Zustand auf Basis von Bildern oder dergleichen eines tatsächlichen Werkstücks korrigiert wird (siehe zum Beispiel die Patentoffenlegungsschrift 2004-255547 und die Patentoffenlegungsschrift 2016-140985. Ferner ist bekannt, an dem Roboter einen Sensor anzubringen und ein Werkstück, an dem eine Tätigkeit vorgenommen wurde, zu prüfen (siehe zum Beispiel die Patentoffenlegungsschrift Hei-7-98217) .
  • Kurzdarstellung der Erfindung
  • Ein Werkstück, an dem eine Tätigkeit durch eine Robotervorrichtung vorgenommen wird, wird an einer Halterung oder dergleichen fixiert. Die Robotervorrichtung nimmt die Tätigkeit unter relativer Veränderung der Position und der Lage in Bezug auf einen Bereich des Werkstücks, in dem die Tätigkeit erfolgt, vor. Doch wenn die Position des Bereichs des Werkstücks, in dem die Tätigkeit erfolgt, an der Halterung verschoben ist, kann es sein, dass die Position des Werkstücks in Bezug auf den Roboter verschoben ist. Zum Beispiel kann es vorkommen, dass das Mittel zum Fixieren des Werkstücks an der Halterung infolge einer Alterung geringfügig verformt ist oder eine Schraube locker geworden ist. Oder es kann sein, dass sich ein in dem Fixiermittel enthaltenes Kautschukelement verschlechtert oder das Fixiermittel abgenutzt wird. Als Folge kann es vorkommen, dass die Position des Werkstücks an der Halterung von der gewünschten Position verschoben fixiert wird.
  • Oder wenn die Robotervorrichtung eine Schweißtätigkeit vornimmt, können bei der Vornahme des Schweißens auftretende Spritzer an der Oberfläche des Rahmens anhaften. Durch die Spritzer kann ein winziger Zwischenraum zwischen der Halterung und dem Werkstück entstehen. Als Folge kann die Position des Werkstücks an der Halterung geringfügig verschoben werden. Oder wenn das Werkstück dünn ist, kann sich das Werkstück durch die Hitze bei der Vornahme der Schweißens verformen.
  • Bei einer Gruppe von Elementen, die in mehreren Werken hergestellt wurden, können sich die Abmessungen der Werkstücke geringfügig unterscheiden. Das heißt, es kann vorkommen, dass sich die Abmessungen von Werkstücken mit einer Änderung der Charge verändern. Oder es ist möglich, dass der Bereich eines Werkstücks, in dem die Tätigkeit vorgenommen wird, durch Herstellungsfehler bei den jeweiligen Werkstücken von der gewünschten Position abweicht.
  • Wenn die Position, an der die Robotervorrichtung die Tätigkeit vornimmt, von der gewünschten Position abweicht, besteht das Problem, dass die Qualität des Werkstücks abnimmt. Daher kann der Betreiber die Position von Lehrpunkten und die Lage an den Lehrpunkten korrigieren. Doch für die Herstellung von Produkten gibt es verschiedene Produktionsverfahren. Und da viele Arten von Komponenten verwendet werden, ist es für den Betreiber schwierig, die Position oder die Lage des Roboters, die einen nachteiligen Einfluss auf die Qualität eines Werkstücks ausübt, zu bestimmen. Der Betreiber muss über Erfahrung verfügen, um die Position oder die Lage des Roboters zu korrigieren.
  • Herkömmlich ist eine Technik bekannt, wodurch der Bewegungspfad eines Roboters unter Verwendung eines an dem Roboter fixierten Sensors korrigiert wird. Es besteht jedoch das Problem, dass zwar die Position des Roboters korrigiert werden kann, aber die Lage des Roboters nicht korrigiert werden kann. Bei einem Punktschweißen oder bei einem Aufbringen eines Klebstoffs oder dergleichen hat insbesondere die Lage des Roboters (die Lage des Arbeitswerkzeugs) in Bezug auf das Werkstück einen großen Einfluss auf die Qualität des Werkstücks. Daher ist es bei einer Abnahme der Qualität eines Werkstücks für den Betreiber schwierig, zu bestimmen, ob die Position des Roboters korrigiert werden sollte oder die Lage des Roboters korrigiert werden sollte.
  • Außerdem besteht das Problem, dass der Betreiber für die Tätigkeit zur Korrektur der Position oder der Lage des Roboters Zeit braucht und die Robotervorrichtung während des Zeitraums, in dem die Position oder die Lage des Roboters korrigiert wird, keine Tätigkeiten vornehmen kann.
  • Eine Form der vorliegenden Offenbarung ist eine Steuervorrichtung für eine Robotervorrichtung, die mit einem Roboter und einem Arbeitswerkzeug versehen ist. Die Steuervorrichtung umfasst eine Korrekturausmaßberechnungseinheit, die ein Korrekturausmaß einer Position des Roboters an Bewegungspunkten eines vorab festgelegten ersten Bewegungspfads berechnet. Die Steuervorrichtung umfasst eine Betriebssteuereinheit, die den Roboter auf einem zweiten Bewegungspfad, für den der erste Bewegungspfad auf Basis des durch die Korrekturausmaßberechnungseinheit berechneten Korrekturausmaßes korrigiert wurde, antreibt. Die Steuervorrichtung umfasst einen Formdetektionssensor zur Vornahme einer Detektion der Form eines Bereichs nach der Vornahme einer Tätigkeit durch die Robotervorrichtung und eine Variablenberechnungseinheit, die auf Basis der durch den Ausgang des Formdetektionssensors detektierten Form eine Qualitätsvariable, die die Qualität eines Werkstücks angibt, berechnet. Die Steuervorrichtung umfasst eine Bestimmungseinheit, die eine Maßnahme der Korrektur der Position oder der Lage des Roboters bestimmt. Wenn die Qualitätsvariable von einem vorab festgelegten Entscheidungsbereich abweicht, bestimmt die Bestimmungseinheit auf Basis einer Wechselbeziehung zwischen dem Korrekturausmaß der Position des ersten Bewegungspfads und der Qualitätsvariablen, dass eine Korrektur der Position oder der Lage des Roboters erforderlich ist.
  • Figurenliste
    • 1 ist eine schematische Ansicht einer ersten Robotervorrichtung bei einer Ausführungsform.
    • 2 ist eine Vorderansicht des Roboters und eines Arbeitswerkzeugs der ersten Robotervorrichtung.
    • 3 ist ein Blockdiagramm der ersten Robotervorrichtung.
    • 4 ist eine vergrößerte Schrägansicht von Werkstücken und eines Schweißbrenners, wenn durch die erste Robotervorrichtung ein Bogenschweißen vorgenommen wird.
    • 5 ist eine Ansicht, die den Bewegungspfad des Roboters vor einer Korrektur und seinen Bewegungspfad nach einer Korrektur zeigt.
    • 6 ist ein Ablaufdiagramm einer Steuerung zur Vornahme eines Bogenschweißens durch die erste Robotervorrichtung.
    • 7 ist ein Ablaufdiagramm einer Steuerung, wodurch Parameter im Zusammenhang mit der Form der Werkstücke nach dem Schweißen erlangt werden.
    • 8 ist eine schematische Schnittansicht von Werkstücken zur Erklärung der Parameter zur Prüfung der Qualität der Werkstücke.
    • 9 ist eine schematische Schrägansicht von anderen Werkstücken zur Erklärung der Parameter zur Prüfung der Qualität der Werkstücke.
    • 10 zeigt Kurven der Prüfergebnisse der Parameter, wenn die Qualität der Werkstücke geprüft wurde.
    • 11 ist ein Ablaufdiagramm einer ersten Steuerung, wodurch die Maßnahme der Korrektur der Position oder der Lage des Roboters bestimmt wird.
    • 12 ist eine Ansicht des Bewegungspfads, nachdem die Position eines Bewegungspunkts auf Basis des Bestimmungsergebnisses durch die Bestimmungseinheit korrigiert wurde.
    • 13 ist eine schematische Ansicht von Werkstücken und eines Schweißbrenners zur Erklärung einer Steuerung, wodurch der Pfad nach der Korrektur vor der Vornahme des Schweißens berechnet wird.
    • 14 ist eine schematische Ansicht von Werkstücken und des Schweißbrenners zur Erklärung einer Steuerung, wodurch der Pfad nach der Korrektur während des Zeitraums der Vornahme des Schweißens berechnet wird.
    • 15 ist eine Kurve des Stroms, der zur Zeit der Ausführung eines Bogenschweißens unter Pendeln in dem Draht fließt.
    • 16 ist eine Ansicht des Bewegungspfads vor der Korrektur und des Bewegungspfads nach der Korrektur bei einem Vergleichsbeispiel.
    • 17 ist eine Ansicht zur Erklärung einer Steuerung, wodurch das Korrekturausmaß für die Lage des Roboters berechnet wird.
    • 18 ist eine Ansicht zur Erklärung einer anderen Steuerung, wodurch das Korrekturausmaß für die Lage des Roboters berechnet wird.
    • 19 ist eine Ansicht des Bewegungspfads zur Erklärung einer Steuerung, wodurch das Korrekturausmaß der Position des Roboters berechnet wird.
    • 20 ist eine Ansicht eines Hilfskoordinatensystems, das an einem Bewegungspunkt mit der besten Bewertung festgelegt wurde.
    • 21 ist eine Ansicht eines Hilfskoordinatensystems, das an einem Bewegungspunkt, an dem die Position korrigiert wird, festgelegt wurde.
    • 22 ist ein Blockdiagramm einer zweiten Robotervorrichtung bei der Ausführungsform.
  • Ausführliche Erklärung
  • Unter Bezugnahme auf 1 bis 22 wird eine Steuervorrichtung eines Roboters bei einer Ausführungsform erklärt. Bei der vorliegenden Ausführungsform wird beispielhaft eine Robotervorrichtung erklärt, die Werkstücke durch ein Bogenschweißen fixiert.
  • 1 ist eine schematische Ansicht einer ersten Robotervorrichtung bei der vorliegenden Ausführungsform. 2 ist eine Vorderansicht eines Roboters und eines Schweißbrenners bei der vorliegenden Ausführungsform. 3 ist ein Blockdiagramm der ersten Robotervorrichtung bei der vorliegenden Ausführungsform. Unter Bezugnahme auf 1 bis 3 umfasst die erste Robotervorrichtung 8 den Schweißbrenner 2 als Arbeitswerkzeug und den Roboter 1, der den Schweißbrenner 2 bewegt. Der Roboter 1 der vorliegenden Ausführungsform ist ein Knickarmroboter, der mehrere Gelenkabschnitte aufweist.
  • Der Roboter 1 weist einen Basisabschnitt 14 und einen an diesem Basisabschnitt 14 gehaltenen Drehrumpf 13 auf. Der Basisabschnitt 14 ist auf einer Einrichtungsfläche fixiert. Der Drehrumpf 13 dreht sich in Bezug auf den Basisabschnitt 14. Der Roboter 1 weist einen Oberarm 11 und einen Unterarm 12 auf. Der Unterarm 12 wird über einen Gelenkabschnitt an dem Drehrumpf 13 gehalten. Der Oberarm 11 wird über einen Gelenkabschnitt an dem Unterarm 11 gehalten. Der Roboter 1 weist ein Handgelenk 15 auf, das über einen Gelenkabschnitt mit einem Ende des Oberarms 11 gekoppelt ist. Das Handgelenk 15 wird über einen Gelenkabschnitt an dem Oberarm 11 gehalten. Der Schweißbrenner 2 ist an einem Flansch 16 des Handgelenks 15 fixiert.
  • Der Roboter 1 der vorliegenden Ausführungsform weist sechs Antriebsachsen auf. Der Roboter 1 weist eine Roboterantriebsvorrichtung auf, die die Aufbauelemente des Roboters 1 wie den Oberarm 11 usw. antreibt. Die Roboterantriebsvorrichtung der vorliegenden Ausführungsform weist mehrere Roboterantriebsmotoren 22 zum Antrieb des Oberarms 11, des Unterarms 12, des Drehrumpfs 13 und des Handgelenks 15 auf. Die Position und die Lage des Roboters 1 werden durch Ändern der Ausrichtung der Aufbauelemente des Roboters 1 an den Gelenkabschnitten verändert.
  • Eine Steuervorrichtung 10 der Robotervorrichtung 8 umfasst eine Robotersteuervorrichtung 4, die den Roboter 1 steuert. Die Robotersteuervorrichtung 4 umfasst eine Rechenverarbeitungsvorrichtung (einen Computer), die eine CPU (zentrale Verarbeitungseinheit) als Prozessor aufweist. Die Rechenverarbeitungsvorrichtung weist einen RAM (Direktzugriffsspeicher) einen ROM (Nurlesespeicher) und dergleichen auf, die über einen Bus an die CPU angeschlossen sind. Der Roboter ist über eine Kommunikationsleitung an die Robotersteuervorrichtung 4 angeschlossen.
  • Die Robotervorrichtung 8 umfasst eine Drahtzufuhrvorrichtung 18, um dem Schweißbrenner 2 einen Draht 19 zuzuführen. Die Drahtzufuhrvorrichtung 18 liefert dem Schweißbrenner 2 den Draht 19, der in Verbindung mit der Vornahme der Schweißtätigkeit verbraucht wird. Die Drahtzufuhrvorrichtung 18 der vorliegenden Ausführungsform ist an dem Roboter 1 fixiert.
  • Die Steuervorrichtung 10 der Robotervorrichtung 8 weist eine Schweißsteuervorrichtung 5 auf, die den Schweißbrenner 2 und die Drahtzufuhrvorrichtung 18 steuert. Die Schweißsteuervorrichtung 5 umfasst eine Rechenverarbeitungsvorrichtung mit einer CPU als Prozessor und einem RAM usw. die über einen Bus an die CPU angeschlossen sind. Außerdem umfasst die Schweißsteuervorrichtung 5 elektrische Schaltungen, die den Schweißbrenner 2 und die Drahtzufuhrvorrichtung 18 mit Strom versorgen. Die Schweißsteuervorrichtung 5 ist an die Robotersteuervorrichtung 4 angeschlossen. Die Schweißsteuervorrichtung 5 ist so ausgeführt, dass sie mit der Robotersteuervorrichtung 4 kommunizieren kann. Die Schweißsteuervorrichtung 5 liefert dem Schweißbrenner 2 gemäß dem Betrieb des Roboters 1 Strom und führt ihm den Draht 19 zu. Die Schweißsteuervorrichtung 5 der vorliegenden Ausführungsform wird durch die Robotersteuervorrichtung 4 gesteuert.
  • Die Robotersteuervorrichtung 4 umfasst ein Lehrbedienpanel 3 zur Betätigung der Robotersteuervorrichtung 4 durch einen Betreiber. Das Lehrbedienpanel 3 weist eine Eingabeeinheit 3a zum Eingeben von Informationen im Zusammenhang mit dem Roboter 1 und dem Schweißbrenner 2 auf. Das Lehrbedienpanel 3a ist durch Elemente wie eine Tastatur und einen Drehknopf und dergleichen gebildet. Das Lehrbedienpanel 3 weist eine Anzeigeeinheit 3b auf, die Informationen mit der Steuerung der Robotervorrichtung 8 anzeigt. Die Anzeigeeinheit 3b ist durch ein Anzeigepanel wie etwa ein Flüssigkristallanzeigepanel gebildet.
  • In die Robotersteuervorrichtung 4 wird ein Betriebsprogramm 41, das vorab zur Vornahme der Steuerung der Robotervorrichtung 8 erstellt wurde, eingegeben. Oder der Betreiber kann durch Antreiben des Roboters 1 unter Betätigung des Lehrbedienpanels 3 eine Lehrtätigkeit zur Festlegung von Lehrpunkten für den Roboter 1 vornehmen. Die Robotersteuervorrichtung 4 kann das Betriebsprogramm 41 des Roboters 1 und des Schweißbrenners 2 auf Basis der Lehrpunkte erzeugen. Die Robotervorrichtung 8 nimmt auf Basis des Betriebsprogramms 41 eine Schweißtätigkeit vor.
  • Die Robotersteuervorrichtung 4 umfasst eine Speichereinheit 42, die Informationen im Zusammenhang mit der Steuerung des Roboters 1 und des Schweißbrenners speichert. Die Speichereinheit 42 kann durch ein Speichermedium, das Informationen speichern kann, wie etwa einen flüchtigen Speicher, einen nichtflüchtigen Speicher, eine Festplatte oder dergleichen gebildet werden. Das Betriebsprogramm 41 wird in der Speichereinheit 42 gespeichert.
  • Die Robotersteuervorrichtung 4 umfasst eine Betriebssteuereinheit 43, die Betriebsbefehle für den Roboter 1 und den Schweißbrenner 2 ausgibt. Die Betriebssteuereinheit 43 entspricht dem gemäß dem Betriebsprogramm 41 betriebenen Prozessor. Die Betriebssteuereinheit 43 ist so ausgeführt, dass sie in der Speichereinheit 42 gespeicherte Informationen auslesen kann. Der Prozessor wirkt durch Lesen des Betriebsprogramms 41 und Ausführen der in dem Betriebsprogramm 41 festgelegten Steuerungen als Betriebssteuereinheit 43. Außerdem wirkt der Prozessor durch Antreiben des Roboters 1 auf Basis von Befehlen von einer ersten Bildverarbeitungseinheit 51 als Betriebssteuereinheit 43.
  • Die Betriebssteuereinheit 43 gibt Betriebsbefehle zum Antrieb des Roboters 1 an eine Roboterantriebseinheit 45 aus. Die Roboterantriebseinheit 45 versorgt die Roboterantriebsmotoren 22 auf Basis der Betriebsbefehle mit Strom. Außerdem steuert die Betriebssteuereinheit 43 den Betrieb des Schweißbrenners 2. Die Betriebssteuereinheit 43 gibt auf Basis des Betriebsprogramms 41 Betriebsbefehle zum Antrieb des Schweißbrenners 5 und der Drahtzufuhrvorrichtung 18 an die Schweißsteuervorrichtung 5 aus. Die Schweißsteuervorrichtung 5 versorgt den Schweißbrenner 2 und die Drahtzufuhrvorrichtung 18 auf Basis der Betriebsbefehle mit Strom.
  • Der Roboter 1 umfasst eine Zustandsdetektionseinheit zum Detektieren der Position und der Lage des Roboters 1. Die Zustandsdetektionseinheit bei der vorliegenden Ausführungsform umfasst Positionsdetektoren 23, die an den Roboterantriebsmotoren 22 angebracht sind. Durch den Ausgang der Positionsdetektoren 23 kann die Ausrichtung der Elemente des Roboters 1 an den jeweiligen Antriebsachsen erlangt werden. Beispielsweise detektieren die Positionsdetektoren 23 den Drehwinkel beim Antrieb durch die Robotermotoren 22. Bei der vorliegenden Ausführungsform werden die Position und die Lage des Roboters 1 auf Basis der Ausgänge der mehreren Positionsdetektoren 23 detektiert.
  • Die Steuervorrichtung 10 der Robotervorrichtung 8 der vorliegenden Ausführungsform umfasst die Robotersteuervorrichtung 4, die den Roboter 1 steuert, und die Schweißsteuervorrichtung 5, die den Schweißbrenner 2 und die Drahtzufuhrvorrichtung 18 steuert, doch besteht keine Beschränkung auf diese Ausführung. Die Robotervorrichtung 8 kann auch so ausgeführt sein, dass sie den Roboter 1, den Schweißbrenner 2 und die Drahtzufuhrvorrichtung 18 durch eine einzelne Steuervorrichtung steuert. Zum Beispiel kann die Robotersteuervorrichtung 4 auch über die Funktionen der Schweißsteuervorrichtung 5 verfügen.
  • Für die Robotervorrichtung 8 der vorliegenden Ausführungsform ist ein globales Koordinatensystem 71 festgelegt. Bei dem Beispiel, das in 1 gezeigt ist, ist der Ursprungspunkt des globalen Koordinatensystems 71 an dem Basisabschnitt 14 des Roboters 1 angeordnet. Das globale Koordinatensystem 71 wird auch als Basiskoordinatensystem des Roboters 1 bezeichnet. Das globale Koordinatensystem 71 ist ein Koordinatensystem, bei dem die Position des Ursprungspunkts fest ist und auch die Ausrichtung der Koordinatenachsen fest ist. Die Position und die Lage des globalen Koordinatensystems 71 verändern sich auch dann nicht, wenn sich die Position und die Lage des Roboters 1 verändern. Das globale Koordinatensystem 71 weist als Koordinatenachsen eine X-Achse, eine Y-Achse und eine Z-Achse auf, die zueinander orthogonal verlaufen. Außerdem ist als Koordinatenachse um die X-Achse eine W-Achse eingerichtet, als Koordinatenachse um die Y-Achse eine P-Achse eingerichtet, und als Koordinatenachse um die Z-Achse eine R-Achse eingerichtet.
  • Bei der vorliegenden Ausführungsform ist ein Werkzeugkoordinatensystem festgelegt, das einen an einer beliebigen Position des Arbeitswerkzeugs eingerichteten Ursprungspunkt aufweist. Der Ursprungspunkt des Werkzeugkoordinatensystems 72 der vorliegenden Ausführungsform ist an einem vorderen Endpunkt des Werkzeugs eingerichtet. Das Werkzeugkoordinatensystem 72 weist als Koordinatenachsen eine X-Achse, eine Y-Achse und eine Z-Achse auf, die zueinander orthogonal verlaufen. Bei dem Beispiel, das in 1 gezeigt ist, ist der Ursprungspunkt des Werkzeugkoordinatensystems 72 an dem Spitzenendpunkt des Drahts 19 eingerichtet. Außerdem ist das Werkzeugkoordinatensystem 72 so eingerichtet, dass die Verlaufsrichtung der Z-Achse parallel zu der Verlaufsrichtung des von dem Spitzenende des Schweißbrenners 2 vorstehenden Drahts 19 verläuft. Das Werkzeugkoordinatensystem 72 weist eine W-Achse um die X-Achse, eine P-Achse um die Y-Achse und eine R-Achse um die Z-Achse auf.
  • Wenn sich die Position und die Lage des Roboters 1 verändern, verändern sich die Position und die Lage des Ursprungspunkts des Werkzeugkoordinatensystems 72. Zum Beispiel entspricht die Position des Roboters 1 der Position des vorderen Endpunkts des Werkzeugs (der Position des Ursprungspunkts des Werkzeugkoordinatensystems). Die Lage des Roboters 1 entspricht der Ausrichtung des Werkzeugkoordinatensystems 72 in Bezug auf das globale Koordinatensystem 71.
  • Die Robotersteuervorrichtung 4 umfasst eine erste Kamera 27 als optischen Sensor, der jenen Bereich aufnimmt, in dem die Robotervorrichtung 8 eine Tätigkeit vornimmt. Die erste Kamera 27 bei der vorliegenden Ausführungsform ist eine 3D-Kamera. Als 3D-Kamera kann zum Beispiel eine Laufzeitkamera (Time-of-Flight-Kamera), die gemäß dem Lichtlaufzeitverfahren ein Entfernungsbild aufnimmt, eingesetzt werden. Die erste Kamera 27 ist nicht auf eine 3D-Kamera beschränkt, sondern kann auch eine 2D-Kamera sein.
  • Die erste Kamera 27 wird an dem Roboter 1 getragen. Die erste Kamera 27 der vorliegenden Ausführungsform ist an einem Hauptabschnitt des Schweißbrenners 2 fixiert und bewegt sich zusammen mit dem Schweißbrenner 2. Die Robotersteuervorrichtung 4 umfasst die erste Bildverarbeitungseinheit 51, die die Bilder der ersten Kamera 27 verarbeitet. Die erste Bildverarbeitungseinheit 51 umfasst eine Arbeitspositionsdetektionseinheit 52, die auf Basis der Bilder, die durch die erste Kamera 27 aufgenommen wurden, die Position, an der der Schweißbrenner 2 die Tätigkeit vornimmt, detektiert. Die erste Bildverarbeitungseinheit 51 umfasst eine Korrekturausmaßberechnungseinheit 53, die auf Basis der Arbeitsposition, die durch die Arbeitspositionsdetektionseinheit 52 detektiert wurde, Korrekturausmaße der Position des Roboters 1 in Bezug auf die Bewegungspunkte eines ersten Bewegungspfads berechnet. Die erste Bildverarbeitungseinheit 51 umfasst eine Befehlserzeugungseinheit 54, die auf Basis der Korrekturausmaße, die durch die Korrekturausmaßberechnungseinheit 53 berechnet wurden, einen Befehl zum Antrieb des Roboters auf einem zweiten Bewegungspfad, für die der erste Bewegungspfad korrigiert wurde, ausgibt.
  • Jede Einheit aus der Bildverarbeitungseinheit 51, der Arbeitspositionsdetektionseinheit 52, der Korrekturausmaßberechnungseinheit 53 und der Befehlserzeugungseinheit 54 entspricht dem gemäß dem Betriebsprogramm 41 arbeitenden Prozessor. Der Prozessor wirkt durch Lesen des Betriebsprogramms 41 und Ausführen der in dem Betriebsprogramm 41 festgelegten Steuerungen als die jeweiligen Einheiten.
  • Die Robotersteuervorrichtung 4 umfasst eine Prüfvorrichtung, die eine Prüfung der Qualität des Bereichs, in dem die Robotervorrichtung 8 die Tätigkeit vorgenommen hat, durchführt. Bei der vorliegenden Ausführungsform werden die Form der durch das Bogenschweißen erzeugten Schweißraupe und die Form des Werkstücks um die Schweißraupe geprüft. Die Robotervorrichtung 8 umfasst einen Formdetektionssensor, um die Form des Bereichs nach der Vornahme der Tätigkeit durch die Robotervorrichtung 8 zu detektieren. Bei der vorliegenden Ausführungsform ist für den Formdetektionssensor eine zweite Kamera 28, die einen optischen Sensor darstellt, eingerichtet. Die zweite Kamera 28 der vorliegenden Ausführungsform ist eine 3D-Kamera. Die zweite Kamera 28 wird an dem Roboter 1 getragen. Bei der vorliegenden Ausführungsform ist die zweite Kamera 28 an dem Hauptabschnitt des Schweißbrenners 2 fixiert und bewegt sich zusammen mit dem Schweißbrenner 2.
  • Der optische Sensor als Formdetektionssensor ist nicht auf eine 3D-Kamera beschränkt, sondern es kann auch eine 2D-Kamera eingesetzt werden. Außerdem kann für den Formdetektionssensor ein beliebiger Sensor eingesetzt werden, der die Form des Bereichs nach der Vornahme der Tätigkeit durch die Robotervorrichtung 8 detektieren kann. Beispielsweise kann für den Formdetektionssensor ein Kontaktsensor, der die Form eines Werkstücks durch einen Kontakt mit dem Werkstück detektieren kann, oder dergleichen eingesetzt werden.
  • Die Robotersteuervorrichtung 4 umfasst eine zweite Bildverarbeitungseinheit 57, die die Bilder, die durch die zweite Kamera 28 aufgenommen wurden, verarbeitet. Die zweite Bildverarbeitungseinheit 57 umfasst eine Prüfstellendetektionseinheit 58, die auf Basis der Bilder, die durch die zweite Kamera 28 aufgenommen wurden, die Stellen, an denen die Prüfung vorgenommen wird, detektiert. Die zweite Bildverarbeitungseinheit 57 umfasst eine Variablenberechnungseinheit 59, die auf Basis der Form, die durch den Ausgang der zweiten Kamera 28 detektiert wurde, eine Qualitätsvariable, die die Qualität des Werkstücks angibt, berechnet, Bei der vorliegenden Ausführungsform entsprechen, wie später beschrieben werden wird, die Breite der Schweißraupe und die Tiefe einer Hinterschneidung und dergleichen der Qualität des Werkstücks.
  • Die zweite Bildverarbeitungseinheit 57 umfasst eine Bestimmungseinheit 60, die auf Basis einer Wechselbeziehung zwischen dem Korrekturausmaß der Position des ersten Bewegungspfads und der Qualitätsvariablen die Maßnahme der Korrektur der Position oder der Lage des Roboters bestimmt. Das Bestimmungsergebnis durch die Bestimmungseinheit 60 wird an der Anzeigeeinheit 3b des Lehrbedienpanels 3 angezeigt.
  • Jede Einheit aus der zweiten Bildverarbeitungseinheit 57, der Prüfstellendetektionseinheit 58, der Variablenberechnungseinheit 59 und der Bestimmungseinheit 60 entspricht dem gemäß dem Betriebsprogramm 41 arbeitenden Prozessor. Der Prozessor wirkt durch Lesen des Betriebsprogramms 41 und Ausführen der in dem Betriebsprogramm 41 festgelegten Steuerungen als die jeweiligen Einheiten.
  • 4 zeigt eine vergrößerte Schrägansicht von Werkstücken und des Schweißbrenners, wenn durch die erste Robotervorrichtung der vorliegenden Ausführungsform ein Schweißen vorgenommen wird. Bei der vorliegenden Ausführungsform ist ein Werkstück 81 an einer oberen Fläche einer Halterung 89 fixiert. An einer oberen Fläche 81a des Werkstücks 81 ist ein Werkstück 82 angeordnet. Die in 4 gezeigten Werkstücke 81, 82 sind plattenförmige Elemente. Die Werkstücke 81, 82 sind durch nicht gezeigte Befestigungsmittel an der Halterung 89 fixiert. Die Robotervorrichtung 8 fixiert eine Endfläche 82a des Werkstücks 82 durch Schweißen an der oberen Fläche 81a des Werkstücks 81. Die Robotersteuervorrichtung 4 verändert die Position und die Lage des Roboters 1 so, dass sich der Schweißbrenner 2 wie mit dem Pfeil 91 gezeigt entlang der Endfläche 82a bewegt. Bei der vorliegenden Ausführungsform wird das Schweißen vorgenommen, während die Position des Roboters 1 auf Basis der Bilder, die durch die erste Kamera 27 aufgenommen wurden, korrigiert wird.
  • 5 ist eine Ansicht die den Bewegungspfad vor einer Korrektur der Position des Roboters und den Bewegungspfad nach einer Korrektur zeigt. Der Bewegungspfad entspricht zum Beispiel einem Pfad, auf dem der Spitzenendpunkt des Werkzeugs verläuft. Unter Bezugnahme auf 4 und 5 sind in dem Betriebsprogramm 41 ein Lehrpunkt TP1, an dem das Schweißen begonnen wird, und ein Lehrpunkt TP2, an dem das Schweißen beendet wird. festgelegt. Der Bewegungspfad vor der Korrektur der Position des Roboters 1 ist ein erster Bewegungspfad 77. Der erste Bewegungspfad 77 ist ein auf dem Betriebsprogramm 41 beruhender Bewegungspfad. Der erste Bewegungspfad 77 verläuft von dem Lehrpunkt TP1 zu dem Lehrpunkt TP2. Der erste Bewegungspfad 77 wird auf Basis der Bilder, die durch die erste Kamera 27 aufgenommen wurden, korrigiert und ein zweiter Bewegungspfad 78 als Bewegungspfad nach der Korrektur erzeugt.
  • 6 zeigt ein Ablaufdiagramm der Steuerung bei der Vornahme eines Bogenschweißens durch die erste Robotervorrichtung. Unter Bezugnahme auf 3 bis 6 erlangt die Betriebssteuereinheit 43 am Beginn der Steuerung zur Vornahme des Schweißens durch die Robotervorrichtung 8 in Schritt 111 die Lehrpunkte TP1, TP2 aus dem Betriebsprogramm 41. Die Betriebssteuereinheit 43 legt zwischen dem Lehrpunkt TP1 und dem Lehrpunkt TP2 mehrere Interpolationspunkte fest. Die Interpolationspunkte werden entlang des ersten Bewegungspfads 77 festgelegt. Die Interpolationspunkte können zum Beispiel in vorab bestimmen Abständen festgelegt werden. Bei dem Beispiel, das in 5 gezeigt ist, sind von den mehreren Interpolationspunkten, die zwischen dem Lehrpunkt TP1 und dem Lehrpunkt TP2 festgelegt wurden, Interpolationspunkte IP1, IP2, IP3 und IP4 gezeigt. Bei der vorliegenden Ausführungsform werden die Lehrpunkte und die Interpolationspunkte zusammengefasst als Bewegungspunkte bezeichnet. In 5 sind auf dem ersten Bewegungspfad 77 Bewegungspunkte MP1 bis MP6 vor der Korrektur gezeigt. Beispielsweise entspricht der Bewegungspunkt MP1 dem Lehrpunkt TP1 und entspricht der Bewegungspunkt MP3 dem Interpolationspunkt IP1.
  • In Schritt 112 nimmt die erste Kamera 27 den Bereich, in dem das Schweißen vorgenommen wird, auf. Bei der vorliegenden Ausführungsform nimmt die erste Kamera 27 Bilder auf, die die Endfläche 82a des Werkstücks 82 und die obere Fläche 81a des Werkstücks 81 enthalten. Die erste Bildverarbeitungseinheit 51 erlangt die Bilder der ersten Kamera 27.
  • In Schritt S113 detektiert die Arbeitspositionsdetektionseinheit 52 der ersten Bildverarbeitungseinheit 51 die Position, an der das Schweißen der Werkstücke 81, 82 vorgenommen wird. Die Arbeitspositionsdetektionseinheit 52 detektiert in den Bildern, die durch die erste Kamera 27 aufgenommen wurden, die Linie, an der die Endfläche 82a des Werkstücks 82 und die obere Fläche 81a des Werkstücks 81 in Kontakt stehen. Zum Beispiel kann vorab ein Referenzbild der Werkstücke 81, 82 erzeugt werden. Die Arbeitspositionsdetektionseinheit 52 kann die Linie, an der die Endfläche 82a des Werkstücks 82 und die obere Fläche 81a des Werkstücks 81 in Kontakt stehen, unter Verwendung des Referenzbilds und der tatsächlich aufgenommenen Bilder durch das Mustervergleichsverfahren detektieren.
  • Da die erste Kamera 27 bei der vorliegenden Ausführungsform eine 3D-Kamera ist, wird die Entfernung von der ersten Kamera 27 bis zu einer in den Bildern enthaltenen Stelle detektiert. Die erste Kamera 27 ist so kalibriert, dass sie auf Basis der Position eines Bildschirmkoordinatensystems in den Bildern und der Entfernung von der ersten Kamera 27 eine tatsächliche Position detektieren kann. Die Arbeitspositionsdetektionseinheit 52 kann die dreidimensionale Position der Linie, an der die Endfläche 82a des Werkstücks 82 und die obere Fläche 81a des Werkstücks 81 in Kontakt stehen, detektieren. Das heißt, die Arbeitspositionsdetektionseinheit 52 kann die dreidimensionale Position des Bereichs, in dem das Schweißen vorgenommen wird, detektieren. Bei der vorliegenden Ausführungsform wird der Spitzenendpunkt des Werkzeugs in der Nähe der Linie, an der die obere Fläche 81a des Werkstücks 81 und die Endfläche 82a des Werkstücks 82 in Kontakt stehen, angeordnet.
  • Als nächstes berechnet die Korrekturausmaßberechnungseinheit 53 in Schritt 114 auf Basis der Position des Roboters 1 an den jeweiligen Bewegungspunkten und der Position des Bereichs, in dem das Schweißen vorgenommen wird, das Korrekturausmaß der Positionen der Bewegungspunkte MP1 bis MP6. Bei dem Beispiel, das in 5 gezeigt ist, werden für die jeweiligen Bewegungspunkte MP3 bis MP6 (die Interpolationspunkte IP1 bis IP4) auf Basis der durch die erste Kamera 27 aufgenommenen Bilder Korrekturausmaße D1 bis D4 berechnet. Die Korrekturausmaße der Position an dem Bewegungspunkt MP1 (den Lehrpunkt TP1), an dem das Schweißen begonnen wird, und dem Bewegungspunkt MP2 (den Lehrpunkt TP2), an dem das Schweißen beendet wird, betragen null. Ein Bewegungspunkt MPC1 nach der Korrektur befindet sich an der gleichen Position wie der Bewegungspunkt MP1 vor der Korrektur. Und ein Bewegungspunkt MPC2 nach der Korrektur befindet sich an der gleichen Position wie der Bewegungspunkt MP2 vor der Korrektur.
  • In Schritt 115 berechnet die Korrekturausmaßberechnungseinheit 53 auf Basis der Korrekturausmaße D1 bis D4 die Positionen von Interpolationspunkten IPC1 bis IPC4 nach der Korrektur (Bewegungspunkten MPC3 bis MPC6 nach der Korrektur). Ein Bewegungspfad auf Basis der Bewegungspunkte MPC1 bis MPC6 nach der Korrektur entspricht einem zweiten Bewegungspfad 78 nach der Korrektur.
  • In Schritt 116 berechnet die Korrekturausmaßberechnungseinheit 53 für die Bewegungspunkte MPC2 bis MPC6 nach der Korrektur die Entfernung L von einem vorab festgelegten Referenzpunkt. Bei der vorliegenden Ausführungsform berechnet die Korrekturausmaßberechnungseinheit 53 die Entfernung L von dem Bewegungspunkt MPC1, der der Anfangspunkt der Tätigkeit ist. Die Korrekturausmaßberechnungseinheit 53 berechnet die Entfernung entlang des zweiten Bewegungspfads 78. Bei dem Beispiel, das in 5 gezeigt ist, ist eine Entfernung L1 von dem Bewegungspunkt MPC1 bis zu dem Bewegungspunkt MPC3 nach der Korrektur gezeigt. Auf die gleiche Weise werden für die Bewegungspunkte MPC4, MPC5, MPC6 und MPC2 nach der Korrektur Entfernungen L2, L3, L4 und L5 von dem Beweg1ungspunkt MPC1 berechnet.
  • In Schritt 117 speichert die Speichereinheit 42 die Korrekturausmaße D1 bis D4 der Position des Roboters 1 und die Entfernungen L1 bis L5 von dem Referenzpunkt. Die Speichereinheit 42 speichert für die jeweiligen Bewegungspunkte MPC1 bis MPC6 nach der Korrektur das Korrekturausmaß D der Position und die Entfernung L von dem Referenzpunkt in Kombination. Mit anderen Worten speichert die Speichereinheit 42 das Korrekturausmaß D als Funktion der Entfernung L.
  • Dann gibt die Befehlserzeugungseinheit 54 in Schritt 118 auf Basis der Positionen der Bewegungspunkte MPC1 bis MPC6 nach der Korrektur einen Befehl zur Änderung der Position des Roboters 1 aus. Die Befehlserzeugungseinheit 54 erzeugt den Betriebsbefehl des Roboters 1 so, dass sich der Spitzenendpunkt des Werkzeugs entlang des zweiten Bewegungspfads 78 nach der Korrektur bewegt. Die Betriebssteuereinheit 43 treibt den Roboter 1 auf dem zweiten Bewegungspfad 78, für den der erste Bewegungspfad auf Basis der durch die Korrekturausmaßberechnungseinheit 53 berechneten Korrekturausmaße korrigiert wurde, an. Die Betriebssteuereinheit 43 nimmt während des Antriebs des Roboters 1 das Schweißen vor.
  • In diesem Fall kann das Schweißen ohne Veränderung der Lage des Roboters 1 vorgenommen werden. Was die Lage des Roboters 1 an den jeweiligen Bewegungspunkten MPC1 bis MPC6 nach der Korrektur betrifft, kann die Lage des Roboters 1 an den Bewegungspunkten MP1 bis MP6 vor der Korrektur verwendet werden. Zum Beispiel kann für die Lage des Roboters 1 an dem Bewegungspunkt MPC3 die Lage des Roboters 1 an dem Bewegungspunkt MP3 verwendet werden.
  • Auf diese Weise berechnet die Robotersteuervorrichtung 4 durch Verarbeiten der Bilder, die durch die erste Kamera 27 aufgenommen wurden, die Abweichung des Bewegungspfads in Bezug auf die Position, an der die tatsächliche Bearbeitung der Werkstücke vorgenommen wird. Die Robotersteuervorrichtung 4 nimmt das Schweißen unter Korrektur der Position des Roboters 1 auf Basis der Abweichung des Bewegungspfads vor.
  • 7 zeigt ein Ablaufprogramm einer Steuerung, wodurch Parameter für eine Prüfung, die zusammen mit dem Schweißen vorgenommen wird, erlangt werden. Unter Bezugnahme auf 3, 4 und 7 werden in Schritt 121 eine Schweißraupe 80 nach der Vornahme des Schweißens und die Werkstücke 81, 82 durch die zweite Kamera 28 aufgenommen. Die zweite Kamera 28 nimmt einen Bereich nach der Vornahme der Tätigkeit durch die Robotervorrichtung 8 auf. Die Prüfstellendetektionseinheit 58 der zweiten Bildverarbeitungseinheit 57 detektiert in den durch die zweite Kamera 28 aufgenommenen Bildern die Stellen, an denen die Prüfung vorgenommen wird. Zum Beispiel detektiert die Prüfstellendetektionseinheit 58 die Prüfstellen in den Bildern auf Basis eines vorab erstellten Referenzbilds der Prüfstelle. Bei diesem Beispiel detektiert die Prüfstellendetektionseinheit 58 den Bereich der Schweißraupe 80 und der Umgebung der Schweißraupe 80.
  • In Schritt 122 detektiert die Prüfstellendetektionseinheit 58 Formparameter der Schweißraupe 80 und der Werkstücke 81, 82 an den Bewegungspunkten MPC1 bis MPC6 nach der Korrektur. Nun werden die Formparameter der Schweißraupe 80 und der Werkstücke 81, 82 für die Bewertung der Qualität der Werkstücke 81, 82 nach der Vornahme des Schweißens erklärt.
  • 8 zeigt eine vergrößerte Schnittansicht der Werkstücke und der Schweißraupe nach der Vornahme des Schweißens. In 8 sind die Parameter bezüglich der Qualität der Werkstücke 81, 82 nach der Vornahme des Schweißens gezeigt. Bei der vorliegenden Ausführungsform ist die zweite Kamera 28 eine 3D-Kamera. Daher können verschiedene Abmessungen im Zusammenhang mit dem Bereich, an dem das Schweißen vorgenommen wurde, detektiert werden.
  • Eine Dicke tw1 des Werkstücks 81 und eine Dicke tw2 des Werkstücks 82 wurden im Vorhinein gemessen. Unter den Parametern zur Bestimmung der Qualität des Schweißens ist eine Höhe hb der Schweißraupe enthalten. Die Höhe hb der Schweißraupe kann durch den Unterschied zwischen der Position des höchsten Punkts an der Oberfläche der Schweißraupe 80 und der Position eines Punkts an der oberen Fläche 81a des Werkstücks 81 berechnet werden. Unter den Parametern zur Bestimmung der Qualität des Schweißens ist eine Wulst he enthalten. Die Wulst he kann durch Subtrahieren der Dicke tw2 des Werkstücks 82 von der Höhe hb der Schweißraupe berechnet werden. Das Ausmaß der Wulst beträgt zum Beispiel vorzugsweise etwa 10 % der Dicke tw2 des Werkstücks 82. Ferner ist unter den Parametern zur Bestimmung der Qualität eine Breite wb der Wulst enthalten. Die Breite wb der Wulst weist vorzugsweise etwa das gleiche Ausmaß wie die Dicke tw2 des Werkstücks 82 auf. Außerdem beträgt ein Winkel ab in Bezug auf die Schweißraupe 80 vorzugsweise etwa 45 °.
  • Bei der Vornahme des Bogenschweißens kann es vorkommen, dass an dem Werkstück 81 eine Hinterschneidung 81b gebildet wird. Eine Tiefe du der Hinterschneidung 81b kann durch den Unterschied zwischen der Position des tiefsten Punkts der Hinterschneidung 81b und der Position eines Punkts an der oberen Fläche 81a des Werkstücks 81 berechnet werden. Die Tiefe du der Hinterschneidung 81b ist vorzugsweise klein. Das heißt, es ist günstig, wenn die Tiefe du der Hinterschneidung 81b null beträgt.
  • 9 zeigt eine vergrößerte Schnittansicht von anderen Werkstücken und einer Schweißraupe nach der Vornahme des Schweißens. 9 zeigt eine Schnittansicht, wenn plattenförmige Werkstücke 83, 84 dick sind und ein Kehlnahtschweißen vorgenommen wurde. Wenn ein Kehlnahtschweißen vorgenommen wird, kann es vorkommen, dass in dem Werkstück 83 eine Hinterschneidung 83a gebildet wird und in dem Werkstück 84 eine Hinterschneidung 84a gebildet wird. Auch in einem solchen Fall können die Höhe hb der Schweißraupe, die Breite wb der Schweißraupe 80, Tiefen dul, du2 der Hinterschneidungen 83a, 84a und der Winkel ab der Schweißraupe detektiert werden.
  • Unter Bezugnahme auf 7 detektiert die Prüfstellendetektionseinheit 58 in Schritt 122 die wie in 8 und 9 gezeigten Formparameter im Zusammenhang mit der Qualität der Werkstücke. In Schritt 123 speichert die Speichereinheit 42 die Formparameter an den Bewegungspunkten MPC1 bis MPC6 nach der Korrektur.
  • 10 zeigt Beispiele für Kurven der Parameter, die durch die Prüfstellendetektionseinheit detektiert wurden. 10 zeigt Bilder, die an der Anzeigeeinheit 3a des Lehrbedienpanels 3 angezeigt werden. Als Parameter für die Prüfung der Qualität sind die Höhe der Schweißraupe, die Breite der Schweißraupe, die Tiefe der Hinterschneidung und die Wulst gezeigt. Es ist die Größe der Parameter in Bezug auf die Entfernung L von dem Bewegungspunkt MPC1 als Referenzpunkt gezeigt. Die Robotersteuervorrichtung 4 ändert die Position und die Lage des Roboters 1 so, dass die Parameter an allen Bewegungspunkten MPC1 bis MPC6 gemessen werden können. Auf diese Weise kann die Prüfstellendetektionseinheit 58 die Größe der Parameter an den jeweiligen Bewegungspunkten MPC1 bis MPC6 detektieren.
  • Erste Steuerung zur Bestimmung der Maßnahme der Korrektur der Position oder der Lage des Roboters
  • 11 zeigt ein Ablaufdiagramm einer ersten Steuerung zur Bestimmung der Maßnahme der Korrektur der Position oder der Lage des Roboters. Unter Bezugnahme auf 3, 5 und 11 berechnet die Variablenberechnungseinheit 59 der zweiten Bildverarbeitungseinheit 57 auf Basis der Formparameter, die aus den durch die zweite Kamera 28 aufgenommenen Bildern detektiert wurden, eine Qualitätsvariable, die die Qualität der Werkstücke nach dem Schweißen angibt.
  • In Schritt 131 erlangt die Variablenberechnungseinheit 59 die Formparameter an den Bewegungspunkten MPC1 bis MPC6 nach der Korrektur. In Schritt 132 berechnet die Variablenberechnungseinheit 59 eine Bewertung Δs als Qualitätsvariable, die die Qualität der Werkstücke 81, 82 an den jeweiligen Bewegungspunkten MCP1 bis MPC6 angibt.
  • Bei der vorliegenden Ausführungsform wird eine Bewertung Δs berechnet, die gleichzeitig mehrere Parameter bewertet. Wenn zum Beispiel wie in 8 gezeigt dünne Werkstücke 81, 82 geschweißt werden, kann die Variable S wie durch die nachstehende Formel (1) gezeigt berechnet werden. S = C ( t w 1 d u ) t w 1 + ( 1 C ) h b t w 2
    Figure DE102020128718A1_0001
  • Hier ist der Koeffizient C eine Gewichtung, die der Betreiber je nach dem Wichtigkeitsgrad festlegt. Für den Koeffizienten C kann ein Wert, der größer als 0 und kleiner als 1 ist, verwendet werden. Durch die Formel (1) wird eine Bewertung für die Höhe hb der Schweißraupe und die Tiefe du der Hinterschneidung vorgenommen. Die Höhe hb der Schweißraupe liegt vorzugsweise nahe an der Dicke tw2 des zweiten Werkstücks 82. Die Tiefe du der Hinterschneidung beträgt vorzugsweise null. Als Ergebnis kann bewertet werden, dass die Qualität der Werkstücke nach der Vornahme des Schweißens umso besser ist, je näher die Variable S an 100 % liegt.
  • Wenn wie in 9 gezeigt ein Kehlnahtschweißen an dicken Werkstücken 83, 84 vorgenommen wird, kann die Variable S wie durch die nachstehende Formel (2) gezeigt berechnet werden. S = 1 2 h b t w 2 + 1 2 w b t w 1
    Figure DE102020128718A1_0002
  • Durch die Formel (2) wird eine Bewertung für die Höhe hb der Schweißraupe und die Breite wb der Schweißraupe vorgenommen. Da die Tiefen dul, du2 der Hinterschneidungen kein Problem darstellen, wenn die Werkstücke 83, 84 dick sind, kann eine Variable S, die die Höhe hb der Schweißraupe und die Breite wb der Schweißraupe bewertet, verwendet werden. Wie bei der Formel (1) ist die Qualität der Werkstücke nach der Vornahme des Schweißens umso besser, je näher die Variable S an 100 % liegt.
  • Als nächstes kann bei der vorliegenden Ausführungsform wie durch die folgende Formel (3) gezeigt auf Basis der Variablen S eine Bewertung Δs berechnet werden. Δ S = | 100 S |
    Figure DE102020128718A1_0003
  • Die Bewertung Δs zeigt die Qualität der Werkstücke. Es kann beurteilt werden, dass die Qualität umso besser ist, je kleiner die Bewertung Δs ist. Die Bewertung Δs kann für jeden Bewegungspunkt MC1 bis MC6 nach der Korrektur berechnet werden. Außerdem kann die Bewertung Δs als Funktion der Entfernung L berechnet werden.
  • Die Bewertung Δs als Qualitätsvariable ist nicht auf die oben beschriebene Ausführungsweise beschränkt, sie kann für beliebige Formparameter festgelegt werden. Außerdem kann für die Qualitätsvariable ein Formparameter, der die Qualität des Schweißens zeigt, gewählt werden. Zum Beispiel kann für die Breite der Schweißraupe ein Referenzwert einer idealen Schweißraupenbreite festgelegt werden. Dann kann die Qualitätsvariable auf Basis des Unterschieds zwischen der tatsächlich gemessenen Schweißraupenbreite und des Referenzwerts berechnet werden.
  • Als nächstes bestimmt die Bestimmungseinheit 60 der zweiten Bildverarbeitungseinheit 57 auf Basis der Wechselbeziehung zwischen den Korrekturausmaßen D1 bis D4 der Position des ersten Bewegungspfads 77 und der Bewertung Δs die Maßnahme der Korrektur der Position oder der Lage des Roboters 1.
  • In Schritt 133 bestimmt die Bestimmungseinheit 60, ob ein Bewegungspunkt, an dem die Qualitätsvariable von einem vorab festgelegten Entscheidungsbereich abweicht, vorhanden ist oder nicht. Die Bestimmungseinheit 60 bestimmt, ob ein Bewegungspunkt, an dem die Qualität der Werkstücke 81, 82 schlecht ist, vorhanden ist oder nicht. Bei der vorliegenden Ausführungsform bestimmt die Bestimmungseinheit 60, ob ein Bewegungspunkt MPC1 bis MPC6, an dem die Bewertung Δs einen vorab festgelegten Entscheidungswert übersteigt, vorhanden ist oder nicht. Der Entscheidungswert der Bewertung Δs kann im Voraus festgelegt werden.
  • Wenn die Bewertung Δs bei Schritt 133 für alle Bewegungspunkte MPC1 bis MPC6 höchstens den Entscheidungswert beträgt, endet diese Steuerung. Das heißt, diese Steuerung endet, wenn kein Bewegungspunkt, an dem die Qualität der Werkstücke 81, 82 schlecht ist, vorhanden ist. Wenn bei Schritt S133 ein Bewegungspunkt MC1 bis MC6, an dem die Bewertung Δs den Entscheidungswert übersteigt, vorhanden ist, geht die Steuerung zu Schritt 134 über.
  • Die Bestimmungseinheit 60 extrahiert den besten Bewegungspunkt, bei dem es sich um den Bewegungspunkt mit der besten Qualitätsvariablen handelt, und den schlechtesten Bewegungspunkt, bei dem es sich um den Bewegungspunkt mit der schlechtesten Qualitätsvariablen handelt, auf dem zweiten Bewegungspfad 78. In Schritt 134 detektiert die Bestimmungseinheit den Bewegungspunkt MPCbest mit der besten Bewertung Δs unter den mehreren Bewegungspunkten. Bei der vorliegenden Ausführungsform detektiert die Bestimmungseinheit 60 den Bewegungspunkt, an dem die Bewertung Δs am kleinsten ist. Außerdem detektiert die Bestimmungseinheit 60 das Korrekturausmaß Dbest des Bewegungspunkts mit der besten Bewertung Δs.
  • In Schritt 135 detektiert die Bestimmungseinheit den Bewegungspunkt MPCworst mit der schlechtesten Bewertung Δs unter den mehreren Bewegungspunkten. Bei der vorliegenden Ausführungsform detektiert die Bestimmungseinheit 60 den Bewegungspunkt, an dem die Bewertung Δs am größten ist. Außerdem detektiert die Bestimmungseinheit 60 das Korrekturausmaß Dworst des Bewegungspunkts mit der schlechtesten Bewertung Δs.
  • In Schritt 136 vergleicht die Bestimmungseinheit 60 die Größe des Korrekturausmaßes Dbest und die Größe des Korrekturausmaßes Dworst. Bei der ersten Steuerung der vorliegenden Ausführungsform wird dann, wenn das Korrekturausmaß der Position, das die Bewertung Δs stark beeinflusst, klein ist, bestimmt, dass das Korrekturausmaß der Position ein Hauptgrund für die Verschlechterung der Bewertung ist. In diesem Fall kann bestimmt werden, dass eine Korrektur der Position des zweiten Bewegungspfads erforderlich ist. Wenn die Bewertung Δs andererseits trotz der Vornahme einer Korrektur der Position hervorragend ist, wird beurteilt, dass der Einfluss der Position des Roboters gering ist. In diesem Fall kann bestimmt werden, dass eine Korrektur der Lage des Roboters auf dem zweiten Bewegungspfad erforderlich ist.
  • Wenn in Schritt 136 das Korrekturausmaß Dbest kleiner als das Korrekturausmaß Dworst ist, geht die Steuerung zu Schritt 137 über. In Schritt 137 fügt die Bestimmungseinheit den Bewegungspunkt MPCworst zu den Lehrpunkten hinzu. Wenn der Bewegungspunkt MPCworst bereits ein Lehrpunkt ist, geht die Steuerung zu Schritt 138 über.
  • In Schritt 138 gibt die Bestimmungseinheit 60 einen Befehl zur Anzeige, dass die Position des Bewegungspunkts MPCworst korrigiert werden soll, an das Lehrbedienpanel 3 aus. Die Anzeigeeinheit 3b des Lehrbedienpanels 3 zeigt an, dass die Position des Bewegungspunkts MPCworst als neu hinzugefügter Lehrpunkt korrigiert werden soll. Das heißt, die Anzeigeeinheit 3b zeigt eine Bildschirmdarstellung an, die eine Korrektur der Position des Roboters 1 vorschlägt.
  • Wenn andererseits in Schritt 136 das Korrekturausmaß Dbest wenigstens das Korrekturausmaß Dworst beträgt, geht die Steuerung zu Schritt 139 über. In Schritt 139 fügt die Bestimmungseinheit den Bewegungspunkt MPCbest zu den Lehrpunkten hinzu. Wenn der Bewegungspunkt MPCbest bereits ein Lehrpunkt ist, geht die Steuerung zu Schritt 140 über.
  • In Schritt 140 gibt die Bestimmungseinheit 60 einen Befehl zur Anzeige, dass die Lage des Bewegungspunkts MPCbest korrigiert werden soll, an das Lehrbedienpanel 3 aus. Die Anzeigeeinheit 3b des Lehrbedienpanels 3 zeigt an, dass die Lage des Bewegungspunkts MPCbest als neu hinzugefügter Lehrpunkt korrigiert werden soll. Das heißt, die Anzeigeeinheit 3b zeigt eine Bildschirmdarstellung an, die eine Korrektur der Lage des Roboters 1 vorschlägt. Der Betreiber betrachtet die Bildschirmdarstellung der Anzeigeeinheit 3b und kann eine Korrektur der Position oder der Lage des Roboters 1 erwägen.
  • 12 zeigt einen Bewegungspfad, bei dem die Position des Roboters an einem Lehrpunkt, der durch die Bestimmungseinheit hinzugefügt wurde, korrigiert wurde. Bei diesem Beispiel ist der Bewegungspunkt MPC3 nach der Korrektur als Bewegungspunkt, an dem die Position korrigiert werden soll, auf den Lehrpunkt TP3 eingerichtet. Ferner ist die Position des Lehrpunkts TP3 durch den Betreiber korrigiert. Die Robotersteuervorrichtung 8 legt den Bewegungspfad, der durch die Lehrpunkte TP1, TP2, TP3 verläuft, beim Schweißen der nächsten Werkstücke 81, 82 auf den ersten Bewegungspfad 79 fest. Dann legt die Betriebssteuereinheit 43 Interpolationspunkte auf der Strecke zwischen dem Lehrpunkt TP1 und dem Lehrpunkt PT3 und auf der Strecke zwischen dem Lehrpunkt TP3 und dem Lehrpunkt TP2 fest. Die Korrekturausmaßberechnungseinheit 53 berechnet auf Basis der Bilder, die durch die erste Kamera 27 aufgenommen wurden, und des ersten Bewegungspfads ein Korrekturausmaß der Position des Roboters und legt einen zweiten Bewegungspfad fest. Auf diese Weise kann die gleiche Steuerung wie oben wiederholt werden.
  • Wenn bei der ersten Steuerung der vorliegenden Ausführungsform das Korrekturausmaß an dem besten Bewegungspunkt mit der besten Bewertung kleiner als das Korrekturausmaß an dem schlechtesten Bewegungspunkt mit der schlechtesten Bewertung ist, wird bestimmt, dass eine Korrektur der Position des Roboters erforderlich ist. Wenn das Korrekturausmaß an dem besten Bewegungspunkt mit der besten Bewertung andererseits größer als das Korrekturausmaß an dem schlechtesten Bewegungspunkt mit der schlechtesten Bewertung ist, bestimmt die Bestimmungseinheit, dass eine Korrektur der Lage des Roboters erforderlich ist. Dann kann die Anzeigeeinheit eine Bildschirmanzeige darstellen, die eine Korrektur der Position oder der Lage des Roboters vorschlägt.
  • Bei der Steuerung der vorliegenden Ausführungsform wird die Maßnahme der Korrektur der Position oder der Lage des Roboters auf Basis der Wechselwirkung zwischen dem Korrekturausmaß der Position des Bewegungspfads und der Qualitätsvariablen bestimmt. Daher kann die Position oder die Lage des Roboters unabhängig von der Erfahrung oder den Fähigkeiten des Betreibers passend korrigiert werden. Verglichen mit einer Korrektur der Position oder der Lage des Roboters auf Basis der Erfahrung des Betreibers können die Lehrpunkte innerhalb einer kurzen Zeit korrigiert werden.
  • Die Korrektur der Lehrpunkte bei der vorliegenden Ausführungsform kann während des Zeitraums der Herstellung von Produkten unter Anhalten des Betriebs der Robotervorrichtung vorgenommen werden. Zum Beispiel kann die Korrektur der Bewegungspunkte der vorliegenden Ausführungsform vorgenommen werden, wenn eine Bildschirmdarstellung angezeigt wurde, die eine Korrektur der Position oder der Lage des Roboters vorschlägt. Oder die Korrektur der Bewegungspunkte der vorliegenden Ausführungsform kann vorgenommen werden, wenn die Charge der Werkstücke geändert wurde.
  • Bei der Robotervorrichtung 8 der vorliegenden Ausführungsform wird der erste Bewegungspfad 77 des Roboters 1 auf Basis der Bilder, die durch die erste Kamera 27 aufgenommen wurden, korrigiert, doch besteht keine Beschränkung auf diese Ausführungsweise. Der erste Bewegungspfad des Roboters 1 kann unter Verwendung eines beliebigen Sensors korrigiert werden. Der erste Bewegungspfad des Roboters 1 kann auch ohne Verwendung eines Sensors korrigiert werden.
  • 13 zeigt eine vergrößerte teilweise geschnittene Ansicht von Werkstücken und eines Schweißbrenners zur Erklärung einer Steuerung, wodurch der erste Bewegungspfad des Roboters korrigiert wird. 13 zeigt den Zustand vor der Vornahme des Schweißens. Die obere Fläche 81a des Werkstücks 81 ist so angeordnet, dass sie sich in der waagerechten Richtung erstreckt. Die Endfläche 82a des Werkstücks 82 ist so angeordnet, dass sie sich in der senkrechten Richtung erstreckt. Die Betriebssteuereinheit 43 steuert die Position und die Lage des Roboters 1 so, dass der von dem Schweißbrenner 2 vorstehende Draht 19 in der Nähe des Bereichs, in dem das Schweißen vorgenommen wird, angeordnet wird. Die Schweißsteuervorrichtung 5 legt eine winzige Spannung an den Draht 19 an.
  • Die Betriebssteuereinheit 43 ändert die Position und die Lage des Roboters 1 so, dass sich der Schweißbrenner 2 in die mit dem Pfeil 93 gezeigte Richtung bewegt. Wenn der Draht 19 mit der oberen Fläche 81a des Werkstücks 81 in Kontakt gelangt, fließt ein winziger Strom. Die Position des Spitzenendes des Drahts 19 (die Position des Spitzenendpunkts des Werkzeugs) zu diesem Zeitpunkt entspricht der Position der oberen Fläche 81a des Werkstücks 81. Die Robotersteuervorrichtung 4 kann die Position der oberen Fläche 81a des Werkstücks 81 detektieren.
  • Dann zieht die Betriebssteuereinheit 43 den Schweißbrenner 2 an die ursprüngliche Position zurück. Die Schweißsteuervorrichtung 5 legt eine winzige Spannung an den Draht 19 an. Die Betriebssteuereinheit 43 ändert die Position und die Lage des Roboters 1 so, dass sich der Draht 19 wie mit dem Pfeil 94 gezeigt zu der Endfläche 82a des Werkstücks 82 bewegt. Wenn der Draht 19 mit der Endfläche 82a des Werkstücks 82 in Kontakt gelangt, fließt ein winziger Strom. Die Position des Spitzenendes des Drahts 19 zu diesem Zeitpunkt entspricht der Position der Endfläche 82a des Werkstücks 82. Die Robotersteuervorrichtung 4 kann die Position der Endfläche 82a des Werkstücks 82 detektieren.
  • Die Robotersteuervorrichtung 4 kann auf Basis der Position der oberen Fläche 81a des Werkstücks 81 und der Position der Endfläche 82a des Werkstücks 82 die Position eines Punkts CP, an dem das Werkstück 82 mit dem Werkstück 81 in Kontakt steht, detektieren. Auf Basis der Position des Punkts CP kann der erste Bewegungspfad korrigiert werden und ein zweiter Bewegungspfad erzeugt werden. Für das Korrekturausmaß des Bewegungspfads kann von dem Anfangspunkt des Schweißens bis zu dem Endpunkt des Schweißens der gleiche Wert angewendet werden. Es kann ein einzelnes Korrekturausmaß auf den gesamten Bewegungspfad angewendet werden. Auf diese Weise kann die Robotersteuervorrichtung 4 die Position, an der die Robotervorrichtung die Tätigkeit vornimmt, ohne Verwendung eines optischen Sensors detektieren.
  • 14 zeigt eine vergrößerte teilweise geschnittene Ansicht von Werkstücken und eines Schweißbrenners zur Erklärung einer anderen Steuerung, wodurch der erste Bewegungspfad des Roboters korrigiert wird. Bei dem Beispiel, das in 14 gezeigt ist, werden ein Werkstück 85, das einen Ausschnittbereich 85a aufweist, und ein Werkstück 86, das einen Ausschnittbereich 86a aufweist, durch Schweißen aneinander fixiert. Durch die Ausschnittbereiche 85a und 86a wird eine Vertiefung mit einem V-förmigen Querschnitt gebildet. Der Schweißbrenner 2 bewegt sich entlang der Verlaufsrichtung der Vertiefung. Im Inneren der Vertiefung wird eine Schweißraupe gebildet.
  • Der Schweißbrenner 2 nimmt das Schweißen vor, während er sich im Inneren der Vertiefung wie mit den Pfeilen 92 gezeigt hin und her bewegt. Das heißt, diese Robotervorrichtung nimmt das Schweißen unter Vornahme eines Pendelns vor. Das Pendeln ist ein Verfahren, bei dem der Schweißbrenner das Schweißen vornimmt, während er in Bezug auf die Verlaufsrichtung des Bereiches, in dem das Schweißen erfolgt, zum Beispiel perpendikulär geschwungen wird. Das Pendeln ist ideal, wenn das Ausmaß der Schweißraupe groß wird.
  • 15 zeigt eine Kurve des Stroms, der bei der Ausführung des Schweißens unter Pendeln in dem Draht fließt. Unter Bezugnahme auf 14 und 15 detektiert die Schweißsteuervorrichtung 5 während des Zeitraums der Vornahme des Schweißens den Strom, der in dem Draht 19 fließt. Der Schweißbrenner 2 schwingt mit einem auf einen Bewegungspunkt eingerichteten Referenzpunkt RP als Zentrum. Wenn der Referenzpunkt RP in der Mitte der durch die Ausschnittbereiche 95a, 96a gebildeten Vertiefung angeordnet ist, schwingt der Wert des Stroms um einen Referenzwert des Stroms als Zentrum. Wenn der Referenzpunkt RP von der Mitte der Vertiefung abweicht, weicht das Zentrum der Schwingung des Stroms von dem Referenzwert ab.
  • Die Betriebssteuereinheit 43 der vorliegenden Ausführungsform bewegt den ersten Bewegungspfad während des Zeitraums der Ausführung des Schweißens schrittweise so, dass sich das Zentrum der Schwingung des Stroms zu dem Referenzwert hin bewegt. Das heißt, der Bewegungspfad wird so korrigiert, dass sich das Zentrum der Schwingung des Stroms im Lauf der Zeit zu dem Referenzwert hin bewegt. Auf diese Weise kann der erste Bewegungspfad durch Detektieren des Stroms, der während der Vornahme des Schweißens in dem Draht fließt, korrigiert werden. Auch in diesem Fall speichert die Robotersteuervorrichtung 4 den zweiten Bewegungspfad nach der Korrektur. Die Robotersteuervorrichtung 4 kann auf Basis der Positionen der Bewegungspunkte auf dem zweiten Bewegungspfad ein Korrekturausmaß der Position der Bewegungspunkte berechnen.
  • Zweite Steuerung zur Bestimmung der Korrektur der Position oder der Lage des Roboters
  • Als nächstes wird eine zweite Steuerung zur Bestimmung der Maßnahme der Korrektur der Position oder der Lage des Roboters erklärt. Bei der zweiten Steuerung wird bestimmt, ob die Position des Roboters 1 korrigiert werden soll, oder ob die Lage des Roboters 1 korrigiert werden soll.
  • Unter Bezugnahme auf 6, 7 und 11 entspricht die Steuerung bis zur Berechnung der Bewertung Δs durch die Bestimmungseinheit 60 (die Steuerung bis zu Schritt 132 von 1) der Steuerung von 1. Danach bestimmt die Bestimmungseinheit 60, ob ein Bewegungspunkt, an dem die Bewertung Δs einen vorab festgelegten Entscheidungswert übersteigt, vorhanden ist oder nicht. Wenn kein Bewegungspunkt, an dem die Bewertung Δs den Entscheidungswert übersteigt, vorhanden ist, endet diese Steuerung.
  • Wenn ein Bewegungspunkt, an dem die Bewertung Δs den Entscheidungswert übersteigt, vorhanden ist, berechnet die Bestimmungseinheit 60 einen Korrelationskoeffizienten der Bewertung Δs und des Korrekturausmaßes der Position an den mehreren Bewegungspunkten MPC1 bis MPC6. Der Korrelationskoeffizient CC kann zum Beispiel durch die folgende Formel (4) berechnet werden. Hier zeigt die Funktion E(a) den Durchschnitt von a. Die Variable L zeigt die Entfernung von dem Referenzpunkt. C C = E [ ( | D ( L ) | E [ | D ( L ) | ] ) ( Δ S ( L ) E [ Δ S ( L ) ] ) ] E [ ( | D ( L ) | E [ | D ( L ) | ] ) ] E [ Δ S ( L ) E [ Δ S ( L ) ] ]
    Figure DE102020128718A1_0004
  • Die Bestimmungseinheit 60 bestimmt, ob der Korrelationskoeffizient größer als ein vorab festgelegter Entscheidungswert ist oder nicht. Der Entscheidungswert für den Korrelationskoeffizienten kann von dem Betreiber vorab festgelegt und in der Speichereinheit 42 gespeichert werden. Als Entscheidungswert des Korrelationskoeffizienten kann zum Beispiel 0,5 verwendet werden.
  • Wenn der Korrelationskoeffizient den Entscheidungswert übersteigt, kann die Bestimmungseinheit 60 bestimmen, dass eine Wechselbeziehung zwischen der Korrektur der Position des Roboters und der Verschlechterung der Bewertung Δs besteht. Die Bestimmungseinheit 60 bestimmt, dass eine Korrektur der Position des Roboters 1 erforderlich ist. Die Anzeigeeinheit 3b des Lehrbedienpanels 3 zeigt eine Bildschirmdarstellung an, die eine Korrektur der Position des Roboters 1 vorschlägt.
  • Wenn der Korrelationskoeffizient andererseits höchstens den vorab festgelegten Entscheidungswert beträgt, kann die Bestimmungseinheit 60 bestimmen, dass keine Wechselbeziehung zwischen der Korrektur der Position des Roboters und der Verschlechterung der Bewertung Δs besteht. Die Bestimmungseinheit 60 bestimmt, dass eine Korrektur der Lage des Roboters 1 erforderlich ist. Die Anzeigeeinheit 3b zeigt eine Bildschirmdarstellung an, die eine Korrektur der Lage des Roboters 1 vorschlägt.
  • Außerdem kann die Bestimmungseinheit 60 den Bewegungspunkt, an dem die Bewertung am schlechtesten ist, als Lehrpunkt festlegen. Dann kann die Anzeigeeinheit 3b des Lehrbedienpanels 3 den Bewegungspunkt, an dem die Bewertung am schlechtesten ist, als Punkt, an dem die Position oder die Lage des Roboters 1 korrigiert werden soll, anzeigen.
  • Auf diese Weise kann auch bei der zweiten Steuerung die Maßnahme der Korrektur der Position oder der Lage des Roboters 1 auf Basis der Wechselbeziehung zwischen dem Korrekturausmaß der Position des Bewegungspfads und der Qualitätsvariablen bestimmt werden.
  • Verfahren zur Berechnung des Korrekturausmaßes für die Lage
  • Die Robotersteuervorrichtung 4 der vorliegenden Ausführungsform ist so ausgeführt, dass sie das Korrekturausmaß für die Lage des Roboters 1 berechnen kann, wenn bestimmt wurde, dass die Lage des Roboters 1 korrigiert werden soll. Was den Bewegungspunkt, an dem die Lage des Roboters 1 korrigiert wird, betrifft, kann die Wahl durch ein beliebiges Verfahren erfolgen. Zum Beispiel kann ein Bewegungspunkt verwendet werden, der durch die Bestimmungseinheit 60 gewählt wurde. Oder der Benutzer kann einen Lehrpunkt zur Vornahme der Korrektur der Lage des Roboters 1 festlegen.
  • 16 zeigt eine Ansicht zur Erklärung der Lage des Schweißbrenners auf einem Bewegungspfad vor der Korrektur und einem Bewegungspfad nach der Korrektur bei einem Vergleichsbeispiel. Der erste Bewegungspfad 77 des Roboters 1 ist ein Pfad von dem Bewegungspunkt MP1 zu dem Bewegungspunkt MP2. Bei diesem Beispiel ist der Bewegungspunkt MP2 auf Basis des Bilds eines optischen Sensors wie mit dem Pfeil 96 gezeigt zu dem Bewegungspunkt MPC2 korrigiert. Der zweite Bewegungspfad 78 ist ein Pfad von dem Bewegungspunkt MPC1 zu dem Bewegungspunkt MPC2. Zu diesem Zeitpunkt ist die Lage des Schweißbrenners 2 an einem Bewegungspunkt MPC3 nach der Korrektur in dem globalen Koordinatensystem 71 mit der Lage des Schweißbrenners 2 an dem Bewegungspunkt MP3 vor der Korrektur identisch. Das heißt, die Koordinatenwerte der W-Achse, der P-Achse und der R-Achse in dem globalen Koordinatensystem 71 sind identisch.
  • Durch die Korrektur der Position des Bewegungspunkts MP3 ändert sich die Verlaufsrichtung des Bewegungspfads. Doch da die Lage des Schweißbrenners 2 unverändert ist, ändert sich die Ausrichtung des Schweißbrenners 2 in Bezug auf die Verlaufsrichtung des Bewegungspfads. Als Folge ändert sich auch die Ausrichtung des Schweißbrenners 2 in Bezug auf die Werkstücke. Bei diesem Beispiel wurde bestimmt, dass die Lage des Schweißbrenners 2 an dem Bewegungspunkt MPC3 nicht gut ist.
  • 17 zeigt den Bewegungspfad vor der Korrektur und den Bewegungspfad nach der Korrektur, wobei die Lage des Schweißbrenners auf dem Bewegungspfad nach der Korrektur korrigiert wurde. Die Bestimmungseinheit 60 der vorliegenden Ausführungsform berechnet die Ausrichtung des Schweißbrenners 2 an dem Bewegungspunkt MPC3 nach der Korrektur. Die Bestimmungseinheit 60 berechnet die Lage des Schweißbrenners 2 so, dass die Lage des Schweißbrenners 2 in Bezug auf die Verlaufsrichtungen der Bewegungspfade 77, 78 beibehalten wird. Mit anderen Worten berechnet die Bestimmungseinheit 60 die Ausrichtung des Schweißbrenners 2 so, dass die Ausrichtung des Schweißbrenners 2 in Bezug auf die Verlaufsrichtung des zweiten Bewegungspfads 78 der Ausrichtung des Schweißbrenners 2 in Bezug auf die Verlaufsrichtung des ersten Bewegungspfads 77 gleich wird.
  • Die Bestimmungseinheit 60 legt ein Hilfskoordinatensystem 73 mit dem Bewegungspunkt MP3 auf dem ersten Bewegungspfad 77 als Ursprungspunkt fest. Die Bestimmungseinheit 60 richtet die Verlaufsrichtung des ersten Bewegungspfads 77 von dem Bewegungspunkt MP3 als X-Achse ein. Dann berechnet die Bestimmungseinheit 60 die von dem Bewegungspunkt MP3 senkrecht gerichtet nach unten verlaufende Achse und legt eine Achse, die zu dieser Achse und der X-Achse orthogonal verläuft, als Y-Achse fest. Die Bestimmungseinheit 60 legt eine Z-Achse fest, die zu der X-Achse und der Y-Achse senkrecht gerichtet verläuft.
  • Die Bestimmungseinheit 60 legt ein Hilfskoordinatensystem 74 mit dem Bewegungspunkt MPC3 auf dem zweiten Bewegungspfad 78 als Ursprungspunkt fest. Die X-Achse des Hilfskoordinatensystems 74 kann auf die Verlaufsrichtung des zweiten Bewegungspfads 78 eingerichtet werden. Dann legt die Bestimmungseinheit 60 die Y-Achse und die Z-Achse des Hilfskoordinatensystems 74 durch die gleiche Vorgangsweise wie bei dem Hilfskoordinatensystems 73 fest.
  • Die Bestimmungseinheit 60 berechnet die Ausrichtung des an dem Bewegungspunkt MP3 des ersten Bewegungspfads 77 angeordneten Schweißbrenners 2 durch Koordinatenwerte der W-Achse, der P-Achse und der R-Achse des Hilfskoordinatensystems 73. Das heißt, die Bestimmungseinheit 60 wandelt die durch Koordinatenwerte des globalen Koordinatensystems 71 ausgedrückte Lage des Roboters 1 in Koordinatenwerte des Hilfskoordinatensystems 73 um. Die Koordinatenwerte des Hilfskoordinatensystems 73 entsprechen der Ausrichtung des Schweißbrenners 2 in Bezug auf die Verlaufsrichtung des ersten Bewegungspfads 77.
  • Die Bestimmungseinheit 60 legt die gleichen Werte die die Koordinatenwerte des Hilfskoordinatensystems 73 als Koordinatenwerte des Hilfskoordinatensystems 74 fest. Es werden Koordinatenwerte der W-Achse, der P-Achse und der R-Achse des Hilfskoordinatensystems 74 festgelegt. Diese Koordinatenwerte des Hilfskoordinatensystems 74 entsprechen der Ausrichtung des Schweißbrenners 2 in Bezug auf die Verlaufsrichtung des zweiten Bewegungspfads 78 und entsprechen der Ausrichtung des Schweißbrenners 2 nach der Vornahme der Korrektur der Lage. Die Bestimmungseinheit 60 kann die Lage des Roboters 1 nach der Korrektur durch Umwandeln der Koordinatenwerte des Hilfskoordinatensystems 74 in Koordinatenwerte des globalen Koordinatensystems 71 des Roboters 1 berechnen.
  • Die Bestimmungseinheit 60 berechnet den Unterschied zwischen der Lage des Roboters 1 vor der Korrektur und der Lage des Roboters 1 nach der Korrektur. Die Anzeigeeinheit 3b kann den Unterschied der Lagen des Roboters 1 anzeigen. Dieser Unterschied der Lagen entspricht einem Korrekturausmaß für die Lage des Roboters 1 zur Zeit der Vornahme einer Korrektur der Lage des Roboters 1 durch den Betreiber. Der Betreiber kann die Lage des Roboters 1 gemäß der Anzeige der Anzeigeeinheit 3b korrigieren. Auf diese Weise kann die Bestimmungseinheit 60 die Lage des Roboters 1 auf dem zweiten Bewegungspfad 78 auf Basis der Lage des Roboters 1 auf dem ersten Bewegungspfad 77 berechnen. Die Anzeigeeinheit 3b des Lehrbedienpanels 3 kann das durch die Bestimmungseinheit 60 berechnete Korrekturausmaß für die Lage des Roboters 1 anzeigen.
  • 18 zeigt den Bewegungspfad nach der Korrektur zur Erklärung einer anderen Steuerung, wodurch das Korrekturausmaß für die Lage des Roboters berechnet wird. Bei der anderen Steuerung zur Berechnung des Korrekturausmaßes für die Lage des Roboters wird auf die Lage des Roboters 1 auf dem zweiten Bewegungspfad 78 Bezug genommen. Bei diesem Beispiel wird die Korrektur der Lage des Schweißbrenners 2 an dem Bewegungspunkt MC5 vorgenommen. Der Bewegungspunkt MPC5 ist zum Beispiel ein Bewegungspunkt, an dem die Bewertung Δs schlecht ist.
  • Die Bestimmungseinheit 60 detektiert den Bewegungspunkt MPC4 mit der besten Bewertung Δs auf dem zweiten Bewegungspfad 78. Die Bestimmungseinheit 60 legt an den jeweiligen Bewegungspunkten MPC4, MPC5 Hilfskoordinatensysteme 73, 74 fest. Die Hilfskoordinatensysteme 73, 74 können durch die oben beschriebene Steuerung festgelegt werden. Das heißt, die Hilfskoordinatensysteme 73, 74 werden so an den jeweiligen Bewegungspunkten MPC4, MPC5 eingerichtet, dass die Verlaufsrichtung des zweiten Bewegungspfads 78 als Richtung der X-Achse angesetzt wird.
  • Anschließend berechnet die Bestimmungseinheit 60 wie bei der oben beschriebenen Steuerung die Koordinatenwerte der Ausrichtung des Schweißbrenners 2 in dem Hilfskoordinatensystem 73. Dann legt die Bestimmungseinheit 60 die gleichen Werte wie die Koordinatenwerte der Ausrichtung des Schweißbrenners 2 in dem Hilfskoordinatensystem 73 als Koordinatenwerte der Ausrichtung des Schweißbrenners 2 in dem Hilfskoordinatensystem 74 fest. Danach kann die Bestimmungseinheit 60 durch Umwandeln der Koordinatenwerte der Ausrichtung des Schweißbrenners 2 in dem Hilfskoordinatensystem 74 in Koordinatenwerte des globalen Koordinatensystems 71 die Lage des Roboters 1 nach der Korrektur berechnen. Dann kann die Bestimmungseinheit das Korrekturausmaß für die Lage des Roboters 1 durch den Unterschied zwischen der Lage des Roboters 1 vor der Korrektur und der Lage des Roboters 1 nach der Korrektur berechnen. Die Anzeigeeinheit 3b des Lehrbedienpanels 3 kann das durch die Bestimmungseinheit 60 berechnete Korrekturausmaß für die Lage des Roboters 1 anzeigen.
  • Durch die Vornahme dieser Steuerung kann die Ausrichtung des Schweißbrenners in Bezug auf den Bewegungspfad an dem Bewegungspunkt, an dem eine Korrektur vorgenommen wird, an die Ausrichtung des Schweißbrenners in Bezug auf den Bewegungspfad an dem Bewegungspunkt, an dem die Bewertung am besten ist, angepasst werden. Daher kann eine Verbesserung der Qualität der Tätigkeit der Robotervorrichtung erwartet werden. Die Steuervorrichtung 10 der Robotervorrichtung 8 kann auch so ausgeführt sein, dass sie das Korrekturausmaß für die Lage des Roboters 1 nicht berechnet. In diesem Fall kann der Betreiber das Korrekturausmaß für die Lage des Roboters 1 auf Basis der Erfahrung festlegen.
  • Steuerung zur Berechnung des Korrekturausmaßes der Position
  • Die Robotersteuervorrichtung 4 nach der vorliegenden Ausführungsform ist so ausgeführt, dass sie das Korrekturausmaß der Position des Roboters 1 berechnen kann, wenn bestimmt wurde, dass die Position des Roboters 1 korrigiert werden soll. Als nächstes wird eine Steuerung zur Berechnung des Korrekturausmaßes der Position des Roboters 1 erklärt. Der Bewegungspunkt, an dem die Position des Roboters 1 korrigiert wird, kann durch ein beliebiges Verfahren gewählt werden. Zum Beispiel kann ein durch die Bestimmungseinheit 60 gewählter Bewegungspunkt verwendet werden. Oder der Betreiber kann einen Lehrpunkt zur Vornahme der Korrektur der Position des Roboters 1 festlegen.
  • Zur Erklärung der Korrektur der Position ist in 19 ein Bewegungspfad eines Roboters vor der Korrektur und sein Bewegungspfad nach der Korrektur gezeigt. Bei dem Beispiel, das in 19 gezeigt ist, ist ein erster Bewegungspfad 77 auf Basis des Betriebsprogramms 41 so festgelegt, dass er von dem Bewegungspunkt MP1 zu dem Bewegungspunkt MP2 verläuft. Durch eine Korrektur der Position des Roboters 1 mittels der Bilder, die durch die erste Kamera 27 aufgenommen wurden, wurde ein zweiter Bewegungspfad 78 von dem Bewegungspunkt MC1 zu dem Bewegungspunkt MPC2 erzeugt. Die Robotervorrichtung 8 nimmt das Schweißen unter Veränderung ihrer Position entlang des zweiten Bewegungspfads 78 vor.
  • Ein Bewegungspunkt MPC4 ist der Bewegungspunkt, an dem die Position des Roboters 1 korrigiert wird. Der Bewegungspunkt MPC4 ist zum Beispiel ein Bewegungspunkt, an dem die Bewertung Δs schlecht ist. Die Bestimmungseinheit 60 detektiert einen Bewegungspunkt MPC3, an dem die Bewertung am besten ist, auf dem zweiten Bewegungspfad 78. Außerdem berechnet die Bestimmungseinheit 60 ein Bewegungsausmaß und eine Bewegungsrichtung des Bewegungspunkts MP3 als Korrekturausmaß der mit dem Pfeil 97 gezeigten Position. Dieses Korrekturausmaß kann zum Beispiel in Koordinatenwerten der X-Achse, der Y-Achse und der Z-Achse des globalen Koordinatensystems 71 berechnet werden.
  • Dann legt die Bestimmungseinheit 60 an den jeweiligen Bewegungspunkten MPC3, MPC4 Hilfskoordinatensysteme 73, 74 fest. Die Hilfskoordinatensysteme 73, 74 sind Koordinatensysteme, für die die Verlaufsrichtung des zweiten Bewegungspfads an dem Bewegungspunkt MPC3, MPC4 als X-Achse angesetzt ist. Die Hilfskoordinatenssysteme 73, 74 können durch die oben beschriebene Steuerung festgelegt werden.
  • 20 zeigt das Hilfskoordinatensystem an dem Bewegungspunkt mit der besten Bewertung. Die Bestimmungseinheit 60 wandelt das in dem globalen Koordinatensystem 71 ausgedrückte Korrekturausmaß des Bewegungspunkts MPC3 in Koordinatenwerte des Hilfskoordinatensystems 73 um. Das heißt, der Ausgangspunkt des Pfeils 97 wird an dem Ursprungspunkt des Hilfskoordinatensystems 73 angeordnet. Das Bewegungsausmaß und die Bewegungsrichtung des Bewegungspunkts MP3 werden in Koordinatenwerten der X-Achse, der Y-Achse und der Z-Achse des Hilfskoordinatensystems 73 berechnet.
  • 21 zeigt das Hilfskoordinatensystem an dem Bewegungspunkt, an dem die Position korrigiert wird. Die Bestimmungseinheit 60 legt die Koordinatenwerte der X-Achse, der Y-Achse und der Z-Achse des Pfeils 97 in dem Hilfskoordinatensystem 73 als Koordinatenwerte der X-Achse, der Y-Achse und der Z-Achse des Hilfskoordinatensystems 74 fest. Bei Anwendung der Koordinatenwerte auf das Hilfskoordinatensystem 74 wird ein Pfeil 98 erzeugt. Der Pfeil 98 entspricht dem Korrekturausmaß an dem Bewegungspunkt MPC4. Die Bestimmungseinheit 60 kann das Korrekturausmaß der Position des Roboters 1 durch Umwandeln, der Koordinatenwerte der X-Achse, der Y-Achse und der Z-Achse des Hilfskoordinatensystems 74 in Koordinatenwerte der X-Achse, der Y-Achse und der Z-Achse des globalen Koordinatensystems 71 berechnen. Der Bewegungspunkt nach der Bewegung des Bewegungspunkts MPC4 auf dem zweiten Bewegungspfad 78 in die durch den Pfeil 98 gezeigte Richtung entspricht dem Bewegungspunkt nach der Korrektur der Position.
  • Die Bestimmungseinheit 60 kann das Korrekturausmaß der Position durch Berechnen des Unterschieds zwischen den Koordinatenwerten der Position des Bewegungspunkts MPC4 auf dem zweiten Bewegungspfad 78 und den Koordinatenwerten der Position des Roboters 1 nach der Korrektur berechnen. Die Anzeigeeinheit 3b des Lehrbedienpanels 3 kann das Korrekturausmaß der Position anzeigen.
  • Auf diese Weise können das Bewegungsausmaß und die Bewegungsrichtung der Position des Bewegungspunkts, an dem die Position korrigiert wird, bei der Berechnung des Korrekturausmaßes der Position der vorliegenden Ausführungsform unter Verwendung des Bewegungsausmaßes und der Bewegungsrichtung an dem Bewegungspunkt mit der besten Bewertung berechnet werden. Das Bewegungsausmaß und die Bewegungsrichtung des Bewegungspunkts in Bezug auf den Bewegungspfad an dem Bewegungspunkt mit der besten Bewertung können auf die Korrektur des Bewegungspunkts, an dem eine Korrektur der Position vorgenommen wird, angewendet werden. Daher kann eine Verbesserung der Qualität der Tätigkeit der Robotervorrichtung 8 erwartet werden.
  • Die Steuervorrichtung 10 der Robotervorrichtung 8 kann auch so ausgeführt sein, dass sie das Korrekturausmaß der Position des Roboters 1 nicht berechnet. In diesem Fall kann der Betreiber das Korrekturausmaß der Position des Roboters 1 auf Basis der Erfahrung festlegen.
  • Die oben beschriebene erste Robotervorrichtung 8 umfasst die erste Kamera 27 zur Detektion der Position für die Tätigkeit und die zweite Kamera 28 zur Vornahme einer Prüfung, doch besteht keine Beschränkung auf diese Ausführungsweise. Die Detektion der Position für die Tätigkeit und die Prüfung des Werkstücks können auch durch eine einzelne Kamera vorgenommen werden. Zum Beispiel kann das Schweißen unter Detektion der Arbeitsposition durch eine einzelne Kamera vorgenommen werden. Danach kann durch Ändern der Einstellungen der Kamera und Aufnehmen des geschweißten Bereichs eine Prüfung des Werkstücks vorgenommen werden.
  • Bei der ersten Robotervorrichtung 8 wurden das Schweißen der Werkstücke 81, 82 und die Prüfung der Qualität der Werkstücke 81, 82 durch einen einzelnen Roboter 1 vorgenommen, doch besteht keine Beschränkung auf diese Ausführungsweise. Die Robotervorrichtung kann zusätzlich zu dem Roboter zur Vornahme des Schweißens einen Roboter zur Vornahme der Prüfung umfassen.
  • 22 zeigt ein Blockdiagramm einer zweiten Robotervorrichtung bei der vorliegenden Ausführungsform. Die zweite Robotervorrichtung 9 umfasst einen Schweißroboter 32 zur Vornahme einer Tätigkeit und einen Prüfroboter 34 zur Vornahme einer Prüfung. Der Schweißroboter 32 und der Prüfroboter 34 können durch Knickarmroboter gebildet werden.
  • Der Schweißroboter 32 ist ein Roboter, der den Schweißbrenner 2 bewegt und das Schweißen von Werkstücken vornimmt. Der Schweißroboter 32 weist einen derartigen Aufbau auf, dass an dem Roboter 1 der ersten Robotervorrichtung 8 keine zweite Kamera 28 angebracht ist. Der Schweißbrenner 2 ist an dem Handgelenkabschnitt des Schweißroboters 32 fixiert. An dem Schweißbrenner 2 ist die erste Kamera 27 angebracht.
  • Der Prüfroboter 34 ist ein Roboter zum Bewegen der zweiten Kamera 28. Der Prüfroboter 34 weist einen derartigen Aufbau auf, dass an dem Roboter 1 der ersten Robotervorrichtung 8 keine erste Kamera 27 und kein Schweißbrenner 2 angebracht sind. Die zweite Kamera 28 ist an dem Handgelenkabschnitt des Prüfroboters 34 angebracht.
  • Eine Steuervorrichtung 39 der zweiten Robotervorrichtung 9 umfasst eine Schweißrobotersteuervorrichtung 31, die den Schweißroboter 32 steuert, und eine Prüfrobotersteuervorrichtung 33, die den Prüfroboter 34 steuert. Die Schweißrobotersteuervorrichtung 31 umfasst eine Rechenverarbeitungsvorrichtung mit einer CPU. Die Schweißrobotersteuervorrichtung 31 umfasst so wie die Robotersteuervorrichtung 4 der ersten Robotervorrichtung 8 eine Speichereinheit 42, eine Betriebssteuereinheit 43 und eine Roboterantriebseinheit 45. Außerdem weist die Schweißrobotersteuervorrichtung 31 die erste Bildverarbeitungseinheit 51 auf. Die Schweißrobotersteuervorrichtung 31 umfasst ein Lehrbedienpanel. In die Schweißrobotersteuervorrichtung 31 wird ein Betriebsprogramm 37 eingegeben.
  • Die Prüfrobotersteuervorrichtung 33 umfasst so wie die Schweißrobotersteuervorrichtung 31 eine Speichereinheit 42, eine Betriebssteuereinheit 43 und eine Roboterantriebseinheit 45. Die Prüfrobotersteuervorrichtung 33 umfasst ein Lehrbedienpanel. In die Prüfrobotersteuervorrichtung 33 wird ein Betriebsprogramm 38 eingegeben.
  • Die Steuervorrichtung 39 der zweiten Robotervorrichtung 9 umfasst eine Bestimmungseinheit 35, die das Prüfergebnis bestimmt. Die Bestimmungseinheit 35 ist durch eine Rechenverarbeitungsvorrichtung, die eine CPU umfasst, gebildet. Die Bestimmungseinheit 35 umfasst eine Eingabeeinheit 35a und eine Anzeigeeinheit 35b. Die Bestimmungseinheit 35 umfasst eine Speichereinheit 36, die durch ein Speichermedium wie einen flüchtigen Speicher oder einen nichtflüchtigen Speicher oder dergleichen gebildet ist. Die Bestimmungseinheit 35 umfasst die zweite Bildverarbeitungseinheit 57. Die Bilder, die durch die zweite Kamera 28 der Prüfrobotersteuervorrichtung 33 erlangt wurden, werden durch die Bestimmungseinheit 35 verarbeitet. Die Bestimmungseinheit 35 kann die Maßnahme der Korrektur der Position oder der Lage des Roboters 1 bestimmen. Das Bestimmungsergebnis durch die Bestimmungseinheit 35 kann an der Anzeigeeinheit 35b angezeigt werden. Der Betreiber kann unter Betrachten der Anzeige der Anzeigeeinheit 35b die Maßnahme der Korrektur der Position oder der Lage des Roboters 1 bestimmen.
  • Da der weitere Aufbau, die Wirkung und die Resultate der zweiten Robotervorrichtung 9 jenen bei der ersten Robotervorrichtung 8 gleich sind, wird die Erklärung hier nicht wiederholt.
  • Bei der vorliegenden Ausführungsform erfolgte die Erklärung anhand einer Robotervorrichtung, die ein Bogenschweißen vornimmt, doch besteht keine Beschränkung auf diese Ausführungsweise. Die Steuervorrichtung der vorliegenden Ausführungsform kann auf eine beliebige Robotervorrichtung, die die Position oder die Lage des Roboters korrigiert, angewendet werden. Beispielsweise kann die Steuerung der vorliegenden Ausführungsform auf eine Robotervorrichtung, die ein Laserschweißen vornimmt, oder eine Robotervorrichtung, die mit einem Arbeitswerkzeug, das einen Klebstoff aufbringt, versehen ist, angewendet werden.
  • Nach einer Form der vorliegenden Offenbarung kann eine Steuervorrichtung für eine Robotervorrichtung bereitgestellt werden, die die Maßnahme der Korrektur der Position oder der Lage bestimmen kann.
  • Die oben beschriebenen Ausführungsweisen können passend kombiniert werden. In den jeweiligen Zeichnungen, die oben beschrieben wurden, sind gleiche oder entsprechende Abschnitte mit gleichen Bezugszeichen versehen. Die oben beschriebene Ausführungsform ist beispielhaft und beschränkt die vorliegende Erfindung nicht. Die Ausführungsform kann Änderungen der in den Ansprüchen gezeigten Ausführungsweisen enthalten.

Claims (5)

  1. Steuervorrichtung (10, 39) für eine Robotervorrichtung (8, 9), die mit einem Roboter (1, 32) und einem Arbeitswerkzeug (2) versehen ist, umfassend eine Korrekturausmaßberechnungseinheit (53), die ein Korrekturausmaß (D1, D2, D3, D4) einer Position des Roboters an Bewegungspunkten (MP1, MP2, MP3, MP4, MP5, MP6) eines vorab festgelegten ersten Bewegungspfads (77) berechnet; eine Betriebssteuereinheit (43), die den Roboter auf einem zweiten Bewegungspfad (78), für den der erste Bewegungspfad auf Basis des durch die Korrekturausmaßberechnungseinheit berechneten Korrekturausmaßes korrigiert wurde, antreibt; einen Formdetektionssensor (28) zur Vornahme einer Detektion der Form eines Bereichs nach der Vornahme einer Tätigkeit durch die Robotervorrichtung; eine Variablenberechnungseinheit (59), die auf Basis der durch den Ausgang des Formdetektionssensors detektierten Form eine Qualitätsvariable, die die Qualität eines Werkstücks angibt, berechnet; und eine Bestimmungseinheit (60), die eine Maßnahme der Korrektur der Position oder der Lage des Roboters bestimmt, wobei die Bestimmungseinheit auf Basis einer Wechselbeziehung zwischen dem Korrekturausmaß der Position des ersten Bewegungspfads und der Qualitätsvariablen bestimmt, dass eine Korrektur der Position oder der Lage des Roboters erforderlich ist, wenn die Qualitätsvariable von einem vorab festgelegten Entscheidungsbereich abweicht.
  2. Steuervorrichtung nach Anspruch 1, umfassend einen optischen Sensor (27), der einen Bereich, in dem die Robotervorrichtung eine Tätigkeit vornimmt, aufnimmt, und eine Arbeitspositionsdetektionseinheit (52), die auf Basis der Bilder, die durch den optischen Sensor aufgenommen wurden, die Position, an der die Tätigkeit vorgenommen wird, detektiert, wobei die Korrekturausmaßberechnungseinheit das Korrekturausmaß der Position des Roboters auf Basis der durch die Arbeitspositionsdetektionseinheit detektierten Position, an der die Tätigkeit vorgenommen wird, und der Position eines Bewegungspunkts der ersten Bewegungspfads berechnet.
  3. Steuervorrichtung nach Anspruch 1 oder 2, umfassend eine Anzeigeeinheit (3b, 35b), die Informationen im Zusammenhang mit der Steuerung der Robotervorrichtung anzeigt, wobei die Bestimmungseinheit auf dem zweiten Bewegungspfad einen besten Bewegungspunkt, der ein Bewegungspunkt ist, an dem die Qualitätsvariable am besten ist, und einen schlechtesten Bewegungspunkt, an dem die Qualitätsvariable am schlechtesten ist, extrahiert, wobei die Bestimmungseinheit bestimmt, dass eine Korrektur der Position des Roboters erforderlich ist, wenn das Korrekturausmaß der Position an dem besten Bewegungspunkt geringer als das Korrekturausmaß der Position an dem schlechtesten Bewegungspunkt ist, und die Anzeigeeinheit eine Bildschirmdarstellung anzeigt, die eine Korrektur der Position des Roboters vorschlägt, und die Bestimmungseinheit bestimmt, dass eine Korrektur der Lage des Roboters erforderlich ist, wenn das Korrekturausmaß der Position an dem besten Bewegungspunkt größer als das Korrekturausmaß der Position an dem schlechtesten Bewegungspunkt ist, und die Anzeigeeinheit eine Bildschirmdarstellung anzeigt, die eine Korrektur der Lage des Roboters vorschlägt.
  4. Steuervorrichtung nach Anspruch 1 oder 2, umfassend eine Anzeigeeinheit (3b, 35b), die Informationen im Zusammenhang mit der Steuerung der Robotervorrichtung anzeigt, wobei die Bestimmungseinheit einen Korrelationskoeffizienten zwischen dem Korrekturausmaß an Positionen von mehreren Bewegungspunkten und der Qualitätsvariablen berechnet, wobei die Bestimmungseinheit bestimmt, dass eine Korrektur der Position des Roboters erforderlich ist, wenn der Korrelationskoeffizient einen vorab festgelegten Entscheidungswert übersteigt, und die Anzeigeeinheit eine Bildschirmdarstellung anzeigt, die eine Korrektur der Position des Roboters vorschlägt, und die Bestimmungseinheit bestimmt, dass eine Korrektur der Lage des Roboters erforderlich ist, wenn der Korrelationskoeffizient geringer als der Entscheidungswert ist, und die Anzeigeeinheit eine Bildschirmdarstellung anzeigt, die eine Korrektur der Lage des Roboters vorschlägt.
  5. Steuervorrichtung nach einem der Ansprüche 1 bis 4, umfassend eine Anzeigeeinheit (3b, 35b), die Informationen im Zusammenhang mit der Steuerung der Robotervorrichtung anzeigt, wobei die Bestimmungseinheit an einem Bewegungspunkt des ersten Bewegungspfads, der einem Bewegungspunkt, an dem eine Korrektur der Lage erforderlich ist, auf dem zweiten Bewegungspfad entspricht, die Ausrichtung des Arbeitswerkzeugs in Bezug auf die Verlaufsrichtung des ersten Bewegungspfads berechnet, und an dem Bewegungspunkt auf dem zweiten Bewegungspfad ein Korrekturausmaß der Lage des Roboters so berechnet, dass die Ausrichtung des Arbeitswerkzeugs in Bezug auf die Verlaufsrichtung des zweiten Bewegungspfads der Ausrichtung des Arbeitswerkzeugs in Bezug auf die Verlaufsrichtung des ersten Bewegungspfads gleich wird, und die Anzeigeeinheit das durch die Bestimmungseinheit berechnete Korrekturausmaß für die Lage des Roboters anzeigt.
DE102020128718.6A 2019-11-07 2020-11-02 Steuervorrichtung, die die massnahme der korrektur der position oder der lage eines roboters bestimmt Pending DE102020128718A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-202603 2019-11-07
JP2019202603A JP7359657B2 (ja) 2019-11-07 2019-11-07 ロボットの位置または姿勢の修正方法を判定する制御装置

Publications (1)

Publication Number Publication Date
DE102020128718A1 true DE102020128718A1 (de) 2021-05-12

Family

ID=75584075

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020128718.6A Pending DE102020128718A1 (de) 2019-11-07 2020-11-02 Steuervorrichtung, die die massnahme der korrektur der position oder der lage eines roboters bestimmt

Country Status (4)

Country Link
US (1) US11679501B2 (de)
JP (1) JP7359657B2 (de)
CN (1) CN112775545A (de)
DE (1) DE102020128718A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11260413B2 (en) * 2019-06-17 2022-03-01 The Boeing Company End effector for delivering material to a surface and associated system
US11826908B2 (en) * 2020-04-27 2023-11-28 Scalable Robotics Inc. Process agnostic robot teaching using 3D scans
KR102266453B1 (ko) * 2020-09-18 2021-06-17 한국광기술원 용접 공정에서의 객체 트래킹 장치 및 방법
US20220219328A1 (en) * 2021-01-08 2022-07-14 General Electric Company Method and device for creation of three dimensional tool frame
US20230390934A1 (en) * 2022-06-06 2023-12-07 Lincoln Global, Inc. Weld angle correction device
EP4338897A1 (de) * 2022-06-06 2024-03-20 Lincoln Global, Inc. Schweisswinkelkorrekturvorrichtung
JP7349542B1 (ja) 2022-08-26 2023-09-22 日鉄エンジニアリング株式会社 溶接ロボットシステム、溶接方法及びプログラム
CN117359062A (zh) * 2023-11-07 2024-01-09 珠海云鼎立激光科技有限公司 一种智能焊接机器人及其控制系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3583450B2 (ja) 1993-09-28 2004-11-04 川崎重工業株式会社 3次元物体の自動検査装置および方法
JPH0972717A (ja) 1995-09-04 1997-03-18 Fanuc Ltd 画像の取得・処理方法
JP4696325B2 (ja) 1998-12-04 2011-06-08 株式会社日立製作所 自動溶接及び欠陥補修方法並びに自動溶接装置
JP4854860B2 (ja) 2001-02-19 2012-01-18 中央精機株式会社 溶接線の倣い判定装置と倣い制御装置
JP3950805B2 (ja) 2003-02-27 2007-08-01 ファナック株式会社 教示位置修正装置
JP3829213B2 (ja) 2003-03-10 2006-10-04 川崎重工業株式会社 溶接方法、溶接制御装置および溶接システム
JP5847697B2 (ja) * 2010-02-18 2016-01-27 株式会社東芝 溶接装置および溶接方法
WO2015146180A1 (ja) 2014-03-27 2015-10-01 パナソニックIpマネジメント株式会社 ロボット制御方法
JP6440183B2 (ja) 2014-07-14 2018-12-19 スターテクノ株式会社 ワーク加工処理装置
JP6497953B2 (ja) 2015-02-03 2019-04-10 キヤノン株式会社 オフライン教示装置、オフライン教示方法及びロボットシステム
US10421267B2 (en) 2015-02-12 2019-09-24 Arevo, Inc. Method to monitor additive manufacturing process for detection and in-situ correction of defects
US11065707B2 (en) 2017-11-29 2021-07-20 Lincoln Global, Inc. Systems and methods supporting predictive and preventative maintenance
US11396057B2 (en) * 2019-07-02 2022-07-26 Servo-Robot Inc. Twin laser camera assembly

Also Published As

Publication number Publication date
US20210138646A1 (en) 2021-05-13
CN112775545A (zh) 2021-05-11
JP7359657B2 (ja) 2023-10-11
JP2021074817A (ja) 2021-05-20
US11679501B2 (en) 2023-06-20

Similar Documents

Publication Publication Date Title
DE102020128718A1 (de) Steuervorrichtung, die die massnahme der korrektur der position oder der lage eines roboters bestimmt
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102018006946B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102012021374B4 (de) Roboterprogrammiervorrichtung
DE102018001026B4 (de) Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren
DE112010000794B4 (de) Verfahren zum Steuern eines Roboterwerkzeuges
DE102018008395B4 (de) Robotereinlernvorrichtung zum melden oder korrigieren einer positionsabweichung von einlernpunkten oder einer einlernlinie
DE102019007720B4 (de) Robotervorrichtung
DE102015012763B4 (de) Roboterlehrvorrichtung zum Einlernen eines Roboters offline
DE102016117038B4 (de) Punktschweisssystem zum messen der position des schweisspunkts, an dem das schweissen vorgenommen wird
DE102015015093B4 (de) Roboterprogrammiervorrichtung zum Instruieren eines Roboters für eine Bearbeitung
DE102018129528B4 (de) Schwingungsunterdrückungsvorrichtung
DE102020110252B4 (de) Vibrationsanzeigeeinrichtung, Betriebsprogrammerstellungseinrichtung und System
DE102020100316A1 (de) Bestimmungsgerät
EP3221094B1 (de) Verfahren und system zur korrektur einer bearbeitungsbahn eines robotergeführten werkzeugs
DE102018214272B4 (de) Robotersystem
DE102018221127B4 (de) Robotersystem
DE102020132093A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung, Bearbeitungssystem und Verfahren für maschinelles Lernen zum Lernen eines Korrekturbetrags eines Werkstückmodells
DE102014103194A1 (de) Numerische Steuerung
DE102018007525B4 (de) Bearbeitungssystem und Verfahren zum Steuern einer Bearbeitungsmaschine
DE102018125841B4 (de) Roboter, Robotersystem und Verfahren zum Festlegen eines Koordinatensystems eines Roboters
DE102014014524A1 (de) Werkzeugbahnanzeigevorrichtung, mit einer Anzeigeeinheit für Bahndaten
DE10044306A1 (de) Werkzeugmaschine
DE102019000890B4 (de) Robotersystem zum Ausführen einer Lernsteuerung basierend auf Bearbeitungsergebnissen und diesbezügliches Steuerverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed