DE112021000503T5 - Steuerungssystem - Google Patents

Steuerungssystem Download PDF

Info

Publication number
DE112021000503T5
DE112021000503T5 DE112021000503.0T DE112021000503T DE112021000503T5 DE 112021000503 T5 DE112021000503 T5 DE 112021000503T5 DE 112021000503 T DE112021000503 T DE 112021000503T DE 112021000503 T5 DE112021000503 T5 DE 112021000503T5
Authority
DE
Germany
Prior art keywords
robot
data
sensor
control system
interpolation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021000503.0T
Other languages
English (en)
Inventor
Kiichi Teramoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE112021000503T5 publication Critical patent/DE112021000503T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37388Acceleration or deceleration, inertial measurement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37435Vibration of machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37634By measuring vibration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39199Active vibration absorber

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

Es wird ein Steuerungssystem bereitgestellt, das den Betrieb eines Roboters mit hoher Genauigkeit steuern kann. Ein Steuerungssystem 1 ist versehen mit einem Sensor 44, der eine Beschleunigung erfasst, die auf der Vibration eines Roboters 3 basiert, einer Interpolationseinheit 222, die eine Vielzahl von Sensordatenteilen interpoliert, die von dem Sensor 44 erfasst werden, und einer Datenerzeugungseinheit 223, die kombinierte Daten mit einer kurzen Abtastperiode basierend auf einer Vielzahl von Interpolationsdaten erzeugt, die durch Interpolation durch die Interpolationseinheit 222 erhalten werden.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf ein Steuerungssystem.
  • Stand der Technik
  • Es ist bekannt, dass Roboter, wie etwa Industrieroboter, Laserbearbeitungen, Versiegelungen, Lichtbogenschweißen usw. durchführen können, indem sie die Position eines Armendes (positionsgeregeltes Teil) ihres Robotermechanismus steuern. Eine Erhöhung der Bewegungsgeschwindigkeit eines Roboters dieser Art verkürzt die Taktzeit, wodurch die Produktionseffizienz verbessert werden kann. Wenn jedoch die Bewegungsgeschwindigkeit des Roboters erhöht wird, können am Armende des Robotermechanismus, aufgrund von Faktoren wie einem Untersetzungsgetriebe und einem Robotermechanismus mit unzureichender Steifigkeit, Vibrationen entstehen, die zu einer Verschlechterung der Qualität eines Bearbeitungsziels führen können.
  • Die Patentschriften 1 und 2 offenbaren Roboter, die diese Probleme lösen können. Diese Roboter sind mit einem Sensor am Armende des Robotermechanismus ausgestattet, und der Sensor misst Vibrationen, die am Armende des Robotermechanismus erzeugt werden, der sich gemäß einem Bewegungsprogramm bewegt. Die Roboter führen wiederholt eine Lernsteuerung durch, um einen Lernkompensationswert zur Reduzierung der gemessenen Schwingungen zu berechnen. Die Roboter verwenden den Lernkompensationswert, um die Positionssteuerung am Armende (positionsgeregeltes Teil) des Robotermechanismus zu kompensieren, um die Vibration des Armendes des Robotermechanismus zu reduzieren.
    • Patentschrift 1: Japanische ungeprüfte Patentanmeldung, Veröffentlichungsnummer 2011-167817
    • Patentschrift 2: Japanische ungeprüfte Patentanmeldung, Veröffentlichungsnummer 2012-240142
  • Offenbarung der Erfindung
  • Durch die Erfindung zu lösende Probleme
  • Um die oben beschriebene Lernsteuerung durchzuführen, ist es notwendig, an einem Armende eines Robotermechanismus einen Sensor zur Erfassung von am Armende erzeugten Vibrationen zu installieren. Wenn ein Endgerät mit einem solchen Sensor am Armende angebracht wird, um Vibrationen zu erfassen, besteht das Problem, dass eine unzureichende Erfassungsgenauigkeit erreicht wird, da der in dem Endgerät vorgesehene Sensor typischerweise spärliche Abtastintervalle aufweist. Unter den vorstehenden Umständen besteht ein Bedarf an einem Steuerungssystem, das die Bewegung eines Roboters mit hoher Genauigkeit steuern kann.
  • Mittel zur Lösung der Probleme
  • Ein Aspekt der vorliegenden Offenbarung betrifft ein Steuerungssystem, das Folgendes umfasst: einen Sensor, der eine Beschleunigung auf der Grundlage von Vibrationen eines Roboters erfasst; einen Interpolator, der eine Vielzahl von Sensordatensätze interpoliert, die von dem Sensor erfasst werden; und einen Datengenerator, der zusammengesetzte Daten mit feinen Abtastintervallen basierend auf einer Vielzahl von Interpolationsdatensätzen erzeugt, die von dem Interpolator interpoliert werden.
  • Effekte der Erfindung
  • Die vorliegende Erfindung ermöglicht eine hochgenaue Steuerung der Bewegung eines Roboters.
  • Figurenliste
    • 1 ist ein Diagramm, das einen Überblick über ein Steuerungssystem gemäß einer Ausführungsform darstellt;
    • 2 ist ein Blockdiagramm, das eine Konfiguration einer Robotersteuerungsvorrichtung und eine Konfiguration eines Endgeräts darstellt;
    • 3 stellt die Verarbeitung zur Kombination von Sensordaten dar; und
    • 4 ist ein Flussdiagramm, das die von der Robotersteuerungsvorrichtung durchgeführte Verarbeitung darstellt.
  • Bevorzugte Art der Ausführung der Erfindung
  • Im Folgenden wird ein Beispiel für Ausführungsformen der vorliegenden Erfindung beschrieben. 1 ist ein Diagramm, das einen Überblick über ein Steuerungssystem 1 gemäß der vorliegenden Ausführungsform darstellt. Wie in 1 dargestellt, umfasst das Steuerungssystem 1 eine Robotersteuerungsvorrichtung 2, einen Roboter 3 und Endgeräte 4a und 4b.
  • Die Robotersteuerungsvorrichtung 2 gibt gemäß einem Roboterprogramm einen Bewegungsbefehl an den Roboter 3 aus und steuert dadurch die Bewegung des Roboters 3. Der Roboter 3 ist beispielsweise ein sechsachsiger vertikaler Gelenkroboter und hat einen über Gelenkachsen verbundenen Arm 31, wie in 1 dargestellt.
  • Als Reaktion auf einen Bewegungsbefehl der Robotersteuerungsvorrichtung 2 treibt der Roboter 3 seine beweglichen Teile, wie den Arm 31, durch den Antrieb von Servomotoren 30a bis 30f an, die jeweils an einer der zugehörigen Gelenkachsen angebracht sind. Die Servomotoren 30a bis 30f werden zusammenfassend auch als Servomotoren 30 bezeichnet.
  • Der Roboter 3 hat einen Flansch 32, an dem ein Endeffektor 33, wie z. B. eine Schweißpistole, eine Greifhand oder eine Laserbestrahlungsvorrichtung, befestigt ist. Obwohl es sich bei dem Roboter 3 um einen sechsachsigen vertikalen Gelenkroboter handelt, kann er auch als vertikaler Gelenkroboter mit einer anderen Anzahl von Achsen, als horizontaler Gelenkroboter, als Delta-Roboter oder Ähnliches konfiguriert sein.
  • Die Endgeräte 4a und 4b sind an dem Endeffektor 33 des Roboters 3 befestigt. Die Endgeräte 4a und 4b detektieren eine Beschleunigung, die auf der Vibration des Roboters 3 basiert, und übermitteln die detektierten Sensordaten an die Robotersteuerungsvorrichtung 2. Die Endgeräte 4a und 4b werden zusammenfassend auch als Endgeräte 4 bezeichnet.
  • 2 ist ein Blockdiagramm, das die Konfiguration der Robotersteuerungsvorrichtung 2 und der Endgeräte 4 darstellt. Die Robotersteuerungsvorrichtung 2 umfasst eine Kommunikationseinheit 21, eine Steuerungseinheit 22 und eine Speichereinheit 23.
  • Die Kommunikationseinheit 21 ist eine Kommunikationsschnittstelle zur Kommunikation mit den Endgeräten 4 über ein Netzwerk. Die Kommunikationseinheit 21 umfasst z. B. einen Prozessor, einen Anschluss und eine elektrische Schaltung, mit der die Kommunikation implementiert wird. Die Kommunikationseinheit 21 erfasst Daten, indem sie eine vorbestimmte Verarbeitung eines von den Endgeräten 4 empfangenen Kommunikationssignals durchführt, und gibt die erfassten Daten in die Steuerungseinheit 22 ein. Darüber hinaus erzeugt die Kommunikationseinheit 21 ein Kommunikationssignal, indem sie eine vorgegebene Verarbeitung an Daten durchführt, die von der Steuerungseinheit 22 eingegeben werden, und sendet das erzeugte Kommunikationssignal an die Endgeräte 4. Zum Beispiel empfängt die Kommunikationseinheit 21 Sensordaten von den Endgeräten 4.
  • Die Steuerungseinheit 22 ist ein Prozessor, wie z.B. eine zentrale Verarbeitungseinheit (CPU: central processing unit), und fungiert als Koordinatentransformator 221, Interpolator 222, Datengenerator 223, Bewegungssteuerung 224, Kompensationswertberechner 225 und Lernsteuerung 226, indem sie in der Speichereinheit 23 gespeicherte Programme ausführt.
  • Bei der Speichereinheit 23 handelt es sich um eine Speichervorrichtung, z. B. einen Festwertspeicher (ROM: read only memory), in dem ein Betriebssystem (OS: operating system) und Anwendungsprogramme gespeichert sind, einen Direktzugriffsspeicher (RAM: random access memory), ein Festplattenlaufwerk oder einen Festkörperspeicher (SSD: solid state drive), in dem verschiedene andere Informationen gespeichert sind, usw. Die Speichereinheit 23 speichert zum Beispiel ein Roboterprogramm zum Betrieb des Roboters 3.
  • Die Endgeräte 4 (Endgeräte 4a und 4b) umfassen eine Kommunikationseinheit 41, eine Steuerungseinheit 42, eine Speichereinheit 43 und einen Sensor 44.
  • Die Kommunikationseinheit 41 ist eine Kommunikationsschnittstelle zur Kommunikation mit der Robotersteuerungsvorrichtung 2 über ein Netzwerk. Die Kommunikationseinheit 41 umfasst z. B. einen Prozessor, einen Anschluss und eine elektrische Schaltung, mit der die Kommunikation implementiert wird. Die Kommunikationseinheit 41 erfasst Daten, indem sie eine vorbestimmte Verarbeitung eines von der Robotersteuerungsvorrichtung 2 empfangenen Kommunikationssignals durchführt, und gibt die erfassten Daten in die Steuerungseinheit 42 ein. Darüber hinaus erzeugt die Kommunikationseinheit 41 ein Kommunikationssignal, indem sie eine vorgegebene Verarbeitung an Daten durchführt, die von der Steuerungseinheit 42 eingegeben werden, und sendet das erzeugte Kommunikationssignal an die Robotersteuerungsvorrichtung 2.
  • Die Steuerungseinheit 42 ist ein Prozessor, wie z.B. eine zentrale Verarbeitungseinheit (CPU: central processing unit). Bei der Speichereinheit 43 handelt es sich um eine Speichervorrichtung, wie z. B. einen Festwertspeicher (ROM: read only memory), in dem ein Betriebssystem (OS: operating system) und Anwendungsprogramme gespeichert sind, einen Direktzugriffsspeicher (RAM: random access memory), ein Festplattenlaufwerk oder einen Festkörperspeicher (SSD: solid state drive), in dem verschiedene andere Informationen gespeichert sind, usw.
  • Der Sensor 44 ist ein Beschleunigungssensor, der zyklisch in vorgegebenen Abtastintervallen eine Beschleunigung detektiert, mit der sich der Endeffektor 33 aufgrund der Bewegung des Roboters 3 bewegt. Der Sensor 44 ist nicht auf den Beschleunigungssensor beschränkt, sondern kann z. B. ein Bildverarbeitungssensor, ein Gyrosensor, ein Trägheitssensor oder ein Dehnungsmessstreifen sein.
  • Das Steuerungseinheit 42 verfügt über eine Uhr (nicht dargestellt). Jedes Mal, wenn die Steuerungseinheit 42 eine Beschleunigung detektiert, erfasst sie die von der Uhr ausgegebene Zeitinformation als die Uhrzeit, zu der die Beschleunigung detektiert wurde. Die Kommunikationseinheit 41 überträgt ein Sensorsignal, das die detektierte Beschleunigung und die Zeitinformation umfasst und die Sensordaten bildet, an die Robotersteuerungsvorrichtung 2.
  • Als nächstes wird die von der Steuerungseinheit 22 durchgeführte Steuerung unter Bezugnahme auf die 2 und 3 beschreiben. 3 stellt die Verarbeitung zur Kombination von Sensordaten dar. Wie in 3 dargestellt, detektiert der Sensor 44 des Endgeräts 4a und der Sensor 44 des Endgeräts 4b N Sensordatensätze. Die vorliegende Ausführungsform wird basierend auf einem Beispiel beschrieben, bei dem die Endgeräte 4 die Sensordaten mit Hilfe der beiden Endgeräte 4a und 4b erfassen. Die Endgeräte 4 können jedoch auch mit drei oder mehr Endgeräten Sensordaten erfassen. Alternativ kann ein Endgerät 4 die Sensordaten auch mehrfach erfassen.
  • Der Koordinatentransformator 221 transformiert die von der Kommunikationseinheit 21 empfangenen Sensordatensätze von einem Sensorkoordinatensystem, das auf einer Oberfläche des Flansches 32 des Roboters 3 als Koordinatenreferenz basiert, in ein Werkzeugkoordinatensystem, das auf einem distalen Ende des Roboters 3 als Koordinatenreferenz basiert. Das Sensorkoordinatensystem wird bestimmt, indem die Position und die Ausrichtung des Sensors 44 jedes der Endgeräte 4a und 4b beispielsweise basierend auf der Oberfläche des Flansches 32 des Roboters 3, die als die Referenz dient, voreingestellt wird. Das distale Ende des Roboters 3 ist z. B. der Endeffektor 33.
  • Daher kann die Robotersteuerungsvorrichtung 2 die Position des distalen Endes des Roboters 3, an dem der Endeffektor 33 angebracht ist, anhand einer im Werkzeugkoordinatensystem definierten Position steuern, selbst wenn die Robotersteuerungsvorrichtung 2 die von den Sensoren 44 der Vielzahl von Endgeräten 4a und 4b detektierten Sensordaten an unterschiedlichen Positionen erfasst. Der Koordinatentransformator 221 kann auch ein Flanschkoordinatensystem verwenden, falls das Werkzeugkoordinatensystem nicht definiert ist.
  • Der Interpolator 222 interpoliert die Vielzahl von Sensordatensätzen, die der Koordinatentransformation unterliegen. Insbesondere interpoliert der Interpolator 222, wie in 3 dargestellt, die Vielzahl von Sensordatensätzen, die diskret sind, und erzeugt dadurch kontinuierliche Interpolationsdaten. Beispielsweise erzeugt der Interpolator 222 die Interpolationsdaten durch lineare Interpolation oder Spline-Interpolation.
  • Der Datengenerator 223 erzeugt zusammengesetzte Daten, die feine Abtastintervalle aufweisen, basierend auf der Vielzahl von Interpolationsdatensätzen, die durch den Interpolator interpoliert wurden. Insbesondere kombiniert der Datengenerator 223 die Vielzahl von Interpolationsdatensätzen und erzeugt dadurch einen Satz zusammengesetzter Daten. Genauer gesagt überlagert der Datengenerator 223 die Wellenformen der Vielzahl von Interpolationsdatensätze und erzeugt so den einen Satz zusammengesetzter Daten. Außerdem mittelt der Datengenerator 223 die zusammengesetzten Daten, die sich aus der Kombination der Vielzahl von Interpolationsdatensätzen ergeben.
  • Der Datengenerator 223 kann einen Korrelationskoeffizienten basierend auf der Vielzahl von Interpolationsdatensätzen berechnen, die Vielzahl von Interpolationsdatensätzen basierend auf dem Korrelationskoeffizienten kombinieren und die zusammengesetzten Daten mitteln, die sich aus der Kombination der Vielzahl von Interpolationsdatensätzen ergeben. Durch Kombinieren der Vielzahl von Interpolationsdatensätzen auf diese Weise kann der Datengenerator 223 die zusammengesetzten Daten mit feinen Abtastintervallen erzeugen.
  • Da keiner der Vielzahl von Interpolationsdatensätzen zeitsynchronisiert ist, synchronisiert der Datengenerator 223 die Vielzahl von Interpolationsdatensätze miteinander und erzeugt zusammengesetzte Daten, basierend die auf der Vielzahl von zeitsynchronisierten Interpolationsdatensätzen.
  • Beispielsweise berechnet der Datengenerator 223 einen Korrelationswert C, der eine numerische Form der Korrelation ist zwischen ersten Interpolationsdaten f(t), die aus der Interpolation eines ersten Satzes von Sensordaten resultieren, und zweiten Interpolationsdaten g(t), die aus der Interpolation eines zweiten Satzes von Sensordaten resultieren. Der Datengenerator 223 berechnet dann eine Verzögerungszeit ta der ersten Interpolationsdaten f(t) in Bezug auf die zweiten Interpolationsdaten g(t), gemäß dem Korrelationswert C.
  • Der Korrelationswert C kann beispielsweise durch Anwendung der Methode der kleinsten Quadrate auf eine stetige Funktion bestimmt werden. Insbesondere wird die Differenz zwischen den ersten Interpolationsdaten f(t) und den zweiten Interpolationsdaten g(t) zu einem identischen Zeitpunkt quadriert, und dieser quadrierte Wert wird dann über einen bestimmten Zeitbereich integriert. Die auf diese Weise berechnete Summe der Quadrate wird als Korrelationswert C definiert. Genauer gesagt kann der Korrelationswert C durch die folgende Formel angegeben werden. C = { ƒ ( t ) g ( t ) } 2 d t
    Figure DE112021000503T5_0001
  • In diesem Fall wird der nach der Methode der kleinsten Quadrate berechnete Wert, d. h. der Korrelationswert C, kleiner, je höher die Korrelation zwischen den ersten Interpolationsdaten f(t) und den zweiten Interpolationsdaten g(t) ist. Eine optimale Verzögerungszeit ta ergibt sich aus der folgenden Formel. arg min t a { ƒ ( t t a ) g ( t ) } 2 d t
    Figure DE112021000503T5_0002
  • Wenn die Sensordaten beispielsweise Spline-interpoliert sind, sind f(t) und g(t) jeweils durch ein Polynom in t gegeben. { ƒ ( t t a ) g ( t ) } 2 d t
    Figure DE112021000503T5_0003
  • Dementsprechend kann diese Formel als ein Polynom der Verzögerungszeit ta betrachtet werden. Daher kann die optimale Verzögerungszeit ta z. B. mit der Newton-Methode berechnet werden.
  • Der Korrelationswert C, der den Grad der Korrelation zwischen den ersten Interpolationsdaten f(t) und den zweiten Interpolationsdaten g(t) angibt, kann auch wie folgt berechnet werden, anstatt die Methode der kleinsten Quadrate anzuwenden. C = ƒ ( t ) g ( t ) d t
    Figure DE112021000503T5_0004
  • Je höher die Korrelation zwischen den ersten Interpolationsdaten f(t) und den zweiten Interpolationsdaten g(t) ist, desto größer wird der Korrelationskoeffizient. In diesem Fall wird die Verzögerungszeit ta nach demselben Verfahren wie bei der Methode der kleinsten Quadrate bestimmt. Das heißt, wenn f(t) und g(t) durch ein Polynom mit t gegeben sind, kann eine optimale Verzögerungszeit ta z. B. mit der Newton-Methode berechnet werden.
  • Beispielsweise berechnet der Datengenerator 223 eine Verzögerungszeit ta von jedem der Vielzahl von Interpolationsdatensätzen in Bezug auf die Referenzinterpolationsdaten. Der Datengenerator 223 synchronisiert dann jeden der Vielzahl von Interpolationsdatensätzen zeitlich, durch Subtraktion oder Addition der Verzögerungszeit ta von oder zu dem Zeitwert der Referenzinterpolationsdaten.
  • Die Bewegungssteuerung 224 steuert die Bewegung des Roboters 3 gemäß einem Bewegungsbefehlswert, der auf einem Roboterprogramm basiert. Der Kompensationswertberechner 225 berechnet eine Bewegungstrajektorie des Roboters 3 basierend auf den zusammengesetzten Daten die vom Datengenerator 223 kombiniert werden. Der Kompensationswertberechner 225 berechnet dann einen Bewegungskompensationswert, so dass die Vibrationen des Roboters 3 reduziert werden. Die Bewegungstrajektorie des Roboters 3 wird mittels einer bekannten Technik berechnet. Beispielsweise wird eine Bewegungstrajektorie des Sensors 44 bestimmt, indem die in den zusammengesetzten Daten enthaltenen Beschleunigungsdaten zweimal integriert werden. Die Bewegungstrajektorie des Sensors 44 wird dann vom Sensorkoordinatensystem in das Werkzeugkoordinatensystem transformiert, wodurch die Bewegungstrajektorie von Roboter 3 berechnet werden kann.
  • Die Lernsteuerung 226 führt Lernsteuerung durch, so dass der berechnete Bewegungskompensationswert auf die nächste Bewegungssteuerung angewendet wird, die für den Roboter 3 gemäß demselben Bewegungsbefehlswert durchgeführt wird. Durch Wiederholung dieser Lernsteuerung reduziert die Lernsteuerung 226 die am Endeffektor 33 des Roboters 3 erzeugten Vibrationen.
  • 4 ist ein Flussdiagramm, das die Verarbeitung darstellt, die von der Robotersteuerungsvorrichtung 2 durchgeführt wird. In Schritt S1 steuert die Bewegungssteuerung 224 die Bewegung des Roboters 3 gemäß eines Bewegungsbefehlswertes, der auf einem Roboterprogramm basiert, und die Sensoren 44 der Endgeräte 4 detektieren jeweils eine Beschleunigung, die auf der Vibration des Roboters 3 basiert. Die Endgeräte 4 übermitteln die von den Sensoren 44 detektierten Sensordaten über die Kommunikationseinheiten 41 an die Robotersteuerungsvorrichtung 2.
  • In Schritt S2 transformiert der Koordinatentransformator 221 die von der Kommunikationseinheit 21 empfangenen Sensordaten von dem Sensorkoordinatensystem, das auf der Oberfläche des Flansches 32 des Roboters 3 als Koordinatenreferenz basiert, in das Werkzeugkoordinatensystem, das auf dem distalen Ende des Roboters 3 als Koordinatenreferenz basiert.
  • In Schritt S3 interpoliert der Interpolator 222 die Vielzahl von Sensordatensätzen, die der Koordinatentransformation unterworfen wurden, durch lineare Interpolation, Spline-Interpolation oder ähnliches. In Schritt S4 erzeugt der Datengenerator 223 zusammengesetzte Daten mit feinen Abtastintervallen basierend auf der Vielzahl von Interpolationsdatensätzen, die durch den Interpolator 222 interpoliert wurden.
  • In Schritt S5 berechnet der Kompensationswertberechner 225 eine Bewegungstrajektorie des Roboters 3 basierend auf den zusammengesetzten Daten, die vom Datengenerator 223 kombinierten werden. Der Kompensationswertberechner 225 berechnet einen Bewegungskompensationswert, so dass die Vibration des Roboters 3 reduziert wird. In Schritt S6 führt die Lernsteuerung 226 eine Lernsteuerung durch, so dass der berechnete Bewegungskompensationswert auf die nächste Bewegungssteuerung angewendet wird, die für den Roboter 3 gemäß demselben Bewegungsbefehlswert durchgeführt werden soll.
  • Gemäß der vorliegenden Ausführungsform umfasst das Steuerungssystem 1 die Sensoren 44, die jeweils eine Beschleunigung detektieren, die auf der Vibration des Roboters 3 basiert, den Interpolator 222, der die Vielzahl von Sensordatensätzen interpoliert, die von den Sensoren 44 detektiert werden, und den Datengenerator 223, der zusammengesetzte Daten mit feinen Abtastintervallen erzeugt, die auf der Vielzahl von Interpolationsdatensätzen basieren, die vom Interpolator 222 interpoliert werden.
  • Dieses Merkmal ermöglicht es dem Steuerungssystem 1, mit Hilfe der Sensoren 44 der Endgeräte 4 zusammengesetzte Daten mit feinen Abtastintervallen zu erzeugen, obwohl die Sensoren 44 typischerweise Daten mit spärlichen Abtastintervallen ausgeben. Somit kann das Steuerungssystem 1 die Bewegung des Roboters 3 mit hoher Genauigkeit steuern, indem es die zusammengesetzten Daten mit feinen Abtastintervallen verwendet.
  • Das Steuerungssystem 1 enthält ferner den Kompensationswertberechner 225, der eine Bewegungstrajektorie des Roboters 3 aus den zusammengesetzten Daten berechnet und einen Bewegungskompensationswert für den Roboter 3 berechnet, so dass die Vibrationen des Roboters 3 reduziert werden. Dieses Merkmal ermöglicht es dem Steuerungssystem 1, den Bewegungskompensationswert für den Roboter 3 in geeigneter Weise zu berechnen.
  • Das Steuerungssystem 1 umfasst ferner die Lernsteuerung 226, die Lernsteuerung durchführt, so dass der vom Kompensationswertberechner 225 berechnete Bewegungskompensationswert auf die am Roboter 3 durchzuführende Bewegungssteuerung angewendet wird. Dieses Merkmal ermöglicht es dem Steuerungssystem 1, in geeigneter Weise Lernsteuerung für den Roboter 3 durchzuführen.
  • Der Datengenerator 223 kombiniert die Vielzahl von Interpolationsdatensätzen und mittelt die zusammengesetzten Daten, die sich aus der Kombination der Vielzahl von Interpolationsdatensätzen ergeben. Dieses Merkmal ermöglicht es dem Steuerungssystem 1 die zusammengesetzten Daten zu erfassen, die zur Berechnung des Bewegungskompensationswerts geeignet sind.
  • Darüber hinaus berechnet der Datengenerator 223 einen Korrelationskoeffizienten basierend auf der Vielzahl von Interpolationsdatensätzen, kombiniert die Vielzahl von Interpolationsdatensätze basierend auf dem Korrelationskoeffizienten und mittelt die zusammengesetzten Daten, die sich aus der Kombination der Vielzahl von Interpolationsdatensätzen ergeben. Dieses Merkmal ermöglicht es dem Steuerungssystem 1, die zusammengesetzten Daten zu erfassen, die zur Berechnung des Bewegungskompensationswertes geeignet sind.
  • Außerdem synchronisiert der Datengenerator 223 die Vielzahl von Interpolationsdatensätzen zeitlich und erzeugt die zusammengesetzten Daten basierend auf der Grundlage der Vielzahl von zeitsynchronisierten Interpolationsdatensätze. Dieses Merkmal ermöglicht es dem Steuerungssystem 1 die zusammengesetzten Daten zu erfassen, die zur Berechnung des Bewegungskompensationswertes geeignet sind.
  • Das Steuerungssystem 1 umfasst ferner die Endgeräte 4, die die Sensoren 44 aufweisen und am Roboter 3 angebracht sind, und den Koordinatentransformator 221, der die Sensordaten vom Sensorkoordinatensystem, das auf der Flanschfläche des Roboters 3 als Koordinatenreferenz basiert, in das Werkzeugkoordinatensystem transformiert, das auf dem distalen Ende des Roboters 3 als Koordinatenreferenz basiert. Dieses Merkmal ermöglicht es dem Steuerungssystem 1, mit Hilfe der Sensoren 44 der Vielzahl von Endgeräten 4 (Endgeräte 4a und 4b) zusammengesetzte Daten mit feinen Abtastintervallen zu erzeugen.
  • Es sei darauf hingewiesen, dass die oben beschriebene Ausführungsform nicht dazu gedacht ist die vorliegende Erfindung einzuschränken. In der oben beschriebenen Ausführungsform sind die meisten vorteilhaften Wirkungen die von der vorliegenden Erfindung ausgeübt werden lediglich offengelegt, und die Wirkungen der vorliegenden Erfindung sind nicht auf die oben beschriebenen eingeschränkt.
  • Bezugszeichenliste
  • 1
    Steuerungssystem
    2
    Robotersteuerungsvorrichtung
    3
    Roboter
    4
    Endgerät
    21
    Kommunikationseinheit
    22
    Steuerungseinheit
    23
    Speichereinheit
    41
    Kommunikationseinheit
    42
    Steuerungseinheit
    43
    Speichereinheit
    44
    Sensor
    221
    Koordinatentransformator
    222
    Interpolator
    223
    Datengenerator
    224
    Bewegungssteuerung
    225
    Kompensationswertberechner
    226
    Lernsteuerung
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2011167817 [0003]
    • JP 2012240142 [0003]

Claims (7)

  1. Steuerungssystem, welches Folgendes umfasst: einen Sensor, der eine Beschleunigung basierend auf einer Vibration eines Roboters detektiert; einen Interpolator, der eine Vielzahl von Sensordatensätzen interpoliert, die von dem Sensor detektiert werden; und einen Datengenerator, der zusammengesetzte Daten mit feinen Abtastintervallen basierend auf einer Vielzahl von Interpolationsdatensätzen erzeugt, die vom Interpolator interpoliert wurden.
  2. Steuerungssystem nach Anspruch 1, ferner Folgendes umfassend: einen Kompensationswertberechner, der eine Bewegungstrajektorie des Roboters aus den zusammengesetzten Daten berechnet und der einen Bewegungskompensationswert für den Roboter berechnet, so dass die Vibration des Roboters reduziert wird.
  3. Steuerungssystem nach Anspruch 2, ferner Folgendes umfassend: eine Lernsteuerung, die Lernsteuerung so durchführt, dass der vom Kompensationswertberechner berechnete Bewegungskompensationswert auf Bewegungssteuerung angewendet wird, die auf dem Roboter durchgeführt werden soll.
  4. Steuerungssystem nach einem der Ansprüche 1 bis 3, wobei der Datengenerator die Vielzahl von Interpolationsdatensätzen kombiniert und die zusammengesetzten Daten mittelt, die aus der Kombination der Vielzahl von Interpolationsdatensätzen resultieren.
  5. Steuerungssystem nach Anspruch 4, wobei der Datengenerator einen Korrelationskoeffizienten basierend auf der Vielzahl von Interpolationsdatensätzen berechnet, die Vielzahl von Interpolationsdatensätzen basierend auf dem Korrelationskoeffizienten kombiniert und die zusammengesetzten Daten mittelt, die aus die Kombination der Vielzahl von Interpolationsdatensätzen resultieren.
  6. Steuerungssystem nach einem der Ansprüche 1 bis 5, wobei der Datengenerator die Vielzahl von Interpolationsdatensätzen zeitlich synchronisiert und die zusammengesetzten Daten basierend auf der Vielzahl der zeitlich synchronisierten Interpolationsdatensätzen erzeugt.
  7. Steuerungssystem nach einer der Ansprüche 1 bis 6, ferner Folgendes umfassend: eine Vielzahl von Endgeräten, die jeweils den Sensor aufweisen, wobei die Vielzahl von Endgeräten an dem Roboter angebracht ist; und einen Koordinatentransformator, der die Sensordaten von einem Sensorkoordinatensystem, das auf einer Flanschoberfläche des Roboters als Koordinatenreferenz basiert, in ein Werkzeugkoordinatensystem transformiert, das auf einem distalen Ende des Roboters als Koordinatenreferenz basiert.
DE112021000503.0T 2020-01-10 2021-01-06 Steuerungssystem Pending DE112021000503T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020-002976 2020-01-10
JP2020002976 2020-01-10
PCT/JP2021/000226 WO2021141049A1 (ja) 2020-01-10 2021-01-06 制御システム

Publications (1)

Publication Number Publication Date
DE112021000503T5 true DE112021000503T5 (de) 2022-11-17

Family

ID=76788771

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000503.0T Pending DE112021000503T5 (de) 2020-01-10 2021-01-06 Steuerungssystem

Country Status (5)

Country Link
US (1) US20230033679A1 (de)
JP (1) JP7384933B2 (de)
CN (1) CN114929435A (de)
DE (1) DE112021000503T5 (de)
WO (1) WO2021141049A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011167817A (ja) 2010-02-19 2011-09-01 Fanuc Ltd 学習制御機能を備えたロボット
JP2012240142A (ja) 2011-05-17 2012-12-10 Fanuc Ltd 学習制御機能を備えたスポット溶接ロボット

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324733A (ja) * 1993-05-12 1994-11-25 Fanuc Ltd センサ付きロボットの制御方法及び装置
JPH07164358A (ja) * 1993-12-16 1995-06-27 Meidensha Corp ロボット制御装置
EP1803536A1 (de) 2004-08-25 2007-07-04 Kabushiki Kaisha Yaskawa Denki Roboterbewertungssystem und -bewertungsverfahren
CN102510793B (zh) * 2010-06-04 2015-01-28 中国科学院自动化研究所 加速度连续的机器人轨迹生成系统和方法
JP6017213B2 (ja) 2012-07-20 2016-10-26 株式会社神戸製鋼所 光学式センサ付きロボットのキャリブレーション方法
JP2014030857A (ja) * 2012-08-01 2014-02-20 Seiko Epson Corp ロボット及び搬送装置
JP5815664B2 (ja) * 2013-12-26 2015-11-17 ファナック株式会社 無線加速度センサを有するロボットシステム
JP2017196704A (ja) 2016-04-28 2017-11-02 セイコーエプソン株式会社 可動部の振動測定方法、ロボットの振動測定方法および制御装置
JP6400750B2 (ja) * 2017-01-26 2018-10-03 ファナック株式会社 学習制御機能を備えた制御システム及び制御方法
JP6814441B2 (ja) 2017-08-31 2021-01-20 株式会社神戸製鋼所 駆動機械の学習制御装置及び学習制御方法
CN109543703B (zh) * 2017-09-22 2023-06-23 华为技术有限公司 传感器数据处理的方法及装置
JP6748126B2 (ja) * 2018-02-08 2020-08-26 ファナック株式会社 作業ロボットシステム
JP6836544B2 (ja) * 2018-05-09 2021-03-03 ファナック株式会社 制御システムおよび被駆動体の制御方法
DK180673B1 (en) * 2019-12-29 2021-11-25 Universal Robots As Method of obtaining vibrational properties of robot arm

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011167817A (ja) 2010-02-19 2011-09-01 Fanuc Ltd 学習制御機能を備えたロボット
JP2012240142A (ja) 2011-05-17 2012-12-10 Fanuc Ltd 学習制御機能を備えたスポット溶接ロボット

Also Published As

Publication number Publication date
JPWO2021141049A1 (de) 2021-07-15
JP7384933B2 (ja) 2023-11-21
WO2021141049A1 (ja) 2021-07-15
CN114929435A (zh) 2022-08-19
US20230033679A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
DE102018001026B4 (de) Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren
DE102018000445B4 (de) Steuersystem mit Lernsteuerfunktionen und Steuerverfahren
DE112013003209B4 (de) Robotersteuerungsvorrichtung und Robotersteuerungsverfahren
DE102017000063B4 (de) Robotereinrichtung mit Lernfunktion
DE102012104194B4 (de) Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
DE102010032840B4 (de) Vorrichtung und Verfahren zum Messen der Position eines Werkzeugmittelpunktes eines Roboters
DE102016000105B4 (de) Simulationsvorrichtung für robotersystem
EP2146825B1 (de) Bewegungssteuerung für elastische roboterstrukturen
DE69103871T2 (de) Eichsystem für einen optischen sensor.
DE102016012065B4 (de) Robotersystem mit Funktion zum Berechnen von Position und Ausrichtung eines Sensors
DE102016220097B4 (de) Bestimmung einer Position eines beweglichen Teils eines Koordinatenmessgerätes
DE102018213398B4 (de) Robotersystem
DE102018200240B4 (de) Robotersteuerungsvorrichtung
DE102015002192A1 (de) Maschinensystem umfassend einen kabellosen Sensor
DE3344633A1 (de) Verfahren und vorrichtung zur steuerung eines roboters
DE112018003507T5 (de) Verfahren zur Erkennung von Drehgeber-Anomalien
DE102020110252A1 (de) Vibrationsanzeigeeinrichtung, Betriebsprogrammerstellungseinrichtung und System
DE102011007083B4 (de) Verfahren zum Steuern des Positionierens eines Aktuators mit einem Wellgetriebe
DE102018133349A1 (de) Verfahren und Vorrichtung zur Momentschätzung
DE19529574A1 (de) Koordinatenmeßgerät mit einer Steuerung, die den Tastkopf des Meßgeräts nach Solldaten verfährt
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
DE102021103726A1 (de) Messparameter-Optimierungsverfahren und -Vorrichtung sowie Computersteuerprogramm
DE112019006604T5 (de) Steuervorrichtung und steuerverfahren
DE102015007194A1 (de) Servosteuerung mit veringerter Ablenkung des vorderen Endpunktes einer Maschine
DE102018103474A1 (de) Ein system und verfahren zur objektabstandserkennung und positionierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed