DE112019007579T5 - Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät - Google Patents

Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät Download PDF

Info

Publication number
DE112019007579T5
DE112019007579T5 DE112019007579.9T DE112019007579T DE112019007579T5 DE 112019007579 T5 DE112019007579 T5 DE 112019007579T5 DE 112019007579 T DE112019007579 T DE 112019007579T DE 112019007579 T5 DE112019007579 T5 DE 112019007579T5
Authority
DE
Germany
Prior art keywords
robot
collision
unit
machine tool
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112019007579.9T
Other languages
English (en)
Other versions
DE112019007579B4 (de
Inventor
Masakazu Sagasaki
Kensuke Baba
Takashi SUEDA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112019007579T5 publication Critical patent/DE112019007579T5/de
Application granted granted Critical
Publication of DE112019007579B4 publication Critical patent/DE112019007579B4/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/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/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/406Numerical 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 monitoring or safety
    • G05B19/4061Avoiding collision or forbidden zones
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

Eine Numerische-Steuerung-Vorrichtung (IX) umfasst eine Maschinenbewegungsberechnungseinheit (801), welche eine Position einer ersten Komponente, welche in einer Werkzeugmaschine (100) enthalten ist, an einem spezifischen Zeitpunkt unter Verwendung eines Maschinenmodells (811) und unter Verwendung von ersten Positionsdaten, die zum Steuern der Position der ersten Komponente dienen, berechnet, eine Roboterbewegungsberechnungseinheit (802), welche eine Position einer zweiten Komponente, welche in einem Roboter (60) enthalten ist, an dem spezifischen Zeitpunkt unter Verwendung eines Robotermodells (812) und unter Verwendung von zweiten Positionsdaten, die zum Steuern der Position der zweiten Komponente dienen, berechnet, und eine Zusammentreffenprüfungseinheit (803), welche basierend auf der Position der ersten Komponente und auf der Position der zweiten Komponente bestimmt, ob die Werkzeugmaschine (100) und der Roboter (60) miteinander kollidieren.

Description

  • Bereich
  • Die vorliegende Erfindung betrifft eine Numerische-Steuerung-Vorrichtung, welche einen Roboter und eine Werkzeugmaschine steuert, und ein Maschinelles-Lernen-Gerät.
  • Hintergrund
  • Ein Typ einer Numerische-Steuerung-Vorrichtung ist ein Steuerungsgerät, welches eine Werkzeugmaschine, welche eine Maschinenbearbeitung eines zu maschinenbearbeitenden Objekts durchführt, und einen Roboter, welcher das zu maschinenbearbeitende Objekt befördert und maschinenbearbeitet, parallel steuert.
  • Die Numerische-Steuerung-Vorrichtung, welche in Patentliteratur 1 beschrieben ist, zeigt dreidimensionale Modelle eines Roboters und einer Werkzeugmaschine auf einem Anzeigegerät basierend auf der Betriebsposition des Roboters zu einer spezifischen vergangenen Zeit und auf der Betriebsposition der Werkzeugmaschine an der spezifischen vergangenen Zeit an.
  • Zitierungsliste
  • Patentliteratur
  • Patentliteratur 1: japanisches Patent, Nummer 4653836
  • Übersicht
  • Technisches Problem
  • Die oben beschriebene Technologie der Patentliteratur 1 zeigt zuvor eine Bewegung des Roboters und eine Bewegung der Werkzeugmaschine an, hat jedoch ein Problem dahingehend, dass es ihr nicht möglich ist, zu bestimmen, ob die Werkzeugmaschine und der Roboter miteinander kollidieren werden.
  • Die vorliegende Erfindung wurde in Anbetracht des Obigen gemacht, und es ist ein Ziel der vorliegenden Erfindung, eine Numerische-Steuerung-Vorrichtung bereitzustellen, welche fähig ist, zu bestimmen, ob die Werkzeugmaschine und der Roboter miteinander kollidieren werden.
  • Lösung des Problems
  • Um das Problem zu lösen und das oben beschriebene Ziel zu erreichen, umfasst eine Numerische-Steuerung-Vorrichtung gemäß der vorliegenden Erfindung: eine Maschinenbewegungsberechnungseinheit, welche eine Position einer ersten Komponente, die in einer Werkzeugmaschine enthalten ist, an einem spezifischen Zeitpunkt unter Verwendung eines Maschinenmodells und unter Verwendung von ersten Positionsdaten berechnet, wobei das Maschinenmodell Daten zur Simulation einer Bewegung der Werkzeugmaschine ist, wobei die ersten Positionsdaten zum Steuern der Position der ersten Komponente dienen. Ferner umfasst die Numerische-Steuerung-Vorrichtung gemäß der vorliegenden Erfindung eine Roboterbewegungsberechnungseinheit, welche eine Position einer zweiten Komponente, die in einem Roboter enthalten ist, an dem spezifischen Zeitpunkt unter Verwendung eines Robotermodells und unter Verwendung von zweiten Positionsdaten berechnet, wobei das Robotermodell Daten zur Simulation einer Bewegung des Roboters ist, wobei die zweiten Positionsdaten zum Steuern der Position der zweiten Komponente dienen. Ferner umfasst die Numerische-Steuerung-Vorrichtung gemäß der vorliegenden Erfindung eine Kollisionsbestimmungseinheit, welche basierend auf der Position der ersten Komponente und auf der Position der zweiten Komponente bestimmt, ob die Werkzeugmaschine und der Roboter miteinander kollidieren.
  • Vorteilhafte Wirkungen der Erfindung
  • Eine Numerische-Steuerung-Vorrichtung gemäß der vorliegenden Erfindung bewirkt, dass sie fähig ist, zu bestimmen, ob die Werkzeugmaschine und der Roboter miteinander kollidieren werden.
  • Figurenliste
    • 1 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß einer ersten Ausführungsform zeigt.
    • 2 ist ein Diagramm, welches einen beispielhaften räumlichen Zusammenhang zwischen der Werkzeugmaschine und dem Roboter zeigt, die beide von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform gesteuert werden.
    • 3 ist ein Diagramm, welches ein erstes Beispiel einer Bildschirmdarstellung zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform gerendert wurde.
    • 4 ist ein Diagramm, welches ein zweites Beispiel einer Bildschirmdarstellung zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform gerendert wurde.
    • 5 ist ein Diagramm, welches ein drittes Beispiel einer Bildschirmdarstellung zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform gerendert wurde.
    • 6 ist ein Diagramm zum Beschreiben eines Zusammentreffens einer Roboterhand und dem Gehäuse der Werkzeugmaschine, was von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform detektiert wird.
    • 7 ist ein Diagramm zum Beschreiben eines Zusammentreffens eines Roboterarms und eines Mechanismus, der außerhalb der Werkzeugmaschine angeordnet ist, was von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform detektiert wird.
    • 8 ist ein Ablaufdiagramm, welches eine Prozedur einer Zusammentreffensprüfung zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß ersten Ausführungsform durchgeführt wird.
    • 9 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß einer zweiten Ausführungsform zeigt.
    • 10 ist ein Diagramm zum Beschreiben einer ersten beispielhaften Zusammentreffenverhinderungshandlung, welche von der Numerische-Steuerung-Vorrichtung gemäß der zweiten Ausführungsform durchgeführt wird.
    • 11 ist ein Diagramm zum Beschreiben einer zweiten beispielhaften Zusammentreffenverhinderungshandlung, welche von der Numerische-Steuerung-Vorrichtung gemäß der zweiten Ausführungsform durchgeführt wird.
    • 12 ist ein Ablaufdiagramm, welches eine Prozedur einer Zusammentreffensprüfung zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der zweiten Ausführungsform durchgeführt wird.
    • 13 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß einer dritten Ausführungsform zeigt.
    • 14 ist ein Diagramm zum Beschreiben von Bewegungen des Roboters und der Werkzeugmaschine, wenn eine Arbeitssimulation von der Numerische-Steuerung-Vorrichtung gemäß der dritten Ausführungsform durchgeführt wird.
    • 15 ist ein Diagramm, welches ein Beispiel einer angezeigten Bildschirmdarstellung zeigt, wenn die in 14 gezeigte Arbeitssimulation durchgeführt wird.
    • 16 ist ein Diagramm, welches ein Beispiel einer herangezoomten Darstellung der Form des Werkstücks an der in 15 gezeigten Anfasungsposition zeigt.
    • 17 ist ein Ablaufdiagramm, welches eine Prozedur einer Arbeitssimulation zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der dritten Ausführungsform durchgeführt wird.
    • 18 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß einer vierten Ausführungsform zeigt.
    • 19 ist ein Diagramm, welches eine beispielhafte Konfiguration eines Bedienfeldes zeigt, welches in der Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform enthalten ist.
    • 20 ist ein Diagramm, welches ein Beispiel eines Zusammentreffensalarms zeigt, welcher auf der Anzeigeeinheit angezeigt wird, welche in der Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform enthalten ist.
    • 21 ist ein Diagramm zum Beschreiben einer beispielhaften Zusammentreffenverhinderungshandlung, welche von der Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform durchgeführt wird.
    • 22 ist ein Ablaufdiagramm, welches eine Prozedur einer Zusammentreffensprüfung und einer Zusammentreffensverhinderung zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform durchgeführt werden.
    • 23 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß einer fünften Ausführungsform zeigt.
    • 24 ist ein Diagramm, welches eine beispielhafte Hardwarekonfiguration der Steuerungsberechnungseinheiten zeigt, welche in den Numerische-Steuerung-Vorrichtungen gemäß den Ausführungsformen enthalten sind.
  • Beschreibung von Ausführungsformen
  • Eine Numerische-Steuerung-Vorrichtung und ein Maschinelles-Lernen-Gerät gemäß Ausführungsformen der vorliegenden Erfindung werden nachfolgend im Detail mit Bezug zu den Zeichnungen beschrieben. Es ist zu beachten, dass diese Ausführungsformen nicht dazu gedacht sind, den Umfang dieser Erfindung zu begrenzen.
  • Erste Ausführungsform.
  • 1 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß einer ersten Ausführungsform zeigt. Eine Numerische-Steuerung-Vorrichtung 1X umfasst eine Steuerungsberechnungseinheit 2X, eine Eingabebedienungseinheit 3, eine Anzeigeeinheit 4 und eine Speicherprogrammierbare-Steuerung (SPS)-Bedieneinheit 5, wie beispielsweise ein Maschinenbedienfeld zum Bedienen einer SPS 36. Zusätzlich zu der Numerische-Steuerung-Vorrichtung 1X zeigt 1 ferner eine Werkzeugmaschine 100, eine Robotersteuerung 50 und einen Roboter 60. Ein Steuerungssystem ist ein System, welches die Numerische-Steuerung-Vorrichtung 1X, die Werkzeugmaschine 100, die Robotersteuerung 50 und den Roboter 60 umfasst.
  • Die Numerische-Steuerung-Vorrichtung 1X kommuniziert mit jeder von mehreren Servosteuerungseinheiten in einer Antriebseinheit 90 und kommuniziert auch mit der Robotersteuerung 50. Die Numerische-Steuerung-Vorrichtung 1X ist ein Computer, welcher die Werkzeugmaschine 100 dazu veranlasst, ein Werkstück (d. h. ein zu maschinenbearbeitendes Objekt) unter Verwendung eines Werkzeugs zu maschinenbearbeiten, und veranlasst den Roboter 60 dazu, das Werkstück zu befördern. Die Numerische-Steuerung-Vorrichtung 1X steuert die Werkzeugmaschine 100 und den Roboter 60 unter Verwendung eines Numerische-Steuerung (NC)-Programms, wie beispielsweise einem G-Code-Programm. Ein NC-Programm, welches ein Maschinenbearbeitungsprogramm ist, umfasst Befehle, die an die Werkzeugmaschine 100 gerichtet sind, und Befehle, die an den Roboter 60 gerichtet sind. Die Numerische-Steuerung-Vorrichtung 1X konvertiert an den Roboter 60 gerichtete Befehle des NC-Programms in Befehle eines Roboterprogramms, um den Roboter 60 zu steuern.
  • Die Numerische-Steuerung-Vorrichtung 1X der vorliegenden Ausführungsform bestimmt, ob der Roboter 60 und die Werkzeugmaschine 100 zusammentreffen werden, und erzeugt einen Alarm, wenn ein Zusammentreffen auftreten wird. Das Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 ist gleichbedeutend mit einer Kollision zwischen der Werkzeugmaschine 100 und dem Roboter 60. Das Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 kann ein Zusammentreffen eines von dem Roboter 60 gehaltenen Werkzeugs und der Werkzeugmaschine 100, ein Zusammentreffen eines von der Werkzeugmaschine 100 gehaltenen Werkzeugs und des Roboters 60 und ein Zusammentreffen eines von dem Roboter 60 gehaltenen Werkzeugs und eines von der Werkzeugmaschine 100 gehaltenen Werkzeugs umfassen.
  • Die Werkzeugmaschine 100 umfasst die Antriebseinheit 90, welche ein Werkzeug und ein Werkstück antreibt. Ein Beispiel der Antriebseinheit 90 ist ein Antriebsmechanismus, welcher das Werkzeug antreibt, während das Werkstück rotiert wird. In der ersten Ausführungsform wird das Werkzeug in zwei Richtungen angetrieben, welche beispielsweise eine Richtung parallel zu der X-Achsenrichtung und eine Richtung parallel zu der Z-Achsenrichtung sind. Es ist zu beachten, dass, weil die Achsenrichtungen nicht auf die obigen Richtungen begrenzt sind, die Achsenrichtungen von der Konfiguration der Vorrichtung abhängen.
  • Die Antriebseinheit 90 umfasst Servomotoren 901 und 902, welche das Werkzeug in den jeweiligen Achsenrichtungen, die an der Numerische-Steuerung-Vorrichtung 1X definiert sind, bewegen; und Detektoren 97 und 98, welche die Positionen und die Geschwindigkeiten der Servomotoren 901 bzw. 902 detektieren. Die Antriebseinheit 90 umfasst ferner den jeweiligen Achsenrichtungen zugeordnete Servosteuerungseinheiten, welche die Servomotoren 901 bzw. 902 basierend auf einem Befehl von der Numerische-Steuerung-Vorrichtung 1X steuern. Die Servosteuerungseinheiten der Achsenrichtungen führen eine rückgekoppelte Steuerung der Servomotoren 901 und 902 basierend auf einer Information von den Detektoren 97 bzw. 98 über die Positionen und die Geschwindigkeiten durch.
  • Eine X-Achsen-Servosteuerungseinheit 91 der Servosteuerungseinheiten steuert den Servomotor 901, um eine Bewegung des Werkzeugs in der X-Achsenrichtung zu steuern, und eine Z-Achsen-Servosteuerungseinheit 92 der Servosteuerungseinheiten steuert den Servomotor 902, um eine Bewegung des Werkzeugs in der Z-Achsenrichtung zu steuern. Es ist zu beachten, dass die Werkzeugmaschine 100 zwei oder mehr Werkzeugauflagen umfassen kann. In diesem Fall umfasst die Antriebseinheit 90 für jede der Werkzeugauflagen einen Satz aus der X-Achsen-Servosteuerungseinheit 91, der Z-Achsen-Servosteuerungseinheit 92, den Servomotoren 901 und 902 und den Detektoren 97 und 98.
  • Die Antriebseinheit 90 umfasst ferner einen Spindelmotor 911, welcher die Spindel rotiert, um das Werkstück zu rotieren; und einen Detektor 211, welcher die Position und die Rotationsgeschwindigkeit des Spindelmotors 911 detektiert. Die Rotationsgeschwindigkeit, die von dem Detektor 211 detektiert wird, entspricht der Rotationsgeschwindigkeit des Spindelmotors 911.
  • Die Antriebseinheit 90 umfasst ferner eine Spindel-Servosteuerungseinheit 200, welche den Spindelmotor 911 basierend auf einem Befehl von der Numerische-Steuerung-Vorrichtung 1X steuert. Die Spindel-Servosteuerungseinheit 200 führt eine rückgekoppelte Steuerung des Spindelmotors 911 basierend auf einer Information von dem Detektor 211 über die Position und die Rotationsgeschwindigkeit durch.
  • In einem Fall, in welchem die Werkzeugmaschine 100 zwei Werkstücke gleichzeitig maschinenbearbeiten soll, umfasst die Antriebseinheit 90 zwei Sätze aus dem Spindelmotor 911, dem Detektor 211 und der Spindel-Servosteuerungseinheit 200. In diesem Fall umfasst die Werkzeugmaschine 100 zwei oder mehr Werkzeugauflagen.
  • Die Eingabebedienungseinheit 3 ist ein Mittel zum Eingeben von Information in die Steuerungsberechnungseinheit 2X. Die Eingabebedienungseinheit 3 umfasst ein Eingabemittel, wie beispielsweise eine Tastatur, eine Taste oder eine Maus. Die Eingabebedienungseinheit 3 empfängt daher eine Eingabe, wie beispielsweise einen an die Numerische-Steuerung-Vorrichtung 1X gerichteten Befehl von dem Nutzer, ein NC-Programm, einen Parameter oder dergleichen, und gibt die Eingabe, das NC-Programm, den Parameter oder dergleichen in die Steuerungsberechnungseinheit 2X ein. Die Anzeigeeinheit 4 umfasst ein Anzeigemittel, wie beispielsweise ein Flüssigkristallanzeigegerät, um auf einem Anzeigebildschirm eine Information anzuzeigen, welche durch Verarbeitung durch die Steuerungsberechnungseinheit 2X erzeugt wird. Ein Beispiel der Anzeigeeinheit 4 ist ein Flüssigkristallanzeige-Touchscreen. In diesem Fall ist ein Teil der Funktionalität der Eingabebedienungseinheit 3 durch die Anzeigeeinheit 4 verwirklicht.
  • Die Steuerungsberechnungseinheit 2X steuert die Werkzeugmaschine 100 und den Roboter 60 unter Verwendung eines NC-Programms, welches in dem Koordinatensystem der Werkzeugmaschine 100 beschrieben ist. Die Steuerungsberechnungseinheit 2X umfasst eine Eingabesteuerungseinheit 32, eine Dateneinstellungseinheit 33, eine Speichereinheit 34, eine Bildschirmdarstellungsverarbeitungseinheit 31, eine Analyseverarbeitungseinheit 37, eine Steuerungssignalverarbeitungseinheit 35, die SPS 36, eine Interpolationsverarbeitungseinheit 38, eine Beschleunigung-Bremsung-Verarbeitungseinheit 39, eine Achsendatenausgabeeinheit 40, eine Robotersteuerungseinheit 41 und eine Simulationssteuerungseinheit 80X. Es ist zu beachten, dass die SPS 36 außerhalb der Steuerungsberechnungseinheit 2X angeordnet sein kann.
  • Die Speichereinheit 34 umfasst einen Parameterspeicherbereich 341, einen NC-Programmspeicherbereich 343, einen Anzeigedatenspeicherbereich 344 und einen gemeinsam benutzten Bereich 345. Die Speichereinheit 34 umfasst zudem einen Speicherbereich zum Speichern von Simulationsdaten 346.
  • Der Parameterspeicherbereich 341 speichert Parameter, die bei einer Verarbeitung durch die Steuerungsberechnungseinheit 2X verwendet werden, und dergleichen. Insbesondere speichert der Parameterspeicherbereich 341 einen Steuerungsparameter zum Betreiben der Numerische-Steuerung-Vorrichtung 1X, einen Servoparameter und Werkzeugdaten 813 und 814. Die Werkzeugdaten 813 sind Daten des Werkzeugs, welches in der Werkzeugmaschine 100 verwendet wird, während die Werkzeugdaten 814 Daten des Werkzeugs sind, welches in dem Roboter 60 verwendet wird. Die Werkzeugdaten 813 umfassen eine Information über die Form des Werkzeugs, welches von der Werkzeugmaschine 100 verwendet wird. Die Werkzeugdaten 814 umfassen eine Information über die Form des Werkzeugs, welches von dem Roboter 60 verwendet wird. Die Werkzeugdaten 813 und 814 werden von der Simulationssteuerungseinheit 80X aus der Speichereinheit 34 gelesen. Es ist zu beachten, dass in der folgenden Beschreibung angenommen wird, dass eine Information über eine Form eine Information über eine Form selbst und eine Information über eine Größe umfasst.
  • Der NC-Programmspeicherbereich 343 speichert NC-Programme, die zur Maschinenbearbeitung eines Werkstücks verwendet werden. Ein NC-Programm der ersten Ausführungsform umfasst Befehle zum Steuern der Werkzeugmaschine 100 und Befehle zum Steuern des Roboters 60.
  • Der Anzeigedatenspeicherbereich 344 speichert Bildschirmdarstellungsanzeigedaten, die auf der Anzeigeeinheit 4 anzuzeigen sind. Die Bildschirmdarstellungsanzeigedaten sind Daten zum Anzeigen einer Information auf der Anzeigeeinheit 4. Die Speichereinheit 34 umfasst auch den gemeinsam benutzten Bereich 345, welcher dazu vorgesehen ist, temporär genutzte Daten zu speichern.
  • Die Simulationsdaten 346 umfassen ein Maschinenmodell 811, welches Daten ist, die es ermöglichen, die Werkzeugmaschine 100 zu rendern; und ein Robotermodell 812, welches Daten ist, welche es ermöglichen, den Roboter 60 zu rendern. Das Maschinenmodell 811 und das Robotermodell 812 werden von der Simulationssteuerungseinheit 80X aus der Speichereinheit 34 gelesen. Das Maschinenmodell 811 ist dreidimensionale Daten, welche eine dreidimensionale Struktur der Werkzeugmaschine 100 repräsentieren, und das Robotermodell 812 ist dreidimensionale Daten, welche eine dreidimensionale Struktur des Roboters 60 repräsentieren.
  • Das Maschinenmodell 811 ist Daten zum Simulieren einer Bewegung in einer Maschinenbearbeitungskammer (Maschinenbearbeitungsraum), welche in der Werkzeugmaschine 100 tatsächlich enthalten ist. Das Maschinenmodell 811 wird aus Computer-aided-Design (CAD)-Daten erzeugt. Das Robotermodell 812 ist Daten zum Simulieren einer Bewegung des Roboters 60. Das Robotermodell 812 wird aus CAD-Daten erzeugt. Das Maschinenmodell 811 ist Maschinenmodelldaten mit einer Endung, wie beispielsweise „.mdl”, und das Robotermodell 812 ist Robotermodelldaten mit einer Endung, wie beispielsweise „.mdl”.
  • Die Bildschirmdarstellungsverarbeitungseinheit 31 stellt die Möglichkeit bereit, Bildschirmdarstellungsanzeigedaten, die in dem Anzeigedatenspeicherbereich 344 gespeichert sind, auf der Anzeigeeinheit 4 anzuzeigen. Die Eingabesteuerungseinheit 32 empfängt eine Information, welche von der Eingabebedienungseinheit 3 eingegeben wird. Die Dateneinstellungseinheit 33 speichert die Information, die von der Eingabesteuerungseinheit 32 empfangen wird, in der Speichereinheit 34. D. h., die Eingabeinformation, die von der Eingabebedienungseinheit 3 empfangen wird, wird über die Eingabesteuerungseinheit 32 und über die Dateneinstellungseinheit 33 in den Speicherbereich 34 geschrieben.
  • Die Steuerungssignalverarbeitungseinheit 35 ist mit der SPS 36 verbunden und empfängt von der SPS 36 eine Signalinformation über eine Komponente, wie beispielsweise ein Relais, welches einen mechanischen Teil der Werkzeugmaschine 100 betreibt. Die Steuerungssignalverarbeitungseinheit 35 schreibt die empfangene Signalinformation in den gemeinsam benutzten Bereich 345 der Speichereinheit 34. Während eines Maschinenbetriebs nimmt die Interpolationsverarbeitungseinheit 38 auf diese Signalinformationen Bezug. Des Weiteren liest, wenn durch die Analyseverarbeitungseinheit 37 ein Hilfsbefehl an den gemeinsam benutzten Bereich 345 ausgegeben wird, die Steuerungssignalverarbeitungseinheit 35 diesen Hilfsbefehl aus dem gemeinsam benutzten Bereich 345 und sendet den Hilfsbefehl an die SPS 36. Ein Hilfsbefehl ist ein Befehl, der von den Befehlen zum Bewegen der Antriebsachse, welche die Numerische-Steuerung-Achse ist, verschieden ist. Beispiele des Hilfsbefehls umfassen M-Codes und T-Codes.
  • Die SPS 36 speichert ein Leiterprogramm, welches einen Maschinenbetrieb beschreibt, der von der SPS 36 durchzuführen ist. Auf den Empfang eines T-Codes oder eines M-Codes, d. h. eines Hilfsbefehls, hin, führt die SPS 36 an der Werkzeugmaschine 100 eine Aktion, welche dem Hilfsbefehl entspricht, gemäß dem Leiterprogramm durch. Nach Durchführung einer Aktion, die dem Hilfsbefehl entspricht, sendet die SPS 36 ein Abschlusssignal, welches angibt, dass die Maschinensteuerung abgeschlossen ist, an die Steuerungssignalverarbeitungseinheit 35, um zu veranlassen, dass der nächste Block des NC-Programms ausgeführt wird.
  • In der Steuerungsberechnungseinheit 2X sind die Steuerungssignalverarbeitungseinheit 35, die Analyseverarbeitungseinheit 37, die Interpolationsverarbeitungseinheit 38, die Robotersteuerungseinheit 41 und die Simulationssteuerungseinheit 80X miteinander über die Speichereinheit 34 verbunden, um Informationen über die Speichereinheit 34 zu schreiben und zu lesen. Betreffend einen Prozess des Schreibens und Lesens von Information in und aus der Steuerungssignalverarbeitungseinheit 35, der Analyseverarbeitungseinheit 37, der Interpolationsverarbeitungseinheit 38, der Robotersteuerungseinheit 41 und der Simulationssteuerungseinheit 80X kann die folgende Beschreibung auslassen, dass beschrieben ist, dass ein derartiges Schreiben und Lesen über die Speichereinheit 34 durchgeführt wird.
  • Eine Auswahl eines NC-Programms wird durch den Nutzer durchgeführt, welcher die NC-Programmnummer in die Eingabebedienungseinheit 3 eingibt. Diese NC-Programmnummer wird über die Eingabesteuerungseinheit 32 und über die Dateneinstellungseinheit 33 in den gemeinsam benutzten Bereich 345 geschrieben. Ausgelöst durch einen zyklischen Start an dem Maschinenbedienfeld oder dergleichen liest die Analyseverarbeitungseinheit 37 die ausgewählte NC-Programmnummer aus dem gemeinsam benutzten Bereich 345, liest das ausgewählte NC-Programm aus dem NC-Programmspeicherbereich 343 und analysiert jeden Block (jede Zeile) des NC-Programms. Die Analyseverarbeitungseinheit 37 analysiert beispielsweise G-Codes (Befehle zur Achsenbewegung, etc.), T-Codes (Werkzeugwechselbefehl, etc.), S-Codes (Befehle für die Rotationsgeschwindigkeit des Spindelmotors) und M-Codes (Maschinenbewegungsbefehle).
  • Wenn in der analysierten Zeile ein M-Code oder ein T-Code enthalten ist, sendet die Analyseverarbeitungseinheit 37 das Analyseergebnis über den gemeinsam benutzten Bereich 345 und über die Steuerungssignalverarbeitungseinheit 35 an die SPS 36. Zudem, wenn in der analysierten Zeile ein M-Code enthalten ist, sendet die Analyseverarbeitungseinheit 37 diesen M-Code über die Steuerungssignalverarbeitungseinheit 35 an die SPS 36. Die SPS 36 führt eine Maschinensteuerung durch, welche diesem M-Code entspricht. Wenn die Durchführung abgeschlossen ist, wird ein Ergebnis, welches angibt, dass der M-Code abgeschlossen ist, über die Steuerungssignalverarbeitungseinheit 35 in den Speicherbereich 34 geschrieben. Die Interpolationsverarbeitungseinheit 38 nimmt auf das Durchführungsergebnis Bezug, welches in den Speicherbereich 34 geschrieben wurde.
  • Andererseits, wenn ein G-Code für die Werkzeugmaschine 100 enthalten ist, sendet die Analyseverarbeitungseinheit 37 das Analyseergebnis über den gemeinsam benutzten Bereich 345 an die Interpolationsverarbeitungseinheit 38. Insbesondere erzeugt die Analyseverarbeitungseinheit 37 Bewegungsbedingungsdaten, welche dem G-Code entsprechen, und sendet die Bewegungsbedingungsdaten an die Interpolationsverarbeitungseinheit 38. Zudem sendet die Analyseverarbeitungseinheit 37 an die Interpolationsverarbeitungseinheit 38 eine Information der Spindelrotationsgeschwindigkeit, die durch einen S-Code spezifiziert ist. Eine Spindelrotationsgeschwindigkeit ist die Anzahl von Umdrehungen der Spindel pro Zeiteinheit. Eine Bewegungsbedingung ist eine Bedingung eines Werkzeugvorschubs zum Bewegen der Maschinenbearbeitungsposition und ist durch die Geschwindigkeit des Bewegens der Werkzeugauflage, die Position, an welche die Werkzeugauflage zu bewegen ist, und dergleichen gegeben. Beispielsweise verursacht ein Werkzeugvorschub des Werkzeugs das Werkzeug dazu, sich in der X-Achsenrichtung (+X-Richtung) und in der Z-Achsenrichtung (+Z-Richtung) zu bewegen.
  • Die Analyseverarbeitungseinheit 37 umfasst eine Roboterbefehlsanalyseeinheit 371. Die Roboterbefehlsanalyseeinheit 371 ist ein Mittel zum Analysieren der Bewegung des damit verbundenen Roboters 60. Die Roboterbefehlsanalyseeinheit 371 analysiert Roboterbefehle, welche in dem NC-Programm enthalten sind, und sendet das Analyseergebnis über den gemeinsam benutzten Bereich 345 an die Robotersteuerungseinheit 41.
  • Das Analyseergebnis umfasst einen Roboterkoordinatensystemeinstellungsbefehl, welcher ein Befehl zum Einstellen des Koordinatensystems des Roboters 60 ist; einen Roboterbewegungsbefehl, welcher die Bewegung des Roboters 60 spezifiziert; und/oder dergleichen.
  • Die Interpolationsverarbeitungseinheit 38 erzeugt Daten zum Steuern der Werkzeugmaschine 100 unter Verwendung eines in dem Analyseergebnis von der Analyseverarbeitungseinheit 37 enthaltenen Befehls, der an die Werkzeugmaschine 100 gerichtet ist, und sendet die Daten an die Beschleunigung-Bremsung-Verarbeitungseinheit 39. Die Beschleunigung-Bremsung-Verarbeitungseinheit 39 führt eine Beschleunigung-Bremsung-Verarbeitungseinheit an dem Ergebnis der Interpolation durch, welches von der Interpolationsverarbeitungseinheit 38 bereitgestellt wird, um die Beschleunigungsänderung zu glätten. Die Beschleunigung-Bremsung-Verarbeitungseinheit 39 sendet das Ergebnis der Beschleunigung-Bremsung-Verarbeitung, d. h. einen Geschwindigkeitsbefehl, an die Achsendatenausgabeeinheit 40.
  • Die Achsendatenausgabeeinheit 40 gibt den Geschwindigkeitsbefehl an die Antriebseinheit 90 aus. Insbesondere gibt die Achsendatenausgabeeinheit 40 einen Geschwindigkeitsbefehl, welcher die X-Achse betrifft, an die X-Achsen-Servosteuerungseinheit 91 aus und gibt einen Geschwindigkeitsbefehl, welcher die Z-Achse betrifft, an die Z-Achsen-Servosteuerungseinheit 92 aus. Die Achsendatenausgabeeinheit 40 gibt auch einen Rotationsgeschwindigkeitsbefehl für die Spindel an die Spindel-Servosteuerungseinheit 200 aus.
  • Die Robotersteuerungseinheit 41 konvertiert Befehle, die an den Roboter 60 gerichtet sind, basierend auf dem Ergebnis der von der Roboterbefehlsanalyseeinheit 371 durchgeführten Analyse in ein Roboterprogramm. D. h., die Robotersteuerungseinheit 41 erzeugt basierend auf dem Ergebnis der Analyse des Roboterbefehls, welches von der Roboterbefehlsanalyseeinheit 371 gesendet wurde, Roboterbefehle, die durch die Robotersteuerung 50 interpretierbar sind. Die Robotersteuerungseinheit 41 sendet die erzeugten Roboterbefehle an die Robotersteuerung 50. Die Robotersteuerung 50 erzeugt Positionsdaten der Glieder des Roboters 60 basierend auf den Roboterbefehlen, die von der Robotersteuerungseinheit 41 gesendet werden, und steuert den Roboter 60 unter Verwendung der Positionsdaten.
  • Die in dem NC-Programm beschriebenen Befehle werden in der Numerische-Steuerung-Vorrichtung 1X sequenziell ausgeführt. Daher entsprechen die Reihenfolge, in welcher die Interpolationsverarbeitungseinheit 38 die Daten zum Steuern der Werkzeugmaschine 100 erzeugt und die Daten an die Beschleunigung-Bremsung-Verarbeitungseinheit 39 sendet, und die Reihenfolge, in welcher die Robotersteuerungseinheit 41 die Positionsdaten erzeugt und die Positionsdaten an die Robotersteuerung 50 sendet, der Reihenfolge der in dem NC-Programm beschriebenen Befehle.
  • Die Simulationssteuerungseinheit 80X ist mit der Speichereinheit 34, der Interpolationsverarbeitungseinheit 38, der Beschleunigung-Bremsung-Verarbeitungseinheit 39, der Robotersteuerungseinheit 41 und der Bildschirmdarstellungsverarbeitungseinheit 31 verbunden. Obwohl die Simulationssteuerungseinheit 80X mit der Bildschirmdarstellungsverarbeitungseinheit 31 verbunden ist, wurde in 1 darauf verzichtet, die Verbindungsleitung zwischen der Simulationssteuerungseinheit 80X und der Bildschirmdarstellungsverarbeitungseinheit 31 darzustellen. In einer Beschreibung betreffend einen Prozess des Schreibens von Information in die Anzeigeeinheit 4 durch die Simulationssteuerungseinheit 80X kann in der folgenden Beschreibung ausgelassen sein, dass es beschrieben ist, dass ein derartiges Schreiben über die Bildschirmdarstellungsverarbeitungseinheit 31 durchgeführt wird.
  • Die Simulationssteuerungseinheit 80X simuliert eine Bewegung des Roboters 60 und eine Bewegung der Werkzeugmaschine 100 durch Berechnen. Die Simulationssteuerungseinheit 80X umfasst eine Maschinenbewegungsberechnungseinheit 801, eine Roboterbewegungsberechnungseinheit 802 und eine Zusammentreffenprüfungseinheit 803.
  • Die Maschinenbewegungsberechnungseinheit 801 rendert ein Bild einer Bewegung von Komponenten, welche in der Werkzeugmaschine 100 enthalten sind, und die Roboterbewegungsberechnungseinheit 802 rendert ein Bild einer Bewegung von Komponenten, welche in dem Roboter 60 enthalten sind. Die Simulationssteuerungseinheit 80X zeigt das Ergebnis des Renderns auf der Anzeigeeinheit 4 an.
  • Die Maschinenbewegungsberechnungseinheit 801 liest das Maschinenmodell 811 und die Werkzeugdaten 813 aus der Speichereinheit 34, um die Bewegung der Werkzeugmaschine 100 unter Verwendung des Maschinenmodells 811 und der Werkzeugdaten 813 zu simulieren.
  • Zudem bezieht die Maschinenbewegungsberechnungseinheit 801 die Positionsdaten der Achsen der Werkzeugmaschine 100 von der Interpolationsverarbeitungseinheit 38. Die Maschinenbewegungsberechnungseinheit 801 korrigiert die Positionen der Komponenten der Werkzeugmaschine 100, welche aus dem Maschinenmodell 811 gerendert werden, basierend auf den von der Interpolationsverarbeitungseinheit 38 genommenen Positionsdaten.
  • Wie oben beschrieben ist, rendert die Maschinenbewegungsberechnungseinheit 801 eine erste Komponente, welche in der Werkzeugmaschine 100 enthalten ist, basierend auf dem Maschinenmodell 811, welches Daten zum Simulieren einer Bewegung der Werkzeugmaschine 100 ist. Zudem rendert die Maschinenbewegungsberechnungseinheit 801 die erste Komponente erneut unter Verwendung von ersten Positionsdaten, welche zur Steuerung der Position der ersten Komponente dienen.
  • Die Roboterbewegungsberechnungseinheit 802 liest das Robotermodell 812 und die Werkzeugdaten 814 aus der Speichereinheit 34, um die Bewegung des Roboters 60 unter Verwendung des Robotermodells 812 und der Werkzeugdaten 814 zu simulieren.
  • Zudem bezieht die Roboterbewegungsberechnungseinheit 802 die Positionsdaten der Glieder des Roboters 60 von der Robotersteuerungseinheit 41. Die Roboterbewegungsberechnungseinheit 802 korrigiert die Positionen der Komponenten des Roboters 60, welche aus dem Robotermodell 812 gerendert werden, basierend auf den von der Robotersteuerungseinheit 41 genommenen Positionsdaten.
  • Wie oben beschrieben ist, rendert die Roboterbewegungsberechnungseinheit 802 eine zweite Komponente, welche in dem Roboter 60 enthalten ist, basierend auf dem Robotermodell 812, welches Daten zum Simulieren einer Bewegung des Roboters 60 ist, und rendert die zweite Komponente erneut unter Verwendung von zweiten Positionsdaten, die zur Steuerung der Position der zweiten Komponente dienen.
  • Die Zusammentreffenprüfungseinheit 803, welche eine Kollisionsbestimmungseinheit ist, prüft eine Überlappung zwischen den Grafikdaten des Betriebsteils (Komponenten), welche von der Maschinenbewegungsberechnungseinheit 801 gerendert werden, und den Grafikdaten des Betriebsteils (Komponenten), die von der Roboterbewegungsberechnungseinheit 802 gerendert werden. Mit anderen Worten bestimmt die Zusammentreffenprüfungseinheit 803, ob die Werkzeugmaschine 100 und der Roboter 60 zusammentreffen (kollidieren) werden.
  • Das heißt, die Zusammentreffenprüfungseinheit 803 bestimmt, ob die Werkzeugmaschine 100 und der Roboter 60 an einem spezifischen Zeitpunkt miteinander kollidieren werden, basierend auf der Position der ersten Komponente zu dem spezifischen Zeitpunkt und auf der Position der zweiten Komponente zu dem spezifischen Zeitpunkt.
  • Auf die Detektion hin, dass die Werkzeugmaschine 100 und der Roboter 60 zusammentreffen werden, sendet die Zusammentreffenprüfungseinheit 803 ein Signal zum Stoppen der Bewegung an die Interpolationsverarbeitungseinheit 38 und an die Robotersteuerungseinheit 41 und sendet eine Alarmanweisungsinformation, welche eine Anweisung zum Anzeigen eines Alarms betreffend das Zusammentreffen ist, über die Bildschirmdarstellungsverarbeitungseinheit 31 an die Anzeigeeinheit 4. Durch diese Handlung zeigt die Zusammentreffenprüfungseinheit 803 einen Zusammentreffensalarm, welcher das Zusammentreffen angibt, auf der Anzeigeeinheit 4 an. Die Alarmanweisungsinformation kann eine Information über die Position umfassen, wo die Werkzeugmaschine 100 und der Roboter 60 zusammentreffen werden. In diesem Fall zeigt die Anzeigeeinheit 4 einen Zusammentreffensalarm an, welcher die Information über die Position des Zusammentreffens umfasst.
  • Die Werkzeugmaschine 100 ist eine NC-Werkzeugmaschine und maschinenbearbeitet ein Werkstück unter Verwendung eines Werkzeugs, während das Werkzeug und das Werkstück relativ zueinander durch die Antriebsachsen bewegt werden. Die Werkzeugmaschine 100 und der Roboter 60 haben voneinander verschiedene Koordinatensysteme. Die Werkzeugmaschine 100 wird unter Verwendung eines orthogonalen Koordinatensystems gesteuert und bewegt das Werkzeug und/oder das Werkstück beispielsweise in drei Achsenrichtungen. Der Roboter 60 hat eine Rotationsachse und bewegt ein Element, beispielsweise in vier oder mehr Achsenrichtungen. Der Roboter 60 hat mehrere Gelenke und mehrere Arme, und ein Gelenk ermöglicht einem Arm sich in einer oder mehr Achsenrichtungen zu bewegen.
  • Es ist zu beachten, dass bei der Beschreibung der ersten Ausführungsform davon ausgegangen wird, dass als die Renderingdaten zum Rendern der Werkzeugmaschine 100 das Maschinenmodell 811 verwendet wird, welches Daten zum Simulieren einer Bewegung ist; jedoch kann die Maschinenbewegungsberechnungseinheit 801 die Werkzeugmaschine 100 unter Verwendung von Renderingdaten rendern, die von dem Maschinenmodell 811 verschieden sind.
  • Es ist zu beachten, dass bei der Beschreibung der ersten Ausführungsform davon ausgegangen wird, dass als die Renderingdaten zum Rendern des Roboters 60 das Robotermodell 812 verwendet wird, welches Daten zum Simulieren einer Bewegung ist; jedoch kann die Roboterbewegungsberechnungseinheit 802 den Roboter 60 unter Verwendung von Renderingdaten rendern, die von dem Robotermodell 812 verschieden sind.
  • Die Maschinenbewegungsberechnungseinheit 801 kann die Werkzeugmaschine 100 beispielsweise unter Verwendung von groben Renderingdaten rendern, welche die Erzeugung einer groben Zeichnung ermöglichen. Zudem kann die Roboterbewegungsberechnungseinheit 802 den Roboter 60 unter Verwendung von groben Renderingdaten rendern, welche die Erzeugung einer groben Zeichnung ermöglichen.
  • Wenn die Zusammentreffenprüfungseinheit 803 ein Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 prüft, verwendet die Maschinenbewegungsberechnungseinheit 801 trotzdem hochpräzise Simulationsdaten (beispielsweise das Maschinenmodell 811), welche es ermöglichen, eine präzise Bewegungssimulation durchzuführen. Zudem, wenn die Zusammentreffenprüfungseinheit 803 ein Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 prüft, verwendet die Roboterbewegungsberechnungseinheit 802 hochpräzise Simulationsdaten (beispielsweise das Robotermodell 812), welche eine präzise Bewegungssimulation ermöglichen.
  • Eine Simulation des Prüfens auf ein Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 wird nun beschrieben. 2 ist ein Diagramm, welches einen beispielhaften räumlichen Zusammenhang zwischen der Werkzeugmaschine und dem Roboter zeigt, welche beide von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform gesteuert werden.
  • Die Werkzeugmaschine 100 umfasst ein Gehäuse 14, Werkzeughalter 11a und 11b und Spannmechanismen 12a und 12b. Bei der Werkzeugmaschine 100 dient der Raum innerhalb des Gehäuses 14 als die Maschinenbearbeitungskammer, in welcher Werkstücke 5a und 5b maschinenbearbeitet werden.
  • Der Spannmechanismus 12a hält das Werkstück 5a in der Maschinenbearbeitungskammer. Der Spannmechanismus 12b hält das Werkstück 5b in der Maschinenbearbeitungskammer. Der Werkzeughalter 11a hält ein Werkzeug 6a, und der Werkzeughalter 11b hält ein Werkzeug 6b. Das Werkzeug 6a maschinenbearbeitet das Werkstück 5a, welches von dem Spannmechanismus 12a gehalten wird, wohingegen das Werkzeug 6b das Werkstück 5b maschinenbearbeitet, welches von dem Spannmechanismus 12b gehalten wird.
  • Der Roboter 60 ist nahe der Werkzeugmaschine 100 platziert, um die Werkstücke 5a und 5b in die Werkzeugmaschine 100 einzusetzen und aus dieser zu nehmen. Ferner maschinenbearbeitet der Roboter 60 unter Verwendung eines Werkzeugs 6c das Werkstück 5a, welches von der Werkzeugmaschine 100 gehalten wird. Die Werkzeuge 6a und 6b, welche von der Werkzeugmaschine 100 verwendet werden, sind erste Werkzeuge, und das Werkzeug 6c, welches von dem Roboter 60 verwendet wird, ist ein zweites Werkzeug.
  • Der Roboter 60 umfasst einen Roboterarm 21, eine Roboterhand 22 und eine Basis 23. Die Basis 23 hält den Roboterarm 21. Der Roboterarm 21 ist in einer oder mehreren Achsenrichtungen bewegbar. Die Roboterhand 22 ist an einem Endabschnitt des Roboterarms 21 auf der der Basis 23 gegenüberliegenden Seite bereitgestellt. Die Roboterhand 22 greift das Werkzeug 6c.
  • Das Maschinenmodell 811 ist Daten zum Simulieren von Bewegungen der Spannmechanismen 12a und 12b, der Werkstücke 5a und 5b, der Werkzeughalter 11a und 11b und der Werkzeuge 6a und 6b in der Maschinenbearbeitungskammer.
  • Wenn eine Simulation betreffend eine Bewegung der Werkzeugmaschine 100 durchgeführt wird, werden die gesamte Struktur der Werkzeugmaschine 100 und Bewegungen innerhalb der Maschinenbearbeitungskammer der Werkzeugmaschine 100 simuliert, und die Situation innerhalb der Maschinenbearbeitungskammer der Werkzeugmaschine 100 wird gerendert. Soweit es die Situation innerhalb der Maschinenbearbeitungskammer betrifft, werden Bewegungen der Spannmechanismen 12a und 12b, der Werkstücke 5a und 5b, der Werkzeughalter 11a und 11b und der Werkzeuge 6a und 6b simuliert, und die Spannmechanismen 12a und 12b, die Werkstücke 5a und 5b, die Werkzeughalter 11a und 11b und die Werkzeuge 6a und 6b werden gerendert.
  • Das Robotermodell 812 ist Daten zum Simulieren von Bewegungen des Roboterarms 21 und der Roboterhand 22. Wenn eine Simulation betreffend die Bewegung des Roboters 60 durchgeführt wird, werden Bewegungen des Roboterarms 21 und der Roboterhand 22 simuliert, und die Situation des Roboterarms 21 und der Roboterhand 22 wird gerendert.
  • 3 ist ein Diagramm, welches ein erstes Beispiel einer Bildschirmdarstellung zeigt, welches durch die Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform gerendert wird. 3 zeigt ein Beispiel einer Bildschirmdarstellungsanzeige auf der Anzeigeeinheit 4. Eine in 3 gezeigte Bildschirmdarstellung 130 zeigt die Situation in der Maschinenbearbeitungskammer.
  • 3 und unten genannte 4 zeigen jeweils Bilder der Spannmechanismen 12a und 12b als Bilder 12A und 12B, Bilder der Werkstücke 5a und 5b als Bilder 5A und 5B, Bilder der Werkzeughalter 11a und 11b als Bilder 11A und 11B und Bilder der Werkzeuge 6a und 6b als Bilder 6A und 6B. Ferner zeigt 3 ein Bild des Roboterarms 21 als ein Bild 21A, ein Bild der Roboterhand 22 als ein Bild 22A und ein Bild des Werkzeugs 6c als ein Bild 6C.
  • Die Maschinenbewegungsberechnungseinheit 801 nimmt die Positionsdaten der Achsen der Werkzeugmaschine 100 aus der Interpolationsverarbeitungseinheit 38. Die Maschinenbewegungsberechnungseinheit 801 rendert den Betriebsteil, welcher in der Werkzeugmaschine 100 enthalten ist (in der Werkzeugmaschine 100 enthaltene Komponenten), erneut basierend auf den Positionsdaten, die von der Interpolationsverarbeitungseinheit 38 genommen werden. D. h., die Maschinenbewegungsberechnungseinheit 801 korrigiert die Positionen der Komponenten der Werkzeugmaschine 100, die aus dem Maschinenmodell 811 gerendert werden, basierend auf den Positionsdaten, die von der Interpolationsverarbeitungseinheit 38 genommen werden. Der Ausdruck „Betriebsteil, welcher in der Werkzeugmaschine 100 enthalten ist“ bezeichnet die Spannmechanismen 12a und 12b, die Werkstücke 5a und 5b, die Werkzeughalter 11a und 11b und die Werkzeuge 6a und 6b, welche oben beschrieben sind. Die Maschinenbewegungsberechnungseinheit 801 rendert beispielsweise ein Bild einer Bewegung der Werkzeughalter 11a und 11b und ein Bild einer Bewegung der Werkzeuge 6a und 6b.
  • Die Roboterbewegungsberechnungseinheit 802 nimmt die Positionsdaten der Glieder des Roboters 60 von der Robotersteuerungseinheit 41. Die Roboterbewegungsberechnungseinheit 802 rendert den Betriebsteil, der in dem Roboter 60 enthalten ist (in dem Roboter 60 enthaltene Komponenten), erneut basierend auf den Positionsdaten, die von der Robotersteuerungseinheit 41 genommen werden. D. h., die Roboterbewegungsberechnungseinheit 802 korrigiert die Positionen der Komponenten des Roboters 60, der aus dem Robotermodell 812 gerendert wird, basierend auf den Positionsdaten, die von der Robotersteuerungseinheit 41 genommen werden. Der Ausdruck „Betriebsteil, welcher in dem Roboter 60 enthalten ist“ bezeichnet den Roboterarm 21, die Roboterhand 22 und das Werkzeug 6c, welche oben beschrieben sind. Die Roboterbewegungsberechnungseinheit 802 rendert beispielsweise ein Bild einer Bewegung des Roboterarms 21 und ein Bild einer Bewegung der Roboterhand 22, welche das Werkzeug 6c greift.
  • Die Simulationssteuerungseinheit 80X zeigt das Ergebnis des Renderns durch die Maschinenbewegungsberechnungseinheit 801 und das Ergebnis des Renderns durch die Roboterbewegungsberechnungseinheit 802 auf der Anzeigeeinheit 4 über die Bildschirmdarstellungsverarbeitungseinheit 31 an. Ein Beispiel der Bildschirmdarstellung, die durch die Anzeigeeinheit 4 angezeigt wird, ist die Bildschirmdarstellung 130, die in 3 gezeigt ist.
  • Die Zusammentreffenprüfungseinheit 803 prüft eine Überlappung der Grafikdaten des Betriebsteils, der von der Maschinenbewegungsberechnungseinheit 801 gerendert wird, und den Grafikdaten des Betriebsteils, der von der Roboterbewegungsberechnungseinheit 802 gerendert wird. Insbesondere bestimmt die Zusammentreffenprüfungseinheit 803, ob der Werkzeughalter 11a oder 11b oder das Werkzeug 6a oder 6b der Werkzeugmaschine 100 und der Roboterarm 21 oder die Roboterhand 22, welche das Werkzeug 6c greift, zusammentreffen werden. Weil das Maschinenmodell 811 und das Robotermodell 812 dreidimensionale Daten sind, prüft die Zusammentreffenprüfungseinheit 803 ein Zusammentreffen mittels der dreidimensionalen Form der Werkzeugmaschine 100 und der dreidimensionalen Form des Roboters 60.
  • 4 ist ein Diagramm, welches ein zweites Beispiel einer Bildschirmdarstellung zeigt, welche durch die Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform gerendert wird. 4 zeigt ein Beispiel einer Bildschirmdarstellungsanzeige auf der Anzeigeeinheit 4 in einem Fall, in welchem eine Kollision detektiert wurde. Eine Bildschirmdarstellung 131, die in 4 gezeigt ist, zeigt eine Situation in der Maschinenbearbeitungskammer, in welcher die Zusammentreffenprüfungseinheit 803 ein Zusammentreffen von Komponenten in der Maschinenbearbeitungskammer detektiert hat, bei der das Bild 22A der Roboterhand 22 sich in der Richtung eines Pfeils D1 bewegt.
  • Nach der Detektion, dass das Bild 6B des Werkzeugs 6b und das Bild 22A der Roboterhand 22 einander durch eine in 4 gezeigte Kollision überlappen, sendet die Zusammentreffenprüfungseinheit 803 ein Signal zum Stoppen einer Bewegung an die Interpolationsverarbeitungseinheit 38 und an die Robotersteuerungseinheit 41 und zeigt einen Zusammentreffensalarm auf der Anzeigeeinheit 4 über die Bildschirmdarstellungsverarbeitungseinheit 31 an. Eine Zusammentreffensalarmbildschirmdarstellung, welche von der Anzeigeeinheit 4 angezeigt wird, kann jede beliebige Bildschirmdarstellung sein, welche den Nutzer über die Kollision informiert. Der Zusammentreffensalarm wird unter Verwendung einer Bildschirmdarstellung angezeigt, die einer Bildschirmdarstellung für einen anderen Alarm ähnlich ist. Die Bildschirmdarstellung 131 zeigt die Position, wo der Roboter 60 und die Werkzeugmaschine 100 miteinander kollidieren.
  • Auf den Empfang des Signals zum Stoppen einer Bewegung von der Zusammentreffenprüfungseinheit 803 hin stoppen die Interpolationsverarbeitungseinheit 38 und die Robotersteuerungseinheit 41 das Berechnen. Bei dieser Handlung bestimmt die Zusammentreffenprüfungseinheit 803 das Auftreten oder Nichtauftreten des Zusammentreffens basierend auf einem Berechnungsergebnis eines vorhergesagten Betriebs, die von der Steuerungsberechnungseinheit 2X durchgeführt wird. Dies ermöglicht der Simulationsteuerungseinheit 80X, die Bewegungen des Betriebsteils der Werkzeugmaschine 100 und des Betriebsteils des Roboters 60 zu stoppen, bevor das Zusammentreffen (die Kollision) der Werkzeugmaschine 100 und des Roboters 60 tatsächlich auftritt.
  • Obwohl das Koordinatensystem der Werkzeugmaschine 100 und das Koordinatensystem des Roboters 60 voneinander verschieden sind, speichert die Speichereinheit 34 zudem einen Parameter, welcher einen räumlichen Zusammenhang zwischen dem Koordinatensystem der Werkzeugmaschine 100 und dem Koordinatensystem des Roboters 60 definiert. Dies ermöglicht der Zusammentreffenprüfungseinheit 803, ein Zusammentreffen des Betriebsteils der Werkzeugmaschine 100 und des Betriebsteils des Roboters 60 basierend auf dem in der Speichereinheit 34 gespeicherten räumlichen Zusammenhang zu prüfen.
  • Es ist zu beachten, dass das Maschinenmodell 811 und das Robotermodell 812, welche Daten zum Simulieren einer Bewegung sind, ein Teil, das kein Betriebsteil ist, umfassen kann. Beispielsweise kann das Maschinenmodell 811 das Gehäuse 14 der Werkzeugmaschine 100 umfassen. Zudem kann das Robotermodell 812 die Basis 23 umfassen. In diesem Fall wird das Robotermodell 812 den Roboterarm 21, die Roboterhand 22, das Werkzeug 6c und die Basis 23 umfassen.
  • Wenn das Maschinenmodell 811 die gesamte Struktur der Werkzeugmaschine 100 umfasst, zeigt die Anzeigeeinheit 4 die ganze Werkzeugmaschine 100 an. Auf ähnliche Weise, wenn das Robotermodell 812 die gesamte Struktur des Roboters 60 umfasst, zeigt die Anzeigeeinheit 4 den ganzen Roboter 60 an.
  • 5 ist ein Diagramm, welches ein drittes Beispiel einer Bildschirmdarstellung zeigt, welches von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform gerendert wird. 5 zeigt ein Beispiel einer Bildschirmdarstellungsanzeige auf der Anzeigeeinheit 4. Eine Bildschirmdarstellung 132, die in 5 gezeigt ist, ist eine Bildschirmdarstellung für den Fall, dass die Anzeigeeinheit 4 die ganze Werkzeugmaschine 100 und den ganzen Roboter 60 anzeigt.
  • 5 zeigt ein Bild der Werkzeugmaschine 100 als ein Bild 100A, ein Bild des Gehäuses 14 als ein Bild 14A, ein Bild des Roboters 60 als ein Bild 60A und ein Bild der Basis 23 als ein Bild 23A. Wenn das Maschinenmodell 811 die gesamte Struktur der Werkzeugmaschine 100 umfasst, kann die Zusammentreffenprüfungseinheit 803 ein Zusammentreffen der Roboterhand 22 mit dem Gehäuse 14 der Werkzeugmaschine 100 detektierten.
  • 6 ist ein Diagramm zum Beschreiben eines Zusammentreffens der Roboterhand und des Gehäuses der Werkzeugmaschine, was durch die Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform detektiert wird. Die folgende Beschreibung betrifft ein erstes Beispiel eines Zusammentreffens, welches von der Zusammentreffenprüfungseinheit 803 detektiert wird, für den Fall, dass das Maschinenmodell 811 die ganze Werkzeugmaschine 100 umfasst. 6 zeigt eine Situation, in welcher die Roboterhand 22 und das Gehäuse 14 der Werkzeugmaschine 100 zusammentreffen, wenn sich die Roboterhand 22 in der Richtung eines Pfeils D2 bewegt.
  • Des Weiteren, wenn das Maschinenmodell 811 die ganze Werkzeugmaschine 100 umfasst, kann die Zusammentreffenprüfungseinheit 803 ein Zusammentreffen des Roboterarms 21 mit einem Mechanismus, der außerhalb der Werkzeugmaschine 100 angeordnet ist, detektieren.
  • 7 ist ein Diagramm zum Beschreiben eines Zusammentreffens des Roboterarms und eines Mechanismus, welcher außerhalb der Werkzeugmaschine angeordnet ist, was von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform detektiert wird. Die folgende Beschreibung betrifft ein zweites Beispiel eines Zusammentreffens, welches von der Zusammentreffenprüfungseinheit 803 detektiert wird, in dem Fall, dass das Maschinenmodell 811 die ganze Werkzeugmaschine 100 Ganzes umfasst.
  • Ein Lader 30 ist ein Gerät, welches ein befördertes Objekt 7 außerhalb der Werkzeugmaschine 100 befördert. Aufgrund der Mobilität der Roboterhand 22 und des Roboterarms 21 außerhalb der Werkzeugmaschine 100 können die Roboterhand 22 und der Roboterarm 21 mit dem Lader 30 oder mit dem beförderten Objekt 7 kollidieren. 7 zeigt eine Situation, in welcher der Roboterarm 21 und der Lader 30 zusammentreffen, wenn sich das Werkzeug 6c in der Richtung eines Pfeils D3 bewegt.
  • Eine Prozedur einer Zusammentreffensprüfung, die von der Numerische-Steuerung-Vorrichtung 1X durchgeführt wird, wird als Nächstes beschrieben. 8 ist ein Ablaufdiagramm, welches eine Prozedur einer Zusammentreffensprüfung zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der ersten Ausführungsform durchgeführt wird.
  • Die Analyseverarbeitungseinheit 37 analysiert das NC-Programm (Schritt S10). D. h., die Analyseverarbeitungseinheit 37 analysiert das NC-Programm, welches Befehle zum Betreiben der Werkzeugmaschine 100 (Befehle, die an die Antriebseinheit 90 gerichtet sind) und Befehle zum Betreiben des Roboters 60 (Befehle, die an den Roboter 60 gerichtet sind) umfasst. Insbesondere analysiert die Analyseverarbeitungseinheit 37 Maschinenantriebsbefehle, welche die Befehle sind, die an die Antriebseinheit 90 der Werkzeugmaschine 100 gerichtet sind, wohingegen die Roboterbefehlsanalyseeinheit 371 Roboterbefehle analysiert, welche die Befehle sind, die an den Roboter 60 gerichtet sind.
  • Die Analyseverarbeitungseinheit 37 bestimmt, ob der jeweils analysierte Befehl ein Maschinenantriebsbefehl oder ein Roboterbefehl ist. Wenn der analysierte Befehl ein Maschinenantriebsbefehl ist (Ja bei Schritt S15), sendet die Analyseverarbeitungseinheit 37 das Ergebnis der Analyse des Maschinenantriebsbefehls an die Interpolationsverarbeitungseinheit 38. Stattdessen, wenn der analysierte Befehl ein Roboterbefehl ist (Nein bei Schritt S15), sendet die Analyseverarbeitungseinheit 37 das Ergebnis der Analyse des Roboterbefehls an die Robotersteuerungseinheit 41.
  • Die Interpolationsverarbeitungseinheit 38 führt eine Interpolation des Maschinenantriebsbefehls unter Verwendung des Ergebnis der Analyse der Maschinenantriebsbefehle durch (Schritt S20). Dann berechnet die Interpolationsverarbeitungseinheit 38 eine Werkzeugmaschinenbewegung, welche die Bewegung der Werkzeugmaschine 100 ist, basierend auf Maschinenantriebsbefehlen, die von der Interpolation erzeugt werden (Schritt S30). D. h., die Interpolationsverarbeitungseinheit 38 berechnet Achsenpositionen der Antriebseinheit 90, die in der Werkzeugmaschine 100 enthalten ist, basierend auf den Maschinenantriebsbefehlen, an denen die Interpolation durchgeführt wurde.
  • Die Robotersteuerungseinheit 41 konvertiert das NC-Programm in ein Roboterprogramm unter Verwendung des Ergebnisses der Analyse der Roboterbefehle (Schritt S40). Dann berechnet die Robotersteuerungseinheit 41 eine Roboterbewegung, welche die Bewegung des Roboters 60 ist, basierend auf dem Roboterprogramm (Schritt S50). D. h., die Robotersteuerungseinheit 41 berechnet die Gliederpositionen des Roboters 60 basierend auf dem Roboterprogramm. Insbesondere berechnet die Robotersteuerungseinheit 41 die Position des Roboterarms 21, die Position der Roboterhand 22 und dergleichen.
  • Positionsdaten, welche die Achsenpositionen der Antriebseinheit 90 repräsentieren, die von der Interpolationsverarbeitungseinheit 38 berechnet wurden, werden an die Maschinenbewegungsberechnungseinheit 801 gesendet. Zudem werden Positionsdaten, welche die Positionen der Glieder des Roboters 60 repräsentieren, die von der Robotersteuerungseinheit 41 berechnet wurden, an die Roboterbewegungsberechnungseinheit 802 gesendet.
  • Die Simulationsteuerungseinheit 80X führt eine Renderingverarbeitung durch (Schritt S60). Insbesondere rendert die Maschinenbewegungsberechnungseinheit 801 die Maschinenstruktur der Werkzeugmaschine 100 basierend auf dem Maschinenmodell 811 und rendert die Werkzeuge 6a und 6b, die von der Werkzeugmaschine 100 verwendet werden, basierend auf den Werkzeugdaten 813. Zudem rendert die Roboterbewegungsberechnungseinheit 802 den Roboter 60 basierend auf dem Robotermodell 812 und rendert das Werkzeug 6c, welches von dem Roboter 60 verwendet wird, basierend auf den Werkzeugdaten 814.
  • Die Maschinenbewegungsberechnungseinheit 801 nimmt die Positionsdaten, welche die Achsenpositionen der Antriebseinheit 90 angeben, von der Interpolationsverarbeitungseinheit 38. Die Maschinenbewegungsberechnungseinheit 801 rendert den Betriebsteil eines in der Werkzeugmaschine 100 enthaltenen Mechanismus basierend auf den genommenen Positionsdaten erneut. Die Maschinenbewegungsberechnungseinheit 801 rendert beispielsweise ein Bild einer Bewegung der Werkzeughalter 11a und 11b und ein Bild einer Bewegung der Werkzeuge 6a und 6b der Werkzeugmaschine 100.
  • Zudem nimmt die Roboterbewegungsberechnungseinheit 802 die Positionsdaten, welche die Positionen der Glieder des Roboters 60 angeben, von der Robotersteuerungseinheit 41. Die Roboterbewegungsberechnungseinheit 802 rendert den Bewegungsteil eines in dem Roboter 60 enthaltenen Mechanismus basierend auf den genommenen Positionsdaten erneut. Die Roboterbewegungsberechnungseinheit 802 rendert beispielsweise ein Bild einer Bewegung des Roboterarms 21 und ein Bild einer Bewegung der Roboterhand 22 mit dem Werkzeug 6c.
  • Die Ergebnisse (Grafikdaten) des Renderns durch die Maschinenbewegungsberechnungseinheit 801 und durch die Roboterbewegungsberechnungseinheit 802 werden auf der Anzeigeeinheit 4 von der Simulationssteuerungseinheit 80X über die Bildschirmdarstellungsverarbeitungseinheit 31 angezeigt.
  • Die Zusammentreffenprüfungseinheit 803 führt einen Zusammentreffensprüfungsprozess zwischen dem Roboter 60 und der Werkzeugmaschine 100 durch (Schritt S70). D. h., die Zusammentreffenprüfungseinheit 803 prüft eine Überlappung zwischen den Grafikdaten des Betriebsteils, der von der Maschinenbewegungsberechnungseinheit 801 gerendert wird, und den Grafikdaten des Betriebsteils, der von der Roboterbewegungsberechnungseinheit 802 gerendert wird. Insbesondere prüft die Zusammentreffenprüfungseinheit 803 basierend auf den Achsenpositionen der Werkzeugmaschine 100 und auf den Gliederpositionen des Roboters 60, ob ein Zusammentreffen unter den Komponenten, die unten bei Elementen (1) bis (4) gezeigt sind, auftreten wird.
    1. (1) Maschinenstruktur der Werkzeugmaschine 100 basierend auf dem Maschinenmodell 811
    2. (2) Werkzeuge 6a und 6b basierend auf den Werkzeugdaten 813
    3. (3) Struktur des Roboters 60 basierend auf dem Robotermodell 812
    4. (4) Werkzeug 6c basierend auf den Werkzeugdaten 814
  • Die Zusammentreffenprüfungseinheit 803 prüft, ob ein Zusammentreffen auftreten wird, beispielsweise zwischen dem Werkzeughalter 11a oder 11b oder dem Werkzeug 6a oder 6b der Werkzeugmaschine 100 und dem Roboterarm 21, der Roboterhand 22 oder dem Werkzeug 6c des Roboters 60 (Schritt S80).
  • Wenn ein Zusammentreffen auftreten wird (Ja bei Schritt S80), führt die Zusammentreffenprüfungseinheit 803 eine Alarmverarbeitung durch (Schritt S90). D. h., die Zusammentreffenprüfungseinheit 803 sendet an die Interpolationsverarbeitungseinheit 38 und an die Robotersteuerungseinheit 41 ein Signal zum Stoppen der Bewegung und zeigt gleichzeitig einen Zusammentreffensalarm über die Bildschirmdarstellungsverarbeitungseinheit 31 auf der Anzeigeeinheit 4 an. Auf den Empfang des Signals zum Stoppen der Bewegung von der Zusammentreffenprüfungseinheit 803 hin stoppen die Interpolationsverarbeitungseinheit 38 und die Robotersteuerungseinheit 41 das Berechnen.
  • Wenn kein Zusammentreffen auftreten wird (Nein bei Schritt S80), beendet die Simulationssteuerungseinheit 80X den Simulationsprozess.
  • Die vorliegende Ausführungsform wurde beschrieben, in welcher die Numerische-Steuerung-Vorrichtung 1X ein simuliertes Rendering und eine Zusammentreffensprüfung in Abhängigkeit der tatsächlichen Bewegungen der Werkzeugmaschine 100 und des Roboters 60 durchführt. Die Numerische-Steuerung-Vorrichtung 1X kann ein simuliertes Rendering und eine Zusammentreffensprüfung durchführen, ohne die Werkzeugmaschine 100 oder den Roboter 60 zu bewegen. In diesem Fall verwendet die Numerische-Steuerung-Vorrichtung 1X eine Maschinensperrfunktion der Numerische-Steuerung-Vorrichtung 1X. Die Maschinensperrfunktion ist eine Funktion, bei welcher Positionsdaten berechnet werden, an die Antriebseinheit 90 oder die Robotersteuerung 50 jedoch kein Befehl ausgegeben wird. Das Verwenden der Maschinensperrfunktion durch die Numerische-Steuerung-Vorrichtung 1X ermöglicht, dass ein simuliertes Rendering und eine Zusammentreffensprüfung durchgeführt werden, ohne die Werkzeugmaschine 100 oder den Roboter 60 tatsächlich zu bewegen.
  • In der ersten Ausführungsform rendert die Numerische-Steuerung-Vorrichtung 1X daher die Werkzeugmaschine 100 basierend auf dem Maschinenmodell 811 und auf den Positionsdaten, die zur Steuerung der Werkzeugmaschine 100 dienen, rendert den Roboter 60 basierend auf dem Robotermodell 812 und auf den Positionsdaten, welche zur Steuerung des Roboters 60 dienen, und bestimmt basierend auf den gerenderten Bildern der Werkzeugmaschine 100 und des Roboters 60, ob der Roboter 60 und die Werkzeugmaschine 100 miteinander kollidieren werden. Dies ermöglicht der Numerische-Steuerung-Vorrichtung 1X, zu bestimmen, ob der Roboter 60 und die Werkzeugmaschine 100 miteinander kollidieren werden.
  • Zweite Ausführungsform
  • Eine zweite Ausführungsform dieser Erfindung wird als Nächstes mit Bezug zu den 9 bis 12 beschrieben. In der zweiten Ausführungsform werden auf die Detektion eines Zusammentreffens durch Simulation hin die Werkzeugmaschine 100 und der Roboter 60 so gesteuert, dass ein Zusammentreffen verhindert wird, um den Betrieb der Werkzeugmaschine 100 und des Roboters 60 fortzusetzen.
  • 9 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß der zweiten Ausführungsform zeigt. Unter den Komponenten der 9 werden Komponenten, welche dieselbe Funktionalität erreichen wie entsprechende Komponenten der Numerische-Steuerung-Vorrichtung 1X der ersten Ausführungsform, die in 1 gezeigt ist, durch gleiche Bezugszeichen bezeichnet, und deren mehrfache Beschreibung wird ausgelassen.
  • Eine Numerische-Steuerung-Vorrichtung 1Y unterscheidet sich von der Numerische-Steuerung-Vorrichtung 1X dadurch, dass sie anstelle der Steuerungsberechnungseinheit 2X eine Steuerungsberechnungseinheit 2Y umfasst. Die Simulationsdaten 346, welche in der Speichereinheit 34 der Steuerungsberechnungseinheit 2Y gespeichert sind, umfassen das Maschinenmodell 811, das Robotermodell 812, einen Roboterwegpunkt und einen oberen Wartezeitgrenzwert. Die Ausdrücke Roboterwegpunkt und oberer Wartezeitgrenzwert werden später beschrieben. Des Weiteren unterscheidet sich die Steuerungsberechnungseinheit 2Y von der Steuerungsberechnungseinheit 2X dadurch, dass sie anstelle der Simulationssteuerungseinheit 80X eine Simulationssteuerungseinheit 80Y umfasst.
  • Die Simulationssteuerungseinheit 80Y simuliert, gleich der Simulationssteuerungseinheit 80X, eine Bewegung des Roboters 60 und eine Bewegung der Werkzeugmaschine 100 durch Berechnung. Die Simulationssteuerungseinheit 80Y umfasst die Maschinenbewegungsberechnungseinheit 801, die Roboterbewegungsberechnungseinheit 802, die Zusammentreffenprüfungseinheit 803 und eine Zusammentreffenverhinderungsverarbeitungseinheit 804. Es ist zu beachten, dass in 9 darauf verzichtet wurde, das Maschinenmodell 811, das Robotermodell 812 und die Werkzeugdaten 813 und 814 darzustellen, welche jeweils aus der Speichereinheit 34 bezogen werden und in der Simulationssteuerungseinheit 80Y gespeichert werden.
  • Wenn bestimmt wurde, dass die Werkzeugmaschine 100 und der Roboter 60 zusammentreffen werden, modifiziert die Zusammentreffenverhinderungsverarbeitungseinheit 804 einen an den Roboter 60 gerichteten Befehl und/oder dergleichen, um das Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 zu verhindern.
  • Wenn bestimmt wurde, dass die Werkzeugmaschine 100 und der Roboter 60 zusammentreffen werden, bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804, ob das Zusammentreffen durch Ändern der Stellung des Roboters 60 verhindert werden kann. In einem Fall, in welchem das Zusammentreffen durch Ändern der Stellung des Roboters 60 verhindert werden kann, ersetzt die Zusammentreffenverhinderungsverarbeitungseinheit 804 einen Roboterbewegungsbefehl, welcher ein an den Roboter 60 gerichteter Bewegungsbefehl ist, durch einen Roboterbewegungsbefehl, der eine geänderte Stellung des Roboters 60 spezifiziert. Daher verursacht die Zusammentreffenverhinderungsverarbeitungseinheit 804, dass ein Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 verhindert wird.
  • In einem Fall, in welchem das Zusammentreffen durch Ändern der Stellung des Roboters 60 nicht verhindert werden kann, bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804 dann, ob das Zusammentreffen durch Einfügen eines Roboterbewegungsbefehls, welcher als die Zielposition einen Roboterwegpunkt spezifiziert, verhindert werden kann. Der Roboterwegpunkt gibt eine Position an, die der Roboter 60 durchlaufen kann.
  • In einem Fall, in welchem das Zusammentreffen durch Verwenden eines Roboterwegpunkts verhindert werden kann, modifiziert die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Bewegungspfad des Roboters 60 durch Einfügen eines Roboterbewegungsbefehls, der kein Zusammentreffen mit der Werkzeugmaschine 100 verursacht, unmittelbar vor dem Roboterbewegungsbefehl (Befehl), welcher das Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 verursacht. Daher verursacht die Zusammentreffenverhinderungsverarbeitungseinheit 804, dass ein Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 verhindert wird.
  • Es ist zu beachten, dass die vorliegende Ausführungsform für den Fall beschrieben wird, in welchem ein Befehl zum Verhindern eines Zusammentreffens unmittelbar vor dem Roboterbewegungsbefehl, der ein Zusammentreffen verursacht, eingefügt wird, jedoch kann der Befehl zum Verhindern des Zusammentreffens an jeder Stelle vor dem Roboterbewegungsbefehl, welcher ein Zusammentreffen verursacht, eingefügt werden.
  • In einem Fall, in welchem das Zusammentreffen selbst unter Verwendung eines Roboterwegpunkts nicht verhindert werden kann, bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804, ob ein Zusammentreffen durch temporäres Unterbrechen der Bewegung des Roboters 60 verhindert werden kann, wenn die Komponente, mit welcher das Zusammentreffen auftreten wird (Zusammentreffensgegenstand), ein beweglicher Teil der Werkzeugmaschine 100, beispielsweise das Werkzeug 6a oder 6b, ist. Insbesondere bezieht die Zusammentreffenverhinderungsverarbeitungseinheit 804 aus der Speichereinheit 34 einen oberen Wartezeitgrenzwert. Der obere Wartezeitgrenzwert ist ein oberer Grenzwert einer Zeitdauer, für welche die Bewegung des Roboters 60 unterbrochen werden kann. D. h., der Roboter 60 kann für eine Zeitdauer, die kleiner oder gleich dem oberen Wartedauergrenzwert ist, in einem Wartezustand verweilen. Die Zusammentreffenverhinderungsverarbeitungseinheit 804 bestimmt, ob das Zusammentreffen durch Unterbrechen der Bewegung des Roboters 60 für eine spezifizierte Zeitdauer, die kleiner oder gleich dem oberen Wartezeitgrenzwert ist, verhindert werden kann.
  • In einem Fall, in welchem das Zusammentreffen verhindert werden kann, indem der Roboter 60 dazu gebracht wird, für eine spezifizierte Zeit zu warten, die kleiner oder gleich dem oberen Wartedauergrenzwert ist, fügt die Zusammentreffenverhinderungsverarbeitungseinheit 804 einen Wartebefehl (Verweilbefehl) unmittelbar vor dem Roboterbewegungsbefehl ein, welcher verursacht, dass der Roboter 60 und die Werkzeugmaschine 100 zusammentreffen. Daher verursacht die Zusammentreffenverhinderungsverarbeitungseinheit 804, dass ein Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 verhindert wird.
  • Um ein Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 zu verhindern, führt die Zusammentreffenverhinderungsverarbeitungseinheit 804 mindestens eines aus Ändern der Stellung des Roboters 60, Modifizieren des Pfads des Roboters 60 und Einfügen eines Wartebefehls durch. D. h., die Zusammentreffenverhinderungsverarbeitungseinheit 804 kann ein Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 durch eine Kombination aus dem Ändern der Stellung des Roboters 60, dem Modifizieren des Pfads des Roboters 60 und dem Einfügen eines Wartebefehls verhindern.
  • Eine beispielhafte Handlung des Roboters 60 bei einer Zusammentreffensverhinderung wird als Nächstes beschrieben. 10 ist ein Diagramm zum Beschreiben einer ersten beispielhaften Zusammentreffenverhinderungshandlung, welche von der Numerische-Steuerung-Vorrichtung gemäß der zweiten Ausführungsform durchgeführt wird. In dem ersten Beispiel einer Zusammentreffenverhinderungshandlung verhindert die Zusammentreffenverhinderungsverarbeitungseinheit 804 auf die Detektion eines Zusammentreffens hin das Zusammentreffen durch Ändern der Stellung des Roboters 60. 10 zeigt eine Zusammentreffenverhinderungshandlung, wenn das in 7 gezeigte Zusammentreffen auftreten wird. 10 zeigt eine Situation, in welcher die Stellung des Roboters 60 geändert wurde, wobei das Werkzeug 6c in die Richtung des Pfeils D3 bewegt wurde.
  • Beim Ändern der Stellung ersetzt die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Roboterbewegungsbefehl so, dass die vordere Endposition oder die Stellung des von dem Roboter 60 ergriffenen Werkzeugs 6c im Vergleich vor und nach der Änderung der Stellung nicht geändert wird. Die Zusammentreffenverhinderungsverarbeitungseinheit 804 bestimmt, ob das Zusammentreffen durch diese Ersetzung des Roboterbewegungsbefehls verhindert werden kann. Wenn es verhindert werden kann, verursacht die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Roboter 60 dazu, gemäß einem Roboterbewegungsbefehl zu handeln, welcher das Verhindern des Zusammentreffens ermöglicht.
  • Wenn das in 7 gezeigte Zusammentreffen auftreten wird, ersetzt die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Roboterbewegungsbefehl, so dass die vordere Endposition oder die Stellung des Werkzeugs 6c im Vergleich vor und nach der Änderung der Stellung nicht geändert wird, jedoch die Stellung eines spezifischen Abschnitts des Roboterarms 21 geändert wird. 10 zeigt eine Situation, in welcher ein mit der Basis 23 verbundener erster Roboterarm des Roboterarms 21 in der Richtung eines Pfeils D4a bewegt wird und ein mit dem ersten Roboterarm verbundener zweiter Roboterarm in der Richtung eines Pfeils D4b bewegt wird, wodurch die Stellung des Roboters 60 dementsprechend geändert wird.
  • 11 ist ein Diagramm zum Beschreiben einer zweiten beispielhaften Zusammentreffenverhinderungshandlung, welche von der Numerische-Steuerung-Vorrichtung gemäß der zweiten Ausführungsform durchgeführt wird. Bei der zweiten beispielhaften Zusammentreffenverhinderungshandlung verhindert die Zusammentreffenverhinderungsverarbeitungseinheit 804 auf die Detektion eines Zusammentreffens hin das Zusammentreffen durch Modifizieren des Bewegungspfads des Roboters 60. 11 zeigt eine Zusammentreffenverhinderungshandlung, wenn das in 6 gezeigte Zusammentreffen auftreten wird. 11 zeigt eine Situation, in welcher der Bewegungspfad des Roboters 60 modifiziert wurde, um das Werkzeug 6c in der Richtung eines Pfeils D5 zu bewegen und das Werkzeug 6c dann in der Richtung eines Pfeils D6 zu bewegen.
  • Die Zusammentreffenverhinderungsverarbeitungseinheit 804 bezieht die Position eines Roboterwegpunkts P1 aus der Speichereinheit 34. Die Zusammentreffenverhinderungsverarbeitungseinheit 804 bestimmt, ob das Zusammentreffen verhindert werden kann durch Einfügen eines Roboterbewegungsbefehls, welcher den Roboterwegpunkt P1 als die Zielposition (Wegposition) des Zusammentreffensgegenstandes (in 6, das Werkzeug 6c) unmittelbar vor dem Roboterbewegungsbefehl, welcher das Zusammentreffen verursacht.
  • In einem Fall, in welchem das Zusammentreffen verhindert werden kann, modifiziert die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Bewegungspfad einer in dem Roboter 60 enthaltenen Komponente durch Einfügen eines Roboterbewegungsbefehl, welcher verursacht, dass der Roboterbewegungspunkt P1 durchlaufen wird, unmittelbar vor dem Roboterbewegungsbefehl, welcher das Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 verursacht. Daher verursacht die Zusammentreffenverhinderungsverarbeitungseinheit 804, dass ein Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 verhindert wird. Es ist zu beachten, dass die Speichereinheit 34 eine Vielzahl der Roboterwegpunkte P1 speichern kann. In diesem Fall kann die Zusammentreffenverhinderungsverarbeitungseinheit 804 mehrere Verhinderungspfade unter Verwendung der mehreren Roboterwegpunkte \P1 verwenden.
  • Eine Zusammentreffensprüfungsprozedur, welche von der Numerische-Steuerung-Vorrichtung 1Y durchgeführt wird, wird als Nächstes beschrieben. 12 ist ein Ablaufdiagramm, welches eine Zusammentreffensprüfungsprozedur zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der zweiten Ausführungsform durchgeführt wird. Es ist zu beachten, dass die Beschreibung von 12 die Beschreibung von Handlungen auslässt, die der Handlung gleich ist, die mit Bezug zu dem Ablaufdiagramm von 8 beschrieben ist.
  • Die Numerische-Steuerung-Vorrichtung 1Y führt von Schritt S10 bis S80 eine Verarbeitung durch, die der der Numerische-Steuerung-Vorrichtung 1X gleich ist. Wenn das Ergebnis des Zusammentreffensprüfungsprozesses angibt, dass kein Zusammentreffen auftreten wird (Nein bei Schritt S80), beendet die Simulationssteuerungseinheit 80Y den Simulationsprozess.
  • Wenn das Ergebnis des Zusammentreffensprüfungsprozesses angibt, dass ein Zusammentreffen auftreten wird (Ja bei Schritt S80), bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804, ob das Zusammentreffen durch Ändern der Stellung des Roboters 60 verhindert werden kann (Schritt S100).
  • Wenn die vordere Endposition und die Stellung des durch den Roboter 60 ergriffenen Werkzeugs 6c vor und nach der Ersetzung des Roboterbewegungsbefehls nicht gleich bleiben, kann der Roboter 60 die vorgesehene Maschinenbearbeitung nicht durchführen. Daher berechnet die Zusammentreffenverhinderungsverarbeitungseinheit 804 ein Muster von Gliederpositionen des Roboters 60 (Positionen der jeweiligen Glieder des Roboters 60) so, dass die vordere Endposition und die Stellung des Werkzeugs 6c, die in dem Befehl zum Verhindern des Zusammentreffens spezifiziert sind, der vorderen Endposition und der Stellung, die in dem Befehl spezifiziert sind, der das Zusammentreffen verursachen wird, gleich sind.
  • Die Zusammentreffenverhinderungsverarbeitungseinheit 804 bestimmt, ob ein Muster von Gliederpositionen berechnet werden kann, welches es ermöglicht, das Zusammentreffen zu verhindern, ohne die vordere Endposition oder die Stellung des Werkzeugs 6c vor und nach dem Ersetzen des Roboterbewegungsbefehls zu ändern. D. h., die Zusammentreffenverhinderungsverarbeitungseinheit 804 bestimmt, ob das Zusammentreffen durch Anwenden der bestimmten Gliederpositionen des Roboters 60 verhindert werden kann.
  • Wenn bestimmt wurde, dass das Zusammentreffen durch Ändern der Stellung des Roboters 60 verhindert werden kann (Ja bei Schritt S 100), ändert die Zusammentreffenverhinderungsverarbeitungseinheit 804 die Stellung des Roboters 60 (Schritt S110). Insbesondere ersetzt die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Roboterbewegungsbefehl, welcher das Zusammentreffen verursacht, mit einem Roboterbewegungsbefehl, welcher eine geänderte Stellung des Roboters 60 spezifiziert. Daher modifiziert die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Roboterbefehl, welcher ein Zusammentreffen verursacht, auf einen Roboterbefehl, welcher eine Stellung spezifiziert, die kein Zusammentreffen verursacht.
  • Wie oben beschrieben ist, führt die Zusammentreffenverhinderungsverarbeitungseinheit 804 eine Stellungsänderungsverarbeitung an dem Roboter 60 für den Fall durch, in welchem das Zusammentreffen durch Ändern der Stellung des Roboters 60, die durch den Roboterbewegungsbefehl spezifiziert ist, die das Zusammentreffen verursacht, verhindert werden kann. Daher ersetzt die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Roboterbewegungsbefehl, welcher das Zusammentreffen verursacht, durch einen Roboterbewegungsbefehl, welcher es ermöglicht, das Zusammentreffen zu verhindern, um den Roboters 60 zu betreiben.
  • Wenn bestimmt wird, dass das Zusammentreffen durch Ändern der Stellung des Roboters 60 nicht verhindert werden kann (Nein bei Schritt S 100), bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804, ob das Zusammentreffen durch Modifizieren des Pfads des Roboters 60 verhindert werden kann (Schritt S120). D. h., die Zusammentreffenverhinderungsverarbeitungseinheit 804 bestimmt, ob das Zusammentreffen durch Einfügen eines Pfadmodifikationsbefehls unmittelbar vor dem Roboterbewegungsbefehl, welcher das Zusammentreffen verursacht, verhindert werden kann. Insbesondere bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804, ob das Zusammentreffen in einem Fall verhindert werden kann, in welchem der Roboter 60 einen voreingestellten Roboterwegpunkt durchläuft. Unter der Annahme, dass jede beliebige Anzahl (einer oder mehr) Roboterwegpunkte eingestellt werden kann, bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804 bei dieser Handlung, ob das Zusammentreffen durch Einfügen eines Roboterbewegungsbefehls, welcher verursacht, dass der Roboters 60 jeden der Roboterwegpunkte durchläuft, verhindert werden kann.
  • Wenn bestimmt wird, dass das Zusammentreffen durch Modifizieren des Pfads des Roboters 60 verhindert werden kann (Ja bei Schritt S120), modifiziert die Zusammentreffenverhinderungsverarbeitungseinheit 804 den Bewegungspfad des Roboters 60 (Schritt S130). Insbesondere fügt die Zusammentreffenverhinderungsverarbeitungseinheit 804 einen Bewegungsbefehl, der kein Zusammentreffen verursacht, unmittelbar vor dem Roboterbewegungsbefehl, welcher das Zusammentreffen verursacht, ein. Mit anderen Worten fügt die Zusammentreffenverhinderungsverarbeitungseinheit 804 einen Roboterbewegungsbefehl (Pfadmodifikationsbefehl), welcher als die Zielposition einen Roboterwegpunkt spezifiziert, welcher es ermöglicht, das Zusammentreffen zu verhindern, unmittelbar vor dem Roboterbewegungsbefehl, welcher das Zusammentreffen verursacht, ein. Wenn mehrere Roboterwegpunkte existieren, welche es ermöglichen, das Zusammentreffen zu verhindern, fügt die Zusammentreffenverhinderungsverarbeitungseinheit 804 einen Roboterbewegungsbefehl, welcher als die Zielposition den Roboterwegpunkt spezifiziert, welcher die kürzeste Bewegungsdistanz bereitstellt, d. h., welcher in einer kürzesten Zeit erreichbar ist, unmittelbar vor dem Roboterbewegungsbefehl, welcher das Zusammentreffen verursacht, ein.
  • Wenn bestimmt wurde, dass das Zusammentreffen durch Modifizieren des Pfads des Roboters 60 nicht verhindert werden kann (Nein bei Schritt S120), bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804, ob das Zusammentreffen dadurch verhindert werden kann, dass der Roboter 60 dazu gebracht wird, zu warten (Schritt S140). Insbesondere bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804, ob der Zusammentreffensgegenstand, mit dem der Roboter 60 zusammentreffen wird, ein beweglicher Teil ist und das Zusammentreffen durch Unterbrechen der Bewegung des Roboters 60 für eine Zeitdauer, die kleiner oder gleich dem oberen Wartedauergrenzwert ist, verhindert werden kann. D. h., die Zusammentreffenverhinderungsverarbeitungseinheit 804 bestimmt, ob das Objekt, mit dem der Roboter 60 zusammentreffen wird, ein beweglicher Teil ist, beispielsweise das Werkzeug 6a oder 6b der Werkzeugmaschine 100. In einem Fall, in welchem der Zusammentreffensgegenstand ein beweglicher Teil ist, bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 804, ob das Zusammentreffen durch Unterbrechen der Bewegung des Roboters 60 für eine Zeitdauer bis zu dem oberen Wartegrenzwert verhindert werden kann, während sich ein bewegliches Teil, wie beispielsweise das Werkzeug 6a oder 6b, bewegt.
  • Wenn bestimmt wurde, dass das Zusammentreffen dadurch verhindert werden kann, dass der Roboter 60 dazu gebracht wird, zu warten (Ja bei Schritt S114), führt die Zusammentreffenverhinderungsverarbeitungseinheit 804 eine Warteverarbeitung des Roboters 60 durch. Insbesondere fügt die Zusammentreffenverhinderungsverarbeitungseinheit 804 einen Wartebefehl, welcher eine Zeitdauer spezifiziert, welche es ermöglicht, das Zusammentreffen zu verhindern, d. h. einen Wartebefehl zum Unterbrechen der Bewegung des Roboters 60, unmittelbar vor dem Roboterbefehl, welcher das Zusammentreffen verursacht, ein (Schritt S115).
  • Wenn die Zusammentreffenverhinderungsverarbeitungseinheit 804 bestimmt, dass das Zusammentreffen selbst dadurch nicht verhindert werden kann, dass der Roboter 60 dazu gebracht wird, zu warten (Nein bei Schritt S140), führt die Zusammentreffenprüfungseinheit 803 eine Alarmverarbeitung durch (Schritt S160). D. h., die Zusammentreffenprüfungseinheit 803 sendet ein Signal zum Stoppen der Bewegung an die Interpolationsverarbeitungseinheit 38 und an die Robotersteuerungseinheit 41 und zeigt über die Bildschirmdarstellungsverarbeitungseinheit 31 auf der Anzeigeeinheit 4 einen Zusammentreffensalarm an. Auf den Empfang des Signals zum Stoppen der Bewegung von der Zusammentreffenprüfungseinheit 803 hin stoppen die Interpolationsverarbeitungseinheit 38 und die Robotersteuerungseinheit 41 das Berechnen.
  • Wenn ein Zusammentreffen auftreten wird, führt gemäß der zweiten Ausführungsform die Numerische-Steuerung-Vorrichtung 1Y daher ein Ändern der Stellung des Roboters 60, ein Modifizieren des Bewegungspfads des Roboters 60 oder ein Einfügen des Wartebefehls für den Roboter 60 durch, wodurch ermöglicht wird, ein Zusammentreffen des Roboters 60 und der Werkzeugmaschine 100 zu verhindern.
  • Dritte Ausführungsform.
  • Eine dritte Ausführungsform dieser Erfindung wird als Nächstes mit Bezug zu den 13 bis 17 beschrieben. In der dritten Ausführungsform wird eine Simulation (hierin nachfolgend als Arbeitssimulation bezeichnet) betreffend die Formen der Werkstücke 5a und 5b durchgeführt, welche während einer Maschinenbearbeitung der Werkstücke 5a und 5b gebildet werden.
  • 13 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß der dritten Ausführungsform zeigt. Unter den Komponenten der 13 werden Komponenten, die die gleiche Funktionalität erreichen wie entsprechende Komponenten der Numerische-Steuerung-Vorrichtungen 1X und 1Y, durch gleiche Bezugszeichen bezeichnet, und deren mehrfache Beschreibung wird ausgelassen.
  • Eine Numerische-Steuerung-Vorrichtung 1Z unterscheidet sich von der Numerische-Steuerung-Vorrichtung 1Y dadurch, dass sie anstelle der Steuerungsberechnungseinheit 2Y eine Steuerungsberechnungseinheit 2Z umfasst. Die Simulationsdaten 346, welche in der Speichereinheit 34 der Steuerungsberechnungseinheit 2Z gespeichert sind, umfassen das Maschinenmodell 811, das Robotermodell 812, den Roboterwegpunkt, den oberen Wartedauergrenzwert und Werkstückdaten 815. Die Werkstückdaten 815 ist Information über die Werkstücke 5a und 5b und umfassen Information, wie beispielsweise die Form beim Beginn der Maschinenbearbeitung und die Ladeposition jedes der Werkstücke 5a und 5b.
  • Die Steuerungsberechnungseinheit 2Z unterscheidet sich von der Steuerungsberechnungseinheit 2Y dadurch, dass sie anstelle der Simulationssteuerungseinheit 80Y eine Simulationssteuerungseinheit 80Z umfasst.
  • Die Simulationssteuerungseinheit 80Z simuliert durch Berechnung die Änderung der Form jedes der Werkstücke 5a und 5b. Die Simulationssteuerungseinheit 80Z umfasst die Maschinenbewegungsberechnungseinheit 801, die Roboterbewegungsberechnungseinheit 802, die Zusammentreffenprüfungseinheit 803 und die Zusammentreffenverhinderungsverarbeitungseinheit 804. Die Simulationssteuerungseinheit 80Z der vorliegenden Ausführungsform umfasst zudem eine Bewegungsbahnberechnungseinheit 805, eine Werkstückpositionsberechnungseinheit 806 und eine Werkstückformberechnungseinheit 807. Es ist zu beachten, dass in 13 die Darstellung des Maschinenmodells 811, des Robotermodells 812 und der Werkzeugdaten 813 und 814 ausgelassen ist, welche von der Simulationssteuerungseinheit 80Z aus der Speichereinheit 34 bezogen werden.
  • Die Bewegungsbahnberechnungseinheit 805 bezieht Bewegungsdaten der Achsen der Werkzeugmaschine 100 aus der Maschinenbewegungsberechnungseinheit 801 und bezieht Bewegungsdaten der Glieder des Roboters 60 aus der Roboterbewegungsberechnungseinheit 802. Die Bewegungsbahnberechnungseinheit 805 berechnet Bewegungsbahnen der Werkzeuge 6a bis 6c basierend auf den Bewegungsdaten der Achsen der Werkzeugmaschine 100 und auf den Bewegungsdaten der Glieder des Roboters 60. Die Bewegungsbahn des Werkzeugs 6a oder des Werkzeugs 6b ist eine erste Bewegungsbahn, und die Bewegungsbahn des Werkzeugs 6c ist eine zweite Bewegungsbahn.
  • Die Werkstückpositionsberechnungseinheit 806 bezieht die Werkstückdaten 815 aus der Speichereinheit 34. Die Werkstückpositionsberechnungseinheit 806 berechnet die Positionen der Werkzeuge 6a bis 6c und die Positionen der Werkstücke 5a und 5b in dem Koordinatensystem des Roboters 60. Insbesondere berechnet die Werkstückpositionsberechnungseinheit 806 Werkstückpositionen, welche die Positionen der Werkstücke 5a und 5b sind, basierend auf den Werkstückdaten 815, auf dem Maschinenmodell 811 und auf dem Robotermodell 812.
  • Die Werkstückformberechnungseinheit 807 berechnet die Formen der Werkstücke 5a und 5b, welche während der Maschinenbearbeitung der Werkstücke 5a und 5b gebildet werden (d. h. temporäre Änderungen der Formen), basierend auf den Bewegungsbahnen der Werkzeuge 6a bis 6c und auf den Positionen der Werkstücke 5a und 5b. Zudem zeigt die Werkstückformberechnungseinheit 807 die Formen der Werkstücke 5a und 5b, die während der Maschinenbearbeitung gebildet werden, über die Bildschirmdarstellungsverarbeitungseinheit 31 auf der Anzeigeeinheit 4 an.
  • Nun wird Information beschrieben, die auf der Bildschirmdarstellung der Anzeigeeinheit 4 durch die Numerische-Steuerung-Vorrichtung 1Z anzuzeigen ist. 14 ist ein Diagramm zum Beschreiben von Bewegungen des Roboters und der Werkzeugmaschine, wenn eine Arbeitssimulation von der Numerische-Steuerung-Vorrichtung gemäß der dritten Ausführungsform durchgeführt wird. 15 ist ein Diagramm, welches ein Beispiel einer Bildschirmdarstellungsanzeige zeigt, wenn die in 14 gezeigte Arbeitssimulation durchgeführt wird.
  • 14 zeigt eine Situation, in welcher die Werkzeugmaschine 100 eine Drehmaschinenbearbeitung unter Verwendung eines ersten Systems Q1 und eines zweiten Systems Q2 durchführt, woraufhin der Roboter 60 durch Robotersteuerung unter Verwendung eines dritten Systems Q3 ein Anfasen durchführt. Das erste System Q1 ist ein System, welches das Werkzeug 6a umfasst. Das zweite System Q2 ist ein System, welches das Werkzeug 6b umfasst. Das dritte System Q3 ist ein System, welches das Werkzeug 6c umfasst. Das erste System Q1, welches das Werkzeug 6a umfasst, maschinenbearbeitet das Werkstück 5a, und das zweite System Q2, welches das Werkzeug 6b umfasst, maschinenbearbeitet das Werkstück 5b. Zudem maschinenbearbeitet das dritte System Q3, welches das Werkzeug 6c umfasst, das Werkstück 5a. Das Werkstück 5a wird durch das erste System Q1, welches das Werkzeug 6a umfasst, auf eine Anfasungsposition P2 maschinenbearbeitet und wird dann durch das dritte System Q3, welches das Werkzeug 6c umfasst, an der Anfasungsposition P2 angefast, während es kontinuierlich von dem ersten System Q1 maschinenbearbeitet wird.
  • Die Anzeigeeinheit 4, welche in der Numerische-Steuerung-Vorrichtung 1Z enthalten ist, zeigt die Werkstücke 5a und 5b während der Maschinenbearbeitung an und zeigt die Werkzeuge 6a bis 6c der Werkzeugmaschine 100 und des Roboters 60 an. 15 zeigt eine Bildschirmdarstellung 133, welche das Werkstück 5a, während es maschinenbearbeitet wird, und das Werkzeug 6a der Werkzeugmaschine 100 zeigt, während eine Drehmaschinenbearbeitung unter Verwendung des ersten Systems Q1 durchgeführt wird. 15 zeigt zudem eine Bildschirmdarstellung 134, welche danach das Werkstück 5a, während es maschinenbearbeitet wird, das Werkzeug 6a der Werkzeugmaschine 100 und das Werkzeug 6c des Roboters 60 zeigt, während eine Drehmaschinenbearbeitung unter Verwendung des ersten Systems Q1 und eine Anfasung unter Verwendung des dritten Systems Q3 durchgeführt werden. D. h., die Bildschirmdarstellung 133 zeigt das Ergebnis einer Simulation der Drehmaschinenbearbeitungsphase betreffend das erste System Q1 der Werkzeugmaschine 100 an, und die Bildschirmdarstellung 134 zeigt das Ergebnis einer Simulation der Anfasungsschrittphase betreffend das dritte System Q3 des Roboters 60 an.
  • In die von der Anzeigeeinheit 4 angezeigte Bildschirmdarstellung (d. h. Arbeitssimulationsbildschirmdarstellung) kann an jedem Punkt der Bildschirmdarstellung hineingezoomt oder herausgezoomt werden, wodurch eine Verifikation einer detaillierten Form an einem bestimmten Punkt der durch Maschinenbearbeitung zu produzierenden Werkstückform ermöglicht wird. 16 ist ein Diagramm, welches ein Beispiel einer herangezoomten Anzeige der Form des Werkstücks an der in 15 gezeigten Anfasungsposition zeigt. 16 zeigt eine Bildschirmdarstellung 135, welche eine herangezoomte Anzeige eines Bildes des Werkstücks 5a an der Anfasungsposition P2 bereitstellt. Es ist zu beachten, dass in 16 der Bereich, der das Werkstück 5a repräsentiert, durch Schraffur angegeben ist.
  • Eine Prozedur einer Arbeitssimulation, die von der Numerische-Steuerung-Vorrichtung 1Z durchgeführt wird, wird als Nächstes beschrieben. 17 ist ein Ablaufdiagramm, welches eine Prozedur einer Arbeitssimulation zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der dritten Ausführungsform durchgeführt wird. Bezugnehmend auf 17 wird eine Arbeitssimulation des Werkstücks 5a betreffend das erste System Q1 und das dritte System Q3 beschrieben. Es ist zu beachten, dass die Beschreibung von 17 eine Beschreibung einer Handlung auslässt, die der Handlung gleich ist, die mit Bezug zu dem Ablaufdiagramm von 8 beschrieben wurde.
  • Nach Beginnen einer Arbeitssimulation führt die Numerische-Steuerung-Vorrichtung 1Z eine Drehmaschinenbearbeitung durch die Werkzeugmaschine 100 unter Verwendung des Systems Q1 durch und führt durch den Roboter 60 unter Verwendung des dritten Systems Q3 ein Anfasen durch. Es ist zu beachten, dass die Verarbeitung durch das erste System Q1 und die Verarbeitung durch das dritte System Q3 parallel durchgeführt werden.
  • In dem Drehmaschinenbearbeitungsschritt durch das erste System Q1 analysiert die Analyseverarbeitungseinheit 37 das NC-Programm (Schritt S10A). D. h., die Analyseverarbeitungseinheit 37 analysiert Maschinenantriebsbefehle, welche an die Antriebseinheit 90 der Werkzeugmaschine 100 gerichtete Befehle sind.
  • Die Interpolationsverarbeitungseinheit 38 führt eine Interpolationsverarbeitung des Maschinenantriebsbefehls unter Verwendung des Ergebnisses der Analyse der Maschinenantriebsbefehle durch (Schritt S20). Dann berechnet die Interpolationsverarbeitungseinheit 38 eine Werkzeugmaschinenbewegung, welche die Bewegung der Werkzeugmaschine 100 ist, basierend auf Maschinenantriebsbefehlen, an denen die Interpolation durchgeführt wurde (Schritt S30). Die Maschinenbewegung, welche durch die Berechnung durch die Interpolationsverarbeitungseinheit 38 erhalten wird, umfasst Information über die Achsenpositionen der Antriebseinheit 90, welche in der Werkzeugmaschine 100 enthalten ist.
  • Die Bewegungsbahnberechnungseinheit 805 berechnet eine erste Werkzeugbewegungsbahn, welche die Bewegungsbahn des Werkzeugs 6a ist (Schritt S200). Insbesondere berechnet die Bewegungsbahnberechnungseinheit 805 die Bewegungsbahn des Werkzeugs 6a basierend auf den Achsenpositionen der Antriebseinheit 90, welche in der Werkzeugmaschine 100 enthalten ist, auf dem Maschinenmodell 811 und auf den Werkzeugdaten 813.
  • In dem Anfasungsschritt durch das dritte System Q3 analysiert die Roboterbefehlsanalyseeinheit 371 der Analyseverarbeitungseinheit 37 das NC-Programm (Schritt S10B). D. h., die Roboterbefehlsanalyseeinheit 371 analysiert Roboterbefehle, welche an den Roboter 60 gerichtete Befehle sind.
  • Die Robotersteuerungseinheit 41 konvertiert das an den Roboter 60 gerichtete NC-Programm in ein Roboterprogramm unter Verwendung des Ergebnisses der Analyse der an den Roboter 60 gerichteten Befehle (Schritt S40). Dann berechnet die Robotersteuerungseinheit 41 eine Roboterbewegung, welche die Bewegung des Roboters 60 ist, basierend auf dem Roboterprogramm (Schritt S50). Die Roboterbewegung, welche durch die Berechnung durch die Robotersteuerungseinheit 41 erhalten wird, umfasst Information über die Gliederpositionen des Roboters 60.
  • Die Bewegungsbahnberechnungseinheit 805 berechnet eine zweite Werkzeugbewegungsbahn, welche die Bewegungsbahn des Werkzeugs 6c ist (Schritt S210). Insbesondere berechnet die Bewegungsbahnberechnungseinheit 805 die Bewegungsbahn des Werkzeugs 6c basierend auf den Gliederpositionen des Roboters 60, auf dem Robotermodell 812 und auf den Werkzeugdaten 814.
  • Nachdem die Bewegungsbahnberechnungseinheit 805 die Bewegungsbahnen der Werkzeuge 6a und 6c berechnet, berechnet die Werkstückpositionsberechnungseinheit 806 eine Werkstückposition, welche die Position des Werkstücks 5a ist, basierend auf den Werkstückdaten 815, auf dem Maschinenmodell 811 und auf dem Robotermodell 812 (Schritt S220). D. h., beim Berechnen der Werkstückposition berechnet die Werkstückpositionsberechnungseinheit 806, an welcher Position das Werkstück 5a in der Maschinenbearbeitungskammer der Werkzeugmaschine 100 positioniert ist.
  • Die Werkstückformberechnungseinheit 807 berechnet die Werkstückform (Schritt S230). Insbesondere berechnet die Werkstückformberechnungseinheit 807 die Form des Werkstücks 5a, welche während der Maschinenbearbeitung des Werkstücks 5a gebildet wird, basierend auf den Bewegungsbahnen der jeweiligen Werkzeuge 6a bis 6c und auf der Position des Werkstücks 5a. D. h., die Werkstückformberechnungseinheit 807 berechnet die Form des Werkstücks 5a, die sich dadurch ergibt, dass ein bestimmter Bereich maschinenbearbeitet wird, basierend auf den Bewegungsbahnen der Werkzeuge 6a und 6c, die in den Schritten S200 und S210 berechnet wurden, und auf der Werkstückposition, die in Schritt S220 berechnet wurde. Mit anderen Worten berechnet die Werkstückformberechnungseinheit 807 die temporäre Änderung der Werkstückform. Bei dieser Handlung berechnet die Werkstückformberechnungseinheit 807 kontinuierlich die Form des Werkstücks 5a durch Ausschneiden von Abschnitten, durch welche die Werkzeuge 6a und 6c verlaufen.
  • Die Simulationssteuerungseinheit 80Z führt eine Renderingverarbeitung durch (Schritt S240). Insbesondere rendert die Werkstückformberechnungseinheit 807 die berechnete Form des Werkstücks 5a, welche während der Maschinenbearbeitung des Werkstücks 5a gebildet wird, und sendet die Daten des Renderns an die Bildschirmdarstellungsverarbeitungseinheit 31. Dies veranlasst die Anzeigeeinheit 4 dazu, die Form des Werkstücks 5a anzuzeigen, welche während der Maschinenbearbeitung gebildet wird.
  • Die Simulationssteuerungseinheit 80Z ist ferner fähig, die Form des Werkstücks 5b, welche während einer Maschinenbearbeitung des Werkstücks 5b gebildet wird, wie in dem Fall des Werkstücks 5a zu berechnen. Die Simulationssteuerungseinheit 80Z kann Zusammentreffen des Roboters 60 und der Werkstücke 5a und 5b prüfen und solche Zusammentreffen unter Verwendung der berechneten Werkstücke 5a und 5b verhindern. Die Simulationssteuerungseinheit 80Z kann zudem Zusammentreffen der Werkzeugmaschine 100 und der Werkstücke 5a und 5b prüfen und solche Zusammentreffen unter Verwendung der berechneten Werkstücke 5a und 5b verhindern.
  • Gemäß der dritten Ausführungsform berechnet die Numerische-Steuerung-Vorrichtung 1Z daher die Bewegungsbahnen der jeweiligen Werkzeuge 6a bis 6c und berechnet die Formen der Werkstücke 5a und 5b basierend auf den Bewegungsbahnen der jeweiligen Werkzeuge 6a bis 6c und kann daher die Formen der Werkstücke 5a und 5b, die während der Maschinenbearbeitung gebildet werden, berechnen.
  • Durch die Fähigkeit, die Formen der Werkstücke 5a und 5b, die während der Maschinenbearbeitung gebildet werden, berechnen zu können, kann die Numerische-Steuerung-Vorrichtung 1Z Zusammentreffen der Werkstücke 5a und 5b und des Roboters 60 genau prüfen und solche Zusammentreffen verhindern. Durch die Fähigkeit, die Formen der Werkstücke 5a und 5b, die während der Maschinenbearbeitung gebildet werden, berechnen zu können, kann die Numerische-Steuerung-Vorrichtung 1Z des Weiteren Zusammentreffen der Werkstücke 5a und 5b und der Werkzeugmaschine 100 genau prüfen und solche Zusammentreffen verhindern.
  • Vierte Ausführungsform.
  • Eine vierte Ausführungsform dieser Erfindung wird als Nächstes mit Bezug zu den 18 bis 22 beschrieben. Als Reaktion auf eine manuelle Bedienung der Werkzeugmaschine 100 oder des Roboters 60 wird in der vierten Ausführungsform bestimmt, ob ein Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 auftreten wird; und in einem Fall, in welchem ein Zusammentreffen auftreten wird, wird eine Zusammentreffenverhinderungshandlung durchgeführt.
  • 18 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform zeigt. Unter den Komponenten der 18 werden Komponenten, die die gleiche Funktionalität erreichen wie entsprechende Komponenten der Numerische-Steuerung-Vorrichtungen 1X, 1Y und 1Z, durch gleiche Bezugszeichen bezeichnet, und deren mehrfache Beschreibung wird ausgelassen.
  • Eine Numerische-Steuerung-Vorrichtung 1L unterscheidet sich von der Numerische-Steuerung-Vorrichtung 1Y dadurch, dass sie anstelle der Steuerungsberechnungseinheit 2Y eine Steuerungsberechnungseinheit 2L umfasst. Die Steuerungsberechnungseinheit 2L unterscheidet sich von der Steuerungsberechnungseinheit 2Y dadurch, dass sie anstelle der Simulationssteuerungseinheit 80Y eine Zusammentreffenverhinderungssteuerungseinheit 81 umfasst. Die Steuerungsberechnungseinheit 2L unterscheidet sich ferner von der Steuerungsberechnungseinheit 2Y dadurch, dass sie anstelle der Robotersteuerungseinheit 41 eine Robotersteuerungseinheit 41L umfasst.
  • Die Simulationsdaten 346, welche in der Speichereinheit 34 der Steuerungsberechnungseinheit 2L gespeichert sind, umfassen das Maschinenmodell 811 und das Robotermodell 812.
  • Zusätzlich zu der Funktionalität der Simulationssteuerungseinheit 80Y hat die Zusammentreffenverhinderungssteuerungseinheit 81 eine Funktionalität zum Durchführen einer Handlung zum Verhindern eines Zusammentreffens, wenn eine manuelle Bedienung durchgeführt wird. Die Zusammentreffenverhinderungssteuerungseinheit 81 bestimmt als Reaktion auf eine manuelle Bedienung der Werkzeugmaschine 100 oder des Roboters 60, ob ein Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 auftreten wird, und in einem Fall, in welchem ein Zusammentreffen auftreten wird, modifiziert sie einen Befehl oder dergleichen, der an den Roboter 60 gerichtet ist, um das Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 zu verhindern. Die Zusammentreffenverhinderungssteuerungseinheit 81 umfasst eine Maschinenbewegungsberechnungseinheit 851, eine Roboterbewegungsberechnungseinheit 852, eine Zusammentreffenprüfungseinheit 853 und eine Zusammentreffenverhinderungsverarbeitungseinheit 854.
  • Die Maschinenbewegungsberechnungseinheit 851 bezieht das Maschinenmodell 811 und die Werkzeugdaten 813 aus der Speichereinheit 34. Zudem bezieht die Roboterbewegungsberechnungseinheit 852 das Robotermodell 812 und die Werkzeugdaten 814 aus der Speichereinheit 34. Es ist zu beachten, dass in 18 die Darstellung des Maschinenmodells 811, des Robotermodells 812 und der Werkzeugdaten 813 und 814 ausgelassen ist und diese aus der Speichereinheit 34 bezogen und in der Zusammentreffenverhinderungssteuerungseinheit 81 gespeichert werden.
  • Zusätzlich zu der Funktionalität der Maschinenbewegungsberechnungseinheit 801 hat die Maschinenbewegungsberechnungseinheit 851 eine Funktionalität zum Berechnen der Position und der Form der Werkzeugmaschine 100, wenn eine manuelle Bedienung durchgeführt wird. In einem Fall, in welchem das durch die manuelle Bedienung zu bewegende Objekt (nachfolgend Bewegungsziel) eine Komponente der Werkzeugmaschine 100 ist, berechnet die Maschinenbewegungsberechnungseinheit 851 die Position und die Form der Werkzeugmaschine 100, die sich aus der Bewegung ergeben werden, basierend auf dem Bewegungsziel, auf dem Bewegungsumfang, auf dem Maschinenmodell 811 und auf den Werkzeugdaten 813. Die Maschinenbewegungsberechnungseinheit 851 sendet die Position und die Form der Werkzeugmaschine 100, welche sich aus der Bewegung ergeben werden, welche die Berechnungsergebnisse sind, an die Zusammentreffenprüfungseinheit 853.
  • Zusätzlich zu der Funktionalität der Roboterbewegungsberechnungseinheit 802 hat die Roboterbewegungsberechnungseinheit 852 eine Funktionalität zum Berechnen der Position und der Form des Roboters 60, wenn eine manuelle Bedienung vorgenommen wird. In einem Fall, in welchem das Bewegungsziel der manuellen Bedienung eine Komponente des Roboters 60 ist, berechnet die Roboterbewegungsberechnungseinheit 852 die Position und die Form des Roboters 60, die sich aus der Bewegung ergeben werden, basierend auf dem Bewegungsziel, auf dem Bewegungsumfang, auf dem Robotermodell 812 und auf den Werkzeugdaten 814. Die Roboterbewegungsberechnungseinheit 852 sendet die Position und die Form des Roboters 60, welche sich aus der Bewegung ergeben werden, welche die Berechnungsergebnisse sind, an die Zusammentreffenprüfungseinheit 853.
  • Die Zusammentreffenprüfungseinheit 853 bestimmt basierend auf der Position und der Form des Bewegungsziels, die sich aus der durch die manuelle Bedienung verursachten Bewegung ergeben werden, ob die Werkzeugmaschine 100 und der Roboter 60 zusammentreffen werden. Die Zusammentreffenverhinderungsverarbeitungseinheit 854 erzeugt Bewegungsdaten, welche eine geänderte Stellung des Roboters 60 angeben, und sendet die Bewegungsdaten an die Robotersteuerungseinheit 41L, wenn das Zusammentreffen durch Ändern der Stellung des Roboters 60 verhindert werden kann.
  • Die Eingabebedienungseinheit 3 der Numerische-Steuerung-Vorrichtung 1L umfasst ein Handrad 55, einen Jog-Knopf 57 und einen Achsenauswahlschalter 59. Zudem umfasst die Robotersteuerungseinheit 41L der Numerische-Steuerung-Vorrichtung 1L eine Manuelle-Roboterbedienung-Einheit 415. Zudem umfasst die Interpolationsverarbeitungseinheit 38 der Numerische-Steuerung-Vorrichtung 1L eine Manueller-Betrieb-erlaubt/nicht-erlaubt-Bestimmungseinheit 382M.
  • Das Handrad 55 ist ein Rad zum Bedienen des Umfangs der Achsenbewegung des Roboters 60. Das Handrad 55 ist ein manueller Pulsgenerator. Das Handrad 55 sendet den Bewegungsumfang, der der Bedienung entspricht, an die Steuerungsberechnungseinheit 2L. Der Wert dieses Bewegungsumfangs wird über die Speichereinheit 34 an die Manuelle-Roboterbedienung-Einheit 415 gesendet.
  • Es ist zu beachten, dass das Handrad 55 dazu verwendet werden kann, den Umfang der Achsenbewegung der Werkzeugmaschine 100 zu bedienen. D. h., der Nutzer kann den Roboter 60 und die Werkzeugmaschine 100 unter Verwendung eines einzigen Handrades 55 bedienen. In diesem Fall ist ein Auswahlschalter (d. h. der später beschriebene Auswahlschalter 15) zum Wechseln des Ziels der manuellen Bedienung, welche durch das Handrad 55 vorzunehmen ist, in dem Bedienfeld (d. h. das Bedienfeld 53, welches später beschrieben ist) zur Nutzerbedienung bereitgestellt.
  • Der Jog-Knopf 57 ist ein Knopf zur Jog-Bedienung des Umfangs der Achsenbewegung des Roboters 60. Der Jog-Knopf 57 sendet eine Bedienungsinformation, welche der Bedienung entspricht, an die Steuerungsberechnungseinheit 2L. Diese Bedienungsinformation ist eine Information, welche dem Umfang der Bewegung entspricht, und wird über die Speichereinheit 34 an die Manuelle-Roboterbedienung-Einheit 415 gesendet.
  • Der Achsenauswahlschalter 59 ist ein Schalter zum Auswählen der Achse für die manuelle Bedienung an dem Roboter 60. Beispiele des Achsenauswahlschalters 59 umfassen einen Schalter zum Spezifizieren der X-Achse, einen Schalter zum Spezifizieren der Y-Achse, einen Schalter zum Spezifizieren der Z-Achse, einen Schalter zum Spezifizieren einer A-Achse, einen Schalter zum Spezifizieren einer B-Achse und einen Schalter zum Spezifizieren einer C-Achse in dem Koordinatensystem der Werkzeugmaschine 100. Der Achsenauswahlschalter 59 sendet eine Achseninformation, welche die durch Drücken oder Berühren ausgewählte Achse angibt, an die Steuerungsberechnungseinheit 2L. Diese Achseninformation wird über die Speichereinheit 34 an die Manuelle-Roboterbedienung-Einheit 415 gesendet.
  • Eine Konfiguration des Bedienfeldes 53, welches den Auswahlschalter 15 umfasst, wird nun beschrieben. 19 ist ein Diagramm, welches eine beispielhafte Konfiguration eines Bedienfeldes zeigt, welches in der Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform enthalten ist. Wie in 19 gezeigt ist, ist das Bedienfeld 53 an der Vorderseite der Werkzeugmaschine 100 oder dergleichen angeordnet. Die Anzeigeeinheit 4 und das Handrad 55 sind ebenfalls an der Vorderseite der Werkzeugmaschine 100 angeordnet. Es ist zu beachten, dass in 19 die Darstellung des Jog-Knopfes 57 und des Achsenauswahlschalters 59 ausgelassen ist.
  • Der Auswahlschalter 15 zum Wechseln des Ziels der manuellen Bedienung, welche durch das Handrad 55 vorzunehmen ist, ist an dem Bedienfeld 53 angeordnet. Der Auswahlschalter 15 umfasst einen Schalter zum Ändern des Ziels der manuellen Bedienung auf den Roboter 60 und einen Schalter zum Ändern des Ziels der manuellen Bedienung auf die Werkzeugmaschine 100. Wenn der Auswahlschalter 15 betätigt wird, sendet der Auswahlschalter 15 eine Information über das Ziel der manuellen Bedienung, welches dieser Bedienung zugeordnet ist, an die Analyseverarbeitungseinheit 37 der Steuerungsberechnungseinheit 2L.
  • In einem Fall, in welchem der Roboter 60 oder die Werkzeugmaschine 100 mehrere manuell bedienbare Komponenten umfassen, analysiert die Analyseverarbeitungseinheit 37 basierend auf der Information, die von der Eingabebedieneinheit 3 gesendet wird, ob das Bewegungsziel, welches der manuellen Bedienung zugeordnet ist, eine Komponente des Roboters 60 oder eine Komponente der Werkzeugmaschine 100 ist. In diesem Fall führt der Nutzer an der Eingabebedieneinheit 3 eine Handlung zum Spezifizieren der Komponente des Roboters 60, die manuell zu bedienen ist, oder eine Handlung zum Spezifizieren der Komponente der Werkzeugmaschine 100, die manuell zu bedienen ist, durch.
  • Die Manuelle-Roboterbedienung-Einheit 415 umfasst eine Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 421R und eine Bewegungsdatensendeeinheit 422. Die Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 421R bestimmt basierend auf dem Zustand des Steuerungssystems (hierin nachfolgend als Systemzustand bezeichnet), ob die manuelle Bedienung des Roboters 60 erlaubt ist oder nicht. D. h., die Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 421R bestimmt basierend auf dem Zustand von mindestens einem von dem Roboter 60, der Numerische-Steuerung-Vorrichtung 1L und der Werkzeugmaschine 100, ob die manuelle Bedienung des Roboters 60 erlaubt ist oder nicht. Zum Bestimmen des Erlaubtseins wird auf diverse Typen von Daten Bezug genommen, welche in der Numerische-Steuerung-Vorrichtung 1L enthalten sind. Die Manuelle-Bedienung-erlaubt/nichterlaubt-Bestimmungseinheit 421R wird beispielsweise in einem Notstoppzustand, wenn mit der Robotersteuerung 50 noch keine Kommunikation hergestellt ist oder wenn der Nutzer einen abgesperrten Bereich um den Roboter 60 betreten hat, bestimmen, dass die manuelle Bedienung nicht erlaubt ist.
  • Die Bewegungsdatensendeeinheit 422 erzeugt basierend auf der Information der Achse, die unter Verwendung des Achsenauswahlschalters 59 ausgewählt wurde, und auf dem Bewegungsumfang, der durch eine Analyse durch die Analyseverarbeitungseinheit 37 identifiziert wird, einen Bewegungsbefehl und sendet den Bewegungsbefehl an die Robotersteuerung 50. Daher kann die Numerische-Steuerung-Vorrichtung 1L den Roboter 60 über die Robotersteuerung 50 betreiben. Der Bewegungsumfang, der durch eine Analyse der Analyseverarbeitungseinheit 37 identifiziert wird, entspricht der Information, die von dem Jog-Knopf 57 oder von dem Handrad 55 gesendet wird. D. h., der Bewegungsumfang, der durch eine Analyse der Analyseverarbeitungseinheit 37 identifiziert wird, entspricht der manuellen Bedienung an dem Jog-Knopf 57 oder an dem Handrad 55.
  • Die Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 382M bestimmt basierend auf dem Systemzustand, ob die manuelle Bedienung der Werkzeugmaschine 100 erlaubt ist oder nicht. D. h., die Manuelle-Bedienungerlaubt/nicht-erlaubt-Bestimmungseinheit 382M bestimmt basierend auf dem Zustand von mindestens einem von dem Roboter 60, der Numerische-Steuerung-Vorrichtung 1L und der Werkzeugmaschine 100, ob die manuelle Bedienung der Werkzeugmaschine 100 erlaubt ist oder nicht. Zum Bestimmen des Erlaubtseins wird auf diverse Typen von Daten Bezug genommen, welche in der Numerische-Steuerung-Vorrichtung 1L enthalten sind. Die Manuelle-Bedienung-erlaubt/nichterlaubt-Bestimmungseinheit 382M wird beispielsweise in einem Notstoppzustand oder wenn der Nutzer einen abgesperrten Bereich um die Werkzeugmaschine 100 betreten hat, bestimmen, dass die manuelle Bedienung nicht erlaubt ist.
  • Nun wird ein Zusammentreffensprüfungsprozess für den Fall beschrieben, dass eine manuelle Bedienung vorgenommen wurde. Die Analyseverarbeitungseinheit 37 der vorliegenden Ausführungsform empfängt Information über das Ziel der manuellen Bedienung (Bewegungsziel), welches unter Verwendung des Auswahlschalters 15 und der Bedienungsinformation, die der an dem Jog-Knopf 57 vorgenommenen Bedienung entspricht, ausgewählt wurde. In einem Fall, in welchem das Bewegungsziel der Roboter 60 ist, berechnet die Analyseverarbeitungseinheit 37 den Bewegungsumfang basierend auf der empfangenen Bedienungsinformation und sendet den Bewegungsumfang an die Manuelle-Roboterbedienung-Einheit 415. Andernfalls, in einem Fall, in welchem das Bewegungsziel die Werkzeugmaschine 100 ist, berechnet die Analyseverarbeitungseinheit 37 den Bewegungsumfang basierend auf der empfangenen Bedienungsinformation und sendet den Bewegungsumfang an die Interpolationsverarbeitungseinheit 38.
  • Auf den Empfang des Bewegungsumfangs hin sendet die Manuelle-Roboterbedienung-Einheit 415 den Bewegungsumfang an die Roboterbewegungsberechnungseinheit 852. Andererseits, auf den Empfang des Bewegungsumfangs hin sendet die Interpolationsverarbeitungseinheit 38 den Bewegungsumfang an die Maschinenbewegungsberechnungseinheit 851.
  • Auf den Empfang des Bewegungsumfangs von der Manuelle-Roboterbedienung-Einheit 415 hin bestimmt die Roboterbewegungsberechnungseinheit 852, dass das Bewegungsziel der Roboter 60 ist, und berechnet basierend auf dem Bewegungsumfang die Position und die Form des Roboters 60, die sich aus der Bewegung ergeben werden. Die Roboterbewegungsberechnungseinheit 852 sendet die Position und die Form des Roboters 60, die sich aus der Bewegung ergeben werden, welche die Berechnungsergebnisse sind, an die Zusammentreffenprüfungseinheit 853.
  • Auf den Empfang des Bewegungsumfangs von der Interpolationsverarbeitungseinheit 38 hin bestimmt die Maschinenbewegungsberechnungseinheit 851, dass das Bewegungsziel die Werkzeugmaschine 100 ist, und berechnet basierend auf dem Bewegungsumfang die Position und die Form der Werkzeugmaschine 100, welche sich aus der Bewegung ergeben werden. Die Maschinenbewegungsberechnungseinheit 851 sendet die Position und die Form der Werkzeugmaschine 100, welche sich aus der Bewegung ergeben werden, welche die Berechnungsergebnisse sind, an die Zusammentreffenprüfungseinheit 853.
  • Auf den Empfang der Position und der Form des Roboters 60, welche sich aus der Bewegung ergeben werden, von der Roboterbewegungsberechnungseinheit 852 hin prüft die Zusammentreffenprüfungseinheit 853 ein Zusammentreffen basierend auf der Position und der Form des Roboters 60, die sich aus der Bewegung ergeben werden, und auf der Position und der Form der Werkzeugmaschine 100. In diesem Fall sendet die Zusammentreffenprüfungseinheit 853 eine Information des Auftretens oder Nichtauftretens eines Zusammentreffens an die Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 421 R.
  • Auf den Empfang der Position und der Form der Werkzeugmaschine 100, welche sich aus der Bewegung ergeben werden, von der Maschinenbewegungsberechnungseinheit 851 hin prüft die Zusammentreffenprüfungseinheit 853 ein Zusammentreffen basierend auf der Position und der Form der Werkzeugmaschine 100, welche sich aus der Bewegung ergeben werden, und auf der Position und der Form des Roboters 60. In diesem Fall sendet die Zusammentreffenprüfungseinheit 853 eine Information über ein Auftreten oder Nichtauftreten eines Zusammentreffens an die Manuelle-Bedienungerlaubt/nicht-erlaubt-Bestimmungseinheit 382M.
  • Die Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 421R bestimmt, dass die manuelle Bedienung nicht erlaubt ist und verbietet der Bewegungsdatensendeeinheit 422, Daten an die Robotersteuerung 50 zu senden, wenn ein Zusammentreffen auftreten wird. Wenn kein Zusammentreffen auftreten wird, bestimmt die Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 421R basierend auf dem Systemzustand, ob der Bewegungsdatensendeeinheit 422 erlaubt wird, Daten an die Robotersteuerung 50 zu senden.
  • Die Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 382M bestimmt, dass die manuelle Bedienung nicht erlaubt ist und verbietet der Interpolationsverarbeitungseinheit 38, Daten an die Beschleunigung-Bremsung-Verarbeitungseinheit 39 zu senden, wenn ein Zusammentreffen auftreten wird. Wenn kein Zusammentreffen auftreten wird, bestimmt die Manuelle-Bedienungerlaubt/nicht-erlaubt-Bestimmungseinheit 382M basierend auf dem Systemzustand, ob der Interpolationsverarbeitungseinheit 38 zu erlauben ist, Daten an die Beschleunigung-Bremsung-Verarbeitungseinheit 39 zu senden. Wenn ein Zusammentreffen auftreten wird, kann die Zusammentreffenprüfungseinheit 853 über die Bildschirmdarstellungsverarbeitungseinheit 31 auf der Anzeigeeinheit 4 einen Zusammentreffensalarm anzeigen.
  • 20 ist ein Diagramm, welches ein Beispiel eines Zusammentreffensalarms zeigt, welcher auf der Anzeigeeinheit angezeigt wird, welche in der Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform enthalten ist. Die Anzeigeeinheit 4 zeigt als den Zusammentreffensalarm auf der Bildschirmdarstellung eine Nachricht an, beispielsweise „Bewegung wegen erwartetem Zusammentreffen, das durch manuelle Bedienung verursacht wird, verhindert“.
  • Es ist zu beachten, dass in dem Fall, in welchem die manuelle Bedienung eine manuelle Bedienung des Roboters 60 ist, die Zusammentreffenverhinderungsverarbeitungseinheit 854 fähig ist, ein Zusammentreffen durch Ändern der Stellung des Roboters 60 in einigen Fällen zu verhindern. Zum Beispiel, wenn der Nutzer eine lineare Achse des Roboters 60 unter Verwendung des Achsenauswahlschalters 59 spezifiziert, um eine Bewegung entlang der linearen Achse zu verursachen, kann das Zusammentreffen in Abhängigkeit der Stellung des Roboters 60 verhindert werden. Dementsprechend, in dem Fall, in welchem die Zusammentreffenprüfungseinheit 853 bestimmt hat, dass ein Zusammentreffen auftreten wird, bestimmt die Zusammentreffenverhinderungsverarbeitungseinheit 854, ob es möglich ist, das Zusammentreffen durch Ändern der Stellung zu verhindern. In einem Fall, in welchem das Zusammentreffen verhindert werden kann, teilt die Zusammentreffenverhinderungsverarbeitungseinheit 854 der Manuelle-Bedienungerlaubt/nicht-erlaubt-Bestimmungseinheit 421R mit, dass die manuelle Bedienung erlaubt ist, und sendet Bewegungsdaten, welche eine geänderte Stellung des Roboters 60 spezifizieren, an die Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 421R. Die Zusammentreffenverhinderungsverarbeitungseinheit 854 berechnet die Bewegungsdaten, welche eine geänderte Stellung des Roboters 60 spezifizieren, auf gleiche Weise wie die Zusammentreffenverhinderungsverarbeitungseinheit 804.
  • Ein Verfahren zum Verhindern eines Zusammentreffens, welches von der Numerische-Steuerung-Vorrichtung 1L durchgeführt wird, wird als Nächstes beschrieben. 21 ist ein Diagramm zum Beschreiben der beispielhaften Zusammentreffenverhinderungshandlung, welche von der Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform durchgeführt wird. Die Numerische-Steuerung-Vorrichtung 1L verhindert ein Zusammentreffen beispielsweise durch Ändern der Stellung des Roboters 60. Der Roboter 60 auf der linken Seite der 21 ist gezeigt, wobei sein Roboterarm 21 mit dem beförderten Objekt 7 kollidiert, wohingegen der Roboter 60 auf der rechten Seite die 21 gezeigt ist, wobei die Winkel von Gliedern des Roboters 60 geändert wurden, um zu verhindern, dass der Roboterarm 21 mit dem beförderten Objekt 7 kollidiert.
  • In einem Fall, in welchem die Zusammentreffenverhinderungsverarbeitungseinheit 854 bestimmt, dass der nächste Befehl ein Zusammentreffen verursachen wird, wenn der Nutzer manuell einen Befehl zum Bewegen des Roboters 60 in einer Achsenrichtung des orthogonalen Koordinatensystems gibt, prüft die Zusammentreffenverhinderungsverarbeitungseinheit 854, ob das Zusammentreffen durch Ändern der Stellung verhindert werden kann. Insbesondere berechnet die Zusammentreffenverhinderungsverarbeitungseinheit 854 die Winkel von Gliedern A1, A2 und A3 des Roboters 60 so, dass die vordere Endposition und die Stellung der Roboterhand 22 vor und nach der Änderung der Stellung nicht geändert sind, und prüft, ob ein Zusammentreffen in der Stellung mit den berechneten Winkeln auftreten wird.
  • Unter den Gliedern des Roboters 60 ist das Glied des ersten Roboterarms, welcher mit der Basis 23 verbunden ist, das Glied A1, das Glied des zweiten Roboterarms, welcher mit dem ersten Roboterarm verbunden ist, ist das Glied A2, und das Glied des dritten Roboterarms, welcher mit dem zweiten Roboterarm verbunden ist, ist das Glied A3.
  • 21 zeigt einen Fall, in welchem die Winkel der Glieder A1 und A2 geändert wurden. Die Zusammentreffenverhinderungsverarbeitungseinheit 854 berechnet die Stellung, welche das Zusammentreffen verhindern kann, wobei die vordere Endposition und die Stellung der Roboterhand 22 vor und nach der Änderung der Stellung durch den Winkel des Glieds A3 beibehalten wird.
  • In einem Fall, in welchem ein Zusammentreffen auftreten wird, wiederholt die Zusammentreffenverhinderungsverarbeitungseinheit 854 eine weitere Berechnung der Winkel der Glieder A1, A2 und A3 und prüft, ob ein Zusammentreffen auftreten wird. Ein Zusammentreffen kann nur dann verhindert werden, wenn Winkel der Glieder A1, A2 und A3 berechnet werden, die kein Zusammentreffen verursachen.
  • Eine Prozedur der Zusammentreffensprüfung und der Zusammentreffensverhinderung, welche von der Numerische-Steuerung-Vorrichtung 1L durchgeführt wird, wird als Nächstes beschrieben. 22 ist ein Ablaufdiagramm, welches eine Prozedur der Zusammentreffensprüfung und der Zusammentreffensverhinderung zeigt, welche von der Numerische-Steuerung-Vorrichtung gemäß der vierten Ausführungsform durchgeführt wird.
  • Wenn ein manueller Betrieb durchgeführt wird, bestimmt die Numerische-Steuerung-Vorrichtung 1L das Auftreten oder Nichtauftreten eines Zusammentreffens, bevor eine tatsächliche Bewegung, die der manuellen Bedienung der Werkzeugmaschine 100 oder des Roboters 60 entspricht, durchgeführt wird, und in einem Fall, in welchem kein Zusammentreffen auftreten wird, veranlasst sie die Werkzeugmaschine 100 oder den Roboter 60 dazu, eine tatsächliche Bewegung durchzuführen, die der manuellen Bedienung entspricht.
  • Die Analyseverarbeitungseinheit 37 analysiert die manuelle Bedienung (Schritt S310). Insbesondere analysiert die Analyseverarbeitungseinheit 37 basierend auf einer von dem Auswahlschalter 15 gesendeten Information, ob das Bewegungsziel, welches der manuellen Bedienung zugeordnet ist, der Roboter 60 oder die Werkzeugmaschine 100 ist. Die Analyseverarbeitungseinheit 37 analysiert basierend auf einer von der Eingabebedienungseinheit 3 gesendeten Information ferner, ob das Bewegungsziel, welches der manuellen Bedienung zugeordnet ist, eine Komponente des Roboters 60 oder eine Komponente der Werkzeugmaschine 100 ist. Die Analyseverarbeitungseinheit 37 analysiert ferner eine Bedienungsinformation, welche von dem Jog-Knopf 57 oder von dem Handrad 55 gesendet wird.
  • Die Analyseverarbeitungseinheit 37 bestimmt, ob das Bewegungsziel die Werkzeugmaschine 100 ist. D. h., die Analyseverarbeitungseinheit 37 bestimmt, ob die manuelle Bedienung auf eine Bewegung einer Komponente der Werkzeugmaschine 100 gerichtet ist (Schritt S320). Wenn das Bewegungsziel eine Komponente der Werkzeugmaschine 100 ist (Ja bei Schritt S320), sendet die Analyseverarbeitungseinheit 37 eine Information über das Bewegungsziel und über den Bewegungsumfang über die Speichereinheit 34 und über die Interpolationsverarbeitungseinheit 38 an die Maschinenbewegungsberechnungseinheit 851. Die Maschinenbewegungsberechnungseinheit 851 berechnet die Position und die Form der Werkzeugmaschine 100, welche sich aus der Bewegung, die der manuellen Bedienung entspricht, ergeben werden, basierend auf dem Bewegungsziel, auf dem Bewegungsumfang, auf dem Maschinenmodell 811 und auf den Werkzeugdaten 813.
  • Die Zusammentreffenprüfungseinheit 853 prüft ein Zusammentreffen mit dem Roboter 60 (Schritt S330). D. h., die Zusammentreffenprüfungseinheit 853 bestimmt, ob die Werkzeugmaschine 100, welche gemäß der manuellen Bedienung bewegt wird, mit dem Roboter 60 zusammentreffen wird. Insbesondere bestimmt die Zusammentreffenprüfungseinheit 853, ob die Werkzeugmaschine 100 mit dem Roboter 60 zusammentreffen wird, basierend auf der Position und der Form der Werkzeugmaschine 100, welche sich aus der Bewegung ergeben werden, und auf der Position und der Form des Roboters 60. Bei dieser Handlung berechnet die Zusammentreffenprüfungseinheit 853 die Position und die Form des Roboters 60 basierend auf dem Robotermodell 812 und auf den Werkzeugdaten 814. Zudem berechnet die Zusammentreffenprüfungseinheit 853 die Position und die Form der Werkzeugmaschine 100, welche sich aus der Bewegung ergeben werden, basierend auf dem Maschinenmodell 811, auf den Werkzeugdaten 813, auf dem Bewegungsziel und auf dem Bewegungsumfang.
  • Wenn bestimmt wird, dass ein Zusammentreffen auftreten wird (ja bei Schritt S340), teilt die Zusammentreffenprüfungseinheit 853 der Manuelle-Bedienungerlaubt/nicht-erlaubt-Bestimmungseinheit 382M mit, dass das Bewegen der Werkzeugmaschine 100 nicht erlaubt ist (Schritt S360). Zudem stoppt die Zusammentreffenprüfungseinheit 853 die in der Werkzeugmaschine 100 enthaltenen Achsen und zeigt auf der Anzeigeeinheit 4 einen Zusammentreffensalarm an.
  • Wenn bestimmt wird, dass kein Zusammentreffen auftreten wird (Nein bei Schritt S340), teilt die Zusammentreffenprüfungseinheit 853 der Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 382M mit, dass das Bewegen der Werkzeugmaschine 100 erlaubt ist (Schritt S350). In diesem Fall erzeugt die Interpolationsverarbeitungseinheit 38 Daten zum Steuern der Werkzeugmaschine 100 basierend auf dem Bewegungsziel und auf dem Bewegungsumfang und sendet die Daten an die Beschleunigung-Bremsung-Verarbeitungseinheit 39, es sei denn, der Systemzustand ist fehlerhaft. Dies veranlasst die Werkzeugmaschine 100 dazu, gemäß der manuellen Bedienung betrieben zu werden.
  • Wenn das Bewegungsziel eine Komponente des Roboters 60 ist (Nein bei Schritt S320), sendet die Analyseverarbeitungseinheit 37 eine Information über das Bewegungsziel und über den Bewegungsumfang über die Speichereinheit 34 und über die Manuelle-Roboterbedienung-Einheit 415 an die Roboterbewegungsberechnungseinheit 852. Die Roboterbewegungsberechnungseinheit 852 berechnet die Position und die Form des Roboters 60, welche sich aus der Bewegung ergeben werden, basierend auf dem Bewegungsziel, auf dem Bewegungsumfang, auf dem Robotermodell 812 und auf den Werkzeugdaten 814.
  • Die Zusammentreffenprüfungseinheit 853 prüft ein Zusammentreffen mit der Werkzeugmaschine 100 (Schritt S370). D. h., die Zusammentreffenprüfungseinheit 853 bestimmt, ob der Roboter 60, welcher sich gemäß der manuellen Bedienung bewegt, mit der Werkzeugmaschine 100 zusammentreffen wird. Insbesondere bestimmt die Zusammentreffenprüfungseinheit 853, ob der Roboter 60 mit der Werkzeugmaschine 100 zusammentreffen wird, basierend auf der Position und der Form des Roboters 60, welche sich aus der Bewegung ergeben werden, und auf der Position und der Form der Werkzeugmaschine 100.
  • Wenn bestimmt wird, dass ein Zusammentreffen auftreten wird (Ja bei Schritt S380), teilt die Zusammentreffenprüfungseinheit 853 der Zusammentreffenverhinderungsverarbeitungseinheit 854 mit, dass das Bewegen des Roboters 60 nicht erlaubt ist. Die Zusammentreffenverhinderungsverarbeitungseinheit 854 berechnet die Zusammentreffenverhinderungshandlung, welche durch Ändern der Stellung des Roboters 60 bereitzustellen ist (Schritt S390). Die Zusammentreffenprüfungseinheit 853 bestimmt, ob das Zusammentreffen verhindert werden kann (Schritt S400). Wenn die Zusammentreffenprüfungseinheit 853 bestimmt, dass das Zusammentreffen nicht verhindert werden kann (Nein bei Schritt S400), teilt die Zusammentreffenprüfungseinheit 853 der Manuelle-Bedienung-erlaubt/nichterlaubt-Bestimmungseinheit 421R mit, dass das Bewegen des Roboters 60 nicht erlaubt ist (Schritt S410). Zudem stoppt die Zusammentreffenprüfungseinheit 853 die in dem Roboter 60 enthaltenen Glieder und zeigt auf der Anzeigeeinheit 4 einen Zusammentreffensalarm an.
  • Wenn die Zusammentreffenprüfungseinheit 853 in Schritt S400 bestimmt, dass das Zusammentreffen verhindert werden kann (Ja bei Schritt S400), teilt die Zusammentreffenprüfungseinheit 853 der Manuelle-Bedienung-erlaubt/nichterlaubt-Bestimmungseinheit 421R mit, dass das Bewegen des Roboters 60 erlaubt ist (Schritt S420). Zudem sendet die Zusammentreffenprüfungseinheit 853 einen Handlungsbefehl zur Zusammentreffensverhinderung an die Bewegungsdatensendeeinheit 422 (Schritt S430). Der Handlungsbefehl zur Zusammentreffensverhinderung umfasst Bewegungsdaten für den Roboter 60, welche es ermöglichen, das Zusammentreffen zu verhindern. Die Bewegungsdatensendeeinheit 422 sendet die Bewegungsdaten an den Roboter 60 basierend auf dem Handlungsbefehl der Zusammentreffensverhinderung. Dies verursacht, dass der Roboter 60 durch die manuelle Bedienung betrieben wird.
  • Wenn in Schritt S380 bestimmt wird, dass kein Zusammentreffen auftreten wird (Nein bei Schritt S380), teilt die Zusammentreffenprüfungseinheit 853 der Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit 421R mit, dass das Bewegen des Roboters 60 erlaubt ist (Schritt S440). Die Robotersteuerungseinheit 41 erzeugt Daten zum Steuern des Roboters 60 basierend auf dem Bewegungsziel und auf dem Bewegungsumfang und sendet die Daten an die Robotersteuerung 50. Dies verursacht, dass der Roboter 60 durch die Numerische-Steuerung-Vorrichtung 1L gesteuert wird.
  • Als Reaktion auf eine manuelle Bedienung der Werkzeugmaschine 100 oder des Roboters 60 wird daher gemäß der vierten Ausführungsform bestimmt, ob ein Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 auftreten wird, und, wenn ein Zusammentreffen auftreten wird, wird eine Zusammentreffenverhinderungshandlung durchgeführt. Dies ermöglicht, ein Zusammentreffen bei manueller Bedienung zu verhindern.
  • Fünfte Ausführungsform. Eine fünfte Ausführungsform dieser Erfindung wird als Nächstes mit Bezug zu 23 beschrieben. In der fünften Ausführungsform lernt ein Maschinelles-Lernen-Gerät über das Auftreten oder Nichtauftreten eines Zusammentreffens.
  • 23 ist ein Diagramm, welches eine beispielhafte Konfiguration einer Numerische-Steuerung-Vorrichtung gemäß der fünften Ausführungsform zeigt. Unter den Komponenten der 23 werden Komponenten, welche die gleiche Funktionalität erreichen wie entsprechende Komponenten der Numerische-Steuerung-Vorrichtung 1Y, durch gleiche Bezugszeichen bezeichnet, und deren mehrfache Beschreibung wird ausgelassen.
  • Eine Numerische-Steuerung-Vorrichtung 1M unterscheidet sich von der Numerische-Steuerung-Vorrichtung 1Y dadurch, dass sie anstelle der Steuerungsberechnungseinheit 2Y eine Steuerungsberechnungseinheit 2M umfasst. Die Steuerungsberechnungseinheit 2M umfasst ein Maschinelles-Lernen-Gerät 70 zusätzlich zu den Komponenten, die in der Steuerungsberechnungseinheit 2Y enthalten sind.
  • Das Maschinelles-Lernen-Gerät 70 ist mit der Simulationssteuerungseinheit 80Y und mit der Analyseverarbeitungseinheit 37 verbunden. Das Maschinelles-Lernen-Gerät 70 lernt über das Auftreten oder Nichtauftreten eines Zusammentreffens der Werkzeugmaschine 100 und des Roboters 60 unter Verwendung von Simulationspositionsinformation (r), einer NC-Programminformation (r) und einer Zusammentreffensinformation (r). D. h., das Maschinelles-Lernen-Gerät 70 lernt den Prozess des Vorhersagens des Auftretens oder Nichtauftretens eines Zusammentreffens.
  • Die Simulationspositionsinformation (r) ist Positionsdaten der Positionen der Werkzeugmaschine 100 und des Roboters 60, welche von der Simulationssteuerungseinheit 80Y unter Verwendung der Simulationsdaten 346 zum Bestimmen des Auftretens oder Nichtauftretens eines Zusammentreffens berechnet werden. Die Simulationssteuerungseinheit 80Y sendet die Simulationspositionsinformation (r) an die Bildschirmdarstellungsverarbeitungseinheit 31, wenn ein Auftreten oder Nichtauftreten eines Zusammentreffens bestimmt wird, und sendet die Simulationspositionsinformation (r) an das Maschinelles-Lernen-Gerät 70, wenn das Auftreten oder Nichtauftreten eines Zusammentreffens gelernt wird.
  • Die NC-Programminformation (r) ist eine Information über das NC-Programm, welches von der Analyseverarbeitungseinheit 37 dazu verwendet wird, ein Auftreten oder Nichtauftreten eines Zusammentreffens zu bestimmen. Die Zusammentreffensinformation (r) ist eine Kollisionsinformation, welche angibt, ob die Werkzeugmaschine 100 mit dem Roboter 60 kollidieren wird. Die Zusammentreffensinformation (r) umfasst eine Information dahingehend, ob ein Zusammentreffen (eine Kollision) auftreten wird, eine Information, welche die Position des Zusammentreffens repräsentiert, und eine Information, welche die Komponente angibt, welche dem Zusammentreffen ausgesetzt sein wird (Zusammentreffensgegenstand).
  • Das Maschinelles-Lernen-Gerät 70 umfasst eine Zustandsbeobachtungseinheit 71, eine Datenbezugseinheit 72 und eine Lerneinheit 73. Die Zustandsbeobachtungseinheit 71 bezieht die Simulationspositionsinformation (r) von der Simulationssteuerungseinheit 80Y und bezieht die NC-Programminformation (r) von der Analyseverarbeitungseinheit 37. Die Zustandsbeobachtungseinheit 71 beobachtet, als Zustandsinformation (i), die Simulationspositionsinformation (r) und die NC-Programminformation (r). Die Zustandsbeobachtungseinheit 71 gibt die Zustandsinformation (i), die sich aus der Datenbeobachtung ergibt, an die Lerneinheit 73 aus. Die Datenbezugseinheit 72 bezieht die Zusammentreffensinformation (r) von der Zusammentreffenprüfungseinheit 803. Die Datenbezugseinheit 72 gibt die Zusammentreffensinformation (r) an die Lerneinheit 73 aus.
  • Die Lerneinheit 73 lernt eine Zusammentreffensvorhersageinformation (n), welche eine Information einer Vorhersage über ein Auftreten oder Nichtauftreten eines Zusammentreffens ist, basierend auf einem Datensatz, welcher aus einer Kombination der Zustandsinformation (i) und der Zusammentreffensinformation (r) erzeugt wird. Bei dieser Handlung ist die Zustandsinformation (i), welche eine Zustandsvariable ist, Daten, welche die Simulationspositionsinformation (r) und die NC-Programminformation (r), die miteinander assoziiert sind, umfassen.
  • Es ist zu beachten, dass das Maschinelles-Lernen-Gerät 70 nicht darauf begrenzt ist, in der Numerische-Steuerung-Vorrichtung 1M angeordnet zu sein. Das Maschinelles-Lernen-Gerät 70 kann außerhalb der Numerische-Steuerung-Vorrichtung 1M angeordnet sein. Das Maschinelles-Lernen-Gerät 70 kann in einem Gerät angeordnet sein, welches über ein Netzwerk mit der Numerische-Steuerung-Vorrichtung 1M verbindbar ist. D. h., das Maschinelles-Lernen-Gerät 70 kann eine separate Komponente sein, welche über ein Netzwerk mit der Numerische-Steuerung-Vorrichtung 1M verbunden ist. Das Maschinelles-Lernen-Gerät 70 kann auch in einem Cloud-Server angeordnet sein.
  • Die Lerneinheit 73 lernt die Zusammentreffensvorhersageinformation (n) aus der Zustandsinformation (i), welche die Simulationspositionsinformation (r) und die NC-Programminformation (r) umfasst, und aus der Zusammentreffensinformation (r), welche als gelabelte Trainingsdaten dienen, beispielsweise gemäß einem Neuronalen-Netz-Modell unter Verwendung von sogenanntem überwachten Lernen. Diesbezüglich bezeichnet der Begriff überwachtes Lernen ein Modell, welches bei Eingabe einer großen Anzahl von Datenpaaren aus Eingaben und Ergebnissen in ein Lerngerät Merkmale des Datensatzes aus diesen Paaren lernt und ein Ergebnis aus den Eingaben abschätzt.
  • Ein neuronales Netz umfasst eine Eingabeschicht, welche aus mehreren Neuronen besteht, eine Zwischenschicht (versteckte Schicht), welche aus mehreren Neuronen besteht, und eine Ausgabeschicht, welche aus mehreren Neuronen besteht. Es kann eine Zwischenschicht oder zwei oder mehr Zwischenschichten geben.
  • Beispielsweise werden in einem dreischichtigen neuronalen Netz die Werte mehrerer in die Eingabeschicht eingegebener Eingaben mit Gewichten multipliziert und die Ergebnisse davon werden in die Zwischenschicht eingegeben. Die Ergebnisse werden weiter mit Gewichten multipliziert und die resultierenden Werte werden von der Ausgabeschicht ausgegeben. Diese ausgegebenen Ergebnisse variieren in Abhängigkeit der Werte der Gewichte.
  • Das neuronale Netz der vorliegenden Ausführungsform gibt als das Lernergebnis (abgeleiteter Wert) die Zusammentreffensinformation (n) aus, welche unter Verwendung von sogenanntem überwachten Lernen basierend auf dem Datensatz erhalten wird, welcher aus einer Kombination der Zustandsinformation (i) und der Zusammentreffensinformation (r) erzeugt wird.
  • D. h., das neuronale Netz lernt die Zusammentreffensvorhersageinformation (n) durch Anpassung der Gewichte, um das von der Ausgabeschicht ausgegebene Ergebnis bezüglich der Zustandsinformation (i), welche die Simulationspositionsinformation (r) und die NC-Programminformation (r) umfasst, die in die Eingabeschicht eingegeben wurden, an die Zusammentreffensinformation (r) anzunähern.
  • Das neuronale Netz ist auch fähig, die Zusammentreffensvorhersageinformation (n) unter Verwendung des so genannten unüberwachten Lernens zu lernen. Unüberwachtes Lernen ist eine Technik des Lernens der Verteilung von Eingabedaten, indem nur eine große Menge von Eingabedaten in das Maschinelles-Lernen-Gerät 70 eingegeben wird, und des Lernens durch Codieren, Klassifizieren, Transformieren und/oder dergleichen, was an den Eingabedaten durchgeführt wird, ohne entsprechende Trainingsdaten (Ausgabedaten) bereitzustellen. Unüberwachtes Lernen ermöglicht es beispielsweise, Merkmale eines Datensatzes in Gruppen zu clustern, die jeweils ein ähnliches Merkmal haben. Unter Verwendung des Ergebnisses dieses Clusterns kann unüberwachtes Lernen eine Vorhersage von Ausgaben bereitstellen, indem ein bestimmtes Kriterium aufgestellt wird und die Ausgaben zugewiesen werden, so dass dieses Kriterium optimal wird.
  • Das Maschinelles-Lernen-Gerät 70 kann auch die Zusammentreffensvorhersageinformation (n) als das Lernergebnis (abgeleiteter Wert) ausgeben, welcher basierend auf einem Datensatz erhalten wird, welcher für mehrere Numerische-Steuerung-Vorrichtungen erzeugt wird. Es ist zu beachten, dass das Maschinelles-Lernen-Gerät 70 von mehreren Numerische-Steuerung-Vorrichtungen, die an einem gleichen Standort verwendet werden, einen Datensatz erhalten kann, oder die Zusammentreffensvorhersageinformation (n) unter Verwendung von Datensätzen lernen kann, welche von mehreren Numerische-Steuerung-Vorrichtungen gesammelt werden, die an unterschiedlichen Standorten voneinander unabhängig arbeiten. Zudem kann das Maschinelles-Lernen-Gerät 70 zu einer Sammelquellengruppe eine Numerische-Steuerung-Vorrichtung zum Sammeln eines Datensatzes hinzufügen oder kann, im Gegensatz dazu, eine Numerische-Steuerung-Vorrichtung von der Sammelquellengruppe trennen. Ferner kann das Maschinelles-Lernen-Gerät 70, welches die Zusammentreffensvorhersageinformation (n) bezüglich einer bestimmten Numerische-Steuerung-Vorrichtung gelernt hat, in einer anderen Numerische-Steuerung-Vorrichtung installiert werden und kann die Zusammentreffensvorhersageinformation (n) mit Bezug zu der anderen Numerische-Steuerung-Vorrichtung neu lernen und aktualisieren.
  • Zudem kann das Maschinelles-Lernen-Gerät 70 als den zu verwendenden Lernalgorithmus Deep Learning verwenden, welches eine Extraktion von Merkmalen selbst lernt. Ferner kann die Lerneinheit 73 maschinelles Lernen unter Verwendung eines anderen bekannten Verfahrens durchführen, wie beispielsweise genetische Programmierung, funktionale Logikprogrammierung oder durch eine Supportvektormaschine.
  • Das Maschinelles-Lernen-Gerät 70 gibt die vorhergesagte Zusammentreffensvorhersageinformation (n) an die Simulationssteuerungseinheit 80Y aus. Die Simulationssteuerungseinheit 80Y stoppt die Werkzeugmaschine 100 an dem Blockende vor dem Block des NC-Programms, für welchen vorausgesagt wurde, dass er ein Zusammentreffen verursacht, statt unmittelbar vor einem Auftreten eines Zusammentreffens. Dies liegt daran, dass das Stoppen der Werkzeugmaschine 100 oder des Roboters 60 unmittelbar vor einem Auftreten eines Zusammentreffens ein Zusammentreffen aufgrund der Dauer, die zum Stoppen benötigt wird, verursachen kann, je nach Bewegungsgeschwindigkeit der Werkzeugmaschine 100 oder des Roboters 60. In der vorliegenden Ausführungsform stoppt die Simulationssteuerungseinheit 80Y die Werkzeugmaschine 100 an dem Blockende vor dem Block des NC-Programms, für welchen vorausgesagt wurde, dass er ein Zusammentreffen verursacht, und kann daher ein Zusammentreffen verhindern.
  • In der fünften Ausführungsform lernt daher das Maschinelles-Lernen-Gerät 70 die Zusammentreffensvorhersageinformation (n) basierend auf einem Datensatz, welcher die Zusammentreffensinformation (r), die Simulationspositionsinformation (r) und die NC-Programminformation (r), die miteinander assoziiert sind, umfasst. Dies ermöglicht dem Maschinelles-Lernen-Gerät 70, die Zusammentreffensvorhersageinformation (n) basierend auf der Zustandsinformation (i) zu berechnen.
  • Sechste Ausführungsform.
  • Eine sechste Ausführungsform dieser Erfindung wird als Nächstes mit Bezug zu 23 beschrieben. In der sechsten Ausführungsform wird das Maschinelles-Lernen-Gerät 70 auf den Betrieb der Steuerungsberechnungseinheit 2L angewendet, welche in der vierten Ausführungsform beschrieben ist. Eine Numerische-Steuerung-Vorrichtung der sechsten Ausführungsform unterscheidet sich von der Numerische-Steuerung-Vorrichtung der fünften Ausführungsform dadurch, dass die Zustandsinformation (i) zusätzlich die Zusammentreffensinformation (r) umfasst und dass die Trainingsdaten nicht die Zusammentreffensinformation (r), sondern eine Zusammentreffenverhinderungsprogramminformation (r) sind. Des Weiteren lernt in der sechsten Ausführungsform das Maschinelles-Lernen-Gerät 70 eine Zusammentreffenverhinderungsvorhersageinformation (n) anstelle der Zusammentreffenvorhersageinformation (n).
  • Die Zusammentreffenverhinderungsprogramminformation (r) ist eine Information über das NC-Programm, welches von der Zusammentreffenverhinderungsverarbeitungseinheit 804 zum Verhindern eines Zusammentreffens verwendet wird. Die Zusammentreffenverhinderungsvorhersageinformation (n) ist eine Information über den abgeleiteten Befehl zum Verhindern eines Zusammentreffens.
  • Das Maschinelles-Lernen-Gerät 70 lernt die Zusammentreffenverhinderungsvorhersageinformation (n) unter Verwendung der Simulationspositionsinformation (r), der NC-Programminformation (r) und der Zusammentreffensinformation (r). D. h., die Maschinelles-Lernen-Gerät 70 leitet einen Befehl des NC-Programms zur Verwendung der Zusammentreffensverhinderung ab.
  • Die Zustandsbeobachtungseinheit 71 der vorliegenden Ausführungsform beobachtet die Simulationspositionsinformation (r), die NC-Programminformation (r) und die Zusammentreffensinformation (r) als die Zustandsinformation (i). Die Zustandsbeobachtungseinheit 71 gibt die Zustandsinformation (i), welche sich aus der Datenbeobachtung ergibt, an die Lerneinheit 73 aus.
  • Die Datenbezugseinheit 72 bezieht die Zusammentreffenverhinderungsprogramminformation (r) aus der Zusammentreffenverhinderungsverarbeitungseinheit 804. Die Datenbezugseinheit 72 gibt die Zusammentreffenverhinderungsprogramminformation (r) an die Lerneinheit 73 aus. Die Zusammentreffenverhinderungsverarbeitungseinheit 804 sendet die Zusammentreffenverhinderungsprogramminformation (r) an die Robotersteuerungseinheit 41, wenn ein Zusammentreffen verhindert wird, und sendet die Zusammentreffenverhinderungsprogramminformation (r) an das Maschinelles-Lernen-Gerät 70, wenn über eine Zusammentreffensverhinderung gelernt wird.
  • In der vorliegenden Ausführungsform beobachtet die Zustandsbeobachtungseinheit 71 die Simulationspositionsinformation (r), die NC-Programminformation (r) und die Zusammentreffensinformation (r) als die Zustandsinformation (i).
  • Des Weiteren lernt die Lerneinheit 73 der vorliegenden Ausführungsform die Zusammentreffenverhinderungsvorhersageinformation (n) basierend auf einem Datensatz, welcher basierend auf einer Kombination aus der Zustandsinformation (i) und der Zusammentreffenverhinderungsprogramminformation (r), welche Trainingsdaten ist, gebildet wird. Bei dieser Handlung ist der Datensatz Daten, welche die Zustandsinformation (i), welche eine Zustandsvariable ist, und die Zusammentreffenverhinderungsprogramminformation (r), welche miteinander assoziiert sind, umfassen.
  • Zudem lernt in der vorliegenden Ausführungsform die Lerneinheit 73 die Zusammentreffenverhinderungsvorhersageinformation (n) aus einem Datensatz, welcher die Zustandsinformation (i) und die Zusammentreffenverhinderungsprogramminformation (r), welche miteinander assoziiert sind, umfasst, beispielsweise gemäß einem Neuronalen-Netz-Modell unter Verwendung von sogenanntem überwachten Lernen.
  • D. h., das neuronale Netz lernt die Zusammentreffenverhinderungsvorhersageinformation (n) durch Anpassen der Gewichte, um das von der Ausgabeschicht ausgegebene Ergebnis betreffend die Zustandsinformation (i), welche die Simulationspositionsinformation (r), die NC-Programminformation (r) und die Zusammentreffensinformation (r), die in die Eingabeschicht eingegeben wurden, umfasst, auf die Zusammentreffenverhinderungsprogramminformation (r) anzunähern. Das neuronale Netz der vorliegenden Ausführungsform gibt die Zusammentreffenverhinderungsvorhersageinformation (n) als das Lernergebnis (abgeleiteter Befehl) aus, welches unter Verwendung von sogenanntem überwachtem Lernen erhalten wird.
  • Das neuronale Netz der vorliegenden Ausführungsform ist ebenfalls fähig, die Zusammentreffenverhinderungsvorhersageinformation (n) unter Verwendung von sogenanntem unüberwachtem Lernen zu lernen.
  • Das Maschinelles-Lernen-Gerät 70 kann auch die Zusammentreffenverhinderungsvorhersageinformation (n) als das Lernergebnis (abgeleiteter Wert) ausgeben, welches basierend auf einem Datensatz erhalten wird, welcher für mehrere Numerische-Steuerung-Vorrichtungen erzeugt wird. Ferner kann das Maschinelles-Lernen-Gerät 70, welches die Zusammentreffenverhinderungsvorhersageinformation (n) mit Bezug zu einer bestimmten Numerische-Steuerung-Vorrichtung gelernt hat, in einer anderen Numerische-Steuerung-Vorrichtung installiert werden und kann die Zusammentreffenverhinderungsvorhersageinformation (n) bezüglich der anderen Numerische-Steuerung-Vorrichtung neu lernen und aktualisieren.
  • Zudem fügt die Zusammentreffenverhinderungssteuerungseinheit 81 einen Befehl, welcher der Zusammentreffenverhinderungsvorhersageinformation entspricht, in einen Block vor dem Block des NC-Programms, für welchen vorhergesagt wurde, dass er ein Zusammentreffen verursacht, ein, statt unmittelbar vor einem Auftreten eines Zusammentreffens. Der Befehl, welcher der Zusammentreffenverhinderungsvorhersageinformation entspricht, ist ein Befehl des NC-Programms, welcher es ermöglicht, das Zusammentreffen zu verhindern. Dies ermöglicht der Zusammentreffenverhinderungssteuerungseinheit 81, ein Zusammentreffen der Werkzeugmaschine 100 und des Roboters 60 proaktiv zu verhindern.
  • In der sechsten Ausführungsform lernt das Maschinelles-Lernen-Gerät 70 daher die Zusammentreffenverhinderungsvorhersageinformation (n) basierend auf einem Datensatz, welcher die Zusammentreffensinformation (r), die Simulationspositionsinformation (r), die NC-Programminformation (r) und die Zusammentreffenverhinderungsprogramminformation (r), welche miteinander assoziiert sind, umfasst. Dies ermöglicht dem Maschinelles-Lernen-Gerät 70, die Zusammentreffenverhinderungsprogramminformation (n) basierend auf der Zustandsinformation (i) zu berechnen.
  • Es ist zu beachten, dass die Technologien der ersten bis sechsten Ausführungsform kombiniert werden können. Beispielsweise kann mindestens eine der Numerische-Steuerung-Vorrichtungen 1X bis 1Z die Manuelle-Roboterbedienung-Einheit 415 umfassen. Des Weiteren kann mindestens eine der Numerische-Steuerung-Vorrichtungen 1X bis 1Z das Maschinelles-Lernen-Gerät 70 umfassen.
  • Eine Hardwarekonfiguration der Steuerungsberechnungseinheiten 2X, 2Y, 2Z, 2L und 2M wird nun beschrieben. 24 ist ein Diagramm, welches eine beispielhafte Hardwarekonfiguration der Steuerungsberechnungseinheiten zeigt, die in den Numerische-Steuerung-Vorrichtungen gemäß den Ausführungsformen enthalten sind. Es ist zu beachten, dass aufgrund von ähnlichen Hardwarekonfigurationen der Steuerungsberechnungseinheiten 2X, 2Y, 2Z, 2L und 2M vorliegend eine Hardwarekonfiguration der Steuerungsberechnungseinheit 2X beschrieben wird.
  • Die Steuerungsberechnungseinheit 2X kann durch einen Prozessor 301, einen Speicher 302 und eine Schnittstellenschaltung 303 implementiert sein, welche in 24 gezeigt sind. Beispiele des Prozessors 301 umfassen eine zentrale Verarbeitungseinheit (CPU) (auch als Verarbeitungseinheit, Berechnungseinheit, Mikroprozessor, Mikrocomputer, Prozessor und digitaler Signalprozessoren (DSP) bekannt) und ein hochintegriertes System. Beispiele des Speichers 302 umfassen einen Direktzugriffsspeicher (RAM) und einen nur lesbaren Speicher (ROM).
  • Die Steuerungsberechnungseinheit 2X ist durch den Prozessor 301 implementiert, welcher ein Programm zum Durchführen eines Betriebs der Steuerungsberechnungseinheit 2X liest und ausführt, welches in dem Speicher 302 gespeichert ist. Man kann auch sagen, dass dieses Programm einen Computer dazu veranlasst, eine Prozedur oder ein Verfahren der Steuerungsberechnungseinheit 2X durchzuführen. Der Speicher 302 wird auch als ein temporärer Speicher verwendet, wenn der Prozessor 301 diverse Verarbeitungsaufgaben durchführt.
  • Es ist zu beachten, dass die Funktionalität der Steuerungsberechnungseinheit 2X teilweise durch ein dediziertes Hardwareelement und teilweise durch Software oder Firmware implementiert sein kann. Des Weiteren kann das Maschinelles-Lernen-Gerät 70 durch die in 24 gezeigte Hardware implementiert sein.
  • Die Konfigurationen, die in den vorherigen Ausführungsformen beschrieben sind, sind lediglich Beispiele diverser Aspekte der vorliegenden Erfindung. Diese Konfigurationen können mit einer anderen bekannten Technologie kombiniert werden, und des Weiteren kann ein Teil solcher Konfigurationen weggelassen und/oder modifiziert werden, ohne den Umfang der vorliegenden Erfindung zu verlassen.
  • Bezugszeichenliste
  • 1L, 1M, 1X bis 1Z
    Numerische-Steuerung-Vorrichtung;
    2L, 2M, 2X bis 2Z
    Steuerungsberechnungseinheit;
    3
    Eingabebedienungseinheit;
    4
    Anzeigeeinheit;
    5a, 5b
    Werkstück;
    6a bis 6c
    Werkzeug;
    7
    befördertes Objekt;
    11a, 11b
    Werkzeughalter;
    12a, 12b
    Spannmechanismus;
    14
    Gehäuse;
    15
    Auswahlschalter;
    21
    Roboterarm;
    22
    Roboterhand;
    23
    Basis;
    30
    Lader;
    31
    Bildschirmdarstellungsverarbeitungseinheit;
    34
    Speichereinheit;
    37
    Analyseverarbeitungseinheit;
    38
    Interpolationsverarbeitungseinheit;
    39
    Beschleunigung-Bremsung-Verarbeitungseinheit;
    40
    Achsendatenausgabeeinheit;
    41, 41L
    Robotersteuerungseinheit;
    50
    Robotersteuerung;
    53
    Bedienfeld;
    55
    Handrad;
    57
    Jog-Knopf;
    59
    Achsenauswahlschalter;
    60
    Roboter;
    70
    Maschinelles-Lernen-Gerät;
    71
    Zustandsbeobachtungseinheit;
    72
    Datenbezugseinheit;
    73
    Lerneinheit;
    80X bis 80Z
    Simulationssteuerungseinheit;
    81
    Zusammentreffenverhinderungssteuerungseinheit;
    90
    Antriebseinheit;
    100
    Werkzeugmaschine;
    130 bis 135
    Bildschirmdarstellung;
    301
    Prozessor;
    302
    Speicher;
    303
    Schnittstellenschaltung;
    341
    Parameterspeicherbereich;
    343
    NC-Programmspeicherbereich;
    344
    Anzeigedatenspeicherbereich;
    345
    gemeinsam benutzter Bereich;
    346
    Simulationsdaten;
    371
    Roboterbefehlsanalyseeinheit;
    382M, 421R
    Manuelle-Bedienung-erlaubt/nicht-erlaubt-Bestimmungseinheit;
    415
    Manuelle-Roboterbedienung-Einheit;
    422
    Bewegungsdatensendeeinheit;
    801, 851
    Maschinenbewegungsberechnungseinheit;
    802, 852
    Roboterbewegungsberechnungseinheit;
    803, 853
    Zusammentreffenprüfungseinheit;
    804, 854
    Zusammentreffenverhinderungsverarbeitungseinheit;
    805
    Bewegungsbahnberechnungseinheit;
    806
    Werkstückpositionsberechnungseinheit;
    807
    Werkstückformberechnungseinheit;
    811
    Maschinenmodell;
    812
    Robotermodell;
    813, 814
    Werkzeugdaten;
    815
    Werkstückdaten;
    P1
    Roboterwegpunkt;
    P2
    Anfasungsposition.
  • 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 4653836 [0004]

Claims (10)

  1. Numerische-Steuerung-Vorrichtung, umfassend: eine Maschinenbewegungsberechnungseinheit, welche eine Position einer ersten Komponente, die in einer Werkzeugmaschine enthalten ist, an einem spezifischen Zeitpunkt unter Verwendung eines Maschinenmodells und unter Verwendung von ersten Positionsdaten berechnet, wobei das Maschinenmodell Daten zur Simulation einer Bewegung der Werkzeugmaschine ist, wobei die ersten Positionsdaten zum Steuern der Position der ersten Komponente dienen; eine Roboterbewegungsberechnungseinheit, welche eine Position einer zweiten Komponente, die in einem Roboter enthalten ist, an dem spezifischen Zeitpunkt unter Verwendung eines Robotermodells und unter Verwendung von zweiten Positionsdaten berechnet, wobei das Robotermodell Daten zur Simulation einer Bewegung des Roboters ist, wobei die zweiten Positionsdaten zum Steuern der Position der zweiten Komponente dienen; und eine Kollisionsbestimmungseinheit, welche basierend auf der Position der ersten Komponente und auf der Position der zweiten Komponente bestimmt, ob die Werkzeugmaschine und der Roboter miteinander kollidieren.
  2. Numerische-Steuerung-Vorrichtung gemäß Anspruch 1, wobei die Maschinenbewegungsberechnungseinheit die erste Komponente unter Verwendung von Renderingdaten der Werkzeugmaschine und unter Verwendung der ersten Positionsdaten rendert und die Roboterbewegungsberechnungseinheit die zweite Komponente unter Verwendung von Renderingdaten des Roboters und unter Verwendung der zweiten Positionsdaten rendert.
  3. Numerische-Steuerung-Vorrichtung gemäß Anspruch 1 oder 2, ferner umfassend: eine Zusammentreffenverhinderungsverarbeitungseinheit, welche in einem Fall, in welchem eine Kollision zwischen der Werkzeugmaschine und dem Roboter auftritt, die Kollision verhindert, indem sie mindestens eines aus einer Ersetzung eines an den Roboter gerichteten Bewegungsbefehls, der die Kollision verursacht, durch einen Befehl zum Ändern einer Stellung des Roboters, einer Einfügung eines Pfadmodifikationsbefehls vor dem Bewegungsbefehl und einer Einfügung eines Wartebefehls unmittelbar vor dem Bewegungsbefehl durchführt, wobei der Pfadmodifikationsbefehl ein Befehl zum Modifizieren eines Pfads des Roboters ist.
  4. Numerische-Steuerung-Vorrichtung gemäß einem der Ansprüche 1 bis 3, ferner umfassend: eine Bewegungsbahnberechnungseinheit, welche eine erste Bewegungsbahn eines ersten Werkzeugs, das von der Werkzeugmaschine verwendet wird, und eine zweite Bewegungsbahn eines zweiten Werkzeugs, das von dem Roboter verwendet wird, berechnet; und eine Produzierte-Form-Berechnungseinheit, welche eine durch Maschinenbearbeitung zu produzierende Form eine Werkstücks, das durch die Werkzeugmaschine und durch den Roboter maschinenbearbeitet wird, rendert, indem sie eine Form berechnet, welche eine Form des Werkstücks ist, aus welcher Abschnitte, durch welche das erste Werkzeug und das zweite Werkzeug laufen, ausgeschnitten sind.
  5. Numerische-Steuerung-Vorrichtung gemäß Anspruch 1, wobei die Maschinenbewegungsberechnungseinheit basierend auf einem Bewegungsumfang der ersten Komponente, welcher einer manuellen Bedienung der Werkzeugmaschine entspricht, eine Position und eine Form der ersten Komponente berechnet, die Roboterbewegungsberechnungseinheit basierend auf einem Bewegungsumfang der zweiten Komponente, welcher einer manuellen Bedienung des Roboters entspricht, eine Position und eine Form der zweiten Komponente berechnet und die Kollisionsbestimmungseinheit basierend auf der Position und der Form der ersten Komponente und auf der Position und der Form der zweiten Komponente bestimmt, ob die Werkzeugmaschine und der Roboter miteinander kollidieren.
  6. Numerische-Steuerung-Vorrichtung gemäß Anspruch 5, ferner umfassend: eine Zusammentreffenverhinderungsverarbeitungseinheit, welche in einem Fall, in welchem eine Kollision zwischen der Werkzeugmaschine und dem Roboter auftritt, die Kollision verhindert, indem sie mindestens eines durchführt aus: einer Ersetzung eines an den Roboter gerichteten Bewegungsbefehls, der die Kollision verursacht, durch einen Bewegungsbefehl zum Ändern einer Stellung, der eine Verhinderung der Kollision ermöglicht, und einer Einfügung eines Wartebefehls unmittelbar vor dem Bewegungsbefehl.
  7. Numerische-Steuerung-Vorrichtung gemäß einem der Ansprüche 1 bis 6, ferner umfassend: eine Analyseverarbeitungseinheit, welche ein Numerische-Steuerung-Programm analysiert, welches einen Maschinenantriebsbefehl und einen Roboterbefehl enthält, wobei der Maschinenantriebsbefehl ein Befehl ist, der an die Werkzeugmaschine gerichtet ist, wobei der Roboterbefehl ein Befehl ist, der an den Roboter gerichtet ist; und eine Robotersteuerungseinheit, welche den Roboter unter Verwendung des Roboterbefehls steuert, wobei die Analyseverarbeitungseinheit bestimmt, ob ein analysierter Befehl der Maschinenantriebsbefehl oder der Roboterbefehl ist, und in einem Fall, in welchem der analysierte Befehl der Roboterbefehl ist, ein Ergebnis einer Analyse des Roboterbefehls an die Robotersteuerungseinheit sendet.
  8. Numerische-Steuerung-Vorrichtung gemäß einem der Ansprüche 1 bis 7, wobei die erste Komponente ein durch die Werkzeugmaschine verwendetes Werkzeug umfasst und die zweite Komponente ein durch den Roboter verwendetes Werkzeug umfasst.
  9. Maschinelles-Lernen-Gerät, umfassend: eine Zustandsbeobachtungseinheit, welche eine Zustandsvariable beobachtet, die eine Simulationspositionsinformation und eine Maschinenbearbeitungsprogramminformation umfasst, wobei die Simulationspositionsinformation eine Position einer ersten Komponente, die in einer Werkzeugmaschine enthalten ist, an einem spezifischen Zeitpunkt, die unter Verwendung eines Maschinenmodells, welches Daten zur Simulation einer Bewegung der Werkzeugmaschine ist, und unter Verwendung von ersten Positionsdaten, welche zum Steuern der Position der ersten Komponente dienen, berechnet wird, und eine Position einer zweiten Komponente, die in einem Roboter enthalten ist, an dem spezifischen Zeitpunkt, die unter Verwendung eines Robotermodells, welches Daten zur Simulation einer Bewegung des Roboters ist, und unter Verwendung von zweiten Positionsdaten, welche zum Steuern der Position der zweiten Komponente dienen, berechnet wird, angibt, wobei die Maschinenbearbeitungsprogramminformation eine Information über ein Maschinenbearbeitungsprogramm ist, welches zum Steuern der Werkzeugmaschine und des Roboters verwendet wird; eine Datenbezugseinheit, welche eine Kollisionsinformation erhält, die angibt, ob die Werkzeugmaschine und der Roboter miteinander kollidieren; und eine Lerneinheit, welche eine Zusammentreffenvorhersageinformation, welche eine Information einer Vorhersage darüber ist, ob die Werkzeugmaschine und der Roboter miteinander kollidieren, basierend auf einem Datensatz, welcher basierend auf einer Kombination der Zustandsvariable und der Kollisionsinformation erzeugt wird, lernt.
  10. Maschinelles-Lernen-Gerät, umfassend: eine Zustandsbeobachtungseinheit, welche eine Zustandsvariable beobachtet, die eine Simulationspositionsinformation, eine Maschinenbearbeitungsprogramminformation und eine Kollisionsinformation umfasst, wobei die Simulationspositionsinformation eine Position einer ersten Komponente, die in einer Werkzeugmaschine enthalten ist, an einem spezifischen Zeitpunkt, die unter Verwendung eines Maschinenmodells, welches Daten zur Simulation einer Bewegung der Werkzeugmaschine ist, und unter Verwendung von ersten Positionsdaten, welche zum Steuern der Position der ersten Komponente dienen, berechnet wird, und eine Position einer zweiten Komponente, die in einem Roboter enthalten ist, an dem spezifischen Zeitpunkt, die unter Verwendung eines Robotermodells, welches Daten zur Simulation einer Bewegung des Roboters ist, und unter Verwendung von zweiten Positionsdaten, welche zum Steuern der Position der zweiten Komponente dienen, berechnet wird, umfasst, wobei die Maschinenbearbeitungsprogramminformation eine Information über ein Maschinenbearbeitungsprogramm ist, welches zum Steuern der Werkzeugmaschine und des Roboters verwendet wird, wobei die Kollisionsinformation angibt, ob die Werkzeugmaschine und der Roboter miteinander kollidieren; eine Datenbezugseinheit, welche in einem Fall, in welchem die Werkzeugmaschine und der Roboter miteinander kollidieren, eine Verhinderungsprogramminformation erhält, wobei die Verhinderungsprogramminformation eine Information über ein Maschinenbearbeitungsprogramm ist, welches keine Kollision zwischen der Werkzeugmaschine und dem Roboter verursacht; und eine Lerneinheit, welche eine Zusammentreffenverhinderungsvorhersageinformation, welche eine Information einer Vorhersage der Information über ein Maschinenbearbeitungsprogramm ist, welches keine Kollision zwischen der Werkzeugmaschine und dem Roboter verursacht, basierend auf einem Datensatz, welcher basierend auf einer Kombination der Zustandsvariable und der Verhinderungsprogramminformation erzeugt wird, lernt.
DE112019007579.9T 2019-09-13 2019-09-13 Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät Active DE112019007579B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/036198 WO2021049028A1 (ja) 2019-09-13 2019-09-13 数値制御装置、および機械学習装置

Publications (2)

Publication Number Publication Date
DE112019007579T5 true DE112019007579T5 (de) 2022-04-14
DE112019007579B4 DE112019007579B4 (de) 2023-11-09

Family

ID=74866981

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019007579.9T Active DE112019007579B4 (de) 2019-09-13 2019-09-13 Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät

Country Status (4)

Country Link
JP (1) JP6914452B1 (de)
CN (1) CN114365047B (de)
DE (1) DE112019007579B4 (de)
WO (1) WO2021049028A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11878424B2 (en) 2021-12-06 2024-01-23 Fanuc Corporation Point set interference check
WO2023203617A1 (ja) * 2022-04-18 2023-10-26 ファナック株式会社 ロボット制御装置、数値制御システム及び数値制御方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4653836B2 (ja) 2008-12-12 2011-03-16 ファナック株式会社 シミュレーション装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07223181A (ja) * 1994-02-09 1995-08-22 Yaskawa Electric Corp マニピュレータの干渉チェック装置
DE10226140A1 (de) * 2002-06-13 2004-01-08 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Vermeiden von Kollisionen zwischen Industrierobotern und anderen Objekten
JP4249794B1 (ja) * 2007-10-29 2009-04-08 ファナック株式会社 ワーク搬送用ロボットの制御装置
JP4902816B1 (ja) * 2011-01-26 2012-03-21 三菱電機株式会社 数値制御装置
CN104345687B (zh) * 2013-08-09 2017-10-20 中国科学院沈阳计算技术研究所有限公司 一种刀具扫描体建模方法
JP6282140B2 (ja) * 2014-02-26 2018-02-21 キヤノン株式会社 軌道生成方法、ロボット装置、プログラム及び記録媒体
JP6200456B2 (ja) * 2015-06-29 2017-09-20 ファナック株式会社 工作機械とロボット間の干渉チェックシステム
JP6517762B2 (ja) 2016-08-23 2019-05-22 ファナック株式会社 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム
JP6457469B2 (ja) * 2016-12-08 2019-01-23 ファナック株式会社 移動ロボットの干渉領域設定装置
CN207432246U (zh) * 2017-09-27 2018-06-01 杭州新松机器人自动化有限公司 一种机械臂碰撞检测系统
JP6698603B2 (ja) * 2017-09-29 2020-05-27 ファナック株式会社 数値制御システム、及び運転状態異常検知方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4653836B2 (ja) 2008-12-12 2011-03-16 ファナック株式会社 シミュレーション装置

Also Published As

Publication number Publication date
DE112019007579B4 (de) 2023-11-09
JPWO2021049028A1 (ja) 2021-10-07
CN114365047A (zh) 2022-04-15
WO2021049028A1 (ja) 2021-03-18
JP6914452B1 (ja) 2021-08-04
CN114365047B (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
DE102016120763B4 (de) Verfahren zur kollisionsfreien Bewegungsplanung
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE112010000775B4 (de) Industrierobotersystem
DE102017001131B4 (de) Verfahren und System zum Betreiben eines Roboters
EP2500148B1 (de) Verfahren und Vorrichtung zum Steuern eines Roboters mit Hilfe eines virtuellen Modells des Roboters
WO2016087590A1 (de) Verfahren zur bewegungssimulation eines manipulators
DE112010005510B4 (de) Numerisches Steuerverfahren und Vorrichtung dafür
EP3434424A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
DE102014219831A1 (de) Anzeigevorrichtung
DE112018008087B4 (de) Numerisches Steuerungsgerät und numerisches Steuerungsverfahren
DE112021007017T5 (de) Numerik-Steuervorrichtung und Numerik-Steuersystem
DE102004019653B4 (de) Simulationsvorrichtung
DE112019007579B4 (de) Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät
EP2837981A2 (de) Verfahren und Vorrichtung zur automatisierten Konfiguration einer Überwachungsfunktion eines Industrieroboters
EP3812106B1 (de) Roboteranordnung, verfahren zum betreiben der roboteranordnung, computerprogramm sowie maschinenlesbares speichermedium
DE102020124734A1 (de) Simulationsgerät
EP3993959A1 (de) Durchführen einer applikation mithilfe wenigstens eines roboters
DE102017007909A1 (de) Produktionssteuerung, ausgestattet mit einer Funktion zur Identifizierung der Ursache nach einem Betriebsstop einer Produktionseinrichtung, die Fertigungseinrichtungen umfasst
DE102006036490A1 (de) Verfahren und Vorrichtung zum Steuern eines Handhabungsgeräts
DE112020007185B4 (de) Numerische Steuerung und Industriemaschinen-Steuerungssystem
EP3712724A1 (de) Automatisierungsanordnung, verfahren zum betrieb der automatisierungsanordnung sowie computerprogramm
DE102020103852B4 (de) Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
EP3518059B1 (de) Verfahren zur rechnergestützten benutzerassistenz bei der in-betriebnahme eines bewegungsplaners für eine maschine
DE112022000487T5 (de) Befehlserzeugungsvorrichtung und 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