DE102016111595A1 - Kollisionsprüfsystem für eine Werkzeugmaschine und einen Roboter - Google Patents

Kollisionsprüfsystem für eine Werkzeugmaschine und einen Roboter Download PDF

Info

Publication number
DE102016111595A1
DE102016111595A1 DE102016111595.9A DE102016111595A DE102016111595A1 DE 102016111595 A1 DE102016111595 A1 DE 102016111595A1 DE 102016111595 A DE102016111595 A DE 102016111595A DE 102016111595 A1 DE102016111595 A1 DE 102016111595A1
Authority
DE
Germany
Prior art keywords
robot
control unit
collision
numerical control
lead time
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
DE102016111595.9A
Other languages
English (en)
Other versions
DE102016111595B4 (de
Inventor
Masatoshi Nakajima
Masakazu Ichinose
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102016111595A1 publication Critical patent/DE102016111595A1/de
Application granted granted Critical
Publication of DE102016111595B4 publication Critical patent/DE102016111595B4/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40476Collision, planning for collision free path

Landscapes

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

Abstract

Eine numerische Steuereinheit und eine Robotersteuereinheit verwenden gemeinsam Interpolationsebenen-Bewegungsdaten, die durch das Aufzeichnen einer Positionsinformation für jede Interpolationsperiode eines Roboters in Verbindung mit einem Index erhalten werden. Auf Basis der Interpolationsebenen-Bewegungsdaten wird eine Vorlaufposition des Roboters nach dem Ablauf einer Zeit (einer Vorlaufzeit) zur Berechnung einer nächsten Vorlaufposition seit einer Bezugszeit für die Kollisionsprüfung berechnet. Und auf Basis der Robotervorlaufposition und einer Vorlaufposition (Maschinenvorlaufposition) einer Achse der Maschine nach dem Ablauf der Vorlaufzeit wird die Kollision zwischen einer Maschine und dem Roboter geprüft.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Kollisionsprüfsystem im Hinblick auf eine Kollision zwischen einer Werkzeugmaschine und einem Roboter.
  • Beschreibung des Stands der Technik
  • Roboter werden verbreitet in Kombination mit Werkzeugmaschinen zur Anbringung und Abnahme von Werkstücken und dergleichen verwendet. Da ein Roboter in eine Werkzeugmaschine gelangen kann, um ein Werkstück anzubringen oder abzunehmen, ist erwünscht, dass die Werkmaschine und der Roboter im Hinblick auf eine Kollision geprüft werden.
  • Techniken, die in den Japanischen Patentoffenlegungsschriften Nr. 2008-27376 und 2010-244256 beschrieben sind, werden zur Kollisionsprüfung für eine Werkzeugmaschine verwendet. Gemäß diesen Techniken gibt eine numerische Steuereinheit zur Steuerung der Werkzeugmaschine eine Vorlaufposition aus und wird die Kollisionsprüfung auf Basis der ausgegebenen Information durchgeführt, so dass die Werkzeugmaschine vor einer Kollision angehalten werden kann.
  • Zudem werden beim Prüfen der Kollision zwischen Robotern unter Verwendung einer Technik, die in der Japanischen Patentoffenlegungsschrift Nr. 2006-68857 beschrieben ist, Lehrprogramme für die Roboter vorab gelesen.
  • Um die Kollision zwischen der Werkzeugmaschine und dem Roboter durch diese herkömmlichen Techniken zu prüfen, ist es jedoch nötig, die Techniken, die in den Japanischen Patentoffenlegungsschriften Nr. 2008-27376 und 2010-244256 beschrieben sind, zu verwenden, bei denen die Vorlaufposition durch die Steuereinheit zur Steuerung der Werkzeugmaschine ausgegeben wird. Außerdem ist es nötig, eine Vorlaufposition auf Seiten des Roboters auszugeben, damit die Kollisionsprüfung auf Basis der Vorlaufpositionen, die einzeln von der numerischen Steuereinheit und einer Robotersteuereinheit ausgegeben wurden, durchgeführt werden kann.
  • Wenn versucht wird, die Technik der Japanischen Patentoffenlegungsschrift Nr. 2006-68857 für die Prüfung der Kollision zwischen Robotern auf die Kollisionsprüfung zwischen einer Werkzeugmaschine und einem Roboter anzuwenden (d. h., wenn diese Technik so angewendet wird, dass die Werkzeugmaschine als ein Roboter angesehen wird), kann der Roboter gewiss von einer numerischen Steuereinheit zur Steuerung der Werkzeugmaschine ein NC-Programm als Information, die einem Lehrprogramm gleichwertig ist, erhalten. Doch da sich eine Vorlaufzeit zur Berechnung einer Vorlaufposition an der numerischen Steuereinheit abhängig von der Art der Interpolation, dem Vorausschauzustand in einem Vorausschaupuffer oder dem Befehl zur Unterdrückung der Vorausschau dynamisch verändert, kann das NC-Programm zur Steuerung der Werkzeugmaschine die Vorlaufposition des Roboters nicht leicht gemäß der Vorlaufzeit der Werkzeugmaschine berechnen. Aufgrund dieses Problems kann die Kollision zwischen der Werkzeugmaschine und dem Roboter nicht geprüft werden.
  • Im Gegensatz dazu verändert sich selbst dann, wenn auf Seiten der numerischen Steuereinheit zur Steuerung der Werkzeugmaschine das Roboterlehrprogramm erhalten wird, die Vorlaufzeit zum Berechnen der Vorlaufposition ebenfalls abhängig von der Art der Interpolation, dem Vorausschauzustand in einem Vorausschaupuffer oder dem Befehl zur Unterdrückung der Vorausschau dynamisch, so dass es schwierig ist, die Vorlaufposition der Werkzeugmaschine gemäß der Vorlaufzeit des Roboters zu berechnen.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Entsprechend ist es die Aufgabe der vorliegenden Erfindung, eine numerische Steuereinheit mit einer Funktion zur Kollisionsprüfung bereitzustellen, wodurch eine Synchronisation der jeweiligen Vorlaufzeiten einer Werkzeugmaschine und eines Roboters sichergestellt wird.
  • Bei der vorliegenden Erfindung werden die oben beschriebenen Probleme wie folgt gelöst. Im Besonderen wird eine Offline-Programmiervorrichtung oder dergleichen verwendet, um vorab ein Programm auf Seiten eines Roboters oder einer Werkzeugmaschine zu analysieren und eine Bewegungsinformation für den Roboter oder die Werkzeugmaschine als indizierte Interpolationsebenen-Bewegungsdaten zu erzeugen. Dann werden die Interpolationsebenen-Bewegungsdaten durch eine numerische Steuereinheit und eine Robotersteuereinheit gemeinsam verwendet, so dass durch die numerische Steuereinheit ein Startbefehl für die Robotersteuereinheit gegeben werden kann oder durch die Robotersteuereinheit ein Startbefehl für die numerische Steuereinheit gegeben werden kann.
  • Ein Kollisionsprüfsystem nach der vorliegenden Erfindung umfasst eine numerische Steuereinheit, um den Antrieb einer Achse einer Maschine auf Basis eines Befehls von einem NC-Programm zu steuern, eine Robotersteuereinheit, um einen Roboter auf Basis eines Befehls von einem Lehrprogramm zu steuern, und eine Kollisionsprüfvorrichtung, die dazu ausgebildet ist, die Kollision zwischen der Maschine und dem Roboter zu prüfen.
  • Nach einem ersten Gesichtspunkt des Kollisionsprüfsystems nach der vorliegenden Erfindung verwenden die numerische Steuereinheit und die Robotersteuereinheit gemeinsam Interpolationsebenen-Bewegungsdaten, die durch das Aufzeichnen einer Positionsinformation für jede Interpolationsperiode des Roboters in Verbindung mit einem Index erhalten werden. Die numerische Steuereinheit umfasst eine Vorausschaueinheit, die dazu ausgebildet ist, Vorausschaublockbefehlsdaten aus dem NC-Programm zu lesen; eine Vorlaufzeitberechnungseinheit, die dazu ausgebildet ist, eine Vorlaufzeit zur Berechnung einer nächsten Vorlaufposition zu berechnen; eine Maschinenvorlaufpositionsberechnungseinheit, die dazu ausgebildet ist, eine Maschinenvorlaufposition, bei der es sich um eine Vorlaufposition der Achse der Maschine nach dem Ablauf der Vorlaufzeit seit einer Bezugszeit für die Kollisionsprüfung handelt, zu berechnen; und eine Robotervorlaufpositionsberechnungseinheit, die dazu ausgebildet ist, eine Robotervorlaufposition, bei der es sich um eine Vorlaufposition des Roboters nach dem Ablauf der Vorlaufzeit seit der Bezugszeit für die Kollisionsprüfung handelt, zu berechnen. Die Kollisionsprüfvorrichtung ist dazu ausgebildet, die Kollision zwischen der Maschine und dem Roboter auf Basis der Maschinenvorlaufposition und der Robotervorlaufposition zu prüfen.
  • Die numerische Steuereinheit kann ferner eine Roboterbewegungsbefehlseinheit umfassen, die dazu ausgebildet ist, dem Roboter auf Basis eines Roboterbewegungsbefehls, der in dem NC-Programm enthalten ist, den Start seiner Bewegung zu befehlen, und die Robotervorlaufpositionsrechnungseinheit 240 kann dazu ausgebildet sein, die Robotervorlaufposition auf Basis eines Zeitpunkts des Bewegungsstartbefehls, der dem Roboter durch die Roboterbewegungsbefehlseinheit erteilt wird, den Interpolationsebenen-Bewegungsdaten und der Vorlaufzeit zu berechnen.
  • Die numerische Steuereinheit kann dazu ausgebildet sein, eine von der Robotersteuereinheit erlangte oder gemeldete Zustandsinformation hinsichtlich des Roboters, die einen Index, der eine gegenwärtige Position des Roboters angibt, und einen Bewegungszustand des Roboters enthält, zu speichern, und die Robotervorlaufpositionsberechnungseinheit kann dazu ausgebildet sein, die Robotervorlaufposition auf Basis der Zustandsinformation, der Interpolationsebenen-Bewegungsdaten und der Vorlaufzeit zu berechnen.
  • Nach einem zweiten Gesichtspunkt des Kollisionsprüfsystems nach der vorliegenden Erfindung verwenden die numerische Steuereinheit und die Robotersteuereinheit gemeinsam Interpolationsebenen-Bewegungsdaten, die durch das Aufzeichnen einer Positionsinformation für jede Interpolationsperiode der Maschine in Verbindung mit einem Index erhalten werden. Die Robotersteuereinheit umfasst eine Vorausschaueinheit, die dazu ausgebildet ist, Vorausschaublockbefehlsdaten aus dem Lehrprogramm zu lesen; eine Vorlaufzeitberechnungseinheit, die dazu ausgebildet ist, eine Vorlaufzeit zur Berechnung einer nächsten Vorlaufposition zu berechnen; eine Robotervorlaufpositionsberechnungseinheit, die dazu ausgebildet ist, eine Robotervorlaufposition, bei der es sich um eine Vorlaufposition der Achse des Roboters nach dem Ablauf der Vorlaufzeit seit einer Bezugszeit für die Kollisionsprüfung handelt, zu berechnen; und eine Maschinenvorlaufpositionsberechnungseinheit, die dazu ausgebildet ist, eine Maschinenvorlaufposition, bei der es sich um eine Vorlaufposition der Maschine nach dem Ablauf der Vorlaufzeit seit der Bezugszeit für die Kollisionsprüfung handelt, zu berechnen. Die Kollisionsprüfvorrichtung ist dazu ausgebildet, die Kollision zwischen dem Roboter und der Maschine auf Basis der Robotervorlaufposition und der Maschinenvorlaufposition zu prüfen.
  • Die Robotersteuereinheit kann dazu ausgebildet sein, eine von der numerischen Steuereinheit erlangte oder gemeldete Zustandsinformation hinsichtlich der Maschine einschließlich eines Index, der eine gegenwärtige Position des Maschine angibt, zu speichern, und die Maschinenvorlaufpositionsberechnungseinheit kann dazu ausgebildet sein, die Maschinenvorlaufposition auf Basis der Zustandsinformation, der Interpolationsebenen-Bewegungsdaten und der Vorlaufzeit zu berechnen.
  • Nach der vorliegenden Erfindung kann eine numerische Steuereinheit oder eine Robotersteuereinheit die Vorlaufposition an der anderen Seite selbst dann, wenn sich eine Vorlaufzeit zur Berechnung einer Vorlaufposition abhängig von der Art der Interpolation, dem Vorausschauzustand in einem Vorausschaupuffer oder dem Befehl zur Unterdrückung der Vorausschau dynamisch verändert, auf Basis der veränderten Vorlaufzeit berechnen, so dass synchrone Vorlaufpositionen einer Werkzeugmaschine und eines Roboters berechnet werden können.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obige und andere Aufgaben und Merkmale der vorliegenden Erfindung werden aus der folgenden Beschreibung von Ausführungsformen unter Bezugnahme auf die beiliegenden Zeichnungen offensichtlich werden, wobei
  • 1 ein schematisches Diagramm eines Kollisionsprüfsystems nach einer Ausführungsform der vorliegenden Erfindung ist;
  • 2 ein schematisches funktionales Blockdiagramm des in 1 gezeigten Kollisionsprüfsystems ist;
  • 3 ein Ablaufdiagramm ist, das ein erstes Beispiel für eine Verarbeitung zeigt, die an einer numerischen Steuereinheit, welche das Kollisionsprüfsystem von 2 bildet, durchgeführt wird;
  • 4 ein Ablaufdiagramm ist, das ein zweites Beispiel für eine Verarbeitung zeigt, die an der numerischen Steuereinheit, welche das Kollisionsprüfsystem von 2 bildet, durchgeführt wird; und
  • 5 ein schematisches Blockdiagramm eines Kollisionsprüfsystems nach einer anderen Ausführungsform der vorliegenden Erfindung ist.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nun wird unter Bezugnahme auf 1 ein Kollisionsprüfsystem nach einer Ausführungsform der vorliegenden Erfindung beschrieben werden.
  • Das Kollisionsprüfsystem nach der Ausführungsform umfasst eine numerische Steuereinheit 100, eine Robotersteuereinheit 300, einen Roboter 360, eine Werkzeugmaschine 400 und eine Kollisionsprüfvorrichtung 500.
  • Bevor die Bearbeitungssteuerung durch die Werkzeugmaschine 400 und den Roboter 360 begonnen wird, wird vorab eine Offline-Programmiervorrichtung 600 oder dergleichen verwendet, um ein Programm, das an der Robotersteuereinheit 300 ausgeführt wird, zu analysieren und auf Basis des Programms eine Bewegungsinformation hinsichtlich des Roboters 360 als indizierte Interpolationsebenen-Bewegungsdaten zu erzeugen. Die erzeugten Interpolationsebenen-Bewegungsdaten werden durch die numerische Steuereinheit 100 und die Robotersteuereinheit 300 gemeinsam verwendet, so dass auf Seiten der numerischen Steuereinheit 100 ein Bewegungsstartbefehl für den Roboter 360 ausgeführt werden kann.
  • Bei der Bearbeitungssteuerung auf Basis des Bearbeitungsprogramms berechnet die numerische Steuereinheit 100 dann, wenn sie während einer Vorlaufpositionsberechnung den Bewegungsstartbefehl für den Roboter 360 in dem Bearbeitungsprogramm detektiert, die Vorlaufposition des Roboters 360 zusammen mit jener der Werkzeugmaschine 400 auf Basis der Interpolationsebenen-Bewegungsdaten, die sie zusammen mit der Robotersteuereinheit 300 verwendet.
  • Bei Erhalt des Bewegungsstartbefehls von der numerischen Steuereinheit 100 steuert andererseits die Robotersteuereinheit 300 den Betrieb des Roboters 360 unter Berücksichtigung eines Ausgleichs für die Armablenkung und eines Schwerkraftausgleichs auf Basis der Interpolationsebenen-Bewegungsdaten hinsichtlich des Roboters 360, die gemeinsam mit der numerischen Steuereinheit 100 verwendet werden, so, dass eine durch die Interpolationsebenen-Bewegungsdaten angegebene Position erreicht wird. Dadurch kann eine Interpolationsebenen-Position des Roboters 360, die gemeinsam mit der numerischen Steuereinheit 100 verwendet wird, mit einer tatsächlichen Position des Roboters 360 übereingestimmt werden.
  • Da die numerische Steuereinheit 100 und die Robotersteuereinheit 300 asynchron arbeiten, wird allmählich ein Fehler zwischen der Vorlaufposition des Roboters 360, die durch die numerische Steuereinheit 100 berechnet wird, und jener der Werkzeugmaschine 400 erzeugt.
  • Um diesen Fehler auszugleichen, meldet die Robotersteuereinheit 300 den Index, der den Interpolationsebenen-Bewegungsdaten, die die gegenwärtige Position des Roboters 360 angeben, hinzugefügt ist, und eine Zustandsinformation, die eine Information hinsichtlich des Bewegungszustands enthält, welche angibt, ob der sich der Roboter bewegt oder angehalten ist, an die numerische Steuereinheit 100 zurück. Beim Erhalt der Zustandsinformation hinsichtlich der Roboters 360, die von der Robotersteuereinheit 300 zurückgemeldet wird, gleicht die numerische Steuereinheit 100 den Fehler zwischen der Vorlaufposition, die gegenwärtig berechnet wird, und der tatsächlichen gegenwärtigen Position des Roboters 360 auf Basis des Index, der die gegenwärtige Position des Roboters 360 angibt, und der Bewegungszustandsinformation, die in der Zustandsinformation enthalten ist, aus. Die numerische Steuereinheit 100 kann dazu ausgebildet sein, die Zustandsinformation hinsichtlich des Roboters 360 von der Robotersteuereinheit 300 zu erlangen.
  • Nach der obigen Beschreibung wird der Bewegungsstartbefehl für den Roboter 360 auf Seiten der numerischen Steuereinheit 100 ausgeführt. Alternativ kann der Betrieb jedoch unabhängig auf Seiten der Robotersteuereinheit 300 begonnen werden, ohne den Roboterstartbefehl auf Seiten der numerischen Steuereinheit 100 auszuführen.
  • 2 ist ein schematisches funktionales Blockdiagramm des in 1 gezeigten Kollisionsprüfsystems.
  • Die numerische Steuereinheit 100 steuert die Werkzeugmaschine 100 auf Basis eines NC-Programms 110, berechnet die Vorlaufpositionen jeweiliger Achsen der Werkzeugmaschine 400 und die Vorlaufposition des Roboters 360 auf Basis von Vorausschaublockbefehlsdaten 120, Interpolationsebenen-Bewegungsdaten 130 hinsichtlich des Roboters 360 und einer Zustandsinformation 140 hinsichtlich des Roboters 360, und führt die Verarbeitung zur Ausgabe der berechneten Vorlaufpositionen an die Kollisionsprüfvorrichtung 500 durch, wobei die Vorausschaublockbefehlsdaten 120 durch Vorausschau auf das NC-Programm 110 erlangt werden, die Interpolationsebenen-Bewegungsdaten 130 vorab mittels der Offline-Programmiervorrichtung 600 oder dergleichen erzeugt wurden und gemeinsam mit der Robotersteuereinheit 300 verwendet werden, und die Zustandsinformation 140 von der Robotersteuereinheit 300 gemeldet oder erlangt wird.
  • Die numerische Steuereinheit 100 ist in eine Vorverarbeitungseinheit 101 und eine Ausführungseinheit 102 geteilt. In der Vorverarbeitungseinheit 101 werden verschiedene erforderliche Daten für die Ausführung der Steuerung erzeugt, und die Steuerung der Werkzeugmaschine oder dergleichen wird auf Basis der erzeugten Daten in der Ausführungseinheit 102 ausgeführt.
  • Die Vorverarbeitungseinheit 101 liest das NC-Programm 110 im Voraus aus und speichert die Vorausschaublockbefehlsdaten 120 in einem Speicher (nicht gezeigt). Ferner speichert die Vorverarbeitungseinheit 101 die Interpolationsebenen-Bewegungsdaten 130 hinsichtlich des Roboters 360, die vorab durch die Offline-Programmiervorrichtung 600 oder dergleichen erzeugt wurden und gemeinsam mit der Robotersteuereinheit 300 verwendet werden, in einem Speicher (nicht gezeigt), und verwaltet die Zustandsinformation 140 hinsichtlich des Roboters 360, die der Reihe nach von der Robotersteuereinheit 300 gemeldet oder erlangt wird.
  • Eine Verteilungsverarbeitungseinheit 210 in der Ausführungseinheit 102 liest die Vorausschaublockbefehlsdaten 120 für jeden Block und führt eine Verteilungsverarbeitung zur Interpolation von Bewegungsbefehlen auf Basis von Bewegungsausmaßen der jeweiligen Achsen und Geschwindigkeiten der jeweiligen Achsen, die durch die gelesenen Blöcke befohlen werden, durch. Auf diese Weise erzeugt die Verteilungsverarbeitungseinheit 210 Interpolationsebenen-Verteilungsdaten, die für jeden Verteilungszeitraum beweglichen Teilen der jeweiligen Achsen (Servomotoren für jeweilige Achsen der Werkzeugmaschine 400) befohlen werden.
  • Die erzeugten Interpolationsebenen-Verteilungsdaten werden an eine Bewegungsbefehlausgabeeinheit 250 ausgegeben und dann von der Bewegungsbefehlausgabeeinheit 250 an eine Beschleunigungs/Verlangsamungsverarbeitungseinheit 260 ausgegeben. Beim Erhalt eines Bewegungsbefehls von der Bewegungsbefehlausgabeeinheit 250 führt die Beschleunigungs/Verlangsamungsverarbeitungseinheit 260 eine Beschleunigungs/Verlangsamungsverarbeitung durch, und gibt sie einen Bewegungsbefehl für das Bewegungsausmaß, das der Beschleunigungs/Verlangsamungsverarbeitung durch die Beschleunigungs/Verlangsamungsverarbeitungseinheit 260 unterzogen wurde, an eine Servosteuereinheit 270 zur Steuerung der Servomotoren für die jeweiligen Achsen der Werkzeugmaschine aus.
  • Eine Vorlaufzeitberechnungseinheit 220 berechnet auf Basis der Vorausschaublockbefehlsdaten 120, der Interpolationsebenen-Verteilungsdaten, die durch die Verteilungsverarbeitungseinheit 210 erzeugt wurden, und einer vorherbestimmten Bezugsvorlaufzeit T eine Vorlaufzeit t1. Auf Basis der Bewegungsdistanz und der Geschwindigkeit in den Befehlsdaten, die der Verteilungsverarbeitung durch die Verteilungsverarbeitungseinheit 210 unterzogen wurden, berechnet die Vorlaufzeitberechnungseinheit 220 die Bezugsvorlaufzeit T als die Vorlaufzeit t1, wenn in einem Puffer Befehlsdaten vor der Bezugsvorlaufzeit T angesammelt sind, doch berechnet sie die Höchstzeit, die aus den Befehlsdaten in dem Puffer erhalten wird, als die Vorlaufzeit 11, wenn keine Befehlsdaten vor der Bezugsvorlaufzeit T angesammelt sind. Die Bezugsvorlaufzeit T ist eine Zeit, die auf Basis der Zeit, welche für die Kollisionsprüfverarbeitung durch die Kollisionsprüfvorrichtung 500 nötig ist, der Zeit, welche für die Kommunikation zwischen der numerischen Steuereinheit 100 und der Kollisionsprüfvorrichtung 500 nötig ist, der Zeit, die von dem Erhalt eines Stoppbefehls durch die Achsen der Werkzeugmaschine 400 und des Roboters 360 bis zu einem Stopp durch Verlangsamung vergeht, und dergleichen vorherbestimmt ist. Da die Einzelheiten der Bezugsvorlaufzeit T in der oben beschriebenen Japanischen Patentoffenlegungsschrift Nr. 2008-27376 und dergleichen offenbart sind, wird auf ihre Beschreibung verzichtet werden.
  • Wenn bei der Berechnung der Vorlaufzeit t1 in den Vorausschaublockbefehlsdaten 120 ein Bewegungsstartbefehl für den Roboter 360 enthalten ist, berechnet die Vorlaufzeitberechnungseinheit 220 überdies ferner eine Zeit t2 von der gegenwärtigen Zeit bis zu der Ausführung des Bewegungsstartbefehls für den Roboter 360. Die berechnete Roboterbewegungsstartzeit t2 wird durch die Vorlaufzeitberechnungseinheit 220 mit jeder Verarbeitungsperiode verringert, bis der Verarbeitungsblock des NC-Programms (oder die Bezugsposition zur Berechnung der Vorlaufzeit) zu einem Block für den Bewegungsstartbefehl für den Roboter 360 gelangt, so dass t2 = 0 erreicht ist, wenn dem Roboter 360 der Bewegungsstartbefehl erteilt wird. Zu diesem Zeitpunkt gelangt der Roboter 360 in einen sich bewegenden Zustand. Wenn sich der Roboter 360 bewegt, ohne dass in den Vorausschaublockbefehlsdaten 120 ein Bewegungsstartbefehl dafür vorliegt, wird t2 = 0 festgelegt. Wenn sich der Roboter 360 im Stillstand befindet, wird t2 = t1 festgelegt. Entsprechend liegt die Roboterbewegungsstartzeit t2 in einem Bereich von 0 ≤ t2 ≤ t1.
  • Wenn in der Vorlaufzeitberechnungseinheit 220 die Bezugsposition zur Berechnung der Vorlaufzeit die Position für den Bewegungsstartbefehl für den Roboter 360 erreicht, wird überdies der Bewegungsstartbefehl für den Roboter 360 von der numerischen Steuereinheit 100 an die Robotersteuereinheit 300 gegeben.
  • Eine Werkzeugmaschinenvorlaufpositionsberechnungseinheit 230 berechnet auf Basis der Vorlaufzeit t1, die durch die Vorlaufzeitberechnungseinheit 220 berechnet wurde, Vorlaufpositionen von jeweiligen Achsen der Werkzeugmaschine 400. Da das Verfahren zur Berechnung einer Vorlaufzeit jeder Achse der Werkzeugmaschine 400 in der vorher beschriebenen Japanischen Patentoffenlegungsschrift Nr. 2008-27376 und dergleichen offenbart ist, wird auf eine ausführliche Beschreibung davon verzichtet werden.
  • Eine Robotervorlaufpositionsberechnungseinheit 240 erhält zuerst auf Basis der Interpolationsebenen-Bewegungsdaten 130 und der Zustandsinformation 140 hinsichtlich des Roboters 360, die der Reihe nach von der Robotersteuereinheit 300 gemeldet oder erlangt wird, die gegenwärtige Position des Roboters 360 und berechnet dann auf Basis der erlangten gegenwärtigen Position des Roboters 360 und der Interpolationsebenen-Bewegungsdaten 130 eine Position (eine Vorlaufposition) des Roboters 360 nach dem Ablauf der Vorlaufzeit t1. Die Vorlaufposition des Roboters 360 wird durch das folgende Verfahren berechnet. Wenn jeder Index der Interpolationsebenen-Bewegungsdaten 130 (eine Interpolationsperiode in der Robotersteuereinheit 300) als eine Einheit betrachtet wird, wird zuerst fpos, die Angabe der Vorlaufposition, gemäß der folgenden Gleichung (1) auf Basis der Interpolationsperiode (des Zyklus) der numerischen Steuereinheit 100 und der Robotersteuereinheit 300, der Vorlaufzeit t1, der Zeit t2 vor dem Bewegungsstartbefehl für den Roboter, und eines Index cpos der gegenwärtigen Position berechnet. Dann kann auf Basis des berechneten Index fpos und der Interpolationsebenen-Bewegungsdaten 130 die Vorlaufposition erhalten werden. fpos = cpos + (t1 – t2)/Zyklus (1)
  • Wenn sich die Interpolationsperioden der numerischen Steuereinheit 100 von den Interpolationsperioden der Robotersteuereinheit 300 unterscheiden, gibt es in einigen Fällen keinen passenden Index der Interpolationsebenen-Bewegungsdaten 130, der der Vorlaufzeit entspricht. In einem solchen Fall kann eine Positionsinformation, die durch einen vorherigen Index, der der Vorlaufzeit in den Interpolationsebenen-Bewegungsdaten 130 entspricht, als die Vorlaufposition des Roboters 360 angesehen werden. Alternativ kann eine Positionsinformation, die durch einen nachfolgenden Index angegeben wird, als die Vorlaufposition des Roboters 360 angesehen werden. Ferner kann eine Position zwischen der Positionsinformation, die durch den vorherigen Index angegeben wird, und der Positionsinformation, die durch den nachfolgenden Index angegeben wird, oder eine Positionsinformation, die durch lineares Interpolieren der Positionsinformation, die durch den vorherigen Index angegeben wird, und der Positionsinformation, die durch den nachfolgenden Index angegeben wird, auf Basis der Vorlaufzeit erhalten wird, als die Vorlaufposition des Roboters 360 angesehen werden.
  • Wenn eine Periode (fbcycle) für die Erlangung der Zustandsinformation 140 von der Robotersteuereinheit 300 dann mit den Interpolationsperioden der numerischen Steuereinheit 100 und der Robotersteuereinheit 300 übereinstimmt, werden die jeweiligen Vorlaufpositionen der Werkzeugmaschine 400 und des Roboters 360 stets synchron gehalten.
  • Wenn fbcycle > cycle besteht, tritt in der Synchronisation der Vorlaufpositionen ein Fehler auf. Doch dieser Fehler wird ausgeglichen, wenn der Index, der die gegenwärtige Position des Roboters 360 angibt, und die Zustandsinformation 140, die den Bewegungszustand enthält, erlangt werden.
  • Wenn der Index fpos, der die Vorlaufposition angibt, den maximalen Indexwert der Interpolationsebenen-Bewegungsdaten 130 übersteigt, wird der Roboter 360 als angehalten betrachtet. Wenn sich der Roboter 360 in einem Stillstand befindet, kann die Vorlaufposition des Roboters 360 nach dem Ablauf der Vorlaufzeit durch Festlegen von t2 = t1 an die gegenwärtige Position angepasst werden.
  • 3 ist ein Ablaufdiagramm, das einen Ablauf der Verarbeitung zeigt, die an der numerischen Steuereinheit 100, die das Kollisionsprüfsystem von 3 bildet, durchgeführt wird.
  • [Schritt SA01] Das NC-Programm 110 wird vorab gelesen und die Vorausschaublockbefehlsdaten 120 werden erlangt.
  • [Schritt SA02] Die Verteilungsverarbeitungseinheit 210 erzeugt auf Basis der Vorausschaublockbefehlsdaten 120 die Interpolationsebenen-Verteilungsdaten.
  • [Schritt SA03] Die Vorlaufzeitberechnungseinheit 220 berechnet aus den Vorausschaublockbefehlsdaten 120, die bei Schritt SA01 erlangt wurden, und den Interpolationsebenen-Verteilungsdaten, die bei Schritt SA02 erzeugt wurden, die Vorlaufzeit t1.
  • [Schritt SA04] Es wird bestimmt, ob in den Vorausschaublockbefehlsdaten 120, die bei Schritt SA01 erlangt wurden, der Bewegungsstartbefehl für den Roboter 360 enthalten ist oder nicht. Wenn der Bewegungsstartbefehl für den Roboter 360 enthalten ist, geht die Verarbeitung zu Schritt SA05 über. Wenn der Bewegungsstartbefehl für den Roboter 360 nicht enthalten ist, geht die Verarbeitung zu Schritt SA06 über.
  • [Schritt SA05] Die Zeit, die von der gegenwärtigen Zeit bis zu der Ausführung des Bewegungsstartbefehls für den Roboter 360 vergeht, wird berechnet.
  • [Schritt SA06] Unter Bezugnahme auf die Zustandsinformation 140 oder dergleichen wird bestimmt, ob sich der Roboter 360 gegenwärtig bewegt oder nicht. Wenn sich der Roboter 360 bewegt, geht die Verarbeitung zu Schritt SA07 über. Wenn sich der Roboter 360 nicht bewegt, geht die Verarbeitung zu Schritt SA08 über.
  • [Schritt SA07] Die Zeit t2 vor dem Bewegungsstartbefehl für den Roboter 360 wird auf 0 gesetzt.
  • [Schritt SA08] Die Zeit t2 vor dem Bewegungsstartbefehl für den Roboter 360 wird auf t1 gesetzt.
  • [Schritt SA09] Es wird bestimmt, ob die Bezugsposition für die Berechnung der Vorlaufzeit die Position für den Bewegungsstartbefehl für den Roboter 360 erreicht hat oder nicht. Wenn die Position für den Bewegungsstartbefehl erreicht ist, geht die Verarbeitung zu Schritt SA10 über. Wenn die Position für den Bewegungsstartbefehl nicht erreicht ist, geht die Verarbeitung zu Schritt SA07 über.
  • [Schritt SA10] Der Robotersteuereinheit 300 wird der Bewegungsstartbefehl für den Roboter 360 erteilt.
  • [Schritt SA11] Die Vorlaufposition jeder Achse der Werkzeugmaschine 400 wird berechnet.
  • [Schritt SA12] Die Vorlaufposition des Roboters 360 wird auf Basis der Zustandsinformation 140 hinsichtlich des Roboters 360 berechnet, wonach die Verarbeitung zu Schritt SA01 zurückkehrt.
  • Die vorliegende Erfindung ist auch auf einen Aufbau anwendbar, bei dem die numerische Steuereinheit 100 und die Robotersteuereinheit 300 unabhängig voneinander arbeiten, ohne dass der Bewegungsstartbefehl für den Roboter 360 auf Seiten der numerischen Steuereinheit 100 ausgeführt wird.
  • 4 ist ein Ablaufdiagramm, das die Verarbeitung zeigt, die in dem Kollisionsprüfsystem von 2 an der numerischen Steuereinheit 100 durchgeführt wird, wenn die numerische Steuereinheit 100 und die Robotersteuereinheit 300 unabhängig voneinander arbeiten, ohne dass der Bewegungsstartbefehl für den Roboter 360 auf Seiten der numerischen Steuereinheit 100 ausgeführt wird.
  • [Schritt SB01] Das NC-Programm 110 wird vorab gelesen und die Vorausschaublockbefehlsdaten 120 werden erlangt.
  • [Schritt SB02] Die Verteilungsverarbeitungseinheit 210 erzeugt auf Basis der Vorausschaublockbefehlsdaten 120 die Interpolationsebenen-Verteilungsdaten.
  • [Schritt SB03] Die Vorlaufzeitberechnungseinheit 220 berechnet aus den Vorausschaublockbefehlsdaten 120, die bei Schritt SB01 erlangt wurden, und den Interpolationsebenen-Verteilungsdaten, die bei Schritt SB02 erzeugt wurden, die Vorlaufzeit t1.
  • [Schritt SB04] Die Vorlaufpositionen der jeweiligen Achsen der Werkzeugmaschine 400 werden berechnet.
  • [Schritt SB05] Unter Bezugnahme auf die Zustandsinformation 140 oder dergleichen wird berechnet, ob sich der Roboter 360 im Stillstand befindet oder nicht. Wenn sich der Roboter 360 nicht im Stillstand befindet, geht die Verarbeitung zu Schritt SB06 über. Wenn sich der Roboter 360 im Stillstand befindet, geht die Verarbeitung zu Schritt SB07 über.
  • [Schritt SB06] Auf Basis der Interpolationsebenen-Bewegungsdaten 130 und der Zustandsinformation 140 hinsichtlich des Roboters 360, die von der Robotersteuereinheit 300 erlangt oder gemeldet wird, wird die Vorlaufposition des sich bewegenden Roboters berechnet, wonach die Verarbeitung zu Schritt SB01 zurückkehrt. Wenn der Index der Interpolationsebenen-Bewegungsdaten 130 hinsichtlich des Roboters 360 zum Beispiel als eine Einheit betrachtet wird, kann der Index fpos, der die Vorlaufposition des Roboters 360 angibt, auf Basis der Interpolationsperiode (des Zyklus) der numerischen Steuereinheit 100 und der Robotersteuerreinheit 300, der Vorlaufzeit t1 und des Index cpos der gegenwärtigen Position als fpos = cpos + t1/Zyklus berechnet werden.
  • [Schritt SB07] Auf Basis der Interpolationsebenen-Bewegungsdaten 130 und der Zustandsinformation 140 hinsichtlich des Roboters 360, die von der Robotersteuereinheit 300 erlangt oder gemeldet wird, wird die Vorlaufposition des angehaltenen Roboters 360 berechnet, wonach die Verarbeitung zu Schritt SB01 zurückkehrt. Wenn der Index der Interpolationsebenen-Bewegungsdaten 130 hinsichtlich des Roboters 360 zum Beispiel als eine Einheit betrachtet wird, kann der Index fpos, der die Vorlaufposition des Roboters 360 angibt, auf Basis der Interpolationsperiode (des Zyklus) der numerischen Steuereinheit 100 und der Robotersteuerreinheit 300, der Vorlaufzeit t1 und des Index cpos der gegenwärtigen Position als fpos = cpos berechnet werden.
  • Nach dem oben beschriebenen Aufbau kann die Robotersteuereinheit nur dann eine Kollisionsprüffunktion für die Werkzeugmaschine und den Roboter erzielen, wenn sie mit einer Funktion versehen ist, die in der Lage ist, der numerischen Steuereinheit den Index, der die gegenwärtige Position des Roboters angibt, und die Information, die den Bewegungszustand angibt, zu melden oder der numerischen Steuereinheit die Erlangung der Information zu ermöglichen.
  • Und selbst wenn sich die Vorlaufzeit zur Berechnung der Vorlaufposition abhängig von der Art der Interpolation, dem Vorausschauzustand in dem Vorausschaupuffer oder dem Befehl zur Unterdrückung der Vorausschau dynamisch verändert, kann die numerische Steuereinheit die Vorlaufposition des Roboters auf Basis der veränderten Vorlaufzeit berechnen. Somit können die synchronen Vorlaufpositionen der Werkzeugmaschine und des Roboters berechnet werden.
  • Darüber hinaus kann ein Fehler zwischen den Vorlaufpositionen der Werkzeugmaschine und des Roboters durch das Erlangen einer Indexinformation, die die gegenwärtige Position des Roboters angibt, und einer Information, die den Bewegungszustand angibt, auf ein Minimum ausgeglichen werden.
  • Obwohl hier Ausführungsformen der vorliegenden Erfindung beschrieben wurden, ist die Erfindung nicht auf die oben beschriebenen Ausführungsformen beschränkt, sondern kann sie passend abgeändert und in verschiedenen Formen ausgeführt werden.
  • Zum Beispiel wird bei der oben beschriebenen Ausführungsform das Lehrprogramm, das an der Robotersteuereinheit 300 ausgeführt wird, vorab durch die Offline-Programmiervorrichtung 600 oder dergleichen analysiert und die Bewegungsinformation hinsichtlich des Roboters 360 als die indexierten Interpolationsebenen-Bewegungsdaten erzeugt und durch die numerische Steuereinheit 100 und die Robotersteuereinheit 300 gemeinsam verwendet. Im Gegensatz dazu kann jedoch das NC-Programm, das an der numerischen Steuereinheit 100 ausgeführt wird, vorab mittels der Offline-Programmiervorrichtung 600 oder dergleichen analysiert werden. In diesem Fall wird die Bewegungsinformation hinsichtlich der Werkzeugmaschine 400 als die indexierten Interpolationsebenen-Bewegungsdaten erzeugt und werden die erzeugten indexierten Interpolationsebenen-Bewegungsdaten einzeln als die Interpolationsebenen-Bewegungsdaten 130 und Interpolationsebenen-Bewegungsdaten 310 durch die numerische Steuereinheit 100 und die Robotersteuereinheit 300 gemeinsam verwendet.
  • In diesem Fall sind wie in 5 gezeigt eine Vorlaufzeitberechnungseinheit 370, eine Robotervorlaufpositionsberechnungseinheit 380 und eine Werkzeugmaschinenvorlaufpositionsberechnungseinheit 390, die jeweils der in die numerische Steuereinheit 100 nach der oben beschriebenen Ausführungsform eingebauten Vorlaufzeitzeitberechnungseinheit 220, Werkzeugmaschinenvorlaufpositionsberechnungseinheit 230 und Robotervorlaufpositionsberechnungseinheit 240 entsprechen, einzeln in die Robotersteuereinheit 300 eingebaut, um die Vorlaufpositionen der Werkzeugmaschine 400 und des Roboters 360 zu berechnen und der Kollisionsprüfvorrichtung 500 die berechneten Vorlaufpositionen zu melden.
  • Bei diesem Aufbau sollte die numerische Steuereinheit 100 nur dazu ausgebildet sein, die Zustandsinformation, die den Index enthält, der den Interpolationsebenen-Bewegungsdaten, die die gegenwärtige Position der Werkzeugmaschine angeben, hinzugefügt wird, an die Robotersteuereinheit 300 zurückzumelden, so dass die Robotersteuereinheit 300 den Fehler zwischen der Vorlaufposition, die gegenwärtig berechnet wird, und der tatschlichen gegenwärtigen Position des Roboters 360 auf Basis der Rückmeldeinformation ausgleichen kann.
  • 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 2008-27376 [0003, 0005, 0037, 0040]
    • JP 2010-244256 [0003, 0005]
    • JP 2006-68857 [0004, 0006]

Claims (5)

  1. Kollisionsprüfsystem, umfassend eine numerische Steuereinheit, um den Antrieb einer Achse einer Maschine auf Basis eines Befehls von einem NC-Programm zu steuern, eine Robotersteuereinheit, um einen Roboter auf Basis eines Befehls von einem Lehrprogramm zu steuern, und eine Kollisionsprüfvorrichtung, die dazu ausgebildet ist, die Kollision zwischen der Maschine und dem Roboter zu prüfen, wobei die numerische Steuereinheit und die Robotersteuereinheit gemeinsam Interpolationsebenen-Bewegungsdaten verwenden, die durch das Aufzeichnen einer Positionsinformation für jede Interpolationsperiode des Roboters in Verbindung mit einem Index erhalten werden, und die numerische Steuereinheit eine Vorausschaueinheit, die dazu ausgebildet ist, Vorausschaublockbefehlsdaten aus dem NC-Programm zu lesen; eine Vorlaufzeitberechnungseinheit, die dazu ausgebildet ist, eine Vorlaufzeit zur Berechnung einer nächsten Vorlaufposition zu berechnen; eine Maschinenvorlaufpositionsberechnungseinheit, die dazu ausgebildet ist, eine Maschinenvorlaufposition, bei der es sich um eine Vorlaufposition der Achse der Maschine nach dem Ablauf der Vorlaufzeit seit einer Bezugszeit für die Kollisionsprüfung handelt, zu berechnen; und eine Robotervorlaufpositionsberechnungseinheit, die dazu ausgebildet ist, eine Robotervorlaufposition, bei der es sich um eine Vorlaufposition des Roboters nach dem Ablauf der Vorlaufzeit seit der Bezugszeit für die Kollisionsprüfung handelt, zu berechnen, umfasst, und wobei die Kollisionsprüfvorrichtung dazu ausgebildet ist, die Kollision zwischen der Maschine und dem Roboter auf Basis der Maschinenvorlaufposition und der Robotervorlaufposition zu prüfen.
  2. Kollisionsprüfsystem nach Anspruch 1, wobei die numerische Steuereinheit ferner eine Roboterbewegungsbefehlseinheit umfasst, die dazu ausgebildet ist, dem Roboter auf Basis eines Roboterbewegungsbefehls, der in dem NC-Programm enthalten ist, den Start seiner Bewegung zu befehlen, und die Robotervorlaufpositionsberechnungseinheit 240 dazu ausgebildet ist, die Robotervorlaufposition auf Basis eines Zeitpunkts des Bewegungsstartbefehls, der dem Roboter durch die Roboterbewegungsbefehlseinheit erteilt wird, den Interpolationsebenen-Bewegungsdaten und der Vorlaufzeit zu berechnen.
  3. Kollisionsprüfsystem nach Anspruch 1 oder 2, wobei die numerische Steuereinheit dazu ausgebildet ist, eine von der Robotersteuereinheit erlangte oder gemeldete Zustandsinformation hinsichtlich des Roboters, die einen Index, der eine gegenwärtige Position des Roboters angibt, und einen Bewegungszustand des Roboters enthält, zu speichern, und die Robotervorlaufpositionsberechnungseinheit dazu ausgebildet ist, die Robotervorlaufposition auf Basis der Zustandsinformation, der Interpolationsebenen-Bewegungsdaten und der Vorlaufzeit zu berechnen.
  4. Kollisionsprüfsystem, umfassend eine numerische Steuereinheit, um den Antrieb einer Achse einer Maschine auf Basis eines Befehls von einem NC-Programm zu steuern, eine Robotersteuereinheit, um einen Roboter auf Basis eines Befehls von einem Lehrprogramm zu steuern, und eine Kollisionsprüfvorrichtung, die dazu ausgebildet ist, die Kollision zwischen der Maschine und dem Roboter zu prüfen, wobei die numerische Steuereinheit und die Robotersteuereinheit gemeinsam Interpolationsebenen-Bewegungsdaten verwenden, die durch das Aufzeichnen einer Positionsinformation für jede Interpolationsperiode der Maschine in Verbindung mit einem Index erhalten werden, und die Robotersteuereinheit eine Vorausschaueinheit, die dazu ausgebildet ist, Vorausschaublockbefehlsdaten aus dem Lehrprogramm zu lesen; eine Vorlaufzeitberechnungseinheit, die dazu ausgebildet ist, eine Vorlaufzeit zur Berechnung einer nächsten Vorlaufposition zu berechnen; eine Robotervorlaufpositionsberechnungseinheit, die dazu ausgebildet ist, eine Robotervorlaufposition, bei der es sich um eine Vorlaufposition der Achse des Roboters nach dem Ablauf der Vorlaufzeit seit einer Bezugszeit für die Kollisionsprüfung handelt, zu berechnen; und eine Maschinenvorlaufpositionsberechnungseinheit, die dazu ausgebildet ist, eine Maschinenvorlaufposition, bei der es sich um eine Vorlaufposition der Maschine nach dem Ablauf der Vorlaufzeit seit der Bezugszeit für die Kollisionsprüfung handelt, zu berechnen, umfasst, und wobei die Kollisionsprüfvorrichtung dazu ausgebildet ist, die Kollision zwischen dem Roboter und der Maschine auf Basis der Robotervorlaufposition und der Maschinenvorlaufposition zu prüfen.
  5. Kollisionsprüfsystem nach Anspruch 4, wobei die Robotersteuereinheit dazu ausgebildet ist, eine von der numerischen Steuereinheit erlangte oder gemeldete Zustandsinformation hinsichtlich der Maschine einschließlich eines Index, der eine gegenwärtige Position des Maschine angibt, zu speichern, und die Maschinenvorlaufpositionsberechnungseinheit dazu ausgebildet ist, die Maschinenvorlaufposition auf Basis der Zustandsinformation, der Interpolationsebenen-Bewegungsdaten und der Vorlaufzeit zu berechnen.
DE102016111595.9A 2015-06-29 2016-06-24 Kollisionsprüfsystem für eine Werkzeugmaschine und einen Roboter Active DE102016111595B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015129514A JP6200456B2 (ja) 2015-06-29 2015-06-29 工作機械とロボット間の干渉チェックシステム
JP2015-129514 2015-06-29

Publications (2)

Publication Number Publication Date
DE102016111595A1 true DE102016111595A1 (de) 2016-12-29
DE102016111595B4 DE102016111595B4 (de) 2019-02-14

Family

ID=57537183

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016111595.9A Active DE102016111595B4 (de) 2015-06-29 2016-06-24 Kollisionsprüfsystem für eine Werkzeugmaschine und einen Roboter

Country Status (4)

Country Link
US (1) US9862094B2 (de)
JP (1) JP6200456B2 (de)
CN (1) CN106292549B (de)
DE (1) DE102016111595B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019007579B4 (de) 2019-09-13 2023-11-09 Mitsubishi Electric Corporation Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5964472B1 (ja) * 2015-02-03 2016-08-03 ファナック株式会社 ロボットと工作機械の動作制限機能を有する加工システム
JP6259412B2 (ja) * 2015-03-19 2018-01-10 ファナック株式会社 複合形固定サイクルの往復旋削を行う数値制御装置
CN107479506B (zh) * 2017-09-04 2020-07-14 深圳市超时空机器人有限公司 一种基于机器人的数控装置、系统及加工方法
JP6640816B2 (ja) * 2017-11-01 2020-02-05 ファナック株式会社 加工システム
JP6838031B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御システム
JP6901454B2 (ja) 2018-10-31 2021-07-14 ファナック株式会社 数値制御装置
JP6838030B2 (ja) 2018-10-31 2021-03-03 ファナック株式会社 数値制御装置
JP7388870B2 (ja) 2019-10-18 2023-11-29 ファナック株式会社 ロボットシステムおよび制御装置
TW202236034A (zh) * 2021-03-10 2022-09-16 日商發那科股份有限公司 動作路徑生成裝置、數值控制裝置、數值控制系統、及電腦程式
US11878424B2 (en) 2021-12-06 2024-01-23 Fanuc Corporation Point set interference check

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006068857A (ja) 2004-09-02 2006-03-16 Fanuc Ltd ロボット間の干渉防止制御装置
JP2008027376A (ja) 2006-07-25 2008-02-07 Fanuc Ltd 数値制御装置
JP2010244256A (ja) 2009-04-03 2010-10-28 Fanuc Ltd 干渉チェック機能を有する数値制御装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2974183B2 (ja) * 1991-11-07 1999-11-08 オークマ株式会社 数値制御工作機械における干渉チェック装置
JPH0628019A (ja) * 1992-07-10 1994-02-04 Hitachi Seiki Co Ltd 数値制御工作機械のロボットプログラム呼出方法とその装置
JPH06149332A (ja) * 1992-11-06 1994-05-27 S G:Kk インターロック制御システム
JPH0852638A (ja) * 1994-08-15 1996-02-27 Toshiba Mach Co Ltd 干渉チェック方法および加工プログラムチェック方法および加工適否チェック方法
JP3640316B2 (ja) * 1995-01-26 2005-04-20 株式会社小松製作所 プレス機械とロボットの同期装置
JPH1083211A (ja) * 1997-09-26 1998-03-31 Fanuc Ltd 制御装置及びプログラミング方法
JP4578742B2 (ja) * 2001-09-27 2010-11-10 株式会社森精機製作所 干渉防止装置
JP2007172068A (ja) * 2005-12-19 2007-07-05 Fanuc Ltd 数値制御装置
JP2007219642A (ja) 2006-02-14 2007-08-30 Fanuc Ltd 制御システム
EP1901150B1 (de) * 2006-09-14 2008-10-29 Abb Research Ltd. Verfahren und Vorrichtung zur Vermeidung von Kollisionen zwischen einem Industrieroboter und einem Objekt
JP4298770B2 (ja) * 2007-08-28 2009-07-22 ファナック株式会社 干渉チェック機能を備えた数値制御装置
JP5123050B2 (ja) * 2008-05-21 2013-01-16 ファナック株式会社 ロボットおよびプレス機械を含むシステム、複数のロボットを含むシステム、ならびにそのようなシステムにおいて使用されるロボットの制御装置
US8577655B2 (en) * 2008-06-26 2013-11-05 Siemens Product Lifecycle Management Software Inc. System and method for constructing virtual NC controllers for machine tool simulation
CN101623867B (zh) * 2008-07-11 2010-12-01 中国科学院沈阳自动化研究所 一种使机器人高精度跟踪指定路径的设备和方法
JP2010218036A (ja) * 2009-03-13 2010-09-30 Fanuc Ltd ロボットオフラインプログラミング装置
JP4938119B2 (ja) * 2010-08-20 2012-05-23 ファナック株式会社 工具先端点位置を制御する多軸加工機用数値制御装置
JP5037704B2 (ja) * 2011-01-26 2012-10-03 ファナック株式会社 3軸加工機用ワーク設置誤差補正部を有する数値制御装置
JP5715195B2 (ja) * 2013-07-03 2015-05-07 ファナック株式会社 プログラム実行ペースを指定できるモーションコントローラ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006068857A (ja) 2004-09-02 2006-03-16 Fanuc Ltd ロボット間の干渉防止制御装置
JP2008027376A (ja) 2006-07-25 2008-02-07 Fanuc Ltd 数値制御装置
JP2010244256A (ja) 2009-04-03 2010-10-28 Fanuc Ltd 干渉チェック機能を有する数値制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019007579B4 (de) 2019-09-13 2023-11-09 Mitsubishi Electric Corporation Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät

Also Published As

Publication number Publication date
CN106292549A (zh) 2017-01-04
US20160375582A1 (en) 2016-12-29
CN106292549B (zh) 2018-12-28
US9862094B2 (en) 2018-01-09
JP6200456B2 (ja) 2017-09-20
JP2017016228A (ja) 2017-01-19
DE102016111595B4 (de) 2019-02-14

Similar Documents

Publication Publication Date Title
DE102016111595B4 (de) Kollisionsprüfsystem für eine Werkzeugmaschine und einen Roboter
DE102013100455B4 (de) Kompensationsvorrichtung für die thermische Versetzung in einer Werkzeugmaschine
DE102015110290B4 (de) Steuerung für eine Werkzeugmaschine
DE102017004366B4 (de) Numerische Steuervorrichtung
DE102016112668B4 (de) Wärmeversatzkorrekturvorrichtung für eine Werkzeugmaschine
DE102011055036A1 (de) Verfahren und Vorrichtung zum Kompensieren einer thermischen Versetzung in einer Werkzeugmaschine
DE102014003204A1 (de) Numerische Steuervorrichtung für eine Maschine mit einer Komponenteninspektionszeitgabebenachrichtigungsfunktion
DE102015104371A1 (de) Vorrichtung zur Korrektur einer thermischen Versetzung für eine Werkzeugmaschine
DE102014015007A1 (de) Numerische Steuerung mit Programm-Vorablesefunktion
DE102012000932A1 (de) Numerische Steuerungsvorrichtung mit einer Werkstückfehler-Kompensationseinheit für eine dreiachsige Werkzeugmaschine
DE102016007688A1 (de) Numerische Steuervorrichtung, die entsprechend einer Vorschubgeschwindigkeitsänderung eine dreidimensionale Interferenzprüfung durchführt
DE102017003904A1 (de) Numerische Steuerung
DE102015009871A1 (de) Numerische Steuereinheit mit Eckwegerzeugungsfunktion unter Berücksichtigung von Beschleunigung/Verlangsamung nach Interpolation
DE102015004930B4 (de) Numerische Steuervorrichtung für Maschinenwerkzeug
DE102016003049A1 (de) Numerische Steuerung zur Ausführung reziproken Drehens in komplex fixiertem Zyklus
DE102015002540B4 (de) Numerische Steuervorrichtung
DE102017001546A1 (de) Numerische steuerung mit kegelwinkelausgleichsfunktion einer kegelbearbeitung beim abstechen
DE102015013634A1 (de) Numerische Steuervorrichtung
DE102017001654A1 (de) Numerische Steuervorrichtung, die eine maschinelle Bearbeitungsbedingung gemäß maschinellen Bearbeitungsinformationen ändern kann
DE102013102656A1 (de) Schneidstrecken-berechnungseinrichtung für eine mehrachsen-werkzeugmaschine
DE102015011363A1 (de) Numerische steuerungsvorrichtung
DE102016012042B4 (de) Numerische Steuerung mit Positionierung zur Vermeidung einer Kollision mit einem Werkstück
DE102014008572B4 (de) Numerische Steuereinheit mit einer Funktion zum glatten bzw. sanften Ändern der Vorschubgeschwindigkeit, wenn ein Override geändert wird
DE102020003527A1 (de) Numerische Steuervorrichtung
DE102015011081A1 (de) Numerische Steuerungsvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: HL KEMPNER PATENTANWAELTE, SOLICITORS (ENGLAND, DE

Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE