DE102017011251B4 - Robotersteuerung mit Funktion, die ein Lernen vereinfacht, und Robotersteuerverfahren - Google Patents

Robotersteuerung mit Funktion, die ein Lernen vereinfacht, und Robotersteuerverfahren Download PDF

Info

Publication number
DE102017011251B4
DE102017011251B4 DE102017011251.7A DE102017011251A DE102017011251B4 DE 102017011251 B4 DE102017011251 B4 DE 102017011251B4 DE 102017011251 A DE102017011251 A DE 102017011251A DE 102017011251 B4 DE102017011251 B4 DE 102017011251B4
Authority
DE
Germany
Prior art keywords
robot
learning
trajectory
operator
retraining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102017011251.7A
Other languages
English (en)
Other versions
DE102017011251A1 (de
Inventor
Kaimeng Wang
Shuusuke WATANABE
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 DE102017011251A1 publication Critical patent/DE102017011251A1/de
Application granted granted Critical
Publication of DE102017011251B4 publication Critical patent/DE102017011251B4/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
    • 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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40382Limit allowable area where robot can be teached
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40385Compare offline teached point with online teached point, modify rest as function of error
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning
    • 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/45Nc applications
    • G05B2219/45083Manipulators, robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Robotersteuerung (10), die dazu konfiguriert ist, Bedienungen eines Roboters (12) gemäß Befehlswerten eines Programms zu steuern, wobei die Steuerung umfasst:einen Lernabschnitt (24), der dazu konfiguriert ist, ein Lernen eines Erkennens einer Abweichung zwischen einer befohlenen Trajektorie (18), die eine Position des Roboters darstellt, die gemäß den Befehlswerten erzeugt wurde, und einer Bedientrajektorie (20), die eine tatsächliche Position darstellt, zu der der Roboter sich bewegt hat, durchzuführen und ein korrigiertes Programm durch Justieren der befohlenen Trajektorie zu erzeugen;einen Umlernabschnitt (24), der dazu konfiguriert ist, ein Umlernen nur an einer Umlernstelle durchzuführen, wobei die Umlernstelle ein Teil der Bedientrajektorie ist, die von einem Bediener (14) bezeichnet wurde; undeinen Speicherabschnitt (22), der dazu konfiguriert ist, das korrigierte Programm zu speichern, und dazu konfiguriert ist, ein von dem Bediener angenommenes Lernergebnis zu speichern.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • 1. Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Robotersteuerung mit einer Funktion, die ein Lernen vereinfacht, und ein Robotersteuerverfahren.
  • 2. Beschreibung des Standes der Technik
  • In einem Roboter, der durch ein Bedienprogramm gesteuert wird, wird ein Motor gemäß Befehlswerten gesteuert, die in dem Bedienprogramm enthalten sind, und der Roboter wird bewegt, um einer Befehlstrajektorie nachzugehen, die mit dem Bedienprogramm gelehrt wird. Es gibt derzeit Fälle, in denen ein Motor den Befehlswerten aufgrund von Rückschlag, Reibung usw. in jedem Gelenk des Roboters nicht nachgehen kann, und die tatsächliche Position des Roboters (die tatsächliche Trajektorie) enthält einen Fehler in Bezug auf die befohlene Trajektorie.
  • Techniken sind bekannt, die ein Lernen durchführen, wobei eine Abweichung zwischen der befohlenen Trajektorie und der tatsächlichen Trajektorie erkannt wird und die Befehlswerte iterativ justiert werden, um einen derartigen Fehler zu eliminieren. Die JP 2015-221 491 A beispielsweise offenbart ein Robotersteuerverfahren, umfassend: einen Schritt des Erzeugens einer ersten Trajektorie, die eine tatsächliche Position eines Werkzeugmittelpunkts darstellt, durch Starten eines Benutzerprogramms, um einen Roboter entlang einem ersten kontinuierlichen programmierten Weg zu bewegen; einen Schritt des Berechnens einer Wegabweichung zwischen dem ersten kontinuierlichen programmierten Weg und der ersten Trajektorie; einen Schritt des Erzeugens eines korrigierten Benutzerprogramms durch Justieren des Benutzerprogramms um einen berechneten Betrag, der gleich der Wegabweichung ist; einen Schritt des Speicherns der ersten Trajektorie, die die tatsächliche Position des Werkzeugmittelpunkts darstellt, in einer Speichervorrichtung; einen Schritt des Erzeugens einer zweiten Trajektorie, die eine tatsächliche Position des Werkzeugmittelpunkts darstellt, durch Starten des korrigierten Benutzerprogramms, um den Roboter entlang einem zweiten kontinuierlichen programmierten Weg zu bewegen; und einen Schritt des Anzeigens der ersten Trajektorie und der zweiten Trajektorie.
  • Die JP 2015-168 053 A offenbart eine Robotersteuerung, die einen Roboter steuert, der in einer vorherbestimmten Arbeitsregion bedient wird, während er seine eigene Position und Ausrichtung korrigiert, wobei die Robotersteuerung umfasst: eine Speichereinheit, die ein Referenzbedienmuster des Roboters speichert; eine Eingabeeinheit, die mindestens eine Arbeitsstartregion, an der die Bedienung des Roboters auf der Basis des Referenzbedienmusters gestartet wird, und eine Arbeitsendregion, an der die Bedienung des Roboters auf der Basis des Referenzbedienmusters endet, spezifiziert; eine automatische Erzeugungseinheit, die automatisch eine Vielzahl von Bedienmustern für den Roboter auf der Basis von Aufteilungsregionen, die durch Aufteilen der Arbeitsregion, die von der Eingabeeinheit spezifiziert wurde, erhalten werden, mit einer vorherbestimmten Auflösung und des Referenzbedienmusters, das in der Speichereinheit gespeichert ist, erzeugt; und eine Lernsteuereinheit, die für jedes der Bedienmuster, die von der automatischen Erzeugungseinheit automatisch erzeugt wurden, eine Bedienungsbeschleunigungsrate zum Ändern einer Geschwindigkeit oder einer Beschleunigung und Beschleunigen der Bedienung des Roboters lernt.
  • Des Weiteren offenbart die JP 2003-044 102 A ein Lernsteuerverfahren für ein Lernsteuersystem. Das System umfasst einen Speicher, der Daten speichert, die zur Lernsteuerung erforderlich sind, ein Mittel zum Aufteilen des Speichers in mehrere Regionen und Verwenden des Speichers, ein Mittel zum Austauschen von Daten in einer Region, die durch ein Bedienprogramm spezifiziert wird, und eine Steuereinheit. In dem System iteriert die Steuereinheit Versuche, so dass die Ausgabe eines Steuerungsziels einem Zielbefehl folgt. In dem Verfahren wird bestimmt, ob ein Befehl an die Steuereinheit eingegeben wurde oder nicht, und ein Zeitpunkt, zu dem ein Ergebnis der Bestimmung mit einem Lernstartbefehl, der von dem Lernsteuersystem empfangen wurde, übereinstimmt, wird als ein Lernstartpunkt genommen.
  • Normalerweise werden Lernergebnisse auf die Gesamtheit einer Trajektorie angewendet. Selbst wenn ein Teil der Trajektorie nach dem Lernen nicht eine Trajektorie ist, die von einem Bediener gewünscht wird, ist es somit schwierig, ein Lernen durchzuführen, um nur diesen Teil der Trajektorie zu korrigieren. Obwohl es Techniken zum automatischen Wechseln zwischen Segmenten, bei denen ein Lernen durchgeführt wird, und Segmenten, bei denen kein Lernen durchgeführt wird, können Algorithmen und Rechenverarbeitung usw. für derartige Techniken kompliziert sein.
  • Die Druckschrift US 2015 / 0 127 150 A1 offenbart eine Robotersteuerung, die dazu konfiguriert ist, Bedienungen eines Roboters gemäß Befehlswerten eines Programms zu steuern, wobei die Steuerung einen Lernabschnitt, der dazu konfiguriert ist, ein Lernen eines Erkennens einer Abweichung zwischen einer befohlenen Trajektorie, die eine Position des Roboters darstellt, die gemäß den Befehlswerten erzeugt wurde, und einer Bedientrajektorie, die eine tatsächliche Position darstellt, zu der der Roboter sich bewegt hat, durchzuführen und ein korrigiertes Programm durch Justieren der befohlenen Trajektorie zu erzeugen; einen Umlernabschnitt, der dazu konfiguriert ist, ein Umlernen durchzuführen; und einen Speicherabschnitt umfasst.
  • Die Druckschriften US 2015 / 0 127 155 A1 , US 2011 / 0 208 355 A1 , DE 10 2012 104 194 A1 und DE 10 2011 011 679 A1 offenbaren ebenfalls lernende Robotersteuerungen.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Gemäß der Offenbarung ist eine Robotersteuerung gemäß dem unabhängigen Vorrichtungsanspruch bereitgestellt. Entwicklungen sind in den abhängigen Ansprüchen dargestellt.
  • Gemäß der Offenbarung ist ein Robotersteuerverfahren gemäß den unabhängigen Verfahrensanspruch bereitgestellt.
  • Figurenliste
  • Die Gegenstände, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung der Ausführungsformen in Verbindung mit den begleitenden Zeichnungen offensichtlicher werden, in denen:
    • 1 ein Diagramm ist, das ein Beispiel einer Lernsteuerung darstellt, die von einer Robotersteuerung gemäß einer Ausführungsform der vorliegenden Erfindung durchgeführt wird;
    • 2 ein Funktionsblockdiagramm ist, das die Robotersteuerung von 1 umfasst; und
    • 3 ein Ablaufdiagramm ist, das ein Beispiel einer Verarbeitung darstellt, die von der Robotersteuerung von 1 durchgeführt wird.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 ist ein Diagramm, das eine Robotersteuerung 10 gemäß einer Ausführungsform der vorliegenden Erfindung, einen Roboter (mechanische Einheit) 12, der von der Robotersteuerung 10 gesteuert wird, und ein Programmierhandgerät 16, das verwendet wird, wenn ein Bediener 14 den Roboter 12 programmiert oder bedient, darstellt. 1 stellt außerdem ein Beispiel einer Lernsteuerung dar, die von der Robotersteuerung 10 durchgeführt wird. In der vorliegenden Ausführungsform ist der Roboter 12 dazu konfiguriert, einen Laserstrahl auszustrahlen, während er sich entlang einem Kreisbogen- oder kreisförmigen Weg bewegt, und ein kreisförmiges Loch in ein zu verarbeitendes Werkstück zu schneiden. Die Robotersteuerung 10 weist außerdem eine Lernfunktion zum Erkennen einer Abweichung in einer Bedientrajektorie 20 (die durchgezogene Linie) des Roboters 12 in Bezug auf eine befohlene Trajektorie (Kreisbogen) 18, die von der Strichlinie angezeigt wird, und Justieren der befohlenen Trajektorie auf der Basis der erkannten Abweichung auf.
  • 2 ist ein Funktionsblockdiagramm, das die Robotersteuerung 10, den Roboter 12 und das Programmierhandgerät 16 umfasst. Die Robotersteuerung 10 ist beispielsweise eine programmierbare Steuerung und ist dazu konfiguriert, die Bedienung des Roboters 12 gemäß Befehlswerten, die in einem Programm enthalten sind, zu steuern. Die Robotersteuerung umfasst: eine Speichervorrichtung (Speicherabschnitt) 22, wie einen Speicher; eine Verarbeitungseinheit 24, wie einen Prozessor oder einen CPU, mit Funktionen, die die Bedienungssteuerung und/oder Lernsteuerung für den Roboter 12 (die einem Lernabschnitt und/oder einem Umlernabschnitt, die später beschrieben werden, entsprechen) betreffen; ein Schnittstellenmodul 28 zum Kommunizieren mit einem Netzwerk 26, wie einem Intranet oder dem Internet; und ein Datenumwandlungsmodul 30, das dazu konfiguriert ist, eine Datenumwandlung zwischen dem Schnittstellenmodul 28 und der Speichervorrichtung 22 durchzuführen. Die Speichervorrichtung 22 kann außerdem verschiedene Typen von Variablen, ein Programm für das Programmierhandgerät (TP-Programm), ein Programm, das Befehlswerte zum Steuern der Bedienung des Roboters enthält, Einstellungen, die das Robotersystem von 1 betreffen (Systemeinstellungen), und eine Historie von Fehlern (ein Fehlerprotokoll) usw. speichern.
  • Der Roboter 12 ist beispielsweise ein Knickarmroboter mit einer Vielzahl von Achsen. Der Roboter 12 weist einen Sensor 32 zum Messen/Erhalten einer Bedientrajektorie (z. B. eines Werkzeugmittelpunkts) des Roboters 12 auf, wenn der oben beschriebene Kreisbogenarbeitsvorgang durchgeführt wird, und der Sensor weist beispielsweise einen Impulscodierer oder Codierer auf, der an jeder Achse des Roboters 12 vorgesehen ist.
  • Das Programmierhandgerät 16 ist beispielsweise eine tragbare Bedientafel, die von dem Bediener 14 getragen und bedient werden kann, wie in 1 dargestellt, und mit der Robotersteuerung 10 mit einem Kabel oder drahtlos verbunden ist. Das Programmierhandgerät 16 weist eine Bedientafel (Anzeige) 34, wie ein Berührungsfeld, auf, die ein Bediener dazu verwenden kann, während des Betrachtens zu programmieren, eine Lernstelle anzuweisen, wie später beschrieben werden wird.
  • Ein entfernter Computer 36, wie ein Personal-Computer, kann mit dem Netzwerk 26 verbunden sein. Der entfernte Computer 36 weist eine Benutzeroberfläche 38, wie eine Tastatur, durch die ein Bediener Arbeitsvorgänge, wie Eingaben, vornehmen kann, und ein Kommunikationsmodul 40 zur Datenkommunikation oder zum Datenaustausch mit dem Netzwerk 26 auf.
  • Als Nächstes wird die Lernfunktion der Robotersteuerung 10 unter Bezugnahme auf das Ablaufdiagramm in 3 beschrieben. Zunächst wird ein Lernen für einen Kreisbogenarbeitsvorgang, der von dem Roboter 12 durchgeführt wird, wie in 1 dargestellt, durchgeführt (Schritt S1). Um spezifischer zu sein, eine Abweichung zwischen einer befohlenen Trajektorie, die eine Position des Roboters 12 darstellt, die gemäß Befehlswerten in einem Programm erzeugt wurde, und einer Bedientrajektorie, die eine tatsächliche Position darstellt, zu der der Roboter 12 sich bewegt hat, wird erkannt. Das Programm wird dann durch Justieren der befohlenen Trajektorie korrigiert. Verschiedene Typen von maschinellem Lernen, wie überwachtes Lernen, unüberwachtes Lernen, halbüberwachtes Lernen, Verstärkungslernen, Weitergabe oder Multitask-Lernen, können als ein spezifisches Beispiel eines Lernsteuerverfahrens zum Lernen der befohlenen Trajektorie (Justieren der Bedientrajektorie) verwendet werden und der Bediener kann bezeichnen, welches Lernverfahren verwendet werden soll. Die Bedientafel 34 des Programmierhandgeräts 16, die Benutzerschnittstelle 38 des entfernten Computers oder ein Eingabeabschnitt 42 der Robotersteuerung 10 usw. kann als ein Beispiel eines Bezeichnungsabschnitts verwendet werden, durch den der Bediener die Bezeichnung vornimmt, ein anderes Mittel kann jedoch stattdessen verwendet werden.
  • Beim Durchführen des Lernens werden gelehrte Positionsdaten korrigiert und die Abweichung in der Bedientrajektorie in Bezug auf die befohlene Trajektorie wird durch eine Bedienungssteuerung auf der Basis der korrigierten Positionsdaten (Programm) korrigiert (Schritt S2). Als Nächstes wird in Schritt S3 die Bedientrajektorie, die auf der Basis des korrigierten Programms korrigiert wurde, in der Bedientafel 34 usw., vorzugsweise zusammen mit der befohlenen Trajektorie angezeigt, wie in 1 dargestellt.
  • Der Bediener bestimmt auf der Basis des angezeigten Lernergebnisses, ob die Bedientrajektorie (tatsächliche Trajektorie) eine gewünschte Form ist oder nicht (Schritt S4). Wenn die Bedientrajektorie die gewünschte Form ist oder von einer idealen Form leicht abweicht, jedoch noch immer akzeptabel ist, übernimmt der Bediener das aktuelle Lernergebnis (wählt dieses aus) durch Bedienen des Programmierhandgeräts 16. Als Reaktion darauf speichert die Robotersteuerung 10 das übernommene Lernergebnis (das korrigierte Programm) als Lerndaten in der Speichervorrichtung 22 usw. (Schritt S5). Man beachte, dass in Schritt S4 automatisch berechnet und ausgegeben (angezeigt) werden kann, ob der Fehler zwischen der Bedientrajektorie und der befohlenen Trajektorie innerhalb eines vorherbestimmten Sollwerts liegt.
  • Andererseits, wie in 1 dargestellt, wenn die Bedientrajektorie 20 sich von der Trajektorie unterscheidet, die von dem Bediener beabsichtigt wird, wie ein Fall, in dem die Bedientrajektorie 20 einen Teil mit einem hohen Fehlerausmaß oder einen Teil, der von der befohlenen Trajektorie 18 stark abweicht, enthält, bezeichnet der Bediener, dass ein Teil der Bedientrajektorie umgelernt werden soll (Schritt S6). In dem Beispiel von 1 weicht die Bedientrajektorie 20 von einem perfekten Kreis (die befohlene Trajektorie) in einem rechten oberen Teil des Kreisbogens stark ab, von den anderen Teilen kann jedoch bestimmt werden, dass sie keine Probleme aufweisen. Dementsprechend nimmt der Bediener einen Berührungsarbeitsvorgang usw. an einem Bedienbildschirm der Bedientafel 34 usw. vor, um zu bezeichnen/einzugeben, dass eine Region 44 als eine Stelle umgelernt werden soll, die den rechten oberen Teil umgibt. Ein anderes geeignetes Mittel, wie die Benutzeroberfläche 38 des entfernten Computers oder der Eingabeabschnitt 42 der Robotersteuerung 10, kann als der Bedienbildschirm anstelle der Bedientafel 34 des Programmierhandgeräts 16 verwendet werden. Die Bedientafel 34 des Programmierhandgeräts 16 ist jedoch für den Gebrauch am Standort am besten geeignet.
  • Sobald die umzulernende Region 44 bezeichnet wurde, führt die Robotersteuerung 10 ein Umlernen nur für die Trajektorie durch, die innerhalb der bezeichneten Region 44 enthalten ist (eine Umlernstelle) (Schritt S7). Die Verarbeitung von Schritt S2 usw. wird dann iteriert. Dies ermöglicht, ein Lernen nur an zu lernenden Teilen durchzuführen, anstelle ein Lernen an der gesamten Trajektorie durchzuführen, und somit kann eine ideale Trajektorie, die von dem Bediener gewünscht wird, innerhalb eines kurzen Zeitraums gelernt werden. Obwohl in der vorliegenden Ausführungsform ein Kreisbogen als ein Beispiel der befohlenen Trajektorie beschrieben wird, ist es offensichtlich, dass die vorliegende Ausführungsform auf ähnliche Weise in einem Fall angewendet werden kann, in dem die befohlene Trajektorie eine andere Form aufweist.
  • Wenn ein Lernen an der gesamten Bedientrajektorie durchgeführt wird, um die Genauigkeit der Bedientrajektorie eines Roboters zu verbessern, kann es schwierig sein, eine ideale Trajektorie zu erhalten, da die gesamte Trajektorie, nicht ein Teil davon geändert werden kann. In dem Fall, in dem ein Versuch unternommen wird, nur einen Teil der Bedientrajektorie automatisch zu lernen, ist es erforderlich, Bedingungen und/oder Algorithmen zum Identifizieren dieses Teils zu konstruieren, und die Verarbeitung nimmt somit Zeit in Anspruch. Dementsprechend bezeichnet der Bediener in der vorliegenden Ausführungsform die zu korrigierende Stelle und an dieser Stelle wird ein partielles Lernen durchgeführt. Dies ermöglicht, ein Lernen durchzuführen, das insgesamt effizient ist. Anders ausgedrückt, selbst nachdem ein Lernen durchgeführt wurde, kann ein Trajektorie-Ideal für den Bediener durch Bezeichnen einer Stelle, die weiter umgelernt werden soll, und Speisen dieser Stelle zurück in den Roboter, um ein Umlernen durchzuführen, erzielt werden. Des Weiteren kann der Bediener beurteilen, ob jedes Lernergebnis akzeptabel ist oder nicht (OK oder NG), und akkumulierte/statistische Ergebnisse der Beurteilung durch den Bediener können zurück in den Roboter gespeist werden.
  • Darüber hinaus kann der Bediener durch Anzeigen der Trajektorie, nachdem das Lernen durchgeführt wurde, in dem Bedienbildschirm, wie der Bedientafel des Programmierhandgeräts usw., und Ermöglichen, die Stelle der umzulernenden Trajektorie anhand dieses Bedienbildschirms zu bezeichnen oder einzugeben, die Bedienungen optisch und einfach durchführen.
  • Gemäß Gesichtspunkten der vorliegenden Offenbarung kann die Zeit einer Lernjustierungsaufgabe verkürzt werden und die Aufgabe kann vereinfacht werden.

Claims (4)

  1. Robotersteuerung (10), die dazu konfiguriert ist, Bedienungen eines Roboters (12) gemäß Befehlswerten eines Programms zu steuern, wobei die Steuerung umfasst: einen Lernabschnitt (24), der dazu konfiguriert ist, ein Lernen eines Erkennens einer Abweichung zwischen einer befohlenen Trajektorie (18), die eine Position des Roboters darstellt, die gemäß den Befehlswerten erzeugt wurde, und einer Bedientrajektorie (20), die eine tatsächliche Position darstellt, zu der der Roboter sich bewegt hat, durchzuführen und ein korrigiertes Programm durch Justieren der befohlenen Trajektorie zu erzeugen; einen Umlernabschnitt (24), der dazu konfiguriert ist, ein Umlernen nur an einer Umlernstelle durchzuführen, wobei die Umlernstelle ein Teil der Bedientrajektorie ist, die von einem Bediener (14) bezeichnet wurde; und einen Speicherabschnitt (22), der dazu konfiguriert ist, das korrigierte Programm zu speichern, und dazu konfiguriert ist, ein von dem Bediener angenommenes Lernergebnis zu speichern.
  2. Robotersteuerung nach Anspruch 1, weiterhin umfassend: einen Bezeichnungsabschnitt (34, 38, 42), der konfiguriert ist, um durch den Bediener ein Verfahren des Lernens zu bezeichnen.
  3. Robotersteuerung nach Anspruch 1 oder 2, weiterhin umfassend: einen Bedienbildschirm (34, 38, 42), der dazu konfiguriert ist, die Bedientrajektorie nach dem Lernen anzuzeigen, und durch den Bediener die Umlernstelle zu bezeichnen.
  4. Robotersteuerverfahren zur Steuerung von Bedienungen eines Roboters (12) gemäß Befehlswerten eines Programms, wobei das Verfahren umfasst: Durchführen eines Lernens eines Erkennens einer Abweichung zwischen einer befohlenen Trajektorie (18), die eine Position des Roboters darstellt, die gemäß den Befehlswerten erzeugt wurde, und einer Bedientrajektorie (20), die eine tatsächliche Position darstellt, zu der der Roboter sich bewegt hat, und Erzeugen eines korrigierten Programms durch Justieren der befohlenen Trajektorie; Speichern des korrigierten Programms; Durchführen eines Umlernens nur an einer Umlernstelle, wobei die Umlernstelle ein Teil der Bedientrajektorie ist, die von einem Bediener (14) bezeichnet wurde; und Speichern des von dem Bediener angenommenen Lernergebnisses.
DE102017011251.7A 2016-12-13 2017-12-06 Robotersteuerung mit Funktion, die ein Lernen vereinfacht, und Robotersteuerverfahren Active DE102017011251B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016241632A JP6469069B2 (ja) 2016-12-13 2016-12-13 学習を容易化する機能を備えたロボット制御装置、及びロボット制御方法
JP2016-241632 2016-12-13

Publications (2)

Publication Number Publication Date
DE102017011251A1 DE102017011251A1 (de) 2018-06-14
DE102017011251B4 true DE102017011251B4 (de) 2022-03-03

Family

ID=62201978

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017011251.7A Active DE102017011251B4 (de) 2016-12-13 2017-12-06 Robotersteuerung mit Funktion, die ein Lernen vereinfacht, und Robotersteuerverfahren

Country Status (4)

Country Link
US (1) US10520912B2 (de)
JP (1) JP6469069B2 (de)
CN (1) CN108214485B (de)
DE (1) DE102017011251B4 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11731792B2 (en) * 2018-09-26 2023-08-22 Dexterity, Inc. Kitting machine
CN109702768A (zh) * 2018-10-10 2019-05-03 *** 学习型机器人动作数据采集方法
JP6836571B2 (ja) * 2018-11-14 2021-03-03 ファナック株式会社 ロボット装置
CN109814434B (zh) * 2018-12-20 2020-02-21 北京华航唯实机器人科技股份有限公司 控制程序的校准方法及装置
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
DE102019101040A1 (de) * 2019-01-16 2020-07-16 Valeo Schalter Und Sensoren Gmbh Verfahren zum Trainieren einer Trajektorie für ein Fahrzeug, sowie elektronisches Fahrzeugführungssystem
WO2020175425A1 (ja) * 2019-02-25 2020-09-03 国立大学法人 東京大学 ロボットシステム、ロボットの制御装置、およびロボットの制御プログラム
DE102019105820A1 (de) * 2019-03-07 2020-09-10 Matheus Service GmbH Verfahren, System sowie nichtflüchtiges Speichermedium
JP7048539B2 (ja) * 2019-04-26 2022-04-05 ファナック株式会社 振動表示装置、動作プログラム作成装置、およびシステム
CN114728411B (zh) * 2019-11-25 2024-06-07 三菱电机株式会社 控制装置、机器人***和控制方法
US20210342736A1 (en) * 2020-04-30 2021-11-04 UiPath, Inc. Machine learning model retraining pipeline for robotic process automation
CN111890350A (zh) * 2020-06-12 2020-11-06 深圳先进技术研究院 机器人及其控制方法、计算机可读存储介质
US12017371B2 (en) 2022-03-15 2024-06-25 Fanuc Corporation Efficient and robust line matching approach

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044102A (ja) 2001-08-01 2003-02-14 Yaskawa Electric Corp 学習制御方法
DE102011011679A1 (de) 2010-02-19 2011-08-25 Fanuc Corporation Roboter mit Lernsteuerungsfunktion
US20110208355A1 (en) 2009-09-28 2011-08-25 Yuko Tsusaka Control apparatus and control method for robot arm, robot, control program for robot arm, and robot arm control-purpose integrated electronic circuit
DE102012104194A1 (de) 2011-05-17 2012-11-22 Fanuc Corporation Roboter und Punktschweißverfahren mit selbstlernender Steuerfunktion
US20150127155A1 (en) 2011-06-02 2015-05-07 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US20150127150A1 (en) 2013-11-01 2015-05-07 Brain Corporation Apparatus and methods for haptic training of robots
JP2015168053A (ja) 2014-03-04 2015-09-28 ファナック株式会社 教示作業を簡易化し、動作性能を向上させる機能を備えたロボット制御装置
JP2015221491A (ja) 2014-05-21 2015-12-10 ファナック アメリカ コーポレイション 経路学習制御

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2688207B2 (ja) * 1988-02-19 1997-12-08 トキコ株式会社 ロボットの制御装置
JP2958978B2 (ja) * 1989-06-28 1999-10-06 株式会社安川電機 学習制御方法
JPH06348316A (ja) * 1993-06-03 1994-12-22 Nippei Toyama Corp 数値制御非真円形加工物加工方法及びその装置
JPH0732279A (ja) * 1993-07-16 1995-02-03 Fanuc Ltd ロボット位置教示方式
JPH07334228A (ja) * 1994-06-10 1995-12-22 Komatsu Ltd ロボットの教示データ補正装置
JP4122652B2 (ja) * 1999-09-27 2008-07-23 松下電器産業株式会社 ロボットの制御装置
JP3805309B2 (ja) * 2003-01-30 2006-08-02 ファナック株式会社 サーボモータ駆動制御装置
JP4271159B2 (ja) * 2005-02-25 2009-06-03 ファナック株式会社 対話形数値制御装置
JP4174517B2 (ja) * 2006-03-13 2008-11-05 ファナック株式会社 教示位置修正装置および教示位置修正方法
DE112009003699B4 (de) * 2008-12-09 2015-06-18 Mitsubishi Electric Corporation Maschinenbewegungsbahnmessvorrichtung, numerisch gesteuertewerkzeugmaschine und maschinenbewegungsbahnmessverfahren
JP2011150648A (ja) * 2010-01-25 2011-08-04 Makino Milling Mach Co Ltd 工作機械の制御装置
JP6376558B2 (ja) * 2013-09-13 2018-08-22 株式会社ソディック 加工データ演算装置および加工データ演算プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044102A (ja) 2001-08-01 2003-02-14 Yaskawa Electric Corp 学習制御方法
US20110208355A1 (en) 2009-09-28 2011-08-25 Yuko Tsusaka Control apparatus and control method for robot arm, robot, control program for robot arm, and robot arm control-purpose integrated electronic circuit
DE102011011679A1 (de) 2010-02-19 2011-08-25 Fanuc Corporation Roboter mit Lernsteuerungsfunktion
DE102012104194A1 (de) 2011-05-17 2012-11-22 Fanuc Corporation Roboter und Punktschweißverfahren mit selbstlernender Steuerfunktion
US20150127155A1 (en) 2011-06-02 2015-05-07 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US20150127150A1 (en) 2013-11-01 2015-05-07 Brain Corporation Apparatus and methods for haptic training of robots
JP2015168053A (ja) 2014-03-04 2015-09-28 ファナック株式会社 教示作業を簡易化し、動作性能を向上させる機能を備えたロボット制御装置
JP2015221491A (ja) 2014-05-21 2015-12-10 ファナック アメリカ コーポレイション 経路学習制御

Also Published As

Publication number Publication date
CN108214485B (zh) 2020-03-13
JP6469069B2 (ja) 2019-02-13
US10520912B2 (en) 2019-12-31
JP2018094677A (ja) 2018-06-21
US20180164773A1 (en) 2018-06-14
DE102017011251A1 (de) 2018-06-14
CN108214485A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
DE102017011251B4 (de) Robotersteuerung mit Funktion, die ein Lernen vereinfacht, und Robotersteuerverfahren
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102012021374B4 (de) Roboterprogrammiervorrichtung
DE102020100316B4 (de) Bestimmungsgerät
DE69601567T2 (de) Vorrichtung und verfahren zum steuern der bewegung eines roboters
DE102019006725B4 (de) Steuereinrichtung und Steuersystem
DE102018004330B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102019110434A1 (de) Werkzeugwahlvorrichtung und Maschinenlernvorrichtung
DE102015209899B4 (de) Auswahl eines Gerätes oder eines Objektes mit Hilfe einer Kamera
DE102013114372A1 (de) Laststand-anzeige für eine werkzeugmaschine
DE102019118637B4 (de) Automatische pfadgenerierungsvorrichtung
DE102009003003A1 (de) Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
DE102014219831A1 (de) Anzeigevorrichtung
DE112021007017T5 (de) Numerik-Steuervorrichtung und Numerik-Steuersystem
DE10044306A1 (de) Werkzeugmaschine
DE102017009272A1 (de) Robotersteuervorrichtung mit funktion zum begrenzen von geschwindigkeit und/oder beschleunigung eines roboters
DE112019007579T5 (de) Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät
DE112013006637B4 (de) Numerische Steuervorrichtung und maschinelles Bearbeitungsverfahren
DE112021003517T5 (de) Numerisches Steuersystem
DE102020116210A1 (de) Parameterverwaltungsvorrichtung und Parameterverwaltungssystem
DE102020203541A1 (de) Werkzeugmaschine und Verwaltungssystem
DE102017010678B4 (de) Verfahren und System zum Vorgeben eines Beaufschlagungsmuster-Befehls-Lexikons zur Eingabe wenigstens eines Roboterbefehls
DE112019007734T5 (de) Numerisches Steuerungsgerät, Maschinelles-Lernen-Gerät und numerisches Steuerungsverfahren
DE112008003870T5 (de) Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz
EP3712724A1 (de) Automatisierungsanordnung, verfahren zum betrieb der automatisierungsanordnung sowie computerprogramm

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