DE112020006606B4 - Reibungskompensationsvorrichtung, Kollisionserfassungsvorrichtung,Drehmomentvorsteuerungsberechnungsvorrichtung und Robotersteuerungsvorrichtung undReibungskompensationsverfahren - Google Patents

Reibungskompensationsvorrichtung, Kollisionserfassungsvorrichtung,Drehmomentvorsteuerungsberechnungsvorrichtung und Robotersteuerungsvorrichtung undReibungskompensationsverfahren Download PDF

Info

Publication number
DE112020006606B4
DE112020006606B4 DE112020006606.1T DE112020006606T DE112020006606B4 DE 112020006606 B4 DE112020006606 B4 DE 112020006606B4 DE 112020006606 T DE112020006606 T DE 112020006606T DE 112020006606 B4 DE112020006606 B4 DE 112020006606B4
Authority
DE
Germany
Prior art keywords
friction
torque
force
calculation unit
correction
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
DE112020006606.1T
Other languages
English (en)
Other versions
DE112020006606T5 (de
Inventor
Kiyoshi Maekawa
Akio Saito
Yuma Isobe
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112020006606T5 publication Critical patent/DE112020006606T5/de
Application granted granted Critical
Publication of DE112020006606B4 publication Critical patent/DE112020006606B4/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
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
    • 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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • H02P29/024Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load

Abstract

Reibungskompensationsvorrichtung (10), umfassend:eine Antriebsdrehmomentberechnungseinheit (13), um ein Ausgabedrehmoment eines Übertragungsmechanismus aus einer Motorposition, -geschwindigkeit und -beschleunigung unter Verwendung einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf eine Welle zu berechnen, wobei der Übertragungsmechanismus mit einem Motor über die Welle verbunden ist, um eine Antriebskraft des Motors zu übertragen; undeine Reibungsschätzwertberechnungseinheit (14), die eine Reibungskorrekturwertberechnungseinheit (24) umfasst, um einen Reibungskorrekturwert zu berechnen, um eine Reibungskraft auf die Welle zu korrigieren, unter Verwendung eines Werts, der durch Multiplizieren eines Korrekturparameters mit einem Betrag der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle, die von der Antriebsdrehmomentberechnungseinheit als das Ausgabedrehmoment des Übertragungsmechanismus ausgegeben werden, erhalten wird, wobei der Korrekturparameter ein Korrekturkoeffizient der Reibung ist, der abhängig von einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf den Übertragungsmechanismus variiert, wobei die Reibungsschätzwertberechnungseinheit einen Reibungsschätzwert unter Verwendung des Reibungskorrekturwerts berechnet, wobei der Reibungsschätzwert ein geschätzter Wert einer Reibungskraft auf die Welle ist.

Description

  • Gebiet
  • Die vorliegende Offenbarung betrifft eine Reibungskompensationsvorrichtung, die ein Reibungsdrehmoment auf die Antriebswelle eines Roboters oder einer industriellen Maschine berechnet, eine Kollisionserfassungsvorrichtung, eine Drehmomentvorsteuerungsberechnungsvorrichtung und eine Robotersteuerungsvorrichtung und ein Reibungskompensationsverfahren.
  • Hintergrund
  • Um Steuerungsziele anzutreiben, die Roboter und industrielle Maschinen umfassen, berechnet eine Steuerung die dynamischen Kenndaten des Steuerungsziels mit hoher Genauigkeit, wodurch eine hohe Geschwindigkeit und eine hohe Funktionalität der Steuerungsziele erreicht wird. Roboter und industrielle Maschinen umfassen typischerweise einen Reduktionsmechanismus, der ein Übertragungsmechanismus auf eine Antriebswelle ist. Um eine Steuerung wie beispielsweise eine Erfassung einer Kollision eines Roboters mit einem Hindernis durchzuführen, ist es notwendig ein Antriebsdrehmoment mit hoher Genauigkeit abzuschätzen. Insbesondere besteht ein Bedarf an einer Technik zum Abschätzen eines Reibungsdrehmoments auf eine Antriebswelle mit hoher Genauigkeit.
  • Patentliteratur 1 offenbart eine Technik zum Erfassen einer Kollision eines Roboters mit einem Hindernis. Bei der offenbarten Technik berechnet eine Steuerung zum Steuern eines Roboters, der Gelenke aufweist, einen vorhergesagten Wert eines Antriebsdrehmoments zum Antreiben eines Gelenks, das dazu benötigt wird, um eine momentan durchgeführte Bewegung durchzuführen, und vergleicht einen voreingestellten Bestimmungswert mit der Differenz zwischen dem vorhergesagten Wert und einem praktisch gemessenen Wert des Antriebsdrehmoments auf das Gelenk, das anhand eines praktischen Motorstroms berechnet wird. Als eine Folge dieses Vergleichs wird die Kollision des Roboters mit dem Hindernis erfasst. Die in Patentliteratur 1 offenbarte Technik berechnet den vorhergesagten Wert des Antriebsdrehmoments auf das Gelenk unter Verwendung eines Reibungsmodells, das ein Reibungsdrehmoment, das auf ein Gelenk des Roboters wirkt, durch die Summe einer Coulombreibung, die von dem Vorzeichen der Motorgeschwindigkeit abhängt, und einer viskosen Reibung, die zu der Motorgeschwindigkeit proportional ist, bestimmt. Genauer gesagt wird das Antriebsdrehmoment, das auf das Gelenk wirkt, unter Verwendung des Reibungsmodells kompensiert, das nur durch die Motorgeschwindigkeit jeder Welle bestimmt wird.
    Die Patentliteratur 2 offenbart eine Vorrichtung zur Erfassung einer Verschlechterung einer Übertragung einer Antriebskraft, die ein temperaturabhängiges Reibungsdrehmoment erfasst und korrigiert.
    Die Nicht-Patentliteratur 1 offenbart ein mathematisches Reibungsmodell zur Berechnung einer temperaturabhängigen Reibungskraft in Industrierobotern.
    Die Nicht-Patentliteratur 2 offenbart ein weiteres mathematisches Reibungsmodell zur Berechnung einer temperaturabhängigen Reibungskraft in Industrierobotern. Die Patentliteratur 3 offenbart eine Robotersteuerungsvorrichtung, die eine Steuerung von Drehmomenten des Roboters basierend auf einer Anzahl von redundanten Freiheitsgraden des Roboters durchführt.
  • Zitierungsliste
  • Patentliteratur
    • Patentliteratur 1: JP 2002 - 283 276 A
    • Patentliteratur 2: DE 11 2017 002 846 T5
    • Patentliteratur 3: US 2013 / 0 245 829 A1
  • Nicht-Patentliteratur 1: Nevmerzhitskiy Maksim N., Notkin Boris S., Vara, Andrey V. AU - Zmeu, Konstantin V., „Friction Model of Industrial Robot Joint with Temperature Correction by Example of KUKA KR10“, 2019, Journal of Robotics, Hindawi, https://doi.org/10.1155/2019/6931563
  • Nicht-Patentliteratur 2: A. C. Bittencourt, E. Wernholt, S. Sander-Tavallaey and T. Brogärdh, „An extended friction model to capture load and temperature effects in robot joints," 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, Taipei, Taiwan, 2010, pp. 6161-6167, doi: 10.1109/IROS.2010.5650358
  • Überblick über die Erfindung
  • Technisches Problem
  • Infolge einer detaillierten Analyse des Antriebsdrehmoments der Gelenke eines Roboters wurde leider befunden, dass ein Reibungsdrehmoment selbst bei derselben Geschwindigkeit und Temperatur der Antriebseinheit variiert. Genauer gesagt berücksichtigt das Reibungsmodell, das nur durch die Motorgeschwindigkeit von jeder Welle bestimmt wird, wie in der in Patentliteratur 1 offenbarten Technik, nicht die Variation des Reibungsdrehmoments und kann demnach das Reibungsdrehmoment nicht mit hoher Genauigkeit abschätzen.
  • Die vorliegende Offenbarung wurde im Blick auf das Obige getätigt und es ist ein Ziel dieser eine Reibungskompensationsvorrichtung bereitzustellen, die zu einem Abschätzen eines Reibungsdrehmoments mit höherer Genauigkeit als zuvor imstande ist.
  • Lösung des Problems
  • Um das obige Problem zu lösen und das Ziel zu erreichen, schlägt die vorliegende Erfindung eine Reibungskompensationsvorrichtung mit den im Hauptanspruch 1 definierten Merkmalen vor. Alternative Ausführungsformen der Reibungskompensationsvorrichtung weisen die in den nebengeordneten Patentansprüchen 2, 6 und 7 definierten Merkmale auf. Vorteilhafte Ausführungsformen der Reibungskompensationsvorrichtung weisen die in den abhängigen Patentansprüchen 3, 4 und 5 definierten Merkmale auf. Es werden außerdem eine Kollisionserfassungsvorrichtung mit den im nebengeordneten Patentanspruch 8 definierten Merkmalen, eine Drehmomentvorsteuerungsberechnungsvorrichtung mit den im nebengeordneten Patentanspruch 9 definierten Merkmalen, eine Robotersteuerungsvorrichtung mit den im nebengeordneten Patentanspruch 10 definierten Merkmalen und ein Reibungskompensationsverfahren mit den im nebengeordneten Patentanspruch 12 definierten Merkmalen vorgeschlagen. Vorteilhafte Ausführungsformen der Robotersteuerungsvorrichtung weisen die im abhängigen Patentanspruch 11 definierten Merkmale auf. Eine Reibungskompensationsvorrichtung gemäß der vorliegenden Offenbarung umfasst: eine Antriebsdrehmomentberechnungseinheit, um ein Ausgabedrehmoment eines Übertragungsmechanismus anhand einer Motorposition, -geschwindigkeit und -beschleunigung zu berechnen, wobei der Übertragungsmechanismus über eine Welle mit einem Motor verbunden ist, um eine Antriebskraft auf den Motor zu übertragen; und eine Reibungsschätzwertberechnungseinheit, um einen Reibungsschätzwert zu berechnen, der ein abgeschätzter Wert einer Reibungskraft auf die Welle ist. Die Reibungsschätzwertberechnungseinheit umfasst eine Reibungskorrekturwertberechnungseinheit, um einen Reibungskorrekturwert zu berechnen, um die Reibungskraft auf die Welle zu korrigieren, in Übereinstimmung mit einer Ausgabe der Antriebsdrehmomentberechnungseinheit.
  • Vorteilhafte Wirkungen der Erfindung
  • Die Reibungskompensationsvorrichtung gemäß der vorliegenden Erfindung weist eine Wirkung dahingehend auf, dass das Reibungsdrehmoment mit höherer Genauigkeit als zuvor abgeschätzt werden kann.
  • Kurze Beschreibung der Zeichnungen
    • 1 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskompensationsvorrichtung gemäß einer ersten Ausführungsform schematisch zeigt.
    • 2 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskorrekturwertberechnungseinheit in der Reibungskompensationsvorrichtung gemäß der ersten Ausführungsform schematisch zeigt.
    • 3 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskorrekturwertberechnungseinheit in einer Reibungskompensationsvorrichtung gemäß einer zweiten Ausführungsform schematisch zeigt.
    • 4 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskompensationsvorrichtung gemäß einer dritten Ausführungsform schematisch zeigt.
    • 5 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskompensationsvorrichtung gemäß einer fünften Ausführungsform schematisch zeigt.
    • 6 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskorrekturwertberechnungseinheit in der Reibungskompensationsvorrichtung gemäß der fünften Ausführungsform schematisch zeigt.
    • 7 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskorrekturwertberechnungseinheit in einer Reibungskompensationsvorrichtung gemäß einer sechsten Ausführungsform zeigt.
    • 8 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskorrekturparameterbestimmungseinheit in einer Reibungskompensationsvorrichtung gemäß einer siebten Ausführungsform schematisch zeigt.
    • 9 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskompensationsvorrichtung gemäß einer achten Ausführungsform schematisch zeigt.
    • 10 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskorrekturwertberechnungseinheit in der Reibungskompensationsvorrichtung gemäß der achten Ausführungsform schematisch zeigt.
    • 11 ist ein Blockdiagramm, das ein anderes Beispiel der Konfiguration der Reibungskorrekturwertberechnungseinheit in der Reibungskompensationsvorrichtung gemäß der achten Ausführungsform schematisch zeigt.
    • 12 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskorrekturfunktionsbestimmungseinheit in einer Reibungskorrekturwertberechnung für einen Roboter gemäß der achten Ausführungsform schematisch zeigt.
    • 13 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Kollisionserfassungsvorrichtung, die eine Reibungskompensationsvorrichtung umfasst, gemäß einer neunten Ausführungsform schematisch zeigt.
    • 14 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Drehmomentvorsteuerungsberechnungsvorrichtung, die eine Reibungskompensationsvorrichtung umfasst, gemäß einer zehnten Ausführungsform schematisch zeigt.
    • 15 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Robotersteuerungsvorrichtung, die eine Reibungskompensationsvorrichtung umfasst, gemäß einer elften Ausführungsform schematisch zeigt.
    • 16 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Beschleunigungs- und Verzögerungszeitbestimmungseinheit in der Robotersteuerungsvorrichtung gemäß der elften Ausführungsform zeigt.
    • 17 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Robotersteuerungsvorrichtung, die eine Reibungskompensationsvorrichtung umfasst, gemäß einer zwölften Ausführungsform schematisch zeigt.
    • 18 ist ein Diagramm, das ein Beispiel einer Konfiguration zeigt, in der Funktionen einer Steuerungseinheit einer Reibungskompensationsvorrichtung durch Hardware implementiert sind.
    • 19 ist ein Diagramm, das ein Beispiel einer Konfiguration zeigt, in der Funktionen einer Steuerungseinheit einer Reibungskompensationsvorrichtung durch Software implementiert sind.
    • 20 ist ein Flussdiagramm, das ein Beispiel eines Reibungskompensationsverfahrens gemäß einer dreizehnten Ausführungsform zeigt.
  • Beschreibung der Ausführungsformen
  • Im Folgenden werden eine Reibungskompensationsvorrichtung, eine Kollisionserfassungsvorrichtung, eine Drehmomentvorsteuerungsberechnungsvorrichtung und eine Robotersteuerungsvorrichtung und ein Reibungskompensationsverfahren gemäß Ausführungsformen der vorliegenden Offenbarung im Detail mit Bezug auf die Zeichnungen beschrieben.
  • Erste Ausführungsform.
  • 1 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskompensationsvorrichtung gemäß einer ersten Ausführungsform schematisch zeigt. Eine Reibungskompensationsvorrichtung 10 gemäß der ersten Ausführungsform ist innerhalb einer Robotersteuerungsvorrichtung zum Steuern eines Roboters bereitgestellt. Ein Beispiel des Roboters ist ein sechsachsiger Roboter. Die Reibungskompensationsvorrichtung 10 berechnet einen Reibungsschätzwert anhand einer Motorposition und gibt den Reibungsschätzwert aus. Die Motorposition ist die Position eines Motors für die Welle des Roboters. Der Reibungsschätzwert ist ein geschätzter Wert der Reibung auf jede Welle des Roboters.
  • Die Reibungskompensationsvorrichtung 10 umfasst einen Geschwindigkeitsrechner 11, einen Beschleunigungsrechner 12, eine Antriebsdrehmomentberechnungseinheit 13 und eine Reibungsschätzwertberechnungseinheit 14.
  • Der Geschwindigkeitsrechner 11 erfasst die Geschwindigkeit des Motors unter Verwendung der Differenz zwischen eingegebenen Motorpositionen, die die Positionen des Motors zu verschiedenen Zeitpunkten angeben. Die Geschwindigkeit des Motors wird im Nachfolgenden auch als die Motorgeschwindigkeit bezeichnet. Der Geschwindigkeitsrechner 11 gibt die Motorgeschwindigkeit an den Beschleunigungsrechner 12, die Antriebsdrehmomentberechnungseinheit 13 und die Reibungsschätzwertberechnungseinheit 14 aus.
  • Der Beschleunigungsrechner 12 erfasst die Beschleunigung des Motors unter Verwendung der Differenz zwischen Motorgeschwindigkeiten zu verschiedenen Zeitpunkten, die von dem Geschwindigkeitsrechner 11 eingegeben wurden. Die Beschleunigung des Motors wird im Nachfolgenden als die Motorbeschleunigung bezeichnet. Der Beschleunigungsrechner 12 gibt die Motorbeschleunigung an die Antriebsdrehmomentberechnungseinheit 13 aus.
  • Auf Basis der Gleichung einer Bewegung des Roboters, die durch die untenstehende Formel (1) ausgedrückt ist, berechnet die Antriebsdrehmomentberechnungseinheit 13 das Ausgabedrehmoment eines Übertragungsmechanismus der Welle, die die Antriebskraft des Motors des Roboters überträgt. Genauer gesagt berechnet die Antriebsdrehmomentberechnungseinheit 13 eine Trägheitskraft, eine Zentrifugalkraft und eine Corioliskraft und eine Gravitation auf den Übertragungsmechanismus auf Basis dieser Bewegungsgleichung (1). Der Übertragungsmechanismus, der ein über die Welle mit dem Motor verbundener Mechanismus ist, überträgt die Antriebskraft des Motors zur Ausgabeseite. Die Antriebsdrehmomentberechnungseinheit 13 gibt die berechnete Trägheitskraft, Zentrifugalkraft und Corioliskraft und Gravitation auf den Übertragungsmechanismus von jeder Welle an eine Reibungskorrekturwertberechnungseinheit 24 innerhalb der Reibungsschätzwertberechnungseinheit 14 aus, die später beschrieben wird. Hier wird ein Vektor, der aus dem Ausgabedrehmoment des Übertragungsmechanismus jeder Welle des Roboters gebildet wird, mit τ angegeben. Ein Vektor, der mit „q“ angegeben wird, wird aus der Position jeder Welle gebildet, die durch Konvertieren der Motorposition auf jede Welle in die Ausgabeposition des Übertragungsmechanismus erhalten wird. Ein Vektor, der mit „v“ angegeben ist, wird durch die Geschwindigkeit jeder Welle gebildet, die durch Konvertieren der Motorgeschwindigkeit in die Ausgabegeschwindigkeit des Übertragungsmechanismus erhalten wird. Ein Vektor, der mit „a“ angegeben ist, wird durch die Beschleunigung auf jede Welle gebildet, die durch Konvertieren der Motorbeschleunigung in die Ausgabebeschleunigung des Übertragungsmechanismus erhalten wird. Der Vektor der Trägheitskraft ist M(q)a, wobei q die Position ist, die durch Konvertieren der Motorposition in die Ausgabeposition des Übertragungsmechanismus erhalten wird. Der Vektor der Zentrifugalkraft und der Corioliskraft ist h(q, v), wobei q die Position ist, die durch Konvertieren der Motorposition in die Ausgabeposition des Übertragungsmechanismus erhalten wird, und v ist die Geschwindigkeit. Der Vektor der Gravitation ist g(q), wobei q die Position ist, die durch Konvertieren der Motorposition in die Ausgabeposition des Übertragungsmechanismus erhalten wird. τ = M ( q ) a + h ( q , v ) + g ( q )
    Figure DE112020006606B4_0001
  • Genauer gesagt kann die Antriebsdrehmomentberechnungseinheit 13 den Vektor M(q)a der Trägheitskraft, den Vektor h(q, v) der Zentrifugalkraft und der Corioliskraft, und den Vektor g(q) der Gravitation durch berechnende Vektoren „q“, „v“ und „a“ erhalten, die aus Werten gebildet sind, die durch Konvertieren der eingegebenen Motorposition, Motorgeschwindigkeit und Motorbeschleunigung in diese auf der Ausgabeseite des Übertragungsmechanismus erhalten werden. Unter Verwendung dieser Vektoren kann die Antriebsdrehmomentberechnungseinheit 13 das Ausgabedrehmoment auf der Ausgabeseite des Übertragungsmechanismus, genauer gesagt das Antriebsdrehmoment τ wie in Formel (1), erhalten.
  • Unter Verwendung der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle, die von der Antriebsdrehmomentberechnungseinheit 13 eingegeben werden, und der Motorgeschwindigkeit, die durch den Geschwindigkeitsrechner 11 berechnet wird, berechnet die Reibungsschätzwertberechnungseinheit 14 den Reibungsschätzwert, der ein geschätzter Wert einer Reibungskraft ist, die auf jede Welle des Roboters wirkt. Der Reibungsschätzwert wird berechnet, da gefunden wurde, dass die Variation des Reibungsdrehmoments bei derselben Motorgeschwindigkeit des Roboters und derselben Temperatur der Antriebseinheit des Roboters durch Reibungskomponenten beeinflusst werden, die abhängig von einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation an einer Ausgabeseite des Übertragungsmechanismus von jeder Welle variieren. Die Reibungsschätzwertberechnungseinheit 14 umfasst eine Vorzeichenschaltung 21, eine Coulombreibungsberechnungseinheit 22, eine Viskosreibungsberechnungseinheit 23, die Reibungskorrekturwertberechnungseinheit 24 und einen Addierer 25.
  • Die Vorzeichenschaltung 21 gibt ein Vorzeichen aus, das der Motorgeschwindigkeit entspricht, die von dem Geschwindigkeitsrechner 11 ausgegeben wird. In einem Beispiel kann die Funktion der Vorzeichenschaltung 21 durch die „sgn“ Funktion ausgedrückt werden. Die sgn Funktion ist eine Funktion, die -1 ausgibt, wenn die Eingabe eine negative Zahl ist, 0 ausgibt, wenn die Eingabe 0 ist, und 1 ausgibt, wenn die Eingabe eine positive Zahl ist.
  • Die Coulombreibungsberechnungseinheit 22 multipliziert das Ergebnis des Durchlaufs der Motorgeschwindigkeit durch die Vorzeichenschaltung 21 mit einem Coulombreibungskoeffizienten für jede Welle um dadurch die Coulombreibung auf die Welle zu berechnen. Die Coulombreibung hängt von dem Vorzeichen der Motorgeschwindigkeit ab.
  • Die Viskosreibungsberechnungseinheit 23 berechnet die viskose Reibung auf die Welle durch Multiplizieren der Motorgeschwindigkeit mit einem Viskosreibungskoeffizienten. Wenn die viskose Reibung abhängig von der Temperatur variiert, kann der Wert des Viskosreibungskoeffizienten der Temperatur entsprechend eingestellt werden. Die viskose Reibung kann unter Verwendung eines Modells, in dem die viskose Reibung proportional zu der Geschwindigkeit mit einer höheren Potenz ist, anstelle eines Modells, bei dem die viskose Reibung proportional zu der Geschwindigkeit zur ersten Potenz ist, bestimmt werden. Die Coulombreibungsberechnungseinheit 22 und die Viskosreibungsberechnungseinheit 23 berechnen die Reibung unabhängig von dem Antriebsdrehmoment auf der Ausgabeseite des Übertragungsmechanismus.
  • In Übereinstimmung mit dem Ausgabedrehmoment, oder Ausgabedrehmomentelementen, die von der Antriebsdrehmomentberechnungseinheit 13 eingegeben werden, berechnet die Reibungskorrekturwertberechnungseinheit 24 einen Reibungskorrekturwert, um die Reibungskraft auf jede Welle zu korrigieren. Ein Beispiel der Ausgabedrehmomentelemente ist eine Trägheitskraft. Bei der ersten Ausführungsform berechnet die Reibungskorrekturwertberechnungseinheit 24 den Reibungskorrekturwert auf Basis der Beträge der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf jede Welle und dem Ergebnis des Durchlaufens der Motorgeschwindigkeit durch die Vorzeichenschaltung 21.
  • 2 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration der Reibungskorrekturwertberechnungseinheit bei der Reibungskompensationsvorrichtung gemäß der ersten Ausführungsform schematisch zeigt. Die Reibungskorrekturwertberechnungseinheit 24 umfasst einen Trägheitsbetragsrechner 101, eine Trägheitskorrektureinheit 102, einen Zentrifugal- und Corioliskraftbetragsrechner 103, eine Zentrifugal- und Corioliskraftkorrektureinheit 104, einen Gravitationsbetragsrechner 105, eine Gravitationskorrektureinheit 106, einen Addierer 107 und einen Multiplizierer 108.
  • Der Trägheitskraftbetragsrechner 101 berechnet den Betrag der Trägheitskraft auf jede Welle aus dem eingegebenen Trägheitskraftvektor. Die Trägheitskraftkorrektureinheit 102 berechnet eine Korrekturträgheitskraft durch Multiplizieren des berechneten Betrags der Trägheitskraft auf jede Welle mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt die Korrekturträgheitskraft an den Addierer 107 aus.
  • Der Zentrifugal- und Corioliskraftbetragsrechner 103 berechnet den Betrag der Summe der Zentrifugalkraft und der Corioliskraft auf jede Welle aus dem eingegebenen Vektor der Summe der Zentrifugalkraft und der Corioliskraft. Die Zentrifugal- und Corioliskraftkorrektureinheit 104 berechnet eine Korrekturzentrifugal- und -corioliskraft durch Multiplizieren des berechneten Betrags der Zentrifugalkraft und der Corioliskraft auf jede Welle mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt die Korrekturzentrifugal- und -corioliskraft an den Addierer 107 aus.
  • Der Gravitationsbetragsrechner 105 berechnet den Betrag der Gravitation auf jede Welle aus dem eingegebenen Gravitationsvektor. Die Gravitationskorrektureinheit 106 berechnet eine Korrekturgravitation durch Multiplizieren des berechneten Betrags der Gravitation auf jede Welle mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt die Korrekturgravitation an den Addierer 107 aus.
  • Der Addierer 107 addiert die Korrekturträgheitskraft, die Korrekturzentrifugal- und -corioliskraft und die Korrekturgravitation auf jede Welle und gibt sein Ergebnis an den Multiplizierer 108 aus.
  • Der Multiplizierer 108 berechnet den Reibungskorrekturwert für jede Welle durch Multiplizieren des Ergebnisses der Addition bei dem Addierer 107 für die Welle mit einem Wert, der aus dem Durchlaufen der Motorgeschwindigkeit, die von dem Geschwindigkeitsrechner 11 in 1 ausgegeben wurde, durch die Vorzeichenschaltung 21 folgt. Demnach ist bei der ersten Ausführungsform der Reibungskorrekturwert zum Korrigieren der Reibungskraft ein Wert, der dasselbe Vorzeichen aufweist, wie das Vorzeichen der Motorgeschwindigkeit, und ist direkt proportional zu der Summe der Korrekturträgheitskraft, der Korrekturzentrifugal- und -corioliskraft und der Korrekturgravitation auf jede Welle.
  • Es wird sich auf 1 bezogen. Der Addierer 25 addiert für jede Welle die Coulombreibung, die von der Coulombreibungsberechnungseinheit 22 eingegeben wird, die viskose Reibung, die von der Viskosreibungsberechnungseinheit 23 eingegeben wird, und den Reibungskorrekturwert, der von der Reibungskorrekturwertberechnungseinheit 24 eingegeben wird, und gibt den Wert der resultierenden Summe als den Reibungsschätzwert aus. Bei einem sechsachsigen Roboter wird der Reibungsschätzwert für jede der Achsen 1 bis 6 berechnet und ausgegeben.
  • Der für jede Welle ausgegebene Reibungsschätzwert wird für Betriebe bei einer Robotersteuerungsverarbeitung bei einer anderen funktionellen Verarbeitungseinheit in der Robotersteuerungsvorrichtung verwendet. In einem Beispiel wird der Reibungsschätzwert als ein Drehmomentschätzwert bei einer Kollisionserfassungsfunktion des Bestimmens, ob der Roboter mit einem Hindernis kollidiert ist, als eine Reibungskraftkomponente bei einer Drehmomentvorsteuerung, Reibungsdrehmoment bei einem repräsentativen Punkt, wenn Beschleunigungs- und Verzögerungszeiten einer Bewegung vor dieser Bewegung berechnet werden, oder als ein Reibungsdrehmomentschätzwert verwendet, wenn eine Fehlerdiagnose durchgeführt wird.
  • Die Reibungskompensationsvorrichtung 10 weist die oben stehende Konfiguration auf und ist durch eine Steuerungseinheit 10A gebildet.
  • Bei der ersten Ausführungsform berechnet die Reibungsschätzwertberechnungseinheit 14 der Reibungskompensationsvorrichtung 10 den Reibungskorrekturwert, der eine Komponente ist, die den Betrag der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation an der Ausgabeeinheit des Übertragungsmechanismus von jeder Welle des Roboters enthält. Die Reibungsschätzwertberechnungseinheit 14 addiert den Reibungskorrekturwert zu der Summe der Coulombreibung, die von dem Vorzeichen der Motorgeschwindigkeit abhängt, und der viskosen Reibung, die proportional zu der Motorgeschwindigkeit ist, und gibt den Reibungsschätzwert aus, der der Wert ist, der sich aus der Addition ergibt. Dies hat eine Wirkung dahingehend, dass, wenn die Variation des Reibungsdrehmoments unter denselben Bedingungen der Geschwindigkeit und der Antriebseinheitstemperatur auftritt, der Reibungsschätzwert, der ein geschätzter Wert des Reibungsdrehmoments ist, mit höherer Genauigkeit geschätzt werden kann, als der Reibungsdrehmoment, der auf Basis eines Reibungsmodells berechnet wird, das nur durch die Geschwindigkeit von jeder Welle bestimmt ist. Genauer gesagt ist es möglich, eine Reibung mit hoher Genauigkeit abzuschätzen, die abhängig von der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation an der Ausgabeeinheit des Übertragungsmechanismus variiert.
  • Zweite Ausführungsform.
  • Die Konfiguration der Reibungskompensationsvorrichtung 10 gemäß einer zweiten Ausführungsform ist dieselbe wie die in 1. Die Reibungskompensationsvorrichtung 10 gemäß der zweiten Ausführungsform ist jedoch bei der Konfiguration der Reibungskorrekturwertberechnungseinheit 24 von der der ersten Ausführungsform verschieden. Demnach werden im Folgenden nicht dieselben Komponenten wie die der ersten Ausführungsform beschrieben und es werden Abschnitte beschrieben, die von der ersten Ausführungsform verschieden sind.
  • 3 ist ein Blockdiagramm, das ein Beispiel der Konfiguration der Reibungsschätzwertberechnungseinheit bei der Reibungskompensationsvorrichtung gemäß der zweiten Ausführungsform schematisch zeigt. Bei der zweiten Ausführungsform werden nicht jeweils die Trägheitskraft, die Zentrifugalkraft und die Corioliskraft und die Gravitation auf den Übertragungsmechanismus von jeder Welle des Roboters an die Reibungskorrekturwertberechnungseinheit 24 eingegeben, sondern das Antriebsdrehmoment τ des Übertragungsmechanismus, was die Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf jede Welle ist, wird an die Reibungskorrekturwertberechnungseinheit 24 eingegeben. Die Reibungskorrekturwertberechnungseinheit 24 umfasst einen Antriebsdrehmomentbetragsrechner 111, eine Antriebsdrehmomentkorrektureinheit 112 und einen Multiplizierer 113.
  • Der Antriebsdrehmomentbetragsrechner 111 berechnet den Betrag des eingegebenen Antriebsdrehmoments des Übertragungsmechanismus, was die Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf jede Welle ist. Die Antriebsdrehmomentkorrektureinheit 112 berechnet ein Korrekturantriebsdrehmoment durch Multiplizieren des berechneten Betrags des Antriebsdrehmoments jeder Welle mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt das Korrekturantriebsdrehmoment an den Multiplizierer 113 aus.
  • Der Multiplizierer 113 berechnet einen Reibungskorrekturwert für jede Welle durch Multiplizieren des Korrekturantriebsdrehmoments, das von der Antriebsdrehmomentkorrektureinheit 112 für jede Welle ausgegeben wurde, mit einem Wert, der aus dem Durchlaufen der Motorgeschwindigkeit, die von dem Geschwindigkeitsrechner 11 in 1 ausgegeben wird, durch die Vorzeichenschaltung 21 resultiert. Demnach ist bei der zweiten Ausführungsform der Reibungskorrekturwert zum Korrigieren der Reibungskraft ein Wert, der dasselbe Vorzeichen aufweist, wie das Vorzeichen der Motorgeschwindigkeit, und der direkt proportional zu dem Betrag der Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf jede Welle ist.
  • Bei der zweiten Ausführungsform berechnet die Reibungskorrekturwertberechnungseinheit 24 der Reibungskompensationsvorrichtung 10 den Reibungskorrekturwert durch Multiplizieren des Betrags der Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation an der Ausgabeeinheit des Übertragungsmechanismus von jeder Welle des Roboters mit der Korrekturverstärkung und demselben Vorzeichen, wie das Vorzeichen der Motorgeschwindigkeit. Zusätzlich zu der Wirkung der ersten Ausführungsform weist dies eine Wirkung dahingehend auf, dass die Berechnung des Reibungskorrekturwerts im Vergleich zu der der ersten Ausführungsform vereinfacht werden kann.
  • Dritte Ausführungsform.
  • 4 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskompensationsvorrichtung gemäß einer dritten Ausführungsform schematisch zeigt. Es sei angemerkt, dass dieselben Komponenten wie die in den oben beschriebenen Ausführungsformen mit denselben Bezugszeichen benannt sind und nicht beschrieben werden. Im Folgenden werden Teile beschrieben, die von den oben beschriebenen Ausführungsformen verschieden sind. Die Reibungskompensationsvorrichtung 10 gemäß der dritten Ausführungsform umfasst ferner eine Reibungskorrekturparameterbestimmungseinheit 30, die Korrekturverstärkungen berechnet, die von der Reibungskorrekturwertberechnungseinheit 24 verwendet werden. 4 zeigt die Reibungskorrekturparameterbestimmungseinheit 30, die außerhalb der Reibungskompensationsvorrichtung 10 und der Robotersteuerungsvorrichtung vorgesehen ist. Die gezeigte Reibungskorrekturparameterbestimmungseinheit 30 wird beispielsweise durch einen Personalcomputer gebildet. Die Reibungskorrekturparameterbestimmungseinheit 30 kann innerhalb der Reibungskompensationsvorrichtung 10 oder der Robotersteuerungsvorrichtung vorgesehen sein. Es sei angenommen, dass die Reibungskorrekturwertberechnungseinheit 24 die Konfiguration in 2 der ersten Ausführungsform aufweist.
  • Bei der dritten Ausführungsform berechnet die Antriebsdrehmomentberechnungseinheit 13 einen Vektor τm, der ein Drehmoment ist, das benötigt wird, um den Motor von jeder Welle zu beschleunigen oder zu verzögern, wie es in der folgenden Formel (2) gezeigt ist, zusätzlich zu dem Ausgabedrehmoment τ des Übertragungsmechanismus von jeder Welle des Roboters in Formel (1). Im ist das Trägheitsmoment des Motors und eines Hochgeschwindigkeitsseitenteils des Übertragungsmechanismus. τm wird auch als die Motorträgheitskraft bezeichnet. τ m = I m a
    Figure DE112020006606B4_0002
  • Die Trägheitskraft, die Zentrifugalkraft und die Corioliskraft und die Gravitation, die die Elemente des Ausgabedrehmoments τ des Übertragungsmechanismus in Formel (1) sind, und die Motorträgheitskraft τm in Formel (2) werden von der Antriebsdrehmomentberechnungseinheit 13 an die Reibungskorrekturparameterbestimmungseinheit 30 eingegeben. Die Motorposition und der Motorstrom werden auch an die Reibungskorrekturparameterbestimmungseinheit 30 eingegeben.
  • Die Reibungskorrekturparameterbestimmungseinheit 30 berechnet zunächst die Coulombreibung und die viskose Reibung anhand der Motorposition unter Verwendung derselben Methode und Parameter wie die, die von der Coulombreibungsberechnungseinheit 22 und der Viskosreibungsberechnungseinheit 23 verwendet werden, und berechnet die Summe τf dieser Reibungen. Die Reibungskorrekturparameterbestimmungseinheit 30 berechnet dann anhand des Motorstroms einen praktisch gemessenen Wert τr des die Reibung umfassenden Antriebsdrehmoments unter Verwendung von Informationen zur Drehmomentkonstante und dem Reduktionsverhältnis. Es sei angenommen, dass der Vektor der Trägheitskraft, der Vektor der Zentrifugal- und Corioliskraft, die eine kombinierte Zentrifugalkraft und Corioliskraft ist, und der Vektor der Gravitation durch τa, τb bzw. τc angegeben sind. Außerdem ist die Korrekturverstärkung, mit der der Betrag der Trägheitskraft auf jede Welle multipliziert werden soll, der in der Reibungskorrekturwertberechnungseinheit 24 verwendet wird, durch Ka angegeben. Die Korrekturverstärkung, mit der der Betrag der Summe der Zentrifugalkraft und der Corioliskraft auf jede Welle multipliziert werden soll, die in der Reibungskorrekturwertberechnungseinheit 24 verwendet wird, ist durch Kb angegeben. Ferner ist die Korrekturverstärkung, mit der der Betrag der Gravitation auf jede Welle multipliziert werden soll, die in der Reibungskorrekturwertberechnungseinheit 24 verwendet wird, durch Kc angegeben. Auf Basis dieser Annahmen gilt die folgende Formel (3). τ r τ τ m τ f = y p
    Figure DE112020006606B4_0003
  • Hier sind die Vektoren y und p in Formel (3) durch die folgenden Formeln (4) und (5) ausgedrückt. abs(X) ist eine Funktion, die den Betrag des Vektors X zurückgibt. y = [ abs ( τ a ) , abs ( τ b ) , abs ( τ c ) ]
    Figure DE112020006606B4_0004
    p = [ Ka , Kb , Kc ] T
    Figure DE112020006606B4_0005
  • Die Formeln (3) bis (5) sind alle Formeln für jede Welle. Durch Verwenden von Daten von einem Zeitpunkt t1 bis zu einem Zeitpunkt tn, wobei n eine natürliche Zahl von zwei oder mehr ist, berechnet die Reibungskorrekturparameterbestimmungseinheit 30 die Korrekturverstärkung p in Formel (5), die an die Reibungskorrekturwertberechnungseinheit 24 ausgegeben werden soll. Zu diesem Zweck sind Matrizen T und Y durch die folgenden Formeln (6) bzw. (7) definiert, wobei τ(k) die linke Seite von Formel (3) ist und y(k) y auf der rechten Seite von Formel (3) zu einem Zeitpunkt tk ist, wobei k eine natürliche Zahl von eins oder mehr und n oder weniger ist. Unter Verwendung der pseudoinversen Matrix Y+ von Y wird die Korrekturverstärkung p berechnet, wie in der folgenden Formel (8) angegeben.
    Formel 1 T = ( τ ( 1 ) τ ( 2 ) τ ( n ) )
    Figure DE112020006606B4_0006

    Formel 2 Y = ( y ( 1 ) y ( 2 ) y ( n ) )
    Figure DE112020006606B4_0007
    p = Y + T
    Figure DE112020006606B4_0008
  • Die Reibungskorrekturparameterbestimmungseinheit 30 gibt Korrekturparameter aus, genauer gesagt die einzelnen Elemente der Korrekturverstärkung p, die wie oben beschrieben für jede Welle berechnet wird. Das heißt, dass die Reibungskorrekturparameterbestimmungseinheit 30 diese Elemente als die Korrekturverstärkungen ausgibt, die in der Reibungskorrekturwertberechnungseinheit 24 verwendet werden sollen. Insbesondere ist das Element Ka der Korrekturverstärkung p die Korrekturverstärkung, die von der Trägheitskraftkorrektureinheit 102 verwendet werden soll, und wird an die Trägheitskraftkorrektureinheit 102 ausgegeben. Das Element Kb der Korrekturverstärkung p ist die Korrekturverstärkung, die durch die Zentrifugal- und Corioliskraftkorrektureinheit 104 verwendet werden soll, und wird an die Zentrifugal- und Corioliskraftkorrektureinheit 104 ausgegeben. Das Element Kc der Korrekturverstärkung p ist die Korrekturverstärkung, die von der Gravitationskorrektureinheit 106 verwendet werden soll, und wird an die Gravitationskorrektureinheit 106 ausgegeben.
  • Bei der dritten Ausführungsform berechnet die Reibungskorrekturparameterbestimmungseinheit 30 die Korrekturverstärkungen, die in der Reibungskorrekturwertberechnungseinheit 24 verwendet werden sollen, auf Basis der Motorposition, des Motorstroms, des Antriebsdrehmoments auf jede Welle des Übertragungsmechanismus und der Motorträgheitskraft auf jede Welle. Dies erlaubt eine Bestimmung mit hoher Genauigkeit der Korrekturverstärkungen, die Korrekturkoeffizienten der Reibung sind, die abhängig von der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation an dem Übertragungsmechanismus variiert. Infolgedessen weist die dritte Ausführungsform eine Wirkung dahingehend auf, dass die Genauigkeit des Reibungsschätzwerts im Vergleich mit dem der ersten und der zweiten Ausführungsform verbessert werden kann.
  • Vierte Ausführungsform.
  • Die Konfiguration der Reibungskompensationsvorrichtung 10 gemäß einer vierten Ausführungsform ist dieselbe wie die in 4 der dritten Ausführungsform. Die vierte Ausführungsform ist jedoch von der dritten Ausführungsform in den Funktionen der Reibungskorrekturparameterbestimmungseinheit 30 und der Reibungskorrekturwertberechnungseinheit 24 verschieden. Die Reibungskorrekturwertberechnungseinheit 24 weist dieselbe Konfiguration auf wie die in 3 der zweiten Ausführungsform. Das Folgende ist die Beschreibung zu den Unterschieden von den oben beschriebenen Ausführungsformen.
  • Es sei angenommen, dass eine Welle, für die eine Korrekturverstärkung bestimmt werden soll, die maximale darauf wirkende Gravitation in der positiven Richtung bei einer Position aufweist, die mit θ1 angegeben ist. Außerdem weist die Welle keine darauf wirkende Gravitation bei einer Position auf, die mit θ2 angegeben ist. Ferner weist die Welle die maximale darauf wirkende Gravitation in der negativen Richtung bei einer Position auf, die mit θ3 angegeben ist. Der Roboter wird an einer einzelnen Achse betrieben, sodass der Roboter durch die Positionen θ1, θ2 und θ3 mit einer niedrigen konstanten Geschwindigkeit durchläuft, während der ein Betrieb, die Motorpositionen, die Motorgeschwindigkeiten und die Motorströme gemessen werden. Antriebsdrehmomente, die von den Motorströmen bei den Positionen θ1, θ2 und θ3 berechnet werden, werden mit τ1, τ2 bzw. τ3 angegeben. In diesem Fall wird der maximale Gravitationswert (τ1 - τ3)/2 anhand τ1 und τ3 berechnet. Die Summe der Coulombreibung und des Reibungskorrekturwerts, wenn die Gravitation maximal wird, wird als (τ1+ τ3)/2 berechnet. Da τ2 eine Coulombreibungskraft ist, wird der Reibungskorrekturwert, wenn die Gravitation maximal wird, als (τ1 + τ3)/2 - τ2 berechnet. Demnach wird die Korrekturverstärkung K durch die folgende Formel (9) berechnet. K = ( ( τ 1 + τ 3 ) / 2 τ 2 ) / ( ( τ 1 τ 3 ) / 2 )
    Figure DE112020006606B4_0009
  • Formel (9) ist hier eine Berechnungsformel für den durchgeführten Betrieb, sodass τ1 > τ2 und τ2 > 0 gelten. Die Reibungskorrekturparameterbestimmungseinheit 30 gibt den Wert der Korrekturverstärkung K, der durch Formel (9) berechnet wurde, als die Korrekturverstärkung aus, die von der Reibungskorrekturwertberechnungseinheit 24 in 3 verwendet werden soll.
  • Die Welle, für die die Korrekturverstärkung bestimmt werden soll, weist bei der vierten Ausführungsform die maximale darauf wirkende Gravitation in der positiven Richtung bei einer Position θ1 auf, weist keine maximale darauf wirkende Gravitation bei der Position θ2 auf und weist die maximale darauf wirkende Gravitation in der negativen Richtung bei der Position θ3 auf. Die Korrekturverstärkung wird anhand von Antriebsdrehmomenten berechnet, die durch Betreiben des Roboters mit einer einzelnen Achse erhalten werden, sodass der Roboter durch die Positionen θ1, θ2 und θ3 mit einer niedrigen konstanten Geschwindigkeit durchläuft. Zusätzlich zu der Wirkung der zweiten Ausführungsform kann dies eine Wirkung dahingehend bewirken, dass der Korrekturkoeffizient der Reibung, die abhängig von dem Ausgabedrehmoment des Übertragungsmechanismus variiert, mit hoher Genauigkeit für die Welle bestimmt werden kann, auf die die Gravitation wirkt.
  • Fünfte Ausführungsform.
  • 5 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskompensationsvorrichtung gemäß einer fünften Ausführungsform schematisch zeigt. Es sei angemerkt, dass dieselben Komponenten wie die in den oben beschriebenen Ausführungsformen mit denselben Bezugszeichen benannt sind und nicht beschrieben werden. Das Folgende ist die Beschreibung zu den Unterschieden von den oben genannten Ausführungsformen.
  • Die Reibungskompensationsvorrichtung 10 gemäß der fünften Ausführungsform umfasst eine Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 anstelle der Antriebsdrehmomentberechnungseinheit 13, die in der ersten bis vierten Ausführungsform beschrieben ist. Die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 berechnet Kräfte und Momente in Nichtantriebsrichtungen zusätzlich zu dem Drehmoment auf eine Antriebswelle. Die Reibungskorrekturwertberechnungseinheit 24 berechnet den Reibungskorrekturwert anhand des Antriebsdrehmoments und den Kräften und Momenten in die Nichtantriebsrichtungen. Die Kräfte und Momente in die Nichtantriebsrichtungen können einfach durch Verwendung der Newton-Euler-Bewegungsgleichungen berechnet werden. Die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 entspricht der Antriebsdrehmomentberechnungseinheit.
  • 6 ist ein Blockdiagramm, das ein Beispiel der Konfiguration der Reibungskorrekturwertberechnungseinheit in der Reibungskompensationsvorrichtung gemäß der fünften Ausführungsform schematisch zeigt. Die Reibungskorrekturwertberechnungseinheit 24 ist die Reibungskorrekturwertberechnungseinheit in 2 der ersten Ausführungsform, die zur Konfiguration bezüglich der Nichtantriebsachsen erweitert ist. Es sei hier angenommen, dass die Antriebswelle als die Z-Achse definiert ist und die Nichtantriebsachsen als die X-Achse und die Y-Achse definiert sind. Die Reibungsschätzwertberechnungseinheit 14 umfasst einen Nichtantriebs-X-Achsendrehmomentkorrekturmengenrechner 120, einen Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechner 130, einen Antriebsdrehmomentkorrekturmengenrechner 100, einen Addierer 138 und den Multiplizierer 108. Der Nichtantriebs-X-Achsendrehmomentkorrekturmengenrechner 120 berechnet eine Korrekturmenge des Drehmoments, das ein Moment um die X-Achse ist, die keine Antriebsachse ist. Der Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechner 130 berechnet eine Korrekturmenge des Drehmoments, das ein Moment um die Y-Achse ist, die keine Antriebsachse ist. Der Antriebsdrehmomentkorrekturmengenrechner 100 berechnet eine Antriebsdrehmomentkorrekturmenge für die Z-Achse, die eine Antriebsachse ist. Die X-Achse, die keine Antriebsachse ist, wird als die Nichtantriebs-X-Achse bezeichnet und die Y-Achse, die keine Antriebsachse ist, wird als die nicht Antriebs-Y-Achse bezeichnet.
  • Die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 gibt eine Trägheitskraft, eine Zentrifugalkraft und eine Corioliskraft und eine Gravitation des Drehmoments, genauer gesagt des Moments um die Nichtantriebs-X-Achse, an den Nichtantriebs-X-Achsendrehmomentkorrekturmengenrechner 120 ein. Der Nichtantriebs-X-Achsendrehmomentkorrekturmengenrechner 120 berechnet die Nichtantriebs-X-Achsendrehmomentkorrekturmenge anhand dieser eingegebenen Kräfte und Gravitation. Der Nichtantriebs-X-Achsendrehmomentkorrekturmengenrechner 120 umfasst einen Trägheitskraftbetragsrechner 121, eine Trägheitskraftkorrektureinheit 122, einen Zentrifugal- und Corioliskraftbetragsrechner 123, eine Zentrifugal- und Corioliskraftkorrektureinheit 124, einen Gravitationsbetragsrechner 125, eine Gravitationskorrektureinheit 126 und einen Addierer 127.
  • Der Trägheitskraftbetragsrechner 121 berechnet den Betrag der eingegebenen Trägheitskraft auf die Nichtantriebs-X-Achse. Die Trägheitskraftkorrektureinheit 122 berechnet eine Korrekturträgheitskraft durch Multiplizieren des berechneten Betrags der Trägheitskraft mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt die Korrekturträgheitskraft an den Addierer 127 aus.
  • Der Zentrifugal- und Corioliskraftbetragsrechner 123 berechnet den Betrag der eingegebenen Zentrifugalkraft und Corioliskraft auf die Nichtantriebs-X-Achse. Die Zentrifugal- und Corioliskraftkorrektureinheit 124 berechnet eine Korrekturzentrifugal- und -corioliskraft durch Multiplizieren des berechneten Betrags der Zentrifugalkraft und der Corioliskraft auf die Nichtantriebs-X-Achse mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt die Korrekturzentrifugal- und -corioliskraft an den Addierer 127 aus.
  • Der Gravitationsbetragsrechner 125 berechnet den Betrag der eingegebenen Gravitation auf die Nichtantriebs-X-Achse. Die Gravitationskorrektureinheit 126 berechnet eine Korrekturgravitation durch Multiplizieren des berechneten Betrags der Gravitation auf die Nichtantriebs-X-Achse mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt die Korrekturgravitation an den Addierer 127 aus.
  • Der Addierer 127 addiert die Korrekturträgheitskraft, die Korrekturzentrifugal- und -corioliskraft und die Korrekturgravitation auf die Nichtantriebs-X-Achse, um dadurch die Korrekturmenge für die Nichtantriebs-X-Achse zu berechnen und die Korrekturmenge der Nichtantriebs-X-Achse an den Addierer 138 auszugeben.
  • Die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 gibt eine Trägheitskraft, eine Zentrifugalkraft und eine Corioliskraft und eine Gravitation des Drehmoments, genauer gesagt des Moments um die Nichtantriebs-Y-Achse, an den Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechner 130 ein. Der Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechner 130 berechnet die Nichtantriebs-Y-Achsendrehmomentkorrekturmenge anhand dieser eingegebenen Kräfte und Gravitation. Der Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechner 130 umfasst einen Trägheitskraftbetragsrechner 131, eine Trägheitskraftkorrektureinheit 132, einen Zentrifugal- und Corioliskraftbetragsrechner 133, eine Zentrifugal- und Corioliskraftkorrektureinheit 134, einen Gravitationsbetragsrechner 135, eine Gravitationskorrektureinheit 136 und einen Addierer 137. Die Komponenten des Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechners 130 weisen dieselben Funktionen wie die auf, die in Bezug auf die Komponenten des Nichtantriebs-X-Achsendrehmomentkorrekturmengenrechners 120 beschrieben wurden, außer dass der Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechner 130 die Verarbeitung der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation des Drehmoments auf die Nichtantriebs-Y-Achse durchführt.
  • Die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 gibt eine Trägheitskraft, eine Zentrifugalkraft und eine Corioliskraft und eine Gravitation des Drehmoments auf die Antriebswelle an den Antriebsdrehmomentkorrekturmengenrechner 100 ein. Der Antriebsdrehmomentkorrekturmengenrechner 100 berechnet die Antriebsdrehmomentkorrekturmenge, die eine Korrekturmenge für die Antriebswelle ist. Die Konfiguration des Antriebsdrehmomentkorrekturmengenrechners 100 ist dieselbe wie die in 2 beschriebene und wird demnach nicht beschrieben.
  • Der Addierer 138 addiert die Nichtantriebs-X-Achsendrehmomentkorrekturmenge, die von dem Nichtantriebs-X-Achsendrehmomentkorrekturmengenrechner 120 ausgegeben wird, die Nichtantriebs-Y-Achsendrehmomentkorrekturmenge, die von dem Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechner 130 ausgegeben wird, und die Antriebsdrehmomentkorrekturmenge, die von dem Antriebsdrehmomentkorrekturmengenrechner 100 ausgegeben wird, und gibt das Ergebnis der Addition an den Multiplizierer 108 aus.
  • Der Multiplizierer 108 berechnet den Reibungskorrekturwert durch Multiplizieren des Additionsergebnisses des Addierers 138 mit einem Wert, der aus dem Durchlaufen der Motorgeschwindigkeit, die von dem Geschwindigkeitsrechner 11 in 5 ausgegeben wird, durch die Vorzeichenschaltung 21 resultiert.
  • Die Reibungskorrekturparameterbestimmungseinheit 30 bei der fünften Ausführungsform, die eine erweiterte Form der Reibungskorrekturparameterbestimmungseinheit bei der dritten Ausführungsform ist, berechnet die Matrizen Y und T anhand der Motorströme und der Motorpositionen von dem Zeitpunkt t1 bis zu dem Zeitpunkt tn unter Verwendung der Formeln (3) bis (7) und berechnet den Vektor p, der aus den Korrekturverstärkungen Ka, Kb und Kc gebildet ist, unter Verwendung der pseudoinversen Matrix Y+, die in Formel (8) gezeigt ist.
  • Bei der Reibungskompensationsvorrichtung 10 der fünften Ausführungsform berechnet die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 die Kräfte und Momente in Nichtantriebsrichtungen zusätzlich zu dem Drehmoment auf die Antriebswelle und die Reibungskorrekturwertberechnungseinheit 24 berechnet den Reibungskorrekturwert anhand des Antriebsdrehmoments und der Momente in die Nichtantriebsrichtungen. Infolgedessen können auch die Reibungskomponenten, die abhängig von den Kräften und Momenten in die Nichtantriebsrichtungen variieren, mit hoher Genauigkeit kompensiert werden. Genauer gesagt wird es möglich, eine Wirkung des Schätzens des Reibungsdrehmoments mit hoher Genauigkeit zu bewirken, wobei die Reibung, die abhängig von den Trägheitskräften, den Zentrifugalkräften und den Corioliskräften und der Gravitation in Nichtantriebsrichtungen berücksichtigt werden.
  • Sechste Ausführungsform.
  • Die Konfiguration der Reibungskompensationsvorrichtung 10 gemäß der sechsten Ausführungsform ist dieselbe wie die in 5. Die Reibungskompensationsvorrichtung 10 gemäß der sechsten Ausführungsform ist jedoch von der der fünften Ausführungsform bei den Konfigurationen der Reibungskorrekturwertberechnungseinheit 24 und der Reibungskorrekturparameterbestimmungseinheit 30 verschieden. Im Folgenden werden dieselben Komponenten wie die der oben beschriebenen Ausführungsformen mit denselben Bezugszeichen versehen und werden nicht beschrieben. Es wird der Unterschied von den oben beschriebenen Ausführungsformen beschrieben.
  • 7 ist ein Blockdiagramm, das ein Beispiel der Konfiguration der Reibungskorrekturwertberechnungseinheit und der Reibungskompensationsvorrichtung gemäß der sechsten Ausführungsform schematisch zeigt. Die Reibungskorrekturwertberechnungseinheit 24 ist die Reibungskorrekturwertberechnungseinheit 24 in 3 der zweiten Ausführungsform, die auf die Konfiguration bezüglich der Nichtantriebsachsen erweitert ist. Die Reibungskorrekturwertberechnungseinheit 24 umfasst einen Nichtantriebs-X-Achsenkorrekturmengenrechner 140, einen Nichtantriebs-Y-Achsenkorrekturmengenrechner 150, einen Antriebsachsenkorrekturmengenrechner 160, Addierer 165, 166 und 167 und den Multiplizierer 113.
  • Der Nichtantriebs-X-Achsenkorrekturmengenrechner 140 berechnet eine Reibungskorrekturmenge anhand eines Moments und einer Kraft in die Richtung der X-Achse, die keine Antriebsachse ist. Der Nichtantriebs-X-Achsenkorrekturmengenrechner 140 umfasst einen Kraftbetragsrechner 141 einer Kraftkorrektureinheit 142, einen Momentbetragsrechner 143 und eine Momentkorrektureinheit 144. Die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 gibt eine Nichtantriebs-X-Achsenkraft, die eine Kraft in die Richtung der Nichtantriebs-X-Achse ist, an den Kraftbetragsrechner 141 ein. Der Kraftbetragsrechner 141 berechnet den Betrag der eingegebenen Nichtantriebs-X-Achsenkraft. Die Kraftkorrektureinheit 142 berechnet eine Korrekturnichtantriebs-X-Achsenkraft durch Multiplizieren des berechneten Betrags der Nichtantriebs-X-Achsenkraft mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt die Korrekturnichtantriebs-X-Achsenkraft an den Addierer 165 aus. Die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 gibt einen Nichtantriebs-X-Achsenmoment, genauer gesagt einen Moment in der Richtung um die Nichtantriebs-X-Achse, an den Momentbetragsrechner 143 ein. Das Nichtantriebs-X-Achsenmoment ist die Summe einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und der Gravitation. Der Momentbetragsrechner 143 berechnet den Betrag des eingegebenen Nichtantriebs-X-Achsenmoments. Die Momentkorrektureinheit 144 berechnet ein Korrekturnichtantriebs-X-Achsenmoment durch Multiplizieren des berechneten Betrags des Nichtantriebs-X-Achsenmoments mit einer Korrekturverstärkung, die ein Korrekturparameter ist, und gibt das Korrekturnichtantriebs-X-Achsenmoment an den Addierer 165 aus.
  • Der Nichtantriebs-Y-Achsenkorrekturmengenrechner 150 berechnet eine Reibungskorrekturmenge anhand eines Moments und einer Kraft in die Richtung der Y-Achse, die keine Antriebsachse ist. Der Nichtantriebs-Y-Achsenkorrekturmengenrechner 150 umfasst einen Kraftbetragsrechner 151, eine Kraftkorrektureinheit 152, einen Momentbetragsrechner 153 und eine Momentkorrektureinheit 154. Die Funktionen des Kraftbetragsrechners 151, der Kraftkorrektureinheit 152, des Momentbetragsrechners 153 und der Momentkorrektureinheit 154 sind dieselben wie die Funktionen des Kraftbetragsrechners 141, der Kraftkorrektureinheit 142, des Momentbetragsrechners 143 und der Momentkorrektureinheit 144 des Nichtantriebs-X-Achsenkorrekturmengenrechners 140, außer dass die Berechnung mit dem Moment oder der Kraft in der Nichtantriebs-Y-Achsenrichtung durchgeführt wird. Eine Korrekturnichtantriebs-Y-Achsenkraft wird von der Kraftkorrektureinheit 152 ausgegeben. Ein Korrekturnichtantriebs-Y-Achsenmoment wird von der Momentkorrektureinheit 154 ausgegeben.
  • Der Antriebsachsenkorrekturmengenrechner 160 berechnet eine Reibungskorrekturmenge anhand des Antriebsdrehmoments und einer Kraft in der Antriebsachsenrichtung. Der Antriebsachsenkorrekturmengenrechner 160 umfasst einen Kraftbetragsrechner 161, eine Kraftkorrektureinheit 162, den Antriebsdrehmomentbetragsrechner 111 und die Antriebsdrehmomentkorrektureinheit 112. Die Funktionen des Kraftbetragsrechners 161 und der Kraftkorrektureinheit 162 sind dieselben wie die Funktionen des Kraftbetragsrechners 141 und der Kraftkorrektureinheit 142 des Nichtantriebs-X-Achsenkorrekturmengenrechners 140, außer dass die Berechnung mit der Kraft in der Antriebsachsenrichtung durchgeführt wird. Der Antriebsdrehmomentbetragsrechner 111 und die Antriebsdrehmomentkorrektureinheit 112 sind dieselben wie die bei der zweiten Ausführungsform beschriebenen. Eine Korrekturantriebsachsenkraft wird von der Kraftkorrektureinheit 162 ausgegeben. Ein Korrekturantriebsachsendrehmoment wird von der Antriebsdrehmomentkorrektureinheit 112 ausgegeben.
  • Der Addierer 165 addiert die Korrekturnichtantriebs-X-Achsenkraft, die von der Kraftkorrektureinheit 142 ausgegeben wird, dass Korrekturnichtantriebs-X-Achsenmoment, das von der Momentkorrektureinheit 144 ausgegeben wird, und die Korrekturnichtantriebs-Y-Achsenkraft, die von der Kraftkorrektureinheit 152 ausgegeben wird. Der Addierer 166 addiert das Korrekturnichtantriebs-Y-Achsenmoment, das von der Momentkorrektureinheit 154 ausgegeben wird, die Korrekturantriebsachsenkraft, die von der Kraftkorrektureinheit 162 ausgegeben wird, und das Korrekturantriebsachsendrehmoment, das von der Antriebsdrehmomentkorrektureinheit 112 ausgegeben wird. Der Addierer 167 addiert das Additionsergebnis des Addierers 165 und das Additionsergebnis des Addierers 166 und gibt das Ergebnis der Addition an den Multiplizierer 113 aus.
  • Der Multiplizierer 113 berechnet den Reibungskorrekturwert durch Multiplizieren des Additionsergebnisses des Addierers 167 mit einem Wert, der durch das Durchlaufen der Motorgeschwindigkeit, die von dem Geschwindigkeitsrechner 11 in 5 ausgegeben wird, durch die Vorzeichenschaltung 21 resultiert.
  • Die Reibungskorrekturparameterbestimmungseinheit 30, die eine erweiterte Form der Reibungskorrekturparameterbestimmungseinheit der dritten Ausführungsform ist, berechnet die Matrizen Y und T anhand der Motorströme und der Motorpositionen von dem Zeitpunkt t1 bis tn, unter Verwendung der Formeln (3) bis (7) und berechnet den Vektor p, der aus den Korrekturverstärkungen Ka, Kb und Kc gebildet wird, unter Verwendung der pseudoinversen Matrix Y+, die in Formel (8) gezeigt ist.
  • Bei der Reibungskompensationsvorrichtung 10 der sechsten Ausführungsform berechnet die Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit 15 Momente und Kräfte in Nichtantriebsrichtungen, zusätzlich zu einer Kraft und einem Drehmoment auf eine Antriebswelle, und die Reibungskorrekturwertberechnungseinheit 24 berechnet den Reibungskorrekturwert anhand der Momente und der Kräfte in die Antriebsachsenrichtung und die Nichtantriebsrichtungen. Dies weist eine Wirkung dahingehend auf, dass die Reibung, die abhängig von den Momenten und den Kräften in die Nichtantriebsrichtungen variieren, mit hoher Genauigkeit abgeschätzt werden kann.
  • Siebte Ausführungsform.
  • Die Konfiguration der Reibungskompensationsvorrichtung 10 gemäß einer siebten Ausführungsform ist dieselbe wie die in 4 der dritten Ausführungsform. Die siebte Ausführungsform ist jedoch bei den Konfigurationen der Antriebsdrehmomentberechnungseinheit 13 und der Reibungskorrekturparameterbestimmungseinheit 30 verschieden. Das Folgende ist die Beschreibung zu den Unterschieden von den oben beschriebenen Ausführungsformen.
  • Die Antriebsdrehmomentberechnungseinheit 13 berechnet eine Motorträgheitskraft τm und ein Antriebsdrehmoment τ des Übertragungsmechanismus und gibt die Motorträgheitskraft τm und das Antriebsdrehmoment τ an die Reibungskorrekturparameterbestimmungseinheit 30 aus. Die Motorträgheitskraft τm ist ein Drehmoment, das benötigt wird, um den Motor zu beschleunigen oder zu verzögern. Das Antriebsdrehmoment τ ist die Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf den Übertragungsmechanismus jeder Welle des Roboters.
  • 8 ist ein Blockdiagramm, das ein Beispiel der Konfiguration der Reibungskorrekturparameterbestimmungseinheit in der Reibungskompensationsvorrichtung gemäß der siebten Ausführungsform schematisch zeigt. Die Reibungskorrekturparameterbestimmungseinheit 30 umfasst einen Geschwindigkeitsrechner 31, eine Reibungsdrehmomentberechnungseinheit 32, eine Motorantriebsdrehmomentvergleichseinheit 33 und eine Parameterlerneinheit 34.
  • Der Geschwindigkeitsrechner 31 berechnet die Motorgeschwindigkeit unter Verwendung der Differenz zwischen eingegebenen Motorpositionen zu verschiedenen Zeiten. Die Reibungsdrehmomentberechnungseinheit 32 weist dieselbe Funktion wie die Reibungsschätzwertberechnungseinheit 14 auf. Genauer gesagt berechnet die Reibungsdrehmomentberechnungseinheit 32 eine Coulombreibung, eine viskose Reibung und einen Reibungskorrekturwert unter Verwendung der Motorgeschwindigkeit, die von dem Geschwindigkeitsrechner 31 eingegeben wird, der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf den Übertragungsmechanismus, die von der Antriebsdrehmomentberechnungseinheit 13 eingegeben werden, und Korrekturverstärkungen, die von der Parameterlerneinheit 34 eingegeben werden. Des Weiteren berechnet die Reibungsdrehmomentberechnungseinheit 32 einen Reibungsdrehmomentschätzwert durch Addieren der Coulombreibung, der viskosen Reibung und des Reibungskorrekturwerts. Der Reibungsdrehmomentschätzwert entspricht dem oben beschriebenen Reibungsschätzwert.
  • Die Motorantriebsdrehmomentvergleichseinheit 33 berechnet einen Antriebsdrehmomentschätzfehler τr-(τ+τmf), der die Differenz ist zwischen dem praktisch gemessenen Wert τr des Antriebsdrehmoments, der anhand des Motorstroms berechnet wird, und der Summe der Motorträgheitskraft τm, des Antriebsdrehmoments τ des Übertragungsmechanismus und des Reibungsdrehmomentschätzwerts τf. Die Motorantriebsdrehmomentvergleichseinheit 33 gibt den Antriebsdrehmomentschätzfehler τr-(τ+τmf) an die Parameterlerneinheit 34 aus.
  • Die Parameterlerneinheit 34 stellt zunächst die Anfangswerte der Korrekturverstärkungen in der Reibungsdrehmomentberechnungseinheit 32 ein. Die Parameterlerneinheit 34 sucht nach Korrekturverstärkungen, um den Antriebsdrehmomentschätzfehler zu reduzieren, der von der Motorantriebsdrehmomentvergleichseinheit 33 eingegeben wurde, und gibt die Suchergebnisse an die Reibungsdrehmomentberechnungseinheit 32 aus. Ein Beispiel für eine Korrekturverstärkungssuchtechnik ist eine Bayessche Optimierung oder eine Partikelschwarmoptimierung. In einem Beispiel gibt die Parameterlerneinheit 34 Korrekturverstärkungen, die Korrekturparameter sind, bei denen der Antriebsdrehmomentschätzfehler in einen vorbestimmten Bereich fällt, an die Reibungskorrekturwertberechnungseinheit 24 aus. Falls die Parameterlerneinheit 34 Korrekturverstärkungen finden kann, die zu einem Antriebsdrehmomentschätzfehler führen, der kleiner ist als der Antriebsdrehmomentschätzfehler, der mit Korrekturverstärkungen erhalten wird, die beim Lernen verwendete Bedingungen sind, kann die Parameterlerneinheit 34 zu dieser Zeit die gefundenen Korrekturverstärkungen an die Reibungskorrekturwertberechnungseinheit 24 als Bedingungen ausgeben, die den beim Lernen verwendeten Bedingungen ähnlich sind.
  • Bei der Reibungskompensationsvorrichtung 10 gemäß der siebten Ausführungsform wird ein Lernen durchgeführt, um Korrekturverstärkungen zu suchen, um einen Antriebsdrehmomentschätzfehler zu reduzieren, der die Differenz zwischen dem praktisch gemessenen Wert des Antriebsdrehmoments und der Summe der Motorträgheitskraft, des Antriebsdrehmoments des Übertragungsmechanismus und des Reibungsdrehmomentschätzwerts ist. Außerdem werden Korrekturverstärkungen, die Ergebnisse des Lernens sind, in der Reibungskorrekturwertberechnungseinheit 24 eingestellt. Dies ermöglicht ein Kompensieren des Reibungsdrehmoments mit hoher Genauigkeit gemäß des Betriebs. Genauer gesagt wird es möglich, eine Wirkung des Schätzens von Reibung mit hoher Genauigkeit unter Bedingungen, die beim Lernen verwendet werden, und Bedingungen ähnlich zu den beim Lernen verwendeten Bedingungen bewirken.
  • Achte Ausführungsform.
  • 9 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Reibungskompensationsvorrichtung gemäß einer achten Ausführungsform schematisch zeigt. Es sei angemerkt, dass dieselben Komponenten wie die in den oben beschriebenen Ausführungsformen mit denselben Bezugszeichen benannt sind und nicht beschrieben werden. Das Folgende ist die Beschreibung der Unterschiede zu den oben beschriebenen Ausführungsformen.
  • Die Reibungskompensationsvorrichtung 10 gemäß der achten Ausführungsform umfasst eine Reibungskorrekturfunktionsbestimmungseinheit 40 anstelle der Reibungskorrekturparameterbestimmungseinheit 30 gemäß der dritten Ausführungsform. Die Reibungskompensationsvorrichtung 10 gemäß der achten Ausführungsform ist von der dritten Ausführungsform bei den Funktionen der Antriebsdrehmomentberechnungseinheit 13 und der Reibungskorrekturwertberechnungseinheit 24 verschieden.
  • Die Antriebsdrehmomentberechnungseinheit 13 berechnet eine Motorträgheitskraft τm und ein Antriebsdrehmoment τ des Übertragungsmechanismus und gibt die Motorträgheitskraft τm und das Antriebsdrehmoment τ an die Reibungskorrekturfunktionsbestimmungseinheit 40 aus. Die Motorträgheitskraft τm ist ein Drehmoment, das benötigt wird, um den Motor zu beschleunigen oder zu verzögern. Das Antriebsdrehmoment τ ist die Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf den Übertragungsmechanismus von jeder Welle des Roboters.
  • 10 ist ein Blockdiagramm, das ein Beispiel der Konfiguration der Reibungskorrekturwertberechnungseinheit und der Reibungskompensationsvorrichtung gemäß der achten Ausführungsform schematisch zeigt. Die Reibungskorrekturwertberechnungseinheit 24 umfasst den Trägheitskraftbetragsrechner 101, den Zentrifugal- und Corioliskraftbetragsrechner 103, den Gravitationsbetragsrechner 105, eine Antriebsdrehmomentkorrekturmengenberechnungseinheit 109 und den Multiplizierer 108. Der Trägheitskraftbetragsrechner 101, der Zentrifugal- und Corioliskraftbetragsrechner 103, der Gravitationsbetragsrechner 105 und der Multiplizierer 108 sind dieselben wie die in 2 der ersten Ausführungsform beschriebenen und werden demnach nicht beschrieben.
  • Die Antriebsdrehmomentkorrekturmengenberechnungseinheit 109 berechnet ein Korrekturantriebsdrehmoment unter Verwendung einer Korrekturfunktion mit Eingaben des Betrags der Trägheitskraft, der durch den Trägheitskraftbetragsrechner 101 berechnet wird, des Zentrifugal- und Corioliskraftbetrags, der durch den Zentrifugal- und Corioliskraftbetragsrechner 103 berechnet wird, und des Gravitationsbetrags, der durch den Gravitationsbetragsrechner 105 berechnet wird. Die Korrekturfunktion, die von der Antriebsdrehmomentkorrekturmengenberechnungseinheit 109 verwendet wird, ist eine durch die Reibungskorrekturfunktionsbestimmungseinheit 40 gelernte Korrekturfunktion, wie später beschrieben wird.
  • Die Reibungskorrekturwertberechnungseinheit 24 kann eine andere Konfiguration aufweisen. 11 ist ein Blockdiagramm, das ein anderes Beispiel der Konfiguration der Reibungskorrekturwertberechnungseinheit in der Reibungskompensationsvorrichtung gemäß der achten Ausführungsform schematisch zeigt. Die Reibungskorrekturwertberechnungseinheit 24 umfasst den Antriebsdrehmomentbetragsrechner 111, eine Antriebsdrehmomentkorrekturmengenberechnungseinheit 114 und den Multiplizierer 113. Der Antriebsdrehmomentbetragsrechner 111 und der Multiplizierer 113 sind dieselben wie die in 3 der zweiten Ausführungsform beschriebenen und werden demnach nicht beschrieben.
  • Die Antriebsdrehmomentkorrekturmengenberechnungseinheit 114 in 11 berechnet ein Korrekturantriebsdrehmoment unter Verwendung einer Korrekturfunktion mit Eingaben des Betrags der Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation, die durch den Antriebsdrehmomentbetragsrechner 111 berechnet wird. Die Korrekturfunktion, die von der Antriebsdrehmomentkorrekturmengenberechnungseinheit 114 verwendet wird, ist eine durch die Reibungskorrekturfunktionsbestimmungseinheit 40 gelernte Korrekturfunktion, wie später beschrieben wird.
  • 12 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration der Reibungskorrekturfunktionsbestimmungseinheit bei der Reibungskorrekturwertberechnung für den Roboter gemäß der achten Ausführungsform schematisch zeigt. Die Reibungskorrekturfunktionsbestimmungseinheit 40 umfasst einen Geschwindigkeitsrechner 41, eine Reibungsdrehmomentberechnungseinheit 42, eine Motorantriebsdrehmomentvergleichseinheit 43 und eine Korrekturfunktionslerneinheit 44.
  • Der Geschwindigkeitsrechner 41 berechnet die Motorgeschwindigkeit unter Verwendung der Differenz zwischen eingegebenen Motorpositionen zu verschiedenen Zeiten. Die Reibungsdrehmomentberechnungseinheit 42 berechnet eine Coulombreibung und eine viskose Reibung unter Verwendung der Motorgeschwindigkeit, die von dem Geschwindigkeitsrechner 41 eingegeben wird, und der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf den Übertragungsmechanismus, die von der Antriebsdrehmomentberechnungseinheit 13 eingegeben werden. Des Weiteren berechnet die Reibungsdrehmomentberechnungseinheit 42 ein Reibungsdrehmoment τf0, das die Summe der Coulombreibung und der viskosen Reibung ist.
  • Die Motorantriebsdrehmomentvergleichseinheit 43 berechnet einen Antriebsdrehmomentschätzfehler und gibt den Antriebsdrehmomentschätzfehler an die Korrekturfunktionslerneinheit 44 aus. Der Antriebsdrehmomentschätzfehler ist die Differenz τr-(τ+τmf0) zwischen dem praktisch gemessenen Wert τr des Antriebsdrehmoments, der anhand des Motorstroms berechnet wird, und der Summe der Motorträgheitskraft τm, des Antriebsdrehmoments τ des Übertragungsmechanismus und des Reibungsdrehmoments τf0.
  • Die Korrekturfunktionslerneinheit 44 lernt eine Korrekturfunktion, die eine Eingabe des Betrags der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation aufweist, oder den Absolutwert der Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation aufweist, und eine Ausgabe aufweist, die mit dem Antriebsdrehmomentschätzfehler übereinstimmt. Genauer gesagt lernt die Korrekturfunktionslerneinheit 44 die Korrekturfunktion, um einen Fehler von dem Antriebsdrehmomentschätzfehler zu reduzieren. Beispielsweise wird die Korrekturfunktion verwendet, die von einer Vielzahl von Fehlern von dem Antriebsdrehmomentschätzfehler den Kleinsten bereitstellt. Für das Lernen der Korrekturfunktion wird beispielsweise ein neuronales Netzwerk, eine Polynomapproximation oder ähnliches angewendet. Die Korrekturfunktionslerneinheit 44 gibt die gelernte Korrekturfunktion an die Reibungskorrekturwertberechnungseinheit 24 aus.
  • Bei der Reibungskompensationsvorrichtung 10 der achten Ausführungsform wird eine Korrekturfunktion gelernt, die die Eingabe des Betrags der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation aufweist, oder den Betrag der Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation aufweist, und die Ausgabe aufweist, die mit einem Antriebsdrehmomentschätzfehler übereinstimmt, der die Differenz ist zwischen dem praktisch gemessenen Wert des Antriebsdrehmoments und der Summe der Motorträgheitskraft, des Antriebsdrehmoments des Übertragungsmechanismus und des Reibungsdrehmoments. Die Korrekturfunktion, die das Ergebnis des Lernens ist, wird in der Reibungskorrekturwertberechnungseinheit 24 eingestellt. Die Reibungskorrekturwertberechnungseinheit 24 berechnet den Reibungskorrekturwert unter Verwendung der Korrekturfunktion. Folglich können auch Reibungskomponenten mit hoher Genauigkeit kompensiert werden, die abhängig von der Größe des Ausgabedrehmoments des Übertragungsmechanismus von jeder Achse nichtlinear variieren. Genauer gesagt wird es möglich eine Wirkung des Schätzens der Reibung mit hoher Genauigkeit zu bewirken, selbst wenn die Reibung eine nichtlineare Beziehung mit den Beträgen der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation, oder dem Betrag der Summe dieser aufweist.
  • Neunte Ausführungsform.
  • 13 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Kollisionserfassungsvorrichtung schematisch zeigt, die eine Reibungskompensationsvorrichtung gemäß einer neunten Ausführungsform umfasst. Eine Kollisionserfassungsvorrichtung 70 gemäß der neunten Ausführungsform ist innerhalb einer Robotersteuerungsvorrichtung vorgesehen. Die Kollisionserfassungsvorrichtung 70 umfasst eine Kollisionserfassungsdrehmomentberechnungseinheit 71 und eine Kollisionsbestimmungseinheit 73. Es sei angemerkt, dass dieselben Komponenten wie die in den oben beschriebenen Ausführungsformen mit denselben Bezugszeichen versehen sind und nicht beschrieben werden. Das Folgende ist die Beschreibung der Unterschiede zu den oben beschriebenen Ausführungsformen.
  • Die Kollisionserfassungsdrehmomentberechnungseinheit 71 umfasst die Reibungskompensationsvorrichtung 10 und eine Kollisionserfassungsdrehmomentadditionseinheit 72. Die Reibungskompensationsvorrichtung 10 kann die sein, die in den Ausführungsformen 1 bis 8 beschrieben wurden. Die Beschreibung der neunten Ausführungsform ist auf die Annahme gestützt, dass die Reibungskompensationsvorrichtung die ist, die in der zweiten Ausführungsform beschrieben wurde. Die Kollisionserfassungsdrehmomentberechnungseinheit 71 und die Kollisionsbestimmungseinheit 73 definieren die Steuerungseinheit 10a.
  • Die Position von jeder Welle des Roboters wird an die Kollisionserfassungsdrehmomentberechnungseinheit 71 in jedem vorbestimmten Zyklus, wie beispielsweise in jedem Steuerungszyklus, eingegeben. Der Geschwindigkeitsrechner 11 berechnet die Motorgeschwindigkeit anhand der Differenz zwischen den eingegebenen Motorpositionen zu jeder Welle des Roboters. Der Beschleunigungsrechner 12 berechnet die Motorbeschleunigung anhand der Differenz zwischen Motorgeschwindigkeiten, die von dem Geschwindigkeitsrechner 11 eingegeben werden.
  • Die Antriebsdrehmomentberechnungseinheit 13 berechnet die Motorträgheitskraft τm und das Antriebsdrehmoment τ des Übertragungsmechanismus. Die Motorträgheitskraft τm ist ein Drehmoment, das benötigt wird, um den Motor zu beschleunigen oder zu verzögern. Das Antriebsdrehmoment τ ist die Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf den Übertragungsmechanismus jeder Welle des Roboters. Die Antriebsdrehmomentberechnungseinheit 13 gibt die Motorträgheitskraft τm und das Antriebsdrehmoment τ des Übertragungsmechanismus an die Kollisionserfassungsdrehmomentadditionseinheit 72 aus und gibt das Antriebsdrehmoment τ des Übertragungsmechanismus an die Reibungsschätzwertberechnungseinheit 14 aus.
  • Die Reibungsschätzwertberechnungseinheit 14 ist dieselbe wie die in der ersten und zweiten Ausführungsform beschriebenen. Wie in der zweiten Ausführungsform berechnet die Reibungskorrekturwertberechnungseinheit 24 den Betrag des eingegebenen Antriebsdrehmoments τ des Übertragungsmechanismus, wonach die Reibungskorrekturwertberechnungseinheit 24 den Betrag mit der Korrekturverstärkung multipliziert und ferner das Ergebnis dieser Multiplikation mit demselben Vorzeichen wie das Vorzeichen der Motorgeschwindigkeit multipliziert, um dadurch den Reibungskorrekturwert für die Werte zu berechnen. Die Reibungsschätzwertberechnungseinheit 14 berechnet des Weiteren die Coulombreibung und die viskose Reibung und berechnet den Reibungsschätzwert τfe, der die Summe der Coulombreibung, der viskosen Reibung und des Reibungskorrekturwerts ist. Die Reibungsschätzwertberechnungseinheit 14 gibt den berechneten Reibungsschätzwert τfe an die Kollisionserfassungsdrehmomentadditionseinheit 72 aus.
  • Die Motorträgheitskraft τm, das Antriebsdrehmoment τ des Übertragungsmechanismus und der Reibungsschätzwert τfe werden an die Kollisionserfassungsdrehmomentadditionseinheit 72 eingegeben. Die Kollisionserfassungsdrehmomentadditionseinheit 72 berechnet einen Kollisionserfassungsantriebsdrehmomentschätzwert τc, der die Summe der eingegebenen Motorträgheitskraft τm, des Antriebsdrehmoments τ und des Reibungsschätzwerts τfe ist. Die Kollisionserfassungsdrehmomentadditionseinheit 72 gibt den berechneten Kollisionserfassungsantriebsdrehmomentschätzwert τc an die Kollisionsbestimmungseinheit 73 aus
  • Die Kollisionsbestimmungseinheit 73 vergleicht den praktisch gemessenen Wert τr des Antriebsdrehmoments, der anhand des eingegebenen Motorstroms berechnet wird, mit dem Kollisionserfassungsantriebsdrehmomentschätzwert τc, der von der Kollisionserfassungsdrehmomentadditionseinheit 72 eingegeben wird, um dadurch zu bestimmen, ob der Roboter mit einem Hindernis kollidiert ist oder nicht. Insbesondere bestimmt die Kollisionsbestimmungseinheit 73, dass der Roboter mit einem Hindernis kollidiert ist, wenn die Differenz zwischen dem praktisch gemessenen Wert τr des Antriebsdrehmoments und dem Kollisionserfassungsantriebsdrehmomentschätzwert τc größer oder gleich einem vorbestimmten Schwellwert ist.
  • Bei der neunten Ausführungsform umfasst die Kollisionserfassungsvorrichtung 70 die Reibungskompensationsvorrichtung 10, die in den Ausführungsformen 1 bis 8 beschrieben ist. Die Summe des Reibungsschätzwerts, der durch die Reibungskompensationsvorrichtung 10 berechnet wird, der Motorträgheitskraft und des Antriebsdrehmoments des Übertragungsmechanismus ist als der Kollisionserfassungsantriebsdrehmomentschätzwert definiert. Ob der Roboter mit einem Hindernis kollidiert ist oder nicht wird unter Verwendung der Differenz zwischen dem praktisch gemessenen Wert des Antriebsdrehmoments, der anhand des Motorstroms berechnet wird, und dem Kollisionserfassungsantriebsdrehmomentschätzwert bestimmt. Bei dem Kollisionserfassungsantriebsdrehmomentschätzwert werden Reibungskomponenten, die abhängig von der Größe des Ausgabedrehmoments des Übertragungsmechanismus von jeder Antriebswelle variieren, mit hoher Genauigkeit kompensiert. Demnach wird es möglich, eine Wirkung des Erfassens des Kontakts des Roboters mit einem Hindernis mit hoher Sensibilität zu bewirken.
  • Zehnte Ausführungsform.
  • 14 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Drehmomentvorsteuerungsberechnungsvorrichtung schematisch zeigt, die eine Reibungskompensationsvorrichtung gemäß einer zehnten Ausführungsform umfasst. Eine Drehmomentvorsteuerungsberechnungsvorrichtung 80 ist innerhalb einer Robotersteuerungsvorrichtung vorgesehen. Die Drehmomentvorsteuerungsberechnungsvorrichtung 80 umfasst eine Reibungskompensationsvorrichtung 10b und eine Drehmomentvorsteuerungsbefehlserzeugungseinheit 81. Es sei angemerkt, dass dieselben Komponenten wie die in den oben beschriebenen Ausführungsformen durch dieselben Bezugszeichen angegeben sind und nicht beschrieben werden. Das Folgende ist die Beschreibung zu den Unterschieden zu den oben beschriebenen Ausführungsformen. Die Reibungskompensationsvorrichtung 10b und die Drehmomentvorsteuerungsbefehlserzeugungseinheit 81 definieren die Steuerungseinheit 10a.
  • Die Reibungskompensationsvorrichtung 10b weist grundsätzlich dieselbe Konfiguration wie die Reibungskompensationsvorrichtung 10 auf, die in den Ausführungsformen 1 bis 8 beschrieben wurde, aber eine Konfiguration einer Reibungsschätzwertberechnungseinheit 14a ist verschieden von der der Reibungsschätzwertberechnungseinheit 14, die in den Ausführungsformen 1 bis 8 beschrieben wurde. Die Reibungsschätzwertberechnungseinheit 14a umfasst die Vorzeichenschaltung 21, die Coulombreibungsberechnungseinheit 22, die Viskosreibungsberechnungseinheit 23, die Reibungskorrekturwertberechnungseinheit 24, einen Addierer 25a und eine Filtereinheit 26. Die Vorzeichenschaltung 21, die Coulombreibungsberechnungseinheit 22, die Viskosreibungsberechnungseinheit 23 und die Reibungskorrekturwertberechnungseinheit 24 sind dieselben wie die in den Ausführungsformen 1 bis 8 beschriebenen. Die Beschreibung der zehnten Ausführungsform ist hier auf die Annahme gestützt, dass die Reibungskorrekturwertberechnungseinheit 24 die in der zweiten Ausführungsform beschriebene ist.
  • Der Addierer 25a addiert die Coulombreibung, die von der Coulombreibungsberechnungseinheit 22 ausgegeben wird, und den Reibungskorrekturwert, der von der Reibungskorrekturwertberechnungseinheit 24 ausgegeben wird. Die Filtereinheit 26 führt ein Filtern des Ergebnisses der Addition des Reibungskorrekturwerts und der Coulombreibung durch. Ein Beispiel der Filtereinheit 26 ist ein Tiefpassfilter, wie beispielsweise ein Filter mit gleitendem Mittelwert, ein Verzögerungsfilter erster Ordnung, oder ein Verzögerungsfilter zweiter Ordnung. Die Filtereinheit 26 gibt das Ergebnis des Filterns an die Drehmomentvorsteuerungsbefehlserzeugungseinheit 81 aus. Die Viskosreibungsberechnungseinheit 23 gibt die berechnete viskose Reibung an die Drehmomentvorsteuerungsbefehlserzeugungseinheit 81 aus.
  • Im Folgenden wird ein Umriss des Betriebs der Drehmomentvorsteuerungsberechnungsvorrichtung 80 beschrieben. Ein Motorpositionsbefehl für jede Welle des Roboters wird an die Drehmomentvorsteuerungsberechnungsvorrichtung 80 in jedem vorbestimmten Zyklus, wie beispielsweise jedem Steuerungszyklus, eingegeben. Der Geschwindigkeitsrechner 11 berechnet einen Motorgeschwindigkeitsbefehl anhand der Differenz zwischen eingegebenen Motorpositionsbefehlen für jede Welle des Roboters. Der Motorgeschwindigkeitsbefehl ist ein Befehl zur Motorgeschwindigkeit. Der Beschleunigungsrechner 12 berechnet einen Motorbeschleunigungsbefehl anhand der Differenz zwischen Motorgeschwindigkeitsbefehlen, die von dem Geschwindigkeitsrechner 11 eingegeben werden. Der Motorbeschleunigungsbefehl ist ein Befehl zur Motorbeschleunigung.
  • Die Antriebsdrehmomentberechnungseinheit 13 berechnet eine Motorträgheitskraft τmd und ein Antriebsdrehmoment τd des Übertragungsmechanismus. Die Motorträgheitskraft τmd ist ein Drehmoment, das benötigt wird, um den Motor zu beschleunigen oder zu verzögern. Das Antriebsdrehmoment τd ist die Summe einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf den Übertragungsmechanismus von jeder Welle des Roboters. Die Antriebsdrehmomentberechnungseinheit 13 gibt das Antriebsdrehmoment τd des Übertragungsmechanismus an die Reibungsschätzwertberechnungseinheit 14 aus und gibt die Motorträgheitskraft τmd und das Antriebsdrehmoment τd des Übertragungsmechanismus an die Drehmomentvorsteuerungsbefehlserzeugungseinheit 81 aus.
  • Die Reibungskorrekturwertberechnungseinheit 24 ist dieselbe wie die in der zweiten Ausführungsform beschriebene. Wie in der zweiten Ausführungsform berechnet die Reibungskorrekturwertberechnungseinheit 24 den Betrag des eingegebenen Antriebsdrehmoments τd des Übertragungsmechanismus, wonach die Reibungskorrekturwertberechnungseinheit 24 den Betrag mit der Korrekturverstärkung multipliziert und ferner das Ergebnis dieser Multiplikation mit demselben Vorzeichen wie das Vorzeichen der Motorgeschwindigkeit multipliziert, um dadurch den Reibungskorrekturwert für die Welle zu berechnen. Der Addierer 25a addiert den berechneten Reibungskorrekturwert und die Coulombreibung, die durch die Coulombreibungsberechnungseinheit 22 berechnet wird. Die Filtereinheit 26 führt das Filtern bei dem Ergebnis der Addition des Reibungskorrekturwerts und der Coulombreibung durch.
  • Die Drehmomentvorsteuerungsbefehlserzeugungseinheit 81 addiert das Ergebnis des Filterns des Ergebnisses der Addition des Reibungskorrekturwerts und der Coulombreibung, die viskose Reibung, die durch die Viskosreibungsberechnungseinheit 23 berechnet wird, und die Motorträgheitskraft τmd und das Antriebsdrehmoment τd des Übertragungsmechanismus, die durch die Antriebsdrehmomentberechnungseinheit 13 berechnet werden. Die Drehmomentvorsteuerungsbefehlserzeugungseinheit 81 gibt dann einen Drehmomentvorsteuerungsbefehl aus, der das Additionsergebnis für eine Motorsteuerungseinheit jeder Welle ist (nicht gezeigt).
  • Die Drehmomentvorsteuerungsberechnungsvorrichtung 80 der zehnten Ausführungsform umfasst die Reibungskompensationsvorrichtung 10b. Die Reibungskompensationsvorrichtung 10b weist dieselbe Konfiguration auf wie die Reibungskompensationsvorrichtung 10 gemäß der Ausführungsformen 1 bis 8. Das Ergebnis des Durchlaufens der Summe des Reibungskorrekturwerts und der Coulombreibung durch den Tiefpassfilter und die viskose Reibung, die durch die Reibungskompensationsvorrichtung 10b berechnet wird, die Motorträgheitskraft und das Antriebsdrehmoment des Übertragungsmechanismus werden zusammen addiert zu dem Drehmomentvorsteuerungsbefehl. Bei dem Drehmomentvorsteuerungsbefehl werden Reibungskomponenten, die abhängig von der Größe des Ausgabedrehmoments des Übertragungsmechanismus jeder Antriebsachse variieren, mit hoher Genauigkeit kompensiert. Es wird demnach möglich, eine Wirkung des Steuerns des Orts des entfernten Endes des Roboters mit hoher Genauigkeit zu bewirken.
  • Elfte Ausführungsform.
  • 15 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Robotersteuerungsvorrichtung schematisch zeigt, die eine Reibungskompensationsvorrichtung gemäß einer elften Ausführungsform umfasst. Eine Robotersteuerungsvorrichtung 300 ist eine Vorrichtung, die einen Roboter 330 steuert, der ein Steuerungsziel ist. Die Robotersteuerungsvorrichtung 300 umfasst eine Programmleseeinheit 311, eine Beschleunigungs- und Verzögerungszeitbestimmungseinheit 312, eine Positionsbefehlserzeugungseinheit 313 und eine Motorsteuerungseinheit für jede Welle 314.
  • Die Programmleseeinheit 311 liest sequenziell jede Zeile eines Roboterprogramms, das zur Ausführung bestimmt ist. Wenn ein gelesener Roboterbefehl ein Bewegungsbefehl ist, gibt die Programmleseeinheit 311 einen Bewegungsstartpunkt und einen Bewegungsendpunkt des Bewegungsbefehls und eine maximale Geschwindigkeit, die in dem Programm bestimmt ist, an die Beschleunigungs- und Verzögerungszeitbestimmungseinheit 312 aus.
  • Beispielsweise bestimmt die Beschleunigungs- und Verzögerungszeitbestimmungseinheit 312 Beschleunigungs- und Verzögerungszeiten, die eine Beschleunigungszeit und eine Verzögerungszeit von repräsentativen Punkten einer Bewegung sind, die durch den Bewegungsbefehl angegeben ist. In dem Fall eines trapezförmigen Musters der Geschwindigkeit zum Betreiben der Bewegung, die durch den Bewegungsbefehl angegeben ist, entspricht beispielsweise die Differenz zwischen dem Zeitpunkt bei einem Beschleunigungsendpunkt und dem Zeitpunkt bei einem Bewegungsstartpunkt der Beschleunigungszeit und die Differenz zwischen dem Zeitpunkt bei einem Bewegungsendpunkt und dem Zeitpunkt bei einem Verzögerungsstartpunkt entspricht der Verzögerungszeit. 16 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration der Beschleunigungs- und Verzögerungszeitbestimmungseinheit in der Robotersteuerungsvorrichtung gemäß der elften Ausführungsform schematisch zeigt. Die Beschleunigungs- und Verzögerungszeitbestimmungseinheit 312 umfasst einen Repräsentativpunktdatenrechner 321, die Antriebsdrehmomentberechnungseinheit 13, die Reibungsschätzwertberechnungseinheit 14, eine Repräsentativpunktbeschleunigungs- und -verzögerungszeitberechnungseinheit 323 und eine Beschleunigungs- und Verzögerungszeitauswahleinheit 324. Die Antriebsdrehmomentberechnungseinheit 13 und die Reibungsschätzwertberechnungseinheit 14 entsprechen denen der Reibungskompensationsvorrichtung 10, die in den Ausführungsformen 1 bis 8 beschrieben wurde.
  • Die Programmleseeinheit 311 gibt Daten zu dem Bewegungsstartpunkt, dem Bewegungsendpunkt und der maximalen Geschwindigkeit an den Repräsentativpunktdatenrechner 321 ein. Der Repräsentativpunktdatenrechner 321 berechnet Positionen und Geschwindigkeiten bei repräsentativen Punkten der Bewegung anhand der Daten, die von der Programmleseeinheit 311 eingegeben wurden. Beim Berechnen der Positionen und der Geschwindigkeiten bei repräsentativen Punkten für den ersten Zeitpunkt verwendet der Repräsentativpunktdatenrechner 321 vorbestimmte Startwerte der Beschleunigungs- und Verzögerungszeiten, um diese Positionen und Geschwindigkeiten bei den repräsentativen Punkten zu berechnen. Wenn die Berechnung der Beschleunigungs- und Verzögerungszeiten bei den repräsentativen Punkten eine Vielzahl von Malen wiederholt wird, werden die Positionen und die Geschwindigkeiten bei den repräsentativen Punkten unter Verwendung des Ergebnisses der vorherigen Berechnung der Beschleunigungs- und Verzögerungszeiten berechnet. Die repräsentativen Punkte sind beispielsweise ein Bewegungsstartpunkt, ein Beschleunigungsendpunkt, ein Verzögerungsstartpunkt und ein Bewegungsendpunkt, wenn die Bewegung in einem trapezförmigen Muster der Geschwindigkeit betrieben wird. Die repräsentativen Punkte können in anderer Weise ausgewählt werden. Der Mittelpunkt der Bewegung, ein Mittelpunkt eines Beschleunigungsabschnitts, usw. können als die repräsentativen Punkte verwendet werden.
  • Die Antriebsdrehmomentberechnungseinheit 13, die Reibungsschätzwertberechnungseinheit 14, die Repräsentativpunktbeschleunigungs- und -verzögerungszeitberechnungseinheit 323 und die Beschleunigungs- und Verzögerungszeitauswahleinheit 324 werden im Folgenden beschrieben, indem ein bestimmtes Beispiel verwendet wird, in dem ein repräsentativer Punkt ein Beschleunigungsendpunkt ist.
  • Ein Vektor, der aus der Motorposition gebildet wird, die in die Motorposition auf der Ausgabeseite der Welle des Übertragungsmechanismus bei dem Beschleunigungsendpunkt konvertiert ist, ist durch qk angegeben und ein Vektor, der aus der Motorgeschwindigkeit gebildet wird, die in die Motorgeschwindigkeit auf der Ausgabeseite der Welle des Übertragungsmechanismus konvertiert ist, ist durch vk angegeben. Ein Vektor, der aus einer Geschwindigkeit gebildet ist, die durch Konvertieren der zweckbestimmten maximalen Geschwindigkeit in die auf der Ausgabeseite des Übertragungsmechanismus erhalten wird, ist durch vmax angegeben und ein Vektor, der aus einem Wert gebildet ist, der durch Konvertieren des erlaubten Drehmoments auf den Motor jeder Welle in das auf der Ausgabeseite der Welle des Übertragungsmechanismus erhalten wird, ist durch τmax angegeben. Ferner wird die Beschleunigungszeit unter den Startwerten der Beschleunigungs- und Verzögerungszeiten oder die vorherige Beschleunigungs- und Verzögerungszeiten, die dazu verwendet wird, die Position und die Geschwindigkeit bei dem repräsentativen Punkt zu berechnen, durch kt0 angegeben. Unter Verwendung der Formel (10) berechnet die Antriebsdrehmomentberechnungseinheit 13 Mddt, was ein Vektor ist, der sich auf die Trägheitskraft auf der Ausgabeseite der Welle des Übertragungsmechanismus bezieht. Unter Verwendung der Formel (11) berechnet die Antriebsdrehmomentberechnungseinheit 13 das Drehmoment Tora, das durch die Zentrifugalkraft und die Corioliskraft und die Gravitation auf der Ausgabeseite der Welle erzeugt wird. Unter Verwendung der Formel (12) berechnet die Antriebsdrehmomentberechnungseinheit 13 das Drehmoment Torb, das durch die Trägheitskraft, die Zentrifugalkraft und Corioliskraft und die Gravitation auf der Ausgabeseite der Welle erzeugt wird, genauer gesagt durch die Trägheitskraft. Mddt = M ( q k ) V max
    Figure DE112020006606B4_0010
    Tora = h ( q k , v k ) + g ( q k )
    Figure DE112020006606B4_0011
    Torb = Tora + Mddt / kt0
    Figure DE112020006606B4_0012
  • Die Matrix M und die Vektoren h und g sind dieselben wie die in Formel (1) beschriebenen. Die Antriebsdrehmomentberechnungseinheit 13 gibt das berechnete Mddt und Tora an die Repräsentativpunktbeschleunigungs- und -verzögerungszeitberechnungseinheit 323 aus und gibt das berechnete Torb an die Reibungsschätzwertberechnungseinheit 14 aus.
  • Die Reibungsberechnungseinheit 14 in dieser Ausführungsform weist dieselbe Konfiguration auf wie die Reibungsschätzwertberechnungseinheit 14, die in den 1 und 3 der zweiten Ausführungsform gezeigt ist. Das heißt, wenn der Wert der Korrekturverstärkung bei der Reibungskorrekturwertberechnungseinheit 24 von jeder Welle des Roboters 330 durch Ki angegeben ist, eine einzelne Achsenkomponente von Torb durch Torb; angegeben ist, eine einzelne Achsenkomponente des Vektors vk der Motorgeschwindigkeit, die in die auf der Ausgabeseite der Welle des Übertragungsmechanismus konvertiert ist, durch vk; angegeben ist, der Coulombreibungskoeffizient für jede Welle durch kfci angegeben ist und der Viskosreibungskoeffizient für jede Welle durch kfvi angegeben ist, berechnet die Reibungsschätzwertberechnungseinheit 14 einen Reibungsschätzwert Torfi für jede Welle anhand der folgenden Formel (13). Die Reibungsschätzwertberechnungseinheit 14 gibt den berechneten Reibungsschätzwert Torfi für jede Welle an die Repräsentativpunktbeschleunigungs- und -verzögerungszeitberechnungseinheit 323 aus. Torf i = abs ( Torb i ) K i * sgn ( v ki ) + K fci * sgn ( v ki ) + K fvi * v ki
    Figure DE112020006606B4_0013
  • Wenn das minimale positive kta, das die folgende Formel (14) erfüllt, durch ktai angegeben ist, gibt die Repräsentativpunktbeschleunigungs- und -verzögerungszeitberechnungseinheit 323 den größten Wert von ktai, der für jede Achse berechnet wird, an die Beschleunigungs- und Verzögerungszeitauswahleinheit 324 aus. Der größte Wert von ktai ist als ein Beschleunigungszeitkandidat kta bei dem repräsentativen Punkt definiert. Es sei angemerkt, dass Mddti, Tora; und τmaxi die i-te Achsenkomponente von Mddt, Tora bzw. τmax sind. τ maxi Mddt i / kta + Tora i + Torf i τ maxi
    Figure DE112020006606B4_0014
  • Wenn es zwei oder mehrere repräsentative Punkte gibt, wählt die Beschleunigungs- und Verzögerungszeitauswahleinheit 324 die größte Beschleunigungszeit aus den berechneten Beschleunigungszeitkandidaten unter den zwei oder mehr repräsentativen Punkten aus. Dasselbe gilt für die Verzögerungszeit. Das heißt die Beschleunigungs- und Verzögerungszeitauswahleinheit 324 wählt die größte Verzögerungszeit aus den berechneten Verzögerungszeitkandidaten unter den zwei oder mehr repräsentativen Punkten aus. Wenn die Auswahl der größten Beschleunigungszeit und der größten Verzögerungszeit eine vorgeschriebene Anzahl von Wiederholungen erreicht, gibt die Beschleunigungs- und Verzögerungszeitauswahleinheit 324 die ausgewählte Beschleunigungszeit und Verzögerungszeit an die Positionsbefehlserzeugungseinheit 313 in 15 als die Beschleunigungs- und Verzögerungszeiten der Bewegung zusammen mit dem Bewegungsstartpunkt, dem Bewegungsendpunkt und der maximalen Geschwindigkeit aus. Wenn die vorgeschriebene Anzahl von Wiederholungen noch nicht erreicht wurde, gibt die Beschleunigungs- und Verzögerungszeitauswahleinheit 324 die ausgewählte Beschleunigungszeit und Verzögerungszeit an den Repräsentativpunktdatenrechner 321 als die Beschleunigungs- und Verzögerungszeiten in dem momentanen Wiederholungszyklus aus. Der Repräsentativpunktdatenrechner 321 verwendet die dadurch ausgegebenen Beschleunigungs- und Verzögerungszeiten zum Berechnen von Repräsentativpunktdaten bei dem nächsten Wiederholungszyklus.
  • Es wird sich auf 15 bezogen. Auf Basis des Bewegungsstartpunkts, des Bewegungsendpunkts, der maximalen Geschwindigkeit und der Beschleunigungs- und Verzögerungszeiten, die alle von der Beschleunigungs- und Verzögerungszeitbestimmungseinheit 312 eingegeben werden, erzeugt die Positionsbefehlserzeugungseinheit 313 einen Positionsbefehl in jedem vorbestimmten Zyklus, wie beispielsweise jedem Steuerungszyklus, und gibt den erzeugten Positionsbefehl an die Motorsteuerungseinheit für jede Welle 314 aus.
  • Die Motorsteuerungseinheit für jede Welle 314 gibt das Antriebsdrehmoment des Motors für jede Welle an den Roboter 330 aus, sodass die Position jeder Welle dem Positionsbefehl folgt.
  • Die obige Beschreibung wurde unter der Annahme gemacht, dass die Reibungsschätzwertberechnungseinheit 14 die Konfiguration der zweiten Ausführungsform aufweist. Die Reibungsschätzwertberechnungseinheit 14 kann jedoch die Konfiguration der ersten und dritten bis achten Ausführungsform aufweisen. Die Programmleseeinheit 311, die Beschleunigungs- und Verzögerungszeitbestimmungseinheit 312 und die Positionsbefehlserzeugungseinheit 313 definieren die Steuerungseinheit 10A.
  • Bei der elften Ausführungsform umfasst die Robotersteuerungsvorrichtung 300 die Reibungskompensationsvorrichtung 10, die in den Ausführungsformen 1 bis 8 beschrieben ist. Bei der Robotersteuerungsvorrichtung 300 werden Reibungskomponenten, die abhängig von der Größe des Ausgabedrehmoments des Übertragungsmechanismus von jeder Antriebsachse variieren, mit hoher Genauigkeit kompensiert, sodass die Beschleunigungszeit und die Verzögerungszeit, die anhand der Bewegungsgleichung berechnet wird, mit hoher Genauigkeit berechnet werden kann. Zusätzlich wird es möglich, eine Wirkung dahingehend zu erzielen, dass die jeweiligen Betriebe der Robotersteuerungsvorrichtung 300 und des Roboters 330 beschleunigt werden können, genauer gesagt kann die Betriebszeit des Roboters 330 bis zu einem Maß verkürzt werden, dass Randbedingungen erfüllt sind.
  • Zwölfte Ausführungsform.
  • 17 ist ein Blockdiagramm, das ein Beispiel einer Konfiguration einer Robotersteuerungsvorrichtung schematisch zeigt, die eine Reibungskompensationsvorrichtung gemäß einer zwölften Ausführungsform umfasst. Es sei angemerkt, dass dieselben Komponenten wie die in den oben beschriebenen Ausführungsformen durch dieselben Bezugszeichen angegeben sind und nicht beschrieben werden. Das Folgende ist die Beschreibung zu den Unterschieden von den oben beschriebenen Ausführungsformen. Die Robotersteuerungsvorrichtung 300 umfasst ferner die Drehmomentvorsteuerungsberechnungsvorrichtung 80 in der zehnten Ausführungsform und die Kollisionserfassungsvorrichtung 70 in der neunten Ausführungsform. Die Drehmomentvorsteuerungsberechnungsvorrichtung 80 ist zwischen der Positionsbefehlserzeugungseinheit 313 und der Motorsteuerungseinheit für jede Welle 314 vorgesehen. Die Kollisionserfassungsvorrichtung 70 ist so vorgesehen, dass die Kollisionserfassungsvorrichtung 70 mit der Motorsteuerungseinheit für jede Welle 314 verbunden ist. Die Kollisionserfassungsvorrichtung 70, die Drehmomentvorsteuerungsberechnungsvorrichtung 80, die Programmleseeinheit 311, die Beschleunigungs- und Verzögerungszeitbestimmungseinheit 312 und die Positionsbefehlserzeugungseinheit 313 definieren die Steuerungseinheit 10A.
  • Bei der zwölften Ausführungsform sind die Drehmomentvorsteuerungsberechnungsvorrichtung 80 und die Kollisionserfassungsvorrichtung 70 in der Robotersteuerungsvorrichtung 300 der elften Ausführungsform vorgesehen. Dies kann Wirkungen dahingehend erzielen, dass der Kontakt des Roboters 330 mit einem Hindernis mit hoher Sensibilität erfasst werden kann und der Ort des entfernten Endes des Roboters 330 mit hoher Genauigkeit gesteuert werden kann, zusätzlich zu den Wirkungen der elften Ausführungsform.
  • Die Funktionen der Reibungskompensationsvorrichtung 10 gemäß der ersten und achten Ausführungsform, die Kollisionserfassungsvorrichtung 70 gemäß der neunten Ausführungsform, die Drehmomentvorsteuerungsberechnungsvorrichtung 80 gemäß der zehnten Ausführungsform und die Steuerungseinheit 10A der Robotersteuerungsvorrichtung 300 gemäß der elften und zwölften Ausführungsform sind durch eine Verarbeitungsschaltung umgesetzt. Die Verarbeitungsschaltung kann zweckbestimmte Hardware oder eine Verarbeitungsvorrichtung sein, die ein Programm ausführt, das in einer Speichervorrichtung gespeichert ist.
  • Wenn die Verarbeitungsschaltung zweckbestimmte Hardware ist, entspricht die Hardwareschaltung einer einzelnen Schaltung, einer kombinierten Schaltung, einem programmierten Prozessor, einem parallel programmierten Prozessor, einem anwendungsspezifischen integrierten Schaltkreis, einem programmierbaren Logikgatter, oder einer Kombination dieser. 18 ist ein Diagramm, das ein Beispiel einer Konfiguration zeigt, in der die Funktionen der Steuerungseinheit der Reibungskompensationsvorrichtung durch Hardware umgesetzt sind. Eine logische Schaltung 501A, die die Funktionen der Steuerungseinheit 10A umsetzt, ist in der Verarbeitungsschaltung 501 umfasst.
  • Wenn die Verarbeitungsschaltung 501 eine Verarbeitungsvorrichtung ist, sind die Funktionen der Steuerungseinheit 10A durch Software, Firmware oder eine Kombination von Software und Firmware umgesetzt.
  • 19 ist ein Diagramm, das ein Beispiel einer Konfiguration zeigt, in der die Funktionen der Steuerungseinheit der Reibungskompensationsvorrichtung durch Software implementiert sind. Die Verarbeitungsschaltung 501 umfasst einen Prozessor 511, der ein Programm 501b ausführt, einen Direktzugriffsspeicher 512, der als ein Arbeitsbereich von dem Prozessor 511 verwendet wird, und eine Speichervorrichtung 513, die das Programm 501b speichert. Der Prozessor 511 entwickelt und führt das Programm 501b, das in der Speichervorrichtung 513 gespeichert ist, auf dem Direktzugriffsspeicher 512 aus, wodurch die Funktionen der Steuerungseinheit 10A umgesetzt werden. Die Software oder Firmware ist in einer Programmiersprache beschrieben und in der Speichervorrichtung 513 gespeichert. Der Prozessor 511 kann beispielhaft eine zentrale Verarbeitungseinheit sein, aber ist nicht darauf beschränkt. Als die Speichervorrichtung 513 kann ein Halbleiterspeicher, wie beispielsweise ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein Flashspeicher, ein löschbarer programmierbarer Nur-LeseSpeicher (EPROM), oder ein elektrisch löschbarer programmierbarer Nur-LeseSpeicher (EEPROM) (eingetragene Marke) verwendet werden. Der Halbleiterspeicher kann ein nichtflüchtiger Speicher oder ein flüchtiger Speicher sein. Als die Speichervorrichtung 513 kann, abgesehen von einem Halbleiterspeicher, eine magnetische Disk, eine flexible Disk, eine optische Disk, eine Kompakt Disk, eine Minidisk, oder eine Digital Versatile Disc (DVD) verwendet werden. Der Prozessor 511 kann Daten wie beispielsweise Berechnungsergebnisse an die Speichervorrichtung 513 zum Speichern ausgeben, oder kann die Daten in einer Hilfsspeichervorrichtung (nicht gezeigt) über den Direktzugriffsspeicher 512 speichern. Durch Integrieren des Prozessors 511, des Direktzugriffsspeichers 512 und der Speichervorrichtung 513 auf einem einzelnen Chip können die Funktionen der Steuerungseinheit 10A durch einen Mikrocomputer umgesetzt sein.
  • Die Verarbeitungsschaltung 501 setzt die Funktionen der Steuerungseinheit 10A durch Lesen und Ausführen des Programms 501b um, das in der Speichervorrichtung 513 gespeichert ist. Es kann ausgesagt werden, dass das Programm 501b einen Computer dazu veranlasst, einen Ablauf und ein Verfahren zum Umsetzen der Funktionen der Steuerungsvorrichtung 10A auszuführen.
  • Bezüglich der Verarbeitungsschaltung 501 kann ein Teil der Funktionen der Steuerungseinheit 10A durch zweckbestimmte Hardware umgesetzt sein und ein Teil der Funktionen der Steuerungseinheit 10A kann durch Software oder Firmware umgesetzt sein.
  • Demnach kann die Verarbeitungsschaltung 501 die oben beschriebenen Funktionen durch Hardware, Software, Firmware oder einer Kombination dieser umsetzen.
  • Hier wurde der Fall der Steuerungseinheit 10A der Reibungskompensationsvorrichtung 10 als ein Beispiel verwendet, aber die Hardwarekonfiguration der Steuerungseinheit 10A in der Kollisionserfassungsvorrichtung 70, der Drehmomentvorsteuerungsberechnungsvorrichtung 80 und der Robotersteuerungsvorrichtung 300 ist dieselbe.
  • Dreizehnte Ausführungsform. 20 ist ein Flussdiagramm, das ein Beispiel eines Reibungskompensationsverfahrens gemäß einer dreizehnten Ausführungsform zeigt. Ein Ablauf zum Abschätzen eines Reibungsdrehmoments in Übereinstimmung mit dem Reibungskompensationsverfahren wird beschrieben. Im nachfolgenden wird das Reibungskompensationsverfahren mit Bezug auf die Reibungskompensationsvorrichtung 10 in 1 beschrieben.
  • Wenn Motorpositionen an den Geschwindigkeitsrechner 11 eingegeben werden, berechnet der Geschwindigkeitsrechner 11 zunächst die Motorgeschwindigkeit anhand der Differenz zwischen den Motorpositionen (Schritt S11). Der Beschleunigungsrechner 12 berechnet die Motorbeschleunigung anhand der Differenz zwischen Motorgeschwindigkeiten (Schritt S12). Die berechnete Motorgeschwindigkeit wird an die Antriebsdrehmomentberechnungseinheit 13 und die Reibungsschätzwertberechnungseinheit 14 ausgegeben. Die berechnete Motorbeschleunigung wird an die Antriebsdrehmomentberechnungseinheit 13 ausgegeben.
  • Als Nächstes berechnet die Antriebsdrehmomentberechnungseinheit 13, die auf der Ausgabeseite des Übertragungsmechanismus angeordnet ist, ein Antriebsdrehmoment auf der Ausgabeseite des Übertragungsmechanismus anhand der Motorposition, der Motorgeschwindigkeit und der Motorbeschleunigung (Schritt S13). Insbesondere berechnet die Antriebsdrehmomentberechnungseinheit 13 die Vektoren „q“, „v“ und „a“, die aus Werten gebildet werden, die von der Motorposition, der Motorgeschwindigkeit und der Motorbeschleunigung erhalten werden, die jeweils in diese auf der Ausgabeseite des Übertragungsmechanismus konvertiert werden, und berechnet den Vektor τ, der aus dem Antriebsdrehmoment auf der Ausgabeseite des Übertragungsmechanismus von jeder Welle gebildet wird, in Übereinstimmung mit Formel (1).
  • Danach berechnet die Reibungskorrekturwertberechnungseinheit 24 in Abhängigkeit von dem Antriebsdrehmoment auf der Ausgabeseite das Reibungsdrehmoment in Abhängigkeit von dem Antriebsdrehmoment auf der Ausgabeseite (Schritt S14). Insbesondere berechnet die Reibungskorrekturwertberechnungseinheit 24 das Reibungsdrehmoment Torfa; für jede Welle in Abhängigkeit von dem Antriebsdrehmoment auf der Ausgabeseite unter Verwendung der folgenden Formel (15), in der τi und vi jeweils die i-te Achsenkomponente des Vektors τ des Antriebsdrehmoments und die i-te Achsenkomponente des Vektors v der Geschwindigkeit sind, die durch Konvertieren der Motorgeschwindigkeit in die Ausgabegeschwindigkeit des Übertragungsmechanismus erhalten wird, und Ki ist der Korrekturkoeffizient für jede Welle des Reibungsdrehmoments in Abhängigkeit von dem Antriebsdrehmoment. Das Reibungsdrehmoment Torfa; entspricht dem Reibungskorrekturwert. Torfa i = abs ( τ i ) * K i * sgn ( v i )
    Figure DE112020006606B4_0015
  • Auf der anderen Seite berechnen die Coulombreibungsberechnungseinheit 22 und die Viskosreibungsberechnungseinheit 23, die nicht abhängig sind von dem Antriebsdrehmoment auf der Ausgabeseite parallel mit den Schritten S13 und S14 ein Reibungsdrehmoment, das nicht von dem Antriebsdrehmoment auf der Ausgabeseite abhängt (Schritt S15). Insbesondere erhalten die Coulombreibungsberechnungseinheit 22, die Viskosreibungsreibungsberechnungseinheit 23 und der Addierer 25 eine einzelne Achsenkomponente Torfb; des Reibungsdrehmoments, das unabhängig von dem Antriebsdrehmoment auf der Ausgabeseite ist, unter Verwendung der folgenden Formel (16), in der Kfci der Coulombreibungskoeffizient für jede Welle ist und Kfvi der Viskosreibungskoeffizient für jede Welle ist. Torfb i = K fci * sgn ( v i ) + K fvi * v i
    Figure DE112020006606B4_0016
  • Danach berechnet der Addierer 25 einen Reibungsdrehmomentschätzwert anhand der Summe des Reibungsdrehmoments, das von dem Antriebsdrehmoment auf der Ausgabeseite abhängt, und dem Reibungsdrehmoment, das nicht von dem Antriebsdrehmoment auf der Ausgabeseite abhängt (Schritt S16). Insbesondere addiert der Addierer 25 die berechneten Torfa und Torfb für die einzelnen Achsenkomponenten, um den Reibungsdrehmomentschätzwert für jede Welle zu berechnen. Dies vervollständigt das Reibungskompensationsverfahren.
  • Bei dem Reibungskompensationsverfahren gemäß der 13. Ausführungsform werden der Reibungskorrekturwert, der durch Multiplizieren des Betrags des Antriebsdrehmoments des Übertragungsmechanismus erhalten wird, das Vorzeichen der Motorgeschwindigkeit und der Korrekturkoeffizient des Reibungsdrehmoments, das von dem Antriebsachsendrehmoment abhängt, zusammen zu der Summe der Coulombreibung und der viskosen Reibung addiert, um dadurch den Reibungsdrehmomentschätzwert zu berechnen. Dies weist eine Wirkung dahingehend auf, dass, wenn die Variation des Reibungsdrehmoments unter denselben Bedingungen der Geschwindigkeit und der Temperatur der Antriebseinheit auftritt, das Reibungsdrehmoment mit höherer Genauigkeit geschätzt werden kann, als das Reibungsdrehmoment auf Basis eines Reibungsmodells berechnet wird, das nur durch die Geschwindigkeit jeder Welle bestimmt ist. D. h. es ist möglich, Reibung mit hoher Genauigkeit abzuschätzen, die abhängig von der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Ausgabeeinheit des Übertragungsmechanismus variiert.
  • Bei der obigen Beschreibung wurde der Fall des Kompensierens von Reibung auf die Antriebsachsen des Roboters als ein Beispiel verwendet, aber die obigen Ausführungsformen können auf alle Steuerungsobjekte angewendet werden, die Antriebsachsen umfassen, wie beispielsweise industrielle Maschinen.
  • Bezugszeichenliste
  • 10, 10B
    Reibungskompensationsvorrichtung;
    10A
    Steuerungseinheit;
    11, 31, 41
    Geschwindigkeitsrechner;
    12
    Beschleunigungsrechner;
    13
    Antriebsdrehmomentberechnungseinheit;
    14, 14A
    Reibungsschätzwertberechnungseinheit;
    15
    Antriebsdrehmoment- und Nichtantriebsachsendrehmomentberechnungseinheit;
    21
    Vorzeichenschaltung;
    22
    Coulombreibungsberechnungseinheit;
    23
    Viskosreibungsberechnungseinheit;
    24
    Reibungskorrekturwertberechnungseinheit;
    25, 25A, 107, 127, 137, 138, 165, 166, 167
    Addierer;
    26
    Filtereinheit;
    30
    Reibungskorrekturparameterbestimmungseinheit;
    32, 42
    Reibungsdrehmomentberechnungseinheit;
    33, 43
    Motorantriebsdrehmomentvergleichseinheit;
    34
    Parameterlerneinheit;
    40
    Reibungskorrekturfunktionsbestimmungseinheit;
    44
    Korrekturfunktionslerneinheit;
    70
    Kollisionserfassungsvorrichtung;
    71
    Kollisionserfassungsdrehmomentberechnungseinheit;
    72
    Kollisionserfassungsdrehmomentadditionseinheit;
    73
    Kollisionsbestimmungseinheit;
    80
    Drehmomentvorsteuerungsberechnungsvorrichtung;
    81
    Drehmomentvorsteuerungsbefehlserzeugungseinheit;
    100
    Antriebsdrehmomentkorrekturmengenrechner;
    101, 121, 131
    Trägheitskraftbetragsrechner;
    102, 122, 132
    Trägheitskraftkorrektureinheit;
    103, 123, 133
    Zentrifugal- und Corioliskraftbetragsrechner;
    104, 124, 134
    Zentrifugal- und Corioliskraftkorrektureinheit;
    105, 125, 135
    Gravitationsbetragsrechner;
    106, 126, 136
    Gravitationskorrektureinheit;
    108, 113
    Multiplizierer;
    109, 114
    Antriebsdrehmomentkorrekturmengenberechnungseinheit;
    111
    Antriebsdrehmomentbetragsrechner;
    112
    Antriebsdrehmomentkorrektureinheit;
    120
    Nichtantriebs-X-Achsendrehmomentkorrekturmengenrechner;
    130
    Nichtantriebs-Y-Achsendrehmomentkorrekturmengenrechner;
    140
    Nichtantriebs-X-Achsenkorrekturmengenrechner;
    141, 151, 161
    Kraftbetragsrechner;
    142, 152, 162
    Kraftkorrektureinheit;
    143, 153
    Momentbetragsrechner;
    144, 154
    Momentkorrektureinheit;
    150
    Nichtantriebs-Y-Achsenkorrekturmengenrechner;
    160
    Antriebsachsenkorrekturmengenrechner;
    300
    Robotersteuerungsvorrichtung;
    311
    Programmleseeinheit;
    312
    Beschleunigungs- und Verzögerungszeitbestimmungseinheit;
    313
    Positionsbefehlserzeugungseinheit;
    314
    Motorsteuerungseinheit für jede Welle;
    321
    Repräsentativpunktdatenrechner;
    323
    Repräsentativpunktbeschleunigungs- und -verzögerungszeitberechnungseinheit;
    324
    Beschleunigungs- und Verzögerungszeitauswahleinheit;
    330
    Roboter.

Claims (12)

  1. Reibungskompensationsvorrichtung (10), umfassend: eine Antriebsdrehmomentberechnungseinheit (13), um ein Ausgabedrehmoment eines Übertragungsmechanismus aus einer Motorposition, -geschwindigkeit und -beschleunigung unter Verwendung einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf eine Welle zu berechnen, wobei der Übertragungsmechanismus mit einem Motor über die Welle verbunden ist, um eine Antriebskraft des Motors zu übertragen; und eine Reibungsschätzwertberechnungseinheit (14), die eine Reibungskorrekturwertberechnungseinheit (24) umfasst, um einen Reibungskorrekturwert zu berechnen, um eine Reibungskraft auf die Welle zu korrigieren, unter Verwendung eines Werts, der durch Multiplizieren eines Korrekturparameters mit einem Betrag der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle, die von der Antriebsdrehmomentberechnungseinheit als das Ausgabedrehmoment des Übertragungsmechanismus ausgegeben werden, erhalten wird, wobei der Korrekturparameter ein Korrekturkoeffizient der Reibung ist, der abhängig von einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf den Übertragungsmechanismus variiert, wobei die Reibungsschätzwertberechnungseinheit einen Reibungsschätzwert unter Verwendung des Reibungskorrekturwerts berechnet, wobei der Reibungsschätzwert ein geschätzter Wert einer Reibungskraft auf die Welle ist.
  2. Reibungskompensationsvorrichtung (10), umfassend: eine Antriebsdrehmomentberechnungseinheit (13), um ein Ausgabedrehmoment eines Übertragungsmechanismus aus einer Motorposition, -geschwindigkeit und -beschleunigung unter Verwendung einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf eine Welle zu berechnen, wobei der Übertragungsmechanismus mit einem Motor über die Welle verbunden ist, um eine Antriebskraft des Motors zu übertragen; und eine Reibungsschätzwertberechnungseinheit (14), die eine Reibungskorrekturwertberechnungseinheit (24) umfasst, um einen Reibungskorrekturwert zu berechnen, um eine Reibungskraft auf die Welle zu korrigieren, unter Verwendung eines Werts, der durch Multiplizieren eines Korrekturparameters mit einem Betrag einer Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle, die von der Antriebsdrehmomentberechnungseinheit als das Ausgabedrehmoment des Übertragungsmechanismus ausgegeben werden, erhalten wird, wobei der Korrekturparameter ein Korrekturkoeffizient der Reibung ist, der abhängig von einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf den Übertragungsmechanismus variiert, wobei die Reibungsschätzwertberechnungseinheit einen Reibungsschätzwert unter Verwendung des Reibungskorrekturwerts berechnet, wobei der Reibungsschätzwert ein geschätzter Wert einer Reibungskraft auf die Welle ist.
  3. Reibungskompensationsvorrichtung nach Anspruch 1 oder 2, ferner umfassend: eine Korrekturparameterbestimmungseinheit (30), um den Korrekturparameter zu bestimmen, wobei die Korrekturparameterbestimmungseinheit den Korrekturparameter berechnet, unter Verwendung von: einer Summe der Coulombreibung und viskosen Reibung, die unter Verwendung der Position des Motors berechnet werden; einem praktisch gemessenen Wert des Antriebsdrehmoments, das von einem Motorstrom berechnet wird, der ein Strom in dem Motor ist; einer Motorträgheitskraft, die ein Drehmoment ist, das zum Beschleunigen oder Verzögern des Motors benötigt wird; und dem Ausgabedrehmoment, das von der Antriebsdrehmomentberechnungseinheit ausgegeben wird.
  4. Reibungskompensationsvorrichtung nach einem der Ansprüche 1 bis 3, wobei die Antriebsdrehmomentberechnungseinheit (15) ferner Momente und Kräfte bei Nichtantriebsrichtungen berechnet, die keine Antriebsrichtung sind, zusätzlich zu dem Ausgabedrehmoment des Übertragungsmechanismus der Welle, und die Reibungsschätzwertberechnungseinheit (14) den Reibungskorrekturwert für die Welle in Übereinstimmung mit dem Ausgabedrehmoment und den Momenten und Kräften in die Nichtantriebsrichtungen berechnet, die durch die Antriebsdrehmomentberechnungseinheit berechnet wurden.
  5. Reibungskompensationsvorrichtung nach Anspruch 3, wobei die Korrekturparameterbestimmungseinheit ferner eine Parameterlerneinheit (34) umfasst, um den Korrekturparameter so zu lernen, dass ein Antriebsdrehmomentschätzfehler kleiner als ein vorbestimmter Wert wird, wobei der Antriebsdrehmomentfehler eine Differenz zwischen dem praktisch gemessenen Wert des Antriebsdrehmoments und einer Summe des Ausgabedrehmoments des Übertragungsmechanismus, der Motorträgheitskraft und des Reibungsschätzwerts ist.
  6. Reibungskompensationsvorrichtung (10), umfassend: eine Antriebsdrehmomentberechnungseinheit (13), um ein Ausgabedrehmoment eines Übertragungsmechanismus aus einer Motorposition, -geschwindigkeit und -beschleunigung unter Verwendung einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf eine Welle zu berechnen, wobei der Übertragungsmechanismus mit einem Motor über die Welle verbunden ist, um eine Antriebskraft des Motors zu übertragen; eine Reibungsschätzwertberechnungseinheit (14), die eine Reibungskorrekturwertberechnungseinheit (24) umfasst, um einen Reibungskorrekturwert zu berechnen, um eine Reibungskraft auf die Welle zu korrigieren, durch Eingeben eines Betrags der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle, die von der Antriebsdrehmomentberechnungseinheit als das Ausgabedrehmoment des Übertragungsmechanismus ausgegeben werden, in eine Korrekturfunktion (109), wobei die Reibungsschätzwertberechnungseinheit einen Reibungsschätzwert unter Verwendung des Reibungskorrekturwerts berechnet, wobei der Reibungsschätzwert ein geschätzter Wert einer Reibungskraft auf die Welle ist; und eine Korrekturfunktionsbestimmungseinheit (40), um die Korrekturfunktion zu bestimmen, wobei die Korrekturfunktionsbestimmungseinheit die Korrekturfunktion lernt, die als Eingabe den Betrag der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle aufweist und eine Ausgabe aufweist, die mit einem Antriebsdrehmomentschätzfehler übereinstimmt, der eine Differenz zwischen einem praktisch gemessenen Wert eines Drehmoments, das anhand eines Motorstroms berechnet wird, der ein Strom in dem Motor ist, und einer Summe des Ausgabedrehmoments des Übertragungsmechanismus, einer Motorträgheitskraft, die ein Drehmoment ist, das benötigt wird, um den Motor zu beschleunigen oder zu verzögern, und einer Coulombreibung und einer viskosen Reibung ist, die unter Verwendung der Motorposition berechnet werden.
  7. Reibungskompensationsvorrichtung (10), umfassend: eine Antriebsdrehmomentberechnungseinheit (13), um ein Ausgabedrehmoment eines Übertragungsmechanismus aus einer Motorposition, -geschwindigkeit und -beschleunigung unter Verwendung einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf eine Welle zu berechnen, wobei der Übertragungsmechanismus mit einem Motor über die Welle verbunden ist, um eine Antriebskraft des Motors zu übertragen; eine Reibungsschätzwertberechnungseinheit (14), die eine Reibungskorrekturwertberechnungseinheit (24) umfasst, um einen Reibungskorrekturwert zu berechnen, um eine Reibungskraft auf die Welle zu korrigieren, durch Eingeben eines Betrags einer Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle, die von der Antriebsdrehmomentberechnungseinheit als das Ausgabedrehmoment des Übertragungsmechanismus ausgegeben werden, in eine Korrekturfunktion (109), wobei die Reibungsschätzwertberechnungseinheit einen Reibungsschätzwert unter Verwendung des Reibungskorrekturwerts berechnet, wobei der Reibungsschätzwert ein geschätzter Wert einer Reibungskraft auf die Welle ist; und eine Korrekturfunktionsbestimmungseinheit (40), um die Korrekturfunktion zu bestimmen, wobei die Korrekturfunktionsbestimmungseinheit die Korrekturfunktion lernt, die als Eingabe den Betrag der Summe der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle aufweist und die eine Ausgabe aufweist, die mit einem Antriebsdrehmomentfehler übereinstimmt, der eine Differenz zwischen einem praktisch gemessenen Wert eines Drehmoments, das anhand eines Motorstroms berechnet wird, der von dem Motor erhalten wird, und einer Summe des Ausgabedrehmoments des Übertragungsmechanismus, einer Motorträgheitskraft, die ein Drehmoment ist, das benötigt wird, um den Motor zu beschleunigen oder zu verzögern, und einer Coulombreibung und einer viskosen Reibung ist, die unter Verwendung der Motorposition berechnet werden.
  8. Kollisionserfassungsvorrichtung (70), umfassend: die Reibungskompensationsvorrichtung (10) nach einem der Ansprüche 1 bis 7; eine Kollisionserfassungsdrehmomentadditionseinheit (72), um einen Kollisionserfassungsdrehmomentschätzwert durch Addieren des Reibungsschätzwerts, einer Motorträgheitskraft, die ein Drehmoment ist, das benötigt wird, um den Motor zu beschleunigen oder zu verzögern, und des Ausgabedrehmoments des Übertragungsmechanismus, das durch die Reibungskompensationsvorrichtung berechnet wird, zu berechnen; und eine Kollisionsbestimmungseinheit (73), um zu bestimmen, ob ein Roboter mit einem Hindernis kollidiert ist oder nicht, durch Vergleichen des Kollisionserfassungsdrehmomentschätzwerts mit einem praktisch gemessenen Wert des Drehmoments, der von einem Motorstrom berechnet wird, der von dem Motor erhalten wird.
  9. Drehmomentvorsteuerungsberechnungsvorrichtung (80), um einen Drehmomentvorsteuerungsbefehl an eine Motorsteuerungseinheit für jede Welle unter Verwendung eines Motorpositionsbefehls auszugeben, wobei die Drehmomentvorsteuerungsberechnungseinheit umfasst: die Reibungskompensationsvorrichtung nach einem der Ansprüche 1 bis 7.
  10. Robotersteuerungsvorrichtung (300), umfassend: eine Programmleseeinheit (311), um einen Bewegungsstartpunkt und einen Bewegungsendpunkt eines Bewegungsbefehls in einem Roboterprogramm und eine maximale Geschwindigkeit auszugeben, die in dem Roboterprogramm spezifiziert ist; eine Beschleunigungs- und Verzögerungszeitbestimmungseinheit (312), um anhand von Daten zu dem Bewegungsstartpunkt, dem Bewegungsendpunkt und der maximalen Geschwindigkeit eine Beschleunigungszeit und eine Verzögerungszeit an repräsentativen Punkten einer Bewegung basierend auf den Daten zu dem Bewegungsstartpunkt, dem Bewegungsendpunkt und der maximalen Geschwindigkeit, als Beschleunigungs- und Verzögerungszeiten zu berechnen; eine Positionsbefehlserzeugungseinheit (313), um einen Positionsbefehl in jedem vorbestimmten Zyklus auf Basis der Daten zu dem Bewegungsstartpunkt, dem Bewegungsendpunkt und der maximalen Geschwindigkeit und den Beschleunigungs- und Verzögerungszeiten zu erzeugen; und eine Motorsteuerungseinheit (314), die jede Welle steuert, um einen Roboter auf Basis des Positionsbefehls zu steuern, wobei die Beschleunigungs- und Verzögerungszeitbestimmungseinheit die Reibungskompensationsvorrichtung nach einem der Ansprüche 1 bis 7 umfasst, um den Reibungsschätzwert zu berechnen, der in der Berechnung der Beschleunigungs- und Verzögerungszeiten benötigt wird.
  11. Robotersteuerungsvorrichtung nach Anspruch 10, ferner umfassend: die Drehmomentvorsteuerungsberechnungsvorrichtung (80) nach Anspruch 9, um den Drehmomentvorsteuerungsbefehl unter Verwendung des Positionsbefehls zu erzeugen, der von der Positionsbefehlserzeugungseinheit erzeugt wird; und die Kollisionserfassungsvorrichtung (70) nach Anspruch 8, um zu bestimmen, ob der Roboter mit dem Hindernis kollidiert ist oder nicht, durch Vergleichen des Antriebsdrehmoments, das anhand eines Motorstroms berechnet wird, der durch die Motorsteuerungseinheit, die jede Welle steuert, erfasst wird, mit dem Kollisionserfassungsantriebsdrehmomentschätzwert.
  12. Reibungskompensationsverfahren für eine Reibungskompensationsvorrichtung (10), die umfasst: eine Antriebsdrehmomentberechnungseinheit (13), um ein Ausgabedrehmoment eines Übertragungsmechanismus von einer Motorposition, -geschwindigkeit und -beschleunigung zu berechnen, wobei der Übertragungsmechanismus mit einem Motor über eine Welle verbunden ist, um eine Antriebskraft des Motors zu übertragen; und eine Reibungsschätzwertberechnungseinheit (14), um einen Reibungsschätzwert zu berechnen, der ein geschätzter Wert einer Reibungskraft auf die Welle ist, wobei das Reibungskompensationsverfahren umfasst: einen Schritt des Berechnens einer Motorgeschwindigkeit anhand einer Differenz zwischen Positionen des Motors zu verschiedenen Zeiten durch die Antriebsdrehmomentberechnungseinheit; einen Schritt des Berechnens einer Motorbeschleunigung anhand einer Differenz zwischen Geschwindigkeiten des Motors zu verschiedenen Zeiten durch die Antriebsdrehmomentberechnungseinheit; einen Schritt des Berechnens einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitationskraft auf die Welle als einAntriebsdrehmoment auf einer Ausgabeseite des Übertragungsmechanismus anhand der Motorposition, -geschwindigkeit und -beschleunigung durch die Antriebsdrehmomentberechnungseinheit; einen Schritt des Berechnens eines Reibungsdrehmoments, das auf der Ausgabeseite von dem Antriebsdrehmoment abhängig ist, durch die Reibungsschätzwertberechnungseinheit, unter Verwendung eines Werts, der durch Multiplizieren eines Korrekturparameters mit einem Betrag der Trägheitskraft, der Zentrifugalkraft und der Corioliskraft und der Gravitation auf die Welle erhalten wird, wobei der Korrekturparameter ein Korrekturkoeffizient der Reibung ist, der abhängig von einer Trägheitskraft, einer Zentrifugalkraft und einer Corioliskraft und einer Gravitation auf den Übertragungsmechanismus variiert; einen Schritt des Berechnens eines Reibungsdrehmoments, das auf der Ausgabeseite nicht von dem Antriebsdrehmoment abhängig ist, durch die Antriebsdrehmomentberechnungseinheit; und einen Schritt des Berechnens eines Reibungsdrehmomentschätzwerts durch Addieren des Reibungsdrehmoments, das auf der Ausgabeseite von dem Antriebsdrehmoment abhängig ist, und des Reibungsdrehmoments, das auf der Ausgabeseite nicht von dem Antriebsdrehmoment abhängig ist, durch die Reibungsschätzwertberechnungseinheit.
DE112020006606.1T 2020-03-26 2020-03-26 Reibungskompensationsvorrichtung, Kollisionserfassungsvorrichtung,Drehmomentvorsteuerungsberechnungsvorrichtung und Robotersteuerungsvorrichtung undReibungskompensationsverfahren Active DE112020006606B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/013806 WO2021192181A1 (ja) 2020-03-26 2020-03-26 摩擦補償装置、衝突検知装置、トルクフィードフォワード演算装置およびロボット制御装置並びに摩擦補償方法

Publications (2)

Publication Number Publication Date
DE112020006606T5 DE112020006606T5 (de) 2022-12-08
DE112020006606B4 true DE112020006606B4 (de) 2024-03-14

Family

ID=76918303

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020006606.1T Active DE112020006606B4 (de) 2020-03-26 2020-03-26 Reibungskompensationsvorrichtung, Kollisionserfassungsvorrichtung,Drehmomentvorsteuerungsberechnungsvorrichtung und Robotersteuerungsvorrichtung undReibungskompensationsverfahren

Country Status (5)

Country Link
US (1) US11691282B2 (de)
JP (1) JP6906711B1 (de)
CN (1) CN115336167B (de)
DE (1) DE112020006606B4 (de)
WO (1) WO2021192181A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114800516B (zh) * 2022-05-13 2024-03-08 珞石(北京)科技有限公司 一种针对热误差的机器人运动补偿方法
CN116460859B (zh) * 2023-06-19 2023-10-03 广东隆崎机器人有限公司 Scara机器人运动补偿方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002283276A (ja) 2001-03-21 2002-10-03 Daihen Corp 多関節ロボットにおける衝突検出・停止制御法
US20130245829A1 (en) 2012-03-15 2013-09-19 Jtekt Corporation Robot control method, robot control device, and robot control system
DE112017002846T5 (de) 2016-06-07 2019-02-28 Mitsubishi Electric Corporation Vorrichtung zur Abnormalitätsdiagnose und Verfahren zur Abnormalitätsdiagnose

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4166157B2 (ja) 2004-01-07 2008-10-15 三菱電機株式会社 電動機制御装置
KR20090124560A (ko) * 2008-05-30 2009-12-03 삼성전자주식회사 로봇 매니퓰레이터의 제어장치 및 그 제어방법
JP5198514B2 (ja) * 2010-07-22 2013-05-15 株式会社東芝 ロボット制御装置
JP5209810B1 (ja) * 2011-07-27 2013-06-12 ファナック株式会社 イナーシャと摩擦係数とばね定数を同時に推定する機能を備える電動機の制御装置
JP6014401B2 (ja) 2012-07-25 2016-10-25 東芝シュネデール・インバータ株式会社 電動機制御装置
CN104507645B (zh) * 2012-08-02 2016-04-27 东芝机械株式会社 机器人装置及其控制方法
JP5650814B1 (ja) * 2013-07-05 2015-01-07 ファナック株式会社 フィードフォワード制御を備えたモータ制御装置
WO2017033353A1 (ja) * 2015-08-25 2017-03-02 川崎重工業株式会社 遠隔操作ロボットシステム
JP2018129957A (ja) * 2017-02-09 2018-08-16 株式会社コロナ モータ制御装置及び空気調和装置
EP3576298B1 (de) * 2017-03-01 2020-12-16 Panasonic Intellectual Property Management Co., Ltd. Robotersteuerungsverfahren
JP7111498B2 (ja) 2018-04-18 2022-08-02 ファナック株式会社 ロボットの制御装置およびロボットの制御方法
EP3975907A4 (de) * 2019-06-03 2023-06-21 Covidien LP System und vorrichtung zur externen drehmomentbeobachtung und -kompensation für einen chirurgischen roboterarm

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002283276A (ja) 2001-03-21 2002-10-03 Daihen Corp 多関節ロボットにおける衝突検出・停止制御法
US20130245829A1 (en) 2012-03-15 2013-09-19 Jtekt Corporation Robot control method, robot control device, and robot control system
DE112017002846T5 (de) 2016-06-07 2019-02-28 Mitsubishi Electric Corporation Vorrichtung zur Abnormalitätsdiagnose und Verfahren zur Abnormalitätsdiagnose

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A. C. Bittencourt, E. Wernholt, S. Sander-Tavallaey and T. Brogårdh: An extended friction model to capture load and temperature effects in robot joints. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2010, 6161-6167. IEEE [online]. doi: 10.1109/IROS.2010.5650358. ,
Nevmerzhitskiy Maksim N., Notkin Boris S., Vara, Andrey V. AU - Zmeu, Konstantin V.: Friction Model of Industrial Robot Joint with Temperature Correction by Example of KUKA KR10. Journal of Robotics, , 2019, Hindawi [online]. https://doi.org/10.1155/2019/6931563, ,

Also Published As

Publication number Publication date
JPWO2021192181A1 (de) 2021-09-30
CN115336167A (zh) 2022-11-11
WO2021192181A1 (ja) 2021-09-30
US20230110472A1 (en) 2023-04-13
JP6906711B1 (ja) 2021-07-21
DE112020006606T5 (de) 2022-12-08
US11691282B2 (en) 2023-07-04
CN115336167B (zh) 2023-09-22

Similar Documents

Publication Publication Date Title
DE102018203702B4 (de) Vorrichtung für maschinelles Lernen, Servo-Regelungsvorrichtung, Servo-Regelungssystem und Verfahren für maschinelles Lernen
DE102018000445B4 (de) Steuersystem mit Lernsteuerfunktionen und Steuerverfahren
DE102016015866B3 (de) Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102011011681B4 (de) Roboter mit einer Lernsteuerfunktion
DE112017008018B4 (de) Kalibrierungsvorrichtung, kalibrierungsverfahren und steuerungsvorrichtung
DE112020006606B4 (de) Reibungskompensationsvorrichtung, Kollisionserfassungsvorrichtung,Drehmomentvorsteuerungsberechnungsvorrichtung und Robotersteuerungsvorrichtung undReibungskompensationsverfahren
DE102016008994A1 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE102008003051A1 (de) Positionsregelungsvorrichtung für eine Drehachse
DE112017002300T5 (de) Anomaliefeststellungsvorrichtung und Anomaliefeststellungsverfahren
DE102006055917B4 (de) Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells
DE102019106729A1 (de) Antriebsvorrichtung und Vorrichtung für maschinelles Lernen
DE102018001026A1 (de) Robotersystem mit einer lernenden steuerungsfunktion und lernendes steuerungsverfahren
DE112017002846T5 (de) Vorrichtung zur Abnormalitätsdiagnose und Verfahren zur Abnormalitätsdiagnose
EP3670110A1 (de) Verfahren und vorrichtung zur drehmomentschätzung
DE102018004048A1 (de) Steuerung und Maschinenlernvorrichtung
DE112019007725T5 (de) Motorsteuerung und Motorsteuerungsverfahren
DE102018115361A1 (de) Elektrisches servolenkungssystem mit einheitlicher architektur für mehrere betriebsmodi
DE102020132093A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung, Bearbeitungssystem und Verfahren für maschinelles Lernen zum Lernen eines Korrekturbetrags eines Werkstückmodells
DE102018214257B3 (de) Roboterregelung
DE102019104169A1 (de) Quadrantenbasierte reibungskompensation für eine schätzung der reifenlast in lenkungssystemen
DE102018123849A1 (de) System zum Ausgleichen einer thermischen Verschiebung
DE102018210864B3 (de) Verfahren und System zum Regeln eines Roboters
DE102019002644A1 (de) Steuerung und Steuerverfahren
DE102017221238B4 (de) Servomotor-steuereinrichtung, servomotor-steuerverfahren und servomotor-steuerprogramm
DE112019007222T5 (de) Motorsteuereinrichtung

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