DE102019004545B4 - Automatische Maschine und Steuervorrichtung für Automatische Maschine - Google Patents

Automatische Maschine und Steuervorrichtung für Automatische Maschine Download PDF

Info

Publication number
DE102019004545B4
DE102019004545B4 DE102019004545.9A DE102019004545A DE102019004545B4 DE 102019004545 B4 DE102019004545 B4 DE 102019004545B4 DE 102019004545 A DE102019004545 A DE 102019004545A DE 102019004545 B4 DE102019004545 B4 DE 102019004545B4
Authority
DE
Germany
Prior art keywords
location
tool
movable
movable mechanism
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102019004545.9A
Other languages
English (en)
Other versions
DE102019004545A1 (de
Inventor
Hajime Suzuki
Nobuaki YAMAOKA
Kouichirou Hayashi
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 DE102019004545A1 publication Critical patent/DE102019004545A1/de
Application granted granted Critical
Publication of DE102019004545B4 publication Critical patent/DE102019004545B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J17/00Joints
    • B25J17/02Wrist joints
    • B25J17/0258Two-dimensional joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J18/00Arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J18/00Arms
    • B25J18/02Arms extensible
    • B25J18/04Arms extensible rotatable
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/005Manipulators mounted on wheels or on carriages mounted on endless tracks or belts
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • 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

Landscapes

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

Abstract

Automatische Maschine, aufweisend:ein bewegbares Teil (12-15), welches durch eine Antriebseinheit (35) bewegbar ist;ein Werkzeug (16), welches am bewegbaren Teil (12-15) angebracht ist und einen bewegbaren Mechanismus (16b) aufweist, der unabhängig von dem bewegbaren Teil (12-15) arbeitet;eine Messeinheit (4), welche am bewegbaren Mechanismus (16b) angebracht ist und einen Ort des bewegbaren Mechanismus (16b) misst;eine Ortsdetektionseinheit (41), welche auf Basis eines Ortes des bewegbaren Mechanismus (16b) gemäß Messung durch die Messeinheit (4) bei Steuerung der Antriebseinheit (35) entsprechend einem Befehl zum Bewegen des Werkzeuges (16) zu einem Zielort, und auf Basis eines Bewegungsbetrages des bewegbaren Mechanismus (16b) von einem Referenzpunkt innerhalb des Bewegungsbereiches des bewegbaren Mechanismus (16b) mit dem Werkzeug (16) als Referenz einen ersten Ort detektiert, wobei der bewegbare Mechanismus (16b) virtuell am Referenzpunkt fixiert ist; undeine Lern-Steuereinheit (42), welche einen Korrekturbetrag für die Steuergröße der Antriebseinheit (35) so berechnet, dass eine Differenz zwischen dem Zielort und dem ersten Ort verringert wird,wobei die Ortsdetektionseinheit (41) den ersten Ort detektiert durch Berechnung einer Position des bewegbaren Teils (12-15) auf Basis einer Betriebsgröße der Antriebseinheit (35) unter Steuerung der Antriebseinheit (35) entsprechend dem Befehl, weiterhin durch Berechnung der Bewegungsrichtung des bewegbaren Mechanismus (16b) entsprechend der Position im Welt-Koordinatensystem, welches in Bezug auf einen Raum vorgegeben ist, in dem die automatische Maschine installiert ist, und weiterhin durch Subtraktion des Bewegungsbetrages vom Ort des bewegbaren Mechanismus (16b) gemäß Messung durch die Messeinheit (4) in der Bewegungsrichtung.

Description

  • Die Erfindung betrifft beispielsweise eine automatische Maschine, welche ein bewegbares Teil aufweist, und eine Steuervorrichtung für eine solche automatische Maschine.
  • Für eine automatische Maschine, wie beispielsweise einen Roboter oder eine Werkzeugmaschine, welche ein bewegbares Teil aufweisen, wie einen Arm, der durch einen Servomotor angetrieben wird, wurden Techniken vorgeschlagen zur Verbesserung der Arbeitsgenauigkeit des bewegbaren Teils (siehe beispielsweise veröffentlichte japanische Patentanmeldung JP 2017-74 647 A ).
  • Bei solchen Techniken ist ein Sensor am bewegbaren Teil angebracht. Der Sensor misst den Ort des bewegbaren Teils bei dessen Betrieb und eine Steuergröße (z.B. eine elektrische Stromstärke oder dergleichen, die einem Servomotor zugeführt wird) zur Steuerung des das bewegbare Teil antreibenden Servomotors wird so korrigiert, dass der gemessene Ort näher an einen Zielort kommt (der Begriff „Steuern“ beinhaltet in der vorliegenden Beschreibung und in den vorliegenden Ansprüchen auch ein „Regeln“).
  • DE 10 2012 104 194 B4 beschreibt einen Roboter und einen Punktschweißroboter, der die Bearbeitungsgeschwindigkeit mit Hilfe eines Sensors verändert, der an einem Arm angebracht ist. Der Roboter besitzt eine Robotermechanismuseinheit, die einen Sensor und eine Steuereinheit umfasst, wobei die Steuereinheit eine Normal-Steuereinheit umfasst, die den Betrieb der Robotermechanismuseinheit kontrolliert, und eine Lern-Steuereinheit, die, wenn die Robotermechanismuseinheit mit einem Geschwindigkeitsbefehl betrieben wird, der durch Multiplizieren einer Lehrgeschwindigkeit, die in einem Aufgabenprogramm bezeichnet ist, mit einem Geschwindigkeitsveränderungsverhältnis gegeben ist, einen Lernvorgang ausführt, um aus einem von dem Sensor erfassten Ergebnis eine Lernkorrekturgröße zu berechnen, die eine Trajektorie oder Position eines Steuerungsziels in der Robotermechanismuseinheit an eine Zieltrajektorie oder Zielposition annähert, oder die die Schwingungen des Steuerungsziels reduziert, und die Prozeduren ausführt, damit sich die Steuerungszielposition der Robotermechanismuseinheit auf einer festliegenden Trajektorie bewegt, und zwar unabhängig vom Geschwindigkeitsveränderungsverhältnis.
  • EP 3 266 571 B1 beschreibt ein Roboterarmeinsatzsteuersystem mit einem Roboterarm, der wenigstens zwei Abschnitte umfasst, die über einen Ellenbogen miteinander verbunden sind, wobei ein erster Abschnitt wirkungsmäßig als vertikaler Mast ausgebildet ist und ein zweiter Abschnitt wirkungsmäßig zum Einsatz von Werkzeugen von einem Arbeitsende aus ausgebildet ist. Ein Masteinsatzsystem umfasst wenigstens zwei Nocken, wobei die wenigstens zwei Nocken bewirken, dass der erste und der zweite Abschnitt während der Einführung in einen Betriebsraum vertikal bleiben. Ein berührungsloser Sensor ist am ersten Abschnitt befestigt, um die Entfernung und Lage in Bezug auf Gegenstände, die im Betriebsraum enthalten sind, in Polarkoordinaten zu messen. Eine Einheit zur dynamischen Messung umfasst wenigstens drei Beschleunigungsmesser und drei Geschwindigkeitssensoren, wobei die Einheit zur dynamischen Messung wirkungsmäßig als Sensor mit sechs Freiheitsgraden und drei Achsen ausgebildet ist, der zum Betrieb in einem kartesischen Koordinatensystem ausgebildet ist. Eine Steuerung ist so ausgebildet, dass sie die Polarkoordinaten vom berührungslosen Sensor und kartesische Koordinaten von der Einheit zur dynamischen Messung empfängt und die Polarkoordinaten beruhend auf der kartesischen Position des berührungslosen Sensors und der Einheit zur dynamischen Messung in kartesische Koordinaten umrechnet.
  • EP 3 169 442 B1 beschreibt ein fernsteuerbares Arbeitswerkzeug. Ein festes oder wechselbares Arbeitswerkzeugmodul soll auf einer Fläche oder in Richtung eines Gegenstückelements bedienbar sein. Einer Arm trägt das Arbeitswerkzeugmodul. Das Arbeitswerkzeug umfasst mindestens zwei verschiedene Sensoren zur Detektion eines Orts- und/oder Ausrichtungs- und/oder Bewegungsstatus des Arbeitswerkzeugmoduls, wobei die mindestens zwei verschiedenen Sensoren aus einer Gruppe von einem Gyroskop, einem Beschleunigungsmesser und einem Magnetometer und Mitteln zur Detektion eines Abstands zu einem nahen physischen Objekt oder einer Fläche ausgewählt sind. Das Arbeitswerkzeug umfasst eine Benutzereingabeschnittstelle zur Eingabe von Benutzereingabebefehlen zur Nutzung des Arbeitswerkzeugs; Mittel zur Erfassung und Feststellung eines Bezugswinkels zwischen dem Arbeitswerkzeugmodul und der bearbeiteten Fläche oder dem Gegenstückelement, wodurch ein optimaler Lackier- oder Bedienwinkel erreicht wird; Verarbeitungsmittel innerhalb der Vorrichtung, oder die von der Vorrichtung zugänglich sind, die dazu ausgebildet sind, eine Korrektur des Orts und/oder Winkels des Arbeitswerkzeugmoduls auf Grundlage von mindestens einem von Sensordaten, Abstandsdaten und der Benutzereingabebefehle zu berechnen; und Mittel zur Anpassung der Länge des Arms und/oder des Orts und/oder des Winkels des Arbeitswerkzeugmoduls gemäß der berechneten Korrektur, um Kontakt herzustellen und die Fläche oder das Gegenstückelement mit dem Arbeitswerkzeug zu bearbeiten, oder um das Material aus einem gewünschten Abstand und Winkel bezogen auf das physische Objekt oder die Fläche herauszusprühen, wobei das Mittel zur Anpassung während des Bewegens des Arbeitswerkzeugs über die Fläche fortlaufend den optimalen Lackier- oder Bedienwinkel in Richtung der Fläche nutzt.
  • JP 2005 - 066 619 A beschreibt eine numerische Steuerung, in der die den Betriebspositionen entsprechenden Werkzeugdaten eingetragen sind. Ein Roboter wird basierend auf den Werkzeugdaten kontrolliert.
  • JP H10 - 111 701 A beschreibt ein Verfahren, das ein Speichern einer Abweichung zwischen den idealen Bewertungsdaten und den tatsächlichen Bewertungsdaten für jeden Arbeitszyklus umfasst. Informationen, die in einer automatischen Vorrichtung angewendet sind, werden in einem neuralen Netzwerk eingetragen. Das neurale Netzwerk ist eingerichtet, Bewertungsdaten aus Sensorinformationen zu berechnen.
  • KURZBESCHREIBUNG
  • Automatische Maschinen können ein bewegbares Teil aufweisen, an dem ein Werkzeug befestigt ist, wobei das Werkzeug einen bewegbaren Mechanismus aufweist, der unabhängig arbeitet vom Betrieb der automatischen Maschine selbst. Dabei ist es auch dann, wenn die oben genannten Techniken eingesetzt werden, um den Ort des am bewegbaren Teil angebrachten Werkzeuges näher an den Zielort zu bringen, nicht möglich, die Steuergröße zum Steuern des Servomotors angemessen zu korrigieren aufgrund des Betriebs des Werkzeuges selbst, was dazu führen kann, dass eine Verbesserung der Genauigkeit der Ortssteuerung beim Betrieb des bewegbaren Teils und des Werkzeuges verhindert ist.
  • Gemäß einer Variante ist ein Ziel die Bereitstellung einer automatischen Maschine, welche auch dann, wenn ein Werkzeug unabhängig von einem bewegbaren Teil, an welches es angebracht ist, arbeitet, die Genauigkeit der Lokalisierung des bewegbaren Teils und des Werkzeuges beim Betrieb des bewegbaren Teils und des Werkzeuges verbessert.
  • Gemäß einem Ausführungsbeispiel wird eine automatische Maschine im Anspruch 1 bereitgestellt.
  • Gemäß einem weiteren Ausführungsbeispiel wird eine Steuervorrichtung für eine automatische Maschine im Anspruch 2 bereitgestellt.
  • Damit ist es auch dann, wenn am bewegbaren Teil ein unabhängig arbeitendes Werkzeug angebracht ist, möglich, die Genauigkeit der Lokalisierung (Ortssteuerung) des bewegbaren Teils und des Werkzeuges beim Betrieb derselben zu verbessern.
  • Figurenliste
    • 1 zeigt schematisch den Aufbau eines Robotersystems gemäß einem Ausführungsbeispiel;
    • 2 zeigt schematisch den Aufbau einer Steuervorrichtung;
    • 3 ist ein funktionales Blockdiagramm eines Prozessors in der Steuervorrichtung zur Erläuterung des Lernprozesses für die Steuerinformationen; und
    • 4 ist ein Flussdiagramm zur Erläuterung des Lernprozesses für die Steuerinformationen.
  • BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
  • Eine automatische Maschine gemäß einem Ausführungsbeispiel der Erfindung wird nunmehr im Hinblick auf die Figuren näher beschrieben. Diese automatische Maschine hat ein bewegbares Teil, wie einen Arm, und ein Werkzeug ist am distalen Ende des bewegbaren Teils angebracht, wobei das Werkzeug einen bewegbaren Mechanismus umfasst, welcher unabhängig von dem bewegbaren Teil arbeitet (sich bewegt). Ein Sensor ist am bewegbaren Mechanismus des Werkzeuges angebracht zur Gewinnung eines Ortes. Werden das bewegbare Teil und das Werkzeug zu einem Zielort bewegt, misst diese automatische Maschine den momentanen Ort des bewegbaren Mechanismus des Werkzeuges unter Einsatz des am bewegbaren Mechanismus angebrachten Sensors. Die automatische Maschine steuert dann durch einen Lernvorgang die Steuergröße zum Steuern des Servomotors, welcher das bewegbare Teil antreibt, derart, dass die Differenz zwischen dem Zielort und dem Ort des Werkzeu- ges vermindert wird, wobei der bewegbare Mechanismus virtuell in Bezug auf einen Referenzpunkt fixiert wird, welcher berechnet wird durch Subtraktion des Bewegungsbetrages vom Referenzpunkt des bewegbaren Mechanismus von dem momentanen Ort des bewegbaren Mechanismus des Werkzeuges.
  • Die Feststellung, dass der bewegbare Mechanismus des Werkzeuges unabhängig vom bewegbaren Teil arbeitet, bedeutet, dass der bewegbare Mechanismus in einer Weise arbeitet, die in keiner Beziehung steht zur Arbeit des bewegbaren Teils (z.B. eine Bewegung des bewegbaren Teils zu einem Zielort oder eine Operation des bewegbaren Teils zur Aufnahme einer Zielposition), welches durch die Steuervorrichtung der automatischen Maschine gesteuert wird.
  • 1 zeigt schematisch den Aufbau eines Robotersystems 1 gemäß einem Ausführungsbeispiel. Das Robotersystem 1 hat einen Roboter 2, eine Steuervorrichtung 3, welche den Roboter 2 steuert, und einen Beschleunigungssensor 4 zum Detektieren des Ortes eines bewegbaren Mechanismus eines Werkzeuges 16, welches am Roboter 2 angebracht ist. Das Robotersystem 1 ist ein Beispiel für eine automatische Maschine.
  • Der Roboter 2 hat eine Basis 11, eine Drehbühne 12, einen ersten Arm 13, einen zweiten Arm 14, ein Gelenk 15 und ein Werkzeug 16. Die Drehbühne 12, der erste Arm 13, der zweite Arm 14 und das Gelenk 15 sind jeweils ein Beispiel für ein bewegbares Teil. Die Drehbühne 12, der erste Arm 13, der zweite Arm 14 und das Gelenk 15 werden jeweils getragen durch Achsen der Gelenke, an denen sie angebracht sind, und sie werden durch Servomotoren betrieben, welche die Achsen antreiben. Das Werkzeug 16 ist ein Beispiel für ein Werkzeug, welches einen bewegbaren Mechanismus aufweist, der unabhängig von einem bewegbaren Teil der automatischen Maschine betrieben wird (arbeitet).
  • Die Basis 11 dient zur Installation des Roboters 2 auf dem Boden. Die Drehbühne 12 ist drehbar auf der Oberfläche der Basis 11 mittels einer Verbindung 21 angebracht, wobei die Drehung um eine Achse (nicht dargestellt) verläuft, die senkrecht zur Oberfläche der Basis 11 steht.
  • Der erste Arm 13 ist an einem Ende an der Drehbühne 12 mittels einer Verbindung 22 angebracht, die an der Drehbühne 12 vorgesehen ist. Beim gegebenen Ausführungsbeispiel ist der erste Arm 13 gemäß 1 mittels eines Gelenkes 22 um eine Achse (nicht dargestellt) drehbar, die sich parallel zur Oberfläche der Basis 11 erstreckt, auf welcher die Drehbühne 12 angebracht ist.
  • Der zweite Arm 14 ist an einem Ende mittels einer Verbindung 23 am anderen Ende des ersten Armes 13 angebracht, der Verbindung 22 gegenüberliegend. Beim gegebenen Ausführungsbeispiel ist gemäß 1 der zweite Arm 14 mittels der Verbindung 23 um eine Achse (nicht dargestellt) drehbar, die sich parallel zur Oberfläche der Basis 11 erstreckt, auf welcher die Drehbühne 12 installiert ist.
  • Das Gelenk 15 ist am distalen Ende des zweiten Armes 14, der Verbindung 23 gegenüberliegend, mittels einer Verbindung 24 angebracht. Das Gelenk 15 hat eine Verbindung 25 und ist mittels der Verbindung 25 um eine Achse schwenkbar (nicht dargestellt), die sich parallel zu der Achse der Verbindung 22 und der Achse der Verbindung 23 erstreckt. Das Gelenk 15 kann auch um eine Achse drehbar sein (nicht dargestellt), die sich parallel zur Längsrichtung des zweiten Armes 14 in einer Ebene senkrecht zur Längsrichtung des zweiten Armes 14 erstreckt.
  • Das Werkzeug 16 ist an dem distalen Ende des Gelenkes 15 gegenüberliegend zur Verbindung 24 angebracht. Beim gegebenen Ausführungsbeispiel wird das Werkzeug 16 eingesetzt zur Bearbeitung eines Werkstückes mit einem Laser. Das Werkzeug 16 hat einen zylinderförmigen Werkzeugkörper 16a, der sich vom distalen Ende des Gelenkes 15 weg erstreckt, und einen Laserkopf 16b, der am Werkzeugkörper 16a so angebracht ist, dass er entlang der Richtung bewegbar ist, in welcher sich der Werkzeugkörper 16a erstreckt, wie durch den Pfeil 101 angegeben ist, wobei der Laserkopf einen Laserstrahl für die Bearbeitung emittiert. Der Laserkopf 16b ist ein Beispiel für einen bewegbaren Mechanismus, der unabhängig von dem bewegbaren Teil des Roboters 2 arbeitet, und er bewegt sich in einer Richtung, in welcher sich der Werkzeugkörper 16a erstreckt durch Antrieb mittels eines Motors (nicht dargestellt), der in dem Werkzeugkörper 16a angeordnet ist. Der Ort des Laserkopfes 16b wird gesteuert, beispielsweise so, dass der Abstand zwischen dem Laserkopf 16b und dem Werkstück konstant gehalten wird auf Basis des Abstandes zum Werkstück, wie durch einen Distanzsensor (nicht dargestellt) detektiert wird, welcher am Laserkopf 16b angebracht ist. Der Bewegungsbetrag des Laserkopfes 16b wird durch einen Sensor detektiert zum Detektieren eines Bewegungsbetrages, wie beispielsweise einem Codierer, der am den Laserkopf 16b antreibenden Motor angebracht ist, wobei das Detektionsergebnis zur Steuervorrichtung 3 über eine Verbindungsleitung 5 gegeben wird. Wird der Laserkopf 16b durch einen Motor angetrieben, dessen Drehbetrag direkt eingestellt werden kann, wie beispielsweise mit einem Schrittmotor, dann kann der Drehbetrag des Motors über die Verbindungsleitung 5 direkt an die Steuervorrichtung 3 als der Bewegungsbetrag des Laserkopfes 16b gegeben werden.
  • Der Beschleunigungssensor 4 ist ein Beispiel für eine Messeinheit, welche den Ort des bewegbaren Mechanismus misst und am Laserkopf 16b angebracht ist. Der Beschleunigungssensor 4 kann beispielsweise ein 3-Achsen-Beschleunigungssensor sein. Der Beschleunigungssensor 4 misst die Beschleunigung während des Betriebs des Roboters 2 und gibt die gemessene Beschleunigung an die Steuervorrichtung 3 über die Kommunikationsleitung 5.
  • Bei der automatischen Maschine kann es sich auch um eine andere Maschine als den in 1 dargestellten Roboter 2 handeln, solange nur eine Achse gegeben ist, die durch eine Antriebseinheit, wie einen Servomotor, angetrieben wird, wobei zumindest ein bewegbares Teil durch die Achse abgestützt ist.
  • Bei dem am Gelenk 15 des Roboters 2 befestigten Werkzeug 16 kann es sich auch um ein anderes Werkzeug als das oben beschriebene handeln. Beispielsweise kann es sich bei dem Werkzeug 16 um eine Schweißvorrichtung handeln. Ein derartiges Werkzeug 16 hat eine Schweißpistole, welche ein Beispiel für einen bewegbaren Mechanismus ist, eine Befestigungseinheit zum Anbringen der Schweißpistole am Gelenk 15 und einen Ausgleichsmechanismus zwischen der Schweißpistole und der Anbringungseinheit. Der Ausgleichsmechanismus treibt die Schweißpistole in einer bestimmten Richtung, um die an der Schweißpistole wirkende Gegenkraft zu reduzieren. Der Beschleunigungssensor 4 kann auch in diesem Fall an der Schweißpistole angebracht sein.
  • Die Steuervorrichtung 3 ist über die Verbindungsleitung 5 mit dem Roboter 2 verbunden und empfängt Informationen, welche die Betriebszustände der die Achsen der jeweiligen Gelenke des Roboters 2 antreibenden Servomotoren angeben, sowie Beschleunigungsdaten vom Beschleunigungssensor 4, Bewegungsbeträge bezüglich des Laserkopfes 16b des Werkzeuges 16 und dergleichen vom Roboter 2 über die Verbindungsleitung 5. Die Steuervorrichtung 3 steuert die Orte und Positionen der bewegbaren Teile des Roboters 2 durch Steuerung der jeweiligen Servomotoren auf Basis der empfangenen Informationen und den Betrieb des Roboters 2 gemäß von einer übergeordneten Steuervorrichtung (nicht dargestellt) empfangenen Daten oder gemäß im Voraus erfolgter Einstellungen.
  • 2 zeigt schematisch die Konfiguration der Steuervorrichtung 3. Die Steuervorrichtung 3 hat eine Kommunikationsschnittstelle 31, eine Treiberschaltung 32, einen Speicher 33 und einen Prozessor 34. Die Steuervorrichtung 3 kann weiterhin eine Nutzerschnittstelle (nicht dargestellt), wie ein Tastaturfeld oder dergleichen aufweisen.
  • Die Kommunikationsschnittstelle 31 hat beispielsweise Einrichtungen für die Verbindung der Steuervorrichtung 3 mit der Verbindungsleitung 5 und eine Schaltung zum Verarbeiten der übertragenen/empfangenen Signale über die Verbindungsleitung 5. Die Kommunikationsschnittstelle 31 empfängt beispielsweise Informationen über die Betriebszustände des Servomotors 35 vom Roboter 2 über die Verbindungsleitung 5 und gibt die Informationen an den Prozessor 34, wobei die Informationen einen Messwert vom Codierer zur Detektion der Drehbewegung des Servomotors 35 beinhalten können, als Beispiel für eine Antriebseinheit oder dergleichen. Zwar ist beim Beispiel gemäß 2 ein einziger Servomotor 35 beispielhaft dargestellt, jedoch kann der Roboter 2 für jede Verbindung einen Servomotor beinhalten zum Antrieb der jeweiligen Gelenkachsen. Die Kommunikationsschnittstelle 31 empfängt Daten bezüglich der Beschleunigung gemäß Messung durch den Beschleunigungssensor 4, und einen Messwert bezüglich des Bewegungsbetrages des Laserkopfes 16b oder dergleichen, jeweils vom Roboter 2, und diese Werte werden zum Prozessor 34 weitergegeben.
  • Die Treiberschaltung 32 ist über ein Stromversorgungskabel mit dem Servomotor 35 verbunden und unter Steuerung durch den Prozessor 34 wird der Servomotor 35 entsprechend dem erforderlichen Drehmoment, der Drehrichtung bzw. der Drehgeschwindigkeit mit Strom versorgt.
  • Der Speicher 33 umfasst beispielsweise einen lesbaren und beschreibbaren Halbleiterspeicher und einen Lese-Halbleiterspeicher. Der Speicher 33 kann weiterhin ein Aufzeichnungsmedium beinhalten, wie eine Halbleiter-Speicherkarte, eine Festplatte, oder ein optisches Aufzeichnungsmedium, sowie eine Einrichtung zum Zugriff auf das Speichermedium.
  • Der Speicher 33 speichert verschieden Computerprogramme ab, beispielsweise zum Steuern des Roboters 2, welche mit dem Prozessor 34 der Steuervorrichtung 3 ausgeführt werden. Weiterhin speichert der Speicher 33 Informationen bezüglich des Betriebs des Roboters 2, beispielsweise einen Lokalisierungsbefehl zum Bewegen der Arme und des Werkzeuges 16 des Roboters 2 zu einem bestimmten Zielort oder dergleichen. Weiterhin speichert der Speicher 33 verschiedene Daten bezüglich der Betriebszustände des Servomotors 35, die vom Roboter 2 während dessen Betriebs gewonnen werden, weiterhin Korrekturbeträge, die beim Lernprozess für die Steuerung gewonnen werden oder als Ergebnis des Steuerinformationen-Lernprozesses abgespeichert werden.
  • Der Prozessor 34 ist ein Beispiel für eine Steuereinheit und umfasst beispielsweise einen zentralen Prozessor (CPU) und periphere Schaltungen. Der Prozessor 34 kann weiterhin einen Prozessor für arithmetische Operationen umfassen. Der Prozessor 34 steuert das gesamte Robotersystem 1. Weiterhin führt der Prozessor 34 den Lernprozess für Steuerinformationen aus.
  • 3 ist ein funktionales Blockdiagramm des Prozessors 34 mit Blick auf den Lernprozess für die Steuerinformationen. Der Prozessor 34 hat eine Ortsdetektionseinheit 41 und eine Lern-Steuereinheit 42. Diese Einheiten des Prozessors 34 sind beispielsweise funktionale Module, die durch ein Computerprogramm realisiert werden, welches von dem Prozessor 34 ausgeführt wird. Andererseits können diese Einheiten auch implementiert sein durch bestimmte arithmetische Schaltungen als Teil des Prozessors 34.
  • Die Ortsdetektionseinheit 41 detektiert den Ort des Laserkopfes 16b in dem Fall, in dem der Laserkopf 16b des Werkzeuges 16 virtuell auf den Referenzpunkt fixiert ist, wenn der Servomotor 35 entsprechend einem Ortsbefehl gesteuert wird, um das Werkzeug 16 an einen Zielort zu bewegen. Beim gegebenen Ausführungsbeispiel detektiert die Ortsdetektionseinheit 41 den Ort des Laserkopfes 16b in dem Fall, in dem der Laserkopf 16b virtuell auf den Referenzpunkt fixiert wird auf Basis einer Beschleunigung, die von dem Beschleunigungssensor 4 gewonnen wird, und eines Messwertes, welcher den Bewegungsbetrag des Laserkopfes 16b relativ zum Referenzpunkt des Laserkopfes 16b anzeigt.
  • Der Referenzpunkt kann an irgendeiner Stelle innerhalb des Bewegungsbereiches des Laserkopfes 16b mit dem Werkzeug 16 als Referenz gesetzt werden, beispielsweise am Endpunkt in Richtung auf das Gelenk 15 des Bewegungsbereiches des Laserkopfes 16b. Der Referenzpunkt liegt in einem Werkzeugkoordinatensystem, in dem der Ursprung an einen Ort auf dem Werkzeug 16 gesetzt ist, und eine der Achsen in einer bestimmten Richtung des Werkzeuges 16 eingestellt ist (z.B. der Längsrichtung des Werkzeuges 16 oder einer Richtung, in welcher sich der Laserkopf 16b bewegt). Somit werden die Richtung und der Betrag der Bewegung des Laserkopfes 16b vom Referenzpunkt aufgrund des den Laserkopf 16b antreibenden Motors im Werkzeugkoordinatensystem angegeben. Der Ort des Referenzpunktes selbst im sogenannten Welt-Koordinatensystem bewegt sich entsprechend der Änderung der Position des Roboters 2. Das Welt-Koordinatensystem ist ein Koordinatensystem mit einem Ursprung an einer Stelle im Raum, in dem der Roboter 2 installiert ist, wobei sich das Koordinatensystem nicht ändert, auch wenn sich die Position des Roboters 2 ändert.
  • Beispielsweise führt die Ortsdetektionseinheit 41 eine Integration zweiter Ordnung aus bezüglich der mit dem Beschleunigungssensor 20 gewonnenen Beschleunigung in der Zeitspanne vom Start des Betriebs des Roboters 2 entsprechend einem Ortsbefehl bis zum Ende der Steuerung der Bewegung des Werkzeuges 16 zum Zielort gemäß dem Ortsbefehl und damit wird der Betrag der Verschiebung berechnet vom Ort des Laserkopfes 16b beim Start des Betriebs. Die Ortsdetektionseinheit 41 berechnet dann den Ort des Laserkopfes 16b im Welt-Koordinatensystem durch Addition des Verschiebungsbetrages zum Ort des Laserkopfes 16b am Start des Betriebs.
  • Die Ortsdetektionseinheit 41 wandelt die Bewegungsrichtung des Laserkopfes 16b in Bezug auf den Referenzpunkt im Werkzeugkoordinatensystem in eine Bewegungsrichtung im Welt-Koordinatensystem. Dabei kann die Ortsdetektionseinheit 41 die Rotationsbeträge der Gelenke des Roboters 2 berechnen auf Basis des tatsächlichen Rotationsbetrages des Servomotors 35 (d.h. des Bewegungsbetrages der Antriebseinheit) während der Zeitspanne vom Start des Betriebs des Roboters 2 entsprechend einem Ortsbefehl bis zum Ende der Steuerung der Bewegung des Werkzeuges 16 zum Zielort gemäß dem Ortsbefehl. Somit kann die Ortsdetektionseinheit 41 die Position des Roboters 2 am Ende der Steuerung ermitteln. Die Ortsdetektionseinheit 41 kann auch die Position des am Gelenk 15 angebrachten Werkzeuges 16 aus der Position des Roboters 2 am Ende der Steuerung ermitteln. Die Ortsdetektionseinheit 41 berechnet aus der ermittelten Position des Werkzeuges 16 die Abbildungsmatrix für die Konversion vom Werkzeugkoordinatensystem in das Welt-Koordinatensystem und sie kann auch die Richtung der Bewegung des Laserkopfes 16b im Werkzeugkoordinatensystem in eine Bewegungsrichtung des Laserkopfes 16b im Welt-Koordinatensystem durch Einsatz der Abbildungsmatrix konvertieren.
  • Die Ortsdetektionseinheit 41 detektiert den Ort des Laserkopfes 16b im Weit-Koordinatensystem unter virtueller Fixierung des Laserkopfes 16b auf den Referenzpunkt durch Subtraktion des Bewegungsbetrages des Laserkopfes 16b vom Referenzpunkt im Welt-Koordinatensystem von dem Ort des Laserkopfes 16b im Welt-Koordinatensystem. Die Ortsdetektionseinheit 41 informiert sodann die Lern-Steuereinheit 42 über den Ort des Laserkopfes 16b im Welt-Koordinatensystem, wobei der Laserkopf 16b virtuell auf den Referenzpunkt fixiert ist.
  • Die Lern-Steuereinheit 42 steuert auf Basis eines Lernprozesses die Steuergröße für den Servomotor 35 derart, dass die Differenz zwischen dem Zielort des Werkzeuges 16 gemäß dem Ortsbefehl (der Ortsbefehl wird beispielsweise in Bezug auf den Referenzpunkt des Laserkopfes 16b eingestellt) und dem Ort des Laserkopfes 16b bei virtueller Fixierung des Laserkopfes 16b auf den Referenzpunkt gemäß Detektion durch die Ortsdetektionseinheit 41 gemindert wird (diese Differenz wird nachfolgend als Ortsabweichung bezeichnet).
  • Idealerweise passen der Zielort des Werkzeuges 16 gemäß dem Ortsbefehl und der Ort des Laserkopfes 16b bei virtueller Fixierung des Laserkopfes 16b auf den Referenzpunkt gemäß Detektion durch die Ortsdetektionseinheit 41 zueinander. Tritt aber eine Ortsabweichung auf zwischen dem Zielort des Werkzeuges 16 gemäß dem Ortsbefehl und dem tatsächlichen Ort des Referenzpunktes des Laserkopfes 16b aufgrund von Vibrationen der Arme 13 und 14, des Gelenks 15 oder des Werkzeuges 16 beim Betrieb des Roboters 2 oder dergleichen, dann ist die Ortsabweichung nicht gleich Null. Durch Steuerung der Steuergröße des Servomotors 35 durch einen Lernprozess derart, dass diese Ortsabweichung verringert wird, kann die Lern-Steuereinheit 42 die Wirkungen von Vibrationen bezüglich der Ortsgenauigkeit reduzieren und damit die Genauigkeit der Lokalisierung des Werkzeuges 16 am distalen Ende des Roboters 2 beim Betrieb des Roboters 2 verbessern.
  • Die Lern-Steuereinheit 42 kann eine Lern-Steuerung ausführen gemäß einem der verschiedenen Lern-Steuertechniken zum Vermindern der Ortsabweichung zwischen dem Ort des distalen Endes des Roboters gemäß Messung durch einen Beschleunigungssensor oder dergleichen, der am distalen Ende des Roboters angebracht ist, und dem Ort des distalen Endes des Roboters gemäß Bestimmung durch den Ortsbefehl. Beispielsweise kann die Lern-Steuereinheit 42 eine Lern-Steuerung ausführen gemäß der Lern-Steuertechnik, wie sie in der veröffentlichten japanischen Patentanmeldung JP 2006-172 149 A oder der veröffentlichten japanischen Patentanmeldung JP 2011-167 817 A beschrieben sind. Dabei kann die Lern-Steuereinheit 42 den Ort des Laserkopfes 16b im Welt-Koordinatensystem verwenden für den Fall, in dem der Laserkopf 16b virtuell am Referenzpunkt fixiert ist, wie durch die Ortsdetektionseinheit 41 ermittelt, anstelle des Ortes des distalen Endes des Roboters gemäß Messung durch einen Beschleunigungssensor oder dergleichen.
  • Beispielsweise steuert der Prozessor 34 den Servomotor 35 so, wie in der veröffentlichten japanischen Patentanmeldung JP 2006-172 149 A beschrieben ist. Mit anderen Worten: bei Steuerung des Betriebs des Roboters 2 berechnet der Prozessor 34 einen Geschwindigkeitsbefehl zur Bestimmung der Rotationsgeschwindigkeit des Servomotors 35 auf Basis eines Ortsbefehls, der von einer übergeordneten Steuervorrichtung (nicht dargestellt) empfangen wird oder der aus dem Speicher 33 ausgelesen wird, sowie des momentanen Drehbetrages des Servomotors 35. Der Prozessor 34 führt eine Schleifensteuerung (Regelung) bezüglich der Geschwindigkeit aus auf Basis des Geschwindigkeitsbefehls und einer Geschwindigkeitsrückmeldung, die berechnet werden durch Differenzierung des momentanen Drehbetrages des Servomotors 35 zur Berechnung eines Drehmomentbefehls entsprechend der elektrischen Stromstärke, mit welcher der Servomotor 35 zu versorgen ist. Der Prozessor 34 führt sodann eine Schleifensteuerung aus bezüglich des dem Servomotor 35 zugeführten elektrischen Stromes auf Basis des Drehmomentbefehls und der Rückmeldung bezüglich des elektrischen Stromes von einem Stromdetektor (nicht dargestellt) im Antriebsschaltkreis 32 zum Antrieb des Servomotors 35. In der vorliegenden Beschreibung und in den Ansprüchen umfasst der Begriff „Steuern“ auch den Begriff „Regeln“.
  • Die Lern-Steuereinheit 42 erlernt einen Korrekturbetrag bezüglich des Drehbetrages des Servomotors 35. Mit anderen Worten: die Lern-Steuereinheit 42 berechnet eine Ortsabweichung in jeder Steuerperiode und gewinnt einen letzten Korrekturbetrag durch Filterung mittels eines bandbegrenzenden Filters zur Stabilisierung des Steuersystems auf einen Wert, der berechnet wird durch Addition der berechneten Ortsabweichung und des Korrekturbetrages in der unmittelbar vorhergehenden Periode. Die Lern-Steuereinheit 42 addiert einen Wert, der gewonnen wird durch Kompensation des Korrekturbetrages im unmittelbar vorangehenden Zyklus, der Phasenverzögerung und der Verstärkungsreduzierung des Steuerungsziels zur Differenz zwischen dem Drehbetrag des Servomotors 35 entsprechend dem Zielort gemäß Bestimmung durch den Ortsbefehl und dem momentanen Drehbetrag des Servomotors 35 und berechnet weiter einen Geschwindigkeitsbefehl durch Multiplikation des durch die Addition gewonnenen Wertes mit einer positiven Verstärkung.
  • Die Lern-Steuereinheit 42 wiederholt den vorstehend beschriebenen Prozess beispielsweise bis der Absolutwert der Ortsabweichung nicht mehr größer ist als ein vorgegebener Schwellenwert und speichert den gewonnenen Korrekturbetrag in dem Speicher 33. Der Schwellenwert kann beispielsweise so eingestellt werden, dass das mit dem Werkzeug 16 bearbeitete Werkstück mit einer Genauigkeit innerhalb einer zugelassenen Toleranz bearbeitet wird.
  • Bei Normalbetrieb des Roboters 2 kann der Prozessor 34 den Korrekturbetrag aus dem Speicher 33 auslesen und - so wie beim oben beschriebenen Prozess der Lern-Steuereinheit 42 - einen Wert addieren, der gewonnen wird durch Kompensation des ausgelesenen Korrekturbetrages, der Phasenverzögerung und der Verstärkungsreduzierung bezüglich des Steuerzieles zur Differenz zwischen dem Drehbetrag des Servomotors 35 entsprechend dem Zielort, wie durch den Ortsbefehl bestimmt, und dem momentanen Drehbetrag des Servomotors 35 und es kann damit ein Geschwindigkeitsbefehl berechnet werden durch Multiplikation des mit der Addition gewonnenen Wertes mit einer Positionsverstärkung. Der Prozessor kann eine Schleifensteuerung (Regelung) bezüglich der Geschwindigkeit ausführen und eine Schleifensteuerung bezüglich des elektrischen Stromes entsprechend dem Geschwindigkeitsbefehl zum Antrieb des Servomotors 35.
  • 4 ist ein Flussdiagramm des Lernprozesses für die Steuerinformationen. Der Prozessor 34 führt den Lernprozess für die Steuerinformationen gemäß dem Flussdiagramm aus.
  • Die Ortsdetektionseinheit 41 misst den Ort des Laserkopfes 16b im Welt-Koordinatensystem auf Basis der mit dem Beschleunigungssensor 4, welcher an dem Laserkopf 16b angebracht ist, gemessenen Beschleunigung, wenn das Werkzeug 16 entsprechend dem Ortsbefehl zum Zielort bewegt wird (Schritt S101). Die Ortsdetektionseinheit 41 konvertiert die Richtung der Bewegung des Laserkopfes 16b im Werkzeugkoordinatensystem in eine Richtung der Bewegung des Laserkopfes 16b im Welt-Koordinatensystem entsprechend der Position des Roboters 2, die sich aus dem momentanen Drehbetrag des Servomotors 35 in der Zeitspanne vom Start des Betriebs des Roboters 2 bis zum Ende der Steuerung des Werkzeuges 16 in die Zielposition entsprechend dem Ortsbefehl ergibt (Schritt S102). Die Ortsdetektionseinheit 41 detektiert sodann den Ort des Laserkopfes 16b im Welt-Koordinatensystem bei virtueller Fixierung des Laserkopfes 16b auf den Referenzpunkt durch Subtraktion des Bewegungsbetrages des Laserkopfes 16b relativ zum Referenzpunkt im Welt-Koordinatensystem von dem Ort des Laserkopfes 16b im Welt-Koordinatensystem (Schritt S103).
  • Die Lern-Steuereinheit 42 erlernt einen Korrekturbetrag aus der Steuergröße des Servomotors 35 derart, dass die Ortsabweichung vermindert wird zwischen dem Zielort des Werkzeuges 16 entsprechend dem Ortsbefehl und dem Ort des Laserkopfes 16b bei virtueller Fixierung des Laserkopfes 16b auf den Referenzpunkt gemäß Detektion durch die Ortsdetektionseinheit 41 (Schritt S104). Die Lern-Steuereinheit 42 speichert den erhaltenen Korrekturbetrag im Speicher 33 (Schritt S105). Der Prozessor 34 beendet damit den Lernprozess für die Steuerinformationen.
  • Wie oben beschrieben berechnet die automatische Maschine den Ort des bewegbaren Mechanismus in dem Werkzeug, welches an dem bewegbaren Teil der automatischen Maschine angebracht ist, und welches unabhängig von dem bewegbaren Teil arbeitet, unter virtueller Fixierung des bewegbaren Mechanismus auf den Referenzpunkt durch Subtraktion des Bewegungsbetrages des bewegbaren Mechanismus relativ zum Referenzpunkt vom Ort des bewegbaren Mechanismus, der berechnet wird auf Basis des vom Sensor gemessenen Wertes, wobei der Sensor am bewegbaren Mechanismus angebracht ist. Die automatische Maschine erlernt einen Korrekturbetrag für die Steuergröße der Antriebseinheit, welche das bewegbare Teil antreibt, derart, dass die Ortsabweichung zwischen dem bestimmten Zielort des Werkzeuges, wobei der Zielort durch den Ortsbefehl bestimmt ist, und dem Ort des bewegbaren Mechanismus, wobei der bewegbare Mechanismus virtuell auf den Referenzpunkt fixiert ist, minimal wird. Damit wird auch dann, wenn ein Werkzeug mit einem bewegbaren Mechanismus, der unabhängig vom bewegbaren Teil der automatischen Maschine arbeitet, an dem bewegbaren Teil angebracht ist, bei der automatischen Maschine die Genauigkeit bezüglich der Lokalisierung des bewegbaren Teils und des Werkzeuges beim Betrieb der automatischen Maschine verbessert.
  • Gemäß einer Abwandlung kann der Prozessor 34 der Steuervorrichtung 3 das Werkzeug 16 zu mehreren Orten bewegen, die voneinander verschieden sind, und das oben beschriebene Erlernen der Steuerinformationen für jeden der Orte durchführen. Dabei berechnet der Prozessor 34 einen Korrekturbetrag für die Steuergröße des Servomotors 35 für jeden der Orte und speichert die Korrekturbeträge zusammen mit den entsprechenden Orten im Speicher 33. Bei Normalbetrieb des Roboters 2 kann der Prozessor 34 aus dem Speicher 33 einen Korrekturbetrag auslesen, welcher dem durch den Ortsbefehl unter den mehreren Orten bestimmten Ort entspricht und unter Verwendung des entsprechenden ausgelesenen Korrekturbetrages die Steuergröße des Servomotors 35 zu korrigieren. Andererseits kann der Prozessor 34 einen statistisch repräsentativen Wert berechnen, wie einen Mittelwert, einen Median-Wert oder dergleichen bezüglich der jeweils für die mehreren Orte berechneten Korrekturbeträge und den statistisch repräsentativen Wert im Speicher 33 als Korrekturbetrag abspeichern. Bei Normalbetrieb des Roboters 2 kann der Prozessor 34 dann den Korrekturbetrag aus dem Speicher 33 auslesen unabhängig vom durch den Ortsbefehl bestimmten Ort unter Verwendung des ausgelesenen Korrekturbetrages und die Steuergröße des Servomotors 35 entsprechend korrigieren.
  • Gemäß dieser Abwandlung berechnet die automatische Maschine einen Korrekturbetrag für die Steuergröße der Antriebseinheit des bewegbaren Teils mit Bezug auf eine Mehrzahl von verschiedenen Orten und so wird die Genauigkeit bei der Ortssteuerung des bewegbaren Teils und des Werkzeuges beim Betrieb der automatischen Maschine verbessert.
  • Gemäß einer anderen Abwandlung kann der bewegbare Mechanismus des Werkzeuges, welches am bewegbaren Teil der automatischen Maschine angebracht ist, anstelle eines aktiven Antriebs durch eine Antriebseinheit, wie einen Motor, auch passiv arbeiten mittels eines elastischen Teils oder dergleichen. Auch in einem solchen Fall kann der Beschleunigungssensor am bewegbaren Mechanismus angebracht sein. Weiterhin kann in einem solchen Fall der Bewegungsbetrag des bewegbaren Mechanismus vom Referenzpunkt beispielsweise gemessen werden durch einen Sensor, wie einen linearen Codierer, welcher den Verschiebungsbetrag des bewegbaren Mechanismus misst und an die Steuervorrichtung der automatischen Maschine liefert.
  • Dies ermöglicht der Steuervorrichtung der automatischen Maschine das Erlernen eines Korrekturbetrages für die Steuergröße der das bewegbare Teil antreibenden Antriebseinheit der automatischen Maschine durch Ausführung des Steuerinformationen-Lernprozesses gemäß dem oben beschriebenen Ausführungsbeispiel, auch wenn der bewegbare Mechanismus passiv arbeitet.
  • Gemäß einer weiteren Abwandlung können weitere Sensoren eingesetzt werden, welche den Verschiebungsbetrag detektieren, anstelle oder zusammen mit dem Beschleunigungssensor als Messeinheit, die am bewegbaren Mechanismus angebracht ist, um den Ort des bewegbaren Mechanismus des Werkzeuges zu messen. Solche weiteren Sensoren zum Detektieren des Verschiebungsbetrages können beispielsweise sein: ein Gyro-Sensor, ein Inertial-Sensor, ein Laser-Spurverfolger oder eine Stereokamera. Wird eine Stereokamera eingesetzt, dann kann die Stereokamera beispielsweise Bilder einer Markierung aufnehmen, welche im Voraus gesetzt ist und deren Orte im Welt-Koordinatensystem bekannt sind, und zwei Bilder der Markierer erzeugen. Die Steuervorrichtung kann den Ort des bewegbaren Mechanismus, an dem die Stereokamera angebracht ist, im Welt-Koordinatensystem ermitteln durch Detektion der Markierungen in jedem der beiden Bilder, beispielsweise durch Abgleich, und den Ort der Stereokamera im Welt-Koordinatensystem aus den Orten der Markierer in den Bildern mit der Triangulation berechnen.
  • Der am bewegbaren Mechanismus angebrachte Sensor kann vom bewegbaren Mechanismus abnehmbar gestaltet sein. Der Sensor kann während des Normalbetriebs der automatischen Maschine vom bewegbaren Mechanismus abgenommen werden. Ist der Sensor vom bewegbaren Mechanismus abgenommen, kann eine Balance-Einrichtung mit gleichem Gewicht wie der Sensor am bewegbaren Mechanismus an der gleichen Stelle wie der Sensor angebracht werden.

Claims (2)

  1. Automatische Maschine, aufweisend: ein bewegbares Teil (12-15), welches durch eine Antriebseinheit (35) bewegbar ist; ein Werkzeug (16), welches am bewegbaren Teil (12-15) angebracht ist und einen bewegbaren Mechanismus (16b) aufweist, der unabhängig von dem bewegbaren Teil (12-15) arbeitet; eine Messeinheit (4), welche am bewegbaren Mechanismus (16b) angebracht ist und einen Ort des bewegbaren Mechanismus (16b) misst; eine Ortsdetektionseinheit (41), welche auf Basis eines Ortes des bewegbaren Mechanismus (16b) gemäß Messung durch die Messeinheit (4) bei Steuerung der Antriebseinheit (35) entsprechend einem Befehl zum Bewegen des Werkzeuges (16) zu einem Zielort, und auf Basis eines Bewegungsbetrages des bewegbaren Mechanismus (16b) von einem Referenzpunkt innerhalb des Bewegungsbereiches des bewegbaren Mechanismus (16b) mit dem Werkzeug (16) als Referenz einen ersten Ort detektiert, wobei der bewegbare Mechanismus (16b) virtuell am Referenzpunkt fixiert ist; und eine Lern-Steuereinheit (42), welche einen Korrekturbetrag für die Steuergröße der Antriebseinheit (35) so berechnet, dass eine Differenz zwischen dem Zielort und dem ersten Ort verringert wird, wobei die Ortsdetektionseinheit (41) den ersten Ort detektiert durch Berechnung einer Position des bewegbaren Teils (12-15) auf Basis einer Betriebsgröße der Antriebseinheit (35) unter Steuerung der Antriebseinheit (35) entsprechend dem Befehl, weiterhin durch Berechnung der Bewegungsrichtung des bewegbaren Mechanismus (16b) entsprechend der Position im Welt-Koordinatensystem, welches in Bezug auf einen Raum vorgegeben ist, in dem die automatische Maschine installiert ist, und weiterhin durch Subtraktion des Bewegungsbetrages vom Ort des bewegbaren Mechanismus (16b) gemäß Messung durch die Messeinheit (4) in der Bewegungsrichtung.
  2. Steuervorrichtung für eine automatische Maschine, welche ein bewegbares Teil (12-15) aufweist, das durch eine Antriebseinheit (35) bewegbar ist und ein Werkzeug (16), das an dem bewegbaren Teil (12-15) angebracht ist und einen bewegbaren Mechanismus (16b) umfasst, welcher unabhängig vom bewegbaren Teil (12-15) arbeitet, wobei die Steuervorrichtung aufweist: eine Ortsdetektionseinheit (41), welche auf Basis eines Ortes des bewegbaren Mechanismus (16b) gemäß Messung durch eine Messeinheit (4) an dem bewegbaren Teil (12-15) bei Steuerung der Antriebseinheit (35) entsprechend einem Befehl zum Bewegen des Werkzeuges (16) zu einem Zielort und auf Basis eines Bewegungsbetrages des bewegbaren Mechanismus (16b) von einem Referenzpunkt innerhalb eines Bewegungsbereiches des bewegbaren Mechanismus (16b) mit dem Werkzeug (16) als Referenz einen ersten Ort detektiert, wobei der bewegbare Mechanismus (16b) virtuell auf den Referenzpunkt fixiert ist; und eine Lern-Steuereinheit (42), welche einen Korrekturbetrag für die Steuergrö-ße der Antriebseinheit (35) derart berechnet, dass eine Differenz zwischen dem Zielort und dem ersten Ort verringert wird, wobei die Ortsdetektionseinheit (41) den ersten Ort detektiert durch Berechnung einer Position des bewegbaren Teils (12-15) auf Basis einer Betriebsgröße der Antriebseinheit (35) unter Steuerung der Antriebseinheit (35) entsprechend dem Befehl, weiterhin durch Berechnung der Bewegungsrichtung des bewegbaren Mechanismus (16b) entsprechend der Position im Welt-Koordinatensystem, welches in Bezug auf einen Raum vorgegeben ist, in dem die automatische Maschine installiert ist, und weiterhin durch Subtraktion des Bewegungsbetrages vom Ort des bewegbaren Mechanismus (16b) gemäß Messung durch die Messeinheit (4) in der Bewegungsrichtung.
DE102019004545.9A 2018-07-06 2019-06-28 Automatische Maschine und Steuervorrichtung für Automatische Maschine Active DE102019004545B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018128997A JP6767436B2 (ja) 2018-07-06 2018-07-06 自動機械及び制御装置
JP2018-128997 2018-07-06

Publications (2)

Publication Number Publication Date
DE102019004545A1 DE102019004545A1 (de) 2020-01-09
DE102019004545B4 true DE102019004545B4 (de) 2022-06-09

Family

ID=68943965

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019004545.9A Active DE102019004545B4 (de) 2018-07-06 2019-06-28 Automatische Maschine und Steuervorrichtung für Automatische Maschine

Country Status (4)

Country Link
US (1) US11389969B2 (de)
JP (1) JP6767436B2 (de)
CN (1) CN110682287B (de)
DE (1) DE102019004545B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW202235235A (zh) * 2021-03-08 2022-09-16 日商發那科股份有限公司 控制系統、控制裝置及外部裝置
DE102021212542B3 (de) 2021-11-08 2022-12-22 Volkswagen Aktiengesellschaft Verfahren zum Betreiben eines mehrachsigen Roboters und Roboter

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111701A (ja) 1996-10-05 1998-04-28 Ricoh Co Ltd 学習型自動セル装置と学習方法
JP2005066619A (ja) 2003-08-21 2005-03-17 Komatsu Engineering Corp 溶接トーチの装着構造及び自動溶接方法。
JP2006172149A (ja) 2004-12-16 2006-06-29 Fanuc Ltd 機械先端点の制御装置
JP2011167817A (ja) 2010-02-19 2011-09-01 Fanuc Ltd 学習制御機能を備えたロボット
DE102012104194B4 (de) 2011-05-17 2015-10-15 Fanuc Corporation Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
JP2017074647A (ja) 2015-10-15 2017-04-20 ファナック株式会社 センサの位置と向きを算出する機能を備えたロボットシステム
EP3266571B1 (de) 2016-05-16 2019-07-10 Kurion, Inc. System und verfahren für robotisches manipulatorsystem
EP3169442B1 (de) 2014-07-17 2019-09-04 Tikkurila Oyj Materialsprühvorrichtung und verfahren zur steuerung der sprührichtung der vorrichtung

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56175176U (de) * 1980-05-28 1981-12-24
JPS60605U (ja) * 1984-05-10 1985-01-07 株式会社不二越 手首移動補正装置を備えた工業用ロボツト
JPH01274981A (ja) * 1988-04-26 1989-11-02 Fuji Heavy Ind Ltd 工業用ロボットの位置補正装置
KR100986669B1 (ko) * 2009-06-08 2010-10-08 (주)이지로보틱스 로봇 캘리브레이션 장치 및 그 방법
JP2011067889A (ja) * 2009-09-25 2011-04-07 Ihi Corp キャリブレーション装置及びキャリブレーション方法
JP5480198B2 (ja) * 2011-05-17 2014-04-23 ファナック株式会社 学習制御機能を備えたスポット溶接ロボット
FR2978933B1 (fr) * 2011-08-12 2013-09-06 Fatronik France Procede de commande d'un automate a actionnement parallele redondant, dispositif de commande associe et automate.
ES2769304T3 (es) * 2012-04-05 2020-06-25 Fidia Spa Dispositivo para corrección de errores para máquinas CNC
JP2014176943A (ja) * 2013-03-15 2014-09-25 Yaskawa Electric Corp ロボットシステム、校正方法及び被加工物の製造方法
CN104760040A (zh) * 2013-11-01 2015-07-08 精工爱普生株式会社 机器人、控制装置以及机器人系统
JP5850962B2 (ja) * 2014-02-13 2016-02-03 ファナック株式会社 ビジュアルフィードバックを利用したロボットシステム
CN105588525B (zh) * 2014-11-14 2019-09-20 北京配天技术有限公司 一种工具在机器人法兰坐标系上的标定方法及装置
WO2016118908A1 (en) * 2015-01-23 2016-07-28 Systems, Machines, Automation Components Corporation Actuator apparatus with distance sensor for use in automated assembly and manufacturing
JP6497953B2 (ja) * 2015-02-03 2019-04-10 キヤノン株式会社 オフライン教示装置、オフライン教示方法及びロボットシステム
JP6504864B2 (ja) * 2015-03-13 2019-04-24 キヤノン株式会社 ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法
AU2017248224A1 (en) * 2016-04-08 2018-11-15 Zume, Inc. On-demand robotic food assembly and related systems, devices and methods
JP2018012184A (ja) * 2016-07-22 2018-01-25 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111701A (ja) 1996-10-05 1998-04-28 Ricoh Co Ltd 学習型自動セル装置と学習方法
JP2005066619A (ja) 2003-08-21 2005-03-17 Komatsu Engineering Corp 溶接トーチの装着構造及び自動溶接方法。
JP2006172149A (ja) 2004-12-16 2006-06-29 Fanuc Ltd 機械先端点の制御装置
JP2011167817A (ja) 2010-02-19 2011-09-01 Fanuc Ltd 学習制御機能を備えたロボット
DE102012104194B4 (de) 2011-05-17 2015-10-15 Fanuc Corporation Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
EP3169442B1 (de) 2014-07-17 2019-09-04 Tikkurila Oyj Materialsprühvorrichtung und verfahren zur steuerung der sprührichtung der vorrichtung
JP2017074647A (ja) 2015-10-15 2017-04-20 ファナック株式会社 センサの位置と向きを算出する機能を備えたロボットシステム
EP3266571B1 (de) 2016-05-16 2019-07-10 Kurion, Inc. System und verfahren für robotisches manipulatorsystem

Also Published As

Publication number Publication date
CN110682287B (zh) 2023-04-14
US11389969B2 (en) 2022-07-19
US20200009742A1 (en) 2020-01-09
CN110682287A (zh) 2020-01-14
JP2020006469A (ja) 2020-01-16
JP6767436B2 (ja) 2020-10-14
DE102019004545A1 (de) 2020-01-09

Similar Documents

Publication Publication Date Title
DE112016002797B4 (de) Kalibriervorrichtung und robotersystem mit einer solchen kalibriervorrichtung
DE102017009940B4 (de) Robotersteuervorrichtung mit Lernsteuerfunktion
DE102018000467B4 (de) Robotersystem, das eine kraftgesteuerte Schiebevorrichtung umfasst
DE102011011681B4 (de) Roboter mit einer Lernsteuerfunktion
DE102012104194B4 (de) Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
EP1521211B1 (de) Verfahren und Vorrichtung zum Bestimmen von Position und Orientierung einer Bildempfangseinrichtung
DE102018001026B4 (de) Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren
EP2321623B1 (de) Verfahren zum überprüfen einer bremse eines roboters
DE102016012065B4 (de) Robotersystem mit Funktion zum Berechnen von Position und Ausrichtung eines Sensors
DE102015004481B4 (de) Robotersteuervorrichtung zum Steuern eines gemäß einer ausgeübten Kraft bewegten Roboters
DE102007026299B4 (de) Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
DE102017001298B4 (de) Robotersimulationsvorrichtung, die einen überstrichenen Raum berechnet
DE102007050232A1 (de) Handhabungsroboter und Verfahren zur Steuerung eines Handhabungsroboters
EP2272637B1 (de) Verfahren und eine Vorrichtung zum Betreiben eines Manipulators
DE102020100803B4 (de) Folgeroboter und Roboterarbeitssystem
DE102006055917B4 (de) Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells
EP2359205A1 (de) Verfahren und vorrichtung zur befehlseingabe in eine steuerung eines manipulators
DE102019103557B4 (de) Schwingungsanalysator und Schwingungsanalyseverfahren
DE102019004545B4 (de) Automatische Maschine und Steuervorrichtung für Automatische Maschine
EP2199036A2 (de) Verfahren und Vorrichtung zur Kompensation einer kinematischen Abweichung
DE102019109717A1 (de) Arbeitsrobotersystem und Arbeitsroboter
DE112013006613B4 (de) Servo-Regelungsvorrichtung
DE102018133349A1 (de) Verfahren und Vorrichtung zur Momentschätzung
EP3037905B1 (de) Vorrichtung und verfahren zum aufnehmen von positionen
DE102017003993B4 (de) Kalibrierung eines Roboters

Legal Events

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