DE102018001026B4 - Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren - Google Patents

Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren Download PDF

Info

Publication number
DE102018001026B4
DE102018001026B4 DE102018001026.1A DE102018001026A DE102018001026B4 DE 102018001026 B4 DE102018001026 B4 DE 102018001026B4 DE 102018001026 A DE102018001026 A DE 102018001026A DE 102018001026 B4 DE102018001026 B4 DE 102018001026B4
Authority
DE
Germany
Prior art keywords
robot
learning control
vibration
learning
information
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
DE102018001026.1A
Other languages
English (en)
Other versions
DE102018001026A1 (de
Inventor
Kaimeng Wang
Satoshi lnagaki
Wenjie Chen
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 DE102018001026A1 publication Critical patent/DE102018001026A1/de
Application granted granted Critical
Publication of DE102018001026B4 publication Critical patent/DE102018001026B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39241Force and vibration control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Robotersystem (1), umfassend:einen Roboter (11);eine Robotersteuerungsvorrichtung (10), die eine Betriebssteuerungseinheit (13) zum Steuern eines Betriebs des Roboters umfasst; undeinen Sensor (12), der eine an einem Steuerungszielabschnitt des Roboters (11) generierte Schwingung erkennt, wobeidie Robotersteuerungsvorrichtung (10) eine lernende Steuerungseinheit (14), die eine lernende Steuerung ausführt, in welcher ein Schwingungskorrekturbetrag zum Korrigieren der Schwingung berechnet wird, die generiert wird, wenn die Betriebssteuerungseinheit (13) den Roboter (11) durch einen Betriebsbefehl zum Betrieb veranlasst, und der Schwingungskorrekturbetrag bei einem nächsten Mal in dem Betriebsbefehl verwendet wird, umfasst,die lernende Steuerungseinheit (14) umfasst:eine Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) zum Berechnen des Schwingungskorrekturbetrags, wobei die Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) jeweils einer Vielzahl von Verwendungsbereichen zugeordnet wird, die in dem Roboter (11) angenommen werden;eine Auswahleinheit (17), die eines aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) basierend auf Betriebsinformation des Roboters (11) auswählt, wenn der Roboter (11) veranlasst wird, durch ein Betriebsprogramm betrieben zu werden, wobei das Betriebsprogramm ein Ziel der lernenden Steuerung ist; undeine Bestimmungseinheit (18), die bestimmt, ob die an dem Steuerungszielabschnitt generierte Schwingung durch das von der Auswahleinheit (17) ausgewählte lernende Steuerungsteil (16a, 16b, 16c, 16d) basierend auf Information über die von dem Sensor während der Durchführung der lernenden Steuerung erfasste Schwingung reduziert wird oder nicht,die Betriebsinformation Information über eine Position, zu der ein Spitzenendabschnitt (19) des Roboters (11) bewegt wird, und Information über eine Last umfasst, die von einem Endeffektor (20) auf den Spitzenendabschnitt (19) aufgebracht wird,jeder der Verwendungsbereiche ein Bereich ist, der sowohl durch den Bereich der Position, in die der Spitzenendabschnitt (19) des Roboters (11) bewegt wird, als auch durch den Bereich der Last gemäß dem Endeffektor (20) definiert wird, undwenn die an dem Steuerungszielabschnitt generierte Schwingung durch das ausgewählte lernende Steuerungsteil (16a, 16b, 16c, 16d) von der Bestimmungseinheit (18) als nicht reduziert bestimmt wird, die Auswahleinheit (17) ein Umschalten auf ein anderes lernendes Steuerungsteil (16a, 16b, 16c, 16d) aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) ausführt.

Description

  • Diese Erfindung betrifft ein Robotersystem, das eine lernende Steuerungsfunktion und ein lernendes Steuerungsverfahren aufweist.
  • An einem Produktionsstandort, an dem ein Roboter verwendet wird, gibt es Fälle, in denen zur Verbesserung der Produktionseffizienz gefordert wird, dass ein Betrieb des Roboters beschleunigt wird, um eine Taktzeit zu verkürzen. Wenn der Betrieb des Roboters jedoch auf ein bestimmtes Maß oder mehr beschleunigt wird, können Schwingungen an einem Handspitzenabschnitt an einem Spitzenende des Roboters während eines Betriebs aufgrund einer Belastung eines Reduziergetriebes, eines Steifigkeitsmangels an einem Armabschnitt des Roboters oder dergleichen generiert werden.
  • Als Verfahren zum Lösen eines solchen Problems wurde bisher ausgeführt, dass ein Beschleunigungssensor an dem Handspitzenabschnitt des Roboters angebracht wird, und eine lernende Steuerung wiederholt ausgeführt wird, während der Beschleunigungssensor Schwingungen des Roboters während eines Betriebs misst, wodurch solche Schwingungen reduziert werden (siehe z. B. ungeprüfte Japanische Patentveröffentlichung JP 2011 - 167 817 A ). In der oben beschriebenen lernenden Steuerung wird bei einem Betrieb des Roboters basierend auf einem vorgegebenen Betriebsprogramm ein Schwingungskorrekturbetrag zum Korrigieren der Schwingungen basierend auf Daten von Schwingungen berechnet, die von dem Beschleunigungssensor erfasst werden. Der berechnete Schwingungskorrekturbetrag wird in einer Servosteuerung durch das gleiche Betriebsprogramm bei einem nächsten Mal verwendet.
  • In dem Roboter ändert sich die Ausrichtung des Roboters in Abhängigkeit von dem Verwendungsbereich des Roboters, d. h. dem Bewegungsbereich eines an dem Handspitzenabschnitt angebrachten Endeffektors. Eigenschaften von Schwingungen, die an dem Roboter generiert werden, unterscheiden sich stark zwischen den Verwendungsbereichen, in denen die Ausrichtungen des Roboters sehr unterschiedlich sind.
  • Wenn die lernende Steuerung auf den Roboter angewendet wird, ist daher eine Fähigkeit, Schwingungen durch die lernende Steuerung zu dem Zeitpunkt zu reduzieren, an dem der Verwendungsbereich des Roboters geändert wird, d. h. die Robustheit, wichtig.
  • In Bezug darauf wurde vorgeschlagen, dass ein Frequenzgang in Bezug auf jede der verschiedenen Ausrichtungen des Roboters gemessen wird, und ein lernendes Steuerungsteil konstruiert wird, das die Robustheit in Bezug auf alle Ausrichtungen sicherstellt (siehe z. B. ungeprüfte Japanische Patentveröffentlichung JP 2011 - 167 817 A ).
  • Weiterhin kann sich der Verwendungsbereich des Roboters je nach Art des Endeffektors, wie z. B. einer Haltehand oder einer Schweißpistole, ändern. In Bezug darauf wurde ein Verfahren vorgeschlagen, bei dem in der lernenden Steuerung Parameter eines neuronalen Netzes gemäß einer auf den Roboter aufgebrachten Last geändert werden, um die Schwingungen genau abzuschätzen und die Robustheit im Verhältnis zu einer Änderung der Last basierend auf den Schwingungen sicherzustellen (z. B. ungeprüfte Japanische Patentveröffentlichung JP H10 - 111 701 A ).
  • Weiterer Stand der Technik ist aus den Druckschriften DE 10 2012 104 194 B4 , EP 2 875 913 A2 , EP 1 647 369 A2 , EP 1 533 544 A2 , JP 2012 - 240 103 A und JP 2003 - 084 804 A bekannt.
  • Der Roboter, der ein Ziel der lernenden Steuerung ist, kann keinen eigentlichen Betrieb starten, wenn die lernende Steuerung nicht beendet wird. Daher ist nicht nur die oben beschriebene Robustheit, sondern auch das Erfassen eines optimalen Schwingungskorrekturbetrags mit der geringsten Anzahl von Malen der lernenden Steuerung wichtig. Wenn jedoch das einzelne lernende Steuerungsteil, das die oben beschriebene Robustheit sicherstellt, in Bezug auf einen weiten Verwendungsbereich des Roboters ausgelegt werden soll, in dem sich die Ausrichtung des Roboters oder des Endeffektors in großem Umfang ändern kann, gab es dahingehend ein Problem, dass sich eine erforderliche Anzahl von Malen der lernenden Steuerung erhöht, um einen optimalen Schwingungsbetrag zu erhalten.
  • Dementsprechend wurde gewünscht, dass eine Erhöhung einer Anzahl von Malen der lernenden Steuerung unterdrückt werden kann, während ein schwingungsreduzierender Effekt durch die lernende Steuerung in einem angenommenen Verwendungsbereich des Roboters aufrechterhalten wird.
  • Es ist Aufgabe der vorliegenden Erfindung, ein Robotersystem und ein lernendes Steuerungsverfahren bereitzustellen, die die oben genannten Probleme vermeiden.
  • Diese Aufgabe wird erfindungsgemäß durch ein Robotersystem und ein lernendes Steuerungsverfahren gemäß den unabhängigen Ansprüchen gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen genannt.
  • Gemäß einem Aspekt der vorliegenden Offenbarung ist ein Robotersystem mit einem Roboter, einer Robotersteuerung, die eine Betriebssteuerungseinheit zum Steuern eines Betriebs des Roboters umfasst, und einem Sensor, der eine an einem Steuerungszielabschnitt des Roboters generierte Schwingung erkennt, vorgesehen. Die Robotersteuerung umfasst eine lernende Steuerungseinheit, die eine lernende Steuerung ausführt, wobei ein Schwingungskorrekturbetrag zum Korrigieren der Schwingung berechnet wird, die generiert wird, wenn die Betriebssteuerungseinheit den Roboter durch einen Betriebsbefehl zum Betrieb veranlasst, und der Schwingungskorrekturbetrag ein nächstes Mal in dem Betriebsbefehl verwendet wird.
  • Weiterhin umfasst die lernende Steuerungseinheit gemäß dem Aspekt der vorliegenden Offenbarung eine Vielzahl von lernenden Steuerungsteilen zum Berechnen des Schwingungskorrekturbetrags, wobei die Vielzahl von lernenden Steuerungsteilen jeweils einer Vielzahl von Verwendungsbereichen zugeordnet wird, die in dem Roboter angenommen werden, und eine Auswahleinheit, die eines aus der Vielzahl von lernenden Steuerungsteilen basierend auf Betriebsinformation des Roboters auswählt, wenn der Roboter von einem Betriebsprogramm betrieben werden soll, das ein Ziel der lernenden Steuerung ist.
  • Die Betriebsinformation umfasst Information über eine Position, zu der ein Spitzenendabschnitt des Roboters bewegt wird, und Information über eine Last, die von einem Endeffektor auf den Spitzenendabschnitt aufgebracht wird, wobei jeder der Verwendungsbereiche ein Bereich ist, der sowohl durch den Bereich der Position, in die der Spitzenendabschnitt des Roboters bewegt wird, als auch durch den Bereich der Last gemäß dem Endeffektor definiert wird.
  • Gemäß einem weiteren Aspekt der vorliegenden Offenbarung ist ein lernendes Steuerungsverfahren eines Roboters zum Ausführen einer lernenden Steuerung vorgesehen, in welcher ein Schwingungskorrekturbetrag zum Korrigieren einer Schwingung berechnet wird, die an einem Steuerungszielabschnitt eines Roboters generiert wird, wenn der Roboter basierend auf einem Betriebsbefehl zum Betrieb veranlasst wird, und der Schwingungskorrekturbetrag ein nächstes Mal in dem Betriebsbefehl verwendet wird.
  • Weiterhin umfasst das lernende Steuerungsverfahren einen Schritt des Erfassens von Betriebsinformation des Roboters aus einem Betriebsprogramm, das ein Ziel der lernenden Steuerung ist, durch einen Computer mit einer Vielzahl von lernenden Steuerungsteilen zum Berechnen des Schwingungskorrekturbetrags, wobei die Vielzahl von lernenden Steuerungsteilen jeweils einer Vielzahl von Verwendungsbereichen zugeordnet wird, die in dem Roboter angenommen werden, einen Schritt des Auswählens eines Steuerungsteils aus der Vielzahl von lernenden Steuerungsteilen durch den Computer basierend auf der Betriebsinformation, und einen Schritt des Ausführens der lernenden Steuerung durch ein ausgewähltes lernendes Steuerungsteil des Computers.
  • Bei dem lernenden Steuerungsverfahren gemäß einem weiteren, ebenfalls oben beschriebenen Aspekt umfasst die Betriebsinformation Information über eine Position, zu der ein Spitzenendabschnitt des Roboters bewegt wird, und Information über eine Last, die von einem Endeffektor auf den Spitzenendabschnitt aufgebracht wird, wobei jeder der Anwendungsbereiche ein Bereich ist, der sowohl durch den Bereich der Position, in die der Spitzenendabschnitt des Roboters bewegt wird, als auch durch den Bereich der Last gemäß dem Endeffektor definiert wird.
  • Solche Aufgaben, Merkmale und Vorteile gemäß einem Aspekt der vorliegenden Offenbarung und andere Aufgaben, Merkmale und Vorteile werden durch die ausführliche Beschreibung von typischen Ausführungsformen der vorliegenden Offenbarung, die in den beigefügten Zeichnungen veranschaulicht sind, noch deutlicher.
    • 1 ist ein Blockdiagramm zum Veranschaulichen eines Robotersystems gemäß einer Ausführungsform.
    • 2 ist ein Diagramm, das schematisch ein Konfigurationsbeispiel einer lernenden Steuerungseinheit veranschaulicht.
    • 3 ist ein Diagramm, das ein Beispiel für einen angenommenen Verwendungsbereich eines Roboters veranschaulicht.
    • 4 ist ein Diagramm, das ein weiteres Beispiel in Bezug auf den angenommenen Verwendungsbereich veranschaulicht, wie in 3 veranschaulicht.
    • 5 ist ein Diagramm, das schematisch ein weiteres Konfigurationsbeispiel der lernenden Steuerungseinheit veranschaulicht.
    • 6 ist ein Ablaufdiagramm, das ein Beispiel für einen Prozessablauf veranschaulicht, der von der lernenden Steuerungseinheit ausgeführt wird.
    • 7 ist ein Diagramm, das ein Beispiel eines Roboters veranschaulicht, der gemäß einer Ausführungsform in dem Robotersystem eingesetzt werden kann.
    • 8 ist ein Diagramm zum Veranschaulichen von bestandteilbildenden Elementen und Koordinatensystemen des Roboters, wie in 7 veranschaulicht.
  • Ausführliche Beschreibung
  • Ausführungsformen der vorliegenden Offenbarung werden unter Bezugnahme auf die Zeichnungen beschrieben. In den Zeichnungen sind ähnliche bestandteilbildende Teile oder Funktionsteile zwecks Bezugnahme mit den gleichen Bezugszeichen versehen. Diese Figuren sind zum besseren Verständnis im Maßstab passend verändert. Weiterhin sind die in den Zeichnungen veranschaulichten Ausführungsformen Beispiele zum Ausführen dieser Erfindung, und diese Erfindung ist nicht auf die in den Zeichnungen veranschaulichten Ausführungsformen zu beschränken.
  • 1 ist ein Blockdiagramm zum Veranschaulichen eines Robotersystems 1 gemäß einer Ausführungsform. 2 ist ein Diagramm, das schematisch ein Konfigurationsbeispiel einer lernenden Steuerungseinheit 14 veranschaulicht, wie in 1 veranschaulicht.
  • Wie in 1 veranschaulicht, umfasst das Robotersystem 1 einen Roboter 11 und eine Robotersteuerungsvorrichtung 10, die eine Betriebssteuerungseinheit 13 zum Steuern eines Betriebs des Roboters 11 umfasst. Das Robotersystem 1 umfasst einen Sensor 12, der an einem Steuerungszielabschnitt des Roboters 11 generierte Schwingungen erkennt.
  • Der Roboter 11 kann ein Vertikal-Knickarmroboter, ein Horizontal-Knickarmroboter, ein Parallelgelenkroboter oder dergleichen sein. Weiterhin kann der oben beschriebene Steuerungszielabschnitt des Roboters 11 ein Handspitzenabschnitt an einem Spitzenende eines Roboterarmabschnitts (nachfolgend gelegentlich als Spitzenendabschnitt bezeichnet) sein, an dem ein Endeffektor angebracht werden kann. Der Endeffektor ist eine Haltehand, ein Bearbeitungswerkzeug, eine Schweißpistole, ein Laserbestrahlungsgerät oder dergleichen.
  • Die Robotersteuerungsvorrichtung 10 umfasst weiterhin die lernende Steuerungseinheit 14, die eine lernende Steuerung ausführt, wobei ein Schwingungskorrekturbetrag zum Korrigieren der Schwingung berechnet wird, die an dem Steuerungszielabschnitt des Roboters 11 generiert wird, wenn die Betriebssteuerungseinheit 13 den Roboter 11 durch einen Betriebsbefehl zum Betrieb veranlasst, und der Schwingungskorrekturbetrag ein nächstes Mal in dem gleichen Betriebsbefehl verwendet wird.
  • Weiterhin umfasst die Robotersteuerungsvorrichtung 10 eine Betriebsbefehlseinheit 15, die den Betriebsbefehl wie oben beschrieben basierend auf einem Betriebsprogramm generiert, das ein Ziel der lernenden Steuerung ist, und diesen an die Betriebssteuerungseinheit 13 ausgibt, und Betriebsinformation des Roboters 11, die vorab in dem Betriebsprogramm beschrieben wird, an die lernende Steuerungseinheit 14 ausgibt.
  • Die Robotersteuerungsvorrichtung 10 ist ein Computersystem. Das oben beschriebene Betriebsprogramm wird in einem Speicher (nicht veranschaulicht) von einem Roboter gespeichert, wobei vorab in der Robotersteuerungsvorrichtung 10 Anlernen erfolgt.
  • In der Betriebsbefehlseinheit 15 kann ein Zentralprozessor (CPU) eines Computers, der so konfiguriert ist, dass er das in dem Speicher gespeicherte Betriebsprogramm liest und einen Betriebsbefehlswert generiert, eingesetzt werden. Eine solche Betriebsbefehlseinheit 15 kann auch nicht in der Robotersteuerungsvorrichtung 10, sondern in einem mit der Robotersteuerungsvorrichtung 10 verbundenen Hostcomputer (nicht veranschaulicht) vorgesehen sein. Weiterhin kann in jeder von der Betriebssteuerungseinheit 13 und der lernenden Steuerungseinheit 14 jeweils ein Computer eingesetzt werden.
  • Wie in 2 veranschaulicht, umfasst die lernende Steuerungseinheit 14 eine Auswahleinheit 17, die eines aus einer Vielzahl von lernenden Steuerungsteilen 16a bis 16d zum Berechnen des Schwingungskorrekturbetrags wie oben beschrieben auswählt.
  • Die Vielzahl von lernenden Steuerungsteilen 16a bis 16d wird jeweils einer Vielzahl von Verwendungsbereichen zugeordnet, in die ein angenommener Verwendungsbereich UR des Roboters 11 unterteilt ist.
  • Die Auswahleinheit 17 ist so konfiguriert, dass sie einen aus der Vielzahl der oben beschriebenen Verwendungsbereiche basierend auf der Betriebsinformation des Roboters 11 bestimmt, wenn der Roboter durch das oben beschriebene Betriebsbefehlsprogramm, das ein Ziel der lernenden Steuerung ist, zum Betrieb veranlasst wird. Die Auswahleinheit 17 ist so konfiguriert, dass sie das lernende Steuerungsteil aus der Vielzahl von lernenden Steuerungsteilen 16a bis 16d auswählt, das dem spezifizierten Verwendungsbereich entspricht.
  • Die Betriebsinformation des Roboters 11, wie oben beschrieben, umfasst Information über eine Position, in die sich der Spitzenendabschnitt des Roboters 11 bewegen soll, und Information über eine Last, die der Endeffektor auf den Spitzenendabschnitt aufbringt. Diese Information kann basierend auf dem oben beschriebenen Betriebsprogramm erfasst werden. Da sich eine Ausrichtung des Roboters 11 in Abhängigkeit von der Position des Spitzenendabschnitts (Handspitzenabschnitt) des Roboters 11 ändert, kann die Information über die Position, in die der Spitzenendabschnitt des Roboters 11 wie oben beschrieben bewegt wird, auch als Information über eine Ausrichtung angesehen werden, die der Roboter 11 während des Betriebs vornehmen kann.
  • Jeder aus der Vielzahl von oben beschriebenen Verwendungsbereichen kann ein Bereich sein, der sowohl durch einen Bereich der Position, in die der Spitzenendabschnitt des Roboters 11 bewegt wird, als auch durch einen Bereich der Last gemäß dem oben beschriebenen Endeffektor definiert wird.
  • 3 ist ein Diagramm, das ein Beispiel für den angenommenen Verwendungsbereich UR des oben beschriebenen Roboters 11 veranschaulicht.
  • Beispielsweise, wie in einer in 3 veranschaulichten Grafik veranschaulicht, wird der angenommene Verwendungsbereich UR des Roboters 11 sowohl durch einen angenommenen Bereich einer Ausrichtung, die der Roboter 11 ausführen kann, als auch durch einen angenommenen Bereich einer Last definiert, die gemäß dem Endeffektor auf den Handspitzenabschnitt des Roboters 11 aufgebracht wird. In der Grafik ist vorgesehen, dass die horizontale Achse den angenommenen Bereich der Roboterausrichtung, und die vertikale Achse den angenommenen Bereich der Last gemäß dem Endeffektor angibt.
  • Der angenommene Verwendungsbereich UR ist in vier kleine Bereiche R1 bis R4 unterteilt. Die oben beschriebenen lernenden Steuerungsteile 16a bis 16d sind jeweils den vier kleinen Bereichen R1 bis R4 zugeordnet. In einem solchen Fall ist die lernende Steuereinheit 14 so konfiguriert, dass sie sowohl Information über eine Ausrichtung, die der Roboter 11 vornehmen kann, als auch Information über eine Last, die der Endeffektor auf den Spitzenendabschnitt des Roboters 11 aufbringt, als Betriebsinformation des Roboters 11 erfasst, wie oben beschrieben.
  • Die Auswahleinheit 17 der lernenden Steuerungseinheit 14 spezifiziert einen der vier kleinen Bereiche R1 bis R4 basierend auf sowohl Information einer Roboterausrichtung als auch Information der Last durch den Endeffektor, die erfasst wurden. Die Auswahleinheit 17 ist so konfiguriert, dass sie das lernende Steuerungsteil auswählt, das dem spezifizierten kleinen Bereich entspricht.
  • Genauer ausgedrückt wird in dem Betriebsprogramm des Roboters 11 eine Zielposition beschrieben, in die der Handspitzenabschnitt des Roboters 11 aus einer Startposition bewegt wird. Beispielsweise gibt es einen Fall, in dem der Armabschnitt des Roboters 11 in Drehung versetzt wird und der Handspitzenabschnitt des Roboters 11 veranlasst wird, sich nur in einem Bereich zu bewegen, der von einem Roboterfußabschnitt entfernt ist. Weiterhin gibt es einen Fall, in dem der Armabschnitt des Roboters 11 in Drehung versetzt wird und der Handspitzenabschnitt des Roboters 11 veranlasst wird, sich nur in einem Bereich zu bewegen, der nahe bei dem Roboterfußabschnitt liegt. Die Ausrichtung des Roboters 11, wenn der Handspitzenabschnitt nur in einem von dem Roboterfußabschnitt entfernten Bereich bewegt wird, unterscheidet sich von einer Ausrichtung des Roboters 11, wenn der Handspitzenabschnitt veranlasst wird, sich nur in einem Bereich nahe dem Roboterfußabschnitt zu bewegen. Dementsprechend extrahiert die Betriebseinheit 15 einen Minimalwert und einen Maximalwert der Zielposition des Handspitzenabschnitts des Roboters 11 aus dem Betriebsprogramm, und kann basierend auf den Werten einen Bewegungsbereich des Handspitzenabschnitts des Roboters 11 abschätzen. In der Grafik von 3 ist ein solcher Bewegungsbereich des Handspitzenabschnitts des Roboters 11 als der Bereich einer Ausrichtung definiert, die der Roboter 11 ausführen kann.
  • Weiterhin wird ein Typ des zu verwendenden Endeffektors und der Befehl, wie der Roboter 11 zu betreiben ist, in dem Betriebsprogramm des Roboters 11 programmiert. Beispielsweise wird das Betriebsprogramm, in dem der Roboter 11 den Vorgang zum Aufnehmen und Ablegen eines Werkstücks mit einer Haltehand als Endeffektor durchführt, erstellt. Alternativ wird das Betriebsprogramm erstellt, in dem der Roboter 11 Punktschweißen mit einer Punktschweißpistole als Endeffektor ausführt. Die Robotersteuerungsvorrichtung 10 speichert vorab die Daten einer Lastmasse jeder Art (z. B. einer Haltehand, einer Punktschweißpistole oder dergleichen) des Endeffektors, die an dem Spitzenendabschnitt des Roboters 11 befestigt werden kann. Die Betriebsbefehlseinheit 15 spezifiziert den Typ des Endeffektors aus dem Betriebsprogramm, wie oben beschrieben. Die Betriebsbefehlseinheit 15 kann Daten einer Lastmasse auslesen, die dem Endeffektor entspricht, wie von dem Speicher als Betriebsinformation des Roboters 11 definiert, und an die lernende Steuerungseinheit 14 ausgeben.
  • So kann die lernende Steuerungseinheit 14, wie oben beschrieben, sowohl Information über die Ausrichtung des Roboters 11 als auch über die Belastung durch den Endeffektor von der Betriebsbefehlseinheit 15 erfassen.
  • Es wird angemerkt, dass die Ausführungsform, wie oben beschrieben, lediglich ein Beispiel ist. Der angenommene Verwendungsbereich UR des Roboters 11 ist in die vier kleinen Bereiche R1 bis R4 unterteilt, wobei eine Anzahl von Malen von Unterteilungen nicht auf diese Ausführungsform beschränkt ist. In Bezug auf die Grafik von 3 kann der Bereich der Roboterausrichtung, der durch die horizontale Achse angegeben wird, in drei oder mehr Bereiche unterteilt werden. Alternativ kann der Bereich der Last, der durch die vertikale Achse angegeben wird, in drei oder mehr Bereiche unterteilt werden.
  • Weiterhin ist 4 ein Diagramm, das ein weiteres Beispiel in Bezug auf den angenommenen Verwendungsbereich UR veranschaulicht, wie in 3 veranschaulicht. Je nach Betriebsprogramm kann es sein, dass ein Bereich der Ausrichtung, die der Roboter 11 vornehmen kann, d. h. der Bewegungsbereich des Spitzenendabschnitts des Roboters 11, nicht in jeden der kleinen Bereiche R1 bis R4 fällt. Dann kann auch, wie in 4 veranschaulicht, ein mittlerer Bereich R5, der sich sowohl über den kleinen Bereich R1 als auch über den kleinen Bereich R2 erstreckt, und ein mittlerer Bereich R6, der sich sowohl über den kleinen Bereich R3 als auch über den kleinen Bereich R4 erstreckt, angenommen werden. Dann können dem mittleren Bereich R5 und dem mittleren Bereich R6 jeweils zwei weitere lernende Steuerungsteile zum Berechnen des Schwingungskorrekturbetrags, wie oben beschrieben, zugeordnet werden. Durch Übernahme dieser Konfiguration kann die Robotersteuerungsvorrichtung 10 die effektive lernende Steuerung auch dann ausführen, wenn die Roboterausrichtung (d.h. eine Position des Handspitzenabschnitts), die jeden der kleinen Bereiche R1 bis R4 überschreitet, aus dem Betriebsprogramm, das das Ziel der lernenden Steuerung ist, erhalten wird.
  • 5 ist ein Diagramm, das schematisch ein weiteres Konfigurationsbeispiel der lernenden Steuerungseinheit 14 veranschaulicht. Die oben beschriebene lernende Steuerungseinheit 14 kann auch, wie in 5 veranschaulicht, eine Bestimmungseinheit 18 umfassen, die so konfiguriert ist, dass sie während des Ausführens der lernenden Steuerung basierend auf einem Erkennungswert des Sensors 12, d. h. Information über die an dem Steuerungszielabschnitt des Roboters 11 generierte Schwingung, bestimmt, ob das von der Auswahleinheit 17 ausgewählte lernende Steuerungsteil optimal ist oder nicht.
  • Der Begriff „das lernende Steuerungsteil ist optimal“ bedeutet, dass die oben beschriebene Schwingung an dem Steuerungszielabschnitt durch die ausgewählte lernende Steuerungseinheit reduziert wird.
  • Weiterhin führt die Auswahleinheit 17 bei einem weiteren Konfigurationsbeispiel, wie in 5 veranschaulicht, wenn das von der Auswahleinheit 17 ausgewählte lernende Steuerungsteil durch die Bestimmungseinheit 18 als nicht optimal bestimmt wird, ein Umschalten auf ein anderes lernendes Steuerungsteil aus der Vielzahl von lernenden Steuerungsteilen 16a bis 16d aus. Die Auswahleinheit 17 kann ein Umschalten der lernenden Steuerungsteile ausführen, bis die Bestimmungseinheit 18 bestimmt, dass das ausgewählte lernende Steuerungsteil optimal ist.
  • 6 ist ein Ablaufdiagramm, das ein Beispiel für lernendes Steuerungsverfahren veranschaulicht, das durch die Robotersteuerungsvorrichtung 10 ausgeführt wird, wie oben beschrieben. Ein Prozessablauf, wie in 6 veranschaulicht, ist ein Beispiel für ein Robotersteuerungsverfahren der vorliegenden Offenbarung. Die Robotersteuerungsvorrichtung 10, die den Prozessablauf, wie in 6 veranschaulicht, ausführt, kann durch einen Digitalcomputer konfiguriert werden.
  • In Schritt S11 von 6 erfasst die Robotersteuerungsvorrichtung 10 zunächst die Betriebsinformation des Roboters 11 aus dem Betriebsprogramm, das ein Ziel der lernenden Steuerung ist.
  • In dem nachfolgenden Schritt S12 spezifiziert die Robotersteuerungsvorrichtung 10 einen aus der Vielzahl der kleinen Bereiche R1 bis R4, in die der angenommene Verwendungsbereich UR des Roboters 11 basierend auf der erhaltenen Betriebsinformation unterteilt wird, und wählt aus der Vielzahl von lernenden Steuerungsteilen 16a bis 16d das dem spezifizierten kleinen Bereich entsprechende lernende Steuerungsteil aus.
  • Im nächsten Schritt S13 führt die Robotersteuerungsvorrichtung 10 die lernende Steuerung durch das ausgewählte lernende Steuerungsteil aus.
  • Im nachfolgenden Schritt S14 bestimmt die Robotersteuerungsvorrichtung 10 basierend auf einem Erkennungswert des Sensors 12, d. h. einer Information über die an dem Roboter 11 generierte Schwingung, ob das ausgewählte lernende Steuerungsteil optimal ist oder nicht.
  • Wenn in einem Bestimmungsergebnis bei Schritt S14 das ausgewählte lernende Steuerungsteil nicht optimal ist, führt die Robotersteuerungsvorrichtung 10 ein Umschalten auf ein anderes lernendes Steuerungsteil aus der Vielzahl von lernenden Steuerungsteilen 16a bis 16d aus (Schritt S15). Weiterhin wiederholt die Robotersteuerungsvorrichtung 10 die Schritte S13 bis S15, wie oben beschrieben, bis das ausgewählte lernende Steuerungsteil als optimal bestimmt wird.
  • Andererseits führt die Robotersteuerungsvorrichtung 10 in dem Bestimmungsergebnis in Schritt S14, wenn das ausgewählte lernende Steuerungsteil optimal ist, die lernende Steuerung durch das ausgewählte lernende Steuerungsteil wiederholt eine vorbestimmte Anzahl von Malen aus (Schritt S16), und die lernende Steuerung wird beendet.
  • Weiterhin wird das Robotersystem 1 gemäß einer Ausführungsform spezifisch beschrieben.
  • 7 ist ein Diagramm, das ein Beispiel des Roboters 11 veranschaulicht, der in dem Robotersystem 1 eingesetzt werden kann, wie oben beschrieben. 8 ist ein Diagramm zum Veranschaulichen des Roboters 11, wie in 7 veranschaulicht.
  • Der Roboter 11 ist gemäß der vorliegenden Ausführungsform ein sechsachsiger Vertikal-Knickarmroboter, wie in 7 veranschaulicht. Wie in 8 veranschaulicht, ist der Roboter 11 mit sechs Gelenkachsen IIb1 bis 11b6, einem Armabschnitt IIa, der mit jeder der Gelenkachsen IIb1 bis 11b6 verkoppelt ist, und einem Servomotor (nicht veranschaulicht) versehen, der das bestandteilbildende Element des Roboters 11 um die Gelenkachsen IIb1 bis 11b6 antreibt. Selbstverständlich ist eine Konfiguration des Roboters 11 nicht auf die in 1 veranschaulichte Ausführungsform beschränkt, sondern es kann ein Horizontal-Knickarmroboter, ein Parallelgelenkroboter oder dergleichen eingesetzt werden.
  • Der Sensor 12 ist wie oben beschrieben an einem Endeffektor 20 befestigt, der an dem Spitzenendabschnitt 19 des Roboters 11 vorgesehen ist. Durch Übernahme dieser Konfiguration erkennt der Sensor 12 gemäß der vorliegenden Ausführungsform die an dem Spitzenendabschnitt 19 generierte Schwingung, die als Steuerungszielabschnitt des Roboters 11 dient. Der Sensor 12 ist an dem Roboter 11 anbringbar und davon abnehmbar. Als Endeffektor 20 kann ein Werkzeugabschnitt, ein Handabschnitt, ein Schraubenanzugswerkzeug, eine Schweißpistole oder dgl. verwendet werden.
  • Wie in 8 veranschaulicht, weist der Roboter 11 ein Weltkoordinatensystem 21 auf, das in einem Raum fixiert ist, und ein mechanisches Schnittstellenkoordinatensystem 22, das an einem Flansch an einem Spitzenende eines Handgelenkabschnitts des Roboters 11 eingestellt ist. Das Weltkoordinatensystem 21 und das mechanische Schnittstellenkoordinatensystem 22 sind jeweils ein dreidimensionales orthogonales Koordinatensystem.
  • Es wird angemerkt, dass das Weltkoordinatensystem 21 und das mechanische Schnittstellenkoordinatensystem 22 aus Gründen der Übersichtlichkeit in 8 jeweils durch eine vergrößerte Ansicht dargestellt sind. In dem Weltkoordinatensystem 21 ist die +X-Achse in der rechten Richtung von 8, die +Z-Achse in der oberen Richtung von 8 und die +Y-Achse in der hinteren Richtung der Ebene der Zeichnung von 8 definiert. In dem mechanischen Schnittstellenkoordinatensystem 22 ist die +X-Achse in der rechten Richtung von 8, die +Z-Achse in der unteren Richtung von 8 und die +Y-Achse in der vorderen Richtung der Ebene der Zeichnung von 8 definiert. In der vorliegenden Ausführungsform wird die Korrelation der Positionen zwischen dem Weltkoordinatensystem 21 und dem mechanischen Schnittstellenkoordinatensystem 22 vorab durch Kalibrierung eingestellt. Durch Übernehmen dieser Konfiguration kann die Betriebssteuerungseinheit 13 der Robotersteuerungsvorrichtung 10 die Position des Spitzenendabschnitts 19 des Roboters 11, an dem der Endeffektor 20 befestigt ist, über die durch das Weltkoordinatensystem 21 definierte Position steuern.
  • Wie in 7 veranschaulicht, ist die Robotersteuerungsvorrichtung 10 gemäß der vorliegenden Ausführungsform über ein Kabel 23 gegenseitig mit dem Roboter 11 verbunden. Der Sensor 12 ist über ein Kabel oder drahtlos kommunizierend mit der Robotersteuerungsvorrichtung 10 verbunden.
  • Als der Sensor 12 gemäß der vorliegenden Ausführungsform wird ein Beschleunigungssensor verwendet, wobei der einsetzbare Sensor 12 nicht auf einen Beschleunigungssensor beschränkt ist. Weiterhin ist der Sensor 12 gemäß der vorliegenden Ausführungsform in dem Spitzenendabschnitt 19 des Roboters 11 vorgesehen, wobei jedoch ein Ort, an dem der Sensor 12 vorgesehen ist, nicht darauf beschränkt ist. Mit anderen Worten ausgedrückt, solange die an dem Steuerungszielabschnitt des Roboters 11 generierte Schwingung erkannt werden kann, kann jeder Typ des Sensors 12 und jeder Ort, an dem der Sensor 12 vorgesehen ist, eingesetzt werden. Der Sensor 12 kann auch an einer von dem Roboter 11 entfernten Stelle vorgesehen sein. Dementsprechend kann als der Sensor 12 beispielsweise ein Kreiselsensor, ein Trägheitssensor, ein Kraftsensor, ein Lasertracker, eine Kamera, ein Bewegungserfassungsgerät oder dergleichen verwendet werden. Diese Geräte können eine chronologische Veränderung bei einer vorgegebenen Position messen und können folglich einen Schwingungsbetrag an einer gemessenen Position erkennen.
  • Beispielsweise kann im Falle des Beschleunigungssensors, da die Position durch zweimaliges Integrieren der Beschleunigung an dem Steuerzielabschnitt des Roboters 11 berechnet werden kann, der Schwingungsbetrag aus der berechneten Positionsänderung erkannt werden. In einem Fall des Kraftsensors wird aus dem Drehmoment oder dem Moment, das an dem Steuerzielabschnitt generiert wird, ein Drehwinkel von einer Ausgangsposition des Zielabschnitts bestimmt, und der Änderungsbetrag des Zielabschnitts, d. h. der Schwingungsbetrag, kann basierend auf dem Drehwinkel berechnet werden.
  • Unter erneuter Bezugnahme auf 1 wird der Roboter 11 von dem Servomotor 24 angetrieben. Der Servomotor 24 umfasst einen Impulscodierer (nicht veranschaulicht), der einen Positionsrückmeldungswert (nachfolgend als Positions-FB bezeichnet) und einen Drehzahlrückmeldungswert (nachfolgend als Drehzahl-FB bezeichnet) erkennt.
  • Die in 1 veranschaulichte Betriebsbefehlseinheit 15 generiert den Betriebsbefehl, der den Roboter basierend auf dem vorab erstellten Betriebsprogramm zum Betrieb veranlasst, und gibt diesen an die Betriebssteuerungseinheit 13 aus. Das Betriebsprogramm wird in einem Speicher wie z. B. einem ROM in der Robotersteuerungsvorrichtung 10 gespeichert. Zusätzlich gibt die Betriebsbefehlseinheit 15 die in dem Betriebsprogramm vorab beschriebene Betriebsinformation des Roboters 11 an die lernende Steuerungseinheit 14 aus.
  • Weiterhin umfasst die Betriebssteuerungseinheit 13 der Robotersteuerungsvorrichtung 10 eine Positionssteuerungseinheit 31, eine Drehzahlsteuerungseinheit 32, eine Stromsteuerungseinheit 33 und einen Verstärker 34.
  • Die Positionssteuerungseinheit 31 verarbeitet zuerst einen Positionsabweichungsbetrag, der eine Differenz zwischen einem als Betriebsbefehl von der Betriebsbefehlseinheit 15 bereitgestellten Positionsbefehlswert und der von dem Servomotor 24 ausgegebenen Positions-FB ist, und gibt einen Drehzahlbefehlswert an die Drehzahlsteuerungseinheit 32 aus.
  • Die Drehzahlsteuerungseinheit 32 verarbeitet einen Drehzahlabweichungsbetrag, der eine Differenz zwischen dem von der Positionssteuerungseinheit 31 bereitgestellten Drehzahlbefehlswert und der von dem Servomotor 24 ausgegebenen Drehzahl-FB ist, und gibt einen Strombefehlswert an die Stromsteuerungseinheit 33 aus.
  • Die Stromsteuerungseinheit 33 verarbeitet einen Stromabweichungsbetrag, der eine Differenz zwischen dem von der Drehzahlsteuerungseinheit 32 bereitgestellten Strombefehlswert und dem Strom-FB (d. h. Stromrückmeldungswert) von dem Verstärker 34 ist, und gibt einen Strombefehlswert (Drehmomentbefehlswert) an den Verstärker 34 aus.
  • Der Verstärker 34 empfängt jeden Strombefehlswert von der Stromsteuerungseinheit 33. Der Verstärker 34 generiert einen Antriebsstrom zum Antreiben des Servomotors 24 basierend auf dem empfangenen Strombefehlswert, und treibt den Servomotor 24 an.
  • Wird der mit jeder der Gelenkachsen 11b1 bis 11b6 des Roboters 11 gekoppelte Servomotor 24 entsprechend dem Betriebsbefehl der Betriebsbefehlseinheit 15 angetrieben, fährt der Spitzenendabschnitt 19 des Roboters 11, an dem der Endeffektor 20 befestigt ist, in die befohlene Position.
  • Der Sensor 12 erkennt die Schwingung, die an dem Spitzenendabschnitt des Roboters 11 generiert wird, während die Betriebssteuerungseinheit 13 basierend auf dem Betriebsbefehl die Betriebssteuerung des Roboters 11 ausführt. Ein Erkennungswert des Sensors 12 ist so konfiguriert, dass er in die lernende Steuerungseinheit 14 eingegeben wird (siehe 2).
  • Die lernende Steuerungseinheit 14 ist ein Funktionsteil zum Ausführen der sogenannten lernenden Steuerung. Insbesondere gibt die Betriebsbefehlseinheit 15 in einem vorgegebenen Steuerzyklus wiederholt einen Betriebsbefehlswert an die Betriebssteuerungseinheit 13 aus. Die Betriebssteuerungseinheit 13 steuert einen Betrieb des Roboters 11 über den Betriebsbefehlswert und gibt in jedem Steuerzyklus den gleichen Betriebssteuerungswert an die lernende Steuerungseinheit 14 aus. Die lernende Steuerungseinheit 14 führt eine lernende Steuerung aus, die den Schwingungskorrekturbetrag zum Korrigieren der an dem Spitzenendabschnitt 19 generierten Schwingung zu jedem Zeitpunkt einer Eingabe des Betriebsbefehlswertes berechnet und wendet den Schwingungskorrekturbetrag des Roboters 11 durch denselben Betriebsbefehl ein nächstes Mal an. Die lernende Steuerungseinheit 14 wiederholt die lernende Steuerung derart, dass dadurch die an dem Spitzenendabschnitt 19 des Roboters 11 generierte Schwingung reduziert wird.
  • Beispielsweise veranlasst der Roboterbediener an einen Produktionsstandort die Robotersteuerungsvorrichtung 10, die sich wiederholende lernende Steuerung mit dem gleichen Betriebsprogramm auszuführen, wie bei einem tatsächlichen Betrieb, bevor der Roboter 11 tatsächlich von dem Betriebsprogramm betrieben wird. Wenn die Schwingung an dem Spitzenendabschnitt des Roboters 11 durch die sich wiederholende lernende Steuerung ausreichend reduziert werden kann, wird der zuletzt berechnete Schwingungskorrekturbetrag in dem Speicher der Robotersteuerungsvorrichtung 10 gespeichert. Der gespeicherte Schwingungskorrekturbetrag kann verwendet werden, wenn der Roboter 11 durch das Betriebsprogramm an einem Produktionsstandort tatsächlich betrieben werden soll.
  • Obwohl der Sensor 12 zum Berechnen des Schwingungskorrekturbetrags verwendet wird, wird der Sensor 12 nach Beendigung der lernenden Steuerung von dem Endeffektor 20 an dem Spitzenendabschnitt 19 des Roboters 11 entfernt.
  • Zusätzlich werden die für das Berechnen des Schwingungskorrekturbetrags erforderlichen Schwingungsbetragsdaten erfasst, indem bei jedem vorgeschriebenen Steuerzyklus ein zweiter Positionsabweichungsbetrag verarbeitet wird, der eine Differenz zwischen dem von der Betriebsbefehlseinheit 15 an die lernende Steuerungseinheit 14 eingegebenen Betriebsbefehlswert und dem Erkennungswert des Sensors 12, der in die lernende Steuereinheit 14 eingegeben wird, ist. Weiterhin kann der Schwingungskorrekturbetrag berechnet werden, indem eine Näherungsformel der erfassten Schwingungsdaten geschätzt und die geschätzte Näherungsformel umgekehrt transformiert wird. Mit anderen Worten ausgedrückt ist der Schwingungskorrekturbetrag eine Funktion zum Korrigieren der Schwingungsbetragsdaten in einer Zeitreihe in die Nähe von Null.
  • Wie bereits beschrieben, werden der lernenden Steuerungseinheit 14 die mehreren lernenden Steuerungsteile 16a bis 16d zum Bestimmen des Schwingungskorrekturbetrags zur Verfügung (siehe 2 und 5) gestellt. Die lernende Steuerungseinheit 14 gemäß der vorliegenden Ausführungsform umfasst die Auswahleinheit 17, die aus der Vielzahl von lernenden Steuerungsteilen 16a bis 16d ein Steuerungsteil basierend auf der Betriebsinformation des Roboters 11 auswählt, wenn die lernende Steuerung wie oben beschrieben ausgeführt wird. Die Vielzahl von lernenden Steuerungsteilen 16a bis 16d wird jeweils der Vielzahl von kleinen Verwendungsbereichen R1 bis R4 zugeordnet, in die der angenommene Verwendungsbereich UR des Roboters 11 unterteilt wird.
  • Wenn der Roboter 11 ein sechsachsiger Vertikal-Knickarmroboter ist (siehe 7 und 8), umfasst die Betriebsinformation des Roboters 11 sowohl Information über eine Ausrichtung des Roboters 11, die aus einer durch das Weltkoordinatensystem 21 definierten Zielposition des Spitzenendabschnitts 19 des Roboters erhalten wird, als auch Information über eine Last, die der Endeffektor 20 auf den Spitzenendabschnitt 19 des Roboters 11 aufbringt. Die Information der Roboterausrichtung entspricht der Information eines Bewegungsbereichs des Spitzenendabschnitts 19, und die Position des Spitzenendabschnitts 19 kann als eine Position des Ursprungs des mechanischen Schnittstellenkoordinatensystems 22 basierend auf dem Ursprung des Weltkoordinatensystems 21 eingestellt werden. Die Auswahleinheit 17 ist so konfiguriert, dass sie einen aus der Vielzahl der kleinen Bereiche R1 bis R4 spezifiziert, und das lernende Steuerungsteil auswählt, das dem kleinen Bereich entspricht, wie er basierend auf sowohl der Information über die Ausrichtung des Roboters 11 als auch der Last spezifiziert wird.
  • Gemäß dem Robotersystem 1 und dem oben beschriebenen lernenden Steuerungsverfahren ist konfiguriert, dass das lernende Steuerungsteil, das mit einem der mehreren kleinen Bereiche R1 bis R4 übereinstimmt, in die der vermeintliche Verwendungsbereich UR des Roboters 11 unterteilt ist, basierend auf der Betriebsinformation des Roboters 11 ausgewählt wird, wenn der Roboter 11 von dem Programm, das ein Ziel der lernenden Steuerung ist, betrieben werden soll. Eine solche Steuerung kann eine Erhöhung der Anzahl von Malen der lernenden Steuerung unterdrücken, während ein Schwingungsreduktionseffekt durch die lernende Steuerung in Bezug auf den angenommenen Verwendungsbereich UR des Roboters 11 aufrechterhalten wird.
  • Außerdem ist in einem Fall der vorliegenden Ausführungsform die erforderliche Robustheit für jedes lernende Steuerungsteil gering im Vergleich zu einem Fall, in dem ein einzelnes lernendes Steuerungsteil in Bezug auf einen weiten Verwendungsbereich des Roboters 11 ausgelegt ist, in dem sich die Ausrichtung des Roboters 11 und des Endeffektors 20 stark verändern kann. Wenn die lernenden Steuerungsteile jeweils den mehreren kleinen Bereichen zugeordnet werden, in die der große Verwendungsbereich des Roboters 11, wie in der vorliegenden Ausführungsform beschrieben, unterteilt ist, kann somit der optimale Schwingungskorrekturbetrag mit einer relativ geringen Anzahl von Malen der lernenden Steuerung erhalten werden.
  • Gemäß einem Aspekt der vorliegenden Offenbarung kann eine Erhöhung einer Anzahl von Malen einer lernenden Steuerung unterdrückt werden, während der Schwingungsreduktionseffekt durch die lernende Steuerung in Bezug auf einen angenommenen Verwendungsbereich eines Roboters 11 aufrechterhalten wird.

Claims (6)

  1. Robotersystem (1), umfassend: einen Roboter (11); eine Robotersteuerungsvorrichtung (10), die eine Betriebssteuerungseinheit (13) zum Steuern eines Betriebs des Roboters umfasst; und einen Sensor (12), der eine an einem Steuerungszielabschnitt des Roboters (11) generierte Schwingung erkennt, wobei die Robotersteuerungsvorrichtung (10) eine lernende Steuerungseinheit (14), die eine lernende Steuerung ausführt, in welcher ein Schwingungskorrekturbetrag zum Korrigieren der Schwingung berechnet wird, die generiert wird, wenn die Betriebssteuerungseinheit (13) den Roboter (11) durch einen Betriebsbefehl zum Betrieb veranlasst, und der Schwingungskorrekturbetrag bei einem nächsten Mal in dem Betriebsbefehl verwendet wird, umfasst, die lernende Steuerungseinheit (14) umfasst: eine Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) zum Berechnen des Schwingungskorrekturbetrags, wobei die Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) jeweils einer Vielzahl von Verwendungsbereichen zugeordnet wird, die in dem Roboter (11) angenommen werden; eine Auswahleinheit (17), die eines aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) basierend auf Betriebsinformation des Roboters (11) auswählt, wenn der Roboter (11) veranlasst wird, durch ein Betriebsprogramm betrieben zu werden, wobei das Betriebsprogramm ein Ziel der lernenden Steuerung ist; und eine Bestimmungseinheit (18), die bestimmt, ob die an dem Steuerungszielabschnitt generierte Schwingung durch das von der Auswahleinheit (17) ausgewählte lernende Steuerungsteil (16a, 16b, 16c, 16d) basierend auf Information über die von dem Sensor während der Durchführung der lernenden Steuerung erfasste Schwingung reduziert wird oder nicht, die Betriebsinformation Information über eine Position, zu der ein Spitzenendabschnitt (19) des Roboters (11) bewegt wird, und Information über eine Last umfasst, die von einem Endeffektor (20) auf den Spitzenendabschnitt (19) aufgebracht wird, jeder der Verwendungsbereiche ein Bereich ist, der sowohl durch den Bereich der Position, in die der Spitzenendabschnitt (19) des Roboters (11) bewegt wird, als auch durch den Bereich der Last gemäß dem Endeffektor (20) definiert wird, und wenn die an dem Steuerungszielabschnitt generierte Schwingung durch das ausgewählte lernende Steuerungsteil (16a, 16b, 16c, 16d) von der Bestimmungseinheit (18) als nicht reduziert bestimmt wird, die Auswahleinheit (17) ein Umschalten auf ein anderes lernendes Steuerungsteil (16a, 16b, 16c, 16d) aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) ausführt.
  2. Robotersystem (1) nach Anspruch 1, wobei die Auswahleinheit (17) so konfiguriert ist, dass sie einen aus der Vielzahl von Verwendungsbereichen basierend auf der Information über eine Bewegungsposition des Spitzenendabschnitts (19) und der Information der Last spezifiziert und den einem spezifizierten Verwendungsbereich entsprechenden lernenden Steuerungsteil (16a, 16b, 16c, 16d) aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) auswählt.
  3. Robotersystem (1) nach Anspruch 1 oder 2, wobei die Auswahleinheit (17) ein Umschalten auf ein anderes lernendes Steuerungsteil (16a, 16b, 16c, 16d) ausführt bis die vom Sensor erfasste Schwingung auf einen Wert reduziert wird, der kleiner als eine Schwingung ist, bevor der Schwingungskorrekturbetrag verwendet wird.
  4. Lernendes Steuerungsverfahren eines Roboters (11) zum Ausführen einer lernenden Steuerung, in welcher ein Schwingungskorrekturbetrag zum Korrigieren einer Schwingung berechnet wird, die an einem Steuerungszielabschnitt eines Roboters (11) generiert wird, wenn der Roboter (11) basierend auf einem Betriebsbefehl zum Betrieb veranlasst wird, und der Schwingungskorrekturbetrag bei einem nächsten Mal in dem Betriebsbefehl verwendet wird, das lernende Steuerungsverfahren umfassend: einen Schritt zum Erfassen (S11) von Betriebsinformation des Roboters (1) von einem Betriebsprogramm, das ein Ziel der lernenden Steuerung durch einen Computer (14) ist, der eine Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) zum Berechnen des Schwingungskorrekturbetrags umfasst, wobei die Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) jeweils einer Vielzahl von Verwendungsbereichen zugeordnet wird, die in dem Roboter (11) angenommen werden; einen Schritt zum Auswählen (S12) von einem aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) durch den Computer (14) basierend auf der Betriebsinformation; und einen Schritt des Ausführens (S13) der lernenden Steuerung durch ein ausgewähltes lernendes Steuerungsteil (16a, 16b, 16c, 16d) des Computers (14), wobei die Betriebsinformation Information über eine Position, zu der ein Spitzenendabschnitt (19) des Roboters (11) bewegt wird, und Information über eine Last umfasst, die von einem Endeffektor (20) auf den Spitzenendabschnitt (19) aufgebracht wird, jeder der Verwendungsbereiche ein Bereich ist, der sowohl durch den Bereich der Position, in die der Spitzenendabschnitt (19) des Roboters (11) bewegt wird, als auch durch den Bereich der Last gemäß dem Endeffektor (20) definiert wird, ein Sensor (12) zum Erkennen der am Steuerungszielabschnitt (16a, 16b, 16c, 16d) generierten Schwingung an dem Roboter (11) angebracht ist, und das lernende Steuerungsverfahren Schritte umfasst des Bestimmens (S14), ob die an dem Steuerungszielabschnitt generierte Schwingung durch das von dem Computer (14) ausgewählte lernende Steuerungsteil (16a, 16b, 16c, 16d) basierend auf Informationen über die vom Sensor (12) aufgenommene Schwingung reduziert wird oder nicht, während die lernende Steuerung durchgeführt wird, und des Ausführens (S15) eines Umschaltens auf ein anderes lernendes Steuerungsteil (16a, 16b, 16c, 16d) aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) als ein Ergebnis der Bestimmung, dass die an dem Steuerungszielabschnitt generierte Schwingung durch das ausgewählte lernende Steuerungsteil (16a, 16b, 16c, 16d) nicht reduziert wird.
  5. Lernendes Steuerungsverfahren eines Roboters (11) nach Anspruch 4, wobei der Schritt zum Auswählen (S12) von einem aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) einen Schritt des Spezifizierens (S12) von einem aus der Vielzahl von Verwendungsbereichen basierend auf der Information einer Bewegungsposition des Spitzenendabschnitts (19) und der Information der Last, und Auswählen des einem spezifizierten Verwendungsbereich entsprechenden lernenden Steuerungsteils (16a, 16b, 16c, 16d) aus der Vielzahl von lernenden Steuerungsteilen (16a, 16b, 16c, 16d) umfasst.
  6. Lernendes Steuerungsverfahren eines Roboters (11) nach Anspruch 4 oder 5, wobei der Schritt des Umschaltens (S15) auf ein anderes lernendes Steuerungsteil (16a, 16b, 16c, 16d) ausführt wird bis die vom Sensor (12) erfasste Schwingung auf einen Wert reduziert wird, der kleiner als eine Schwingung ist, bevor der Schwingungskorrekturbetrag verwendet wird.
DE102018001026.1A 2017-02-15 2018-02-08 Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren Active DE102018001026B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-026317 2017-02-15
JP2017026317A JP6484265B2 (ja) 2017-02-15 2017-02-15 学習制御機能を備えたロボットシステム及び学習制御方法

Publications (2)

Publication Number Publication Date
DE102018001026A1 DE102018001026A1 (de) 2018-08-16
DE102018001026B4 true DE102018001026B4 (de) 2020-11-19

Family

ID=62982763

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018001026.1A Active DE102018001026B4 (de) 2017-02-15 2018-02-08 Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren

Country Status (4)

Country Link
US (1) US10618164B2 (de)
JP (1) JP6484265B2 (de)
CN (1) CN108422420B (de)
DE (1) DE102018001026B4 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6669715B2 (ja) * 2017-11-30 2020-03-18 ファナック株式会社 振動抑制装置
JP6705851B2 (ja) 2018-02-22 2020-06-03 ファナック株式会社 振動解析装置および振動解析方法
JP7034035B2 (ja) * 2018-08-23 2022-03-11 株式会社日立製作所 自律学習型ロボット装置及び自律学習型ロボット装置の動作生成方法
JP7164368B2 (ja) * 2018-09-14 2022-11-01 ファナック株式会社 ロボット装置
DE102019006725B4 (de) 2018-10-02 2023-06-01 Fanuc Corporation Steuereinrichtung und Steuersystem
JP6836571B2 (ja) 2018-11-14 2021-03-03 ファナック株式会社 ロボット装置
US11597083B2 (en) * 2018-12-17 2023-03-07 Canon Kabushiki Kaisha Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium
JP7000371B2 (ja) * 2019-03-22 2022-01-19 ファナック株式会社 機械学習装置、制御システム及び機械学習方法
JP7294883B2 (ja) 2019-05-27 2023-06-20 ファナック株式会社 制御装置、機械システム、及び時刻同期方法
DE102019213676B3 (de) * 2019-09-10 2020-09-17 Kuka Deutschland Gmbh Robotersteuerung
EP3792141A1 (de) * 2019-09-13 2021-03-17 Nabtesco Corporation Eisenbahnzustandsüberwachungsvorrichtung
DE102021209867A1 (de) 2021-09-07 2023-03-09 Kuka Deutschland Gmbh Bewerten und/oder Steuern eines Roboterarbeitsprozesses

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 学習型自動セル装置と学習方法
JP2003084804A (ja) * 2001-09-10 2003-03-19 Yaskawa Electric Corp 最適指令作成装置
EP1533544A2 (de) * 2003-11-21 2005-05-25 Fanuc Ltd Gelenksystem für einen Roboter mit einem Untersetzungsgetriebe mit Mitteln zur Vermeidung der Schwingungen
EP1647369A2 (de) * 2004-10-18 2006-04-19 Fanuc Ltd Roboter mit einer Steuerungslehrfunktion und Verfahren zur Steuerung eines Roboters
JP2011167817A (ja) * 2010-02-19 2011-09-01 Fanuc Ltd 学習制御機能を備えたロボット
JP2012240103A (ja) * 2011-05-23 2012-12-10 Toshiba Mitsubishi-Electric Industrial System Corp 圧延モデル最適化装置
EP2875913A2 (de) * 2013-11-25 2015-05-27 Canon Kabushiki Kaisha Robotersteuerungsverfahren, Robotersteuerungsvorrichtung, Robotersteuerungsprogramm und Speichermedium
DE102012104194B4 (de) * 2011-05-17 2015-10-15 Fanuc Corporation Roboter und Punktschweissroboter mit lernender Steuerungsfunktion

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588721A (ja) * 1991-09-30 1993-04-09 Fujitsu Ltd 関節型ロボツトの制御装置
JPH07314360A (ja) * 1994-05-31 1995-12-05 Ishikawajima Harima Heavy Ind Co Ltd カメラ操作ロボット
JP4587738B2 (ja) * 2003-08-25 2010-11-24 ソニー株式会社 ロボット装置及びロボットの姿勢制御方法
JP2012232370A (ja) * 2011-04-28 2012-11-29 Seiko Epson Corp ロボットコントローラー、簡易設置型ロボット、及び簡易設置型ロボットの制御方法
JP5438175B2 (ja) * 2012-07-09 2014-03-12 ファナック株式会社 制振制御ロボットシステム
JP5815664B2 (ja) * 2013-12-26 2015-11-17 ファナック株式会社 無線加速度センサを有するロボットシステム
CN104325268A (zh) * 2014-11-04 2015-02-04 南京赫曼机器人自动化有限公司 一种基于智能学习的工业机器人三维空间自主装配方法
CN105729441A (zh) * 2014-12-24 2016-07-06 精工爱普生株式会社 机器人、机器人***、控制装置以及控制方法
JP6333795B2 (ja) * 2015-11-24 2018-05-30 ファナック株式会社 学習による教示作業の簡易化及び動作性能向上機能を備えたロボットシステム
JP6514166B2 (ja) * 2016-09-16 2019-05-15 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP6514171B2 (ja) * 2016-09-27 2019-05-15 ファナック株式会社 最適な物品把持経路を学習する機械学習装置、及び機械学習方法
JP6400750B2 (ja) * 2017-01-26 2018-10-03 ファナック株式会社 学習制御機能を備えた制御システム及び制御方法
JP6502976B2 (ja) * 2017-02-15 2019-04-17 ファナック株式会社 数値制御装置
JP6426781B2 (ja) * 2017-03-08 2018-11-21 ファナック株式会社 機械システム
JP2018171664A (ja) * 2017-03-31 2018-11-08 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
JP6939024B2 (ja) * 2017-03-31 2021-09-22 セイコーエプソン株式会社 ロボット制御装置、ロボットおよびロボットシステム
JP6870433B2 (ja) * 2017-03-31 2021-05-12 セイコーエプソン株式会社 制御装置、およびロボットシステム
JP6557285B2 (ja) * 2017-05-26 2019-08-07 ファナック株式会社 制御装置及び機械学習装置
JP6585666B2 (ja) * 2017-07-03 2019-10-02 ファナック株式会社 速度一定が要求されるアプリケーションにおいて学習制御を行うロボット及びその制御方法
JP6564426B2 (ja) * 2017-07-07 2019-08-21 ファナック株式会社 部品供給装置及び機械学習装置
JP6564433B2 (ja) * 2017-08-29 2019-08-21 ファナック株式会社 ロボットシステム
JP6581162B2 (ja) * 2017-09-29 2019-09-25 ファナック株式会社 加工システム及び加工機の制御方法
JP6669715B2 (ja) * 2017-11-30 2020-03-18 ファナック株式会社 振動抑制装置
EP3743246A1 (de) * 2018-01-24 2020-12-02 Milwaukee Electric Tool Corporation Elektrowerkzeug mit maschinenlernblock
US11872698B2 (en) * 2018-02-13 2024-01-16 Canon Kabushiki Kaisha Controller of robot and control method
US11385137B2 (en) * 2018-02-15 2022-07-12 Amsted Rail Company, Inc. System, method and apparatus for monitoring the health of railcar wheelsets
JP6705851B2 (ja) * 2018-02-22 2020-06-03 ファナック株式会社 振動解析装置および振動解析方法
JP6698733B2 (ja) * 2018-04-06 2020-05-27 ファナック株式会社 モータエンコーダ及びセンサを用いて学習制御を行うロボットシステム

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 学習型自動セル装置と学習方法
JP2003084804A (ja) * 2001-09-10 2003-03-19 Yaskawa Electric Corp 最適指令作成装置
EP1533544A2 (de) * 2003-11-21 2005-05-25 Fanuc Ltd Gelenksystem für einen Roboter mit einem Untersetzungsgetriebe mit Mitteln zur Vermeidung der Schwingungen
EP1647369A2 (de) * 2004-10-18 2006-04-19 Fanuc Ltd Roboter mit einer Steuerungslehrfunktion und Verfahren zur Steuerung eines Roboters
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
JP2012240103A (ja) * 2011-05-23 2012-12-10 Toshiba Mitsubishi-Electric Industrial System Corp 圧延モデル最適化装置
EP2875913A2 (de) * 2013-11-25 2015-05-27 Canon Kabushiki Kaisha Robotersteuerungsverfahren, Robotersteuerungsvorrichtung, Robotersteuerungsprogramm und Speichermedium

Also Published As

Publication number Publication date
CN108422420A (zh) 2018-08-21
JP6484265B2 (ja) 2019-03-13
US20180229364A1 (en) 2018-08-16
CN108422420B (zh) 2020-04-10
DE102018001026A1 (de) 2018-08-16
JP2018130800A (ja) 2018-08-23
US10618164B2 (en) 2020-04-14

Similar Documents

Publication Publication Date Title
DE102018001026B4 (de) Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren
DE102012104194B4 (de) Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
EP3323026B1 (de) Ermitteln eines eingabebefehls für einen roboter, der durch manuelles ausüben einer kraft auf den roboter eingegeben wird
DE102015000587B4 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102018116053B4 (de) Robotersystem und Roboterlernverfahren
DE102011011681B4 (de) Roboter mit einer Lernsteuerfunktion
DE102015002348B4 (de) Robotersteuerung mit der Funktion, den Lehrvorgang zu vereinfachen und die Bewegungsfähigkeit des Roboters zu verbessern
DE19930087B4 (de) Verfahren und Vorrichtung zur Regelung der Vorhalteposition eines Manipulators eines Handhabungsgeräts
DE102014117346B4 (de) Roboter, Robotersteuerungsverfahren und Robotersteuerungsprogramm zur Werkstückkorrektur
DE102017009940B4 (de) Robotersteuervorrichtung mit Lernsteuerfunktion
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102017111543B4 (de) Robotersteuerungsvorrichtung und ein Verfahren zur Steuerung eines Roboters
DE112010000794T5 (de) Verfahren zum Steuern eines Roboterwerkzeugs
DE102018221127B4 (de) Robotersystem
DE69837741T2 (de) Verfahren und system zur steuerung eines roboters
DE102018214272B4 (de) Robotersystem
DE102018107857A1 (de) Vorrichtung, System und Verfahren zur automatischen Erzeugung eines Bewegungspfads eines Roboters
DE102017003993B4 (de) Kalibrierung eines Roboters
DE102009023297A1 (de) Verfahren und Vorrichtung zum Betrieb einer zusätzlichen Werkzeugachse eines von einem Manipulator geführten Werkzeugs
WO2016078760A1 (de) Verfahren und system zur korrektur einer bearbeitungsbahn eines robotergeführten werkzeugs
DE102018007287B4 (de) Roboter-Controller zum Durchführen einer Kalibrierung, Messsystem und Kalibrierverfahren
DE102017120221A1 (de) Steuereinheit, Arbeit-Steuervorrichtung, Mehrachsenbewegung-Steuervorrichtung und Antrieb-Steuervorrichtung
WO2005039836A2 (de) Verfahren zur einrichtung einer bewegung eines handhabungsgeräts und bildverarbeitung
DE112021004052T5 (de) Robotersystem und Robotersteuerungsvorrichtung
DE112021001173T5 (de) Entgratungsvorrichtung und Steuerungssystem

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