DE112021007017T5 - Numerik-Steuervorrichtung und Numerik-Steuersystem - Google Patents

Numerik-Steuervorrichtung und Numerik-Steuersystem Download PDF

Info

Publication number
DE112021007017T5
DE112021007017T5 DE112021007017.7T DE112021007017T DE112021007017T5 DE 112021007017 T5 DE112021007017 T5 DE 112021007017T5 DE 112021007017 T DE112021007017 T DE 112021007017T DE 112021007017 T5 DE112021007017 T5 DE 112021007017T5
Authority
DE
Germany
Prior art keywords
robot
payload
unit
numerical control
control device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021007017.7T
Other languages
English (en)
Inventor
Kazutaka IMANISHI
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 DE112021007017T5 publication Critical patent/DE112021007017T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • 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/1607Calculation of inertia, jacobian matrixes and inverses
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • 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
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41815Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell
    • G05B19/41825Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the cooperation between machine tools, manipulators and conveyor or other workpiece supply system, workcell machine tools and manipulators only, machining centre
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36242Convert program for different machines with different M-code, G-code, header
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39188Torque compensation

Landscapes

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

Abstract

Es wird eine Numerik-Steuervorrichtung bereitgestellt, bei der eine Nutzlasteinstellung eines Roboters von der Numerik-Steuervorrichtung umgeschaltet werden kann. Diese Numerik-Steuervorrichtung 2 umfasst: eine Analyse-Einheit 23, die eine numerische Steueranweisung eines Roboters in einem numerischen Steuerprogramm analysiert; eine Roboter-Anweisungssignal-Erzeugungseinheit 25, die ein Roboter-Anweisungssignal erzeugt, das gemäß der von der Analyse-Einheit 23 analysierten numerischen Steueranweisung des Roboters an eine Roboter-Steuervorrichtung 3 zu übertragen ist; eine Nutzlasteinstellungs-Auswahleinheit 24, die eine für einen Roboter 30 einzustellende Nutzlast-Information aus einer Vielzahl von Nutzlast-Informationen gemäß der von der Analyse-Einheit 23 analysierten numerischen Steueranweisung des Roboters auswählt; und eine Datenübertragungs-/Empfangseinheit 26, die die von der Nutzlasteinstellungs-Auswahleinheit 24 ausgewählte Nutzlasteinstellung an eine Nutzlasteinstellungs-Aktualisierungssteuereinheit 38 der Roboter-Steuervorrichtung 3 über die Roboterbefehlssignal-Erzeugungseinheit 25 überträgt und dadurch die Nutzlasteinstellung in einer Invers-Dynamik-Berechnung für ein in den Roboter 30 einzugebendes Drehmoment wiedergibt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft eine Numerik-Steuervorrichtung und ein Numerik-Steuersystem.
  • HINTERGRUND
  • Im Allgemeinen sind ein numerisches Steuerprogramm zur Steuerung einer Werkzeugmaschine und ein Roboterprogramm zur Steuerung eines Roboters in unterschiedlichen Programmiersprachen geschrieben. Aus diesem Grund muss sich ein Bediener sowohl mit dem numerischen Steuerprogramm als auch mit dem Roboterprogramm vertraut machen, um eine Werkzeugmaschine und einen Roboter parallel bedienen zu können.
  • Zur Erleichterung der Automatisierung an Arbeitsplätzen für die maschinelle Bearbeitung wurde in den letzten Jahren ein solches Numerik-Steuersystem gefordert, das in gekoppelter Weise die Operation einer Werkzeugmaschine, die ein Werkstück bearbeitet, und die Operation eines in der Nähe der Werkzeugmaschine vorgesehenen Roboters steuert (siehe beispielsweise Patentdokument 1). In diesem Numerik-Steuersystem steuert ein Benutzer einer Werkzeugmaschine, der mit einem numerischen Bearbeitungsprogramm für die Werkzeugmaschine vertraut gemacht wurde, mit einem solchen numerischen Steuerprogramm einen Roboter.
  • Patentdokument 1: Japanisches Patent Nr. 5752179
  • OFFENBARUNG DER ERFINDUNG
  • Durch die Erfindung zu lösende Probleme
  • Im Übrigen ist eine solche Technologie bekannt, bei der ein Roboter einige Einstellungen vornimmt, wenn ein zu bearbeitendes Werkstück verändert wird. Bei dieser Technologie werden Nutzlasteinstellungen wie die Gewichte von Nutzlasten, die Schwerpunktpositionen und Trägheitswerte in einer Roboter-Steuervorrichtung gespeichert. Bei der Steuerung jedes Gelenkwinkels gemäß einem Bahnplan wird eine Berechnung der inversen Dynamik (beispielsweise basierend auf dem Newton-Euler-Verfahren) durchgeführt, um das Drehmoment zu berechnen, das erforderlich ist, um einen Winkel jedes Gelenks eines Roboters, eine Winkelgeschwindigkeit und eine Winkelbeschleunigung zu erreichen. Das berechnete Drehmoment wird dann sukzessive in einen Motor jedes der Gelenke als Befehlsdrehmoment eingegeben. Dadurch werden negative Effekte durch eine Nutzlast kompensiert und die Operation-Zykluszeit des Roboters minimiert.
  • Es ist jedoch notwendig, solche Nutzlasteinstellungen für den Roboter in einem Roboterprogramm vorab statisch festzulegen. Das heißt, dass es unmöglich war, das Roboterprogramm von der Numerik-Steuervorrichtung aus umzuschreiben und die Nutzlasteinstellungen für den Roboter von der Numerik-Steuervorrichtung aus zu ändern. Dies weist den Nachteil auf, dass es bei einem Wechsel des Werkstücks nicht möglich ist, die Operation-Zykluszeit des Roboters zu minimieren.
  • Gegenstand der vorliegenden Offenbarung ist es, eine Numerik-Steuervorrichtung und ein Numerik-Steuersystem bereitzustellen, bei denen es möglich ist, eine Nutzlasteinstellung für einen Roboter von einer Numerik-Steuervorrichtung auf eine andere Nutzlasteinstellung umzuschalten.
  • Mittel zur Lösung der Probleme
  • Ein Aspekt der vorliegenden Offenbarung betrifft eine Numerik-Steuervorrichtung, umfassend: eine Analyse-Einheit, die eine numerische Steueranweisung eines Roboters in einem numerischen Steuerprogramm analysiert; eine Roboter-Anweisungssignal-Erzeugungseinheit, die ein Roboter-Anweisungssignal erzeugt, das gemäß der von der Analyse-Einheit analysierten numerischen Steueranweisung des Roboters an eine Roboter-Steuervorrichtung zu übertragen ist; eine Nutzlasteinstellungs-Auswahleinheit, die eine für einen Roboter einzustellende Nutzlast-Einstellung aus einer Vielzahl von Nutzlast-Informationen gemäß der von der Analyse-Einheit analysierten numerischen Steueranweisung des Roboters auswählt; und eine Übertragungseinheit, die die von der Nutzlasteinstellungs-Auswahleinheit ausgewählte Nutzlasteinstellung an eine Nutzlasteinstellungs-Aktualisierungssteuereinheit der Roboter-Steuervorrichtung über die Roboterbefehlssignal-Erzeugungseinheit überträgt und dadurch die Nutzlasteinstellung in einer Invers-Dynamik-Berechnung für ein in den Roboter einzugebendes Drehmoment wiedergibt.
  • Effekte der Erfindung
  • Gemäß der vorliegenden Offenbarung ist es möglich, eine Numerik-Steuervorrichtung und ein Numerik-Steuersystem bereitzustellen, bei denen es möglich ist, eine Nutzlasteinstellung für einen Roboter auf eine andere Nutzlasteinstellung von einer Numerik-Steuervorrichtung umzuschalten.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
    • 1 ist ein schematisches Diagramm eines Numerik-Steuersystems gemäß einer Ausführungsform der vorliegenden Offenbarung;
    • 2 ist ein Funktionsblockdiagramm einer Numerik-Steuervorrichtung und einer Roboter-Steuervorrichtung gemäß der vorliegenden Ausführungsform der Offenbarung;
    • 3 ist ein Diagramm, das ein Beispiel für Nutzlast-Informationen darstellt;
    • 4 ist ein Diagramm zur Veranschaulichung eines Beispiels von Nutzlast-I nformationsteilen;
    • 5 ist ein Diagramm zur Veranschaulichung numerischer Steueranweisungen, die so eingestellt sind, dass sie den Nutzlasteinstellungen entsprechen;
    • 6 ist ein Diagramm zur Veranschaulichung eines numerischen Steuerprogramms für einen Roboter;
    • 7 ist ein Sequenzdiagramm zur Veranschaulichung der Signal- und Informationsflüsse zwischen der Numerik-Steuervorrichtung und der Roboter-Steuervorrichtung gemäß der vorliegenden Ausführungsform der vorliegenden Offenbarung; und
    • 8 ist ein Diagramm, das ein numerisches Steuerprogramm einer Werkzeugmaschine und ein numerisches Steuerprogramm eines Roboters darstellt.
  • BEVORZUGTE AUSFÜHRUNGSFORM DER ERFINDUNG
  • Eine Ausführungsform der vorliegenden Offenbarung wird nun unter Bezugnahme auf die beigefügten Zeichnungen im Detail beschrieben.
  • 1 ist eine schematische Darstellung eines Numerik-Steuersystems 1 gemäß der Ausführungsform der vorliegenden Offenbarung.
  • Das Numerik-Steuersystem 1 umfasst eine Numerik-Steuervorrichtung (Computervorrichtung oder CNC) 2, die eine Werkzeugmaschine 20 steuert, und eine Roboter-Steuervorrichtung 3, die kommunikativ mit der Numerik-Steuervorrichtung 2 gekoppelt ist und die einen Roboter 30 steuert, der in der Nähe der Werkzeugmaschine 20 vorgesehen ist. Das Numerik-Steuersystem 1 gemäß der vorliegenden Ausführungsform verwendet die Numerik-Steuervorrichtung 2 und die Roboter-Steuervorrichtung 3, die kommunikativ miteinander gekoppelt sind, um die Operation der Werkzeugmaschine 20 und die Operation des Roboters 30 in gekoppelter Weise zu steuern.
  • Die Numerik-Steuervorrichtung 2 folgt einem vorbestimmten numerischen Steuerprogramm, um ein Werkzeugmaschinen-Steuervorrichtungssignal zu erzeugen, das als Befehl an die Werkzeugmaschine 20 dient, und ein Roboter-Steuervorrichtungssignal, das als Befehl an den Roboter 30 dient. Die Numerik-Steuervorrichtung 2 überträgt dann das erzeugte Werkzeugmaschinen-Befehlssignal und das erzeugte Roboter-Befehlssignal an die Werkzeugmaschine 20 bzw. die Roboter-Steuervorrichtung 3. Die Roboter-Steuervorrichtung 3 steuert die Operation des Roboters 30 gemäß dem von der Numerik-Steuervorrichtung 2 übertragenen Roboter-Befehlssignal.
  • Die Werkzeugmaschine 20 bearbeitet ein nicht abgebildetes Werkstück gemäß dem von der Numerik-Steuervorrichtung 2 übertragenen Werkzeugmaschinen-Anweisungssignal. Bei der Werkzeugmaschine 20 handelt es sich beispielsweise um eine Drehmaschine, eine Bohrmaschine, eine Fräsmaschine, eine Schleifmaschine, eine Laserbearbeitungsmaschine oder eine Spritzgießmaschine, jedoch nicht ausschließlich.
  • Der Roboter 30 arbeitet unter der Steuerung durch die Roboter-Steuervorrichtung 3, um eine vorbestimmte Aufgabe an dem zu bearbeitenden Werkstück innerhalb der Werkzeugmaschine 20, die beispielsweise eine Drehmaschine ist, auszuführen. Der Roboter 30 ist beispielsweise ein Knickarmroboter und weist einen Armspitzenabschnitt 30a auf, an dem ein Werkzeug 30b zum Halten, zur maschinellen Bearbeitung oder zur Inspektion des Werkstücks angebracht ist. Ein im Folgenden beschriebenes Beispiel entspricht einem Fall, in dem der Roboter 30 ein sechsachsiger Knickarmroboter ist, ist aber nicht darauf beschränkt. Auch wenn das nachfolgend beschriebene Beispiel dem Fall entspricht, dass der Roboter 30 ein sechsachsiger Knickarmroboter ist, ist die Anzahl der Achsen nicht auf sechs beschränkt.
  • 2 ist ein Funktionsblockdiagramm der Numerik-Steuervorrichtung 2 und der Roboter-Steuervorrichtung 3 gemäß der Ausführungsform der vorliegenden Offenbarung.
  • Die Numerik-Steuervorrichtung 2 bzw. die Roboter-Steuervorrichtung 3 sind Computer, die jeweils Hardware umfassen, wie beispielsweise arithmetische Verarbeitungseinrichtungen, wie beispielsweise eine zentrale Verarbeitungseinheit (CPU), Hilfsspeichermittel, wie beispielsweise eine Festplatte (HDD) oder eine Solid State Drive (SSD), die verschiedene Arten von Computerprogrammen speichern, Hauptspeichermittel, wie beispielsweise ein Speicher mit wahlfreiem Zugriff (RAM), der Daten speichert, die das arithmetische Verarbeitungsmittel vorübergehend benötigt, um die Computerprogramme auszuführen, Betriebsmittel, wie beispielsweise eine Tastatur, mit der ein Bediener verschiedene Arten von Operationen durchführt, und Anzeigemittel, wie beispielsweise ein Display, das dem Bediener verschiedene Arten von Informationen anzeigt. Die Numerik-Steuervorrichtung 2 und die Roboter-Steuervorrichtung 3 sind in der Lage, gegenseitig verschiedene Arten von Signalen über ein Ethernet (eingetragenes Warenzeichen) zu senden und zu empfangen, zum Beispiel.
  • Zunächst wird eine ausführliche Konfiguration einer Steuerung der Numerik-Steuervorrichtung 2 beschrieben. In der Numerik-Steuervorrichtung 2 wird die oben beschriebene Hardware-Konfiguration angewendet, um eine Werkzeugmaschinen-Steuerungsfunktion zu erreichen, die die Operation der Werkzeugmaschine 20 steuert, und eine Funktion, die ein Roboter-Befehlssignal zur Steuerung von Steuerwellen des Roboters 30 erzeugt. Um diese Funktionen zu erreichen, umfasst die numerische Steuereinheit 2 insbesondere eine Nutzlast-Informations-Speichereinheit 21, eine Programm-Eingabeeinheit 22, eine Analyse-Einheit 23, eine Nutzlasteinstellungs-Auswahleinheit 24, eine Roboter-Befehlssignal-Erzeugungseinheit 25 und eine Datenübertragungs-/Empfangseinheit 26, ist aber nicht darauf beschränkt.
  • Die Nutzlastinformations-Speichereinheit 21 speichert Nutzlast-Informationen, umfassend, aber nicht beschränkt auf die Gewichte verschiedener Arten von Nutzlasten, die Schwerpunktpositionen und die Trägheit, die den Roboter 30 betreffen. Diese Nutzlast-Informationen werden zuvor vom Bediener eingegeben und in der Nutzlastinformations-Speichereinheit 21 gespeichert.
  • Zu beachten ist, dass die 3 und 4 Diagramme sind, die Beispiele für Nutzlast-Informationen darstellen. Diese Nutzlast-Informationen werden auf einem Bildschirm der Numerik-Steuervorrichtung 2 angezeigt. Wie in 3 dargestellt, wird beispielsweise eine Gruppe von einer Vielzahl von Nutzlasten, die jeweils ein Gewicht von 50 kg aufweisen, nummeriert und in der Nutzlastinformations-Speichereinheit 21 gespeichert. 4 zeigt den Inhalt von Gruppe 1, der angezeigt wird, wenn die in 3 dargestellte Gruppe 1 ausgewählt wird. In den Inhalten sind die Positionen der Schwerpunkte der Nutzlasten und die Trägheitswerte der Nutzlasten gespeichert. Wie oben beschrieben, werden pro Nutzlast ein Gewicht, die Position des Schwerpunkts und die Trägheit miteinander gegliedert und in der Nutzlastinformations-Speichereinheit 21 gespeichert.
  • Zurückkommend auf 2 wird jede der Vielzahl von Nutzlast-Informationen, die in der Nutzlastinformations-Speichereinheit 21 gespeichert sind, durch die später beschriebene Nutzlasteinstellungs-Auswahleinheit 24 als eine für den Roboter 30 einzustellende Nutzlasteinstellung ausgewählt. Das heißt, eine Nutzlasteinstellung für den Roboter 30 wird basierend auf Nutzlast-Informationen eingestellt, die das Gewicht einer Nutzlast, die Schwerpunktposition der Nutzlast und die Trägheit der Nutzlast umfassen, aber nicht darauf beschränkt sind.
  • Die Nutzlastinformations-Speichereinheit 21 speichert solche oben beschriebenen Nutzlast-Informationen gemäß einem Werkstück. Gemäß jedem Werkstück wird eine Nutzlasteinstellung für den Roboter 30 eingestellt. Darüber hinaus speichert die Nutzlastinformations-Speichereinheit 21 Nutzlast-Informationen über ein vor- und nachbearbeitetes Werkstück, d.h. ein vor- und nachbearbeitetes Werkstück, bei dem sich sein Gewicht, die Schwerpunktposition und die Trägheit aufgrund der maschinellen Bearbeitung ändern. Eine Nutzlasteinstellung für den Roboter 30 wird dann gemäß einem solchen vor- und nachbearbeiteten Werkstück eingestellt.
  • Zu beachten ist, dass die Numerik-Steuervorrichtung 2 gemäß der vorliegenden Ausführungsform zusätzlich zu der Nutzlast-Informations-Speichereinheit 21 eine Programmspeichereinheit, eine Maschinenkoordinatenwert-Speichereinheit, eine Roboterkoordinatenwert-Speichereinheit und eine Roboterlehrpositions-Speichereinheit umfasst, die in den Zeichnungen nicht dargestellt sind.
  • Die Programm-Speichereinheit speichert eine Vielzahl von numerischen Steuerprogrammen, die basierend auf verschiedenen Arten von Operationen durch den Bediener berechnet werden, zum Beispiel. Genauer gesagt speichert die Programm-Speichereinheit eine Vielzahl von Befehlsblöcken für die Werkzeugmaschine 20 zur Steuerung der Operation der Werkzeugmaschine 20 und numerische Steuerprogramme, die eine Vielzahl von Befehlsblöcken und andere Elemente für den Roboter 30 umfassen, zur Steuerung der Operation des Roboters 30. Die in der Programm-Speichereinheit gespeicherten numerischen Steuerprogramme sind in bekannten Programmiersprachen zur Steuerung der Operation der Werkzeugmaschine geschrieben, wie beispielsweise G-Code und M-Code.
  • Die Programm-Speichereinheit für Maschinenkoordinatenwerte speichert Maschinenkoordinatenwerte, die Positionen verschiedener Arten von Wellen der Werkzeugmaschine 20 angeben, die unter den oben beschriebenen numerischen Steuerprogrammen arbeitet (d.h. beispielsweise Positionen eines Fräserhalters und eines Tisches für die Werkzeugmaschine 20). Zu beachten ist, dass die Maschinenkoordinatenwerte in einem Maschinenkoordinatensystem definiert sind, in dem ein Referenzpunkt, der an einer gewünschten Position auf der Werkzeugmaschine oder in der Nähe der Werkzeugmaschine 20 angegeben ist, als Ursprung dient. Die Maschinenkoordinatenwerte, die sich unter den numerischen Steuerprogrammen sukzessive ändern, werden nacheinander durch eine nicht illustrierte Verarbeitung aktualisiert, um die neuesten Werte in der Speichereinheit für Maschinenkoordinatenwerte zu speichern.
  • Die Roboter-Koordinatenwert-Speichereinheit speichert eine Position und eine Haltung eines Steuerpunkts (beispielsweise den Armspitzenabschnitt 30a des Roboters 30) des Roboters 30, der unter der Steuerung durch die Roboter-Steuervorrichtung 3 arbeitet, mit anderen Worten, Roboter-Koordinatenwerte, die Positionen der Steuerwellen des Roboters 30 angeben. Zu beachten ist, dass diese Roboterkoordinatenwerte in einem Roboterkoordinatensystem definiert sind, das sich vom Koordinatensystem der Werkzeugmaschine unterscheidet, wie oben beschrieben. Die Roboter-Koordinatenwerte, die sich nacheinander unter den numerischen Steuerprogrammen ändern, werden nacheinander mit den Roboter-Koordinatenwerten aktualisiert, die von der Roboter-Steuervorrichtung 3 durch eine nicht-illustrierte Verarbeitung zum Speichern der neuesten Werte in der Roboter-Koordinatenwert-Speichereinheit erhalten werden.
  • Die Speichereinheit für die Roboterposition speichert die vom Bediener eingegebenen Roboterpositionen, wie beispielsweise einen Start- und einen Endpunkt für den Roboter 30, d. h. die von einem Programmierhandgerät eingegebenen Roboterpositionen oder die beispielsweise über eine Tastatur eingegebenen Positionen. Solche Lernpositionen für den Roboter 30 umfassen Roboterkoordinatenwerte, die die Positionen der Steuerwellen des Roboters 30 angeben. Diese Roboter-Koordinatenwerte werden unter dem Roboterkoordinatensystem definiert, das sich vom Koordinatensystem der Werkzeugmaschine unterscheidet.
  • Hierbei ist zu beachten, dass das Roboterkoordinatensystem ein Koordinatensystem ist, in dem ein an einer gewünschten Position auf dem Roboter 30 oder in der Nähe des Roboters 30 angegebener Referenzpunkt als Ursprung dient. Ein Fall, in dem das Roboterkoordinatensystem von dem Koordinatensystem der Werkzeugmaschine abweicht, wird im Folgenden beschrieben. Die vorliegende Offenbarung ist jedoch nicht auf diesen Fall beschränkt. Das Roboterkoordinatensystem und das Koordinatensystem der Werkzeugmaschine können miteinander übereinstimmen. Mit anderen Worten, der Ursprung und die Richtungen der Koordinatenachsen des Roboterkoordinatensystems und der Ursprung und die Richtungen der Koordinatenachsen des Koordinatensystems der Werkzeugmaschine können miteinander übereinstimmen.
  • Des Weiteren sind im Roboterkoordinatensystem die Steuerwellen zwischen zwei oder mehr verschiedenen Koordinatenformaten umschaltbar. Genauer gesagt sind in einem numerischen Steuerprogramm die Position und die Haltung des Steuerpunkts des Roboters 30 mit einem orthogonalen Koordinatenformat oder einem Gelenkkoordinatenformat angebbar.
  • Im Gelenkkoordinatenformat werden die Position und die Haltung des Steuerpunkts des Roboters 30 mit Koordinatenwerten von insgesamt sechs reellen Zahlen angegeben, die Drehwinkelwerte (J1, J2, J3, J4, J5 und J6) der sechs Gelenke des Roboters 30 als Komponenten umfassen.
  • Im orthogonalen Koordinatenformat werden die Position und die Haltung des Steuerpunkts des Roboters 30 mit Koordinatenwerten von insgesamt sechs reellen Zahlen angegeben, die jeweils drei Koordinatenwerte (X, Y und Z) entlang dreier orthogonaler Koordinatenachsen und drei Drehwinkelwerte (A, B und C) jeweils um die orthogonalen Koordinatenachsen als Komponenten umfassen.
  • Da die Drehwinkel der Gelenke des Roboters 30 unter dem Gelenkkoordinatenformat direkt angegeben sind, sind auch die Achsenanordnung der Arme und eines Handgelenks des Roboters 30 und die Drehzahlen der Gelenke, die jeweils um einen Winkel von 360 Grad oder mehr drehbar sind (im Folgenden werden sie gemeinsam als „Konfiguration des Roboters 30“ bezeichnet), eindeutig definiert. Im orthogonalen Koordinatenformat ist es dagegen nicht möglich, die Konfiguration des Roboters 30 eindeutig zu definieren, da die Position und die Haltung des Steuerpunkts des Roboters 30 durch die sechs Koordinatenwerte (X, Y, Z, A, B und C) angegeben sind. In einem numerischen Steuerprogramm für einen Roboter kann die Konfiguration einer Steuerung des Roboters 30 mit einem Konfigurationswert P angegeben werden, der ein ganzzahliger Wert mit einer vorbestimmten Anzahl von Ziffern ist. Daher werden die Position und die Haltung des Steuerpunkts des Roboters 30 und die Konfiguration des Roboters 30 durch sechs Koordinatenwerte (J1, J2, J3, J4, J5 und J6) im Koordinatenformat für Gelenke und durch sechs Koordinatenwerte und einen Konfigurationswert (X, Y, Z, A, B, C und P) im orthogonalen Koordinatenformat dargestellt.
  • Die Programmeingabeeinheit 22 liest die numerischen Steuerprogramme aus der Programm-Speichereinheit und gibt die gelesenen numerischen Steuerprogramme sukzessive in die Analyse-Einheit 23 ein. Weiterhin liest die Programmeingabeeinheit 22 Nutzlast-Informationen für den Roboter 30, die in der Nutzlastinformations-Speichereinheit 21 gespeichert sind, und gibt die gelesenen Nutzlast-Informationen in die Analyse-Einheit 23 ein.
  • Die Analyse-Einheit 23 führt eine Analyse für einen Befehlstyp pro Befehlsblock basierend auf jedem der numerischen Steuerprogramme durch, die von der Programmeingabeeinheit 22 eingegeben werden, und gibt ein Ergebnis der Analyse an eine nicht dargestellte Werkzeugmaschinen-Steuereinheit und die später beschriebene Roboterbefehlssignal-Erzeugungseinheit 25 aus. Genauer gesagt überträgt die Analyse-Einheit 23 eine Anweisung, wenn ein Anweisungstyp ihres Anweisungsblocks für die Werkzeugmaschine 20 ist, an die Steuereinheit der Werkzeugmaschine und gibt eine Anweisung, wenn ein Anweisungstyp ihres Anweisungsblocks für den Roboter 30 ist, an die Roboterbefehlssignal-Erzeugungseinheit 25 aus.
  • Die nicht dargestellte Werkzeugmaschinen-Steuereinheit erzeugt ein Werkzeugmaschinen-Steuersignal zur Steuerung der Operation der Werkzeugmaschine 20 gemäß einem Ergebnis der von der Analyse-Einheit 23 übertragenen Analyse und gibt das erzeugte Werkzeugmaschinen-Steuersignal an Aktuatoren aus, die die verschiedenen Arten von Wellen der Werkzeugmaschine 20 antreiben. Die Werkzeugmaschine 20 arbeitet gemäß dem Werkzeugmaschinensteuersignal, das von der Steuereinheit der Werkzeugmaschine eingegeben wird, um das nicht bebilderte Werkstück zu bearbeiten. Ferner aktualisiert die Werkzeugmaschinensteuereinheit nach der Steuerung der Operation der Werkzeugmaschine 20 gemäß dem numerischen Steuerprogramm, wie oben beschrieben, den Maschinenkoordinatenwert, der in der Maschinenkoordinatenwert-Speichereinheit gespeichert ist, mit dem neuesten Maschinenkoordinatenwert.
  • Ferner führt die Analyse-Einheit 23 gemäß der vorliegenden Ausführungsform eine Analyse für einen Befehlstyp pro Befehlsblock basierend auf einem numerischen Steuerprogramm durch, das von der Programmeingabeeinheit 22 eingegeben wird. Die Analyse-Einheit 23 bestimmt dann, ob der Befehlstyp einem Auswahlbefehl für eine Nutzlasteinstellung für den Roboter 30 entspricht oder nicht. Wenn als Ergebnis der Analyse-Einheit 23 festgestellt wird, dass der Befehlstyp einem Auswahlbefehl für eine Nutzlasteinstellung für den Roboter 30 entspricht, meldet die Analyse-Einheit 23 ein Ergebnis der Feststellung an die später beschriebene Nutzlasteinstellungs-Auswahleinheit 24.
  • Zu beachten ist hierbei, dass 5 ein Diagramm ist, das numerische Steueranweisungen veranschaulicht, die so eingestellt sind, dass sie den Nutzlasteinstellungen entsprechen. In einem numerischen Steuerprogramm gemäß der vorliegenden Ausführungsform wird eine numerische Steueranweisung, die jeder Nutzlasteinstellung entspricht, als ein G-Code angegeben, wie in 5 dargestellt. Beispielsweise bezeichnet die in 5 dargestellte Nr. 1 eine Nutzlasteinstellungs-Information, die der in 3 und 4 dargestellten Gruppe 1 entspricht und als G100 angegeben ist. Wie oben beschrieben, wird pro Nutzlasteinstellung ein G-Code gesetzt. Wenn einer dieser G-Codes erfasst wird, stellt die Analyse-Einheit 23 fest, dass sein Befehlstyp einem Auswahlbefehl für eine Nutzlasteinstellung für den Roboter 30 entspricht.
  • Nun zurück zu 2. Die Nutzlasteinstellungs-Auswahleinheit 24 liest eine der Nutzlast-Informationen für den Roboter 30, die in der oben beschriebenen Nutzlastinformations-Speichereinheit 21 gespeichert sind, gemäß der Mitteilung des Ergebnisses der Bestimmung durch die oben beschriebene Analyse-Einheit 23. Insbesondere liest die Nutzlasteinstellungs-Auswahleinheit 24 aus der Vielzahl der in der Nutzlastinformations-Speichereinheit 21 gespeicherten Nutzlast-Informationen basierend auf der von der Analyse-Einheit 23 ermittelten Auswahlanweisung für eine Nutzlasteinstellung für den Roboter 30 eine Nutzlast-Information aus, die der Auswahlanweisung entspricht. Die Nutzlasteinstellungs-Auswahleinheit 24 wählt dann die Nutzlast-Informationen als eine für den Roboter 30 einzustellende Nutzlasteinstellung aus. Zu beachten ist, dass die Nutzlasteinstellungs-Auswahleinheit 24 die ausgewählte Nutzlasteinstellung an die später beschriebene Roboterbefehlssignal-Erzeugungseinheit 25 meldet.
  • Für das Roboterprogramm, für das von der Analyse-Einheit 23 analysiert wird, dass ein Befehlstyp seines Befehlsblocks einem Befehl für den Roboter 30 entspricht, erzeugt die Roboterbefehlssignal-Erzeugungseinheit 25 unter den in der Programm-Speichereinheit gespeicherten Programmen ein Roboterbefehlssignal gemäß dem Roboterprogramm. Ein zu erzeugendes Roboterbefehlssignal umfasst einen Roboterprogramm-Startbefehl, der als Auslöser für den Start eines der in einer Speichervorrichtung 31, die sich auf einer Seite der Roboter-Steuervorrichtung 3 befindet, gespeicherten Roboterprogramme dient. Die Roboterbefehlssignal-Erzeugungseinheit 25 gibt das erzeugte Roboterbefehlssignal an die Datenübertragungs-/Empfangseinheit 26 aus.
  • Ferner erzeugt die Roboterbefehlssignal-Erzeugungseinheit 25 gemäß der vorliegenden Ausführungsform, wenn die von der oben beschriebenen Nutzlasteinstellungs-Auswahleinheit 24 ausgewählte Nutzlasteinstellung mitgeteilt wird, ein Nutzlasteinstellungs-Aktualisierungsbefehlssignal, das die Durchführung einer Aktualisierung mit der Nutzlasteinstellung anweist. Die Roboterbefehlssignal-Erzeugungseinheit 25 gibt das erzeugte Nutzlasteinstellungs-Aktualisierungsbefehlssignal an die später beschriebene Datenübertragungs-/Empfangseinheit 26 aus.
  • Die Datenübertragungs-/Empfangseinheit 26 überträgt und empfängt wechselseitig verschiedene Arten von Anweisungen und verschiedene Arten von Daten zu und von einer Datenübertragungs-/Empfangseinheit 32 der Roboter-Steuervorrichtung 3. Wenn ein Roboterbefehlssignal von der Roboterbefehlssignal-Erzeugungseinheit 25 geschrieben wird, gibt die Datenübertragungs-/Empfangseinheit 26 das Roboterbefehlssignal an die Datenübertragungs-/Empfangseinheit 32 der Roboter-Steuervorrichtung 3 aus.
  • Ferner überträgt die Datenübertragungs-/Empfangseinheit 26 gemäß der vorliegenden Ausführungsform das von der oben beschriebenen Roboterbefehlssignal-Erzeugungseinheit 25 ausgegebene Befehlssignal zur Aktualisierung der Nutzlasteinstellung an die später beschriebene Roboter-Steuervorrichtung 3. Das heißt, die Datenübertragungs-/Empfangseinheit 26 überträgt die von der oben beschriebenen Nutzlasteinstellungs-Auswahleinheit 24 ausgewählte Nutzlasteinstellung über die Roboterbefehlssignal-Erzeugungseinheit 25 an die Roboter-Steuervorrichtung 3. Die an die Roboter-Steuervorrichtung 3 übertragene Nutzlasteinstellung wird nach Mitteilung an die später beschriebene Nutzlasteinstellungs-Aktualisierungssteuereinheit 38 für eine inverse Dynamikberechnung für das in den Roboter 30 einzugebende Drehmoment verwendet.
  • Als nächstes wird die Konfiguration einer Steuerung der Roboter-Steuervorrichtung 3 ausführlich beschrieben. Zur Steuerung des Betriebs des Roboters 30 basierend auf einer von der numerischen Steuervorrichtung 2 übertragenen Anweisung umfasst die Robotersteuervorrichtung 3, wie in 2 dargestellt, die Speichereinheit 31, die Datenübertragungs-/Empfangseinheit 32, eine Analyse-Einheit 33, eine Roboterbefehls-Erzeugungseinheit 34, eine Programmverwaltungseinheit 35, eine Bahnsteuerungseinheit 36, eine Kinematik-Steuereinheit 37, eine Nutzlasteinstellungs-Aktualisierungssteuereinheit 38, eine Invers-Dynamik-Berechnungseinheit 39 und eine Servosteuereinheit 40, ist aber nicht darauf beschränkt.
  • Die Datenübertragungs-/Empfangseinheit 32 empfängt Roboter-Befehlssignale, die von der Datenübertragungs-/Empfangseinheit 26 der Numerik-Steuervorrichtung 2 übertragen werden. Die Datenübertragungs-/Empfangseinheit 32 gibt die empfangenen Roboter-Befehlssignale nacheinander an die Analyse-Einheit 33 aus.
  • Ferner empfängt die Datenübertragungs-/Empfangseinheit 32 gemäß der vorliegenden Ausführungsform eine Nutzlasteinstellung, die von der oben beschriebenen Nutzlasteinstellungs-Auswahleinheit 24 ausgewählt und von der Datenübertragungs-/Empfangseinheit 26 der numerischen Steuereinrichtung 2 übertragen wurde. Die empfangene Nutzlasteinstellung wird an die später beschriebene Analyse-Einheit 33 weitergeleitet.
  • Die Analyse-Einheit 33 wertet die von der Datenübertragungs-/Empfangseinheit 32 eingegebenen Roboter-Befehlssignale aus. Die Analyse-Einheit 33 gibt ein Ergebnis der Analyse an die später beschriebene Roboterbefehl-Erzeugungseinheit 34 aus.
  • Ferner meldet die Analyse-Einheit 33 gemäß der vorliegenden Ausführungsform bei Erfassung einer Nutzlasteinstellungs-Aktualisierungsanweisung Teile von NutzlastEinstellungs-Informationen an die später beschriebene Nutzlasteinstellungs-Aktualisierungssteuereinheit 38.
  • Die Nutzlasteinstellungs-Aktualisierungssteuereinheit 38 führt, wenn die Nutzlasteinstellungs-Aktualisierungsanweisung erfasst wird und die Nutzlasteinstellungs-Informationen von der oben beschriebenen Analyse-Einheit 33 mitgeteilt werden, eine Aktualisierung der mitgeteilten Nutzlasteinstellung durch. Außerdem meldet die Nutzlasteinstellungs-Aktualisierungssteuereinheit 38 die aktualisierte Nutzlasteinstellung an die später beschriebene Invers-Dynamik-Berechnungseinheit 39.
  • Die Invers-Dynamik-Berechnungseinheit 39 führt eine Invers-Dynamik-Berechnung durch, um das in den Roboter 30 einzugebende Drehmoment basierend auf der von der oben beschriebenen Nutzlasteinstellungs-Aktualisierungssteuereinheit 38 aktualisierten und mitgeteilten Nutzlasteinstellung zu berechnen. Die Invers-Dynamik-Berechnungseinheit 39 gibt das durch die Berechnung erhaltene Drehmoment an die später beschriebene Servosteuereinheit 40 aus.
  • Zu beachten ist hierbei, dass sich die inverse Dynamikberechnung für den Roboter 30 auf ein Verfahren zur Berechnung des Eingangsdrehmoments für jeden Motor bezieht, indem eine Spitzennutzlast, eine Schwerkraft und das auf den Roboter 30 ausgeübte Eigengewicht basierend auf einer gewünschten Bewegung, die aus einem Bewegungsbahnplan für den Roboter 30 (Zeitreihendaten über eine Position, eine Drehzahl und einen Beschleunigungsgrad an jedem der Gelenke) berechnet wird, berücksichtigt werden, um eine solche Reaktion zu erreichen. Zu den Verfahren, die sich auf die oben beschriebene Berechnung der inversen Dynamik beziehen, sind verschiedene numerische Berechnungsverfahren offenbart, wie beispielsweise die Methode des berechneten Drehmoments und die Newton-Euler-Methode (siehe beispielsweise die japanische unveröffentlichte Patentanmeldung Nr. H8-118275 und die japanische unveröffentlichte Patentanmeldung Nr. 2015-58520 ).
  • Die Roboterbefehl-Erzeugungseinheit 34 erzeugt, basierend auf dem Ergebnis der Analyse der von der Analyse-Einheit 33 eingegebenen Roboterbefehlssignale, Roboterbefehle gemäß den Roboterbefehlssignalen. Die Roboterbefehl-Erzeugungseinheit 34 gibt die erzeugten Roboterbefehle an die Programmverwaltungseinheit 35 aus.
  • Die Programmverwaltungseinheit 35 führt sukzessive die Roboterbefehle aus, wenn sie von der Roboterbefehls-Erzeugungseinheit 34 eingegeben werden, erzeugt einen Bewegungsplan für den Roboter 30 gemäß den oben beschriebenen Roboterbefehlssignalen und gibt den erzeugten Bewegungsplan an die Pfadsteuereinheit 36 aus.
  • Ferner fügt die Programmverwaltungseinheit 35, wenn ein von der Roboterbefehl-Erzeugungseinheit 34 eingegebener Roboterbefehl ein Block-Roboterbefehl ist, den eingegebenen Block-Roboterbefehl zu dem in der Speichereinheit 31 gespeicherten Roboterprogramm hinzu. Dadurch wird ein Roboterprogramm gemäß den von der numerischen Steuereinheit 2 übertragenen Roboterbefehlssignalen erzeugt und in der Speichereinheit 31 gespeichert. Das gespeicherte Roboterprogramm wird gestartet und abgespielt, wenn die Programmverwaltungseinheit 35 eine Roboterprogramm-Startanweisung als Roboterbefehl empfängt.
  • Die Pfadsteuereinheit 36 berechnet, wenn der Bewegungsplan von der Programmverwaltungsenheit 35 eingegeben wird, Zeitreihendaten über den Steuerpunkt des Roboters 30 und gibt die berechneten Zeitreihendaten an die Kinematiksteuereinheit 37 aus.
  • Die Kinematiksteuereinheit 37 berechnet durch eine inverse Kinematikberechnung basierend auf den eingegebenen Zeitreihendaten einen Zielwinkel für jedes der Gelenke des Roboters 30 und gibt den berechneten Zielwinkel an die Servosteuereinheit 40 aus. Zu beachten ist hierbei, dass sich die inverse kinematische Berechnung für den Roboter 30 auf ein Verfahren zur Berechnung eines Winkels für jedes der Gelenke aus einer Position und einer Haltung der Spitze des Roboters 30 bezieht.
  • Die Servosteuereinheit 40 führt eine Rückkopplungssteuerung für Servomotoren des Roboters 30 durch, um die von der Kinematiksteuereinheit 37 eingegebenen Zielwinkel zu erreichen, um Robotersteuersignale für den Roboter 30 zu erzeugen, und gibt die erzeugten Robotersteuersignale an die Servomotoren des Roboters 30 weiter.
  • Weiterhin erzeugt die Servosteuereinheit 40 gemäß der vorliegenden Ausführungsform Roboter-Steuersignale, in denen sich das von der oben beschriebenen Invers-Dynamik-Berechnungseinheit 39 berechnete Drehmoment widerspiegelt. Hierdurch ist es möglich, den Roboter 30 basierend auf der aktualisierten Nutzlasteinstellung zu steuern.
  • Als nächstes wird unter Bezugnahme auf die 6 und 7 beschrieben, wie verschiedene Arten von Signalen und verschiedene Informationen in dem wie oben beschriebenen Numerik-Steuersystem 1 fließen. Insbesondere wird ein Ablauf der Umschaltung auf eine Nutzlasteinstellung beschrieben, die gemäß einem Werkstück eingestellt ist.
  • 6 ist ein Diagramm zur Veranschaulichung eines numerischen Steuerprogramms für einen Roboter. 7 ist ein Sequenzdiagramm, das den Fluss von Signalen und Informationen zwischen der Numerik-Steuervorrichtung 2 und der Roboter-Steuervorrichtung 3 gemäß der vorliegenden Ausführungsform veranschaulicht.
  • Da eine Position des Roboters 30 zunächst nicht bekannt ist, wird zunächst „G68.8“ eingegeben und ein Gelenkkoordinatensystem gewählt, für das eine Berücksichtigung der Kinematik nicht erforderlich ist. Nach der Anweisung „G7.3 J1=_J2=_J3=_J4=_J5=_J6=_“ positioniert die Roboter-Steuervorrichtung 3 den Roboter 30 an der angegebenen Position im Roboterkoordinatensystem. Zu beachten ist, dass die Koordinatenwerte der angegebenen Position für den Roboter 30 in die Felder mit den Unterstrichen im Befehl eingegeben werden.
  • Als nächstes wird der Befehl „G68.9“ gegeben und das rechtwinklige Koordinatensystem wird ausgewählt. Mit der Anweisung „G01 X_Y_Z_A_B_C_P_“ veranlasst und positioniert die Roboter-Steuervorrichtung 3 den Roboter 30, sich im rechtwinkligen Koordinatensystem geradeaus auf die angegebene Position (die Position des Werkstücks) zu bewegen. Zu beachten ist, dass die Koordinatenwerte der angegebenen Position für den Roboter 30 in die Felder mit den Unterstrichen im Befehl eingegeben werden.
  • Als nächstes wird bei der Anweisung „M100“ und dem Schließen der Hand des Roboters 30 durch die Roboter-Steuervorrichtung 3 ein Werkstück 1 gehalten. Danach wird bei der Anweisung mit dem oben beschriebenen G-Code „G100“ eine zuvor in der Nutzlastinformations-Speichereinheit 21 gespeicherte Nutzlasteinstellung 1 ausgewählt, die dem gehaltenen Werkstück 1 entspricht. Die ausgewählte Nutzlasteinstellung 1 wird an die Seite der Roboter-Steuervorrichtung 3 übertragen. Die Nutzlasteinstellungs-Aktualisierungssteuereinheit 38 aktualisiert daraufhin die bisherige Nutzlasteinstellung mit der neu gemeldeten Nutzlasteinstellung 1. Die Invers-Dynamik-Berechnungseinheit 39 führt daraufhin eine Invers-Dynamik-Berechnung basierend auf der aktualisierten Nutzlasteinstellung 1 durch. Der Roboter 30 wird dann gemäß einer Steueranweisung für die Robotersteuerung gesteuert, in der das berechnete Eingangsdrehmoment berücksichtigt wird.
  • Als nächstes wird die Umschaltung von der Nutzlasteinstellung 1 auf eine Nutzlasteinstellung 2 durchgeführt. Zunächst wird der Befehl „G68.8“ gegeben, und das Gelenkkoordinatensystem wird ausgewählt. Mit der Anweisung „G7.3 J1=_J2=_J3=_J4=_J5=_J6=_“ positioniert die Roboter-Steuervorrichtung 3 den Roboter 30 an der angegebenen Position im Roboterkoordinatensystem.
  • Als nächstes wird die Anweisung „G68.9“ gegeben und das rechtwinklige Koordinatensystem gewählt. Nach der Anweisung „G01 X_Y_Z_A_B_C_P_“ veranlasst und positioniert die Roboter-Steuervorrichtung 3 den Roboter 30, sich im rechtwinkligen Koordinatensystem geradeaus auf die angegebene Position (die Position des Werkstücks) zu bewegen.
  • Als Nächstes, wenn die Anweisung „M100“ gegeben wird und die Roboter-Steuervorrichtung 3 das Schließen der Hand des Roboters 30 bewirkt, wird ein Werkstück 2 gehalten. Danach wird mit der Anweisung „G101“ die zuvor in der Nutzlastinformations-Speichereinheit 21 gespeicherte Nutzlasteinstellung 2 ausgewählt, die dem gehaltenen Werkstück 2 entspricht. Die ausgewählte Nutzlasteinstellung 2 wird an die Seite der Roboter-Steuervorrichtung 3 übertragen. Die Nutzlasteinstellungs-Aktualisierungssteuereinheit 38 aktualisiert daraufhin die bisher ausgewiesene Nutzlasteinstellung 1 mit der neu gemeldeten Nutzlasteinstellung 2. Die Invers-Dynamik-Berechnungseinheit 39 führt daraufhin eine Invers-Dynamik-Berechnung basierend auf der aktualisierten Nutzlasteinstellung 2 durch. Der Roboter 30 wird dann gemäß einer Steueranweisung für die Robotersteuerung gesteuert, in der das berechnete Eingangsdrehmoment berücksichtigt wird.
  • In dem Numerik-Steuersystem 1 gemäß der vorliegenden Ausführungsform ist es, wie oben beschrieben, möglich, eine Umschaltung auf eine Nutzlasteinstellung für den Roboter 30 gemäß einem Werkstück unter einer von einer Seite der Numerik-Steuervorrichtung 2 übertragenen Numerik-Steuervorrichtung durchzuführen.
  • Als nächstes wird ein Ablauf der Umschaltung auf eine Nutzlasteinstellung, die gemäß einem vor- und nachbearbeiteten Werkstück eingestellt wird, unter Bezugnahme auf 8 beschrieben.
  • 8 ist ein Diagramm, das ein numerisches Steuerprogramm einer Werkzeugmaschine und ein numerisches Steuerprogramm eines Roboters zeigt. 8 zeigt, parallel zueinander, das numerische Steuerprogramm der Werkzeugmaschine auf der linken Seite und das numerische Steuerprogramm des Roboters, das dem numerischen Steuerprogramm der Werkzeugmaschine auf der rechten Seite entspricht.
  • Bei der sequentiellen Anweisung mit „G68.9“, „G01 X_Y_Z_A_B_C_P_“, „M101“ und „G101“ im numerischen Steuerprogramm des Roboters veranlasst und positioniert die Numerik-Steuervorrichtung 3 zunächst den Roboter 30, sich geradeaus auf die angegebene Position (die Position des Werkstücks) im rechtwinkligen Koordinatensystem zuzubewegen, und veranlasst dann, dass sich die Hand des Roboters 30 schließt, das Werkstück 1 wird gehalten. Die Nutzlasteinstellung des Roboters 30 ist damit auf die Nutzlasteinstellung 2 (das Werkstück 1 ist vorbearbeitet) umgeschaltet.
  • Als nächstes wird nacheinander mit „M200 (Tür öffnen)“, „G01 X_Y_Z_A_B_C_P_; (Einfahren)“, „G01 X_Y_Z_A_B_C_P_; (Position vor dem Spannfutter)“, „M210 (Spannfutter öffnen)“, „G01 X_Y_Z_A_B_C_P_; (Position des Spannfutters)“, „M211 (Spannfutter schließen)“, „M100 (Hand öffnen)“ und „G100“ im numerischen Steuerprogramm des Roboters wird das Werkstück 1 in die Werkzeugmaschine 20 geladen. Nach dem Einlegen des Werkstücks 1 wird die Nutzlasteinstellung für den Roboter 30 auf die Nutzlasteinstellung 1 (keine Nutzlast) umgeschaltet.
  • Danach werden in das numerische Steuerprogramm des Roboters nacheinander „G01 X_Y_Z_A_B_C_P_; (Aus der Maschine herausziehen)“ und „M201 (Tür schließen)“ eingegeben, was den Roboter 30 veranlasst, sich nach außen zur Werkzeugmaschine 20 zurückzuziehen. Zu diesem Zeitpunkt wird im numerischen Steuerprogramm der Werkzeugmaschine die Anweisung „M300“ gegeben, um auf den Abschluss der Beladung durch den Roboter 30 zu warten. Des Weiteren wird er mit „M300“ im numerischen Steuerprogramm des Roboters angewiesen, auf ein Rendezvous mit der Werkzeugmaschine 20 zu warten.
  • Anschließend wird im numerischen Steuerprogramm der Werkzeugmaschine nacheinander mit „G00 X_Y_Z_“, „S1000“ und „G01 X_Y_Z_F4000“ die maschinelle Bearbeitung des geladenen Werkstücks 1 veranlasst. Nach Abschluss der maschinellen Bearbeitung werden nacheinander die Befehle „G00 X_Y_Z_“, „M301“, „M302“ und „M30“ erteilt, wodurch sich die Wellen in die Eingangsposition des Roboters zurückziehen und auf ein Rendezvous mit dem Roboter 30 und den Abschluss des Entladevorgangs warten. Danach endet das Programm.
  • Andererseits wird mit „M301“ im numerischen Steuerprogramm des Roboters angewiesen, das Warten auf den Abschluss der maschinellen Bearbeitung auszuführen. Nach Beendigung der maschinellen Bearbeitung wird er nacheinander mit „M200 (Tür öffnen)“, „G01 X_Y_Z_A_B_C_P_; (Eintritt)“, „G01 X_Y_Z_A_B_C_P_; (Position des Spannfutters)“, „M101 (Hand schließen)“ und „G102“ angewiesen, das nachbearbeitete Werkstück 1 zu entladen. Die Nutzlasteinstellung des Roboters 30 wird dann auf eine Nutzlasteinstellung 3 (das Werkstück 1 wird nachbearbeitet) umgeschaltet. Danach wird er nacheinander mit „M210 (Spannfutter öffnen)“, „G01 X_Y_Z_A_B_C_P_; (Aus Maschine rausziehen)“, „M201 (Tür schließen)“, „M302“ und „M30“ instruiert. Danach endet das Programm.
  • In dem Numerik-Steuersystem 1 gemäß der vorliegenden Ausführungsform ist es, wie oben beschrieben, möglich, eine Umschaltung auf eine Nutzlasteinstellung für den Roboter 30 in Abhängigkeit von einem vor- und nachbearbeiteten Werkstück unter einer von der Seite der Numerik-Steuervorrichtung 2 übertragenen Numerik-Steuervorrichtung durchzuführen.
  • Gemäß der vorliegenden Ausführungsform ist es möglich, die im Folgenden beschriebenen Effekte zu erzielen.
  • Die Numerik-Steuervorrichtung 2 gemäß der vorliegenden Ausführungsform umfasst die Nutzlasteinstellungs-Auswahleinheit 24, die entsprechend einer von der Analyse-Einheit 23 analysierten numerischen Steueranweisung des Roboters 30 aus einer Vielzahl von Nutzlast-Informationen eine für den Roboter 30 zu setzende Nutzlasteinstellung auswählt. Darüber hinaus umfasst die Numerik-Steuervorrichtung 2 gemäß der vorliegenden Ausführungsform die Datenübertragungs-/Empfangseinheit 26, die die von der Nutzlasteinstellungs-Auswahleinheit 24 ausgewählte Nutzlasteinstellung an die Nutzlasteinstellungs-Aktualisierungssteuereinheit 38 der Roboter-Steuervorrichtung 3 über die Roboterbefehlssignal-Erzeugungseinheit 25 überträgt und dadurch die Nutzlasteinstellung in einer Invers-Dynamik-Berechnung für ein in den Roboter 30 einzugebendes Drehmoment wiedergibt.
  • Dadurch ist es möglich, eine Nutzlasteinstellung für den Roboter 30 aus einem numerischen Steuerprogramm dynamisch zu verändern. Es ist also möglich, eine Nutzlasteinstellung für den Roboter 30 von der Numerik-Steuervorrichtung 2 aus automatisch umzuschalten. Auch bei einem Werkstückwechsel während eines laufenden Bearbeitungsprogramms der Werkzeugmaschine 20 ist es somit möglich, eine Nutzlasteinstellung für den Roboter 30 von der numerischen Steuersteuerung 2 automatisch umzuschalten. Dadurch kann eine Operation-Zykluszeit des Roboters 30 minimiert werden.
  • Des Weiteren weist die Numerik-Steuervorrichtung 2 gemäß der vorliegenden Ausführungsform eine Konfiguration auf, bei der eine Nutzlasteinstellung basierend auf Positionsinformationen einschließlich des Gewichts einer Nutzlast, der Schwerpunktposition der Nutzlast und der Trägheit der Nutzlast eingestellt wird. Darüber hinaus wurde eine solche Konfiguration angewendet, dass es möglich ist, eine Nutzlasteinstellung gemäß einem Werkstück einzustellen. Es ist auch möglich, eine Nutzlasteinstellung gemäß einem vor- und nachbearbeiteten Werkstück vorzunehmen. Dadurch kann eine optimalere Nutzlasteinstellung erreicht werden. Dadurch kann eine Operation-Zykluszeit des Roboters 30 sicherer minimiert werden.
  • Weiterhin ist es mit dem Numerik-Steuersystem 1 gemäß der vorliegenden Ausführungsform, das die oben beschriebene Numerik-Steuervorrichtung 2 umfasst, möglich, ähnliche Arbeitsweisen und Effekte wie die oben beschriebenen zu erzielen.
  • Es ist zu beachten, dass die vorliegende Offenbarung nicht auf die oben beschriebene Ausführungsform beschränkt ist. Die vorliegende Offenbarung kann jedoch in vielfältiger Weise geändert und modifiziert werden.
  • In der oben beschriebenen Ausführungsform ist beispielsweise die Nutzlastinformations-Speichereinheit 21, die Nutzlast-Informationen speichert, die beispielsweise das Gewicht einer Nutzlast, die Schwerpunktposition der Nutzlast und die Trägheit der Nutzlast umfassen, in einer numerischen Steuereinheit vorgesehen. Die vorliegende Offenbarung ist jedoch nicht darauf beschränkt, eine solche Konfiguration aufzuweisen. Eine Nutzlastinformations-Speichereinheit, die Nutzlast-Informationen, die die oben beschriebenen umfassen, speichert, kann beispielsweise in der Roboter-Steuervorrichtung 3 oder einer externen Vorrichtung vorgesehen sein.
  • ERLÄUTERUNG DER BEZUGSZEICHEN
  • 1
    Numerik-Steuersystem
    2
    Numerik-Steuervorrichtung
    3
    Roboter-Steuervorrichtung
    20
    Werkzeugmaschine
    21
    Nutzlastinformations-Speichereinheit
    22
    Programmeingabeeinheit
    23
    Analyse-Einheit
    24
    Nutzlasteinstellungs-Auswahleinheit
    25
    Roboterbefehlssignal-Erzeugungseinheit
    26
    Datenübertragungs-/Empfangseinheit (Übertragungseinheit)
    30
    Roboter
    31
    Speichereinheit
    32
    Datenübertragungs-/Empfangseinheit (Empfangseinheit)
    33
    Analyse-Einheit
    34
    Roboterbefehl-Erzeugungseinheit
    35
    Programmverwaltungseinheit
    36
    Pfadsteuereinheit
    37
    Kinematiksteuereinheit
    38
    Nutzlasteinstellungs-Aktualisierungssteuereinheit
    39
    Invers-Dynamik-Berechnungseinheit
    40
    Servosteuereinheit
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 5752179 [0004]
    • JP H8118275 [0050]
    • JP 201558520 [0050]

Claims (5)

  1. Numerik-Steuervorrichtung, umfassend: eine Analyse-Einheit, die eine numerische Steueranweisung für einen Roboter in einem numerischen Steuerprogramm analysiert; eine Roboterbefehlssignal-Erzeugungseinheit, die ein Roboterbefehlssignal erzeugt, das gemäß dem von der Analyse-Einheit analysierten numerischen Roboter-Steuerbefehl an eine Roboter-Steuervorrichtung zu übertragen ist; eine Nutzlasteinstellungs-Auswahleinheit, die eine für einen Roboter einzustellende Nutzlasteinstellung aus einer Vielzahl von Nutzlast-Informationen gemäß der von der Analyse-Einheit analysierten numerischen Steueranweisung für den Roboter auswählt; und eine Übertragungseinheit, die die von der Nutzlasteinstellungs-Auswahleinheit ausgewählte Nutzlasteinstellung über die Roboterbefehlssignal-Erzeugungseinheit an eine Nutzlasteinstellungs-Aktualisierungssteuereinheit der Roboter-Steuervorrichtung überträgt und dadurch die Nutzlasteinstellung in einer Invers-Dynamik-Berechnungseinheit für ein in den Roboter einzugebendes Drehmoment widerspiegelt.
  2. Numerik-Steuervorrichtung gemäß Anspruch 1, wobei die Nutzlasteinstellung basierend auf Nutzlast-Informationen eingestellt wird, die ein Gewicht einer Nutzlast, eine Position einer Schwerpunktposition der Nutzlast und eine Trägheit der Nutzlast umfassen.
  3. Numerik-Steuervorrichtung gemäß Anspruch 1 oder 2, wobei die Nutzlasteinstellung gemäß einem Werkstück eingestellt wird.
  4. Numerik-Steuervorrichtung gemäß einem der Ansprüche 1 bis 3, wobei die Nutzlasteinstellung in Abhängigkeit von einem vor- und nachbearbeiteten Werkstück erfolgt.
  5. Numerik-Steuersystem, umfassend: die Numerik-Steuervorrichtung gemäß einem der Ansprüche 1 bis 4; und eine Roboter-Steuervorrichtung, wobei die Roboter-Steuervorrichtung umfasst: eine Empfangseinheit, die die von der Nutzlasteinstellungs-Auswahleinheit ausgewählte und von der Übertragungseinheit übertragene Nutzlasteinstellung empfängt; eine Nutzlasteinstellungs-Aktualisierungssteuereinheit, die eine Aktualisierung mit der von der Empfangseinheit empfangenen Nutzlasteinstellung durchführt; und eine Invers-Dynamik-Berechnungseinheit, die eine Invers-Dynamik-Berechnung durchführt, um ein in den Roboter einzugebendes Drehmoment basierend auf der von der Nutzlasteinstellungs-Aktualisierungssteuereinheit aktualisierten Nutzlasteinstellung zu berechnen.
DE112021007017.7T 2021-04-23 2021-04-23 Numerik-Steuervorrichtung und Numerik-Steuersystem Pending DE112021007017T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/016413 WO2022224425A1 (ja) 2021-04-23 2021-04-23 数値制御装置及び数値制御システム

Publications (1)

Publication Number Publication Date
DE112021007017T5 true DE112021007017T5 (de) 2023-12-14

Family

ID=83722106

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021007017.7T Pending DE112021007017T5 (de) 2021-04-23 2021-04-23 Numerik-Steuervorrichtung und Numerik-Steuersystem

Country Status (6)

Country Link
US (1) US20240219885A1 (de)
JP (1) JPWO2022224425A1 (de)
CN (1) CN117157596A (de)
DE (1) DE112021007017T5 (de)
TW (1) TW202244643A (de)
WO (1) WO2022224425A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024100721A1 (ja) * 2022-11-07 2024-05-16 ファナック株式会社 数値制御装置及び数値制御システム
JP7260727B1 (ja) * 2022-11-07 2023-04-18 ファナック株式会社 数値制御装置及び数値制御システム
WO2024100719A1 (ja) * 2022-11-07 2024-05-16 ファナック株式会社 数値制御装置
WO2024100718A1 (ja) * 2022-11-07 2024-05-16 ファナック株式会社 数値制御装置及び数値制御システム
WO2024116221A1 (ja) * 2022-11-28 2024-06-06 ファナック株式会社 数値制御装置及び数値制御システム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08118275A (ja) 1994-10-19 1996-05-14 Toyota Central Res & Dev Lab Inc マニピュレータの制御装置
JP2015058520A (ja) 2013-09-20 2015-03-30 株式会社デンソーウェーブ ロボット制御装置およびロボット制御方法
JP5752179B2 (ja) 2013-06-11 2015-07-22 ファナック株式会社 工作機械とロボットを制御する制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006263916A (ja) * 2001-05-08 2006-10-05 Mitsubishi Electric Corp ロボット制御装置
JP2017213631A (ja) * 2016-05-31 2017-12-07 株式会社デンソーアイティーラボラトリ ロボットアーム制御装置、ロボットアーム制御方法、およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08118275A (ja) 1994-10-19 1996-05-14 Toyota Central Res & Dev Lab Inc マニピュレータの制御装置
JP5752179B2 (ja) 2013-06-11 2015-07-22 ファナック株式会社 工作機械とロボットを制御する制御装置
JP2015058520A (ja) 2013-09-20 2015-03-30 株式会社デンソーウェーブ ロボット制御装置およびロボット制御方法

Also Published As

Publication number Publication date
TW202244643A (zh) 2022-11-16
US20240219885A1 (en) 2024-07-04
WO2022224425A1 (ja) 2022-10-27
CN117157596A (zh) 2023-12-01
JPWO2022224425A1 (de) 2022-10-27

Similar Documents

Publication Publication Date Title
DE112021007017T5 (de) Numerik-Steuervorrichtung und Numerik-Steuersystem
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102017011251B4 (de) Robotersteuerung mit Funktion, die ein Lernen vereinfacht, und Robotersteuerverfahren
DE69032185T2 (de) Verfahren und Vorrichtung zur Kontrolle der Bearbeitungsspur eines Industrieroboters
DE102011110111B4 (de) Numerische Steuerung einer mehrachsigen Werkzeugmaschine für das Steuern der Lage der Tool Center Point Position
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE102009003003B4 (de) Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
DE112009004603T5 (de) Numerische Steuervorrichtung und Verfahren zum Steuern dernumerischen Steuervorrichtung
EP2500148A1 (de) Verfahren und Vorrichtung zum Steuern eines Roboters mit Hilfe eines virtuellen Modells des Roboters
DE102017001131A1 (de) Verfahren und System zum Betreiben eines Roboters
DE102018221127A1 (de) Robotersystem
DE102015009210A1 (de) Numerische Steuerung mit Unterstützung eines linkshändigen Koordinatensystems
DE112019007579B4 (de) Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE112021005055T5 (de) Numerisches Steuersystem und Verfahren zum Steuern von Industriemaschinen
DE112021004248T5 (de) Numerisches Steuersystem und Robotersteuerverfahren
DE102020122847A1 (de) Steuersystem, steuerapparatur und roboter
DE112021005180T5 (de) Numerische Steuervorrichtung und numerisches Steuersystem
DE112008003870T5 (de) Verfahren und System zum Steuern eines Industrieroboters in Übereinstimmung mit einem Bewegungssteuerungs-Parametersatz
DE102022104525A1 (de) Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm
DE112022000487T5 (de) Befehlserzeugungsvorrichtung und Computerprogramm
EP2199882A1 (de) Verfahren und Rechner zur Erzeugung eines Steuerbefehls eines Teileprogramms
EP3712724A1 (de) Automatisierungsanordnung, verfahren zum betrieb der automatisierungsanordnung sowie computerprogramm