DE102017009940A1 - Robotersteuervorrichtung mit Lernsteuerfunktion - Google Patents

Robotersteuervorrichtung mit Lernsteuerfunktion Download PDF

Info

Publication number
DE102017009940A1
DE102017009940A1 DE102017009940.5A DE102017009940A DE102017009940A1 DE 102017009940 A1 DE102017009940 A1 DE 102017009940A1 DE 102017009940 A DE102017009940 A DE 102017009940A DE 102017009940 A1 DE102017009940 A1 DE 102017009940A1
Authority
DE
Germany
Prior art keywords
robot
speed
learning
correction amount
mechanism part
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.)
Granted
Application number
DE102017009940.5A
Other languages
English (en)
Other versions
DE102017009940B4 (de
Inventor
Kaimeng Wang
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 DE102017009940A1 publication Critical patent/DE102017009940A1/de
Application granted granted Critical
Publication of DE102017009940B4 publication Critical patent/DE102017009940B4/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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • 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
    • 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Eine Robotersteuervorrichtung umfasst eine Lernsteuereinheit zum Berechnen eines Lernkorrekturbetrags, eine Positionsspeichereinheit zum Speichern einer Position eines Vorderendes eines Robotermechanismusteils während der Lernsteuerung und eine Geschwindigkeitsspeichereinheit zum Speichern einer Geschwindigkeit des Vorderendes des Robotermechanismusteils während der Lernsteuerung. Die Robotersteuervorrichtung bestimmt bei einem Betrieb des Robotermechanismusteils durch einen Positionsbefehl nach der Lernsteuerung basierend auf während der Lernsteuerung gespeicherten Fehlern bezüglich der Position und Geschwindigkeit des Vorderendes, ob sich die Position und Geschwindigkeit des Vorderendes in einem anormalen Zustand befinden. Die Robotersteuervorrichtung schaltet gemäß diesem Bestimmungsergebnis auf eine Bestimmung um, ob der Lernkorrekturbetrag angewandt wird.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Robotersteuervorrichtung, die eine Lernsteuerfunktion aufweist.
  • Beschreibung des zugehörigen Standes der Technik
  • Gemäß dem zugehörigen Stand der Technik werden im Allgemeinen eine Positionsrückkopplungsregelung, Geschwindigkeitsrückkopplungsregelung und Stromrückkopplungsregelung durchgeführt, um eine Position und eine Geschwindigkeit eines angetriebenen Bauteils zu steuern, das durch einen Servomotor angetrieben wird. Jedoch selbst wenn solche Rückkopplungsregelungen durchgeführt werden, tritt, wenn die Steifigkeit des angetriebenen Bauteils gering ist und das angetriebene Bauteil mit hoher Beschleunigung betrieben wird, eine Positionsverschiebung des angetriebenen Bauteils auf, so dass die Positionsgenauigkeit des angetriebenen Bauteils in manchen Fällen nicht stabil ist. Dementsprechend wird gemäß dem zugehörigen Stand der Technik vorgeschlagen, eine Lernsteuerung durchzuführen, um die Positionsgenauigkeit des angetriebenen Bauteils zu erhöhen.
  • In der ungeprüften japanischen Patenveröffentlichung Nr. 2006-172149 A wird beispielsweise offenbart, dass, bei einem Werkzeugmaschinenhauptkörper, der ein angetriebenes Bauteil, an dem ein Werkstück befestigt wird und das durch einen Servomotor angetrieben wird, und ein Befestigungsteil umfasst, an dem ein Werkzeug zum Bearbeiten des Werkstücks befestigt wird, die Lernsteuerung durchgeführt wird, während ein Beschleunigungssensor an einem vorderen Endpunkt des Befestigungsteils angebracht ist.
  • Die Lernsteuerung ist ein Verfahren zum Bestimmen eines Lernkorrekturbetrages, der bewirkt, dass eine Positionsabweichung, die eine Differenz zwischen einem Positionsbefehlswert und einem Positionsrückkopplungswert darstellt, in Bezug auf einen Befehl, durch den Arbeitsgänge desselben Musters in einem vorgegebenen Zeitraum wiederholt werden, nahezu gegen null konvergiert.
  • Genauer gesagt wird eine Differenz zwischen dem Positionsbefehlswert, der zur Steuerung des Servomotors in eine Steuerschaltung eingegeben wird, und dem Positionsrückkopplungswert, der von einem Positionsdetektor zum Erfassen einer Position des angetriebenen Bauteils ausgegeben wird, (nachstehend als erste Positionsabweichung bezeichnet) immer dann erhalten, wenn der Positionsbefehl eingegeben wird. Zu dieser Zeit wird durch zweifaches Integrieren eines Beschleunigungswerts, der durch den am vorderen Endpunkt des Befestigungsteils angebrachten Sensor erfasst wird, auch ein Positionsverschiebungsbetrag (Verlagerungsbetrag) des vorderen Endpunkts des Befestigungsbauteils erhalten. Dieser Positionsverschiebungsbetrag wird zu der vorstehend beschriebenen ersten Positionsabweichung addiert, wodurch in Bezug auf die angewiesene Position ein Positionsfehler des vorderen Endpunkts des Befestigungsteils (nachstehend als zweite Positionsabweichung bezeichnet) berechnet wird. Wenn die wie vorstehend beschrieben berechnete zweite Positionsabweichung gegen null konvergiert, stimmt die Position des vorderen Endpunkts des Befestigungsteils mit der Position des Positionsbefehls überein. Folglich wird der Korrekturbetrag, der bewirkt, dass die zweite Positionsabweichung gegen null konvergiert (nachstehend als Lernkorrekturbetrag bezeichnet) berechnet.
  • Durch Wiederholen einer Reihe der vorstehend beschriebenen Vorgänge für eine vorgegebene Anzahl von Versuchen in Antwort auf denselben Bewegungsbefehl wird der vorstehend beschriebene Lernkorrekturbetrag aktualisiert, bis die zweite Positionsabweichung gegen einen Wert konvergiert, der nicht größer als ein vorgegebener Schwellenwert von nahe null ist, wodurch der beste Wert des Lernkorrekturbetrags erhalten werden kann. Der beste Wert des Lernkorrekturbetrags wird in einem Speicher einer Steuereinrichtung gespeichert. Das vorstehend beschriebene Steuerverfahren wird als „Lernsteuerung“ bezeichnet.
  • Nach Beendigung der Lernsteuerung wird der Beschleunigungssensor vom vorderen Endpunkt des Befestigungsteils abgenommen. Bei einer regulären Steuerung nach der Lernsteuerung wird die Steuerung durch denselben Bewegungsbefehl wie während der Lernsteuerung durchgeführt und der beste Wert des vorstehend beschriebenen Lernkorrekturbetrags auf die erste Positionsabweichung angewandt.
  • In der ungeprüften japanischen Patentveröffentlichung Nr. 2006-172149 A wird offenbart, dass, während der Lernsteuerung unter Verwendung eines mechanischen Modells ohne Anbringung des Beschleunigungssensors am vorderen Endpunkt des Befestigungsteils in Bezug auf die angewiesene Position ein Positionsfehler des vorderen Endpunkts des Befestigungsteils geschätzt wird.
  • Ferner offenbart die ungeprüfte japanische Patentveröffentlichung Nr. 2009-83074 A eine Steuervorrichtung für eine Werkzeugmaschine, die eine Lernsteuereinheit umfasst, die dafür konfiguriert ist, einen Positionskorrekturbetrag zum Reduzieren einer Positionsabweichung zu berechnen, die eine Differenz zwischen einem Positionsbefehlswert und einem Positionsrückkopplungswert darstellt, um eine Schwankung der Drehantriebskraft eines Servomotors zum Drehen der Werkstücke zu unterbinden.
  • Zusammenfassung der Erfindung
  • Wie vorstehend beschrieben, wurde eine praktische Anwendung der auf die Lernsteuerung bezogenen Techniken auf dem Gebiet von Werkzeugmaschinen entwickelt. Auch bei einem Industrieroboter vergrößern sich, wenn das Gewicht eines an einem Vorderende eines Arms angebrachten Werkzeugs höher oder die Steifigkeit des Arms geringer ist, Vibrationen und Schwingungen, die während des Betriebs an dem am Vorderende des Arms angebrachten Werkzeug erzeugt werden, wodurch sich die Positionsgenauigkeit des Werkzeugs verschlechtert. Folglich wird eine Anwendung der Lernsteuerung auch auf den Betrieb des Roboters in Betracht gezogen. Wenn eine Bearbeitung gleichen Musters mehrmals durch einen Roboter durchgeführt wird, ist die Lernsteuerung besonders effektiv.
  • Es existiert jedoch ein Fall, in dem sich eine bei der Werkzeugmaschine verwendete Lernsteuertechnik nicht ohne Modifikation auf die Steuerung des Roboters anwenden lässt.
  • Mit anderen Worten, die Lernsteuerung ist ein Verfahren, das auf der Annahme beruht, dass Bewegungsbefehle gleichen Musters in einem vorgegebenen Zeitraum eine vorgegebene Anzahl an Malen mehrfach in eine Motorsteuerschaltung eingegeben werden. Bei einer Werkzeugmaschine ist es sinnvoll, die Lernsteuerung durchzuführen, da sich eine Trajektorie und eine Geschwindigkeit eines Bewegungstreibers, an dem ein Werkstück angebracht ist, zwischen der Lernsteuerzeit und der tatsächlichen Betriebszeit nicht wesentlich unterscheiden. Bei einem Industrieroboter hingegen, ändert sich ein Bewegungsmuster des Werkzeugs des Roboters während des Betriebs des Roboters in vielen Fällen abhängig von Peripheriegeräten in einer Fertigungsstraße. Es gibt beispielsweise den Fall, in dem während des Betriebs des Roboters das Werkzeug in eine Bereitschaftsposition bewegt werden muss, um auf die Eingabe eines externen Signals zu warten, oder das Bewegungsmuster des Werkzeugs geändert wird, damit der Roboter einen anderen Betrieb durchführt. Darüber hinaus existiert der Fall, in dem ein Benutzer den Roboter mit einem Handprogrammiergerät betreibt, um den Roboter bezüglich des Bewegungsmusters des Werkzeugs anzuweisen oder das Bewegungsmuster des Werkzeugs zu modifizieren. Aufgrund der vorstehend beschriebenen Faktoren wird das Werkzeug des Roboters beim tatsächlichen Betrieb des Roboters nach der Lernsteuerung nicht ganz auf derselben Trajektorie oder mit derselben Geschwindigkeit wie während der Lernsteuerung bewegt. Wenn, wie vorstehend beschrieben, der durch die Lernsteuerung erhaltene Lernkorrekturbetrag mit der Trajektorie oder Geschwindigkeit, die sich von der während der Lernsteuerung unterscheidet, auf den Betrieb des Roboters angewandt wird, können die Vibrationen des Werkzeugs nicht konvergieren und die Vibrationen können im Gegenteil sogar divergieren. Deswegen wird die Lernsteuertechnik in der Realität kaum bei Industrierobotern verwendet.
  • In Anbetracht der vorstehenden Probleme besteht ein Ziel der Erfindung darin, eine Robotersteuervorrichtung bereitzustellen, die dazu fähig ist, einen Roboterbetrieb mit hoher Genauigkeit zu erreichen, indem Vibrationen oder Schwingungen, die an einem Vorderende eines Robotermechanismusteils erzeugt werden können, effizient unterbunden werden.
  • Zum Erreichen des vorstehenden Ziels wird gemäß einem Aspekt der Erfindung eine Robotersteuervorrichtung bereitgestellt, die dafür konfiguriert ist, den Betrieb eines durch einen Servomotor angetriebenen Robotermechanismusteils zu steuern. Die Robotersteuervorrichtung umfasst eine Lernsteuereinheit, die dafür konfiguriert ist, die Lernsteuerung durchzuführen, um einen Lernkorrekturbetrag zum Korrigieren einer Position eines Vorderendes des Robotermechanismusteils bei einem Betrieb des Robotermechanismusteils durch einen Positionsbefehl zu berechnen. Die Robotersteuervorrichtung umfasst eine Positionsspeichereinheit, die dafür konfiguriert ist, während des Durchführens der Lernsteuerung die Position des Vorderendes des Robotermechanismusteils in einer vorgegebenen Zeitspanne zu speichern, und eine Geschwindigkeitsspeichereinheit, die dafür konfiguriert ist, während des Durchführens der Lernsteuerung eine Geschwindigkeit des Vorderendes des Robotermechanismusteils in einer vorgegebenen Zeitspanne zu speichern. Die Robotersteuervorrichtung umfasst eine Positionsfehlerberechnungseinheit, die dafür konfiguriert ist, bei einem Betrieb des Robotermechanismusteils durch den Positionsbefehl nach der Lernsteuerung einen Positionsfehler zwischen einer in einer vorgegebenen Zeitspanne erhaltenen tatsächlichen Position des Vorderendes und der Position des Vorderendes zu berechnen, die der tatsächlichen Position entspricht und in der Positionsspeichereinheit gespeichert ist. Die Robotersteuervorrichtung umfasst eine Geschwindigkeitsfehlerberechnungseinheit, die dafür konfiguriert ist, bei einem Betrieb des Robotermechanismusteils durch den Positionsbefehl nach der Lernsteuerung einen Geschwindigkeitsfehler zwischen einer in der vorgegebenen Zeitspanne erhaltenen tatsächlichen Geschwindigkeit des Vorderendes und der Geschwindigkeit des Vorderendes zu berechnen, die der tatsächlichen Geschwindigkeit entspricht und in der Geschwindigkeitsspeichereinheit gespeichert ist. Die Robotersteuervorrichtung umfasst eine Lernkorrekturbetragsanwendungsbestimmungseinheit, die dafür konfiguriert ist, bei einem Betrieb des Robotermechanismusteils durch den Positionsbefehl nach der Lernsteuerung basierend auf dem Positionsfehler und dem Geschwindigkeitsfehler zu bestimmen, ob sich die Position und die Geschwindigkeit des Vorderendes in einem anormalen Zustand oder in einem normalen Zustand befinden, und dann gemäß diesem Bestimmungsergebnis auf eine Bestimmung umzuschalten, ob der Lernkorrekturbetrag auf die Position des Vorderendes angewandt wird.
  • Ferner wird gemäß einem anderen Aspekt der Erfindung eine Robotersteuervorrichtung bereitgestellt, wobei bei der Robotersteuervorrichtung gemäß dem vorstehend beschriebenen Aspekt die Lernkorrekturbetragsanwendungsbestimmungseinheit dafür konfiguriert ist, zu bestimmen, dass sich die Position oder die Geschwindigkeit des Vorderendes im anormalen Zustand befindet, wenn der Positionsfehler einen vorgegebenen ersten Schwellenwert übersteigt oder der Geschwindigkeitsfehler einen vorgegebenen zweiten Schwellenwert übersteigt, und den Lernkorrekturbetrag nicht anzuwenden.
  • Gemäß einem anderen Aspekt der Erfindung wird eine Robotersteuervorrichtung bereitgestellt, wobei bei der Robotersteuervorrichtung gemäß dem vorstehend beschriebenen Aspekt die Lernkorrekturbetragsanwendungsbestimmungseinheit dafür konfiguriert ist, zu bestimmen, dass sich die Position und die Geschwindigkeit des Vorderendes im normalen Zustand befinden, wenn der Positionsfehler nicht größer als der vorgegebene erste Schwellenwert ist und der Geschwindigkeitsfehler nicht größer als der vorgegebene zweite Schwellenwert ist, und den Lernkorrekturbetrag anzuwenden.
  • Gemäß einem anderen Aspekt der Erfindung wird eine Robotersteuervorrichtung bereitgestellt, wobei bei der Robotersteuervorrichtung gemäß dem vorstehend beschriebenen Aspekt die Robotersteuervorrichtung ferner eine Geschwindigkeitsbefehlseinstelleinheit umfasst, die dafür konfiguriert ist, die Geschwindigkeit des Vorderendes auf eine Geschwindigkeit einzustellen, die nicht größer als eine vorgegebene Sicherheitsgeschwindigkeit ist, wenn durch die Lernkorrekturbetragsanwendungsbestimmungseinheit bestimmt wird, dass sich die Position oder die Geschwindigkeit des Vorderendes im anormalen Zustand befindet.
  • Gemäß einem anderen Aspekt der Erfindung wird eine Robotersteuervorrichtung bereitgestellt, wobei bei der Robotersteuervorrichtung gemäß dem vorstehend beschriebenen Aspekt die Lernsteuereinheit dafür konfiguriert ist, eine Mehrzahl Lernkorrekturbeträge zu speichern, die jeweils einer Mehrzahl unterschiedlicher auf das Robotermechanismusteil bezogener Arbeitsgänge entsprechen.
  • Gemäß einem anderen Aspekt der Erfindung wird eine Robotersteuervorrichtung bereitgestellt, wobei bei der Robotersteuervorrichtung gemäß dem vorstehend beschriebenen Aspekt die Lernkorrekturbetragsanwendungsbestimmungseinheit dafür konfiguriert ist, aus einer Mehrzahl der in der Lernsteuereinheit gespeicherten Lernkorrekturbeträge den Lernkorrekturbetrag anzuwenden, der dem Betrieb des im normalen Zustand befindlichen Robotermechanismusteils entspricht, wenn ein Bestimmungsergebnis bezüglich der Position oder Geschwindigkeit des Vorderendes in den normalen Zustand geschaltet wird.
  • Die vorstehend beschriebenen Ziele, Merkmale und Vorteile sowie andere Ziele, Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden Beschreibung der Ausführungsformen in Verbindung mit den beigefügten Zeichnungen genauer hervor.
  • Figurenliste
    • 1 ist ein Blockdiagramm zur Veranschaulichung einer Robotersteuervorrichtung gemäß einer Ausführungsform der Erfindung.
    • 2 ist eine Darstellung zur Veranschaulichung eines Hauptabschnitts eines Verfahrensablaufs der Robotersteuervorrichtung gemäß der Ausführungsform der Erfindung.
    • 3 ist eine Darstellung, in der die Vorgänge von Schritt S13 bis Schritt S14, die in 2 beschrieben sind, genauer veranschaulicht sind.
    • 4 ist eine Darstellung, in der die Vorgänge von Schritt S17 bis Schritt S18, die in 2 beschrieben sind, genauer veranschaulicht sind.
    • 5 ist eine Darstellung, die ein Beispiel zeigt, bei dem sich eine Positionstrajektorie eines Vorderendes eines Robotermechanismusteils beim Durchführen eines Roboterbetriebs durch eine Lernsteuerung von einer Positionstrajektorie des Vorderendes des Robotermechanismusteils beim tatsächlichen Durchführen des Roboterbetriebs nach der Lernsteuerung unterscheidet.
    • 6 ist eine Darstellung, die ein Beispiel eines Roboterbetriebsprogramms zeigt, das einen auf jedes einer Mehrzahl Bewegungsmuster bezogenen Abschnitt zum Durchführen der Lernsteuerung umfasst.
    • 7 ist eine Darstellung, die einen Verfahrensablauf zeigt, wenn ein Lernkorrekturbetrag basierend auf einer Indexnummer jedes der Roboterarbeitsgänge und einer aktuellen Position des Vorderendes des Robotermechanismusteils vorgegeben wird.
  • Genaue Beschreibung
  • Nachstehend sind Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Zeichnungen beschrieben. In den erwähnten Zeichnungen sind gleichen Komponentenabschnitten oder Funktionsabschnitten die gleichen Bezugszeichen zugeordnet. Die Maßstäbe der Zeichnungen wurden geeignet geändert, um das Verständnis der Zeichnungen zu erleichtern. Es wird darauf hingewiesen, dass in den Zeichnungen dargestellte Betriebsarten lediglich Beispiele zum Umsetzen der vorliegenden Erfindung darstellen und die vorliegende Erfindung nicht auf die in den Figuren dargestellten Betriebsarten beschränkt ist.
  • 1 ist ein Blockdiagramm zur Veranschaulichung einer Robotersteuervorrichtung 10 gemäß einer Ausführungsform der vorliegenden Erfindung. Die Robotersteuervorrichtung 10 gemäß der vorliegenden Ausführungsform ist eine Vorrichtung, die dafür konfiguriert ist, einen Roboter 100 zu steuern, der eine Mehrzahl Arme (nicht gezeigt) umfasst, die über durch einen Servomotor 11 angetriebene Gelenkwellen angelenkt ist. Der Roboter 100 ist beispielsweise ein vertikaler Knickarmroboter für den industriellen Gebrauch. Beispielsweise wird ein Bearbeitungswerkzeug, wie etwa eine Greifhand, ein Werkzeug oder eine Schweißpistole (nicht gezeigt), an einem Vorderende auf einer distalen Seite des Arms des Roboters 100 angebracht (nachstehend als Vorderende eines Robotermechanismusteils bezeichnet).
  • Wie in 1 gezeigt, ist ein Impulskodierer 12, z.B. ein Drehgeber, der dafür konfiguriert ist, eine Position FB (Positionsrückkopplungswert) und eine Geschwindigkeit FB (Geschwindigkeitsrückkopplungswert) zu erfassen, in den Servomotor 11 integriert. Die Robotersteuervorrichtung 10 umfasst eine Positionserfassungseinheit 13, die dafür konfiguriert ist, eine Position des Vorderendes des Robotermechanismusteils zu erfassen, und eine Geschwindigkeitserfassungseinheit 14, die dafür konfiguriert ist, eine Geschwindigkeit des Vorderendes des Robotermechanismusteils des Roboters 100 zu erfassen.
  • Die Positionserfassungseinheit 13 berechnet die Position des Vorderendes des Robotermechanismusteils durch Vorwärtsumwandeln der Position FB. Die Geschwindigkeitserfassungseinheit 14 berechnet die Geschwindigkeit durch Differenzieren der durch die Positionserfassungseinheit 13 berechneten Position des Vorderendes.
  • Weiter Bezug nehmend auf 1 umfasst die Robotersteuervorrichtung 10 eine Betätigungsbefehlseinheit 15, eine Positionssteuereinheit 16, eine Geschwindigkeitssteuereinheit 17, eine Stromsteuereinheit 18 und einen Verstärker 19 als grundlegende Komponenten zum Steuern des Servomotors 11.
  • Die Betätigungsbefehlseinheit 15 gibt gemäß einem vorab erstellten Roboterbetriebsprogramm oder einem Betriebsbefehl von einem Handprogrammiergerät (nicht gezeigt) einen Befehl zum Betrieb des Roboters (Positionsbefehlswert) an die Positionssteuereinheit 16 aus. Das Roboterbetriebsprogramm ist in einem Speicher, wie etwa einem ROM, in der Robotersteuervorrichtung 10 gespeichert.
  • Die Positionssteuereinheit 16 verarbeitet einen Positionsabweichungsbetrag, der eine Differenz zwischen dem von der Betätigungsbefehlseinheit 15 ausgegebenen Positionsbefehlswert und der durch den Impulskodierer 12 erfassten Position FB darstellt, und gibt einen Geschwindigkeitsbefehlswert an die Geschwindigkeitssteuereinheit 17 aus.
  • Die Geschwindigkeitssteuereinheit 17 verarbeitet einen Geschwindigkeitsabweichungsbetrag, der eine Differenz zwischen dem von der Positionssteuereinheit 16 ausgegebenen Geschwindigkeitsbefehlswert und der durch den Impulskodierer 12 erfassten Geschwindigkeit FB darstellt, und gibt einen Strombefehlswert an die Stromsteuereinheit 18 aus.
  • Die Stromsteuereinheit 18 verarbeitet einen Stromabweichungsbetrag, der eine Differenz zwischen dem von der Geschwindigkeitssteuereinheit 17 ausgegebenen Strombefehlswert und einem Strom FB (d.h. einem Stromrückkopplungswert) vom Verstärker 19 darstellt, und gibt einen Strombefehlswert (Drehmomentbefehlswert) an den Verstärker 19 aus.
  • Der Verstärker 19 empfängt jeden Strombefehlswert von der Stromsteuereinheit 18 und erzeugt einen Antriebsstrom zum Antreiben des Servomotors 11 basierend auf dem empfangenen Strombefehlswert, um den Servomotor 11 drehend anzutreiben.
  • Wenn die Servomotoren 11, die an die Gelenkwellen des Roboters 100 angelenkt sind, gemäß dem Positionsbefehlswert von der Betätigungsbefehlseinheit 15 drehend angetrieben werden, bewegt sich das am Vorderendes des Robotermechanismusteils des Roboters 100 angebrachte Bearbeitungswerkzeug zu einer Position, die durch den Befehl vorgegeben wird.
  • Ferner umfasst die Robotersteuervorrichtung 10 der vorliegenden Ausführungsform, wie in 1 gezeigt, eine Lernsteuereinheit 20, eine Positionsspeichereinheit 21, eine Geschwindigkeitsspeichereinheit 22, eine Positionsfehlerberechnungseinheit 23, eine Geschwindigkeitsfehlerberechnungseinheit 24, eine Lernkorrekturbetragsanwendungsbestimmungseinheit 25 und eine Geschwindigkeitsbefehlseinstelleinheit 26. Nachstehend sind die Funktionen der Komponenten genauer beschrieben.
  • Die Lernsteuereinheit 20 ist, wie in der Rubrik ‚Hintergrund der Erfindung‘ beschrieben, ein Funktionsabschnitt, der dafür konfiguriert ist, eine sogenannte „Lernsteuerung“ durchzuführen. Das bedeutet, die Lernsteuereinheit 20 ist dafür konfiguriert, die Lernsteuerung zum Berechnen des Lernkorrekturbetrags durchzuführen, um die Position des Vorderendes des Robotermechanismusteils zu korrigieren, wenn das Robotermechanismusteil durch den Positionsbefehl betrieben wird.
  • Genauer gesagt ist die Lernsteuereinheit 20 dafür konfiguriert, einen Lernkorrekturbetrag zu erhalten, der bewirkt, dass ein Positionsabweichungsbetrag, der eine Differenz zwischen dem von der Betätigungsbefehlseinheit 15 ausgegebenen Positionsbefehlswert und einer Position darstellt, die durch einen am Vorderende des Robotermechanismusteils des Roboters 100 angebrachten Sensor 30 erfasst wird, nahezu gegen null konvergiert. Hierbei kann eine beliebige Vorrichtung, die die Position oder Verschiebung des Vorderendes des Robotermechanismusteils des Roboters 100 überwacht, als Sensor 30 verwendet werden. Für die vorstehend genannte Vorrichtung kann beispielsweise eine Vorrichtung verwendet werden, die dazu fähig ist, eine Position oder Verschiebung zu messen, wie etwa ein Beschleunigungssensor, ein Gyrosensor, ein Trägheitssensor, ein Lasertracker, eine Kamera oder eine Bewegungsaufnahmeeinrichtung. Obgleich die durch den Sensor 30 erfasste Position des Vorderendes des Robotermechanismusteils beim Erhalten des Lernkorrekturbetrags verwendet wird, wird der Sensor 30 nach Beendigung der Lernsteuerung vom Vorderende des Robotermechanismusteils abgenommen. Darüber hinaus ist die Lernsteuereinheit 20 dafür konfiguriert, in Bezug auf denselben Betätigungsbefehl, der in einem vorgegebenen Zeitraum eine vorgegebene Anzahl von Malen wiederholt wird, den besten Wert zu bestimmen, wobei der Lernkorrekturbetrag immer dann aktualisiert wird, wenn der Befehl wiederholt wird. Da eine spezifische Konfiguration der Lernsteuereinheit 20 derjenigen bekannter Vorrichtungen entspricht, wie etwa der Vorrichtung, die in der ungeprüften japanischen Patentveröffentlichung Nr. 2006-172149 A beschrieben ist (siehe z.B. 2, 4 und 6), wurde hierin auf eine Beschreibung derselben verzichtet.
  • Die Lernsteuereinheit 20 der vorliegenden Ausführungsform umfasst einen Schalter 27, der an einem Ausgangsabschnitt bereitgestellt und dafür konfiguriert ist, ein Ausgabeziel des Lernkorrekturbetrags auf die Positionssteuereinheit 16 oder die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 umzuschalten.
  • Wenn der Roboterbetrieb durch die Lernsteuerung durchgeführt wird, wird der Schalter 27 so geschaltet, dass der Ausgang der Lernsteuereinheit 20 mit dem Eingang der Positionssteuereinheit 16 verbunden ist. Die Lernsteuereinheit 20 umfasst einen Speicher 20a, der dafür konfiguriert ist, die Lernkorrekturbeträge zu speichern, wobei der Lernkorrekturbetrag zu dessen Aktualisierung immer dann in den Speicher 20a geschrieben wird, wenn derselbe Betätigungsbefehl wiederholt wird.
  • Nach Beendigung der Lernsteuerung wird, wenn der Roboter 100 bei der Durchführung der Lernsteuerung tatsächlich durch den Betätigungsbefehl betrieben wurde, der Schalter 27 so geschaltet, dass der Ausgang der Lernsteuereinheit 20 mit dem Eingang der Lernkorrekturbetragsanwendungsbestimmungseinheit 25 verbunden ist (der in 1 dargestellte Zustand des Schalters 27). Durch Anwenden dieser Steuerung wird der im Speicher 20a gespeicherte Lernkorrekturbetrag über die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 an die Positionssteuereinheit 16 ausgegeben.
  • Die Positionsspeichereinheit 21 speichert die Positionen des Vorderendes des Robotermechanismusteils, die durch die Positionserfassungseinheit 13 in einer vorgegebenen Zeitspanne T während des Roboterbetriebs durch die Lernsteuerung erfasst werden. Nach Beendigung der Lernsteuerung werden Positionsdaten (Trajektoriedaten) des Vorderendes des Robotermechanismusteils während des Betriebs des Roboters durch die Lernsteuerung in der Positionsspeichereinheit 21 gespeichert.
  • Die Geschwindigkeitsspeichereinheit 22 speichert die Geschwindigkeiten des Vorderendes des Robotermechanismusteils, die durch die Geschwindigkeitserfassungseinheit 14 in der vorgegebenen Zeitspanne T während des Roboterbetriebs durch die Lernsteuerung erfasst werden. Nach Beendigung der Lernsteuerung werden Geschwindigkeitsdaten des Vorderendes des Robotermechanismusteils während des Betriebs des Roboters durch die Lernsteuerung in der Geschwindigkeitsspeichereinheit 22 gespeichert.
  • Für die Positionsspeichereinheit 21, die Geschwindigkeitsspeichereinheit 22, den Speicher 20a und dergleichen können eine Speichereinheit, wie etwa ein Direktzugriffsspeicher (RAM), eine Magnetspeichereinheit, wie etwa eine Festplatte, und dergleichen verwendet werden. Obgleich die Positionsspeichereinheit 21, die Geschwindigkeitsspeichereinheit 22 und der Speicher 20a, die in 1 gezeigt sind, separat bereitgestellt sind, können sie als unterschiedliche Speicherbereiche bereitgestellt werden, die einer einzelnen Speichereinheit zugeordnet sind.
  • Die Positionsfehlerberechnungseinheit 23 ist dafür konfiguriert, nach der Lernsteuerung tatsächliche Positionen des Vorderendes des Robotermechanismusteils in der vorgegebenen Zeitspanne T während des Betriebs des Roboters 100 durch den Betätigungsbefehl für die Lernsteuerung von der Positionserfassungseinheit 13 zu empfangen.
  • Ferner ist die Positionsfehlerberechnungseinheit 23 dafür konfiguriert, einen Fehler zwischen der tatsächlichen Position des Vorderendes des Robotermechanismusteils, die in der vorgegebenen Zeitspanne T von der Positionserfassungseinheit 13 empfangen wird, und der Position des Vorderendes des Robotermechanismusteils zu berechnen, die der tatsächlichen Position entspricht und in der Positionsspeichereinheit 21 gespeichert ist. Nachstehend ist dieser Fehler als Positionsfehler bezeichnet.
  • Die Geschwindigkeitsfehlerberechnungseinheit 24 ist dafür konfiguriert, nach der Lernsteuerung tatsächliche Geschwindigkeiten des Vorderendes des Robotermechanismusteils in der vorgegebenen Zeitspanne T während des Betriebs des Roboters 100 durch den Betätigungsbefehl für die Lernsteuerung von der Geschwindigkeitserfassungseinheit 14 zu empfangen.
  • Ferner ist die Geschwindigkeitsfehlerberechnungseinheit 24 dafür konfiguriert, einen Fehler zwischen der tatsächlichen Geschwindigkeit des Vorderendes des Robotermechanismusteils, die in der vorgegebenen Zeitspanne T von der Geschwindigkeitserfassungseinheit 14 empfangen wird, und der Geschwindigkeit des Vorderendes des Robotermechanismusteils zu berechnen, die der tatsächlichen Geschwindigkeit entspricht und in der Geschwindigkeitsspeichereinheit 22 gespeichert ist. Nachstehend ist dieser Fehler als Geschwindigkeitsfehler bezeichnet.
  • Es wird darauf hingewiesen, dass die in der Positionsspeichereinheit 21 gespeicherten Positionsdaten davor geschützt werden müssen, mit den Positionsdaten überschrieben zu werden, die während des Zeitraums, in dem der Roboter 100 nach der Lernsteuerung tatsächlich betrieben wird, von der Positionserfassungseinheit 13 ausgegeben werden. Ferner müssen die in der Geschwindigkeitsspeichereinheit 22 gespeicherten Geschwindigkeitsdaten davor geschützt werden, mit den Geschwindigkeitsdaten überschrieben zu werden, die während des Zeitraums, in dem der Roboter 100 nach der Lernsteuerung tatsächlich betrieben wird, von der Geschwindigkeitserfassungseinheit 14 ausgegeben werden.
  • Demgemäß ist der Ausgangsabschnitt der Positionserfassungseinheit 13 mit einem Schalter 28 verbunden, der dafür konfiguriert ist, während der Lernsteuerung ein Ausgabeziel der Positionserfassungseinheit 13 auf die Positionsspeichereinheit 21 festzulegen und bei einem tatsächlichen Betrieb des Roboters 100 nach der Lernsteuerung das Ausgabeziel der Positionserfassungseinheit 13 auf die Positionsfehlerberechnungseinheit 23 festzulegen. Der Ausgangsabschnitt der Geschwindigkeitserfassungseinheit 14 ist ebenfalls mit einem Schalter 29 verbunden, der dafür konfiguriert ist, während der Lernsteuerung ein Ausgabeziel der Geschwindigkeitserfassungseinheit 14 auf die Geschwindigkeitsspeichereinheit 22 festzulegen und bei einem tatsächlichen Betrieb des Roboters 100 nach der Lernsteuerung das Ausgabeziel der Geschwindigkeitserfassungseinheit 14 auf die Geschwindigkeitsfehlerberechnungseinheit 24 festzulegen. Während des tatsächlichen Betriebs des Roboters 100 nach der Lernsteuerung befinden sich der Schalter 28 und der Schalter 29 in dem in 1 dargestellten Zustand.
  • Der Schalter 27, der Schalter 28 und der Schalter 29, die vorstehend beschrieben sind, sind bevorzugt dafür konfiguriert, beispielsweise in Antwort auf eine Eingabe eines Lernsteuerstartsignals in die Robotersteuervorrichtung 10 oder eine Eingabe eines Normalbetriebsstartsignals geschaltet zu werden.
  • Die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 ist dafür konfiguriert, basierend auf dem Positionsfehler oder dem Geschwindigkeitsfehler, der durch die Positionsfehlerberechnungseinheit 23 bzw. die Geschwindigkeitsfehlerberechnungseinheit 24 berechnet wird, zu bestimmen, ob sich die Position oder Geschwindigkeit des Vorderendes des Robotermechanismusteils in einem anormalen Zustand oder einem normalen Zustand befindet.
  • In der vorliegenden Beschreibung ist mit „Anomalie“ ein Zustand gemeint, in dem die Position und die Geschwindigkeit des Vorderendes des Robotermechanismusteils während des tatsächlichen Betriebs des Roboters 100 nach der Lernsteuerung um einen vorgegebenen Schwellenwertbereich von der Position und der Geschwindigkeit des Robotermechanismusteils bei der Durchführung der Lernsteuerung abweichen. „Normalität“ ist ein Zustand, in dem keine „Anomalie“ vorliegt.
  • Außerdem ist die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 dafür konfiguriert, den im Speicher 20a der Lernsteuereinheit 20 gespeicherten Lernkorrekturbetrag nicht an die Positionssteuereinheit 16 auszugeben, wenn bestimmt wird, dass sich die Position und/oder die Geschwindigkeit des Vorderendes des Robotermechanismusteils im anormalen Zustand befinden. Genauer gesagt bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass der anormale Zustand erzeugt wird und wendet den Lernkorrekturbetrag nicht an, wenn der auf das Vorderende des Robotermechanismusteils bezogene Positionsfehler und/oder Geschwindigkeitsfehler einen vorgegebenen Schwellenwert übersteigt.
  • Ferner ist die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 dafür konfiguriert, den im Speicher 20a der Lernsteuereinheit 20 gespeicherten Lernkorrekturbetrag an die Positionssteuereinheit 16 auszugeben, wenn bestimmt wird, dass sich sowohl die Position als auch die Geschwindigkeit des Vorderendes des Robotermechanismusteils im normalen Zustand befinden. Genauer gesagt bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass kein anormaler Zustand erzeugt wird und wendet den Lernkorrekturbetrag an, wenn der Positionsfehler und der Geschwindigkeitsfehler, die auf das Vorderende des Robotermechanismusteils bezogen sind, nicht größer als die jeweiligen vorgegebenen Schwellenwerte sind.
  • Zusammenfassend bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, ob sich die Position und die Geschwindigkeit des Vorderendes des Robotermechanismusteils beim tatsächlichen Betrieb des Roboters 100 im Vergleich zu der Position und Geschwindigkeit während der Lernsteuerung im anormalen Zustand oder im normalen Zustand befinden. Im Falle des anormalen Zustands wendet die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 den Lernkorrekturbetrag nicht auf den vorstehend beschriebenen Positionsabweichungsbetrag an. Im Falle des normalen Zustands wendet die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 den Lernkorrekturbetrag auf den vorstehend beschriebenen Positionsabweichungsbetrag an.
  • Die vorstehend beschriebene Lernkorrekturbetragsanwendungsbestimmungseinheit 25 umfasst bevorzugt eine Einstelleinheit (nicht gezeigt), die dafür konfiguriert ist, den Schwellenwert festzulegen, der, wie vorstehend beschrieben, zum Bestimmen des Vorhandenseins oder Nichtvorhandenseins einer jeweils auf die Position und Geschwindigkeit des Vorderendes des Robotermechanismusteils bezogenen Anomalie verwendet wird. Die Einstelleinheit ist bevorzugt so ausgeführt, dass die vorstehenden Schwellenwerte durch eine externe Einrichtung der Robotersteuervorrichtung 10 umgeschrieben werden können.
  • Die Geschwindigkeitsbefehlseinstelleinheit 26 ist dafür konfiguriert, das Vorhandensein oder Nichtvorhandensein einer Anomalie von der Lernkorrekturbetragsanwendungsbestimmungseinheit 25 zu empfangen und die Geschwindigkeit des Vorderendes des Robotermechanismusteils im Falle eines Vorhandenseins einer Anomalie auf eine Geschwindigkeit einzustellen, die nicht größer als eine vorgegebene Sicherheitsgeschwindigkeit ist.
  • Genauer gesagt gibt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 ein Signal, das das Auftreten einer Anomalie angibt (nachstehend als Anomalieerfassungssignal bezeichnet), an die Geschwindigkeitsbefehlseinstelleinheit 26 aus, wenn bestimmt wird, dass sich die Position und die Geschwindigkeit des Vorderendes des Robotermechanismusteils im anormalen Zustand befinden. Die Geschwindigkeitsbefehlseinstelleinheit 26 verringert den Geschwindigkeitsbefehlswert von der Positionssteuereinheit 16 mit einer vorgegebenen Rate und gibt den verringerten Geschwindigkeitsbefehlswert nur bei Empfang des Anomalieerfassungssignals an die Geschwindigkeitssteuereinheit 17 aus. Durch Anwenden dieser Steuerung wird die Geschwindigkeit des Vorderendes des Robotermechanismusteils (Drehzahl des Servomotors 11) auf eine Geschwindigkeit verringert, die nicht größer als die vorgegebene Sicherheitsgeschwindigkeit ist. Wenn hingegen kein Anomalieerfassungssignal ausgegeben wird, wird die Einstellung zur Verringerung des Geschwindigkeitsbefehlswerts von der Positionssteuereinheit 16 nicht durchgeführt.
  • Die Robotersteuervorrichtung der vorliegenden Erfindung umfasst die vorstehend beschriebene Geschwindigkeitsbefehlseinstelleinheit 26 nicht zwingend.
  • Betrieb der Robotersteuervorrichtung 10
  • 2 ist eine Darstellung zur Veranschaulichung eines Hauptabschnitts eines Verfahrensablaufs der Robotersteuervorrichtung 10 gemäß der vorliegenden Ausführungsform. Der Betrieb der Robotersteuervorrichtung 10 der vorliegenden Ausführungsform ist nachstehend unter Bezugnahme auf 1 und 2 beschrieben.
  • Beim Durchführen der Lernsteuerung wird der im in 1 gezeigten Zustand befindliche Schalter 27 so geschaltet, dass das Ausgabeziel der Lernsteuereinheit 20 von der Lernkorrekturbetragsanwendungsbestimmungseinheit 25 auf die Positionssteuereinheit 16 geändert wird. Darüber hinaus wird der im in 1 gezeigten Zustand befindliche Schalter 28 so geschaltet, dass das Ausgabeziel der Positionserfassungseinheit 13 von der Positionsfehlerberechnungseinheit 23 auf die Positionsspeichereinheit 21 geändert wird. Der im in 1 gezeigten Zustand befindliche Schalter 29 wird so geschaltet, dass das Ausgabeziel der Geschwindigkeitserfassungseinheit 14 von der Geschwindigkeitsfehlerberechnungseinheit 24 auf die Geschwindigkeitsspeichereinheit 22 geändert wird. Das vorstehende Schalten der Schalter 27 bis 29 wird durch das in die Robotersteuervorrichtung 10 eingegebene Lernsteuerstartsignal gleichzeitig durchgeführt.
  • Während der Lernsteuerung werden der Positionsabweichungsbetrag, der eine Differenz zwischen dem Positionsbefehlswert von der Betätigungsbefehlseinheit 15 und der Position FB vom Impulskodierer 12 darstellt, und eine durch die Positionserfassungseinheit 13 erfasste Position in die Lernsteuereinheit 20 eingegeben. Dann wird der Lernkorrekturbetrag in der Lernsteuereinheit 20 bestimmt und an die Positionssteuereinheit 16 ausgegeben. Ferner wird der Lernkorrekturbetrag zu dessen Aktualisierung immer dann in den Speicher 20a der Lernsteuereinheit 20 geschrieben, wenn derselbe Betätigungsbefehl von der Betätigungsbefehlseinheit 15 wiederholt wird.
  • Nach Beendigung der Lernsteuerung werden, wenn der Roboter 100 beim Durchführen der Lernsteuerung tatsächlich durch den Betätigungsbefehl betrieben wurde, die Schalter 27 bis 29 jeweils in die in 1 gezeigten Zustände geschaltet. Das Schalten dieser Schalter wird durch das in die Robotersteuervorrichtung 10 eingegebene Normalbetriebsstartsignal gleichzeitig durchgeführt.
  • Der in 2 gezeigte Verfahrensablauf ist ein Verfahrensablauf bei einem tatsächlichen Betrieb des Roboters 100 nach der Lernsteuerung. Demgemäß wird, wie vorstehend beschrieben, die Lernsteuerung beendet und die Schalter 27 bis 29 in die in 1 gezeigten Zustände gebracht, bevor der in 2 gezeigte Verfahrensablauf gestartet wird. Darüber hinaus werden die Positionsdaten (Trajektoriedaten) und die Geschwindigkeitsdaten des Vorderendes des Robotermechanismusteils während des Betriebs des Roboters durch die Lernsteuerung jeweils in der Positionsspeichereinheit 21 und der Geschwindigkeitsspeichereinheit 22 gespeichert, die in 1 gezeigt sind.
  • Nachdem der tatsächliche Betrieb des Roboters 100 nach der Lernsteuerung gestartet wurde, empfängt die Positionsfehlerberechnungseinheit 23 in der vorgegebenen Zeitspanne T, die derjenigen entspricht, in der die Positionsspeichereinheit 21 während der Lernsteuerung die Positionen des Vorderendes des Robotermechanismusteils speichert, zunächst Positionen des Vorderendes des Robotermechanismusteils von der Positionserfassungseinheit 13.
  • Die Positionsfehlerberechnungseinheit 23 berechnet den Positionsfehler zwischen jeder der tatsächlichen Positionen des Vorderendes des Robotermechanismusteils, die in der vorgegebenen Zeitspanne T von der Positionserfassungseinheit 13 empfangen wird, und jeder der Positionen des Vorderendes des Robotermechanismusteils, die der vorstehenden tatsächlichen Position entspricht und in der Positionsspeichereinheit 21 gespeichert ist (Schritt S11 in 2).
  • Anschließend bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 in Schritt S12 von 2, ob der vorstehend beschriebene auf das Vorderende des Robotermechanismusteils bezogene Positionsfehler einen vorgegebenen ersten Schwellenwert übersteigt. Wenn der Positionsfehler den vorgegebenen ersten Schwellenwert übersteigt, bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass sich die Position im anormalen Zustand befindet, und bestimmt, ob sich die Anwendung des Lernkorrekturbetrags auf die Positionssteuereinheit 16 in einem unwirksamen Zustand befindet (Schritt S13 von 2).
  • Wenn sich die Anwendung des Lernkorrekturbetrags nicht im unwirksamen Zustand befindet, schaltet die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 als Ergebnis dieses Bestimmungsverfahrens die Anwendung des Lernkorrekturbetrags auf die Positionssteuereinheit 16 in den unwirksamen Zustand um (Schritt S14 von 2).
  • Nach Schritt S14 oder nachdem in Schritt S13 bestimmt wurde, dass sich die Anwendung des Lernkorrekturbetrags im unwirksamen Zustand befindet, werden die vorstehend beschriebenen Vorgänge von Schritt S13 und Schritt S14 nicht durchgeführt, bis in Schritt S12 ein nächstes Bestimmungsergebnis vorgelegt wird.
  • Alternativ wird Schritt S15 von 2 durchgeführt, wenn die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 in Schritt S12 bestimmt, dass der vorstehend beschriebene auf das Vorderende des Robotermechanismusteils bezogene Positionsfehler nicht größer als der vorgegebene erste Schwellenwert ist.
  • In Schritt S15 berechnet die Geschwindigkeitsfehlerberechnungseinheit 24 einen Geschwindigkeitsfehler zwischen jeder der tatsächlichen Geschwindigkeiten des Vorderendes des Robotermechanismusteils, die in der vorgegebenen Zeitspanne T von der Geschwindigkeitserfassungseinheit 14 empfangen wird, und jeder der Geschwindigkeiten des Vorderendes des Robotermechanismusteils, die der vorstehenden tatsächlichen Geschwindigkeit entspricht und in der Geschwindigkeitsspeichereinheit 22 gespeichert ist.
  • Eine Zeitspanne und ein Zeitpunkt, zu denen die Geschwindigkeitsfehlerberechnungseinheit 24 die Geschwindigkeit des Vorderendes des Robotermechanismusteils von der Geschwindigkeitserfassungseinheit 14 empfängt, entsprechen denjenigen, zu denen die vorstehend beschriebene Positionsfehlerberechnungseinheit 23 die Position des Vorderendes des Robotermechanismusteils von der Positionserfassungseinheit 13 empfängt.
  • Anschließend bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 in Schritt S16 von 2, ob der vorstehend beschriebene auf das Vorderende des Robotermechanismusteils bezogene Geschwindigkeitsfehler einen vorgegebenen zweiten Schwellenwert übersteigt. Wenn der Geschwindigkeitsfehler den vorgegebenen zweiten Schwellenwert übersteigt, bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass sich die Geschwindigkeit im anormalen Zustand befindet, und führt die vorstehend beschriebenen Vorgänge von Schritt S13 bis Schritt S14 durch.
  • Wenn hingegen die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 in Schritt S16 bestimmt, dass der vorstehend beschriebene auf das Vorderende des Robotermechanismusteils bezogene Geschwindigkeitsfehler nicht größer als der vorgegebene zweite Schwellenwert ist, wird Schritt S17 von 2 durchgeführt.
  • In Schritt S17 bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass sich die Geschwindigkeit im normalen Zustand befindet, und bestimmt, ob sich die Anwendung des Lernkorrekturbetrags auf die Positionssteuereinheit 16 im wirksamen Zustand befindet. Wenn sich die Anwendung des Lernkorrekturbetrags nicht im wirksamen Zustand befindet, schaltet die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 als Ergebnis dieses Bestimmungsverfahrens die Anwendung des Lernkorrekturbetrags auf die Positionssteuereinheit 16 in den wirksamen Zustand um (Schritt S18 von 2).
  • Nach Schritt S18 oder nachdem in Schritt S17 bestimmt wurde, dass sich die Anwendung des Lernkorrekturbetrags im wirksamen Zustand befindet, werden die vorstehend beschriebenen Vorgänge von Schritt S17 und Schritt S18 nicht durchgeführt, bis in Schritt S16 ein nächstes Bestimmungsergebnis vorgelegt wird.
  • 3 ist eine Darstellung, in der die Vorgänge von Schritt S13 bis Schritt S14, die in 2 beschrieben sind, genauer veranschaulicht sind. Nachstehend ist ein spezifisches Beispiel der Vorgänge von Schritt S13 bis Schritt S14 unter Bezugnahme auf 1, 2 und 3 beschrieben.
  • Wenn das Bestimmungsergebnis in Schritt S12 von 2 „JA“ lautet, mit anderen Worten, wenn der durch die Positionsfehlerberechnungseinheit 23 berechnete Positionsfehler den vorgegebenen ersten Schwellenwert übersteigt, bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass sich die Position im anormalen Zustand befindet (Schritt S21 von 3). Wenn ferner das vorstehend beschriebene Bestimmungsergebnis in Schritt S16 „JA“ lautet, mit anderen Worten, wenn der durch die Geschwindigkeitsfehlerberechnungseinheit 24 berechnete Geschwindigkeitsfehler den vorgegebenen zweiten Schwellenwert übersteigt, bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass sich die Geschwindigkeit im anormalen Zustand befindet (Schritt S21 von 3).
  • Wenn wie vorstehend beschrieben bestimmt wird, dass sich die Position oder die Geschwindigkeit im anormalen Zustand befindet, schaltet die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 die Anwendung des Lernkorrekturbetrags auf die Positionssteuereinheit 16 in den unwirksamen Zustand um (Schritt S22 von 3). Durch Anwenden dieser Steuerung gibt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 den im Speicher 20a der Lernsteuereinheit 20 gespeicherten Lernkorrekturbetrag nicht an die Positionssteuereinheit 16 aus, während bestimmt wird, dass sich die Position im anormalen Zustand befindet. Beispielsweise setzt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 den an die Positionssteuereinheit 16 ausgegebenen Lernkorrekturbetrag auf null (Schritt S23 von 3).
  • Anschließend gibt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 das vorstehend beschriebene Anomalieerfassungssignal an die Geschwindigkeitsbefehlseinstelleinheit 26 aus. Die Geschwindigkeitsbefehlseinstelleinheit 26 verringert den Geschwindigkeitsbefehlswert von der Positionssteuereinheit 16 mit einer vorgegebenen Rate und gibt während des Zeitraums, in dem das Anomalieerfassungssignal empfangen wird, den verringerten Geschwindigkeitsbefehlswert an die Geschwindigkeitssteuereinheit 17 aus. Durch Anwenden dieser Steuerung wird die Geschwindigkeit des Vorderendes des Robotermechanismusteils (Drehzahl des Servomotors 11) während des Zeitraums, in dem in der Lernkorrekturbetragsanwendungsbestimmungseinheit 25 bestimmt wird, dass sich die Geschwindigkeit im anormalen Zustand befindet, auf eine Geschwindigkeit verringert, die nicht größer als die vorgegebene Sicherheitsgeschwindigkeit ist (Schritt S24 von 3).
  • Die Reihenfolge der vorstehend beschriebenen Schritte S23 und S24 lässt sich umkehren.
  • 4 ist eine Darstellung, in der die Vorgänge von Schritt S17 bis Schritt S18, die in 2 beschrieben sind, genauer veranschaulicht sind. Nachstehend ist ein spezifisches Beispiel der Vorgänge von Schritt S17 bis Schritt S18 unter Bezugnahme auf 1, 2 und 4 beschrieben.
  • Wenn das Bestimmungsergebnis in Schritt S12 von 2 „NEIN“ lautet, mit anderen Worten, wenn der durch die Positionsfehlerberechnungseinheit 23 berechnete Positionsfehler nicht größer als der vorgegebene erste Schwellenwert ist, bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass sich die Position im normalen Zustand befindet (Schritt S31 von 4). Wenn ferner das vorstehend beschriebene Bestimmungsergebnis in Schritt S17 „NEIN“ lautet, mit anderen Worten, wenn der durch die Geschwindigkeitsfehlerberechnungseinheit 24 berechnete Geschwindigkeitsfehler nicht größer als der vorgegebene zweite Schwellenwert ist, bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass sich die Geschwindigkeit im normalen Zustand befindet (Schritt S31 von 4).
  • Wenn wie vorstehend beschrieben bestimmt wird, dass sich die Position und die Geschwindigkeit im normalen Zustand befinden, schaltet die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 die Anwendung des Lernkorrekturbetrags auf die Positionssteuereinheit 16 in den wirksamen Zustand um (Schritt S32 von 4). Durch Anwenden dieser Steuerung gibt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 den im Speicher 20a der Lernsteuereinheit 20 gespeicherten Lernkorrekturbetrag während des Zeitraums, in dem bestimmt wird, dass sich die Position und Geschwindigkeit im normalen Zustand befinden, an die Positionssteuereinheit 16 aus. Mit anderen Worten, die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 wendet den im Speicher 20a gespeicherten Lernkorrekturbetrag auf den vorstehend beschriebenen Positionsabweichungsbetrag an (Schritt S33 von 4).
  • Die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 gibt das vorstehend beschriebene Anomalieerfassungssignal während des Zeitraums, in dem bestimmt wird, dass sich die Position und Geschwindigkeit im normalen Zustand befinden, nicht an die Geschwindigkeitsbefehlseinstelleinheit 26 aus. Aus diesem Grund wird der Geschwindigkeitsbefehlswert von der Positionssteuereinheit 16 nicht durch die Geschwindigkeitsbefehlseinstelleinheit 26 verringert. Durch Anwenden dieser Steuerung wird die Geschwindigkeit des Vorderendes des Robotermechanismusteils (Drehzahl des Servomotors 11) während des Zeitraums, in dem in der Lernkorrekturbetragsanwendungsbestimmungseinheit 25 bestimmt wird, dass sich die Position und Geschwindigkeit im normalen Zustand befinden, auf einer Geschwindigkeit gehalten, die dem Geschwindigkeitsbefehlswert von der Positionssteuereinheit 16 entspricht (Schritt S34 von 4). Mit anderen Worten, wenn das Bestimmungsergebnis in der Lernkorrekturbetragsanwendungsbestimmungseinheit 25 vom anormalen Zustand in den normalen Zustand umgeschaltet wird, kehrt die Geschwindigkeit des Vorderendes des Robotermechanismusteils von einem Niedriggeschwindigkeitszustand in einen Hochgeschwindigkeitszustand zurück.
  • Die Reihenfolge der vorstehend beschriebenen Schritte S33 und S34 lässt sich umkehren.
  • 5 ist eine Darstellung, die schematisch ein Beispiel zeigt, bei dem sich eine Positionstrajektorie des Vorderendes des Robotermechanismusteils beim Durchführen des Roboterbetriebs durch die Lernsteuerung von einer Positionstrajektorie des Vorderendes des Robotermechanismusteils beim tatsächlichen Durchführen des Roboterbetriebs nach der Lernsteuerung unterscheidet.
  • Bei der Lernsteuerung bewegt sich, wie in 5 durch eine gestrichelte Linie X angezeigt, das Vorderende des Robotermechanismusteils beispielsweise von einer Position P1 linear um eine vorgegebene Strecke und bewegt sich dann kurvenförmig. Danach wird der Betrieb des Roboters 100 durchgeführt, so dass sich das Vorderende des Robotermechanismusteils weiter linear bewegt, um eine Position P3 zu erreichen.
  • Wenn der Roboter 100 nach der vorstehend beschriebenen Lernsteuerung tatsächlich in einer Fertigungsstraße betrieben wird, wird in manchen Fällen eine Sperrfunktion betätigt, um eine gegenseitige Beeinträchtigung mit einem nahe dem Roboter 100 installierten Peripheriegerät, einem anderen Roboter oder dergleichen zu vermeiden. Dies liegt daran, dass, obgleich die Lernsteuerung im Allgemeinen ohne Berücksichtigung des Betriebs des nahe dem Roboter 100 installieren Peripheriegeräts oder dergleichen durchgeführt wird, das nahe dem Roboter 100 befindliche Peripheriegerät oder ein anderer Roboter abhängig vom Betrieb des Roboters 100 arbeitet, wenn die Fertigungsstraße tatsächlich in Betrieb ist.
  • Wenn die Sperrfunktion betätigt wird, bewegt sich das Vorderende des Robotermechanismusteils des Roboters 100 zu einer in 5 gezeigten Position P2 (Bereitschaftsposition) und hält sich dort bereit und bewegt sich beispielsweise nach Empfang eines Sperrfreigabesignals zur Position P3. Deswegen folgt das Vorderende des Robotermechanismusteils einer Positionstrajektorie, die sich von der der Lernsteuerung unterscheidet, d.h. einer Trajektorie, die sich von der Position P1 über die Position P2 zur Position P3 bewegt, wie in 5 durch eine durchgezogene Linie Y dargestellt.
  • Vergleicht man die Trajektorie der gestrichelten Linie X und die Trajektorie der durchgezogenen Linie Y in 5 miteinander, unterscheidet sich die Trajektorie des Vorderendes des Robotermechanismusteils, das sich von der Position P1 zur Position P3 bewegt, nahe einer in 5 dargestellten Position Q1 erheblich von der Trajektorie während der Lernsteuerung. Überdies nähert sich die Trajektorie des Vorderendes des Robotermechanismusteils, das sich von der Position P1 zur Position P3 bewegt, nahe der in 5 gezeigten Position Q2 der Trajektorie während der Lernsteuerung an und stimmt schließlich mit dieser überein.
  • Wenn der durch die Lernsteuerung erhaltene Lernkorrekturbetrag mit der Positionstrajektorie des Vorderendes des Robotermechanismusteils, die nicht mit der Positionstrajektorie während der Lernsteuerung übereinstimmt, auf die tatsächliche Betriebssteuerung des Roboters 100 angewandt wird, werden in manchen Fällen in nachteiliger Weise am Vorderende des Robotermechanismusteils Vibrationen oder Schwingungen erzeugt.
  • Demgemäß bestimmt die Robotersteuervorrichtung 10 der vorliegenden Ausführungsform, dass eine Anomalie aufgetreten ist und wendet den Lernkorrekturbetrag nicht an, wenn sich die tatsächliche Positionstrajektorie des Vorderendes des Robotermechanismusteils erheblich von der Positionstrajektorie des Vorderendes des Robotermechanismusteils beim Durchführen der Lernsteuerung unterscheidet. Wenn die tatsächliche Positionstrajektorie des Vorderendes des Robotermechanismusteils wieder mit der Positionstrajektorie des Vorderendes des Robotermechanismusteils beim Durchführen der Lernsteuerung übereinstimmt, wird die Anwendung des Lernkorrekturbetrags neu gestartet.
  • Folglich kann die vorstehend beschriebene Robotersteuervorrichtung 10 Vibrationen oder Schwingungen effizient unterbinden, die am Vorderende des Robotermechanismusteils erzeugt werden können, und einen Roboterbetrieb mit hoher Genauigkeit umsetzen. Außerdem kann die Lernsteuertechnik bei einer großen Anzahl von Industrierobotern, die eine Mehrzahl Betriebsmuster ausführen können, wirksam eingesetzt werden.
  • Ein Faktor, der eine Differenz zwischen der Positionstrajektorie des Vorderendes des Robotermechanismusteils bei einem tatsächlichen Betrieb des Roboters 100 nach der Lernsteuerung und der Positionstrajektorie während der Lernsteuerung bewirkt, ist nicht nur auf ein Beispiel beschränkt, bei dem das Vorderende des Robotermechanismusteils, wie vorstehend beschrieben, durch die Sperrfunktion in die Bereitschaftsposition P2 bewegt wird.
  • Beispielsweise gibt es den Fall, in dem ein Benutzer einen Teil der Position und einen Teil der Trajektorie des Vorderendes des Robotermechanismusteils, die zuvor in der Robotersteuervorrichtung 10 gespeichert wird, entsprechend den Bedingungen einer tatsächlichen Fertigungswerkstatt über das Handprogrammiergerät korrigiert. In diesem Fall wird die Trajektorie des Vorderendes des Robotermechanismusteils bei einem tatsächlichen Betrieb des Roboters 100 in der Fertigungsstraße von der Trajektorie des Vorderendes des Robotermechanismusteils bei der vorab durchgeführten Lernsteuerung geändert.
  • Das Nachstehende lässt sich als weiterer Faktor anführen. Beispielsweise in dem Fall, in dem durch den Roboter 100 zur Herstellung einer Fahrzeugkarosserie ein Punktschweißen durchgeführt wird, unterscheiden sich die Schweißstellen, wenn sich die Typen der Fahrzeugkarossieren ändern, die zu dem in der Fertigungsstraße installieren Roboter 100 befördert werden. Deswegen muss ein Bewegungsmuster (Trajektorie) einer am Roboter 100 angebrachten Schweißpistole geändert werden. In diesem Fall ist ein Roboterbetrieb erforderlich, bei dem das aktuelle Bewegungsmuster in ein anderes Bewegungsmuster geändert wird. An einem solchen Abzweigungspunkt des Betriebs kann der Roboter 100 in manchen Fällen nicht mit dem Bewegungsmuster (Trajektorie) betrieben werden, das dem Bewegungsmuster während der Lernsteuerung entspricht.
  • Die Robotersteuervorrichtung 10 der vorliegenden Ausführungsform lässt sich auf eine Situation anwenden, in der das tatsächliche Bewegungsmuster aufgrund des vorstehend genannten Faktors von dem Bewegungsmuster während der Lernsteuerung abweicht.
  • Andere Ausführungsformen
  • Beim Durchführen des vorstehend beschriebenen Punktschweißens für die Fahrzeugkarossieren durch den Roboter 100 ist im Allgemeinen eine Mehrzahl Bewegungsmuster der Schweißpistole des Roboters 100 in einem Betriebsprogramm des Roboters 100 gemäß einer Mehrzahl Fahrzeugtypen beschrieben. Ein Fall, in dem der Roboter 100 Arbeitsgänge der Mehrzahl Bewegungsmuster über die Robotersteuervorrichtung 10 ausführt, ist nachstehend beschrieben.
  • In diesem Fall gibt die in 1 gezeigte Betätigungsbefehlseinheit 15 der Robotersteuervorrichtung 10 gemäß dem Bewegungsmuster, das einem Betriebsziel des Roboters 100 entspricht, aus der Mehrzahl im Roboterbetriebsprogramm beschriebener Bewegungsmuster einen Positionsbefehlswert aus.
  • Lernkorrekturbeträge für jedes Bewegungsmuster werden bevorzugt durch Durchführen der Lernsteuerung im Vorfeld für die vorstehend genannte Mehrzahl Bewegungsmuster erhalten und im Speicher 20a der Lernsteuereinheit 20 gespeichert.
  • 6 ist beispielsweise eine Darstellung, die ein Beispiel eines Roboterbetriebsprogramms zeigt, das einen auf jedes der vorstehend beschriebenen Mehrzahl Bewegungsmuster bezogenen Abschnitt zum Durchführen der Lernsteuerung umfasst. Wie in 6 gezeigt, ist eine Mehrzahl Roboterarbeitsgänge (LP[1] FINE SPOT, LP[2] CNT100 und dergleichen) im Roboterbetriebsprogramm beschrieben. Bei diesen Roboterarbeitsgängen sind die Roboterarbeitsgänge als Ziele der Lernsteuerung zwischen einem Lernstartbefehl (LCV START[1]) und einem Lernabschlussbefehl (LVC END[1]) eingefügt.
  • Die Robotersteuervorrichtung 10 führt bei Empfang des vorstehend beschriebenen Lernsteuerstartsignals die auf die vorgegebenen Arbeitsgänge des Roboters 100 bezogene Lernsteuerung durch. Zu dieser Zeit führt die Robotersteuervorrichtung 10 der Reihe nach die Mehrzahl Roboterarbeitsgänge, die zwischen dem Lernstartbefehl und dem Lernabschlussbefehl in dem in 6 gezeigten Roboterbetriebsprogramm beschrieben sind, gemäß dem Ablauf des Programms vom Lernstartbefehl zum Lernabschlussbefehl aus. Der Betrieb der Robotersteuervorrichtung 10 beim Durchführen der Lernsteuerung wurde bereits unter Bezugnahme auf 1 beschrieben.
  • Immer dann, wenn die Lernsteuerung für jeden der Roboterarbeitsgänge gemäß dem Ablauf des Programms durchgeführt wird, wird der Lernkorrekturbetrag in der in 1 gezeigten Lernsteuereinheit 20 der Robotersteuervorrichtung 10 bestimmt und im Speicher 20a gespeichert. Zu dieser Zeit werden, wie in 6 gezeigt, Indexnummern, zum Beispiel die Nummern (1) bis (5), in der Reihenfolge zugewiesen, in der die Lernsteuerung für jeden der Roboterarbeitsgänge durchgeführt wird. Der in 1 gezeigte Speicher 20a speichert die Indexnummern der jeweiligen Roboterarbeitsgänge und die durch die Lernsteuerung für die jeweiligen Roboterarbeitsgänge erhaltenen Lernkorrekturbeträge mit Querverweisen aufeinander. Die in 1 gezeigte Positionssteuereinheit 21 speichert ebenfalls die Indexnummern der jeweiligen Roboterarbeitsgänge und die Positionsdaten (Trajektoriedaten) des Vorderendes des Robotermechanismusteils, die durch die Lernsteuerung für die jeweiligen Roboterarbeitsgänge erhalten werden, mit Querverweisen aufeinander.
  • Wie vorstehend beschrieben, können die Indexnummern der jeweiligen Roboterarbeitsgänge, die durch die Lernsteuerung für die jeweiligen Roboterarbeitsgänge erhaltenen Lernkorrekturbeträge und die durch die Lernsteuerung für die jeweiligen Roboterarbeitsgänge erhaltenen Positionsdaten (Trajektoriedaten) des Vorderendes des Robotermechanismusteils miteinander verknüpft werden.
  • Demgemäß kann, wenn die Indexnummer des derzeit ausgeführten Roboterarbeitsgangs und die Position des Vorderendes des Robotermechanismusteils bei dem aktuellen Roboterarbeitsgang erkannt werden, der Lernkorrekturbetrag vorgegeben werden, der der Position des Vorderendes des Robotermechanismusteils bei dem Roboterarbeitsgang entspricht.
  • 7 ist eine Darstellung zur Veranschaulichung eines Verfahrensablaufs, wenn der Lernkorrekturbetrag, wie vorstehend beschrieben, basierend auf der Indexnummer jedes der Roboterarbeitsgänge und der aktuellen Position des Vorderendes des Robotermechanismusteils vorgegeben wird.
  • Nehmen wir an, dass der in 6 gezeigte Roboterarbeitsgang mit der Indexnummer (1) bei der tatsächlichen durch den Roboter 100 ausgeführten Fertigungsarbeit auf den Roboterarbeitsgang mit der Indexnummer (2) umgeschaltet wird.
  • Die Robotersteuervorrichtung 10 erkennt, dass der Roboterarbeitsgang mit der Indexnummer (2) im Roboterbetriebsprogramm ausgeführt wird. Dementsprechend verwendet die Robotersteuervorrichtung 10 die Positionsdaten (Trajektoriedaten) während der Lernsteuerung, die in der Positionsspeichereinheit 21 gespeichert sind und der Indexnummer (2) entsprechen.
  • Der Roboterarbeitsgang mit der Indexnummer (2) unterscheidet sich von dem Roboterarbeitsgang mit der Indexnummer (1). Deswegen bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 in einem Vorgang zum Umschalten auf den Roboterarbeitsgang mit der Indexnummer (2), dass an der Position des Vorderendes des Robotermechanismusteils eine Anomalie erzeugt wird. In diesem Fall befindet sich, wie unter Bezugnahme auf 2 oder 3 beschrieben, die Anwendung des Lernkorrekturbetrags im unwirksamen Zustand (siehe Schritt S14 von 2 und Schritt S22 von 3).
  • Danach nähert sich in dem Vorgang zum Umschalten auf den Roboterarbeitsgang mit der Indexnummer (2) die Position des Vorderendes des Robotermechanismusteils der Positionstrajektorie des Vorderendes des Robotermechanismusteils an, die dem Roboterarbeitsgang mit der Indexnummer (2) entspricht. Deswegen weisen sowohl der Positionsfehler als auch der Geschwindigkeitsfehler, die jeweils durch die Positionsfehlerberechnungseinheit 23 bzw. die Geschwindigkeitsfehlerberechnungseinheit 24 berechnet werden, Werte auf, die nicht größer als die vorgegebenen Schwellenwerte sind. Durch Anwenden dieser Steuerung bestimmt die Lernkorrekturbetragsanwendungsbestimmungseinheit 25, dass sich die Position und die Geschwindigkeit des Vorderendes des Robotermechanismusteils im normalen Zustand befinden und schaltet die Anwendung des Lernkorrekturbetrags auf die Positionssteuereinheit 16 vom unwirksamen Zustand in den wirksamen Zustand um (siehe Schritte von S31 bis S32 von 4 und Schritt S41 von 7).
  • Obgleich sich die Anwendung des Lernkorrekturbetrags im wirksamen Zustand befindet, wurde der dem Roboterarbeitsgang mit der Indexnummer (2) entsprechende Lernkorrekturbetrag jedoch noch nicht anhand der im Speicher 20a gespeicherten Daten vorgegeben. Folglich erhält die Robotersteuervorrichtung 10 in Schritt S42 von 7 die Indexnummer des Roboterarbeitsgangs, bei dem durch die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 bestimmt wird, dass sich seine Position und Geschwindigkeit im normalen Zustand befinden, sowie die Position des Vorderendes des Robotermechanismusteils bei dem Roboterarbeitsgang, der sich im normalen Zustand befindet.
  • Zu dieser Zeit kann, da die Robotersteuervorrichtung 10 erkennt, dass der Roboterarbeitsgang mit der Indexnummer (2) ausgeführt wird, die Indexnummer (2) des derzeit ausgeführten Roboterarbeitsgangs erhalten werden. Indessen kann die Position des Vorderendes des Robotermechanismusteils bei dem im normalen Zustand befindlichen Roboterarbeitsgang von der Positionserfassungseinheit 13 erhalten werden.
  • Anschließend gibt die Robotersteuervorrichtung 10 in Schritt S43 von 7 basierend auf der erhaltenen Indexnummer (2) den Lernkorrekturbetrag, der dem Roboterarbeitsgang mit der Indexnummer (2) entspricht, anhand der im Speicher 20a gespeicherten Daten vor.
  • Ferner wendet die Lernkorrekturbetragsanwendungsbestimmungseinheit 25 der Robotersteuervorrichtung 10 in Schritt S44 von 7 bei dem Roboterarbeitsgang, der sich im normalen Zustand befindet, den vorgegebenen Lernkorrekturbetrag auf die Position des Vorderendes des Robotermechanismusteils an.
  • Gemäß dem vorstehend beschriebenen Verfahrensablauf wird, wenn die Position des Vorderendes des Robotermechanismusteils, das nach der Lernsteuerung tatsächlich betrieben wird, vom anormalen Zustand in den normalen Zustand zurückkehrt, der dem Roboterarbeitsgang im normalen Zustand entsprechende Lernkorrekturbetrag bei dem normalen Roboterarbeitsgang auf die Position des Vorderendes des Robotermechanismusteils angewandt. Durch Anwenden dieser Steuerung kann, wenn der Roboterarbeitsgang, wie vorstehend beschrieben, auf den Roboterarbeitsgang mit der Indexnummer (2) umgeschaltet wird, der mit dem Roboterarbeitsgang übereinstimmende Lernkorrekturbetrag schnell angewandt werden.
  • Die Robotersteuervorrichtung 10 der vorstehend beschriebenen Ausführungsformen kann unter Verwendung eines Computersystems konfiguriert werden, das Speichereinheiten, eine Zentraleinheit (CPU), eine Kommunikationseinheit und dergleichen umfasst, die über einen Bus miteinander verbunden sind. Die Speichereinheiten umfassen einen Festwertspeicher (ROM), einen Direktzugriffsspeicher (RAM) und dergleichen. Funktion und Betrieb der Betätigungsbefehlseinheit 15, der Positionsfehlerberechnungseinheit 23, der Geschwindigkeitsfehlerberechnungseinheit 24, der Lernkorrekturbetragsanwendungsbestimmungseinheit 25, der Geschwindigkeitsbefehlseinstelleinheit 26 und dergleichen, die, wie vorstehend beschrieben, in der Robotersteuervorrichtung 10 enthalten sind, können durch Ausführung des im ROM gespeicherten Programms durch die CPU erreicht werden.
  • Gemäß der vorliegenden Erfindung kann bei einem tatsächlich Betrieb des Roboters nach der Lernsteuerung die Anwendung des beim Durchführen der Lernsteuerung im Vorfeld berechneten Lernkorrekturbetrags entsprechend der tatsächlichen Position und Geschwindigkeit des Vorderendes des Robotermechanismusteils auf wirksam oder unwirksam geschaltet werden. Durch Anwenden dieser Steuerung ist es möglich, am Vorderende des Robotermechanismusteils erzeugte Vibrationen oder Schwingungen wirksam zu unterbinden und einen Roboterbetrieb mit hoher Genauigkeit umzusetzen. Außerdem lässt sich die Lernsteuertechnik wirksam bei Industrierobotern einsetzen, die dazu fähig sind, eine Mehrzahl Betriebsmuster auszuführen.
  • Wie vorstehend beschrieben, wurde die vorliegende Erfindung unter Verwendung typischer Ausführungsformen erläutert, es versteht sich jedoch für Fachleute auf dem Gebiet, dass Modifikationen an den Komponenten, Funktionen und dergleichen der Robotersteuervorrichtung der vorstehend beschriebenen Ausführungsformen, verschiedene Arten anderer Modifikationen, Weglassungen und Hinzufügungen durchgeführt werden können, ohne vom Umfang der Erfindung abzuweichen.

Claims (6)

  1. Robotersteuervorrichtung (10), die dafür konfiguriert ist, einen Betrieb eines durch einen Servomotor (11) angetriebenen Robotermechanismusteils zu steuern, wobei die Robotersteuervorrichtung (10) umfasst: - eine Lernsteuereinheit (20), die dafür konfiguriert ist, eine Lernsteuerung durchzuführen, um einen Lernkorrekturbetrag zum Korrigieren einer Position eines Vorderendes des Robotermechanismusteils bei einem Betrieb des Robotermechanismusteils durch einen Positionsbefehl zu berechnen, - eine Positionsspeichereinheit (21), die dafür konfiguriert ist, während des Durchführens der Lernsteuerung die Position des Vorderendes des Robotermechanismusteils in einer vorgegebenen Zeitspanne zu speichern, - eine Geschwindigkeitsspeichereinheit (20), die dafür konfiguriert ist, während des Durchführens der Lernsteuerung eine Geschwindigkeit des Vorderendes des Robotermechanismusteils in einer vorgegebenen Zeitspanne zu speichern, - eine Positionsfehlerberechnungseinheit (23), die dafür konfiguriert ist, bei einem Betrieb des Robotermechanismusteils durch den Positionsbefehl nach der Lernsteuerung einen Positionsfehler zwischen einer in einer vorgegebenen Zeitspanne erhaltenen tatsächlichen Position des Vorderendes und der Position des Vorderendes zu berechnen, die der tatsächlichen Position entspricht und in der Positionsspeichereinheit (21) gespeichert ist, - eine Geschwindigkeitsfehlerberechnungseinheit (24), die dafür konfiguriert ist, bei einem Betrieb des Robotermechanismusteils durch den Positionsbefehl nach der Lernsteuerung einen Geschwindigkeitsfehler zwischen einer in der vorgegebenen Zeitspanne erhaltenen tatsächlichen Geschwindigkeit des Vorderendes und der Geschwindigkeit des Vorderendes zu berechnen, die der tatsächlichen Geschwindigkeit entspricht und in der Geschwindigkeitsspeichereinheit (22) gespeichert ist, und - eine Lernkorrekturbetragsanwendungsbestimmungseinheit (25), die dafür konfiguriert ist, bei einem Betrieb des Robotermechanismusteils durch den Positionsbefehl nach der Lernsteuerung basierend auf dem Positionsfehler und dem Geschwindigkeitsfehler zu bestimmen, ob sich die Position und die Geschwindigkeit des Vorderendes in einem anormalen Zustand oder in einem normalen Zustand befinden, und dann gemäß diesem Bestimmungsergebnis auf eine Bestimmung umzuschalten, ob der Lernkorrekturbetrag auf die Position des Vorderendes angewandt wird.
  2. Robotersteuervorrichtung (10) nach Anspruch 1, wobei - die Lernkorrekturbetragsanwendungsbestimmungseinheit (25) dafür konfiguriert ist, zu bestimmen, dass sich die Position oder die Geschwindigkeit des Vorderendes im anormalen Zustand befindet, wenn der Positionsfehler einen vorgegebenen ersten Schwellenwert übersteigt oder der Geschwindigkeitsfehler einen vorgegebenen zweiten Schwellenwert übersteigt, und den Lernkorrekturbetrag nicht anzuwenden.
  3. Robotersteuervorrichtung (10) nach Anspruch 1 oder 2, wobei - die Lernkorrekturbetragsanwendungsbestimmungseinheit (25) dafür konfiguriert ist, zu bestimmen, dass sich die Position und die Geschwindigkeit des Vorderendes im normalen Zustand befinden, wenn der Positionsfehler nicht größer als der vorgegebene erste Schwellenwert ist und der Geschwindigkeitsfehler nicht größer als der vorgegebene zweite Schwellenwert ist, und den Lernkorrekturbetrag anzuwenden.
  4. Robotersteuervorrichtung (10) nach Anspruch 1 oder 2, die ferner umfasst: - eine Geschwindigkeitsbefehlseinstelleinheit (26), die dafür konfiguriert ist, die Geschwindigkeit des Vorderendes auf eine Geschwindigkeit einzustellen, die nicht größer als eine vorgegebene Sicherheitsgeschwindigkeit ist, wenn durch die Lernkorrekturbetragsanwendungsbestimmungseinheit (25) bestimmt wird, dass sich die Position oder die Geschwindigkeit des Vorderendes im anormalen Zustand befindet.
  5. Robotersteuervorrichtung (10) nach einem der Ansprüche 1 bis 4, wobei - die Lernsteuereinheit (20) dafür konfiguriert ist, eine Mehrzahl der Lernkorrekturbeträge zu speichern, die jeweils einer Mehrzahl unterschiedlicher auf das Robotermechanismusteil bezogener Arbeitsgänge entsprechen.
  6. Robotersteuervorrichtung (10) nach Anspruch 5, wobei - die Lernkorrekturbetragsanwendungsbestimmungseinheit (25) dafür konfiguriert ist, aus einer Mehrzahl der in der Lernsteuereinheit (20) gespeicherten Lernkorrekturbeträge den Lernkorrekturbetrag anzuwenden, der dem Betrieb des im normalen Zustand befindlichen Robotermechanismusteils entspricht, wenn ein Bestimmungsergebnis bezüglich der Position oder Geschwindigkeit des Vorderendes in den normalen Zustand geschaltet wird.
DE102017009940.5A 2016-11-01 2017-10-25 Robotersteuervorrichtung mit Lernsteuerfunktion Active DE102017009940B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-214392 2016-11-01
JP2016214392A JP6392825B2 (ja) 2016-11-01 2016-11-01 学習制御機能を備えたロボット制御装置

Publications (2)

Publication Number Publication Date
DE102017009940A1 true DE102017009940A1 (de) 2018-05-03
DE102017009940B4 DE102017009940B4 (de) 2019-10-31

Family

ID=61912095

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017009940.5A Active DE102017009940B4 (de) 2016-11-01 2017-10-25 Robotersteuervorrichtung mit Lernsteuerfunktion

Country Status (4)

Country Link
US (1) US10350749B2 (de)
JP (1) JP6392825B2 (de)
CN (1) CN108000517B (de)
DE (1) DE102017009940B4 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6542839B2 (ja) * 2017-06-07 2019-07-10 ファナック株式会社 制御装置及び機械学習装置
JP6703020B2 (ja) * 2018-02-09 2020-06-03 ファナック株式会社 制御装置及び機械学習装置
EP3804918A4 (de) * 2018-05-25 2022-03-30 Kawasaki Jukogyo Kabushiki Kaisha Robotersystem und zusätzliches lernverfahren
JP7039389B2 (ja) * 2018-05-25 2022-03-22 川崎重工業株式会社 ロボットシステム及びロボット制御方法
JP7034035B2 (ja) * 2018-08-23 2022-03-11 株式会社日立製作所 自律学習型ロボット装置及び自律学習型ロボット装置の動作生成方法
CN109590986B (zh) * 2018-12-03 2022-03-29 日照市越疆智能科技有限公司 机器人教学方法、智能机器人和存储介质
CN110347162A (zh) * 2019-07-29 2019-10-18 南京市晨枭软件技术有限公司 一种工业机器人路径自动修正的方法及系统
CN110653821B (zh) * 2019-10-10 2023-03-24 上海电气集团股份有限公司 用于机械臂的控制方法、系统、介质及设备
DE112020007299T5 (de) * 2020-06-05 2023-04-20 Mitsubishi Electric Corporation Servosteuervorrichtung
CN111890351A (zh) * 2020-06-12 2020-11-06 深圳先进技术研究院 机器人及其控制方法、计算机可读存储介质
JP2022025892A (ja) * 2020-07-30 2022-02-10 セイコーエプソン株式会社 教示方法およびロボットシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900008539B1 (ko) * 1985-05-30 1990-11-24 마쯔시다덴기산교 가부시기가이샤 로보트의 연속경로 제어방법
JP2688207B2 (ja) * 1988-02-19 1997-12-08 トキコ株式会社 ロボットの制御装置
JPH0731529B2 (ja) * 1988-07-29 1995-04-10 オ−クマ株式会社 数値制御工作機械における学習制御方式
JPH04355805A (ja) * 1991-06-03 1992-12-09 Yaskawa Electric Corp 学習制御装置
JP3135738B2 (ja) * 1993-03-18 2001-02-19 三菱電機株式会社 数値制御装置
JPH07306707A (ja) * 1994-05-10 1995-11-21 Nippon Telegr & Teleph Corp <Ntt> ロボットの学習制御方法
JP2004227163A (ja) * 2003-01-21 2004-08-12 Fanuc Ltd サーボ制御装置
JP2004299013A (ja) * 2003-03-31 2004-10-28 Fanuc Ltd 誤差修正フィードバック機能を有するロボットオフラインプログラミング装置
JP4282064B2 (ja) * 2003-05-01 2009-06-17 芝浦メカトロニクス株式会社 ロボット位置制御装置及び方法並びにロボットシステム
JP4283214B2 (ja) * 2004-12-16 2009-06-24 ファナック株式会社 機械先端点の制御装置
JP4612032B2 (ja) 2007-10-02 2011-01-12 ファナック株式会社 工作機械用制御装置

Also Published As

Publication number Publication date
US10350749B2 (en) 2019-07-16
CN108000517A (zh) 2018-05-08
JP6392825B2 (ja) 2018-09-19
JP2018069410A (ja) 2018-05-10
CN108000517B (zh) 2019-10-29
DE102017009940B4 (de) 2019-10-31
US20180117758A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
DE102017009940B4 (de) Robotersteuervorrichtung mit Lernsteuerfunktion
DE102011011681B4 (de) Roboter mit einer Lernsteuerfunktion
DE102011011679B4 (de) Roboter mit Lernsteuerungsfunktion
DE102018001026B4 (de) Robotersystem mit einer lernenden Steuerungsfunktion und lernendes Steuerungsverfahren
DE112018005832B4 (de) Bewegungseinstellungsvorrichtung für roboter, bewegungssteuerungssystem und robotersystem
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102018221127B4 (de) Robotersystem
DE102017117837A1 (de) Laserbearbeitungs-Robotersystem und Laserbearbeitungsverfahren
DE102018205185B4 (de) Steuereinrichtung
DE112013006799T5 (de) Numerische Steuerungsvorrichtung
DE102015014236B4 (de) Programmkorrekturvorrichtung und Programmkorrekturverfahren eines Industrieroboters
DE102018214272B4 (de) Robotersystem
DE102015003496B4 (de) Laserbearbeitungsvorrichtung
EP1818744A1 (de) Reglerstruktur mit einem Torsionsmodell
EP3056322A1 (de) Verfahren und system zum betreiben einer mehrachsigen maschine, insbesondere eines roboters
EP0925531B1 (de) Verfahren und vorrichtung zur steuerung der bewegung eines trägers
WO2002020213A2 (de) Werkzeugmaschine mit kollisionsprüfung
DE102019000890B4 (de) Robotersystem zum Ausführen einer Lernsteuerung basierend auf Bearbeitungsergebnissen und diesbezügliches Steuerverfahren
EP2082852B1 (de) Verfahren und Vorrichtung zur Überwachung eines Manipulators
WO2019224288A1 (de) Richtungsabhängige kollisionsdetektion für einen robotermanipulator
DE102019004545B4 (de) Automatische Maschine und Steuervorrichtung für Automatische Maschine
DE112021001173T5 (de) Entgratungsvorrichtung und Steuerungssystem
DE102016009436B4 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist
EP3504596B1 (de) Automatische optimierung der parametrierung einer bewegungssteuerung
DE102005032336B4 (de) Verfahren zur Beeinflussung einer Steuerung oder zur Steuerung einer Bewegungseinrichtung und Steuerung oder Steuerungskomponente einer Bewegungseinrichtung

Legal Events

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