-
Technisches Gebiet
-
Die Erfindung betrifft eine in eine numerisch gesteuerte Maschine eingebaute Kollisionsverhinderungsvorrichtung. Obwohl in der Zeichnung nicht direkt eine Werkzeugmaschine dargestellt ist, verfügt eine solche über einen Antriebsmechanismus, der dazu konfiguriert ist, die Relativposition zwischen einem Werkzeug und einem zu bearbeitenden Werkstück in zwei Richtungen, d. h. einer Z- und einer X-Achse, zu ändern.
-
Eine Programminterpretiereinheit 12 liest ein Teileprogramm 10 auf blockweiser Basis, um die numerisch gesteuerte Maschine zu steuern, und sie interpretiert Sollwertswerte wie einen Sollpfad und eine Sollvorschubgeschwindigkeit, und sie erzeugt dann von einer Funktionserzeugungseinheit 16 ausführbare Ausführungsdaten. Ein Puffer 14 speichert die von der Programminterpretiereinheit 12 erzeugten Ausführungsdaten. Der Puffer 14 fungiert als Vorrichtung, die die Ausführungsdaten vorübergehend speichern kann, wie sie vorab durch die oben beschriebene Interpretationsverarbeitung erzeugt werden, die relativ viel Zeit beansprucht. Der Puffer 14 kann die Zeitdifferenz in Bezug auf die zur Funktionserzeugung für einen Block benötigte Zeit verringern, und er kann eine gleichmäßige Ausführung der Verarbeitung realisieren.
-
Die Funktionserzeugungseinheit 16 liest die im Puffer 14 gespeicherten Ausführungsdaten auf fortlaufende Weise, und sie führt eine Interpolation mit konstanten Zeitintervallen (Funktionserzeugungsperioden) entlang dem in den Ausführungsdaten enthaltenen Sollpfad mit der Sollvorschubgeschwindigkeit aus, bis ein Interpolationspunkt eine durch die Ausführungsdaten gekennzeichnete Zielposition erreicht.
-
Die Funktionserzeugungseinheit 16 wandelt den Interpolationspunkt in einen Verstellsollwert für eine Funktionserzeugungsperiode, und er unterteilt ihn in Sollwerte für die X-Achse und die Z-Achse. Eine Antriebseinheit 17x für die X-Achse verfugt über eine Beschleunigungs/Verzögerungs-Einheit 18x. Die Antriebseinheit 17z für die Z-Achse verfügt über eine Beschleunigungs/Verzögerungs-Einheit 18z. Die Beschleunigungs/Verzögerungs-Einheiten 18x und 18z können eine Beschleunigungs-/Verzögerungsverarbeitung mit einer vorbestimmten Zeitkonstanten ausführen, ohne dass es irgendeinen überflüssigen Stoß auf ein Werkstück bei einem Bearbeitungsvorgang gäbe, und sie können Sollsignale an Servoeinheiten 20x bzw. 20z senden. Diese Servoeinheiten 20x und 20z führen abhängig von den zugeführten Sollwerten eine Regelung für jeweilige, die Maschine antreibende Motoren auf Grundlage von Messsignalen zugehöriger Detektoren (siehe Motor/Detektor 22x und Motor/Detektor 22z) aus.
-
Um zu verhindern, dass die Werkzeugmaschine mit irgendeinem Kollisionsobjekt zusammenstößt, führt die in der 6 dargestellte Vorrichtung für einen Zielblock keine Funktionserzeugungsverarbeitung aus, wenn ermittelt wird, dass im Zielblock eine Kollision auftreten kann, wenn die Werkzeugmaschine einen Vorgang entsprechend dem Teilprogramm 10 ausführt.
-
Eine Kollisionsprüfungseinheit 26 erstellt auf Grundlage von Modelldaten 24 in einem virtuellen Raum ein bewegliches Element, sie verstellt dann das konstruierte bewegliche Element entlang dem in den Ausführungsdaten enthaltenen Sollpfad, und sie prüft die Möglichkeit irgendeiner Kollision. Bei den Modelldaten 24 handelt es sich um eine Datengruppe, die Zahlenwerte enthält, die bewegliche Teile und variable Teile der Werkzeugmaschine repräsentieren, wie eine Änderung des Körpers der Werkzeugmaschine, von Vorschubwellen, von Werkzeugen und von Werkstücken. Die Kollisionsprüfungseinheit 26 ermittelt für jeden Block, ob eine Kollision auftreten kann, und sie speichert die vorhergesagte Kollisionsinformation fortlaufend als Teil der Ausführungsdaten im Puffer 14.
-
Eine Ausführungsverwaltungseinheit 28 veranlasst die Funktionserzeugungseinheit 16 dazu, eine Interpolationsverarbeitung auszuführen, wenn für einen aktuell ausgeführten Block keine Kollision erkannt wird. Andererseits hindert die Ausführungsverwaltungseinheit 28 die Funktionserzeugungseinheit 16 am Ausführen einer Interpolationsverarbeitung, wenn ermittelt wird, dass eine Kollision auftreten kann, und sie erzeugt ein Warnsignal.
-
Zitierungsliste
-
- Patentliteraturstelle 1: JP 2006-059 187 A
-
US 2008/0 024 083 A1 (nächstliegender Stand der Technik) zeigt eine numerische Steuerung, die ein bewegliches Teil einer Maschine entsprechend den Befehlen in einem Programm steuert und antreibt, wobei die Steuerung eine Aufprall-Prüfvorrichtung aufweist, die wiederholt eine Aufprall-Prüfverarbeitung vornimmt, um einen Zusammenstoß des beweglichen Teils mit anderen Objekten zu erkennen, damit die Bewegung des beweglichen Teils bis zum Stillstand abgebremst wird, falls die Aufprall-Prüfvorrichtung im Voraus den Zusammenstoß erkennt.
-
DE 10 2006 029 527 A1 zeigt eine Werkzeugmaschine zur Bearbeitung eines Werkstücks, wobei die Werkstückaufnahme und das Werkstück mit Hilfe von Antrieben relativ zueinander bewegbar sind, um eine Bearbeitung des Werkstücks zu ermöglichen. Die Antriebe werden von einer Steuereinheit mit Hilfe eines Steuerprogramms angesteuert. Gemäß einem Aspekt der Erfindung ist ein Simulationsrechner vorgesehen, der die relativen Bewegungen des Bearbeitungswerkzeugs und des Werkstücks unter Verwendung der Antriebssteuerdaten simuliert, um eine Kollisionsprüfung durchzuführen.
-
DE 101 14 811 A1 zeigt ein System und ein Verfahren zur Erstellung von mehrachsigen Bearbeitungsvorgängen an Werkstücken, wobei eine anlageninterne Behebung der Kollision vor der Durchführung des jeweils nächsten Bearbeitungs-Vorgangs herbeizuführen ist, und vorhandene Werkzeugmaschinen einbezogen und zur Kollisionsvermeidung genutzt werden. Dabei steht ein Modul zur Datenaufbereitung und -synchronisierung sowohl mit einem Hauptmodul zur Simulation von Bearbeitungs-Vorgängen als auch mit einem Modul zur Aufnahme kollisionsfreier Bearbeitungs-Bahnen in Verbindung, wobei im Hauptmodul zur Simulation von Bearbeitungsvorgängen ein volumendiskretes Simulationsmodul zur Vorschubgeschwindigkeitsoptimierung und ein kollisionserkennendes Simulationsmodul zur Volumenmodellierung verwendet werden.
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
Bei der in der 6 dargestellten, in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß der herkömmlichen Technik besteht das Problem, dass selbst dann, wenn ermittelt wird, dass keine Kollision auftritt, doch tatsächlich eine Kollision auftreten kann. Die durch die Kollisionsprüfungseinheit 26 zu prüfende Bahn ist der durch das Teileprogramm 10 angewiesene Pfad (siehe die 7a). Jedoch kann eine tatsächliche Bewegung der Maschine (bei einem tatsächlichen Verstellpfad eines durch Antriebsmotoren bewegten Werkzeugs) vom Sollpfad verschieden sein.
-
Die in der 6 dargestellte numerisch gesteuerte Maschine entspricht einem allgemeinen Typ mit mehreren Achsenantriebseinheiten, die dazu konfiguriert sind, auf Grundlage einer Funktionserzeugung eine Beschleunigungs-/Verzögerungsverarbeitung für jeweilige Achsen auszuführen. Jedoch stimmt, wie es in der 7b dargestellt ist, der Istverstellpfad nicht mit dem Sollpfad überein. Gemäß dem durch die 7b veranschaulichten Beispiel sind Verstellsollwerte kontinuierlich, und die Verstellrichtung ändert sich an einer Zwischenposition. In diesem Fall weicht eine tatsächliche Werkzeugbahn in der Nähe der Richtungsänderungsposition von einer Sollbahn ab, da die Vorrichtung für jede Achse unabhängig eine Beschleunigungs-/Verzögerungsverarbeitung ausführt. Daher kann selbst dann, wenn entlang dem Sollpfad keine Kollision erkannt wird, der Istverstellpfad auf Grund der oben angegebenen Differenz zu einer Kollision führen.
-
Der Erfindung liegt die Aufgabe zugrunde, eine Kollisionsverhinderungsvorrichtung zu schaffen, die unter Berücksichtigung der Möglichkeit, dass eine Istverstellbahn von einer Sollbahn abweichen kann, Kollisionen zuverlässig verhindern kann.
-
Lösung des Problems
-
Die Aufgabe wird gelöst durch eine Kollisionsverhinderungsvorrichtung gemäß Anspruch 1 bis 3.
-
Gemäß einer Ausführungsform der Vorrichtung nach Anspruch 3, ist die Kollisionsverhinderungsvorrichtung ferner mit Folgendem versehen: einer Erzeugungseinheit für die Abweichungsunterdrückungswarteanzahl, die das Ausmaß der Abweichung dadurch auswertet, dass sie die Funktionserzeugungseinheit und die Beschleunigungs/Verzögerungs-Verarbeitungseinheit für jede Achse simuliert und in der Abweichungsunterdrückungswarteanzahltabelle eine maximale Warteanzahl für den Start der Funktionserzeugung, die innerhalb der Toleranz liegt, registriert.
-
Vorteilhafte Effekte der Erfindung
-
Gemäß einer Erscheinungsform der Erfindung kann die Kollisionsverhinderungsvorrichtung eine Kollisionsprüfung für eine Verstellbahn ausführen, die von einer Sollbahn abweicht. Daher kann die Kollisionsverhinderungsvorrichtung die Möglichkeit einer beliebigen Kollision zuverlässig erkennen. Anders gesagt, führt das Verringern der Möglichkeit einer Kollision zum Effekt einer Erhöhung der Arbeitseffizienz der Maschine im Umfang beispielsweise der für eine Wiederherstellung (z. B. Reparatur der Maschine) erforderlichen Zeit, wodurch die Produktivität der Maschine erhöht wird.
-
Gemäß einer anderen Erscheinungsform der Erfindung führt die Kollisionsverhinderungsvorrichtung eine Kollisionsprüfung unter Berücksichtigung einer Verstellbahn aus, die von einer Sollbahn abweichen kann. Daher kann die Kollisionsverhinderungsvorrichtung, im Vergleich zur herkömmlichen Vorrichtung, die Möglichkeit irgendeiner Kollision zuverlässig erkennen. Anders gesagt, führt das Verringern der Möglichkeit einer Kollision zum Effekt einer Erhöhung der Arbeitseffizienz der Maschine entsprechend dem Umfang von, beispielsweise, der zur Wiederherstellung (z. B. Reparatur der Maschine) benötigten Zeit, weswegen die Produktivität der Maschine erhöht wird. Darüber hinaus kann die Kollisionsverhinderungsvorrichtung, gemäß einer anderen Erscheinungsform der Erfindung, das Ausmaß der für die Kollisionsprüfung benötigten Verarbeitung verringern und daher die Kosten für das Gerät verringern.
-
Kurze Beschreibung der Zeichnungen
-
1 ist ein Funktionsblockdiagramm, das ein Beispiel einer Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer ersten Ausführungsform zur allgemeinen Erläuterung zeigt.
-
2 ist ein Funktionsblockdiagramm, das ein Beispiel einer Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer zweiten Ausführungsform zur allgemeinen Erläuterung zeigt.
-
3 ist ein Funktionsblockdiagramm, das ein Beispiel einer Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer ersten Ausführungsform zeigt.
-
4 ist ein Funktionsblockdiagramm, das ein Beispiel einer Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer zweiten Ausführungsform zeigt.
-
5 ist ein Funktionsblockdiagramm, das ein Beispiel einer Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer dritten Ausführungsform zeigt.
-
6 ist ein Funktionsblockdiagramm, das ein Beispiel einer Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung entsprechend einem herkömmlichen Gerät.
-
7a zeigt ein Beispiel eines Sollpfads.
-
7b zeigt einen Istverstellpfad des herkömmlichen Geräts in Bezug auf den in der 7a darstellten Sollpfad.
-
8a veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der ersten Ausführungsform zur allgeinmen Erläuterung.
-
8b veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der ersten Ausführungsform zur allgemeinen Erläuterung.
-
8c veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der ersten Ausführungsform zur allgemeinen Erläuterung.
-
8d veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der ersten Ausführungsform zur allgemeinen Erläuterung.
-
9a veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der zweiten Ausführungsform zur allgemeinen Erläuterung.
-
9b veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der zweiten Ausführungsform zur allgemeinen Erläuterung.
-
9c veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der zweiten Ausführungsform zur allgemeinen Erläuterung.
-
9d veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der zweiten Ausführungsform zur allgemeinen Erläuterung.
-
9e veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der zweiten Ausführungsform zur allgemeinen Erläuterung.
-
10a veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der ersten Ausführungsform.
-
10b veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der ersten Ausführungsform.
-
10c veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der ersten Ausführungsform.
-
10d veranschaulicht Funktionen und Effekte der Kollisionsverhinderungsvorrichtung gemäß der ersten Ausführungsform.
-
11 ist ein Flussdiagramm zum Veranschaulichen eines Beispiels einer Verarbeitungsprozedur, wie sie durch die Erzeugungseinheit für eine Abweichungsunterdrückungswarteanzahltabelle ausgeführt werden kann.
-
12a veranschaulicht eine Verarbeitung, die durch die Erzeugungseinheit für die Abweichungsunterdrückungswarteanzahltabelle ausgeführt werden kann.
-
12b veranschaulicht eine Verarbeitung, die durch die Erzeugungseinheit für die Abweichungsunterdrückungswarteanzahltabelle ausgeführt werden kann.
-
12c veranschaulicht eine Verarbeitung, die durch die Erzeugungseinheit für die Abweichungsunterdrückungswarteanzahltabelle ausgeführt werden kann.
-
12d veranschaulicht eine Verarbeitung, die durch die Erzeugungseinheit für die Abweichungsunterdrückungswarteanzahltabelle ausgeführt werden kann.
-
12e veranschaulicht eine Verarbeitung, die durch die Erzeugungseinheit für die Abweichungsunterdrückungswarteanzahltabelle ausgeführt werden kann.
-
Beschreibung von Ausführungsformen
-
Die 1 zeigt eine Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer Ausführungsform zur allgemeinen Erläuterung der Erfindung. In der 1 sind Aufbaukomponenten, die denen der in der 6 dargestellten herkömmlichen Technik ähnlich sind, unter Verwendung derselben Bezugszahlen und Namen gekennzeichnet.
-
Die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung kann eine Kollisionsprüfung für eine Sollbahn entsprechend einem Verfahren ausführen, das demjenigen ähnlich ist, das für die herkömmliche Technik beschrieben wurde. Wenn ermittelt wird, dass in einem Zielblock eine Kollision auftreten kann, führt die Kollisionsverhinderungsvorrichtung für den Zielblock keine Funktionserzeugungsverarbeitung aus, und sie stoppt ein Bearbeitungswerkzeug, bevor dieses mit einem Kollisionsobjekt kollidiert. Wenn ermittelt wird, dass im Zielblock keine Kollision auftritt, führt die Kollisionsverhinderungsvorrichtung die Funktionserzeugungsverarbeitung für den Zielblock aus, und sie gibt für jede Funktionserzeugungsperiode einen Verstellsollwert aus.
-
Die Kollisionsverhinderungsvorrichtung gemäß der oben beschriebenen herkömmlichen Technik liefert in jeder Funktionserzeugungsperiode einen durch die Funktionserzeugungseinheit 16 erzeugten Verstellsollwert an die jeweiligen Achsenantriebseinheiten 17x und 17z. Andererseits liefert die Kollisionsverhinderungsvorrichtung der vorliegenden Ausführungsform zur allgemeinen Erläuterung den Verstellsollwert an eine Beschleunigungs/Verzögerungs-Simulationseinheit 30 und eine Verzögerungseinheit 32.
-
Die Verzögerungseinheit 32 führt für einen in jeder Funktionserzeugungsperiode erzeugten Verstellsollwert eine Zwischenspeicherung aus, und sie gibt die zuvor mit einer vorbestimmten Zeitkonstante gespeicherten Verstellsollwerte aus. Bei dieser Ausführungsform zur allgemeinen Erläuterung ist die Zeitkonstante mit derjenigen vergleichbar, die von den Beschleunigungs/Verzögerungs-Einheiten 18x und 18z in den Achsenantriebseinheiten 17x und 17z verwendet werden. Kurz gesagt, kann die Verzögerungseinheit 32 jeden von der Funktionserzeugungseinheit 16 empfangenen Verstellsollwert um einen der Zeitkonstante entsprechenden Wert verzögern.
-
Die Beschleunigungs/Verzögerungs-Simulationseinheit 30 führt eine Verarbeitung aus, die derjenigen ähnlich ist, wie sie von den in den jeweiligen Achsenantriebseinheiten 17x und 17z vorhandenen Beschleunigungs/Verzögerungs-Einheiten 18x und 18z ausgeführt wird. Obwohl es in den Zeichnungen nicht dargestellt ist, unterteilt die Beschleunigungs/Verzögerungs-Simulationseinheit 30 den Verstellsollwert in eine Komponente für die X-Achse und eine Komponente für die Z-Achse, und sie führt für die jeweiligen Achsen eine Beschleunigungs-/Verzögerungsverarbeitung auf eine Weise aus, die derjenigen ähnlich ist, wie sie durch die jeweiligen Achsenantriebseinheiten 17x und 17z ausgeführt wurde. Im Allgemeinen wird eine Abweichung einer Verstellbahn in Bezug auf eine Sollbahn durch für die jeweiligen Achsen unabhängige Beschleunigungs-/Verzögerungsverarbeitungen verursacht. Daher verfügt die Beschleunigungs/Verzögerungs-Simulationseinheit 30 gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung über eine Funktion des vorab erfolgenden Prüfens der Verstellbahn.
-
An der durch die Beschleunigungs/Verzögerungs-Simulationseinheit 30 erhaltenen Verstellbahn führt eine zweite Kollisionsprüfungseinheit 34 eine Kollisionsprüfung aus. Die zweite Kollisionsprüfungseinheit 34 ist der Kollisionsprüfungseinheit 26 hinsichtlich des Inhalts der auszuführenden Verarbeitung ähnlich, wobei jedoch die einzugebende Bahn eine andere ist. Die zweite Kollisionsprüfungseinheit 34 gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung bestimmt die Möglichkeit irgendeiner Kollision, wie sie auftreten kann, auf Grundlage von Modelldaten (nicht dargestellt).
-
Wenn ermittelt wird, dass eine Kollision auftreten kann, informiert die zweite Kollisionsprüfungseinheit 34 eine Verstellsollwert-Blockiereinheit 36 über die Möglichkeit der erkannten Kollision. In diesem Fall blockiert die Verstellsollwert-Blockiereinheit 36 einen von der Verzögerungseinheit 32 auszugebenden Verstellsollwert. Wenn kein Verstellsollwert zugeführt wird, bleibt die Werkzeugmaschine an der durch den letzten Verstellsollwert spezifizierten Position stehen.
-
Wenn ermittelt wird, dass keine Kollision auftritt, informiert die zweite Kollisionsprüfungseinheit 34 die Verstellsollwert-Blockiereinheit 36 darüber, dass keine Möglichkeit existiert, dass eine Kollision hervorgerufen werden könnte. In diesem Fall liefert die Verstellsollwert-Blockiereinheit 36 den von der Verzögerungseinheit ausgegebenen Verstellsollwert, ohne ihn zu blockieren, an die jeweiligen Achsenantriebseinheiten 17x und 17z. Daher kann sich die Werkzeugmaschine kontinuierlich in den Richtungen sowohl der X-Achse als auch der Z-Achse bewegen.
-
Nachfolgend wird unter Bezugnahme auf die 8a bis 8d eine Betriebsweise der Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung beschrieben, wie sie in einer durch die 7b veranschaulichten Situation auszuführen ist. Bei der vorliegenden Ausführungsform zur allgemeinen Erläuterung verfügen die Beschleunigungs/Verzögerungs-Einheiten 18x und 18z und die Beschleunigungs/Verzögerungs-Simulationseinheit 30 über eine ähnliche Zeitkonstante, die aus acht Perioden besteht.
-
Im dargestellten Fall tritt im ersten Block N010 eine Kollision auf (d. h. in einem Sollpfad, der sich von einer Position P[–1] bis zu einer Position P[0] erstreckt). Wenn ermittelt wird, dass im Block N010 irgendeine Kollision auftreten könnte, führt die Funktionserzeugungseinheit 16 für diesen Block N010 keine Funktionserzeugungsverarbeitung aus. Daher stoppt die Werkzeugmaschine an der Position P[–1]. Da im Block N010 keine Kollision auftritt, führt die Funktionserzeugungseinheit 16 für diesen Block N010 eine Funktionserzeugungsverarbeitung aus, so dass sich die Werkzeugmaschine von der Position P[–1] zur Position P[0] bewegen kann. Die Funktionserzeugungseinheit 16 gibt in sequenziellen Funktionserzeugungsperioden fortlaufend Sollwerte (d. h. ...Q[–3], Q[–2], Q[–1] und Q[0] an die Verzögerungseinheit 32 und die Beschleunigungs/Verzögerungs-Simulationseinheit 30 aus.
-
Die Beschleunigungs/Verzögerungs-Simulationseinheit 30 empfängt die Sollwerte (d. h. ...Q[–2], Q[–1] und Q[0]) in jeweiligen Funktionserzeugungsperioden, und sie führt fortlaufend eine Beschleunigungs-/Verzögerungsverarbeitung aus und gibt Sollpositionen (d. h. ...R[–2], R[–1] und R[0]) an die zweite Kollisionsprüfungseinheit 34 aus.
-
Die zweite Kollisionsprüfungseinheit 34 prüft, in jeweiligen Funktionserzeugungsperioden, auf irgendwelche Kollisionen, die im Pfad auftreten können, der die Sollpositionen R[–3] → R[–2], R[–2] → R[–1] und R[–1] → R[0] verbindet. Beim dargestellten Beispiel tritt entlang dem Simulationspfad keine Kollision auf. Daher überträgt die Verstellsollwert-Blockiereinheit 36 jedes Ausgangssignal der Verzögerungseinheit 32 an die jeweiligen Achsenantriebseinheiten 17x und 17z. Das Ausgangssignal der Verzögerungseinheit 32 ist ein Sollwert, der um eine vorbestimmte Zeit, die der Zeitkonstante (d. h. acht Perioden) entspricht, zuvor empfangen wurde. Das heißt, dass die Verzögerungseinheit 32 die Sollwerte ...Q[–10] → Q[–9] → Q[–8] aufeinanderfolgend ausgibt. Die 8a veranschaulicht ein Ergebnis der Funktionserzeugungsverarbeitung für den Block N010. In der 8a kennzeichnet eine Darstellung des Werkzeugs den Zustand der Kollisionsprüfung in der Funktionserzeugungsperiode für Q[0], d. h. auf dem Pfad, der sich von der Position R[–1] zur Position R[0] erstreckt. In der 8a sind die an die jeweiligen Achsenantriebseinheiten 17x und 17z ausgegebenen Sollpositionen Q[–10], Q[–9] und Q[–8] durch weiße Kreise gekennzeichnet. Genauer gesagt, ist zum in der 8a veranschaulichten Zeitpunkt das Ziel, das der Kollisionsprüfung durch die zweite Kollisionsprüfungseinheit 34 in der Funktionserzeugungsperiode für Q[0] zu unterziehen ist, der Pfad, der sich von der Position R[–1] zur Position R[0] erstreckt. In diesem Fall gibt die Motoreinheit 22 den Sollwert Q[–8] aus, der zu keinerlei Kollision führt. Daher überträgt die Verstellsollwert-Blockiereinheit 36 den Sollwert Q[–8] an die jeweiligen Achsenantriebseinheiten 17x und 17z.
-
Im vorliegenden Fall tritt im nächsten Block N011 keine Kollision auf (d. h. im Sollpfad, der sich von der Position P[0] zu einer Position P[1] erstreckt). Daher startet die Funktionserzeugungseinheit 16 die Funktionserzeugungsverarbeitung für den nächsten Block N011. Auf dem die Positionen R[0] → R[1] → R[2] verbindenden Simulationspfad tritt zum Zeitpunkt, zu dem die Funktionserzeugungsverarbeitung für den Sollwert Q[2] abgeschlossen ist, keine Kollision auf. Daher überträgt, wie oben beschrieben, die Verstellsollwert-Blockiereinheit 36 die Sollwerte Q[–8], Q[–7] und Q[–6] aufeinanderfolgend an die jeweiligen Achsenantriebseinheiten 17x und 17z. Die 8b veranschaulicht das Ergebnis der Operation zum Zeitpunkt, zu dem die Funktionserzeugung für Q[2] im Block N011 abgeschlossen ist. In der 8b kennzeichnet eine Darstellung des Werkzeugs den Zustand der Kollisionsprüfung. In der 8b sind die an die jeweiligen Achsenantriebseinheiten 17x und 17z ausgegebenen Sollpositionen Q[–7] und Q[–6] durch weiße Kreise gekennzeichnet. Genauer gesagt, entsprechen, zum in der 8b veranschaulichten Zeitpunkt, Ziele, die der Kollisionsprüfung durch die zweite Kollisionsprüfungseinheit 34 in den Funktionserzeugungsperioden für Q[1] und Q[2] zu unterziehen sind, dem sich von der Position R[0] zur Position R[1] erstreckenden Pfad bzw. dem sich von der Position R[1] zur Position R[2] erstreckenden Pfad. Die diesen Zielen entsprechenden Ausgangssignale der Verzögerungseinheit 32 sind die Sollwerte Q[–7] und Q[–6]. Daher tritt keine Kollision auf. Die Verstellsollwert-Blockiereinheit 36 überträgt die Sollwerte Q[–7] und Q[–6] an die jeweiligen Achsenantriebseinheiten 17x und 17z.
-
Dann gibt die Funktionserzeugungseinheit 16 in der nächsten Funktionserzeugungsverarbeitung einen Sollwert Q[3] aus, und sie erhält einen Simulationspfad, der sich von der Position R[2] zur Position R[3] erstreckt. Jedoch erkennt, gemäß dem dargestellten Beispiel, die zweite Kollisionsprüfungseinheit 34 eine Kollision, wie sie auf dem erhaltenen Simulationspfad auftreten kann (siehe die 8c). In diesem Fall empfängt die Verstellsollwert-Blockiereinheit 36 von der zweiten Kollisionsprüfungseinheit 34 eine Mitteilung betreffend die mögliche Kollision. Die Verstellsollwert-Blockiereinheit 36 hindert die Verzögerungseinheit 32 daran, vom Sollwert Q[–6] auf einen Sollwert Q[–5] zu wechseln. Genauer gesagt, bleibt der an die jeweiligen Achsenantriebseinheiten 17x und 17z gelieferte Positionssollwert gleich (d. h. Q[–6]. Da die Maschine diesen Zustand beibehält, wenn die Verstellsollwert-Blockiereinheit 36 einmal das Ausgangssignal der Verzögerungseinheit 32 blockiert hat, konvergiert die Bewegung der Werkzeugmaschine auf Q[–6] und stoppt dort. Wie es in der 8d dargestellt ist, bleibt die Istposition des Werkzeugs die dem Sollwert Q[–6] entsprechende Position. Anders gesagt, kann die vorliegende Ausführungsform zur allgemeinen Erläuterung verhindern, dass das Bearbeitungswerkzeug mit irgendeinem Kollisionsobjekt auf dem Istverstellpfad kollidiert.
-
Die 2 zeigt eine Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer anderen Ausführungsform zur allgemeinen Erläuterung der Erfindung. In der 2 sind Baukomponenten, die denen der in der 6 dargestellten herkömmlichen Technik ähnlich sind, unter Verwendung derselben Bezugszahlen und Namen gekennzeichnet.
-
Ähnlich wie das oben beschriebene herkömmliche Gerät führt die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung entlang einer Sollbahn eine Kollisionsprüfung aus. Zusätzlich führt die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung eine Kollisionsprüfung entlang einer abgewichenen Verstellbahn aus. Zu diesem Zweck wählt die unten beschriebene lokale Simulationseinheit 40 die der Kollisionsprüfung zu unterziehende abgewichene Verstellbahn aus mehreren zuvor erhaltenen Bahnen aus. In diesem Fall liegt die durch die lokale Simulationseinheit 40 auszuwählende abgewichene Verstellbahn in einem vorbestimmten, zulässigen Bereich.
-
Im Ergebnis führt, wenn ermittelt wird, dass in einem Zielblock irgendeine Kollision auftreten kann, die Kollisionsverhinderungsvorrichtung keine Funktionserzeugungsverarbeitung für den Zielblock aus, sondern sie stoppt das Bearbeitungswerkzeug, bevor es mit einem Kollisionsobjekt kollidiert. Wenn ermittelt wird, dass im Zielblock keine Kollision auftritt, führt die Kollisionsverhinderungsvorrichtung die Funktionserzeugungsverarbeitung für den Zielblock aus, und sie gibt für jede Funktionserzeugungsperiode einen Verstellsollwert aus.
-
Nachfolgend wird unter Bezugnahme auf die 9a bis 9d der Betrieb der Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung beschrieben, wie er auszuführen ist, wenn durch das Teileprogramm 10 ein in der 7a dargestellter Pfad angewiesen wird.
-
Die lokale Simulationseinheit 40 enthält eine lokale Funktionserzeugungs-Simulationseinheit 42 und eine lokale Beschleunigungs/Verzögerungs-Simulationseinheit 44. Die lokale Funktionserzeugungs-Simulationseinheit 42 kann entsprechend einem Verfahren, das dem durch die Funktionserzeugungseinheit 16 verwendeten ähnlich ist, eine Interpolation entlang einem Sollverstellpfad ausführen. Die durch die lokale Funktionserzeugungs-Simulationseinheit 42 auszuführende Interpolation ist auf die Zielposition P[0] und deren Umgebung eingeschränkt. Diesbezüglich unterscheidet sich die lokale Funktionserzeugungs-Simulationseinheit 42 von der Funktionserzeugungseinheit 16, die eine Interpolation für den gesamten Sollbereich des Zielblocks ausführt. Wie es in der 9a dargestellt ist, führt die lokale Funktionserzeugungs-Simulationseinheit 42 eine Interpolation in einem begrenzten Bereich aus, der sich um einen einer Beschleunigungs/Verzögerungs-Zeitkonstante T entsprechenden Wert von der Zielposition P[0] in der Richtung zu P[–1] hin, erstreckt, sowie in einem eingeschränkten Bereich, der sich um denselben, der Beschleunigungs/Verzögerungs-Zeitkonstante T entsprechenden Wert von der Zielposition P[0] in der Richtung zu P[+1] hin erstreckt. So kann die lokale Funktionserzeugungs-Simulationseinheit 42 Interpolationspunkte im Bereich von Q[–T] bis Q[+T] bestimmen. Gemäß dem in der 9a dargestellten Beispiel entspricht die Beschleunigungs/Verzögerungs-Zeitkonstante T dem Wert 8 (d. h. T = 8).
-
Die lokale Beschleunigungs/Verzögerungs-Simulationseinheit 44 führt an den Interpolationspunkten eine Beschleunigungs-/Verzögerungsverarbeitung entsprechend einem Verfahren aus, das dem durch die Beschleunigungs/Verzögerungs-Einheiten 18x und 18z verwendeten ähnlich ist. Bei dieser Beschleunigungs-/Verzögerungsverarbeitung verwendet die lokale Beschleunigungs/Verzögerungs-Simulationseinheit 44 eine Beschleunigungs/Verzögerungs-Zeitkonstante, die derjenigen ähnlich ist, die von den Beschleunigungs/Verzögerungs-Einheiten 18x und 18z verwendet wird, um die gesamte Verarbeitung für jeweilige Achsen betreffend die Beschleunigung/Verzögerung auszuführen. Die lokale Beschleunigungs/Verzögerungs-Simulationseinheit 44 führt für jeden in der 9b dargestellten Interpolationspunkt Q eine Beschleunigungs-/Verzögerungsverarbeitung aus. Anders gesagt, führen die Beschleunigungs/Verzögerungs-Einheiten 18x und 18z fortlaufend im gesamten Sollbereich des Zielblocks eine Beschleunigungs-/Verzögerungsverarbeitung an interpolierten Positionen aus. Im Ergebnis kann die lokale Beschleunigungs/Verzögerungs-Simulationseinheit 44 der Beschleunigungs-/Verzögerungsverarbeitung unterzogene Sollpunkte R[–T'] bis R[+T'] bestimmen, wie in der 9b dargestellt (bei der vorliegenden Ausführungsform zur allgemeinen Erläuterung gilt T' = T/2).
-
Der Grund, weswegen die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung zwei ”lokale” Simulationseinheiten enthält, wie oben beschrieben, ist der, dass eine ”Abweichung” nur in der Nähe einer Position auftritt, in der ein Wechsel der Verstellrichtung erfolgt, und dass die Verstellbahn an einem entfernten Ort mit der Sollbahn übereinstimmt. Daher ist es überflüssig, die Simulation an einem derart entfernten Ort vorab auszuführen.
-
Eine Prüfziel-Auswähleinheit 46 wählt aus den Sollpunkten R[–T'] bis R[+T'] solche Sollpunkte aus, die der Kollisionsprüfung zu unterziehen sind. Die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung stellt einen Toleranzwert bereit, der dazu verwendet werden kann, eine Bahn als gerade Linie anzusehen (d. h., es handelt sich um einen Linearisierungstoleranzwert 48). Die Prüfziel-Auswahleinheit 46 schließt jeden Punkt innerhalb des zulässigen Bereichs aus den Kandidaten aus, die der Kollisionsprüfung zu unterziehen sind. Demgemäß kann die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung die für die Kollisionsprüfung erforderliche Berechnungszeit verkürzen. Nachfolgend wird ein detailliertes Verfahren beschrieben. Die Prüfziel-Auswähleinheit 46 liefert die ausgewählten Sollpunkte als geraden Pfad, der in der Verstellrichtung ausgerichtet ist, an die Kollisionsprüfungseinheit 26.
-
Die Kollisionsprüfungseinheit 26 führt eine Kollisionsprüfung auf Grundlage des eingegebenen Pfads und auf Grundlage von Positionsdaten entsprechend einem Verfahren aus, das demjenigen ähnlich ist, wie es bei der in der 6 dargestellten herkömmlichen Technik verwendet wird.
-
Ähnlich wie bei der oben beschriebenen Verarbeitung für die Zielposition P[0] kann die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung fortlaufend eine Kollisionsprüfungsverarbeitung für alle durch das Teileprogramm 10 spezifizierten Zielpositionen P ausführen.
-
Die Prüfziel-Auswähleinheit 46 wählt Sollpunkte gemäß dem folgenden Verfahren aus. Als Erstes sieht, wenn der Abstand zwischen P[0] und R[0] den Linearisierungstoleranzwert 48 entspricht oder kleiner ist (wenn eine Abweichung extrem klein ist), die Prüfziel-Auswähleinheit 46 nur den Sollpunkt P[0] des Programms als Prüfziel an. (Das erzielte Ergebnis ist dem bei der herkömmlichen Technik ähnlich) Wenn der Abstand zwischen P[0] und R[0] größer als der Linearisierungstoleranzwert 48 ist, wählt die Prüfziel-Auswähleinheit 46 aus der Gruppe der Punkte R Prüfziele aus. In diesem Fall wählt die Prüfziel-Auswähleinheit 46 die beiden Endpunkte R[–T'] und R[+T'] im Verarbeitungsbereich als Prüfziele aus, da diese Endpunkte bei der folgenden Verarbeitung als Start- und als Endpunkt dienen. Dann startet die Prüfziel-Auswähleinheit 46 die Verarbeitung gemäß einem Zweiteilungsverfahren, bei dem die zwei Punkte R[–T'] und R[+T'] als Anfangswerte eingestellt sind. Als Erstes erhält die Prüfziel-Auswähleinheit 46 den Abstand vom zentralen Punkt R[0] (d. h., dem Mittelpunkte, wie er zwischen den oben angegebenen Punkten R[–T'] und R[+T'] vorhanden ist) zu einem Liniensegment R[–T']·R[+T'] (d. h., eine gerade Linie, die die oben beschriebenen Punkte R[–T'] und R[+T'] verbindet). Wenn der erhaltene Abstand dem Linearisierungstoleranzwert 48 entspricht, wählt die Prüfziel-Auswähleinheit 46 den Punkt R[0] nicht als Prüfziel aus, und sie beendet die Verarbeitung.
-
Wenn der erhaltene Abstand größer als der Linearisierungstoleranzwert 48 ist, wählt die Prüfziel-Auswähleinheit 46 den Punkt R[0] als Prüfziel aus. Ferner führt die Prüfziel-Auswähleinheit 46 im ersten Teil vom Punkt R[–T'] zum Punkt R[0] eine ähnliche Verarbeitung aus, um in diesem Bereich existierende Punkte R zu prüfen. Parallel dazu fuhrt die Prüfziel-Auswähleinheit 46 eine ähnliche Verarbeitung im zweiten Teil im Bereich vom Punkt R[0] zum Punkt R[+T'] aus, um in diesem Bereich existierende Punkte R zu prüfen. Die Prüfziel-Auswähleinheit 46 beendet die oben beschriebene Verarbeitung gemäß dem Zweiteilungsverfahren, wenn der zwischen zwei Endpunkten existierende Mittelpunkt nicht als Prüfziel ausgewählt wird oder wenn kein zu prüfender Mittelpunkt vorliegt.
-
9c veranschaulicht ein praktisches Beispiel. Wenn der Linearisierungstoleranzwert 48 der durch einen Pfeil Th gekennzeichneten Länge entspricht, wählt die Prüfziel-Auswähleinheit 46 aus der Gruppe der Punkte R als Prüfziele diejenigen Punkte aus, die jeweils durch eine schwarze Rhomboedermarkierung ♦ gekennzeichnet sind. Beispielsweise ist der Abstand d2 zwischen dem Punkt R[–2] und dem Liniensegment R[–4]·R[0] kleiner als der Linearisierungstoleranzwert (Th). Daher wählt die Prüfziel-Auswähleinheit 46 den Punkt R[–2] nicht als Prüfziel aus.
-
Als Ergebnis der oben beschriebenen, von der Prüfziel-Auswähleinheit 46 ausgeführten Verarbeitung kann die Kollisionsprüfungseinheit 26 gemäß der vorliegenden Ausführungsform zur allgemeinen Erläuterung eine Kollisionsprüfung entlang einem in der 9d fett gekennzeichneten Pfad P[–1] → R[–4] → R[0] → R[4] ausführen. Anders gesagt, kann die Kollisionsprüfungseinheit 26 eine Kollisionsprüfung entlang einem Pfad ausführen, der benachbart zu einem Istverstellpfad des Werkzeugs liegt.
-
Die 3 zeigt eine Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer anderen Ausführungsform der Erfindung, die den Anspruch 1 betrifft. In der 3 sind Baukomponenten, die denen bei der in der 6 dargestellten herkömmlichen Technik ähnlich sind, unter Verwendung derselben Bezugszahlen und Namen gekennzeichnet.
-
Ähnlich wie das oben beschriebene herkömmliche Gerät führt die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform eine Kollisionsprüfung an einer Sollbahn aus. Wenn ermittelt wird, dass in einem Zielblock eine Kollision auftreten kann, führt die Kollisionsverhinderungsvorrichtung keine Funktionserzeugungsverarbeitung für den Zielblock aus, sondern sie stoppt das Bearbeitungswerkzeug, bevor es mit einem Kollisionsobjekt kollidiert. Wenn andererseits ermittelt wird, dass im Zielblock keine Kollision auftritt, führt die Kollisionsverhinderungsvorrichtung eine Funktionserzeugungsverarbeitung entlang einem Pfad aus, der durch die unten beschriebene Sollpfad-Änderungseinheit 56 gemäß der Erfindung verändert wurde, und sie gibt für jede Funktionserzeugungsperiode einen Verstellsollwert aus.
-
Eine Simulationseinheit 50 enthält eine Funktionserzeugungs-Simulationseinheit 52 und eine Beschleunigungs/Verzögerungs-Simulationseinheit 54. Die Funktionserzeugungs-Simulationseinheit 52 führt eine Verarbeitung aus, die derjenigen ähnlich ist, wie sie von der Funktionserzeugungseinheit 16 gemäß der oben beschriebenen herkömmlichen Technik ausgeführt wird. Die Beschleunigungs/Verzögerungs-Simulationseinheit 54 führt eine Verarbeitung aus, die derjenigen ähnlich ist, wie sie von den in den Achsenantriebseinheiten 17x und 17z vorhandenen Beschleunigungs/Verzögerungs-Einheiten 18x und 18z ausgeführt wird. Die Simulationseinheit 50 kann eine Abweichung einer Verstellbahn in Bezug auf eine Sollbahn abschätzen.
-
Die Sollpfad-Änderungseinheit 56 erhält die Differenz zwischen der von der Funktionserzeugungs-Simulationseinheit 52 ausgegebenen Sollbahn und der ”abweichenden” Verstellbahn, wie sie durch die Beschleunigungs/Verzögerungs-Simulationseinheit 54 erhalten wird. Dann erzeugt die Sollpfad-Änderungseinheit 56 auf Grundlage der erhaltenen Differenz eine neue Sollbahn, um die abgeschätzte ”Abweichung” zu beseitigen. Wenn die Kollisionsprüfungseinheit 26 ermittelt, dass keine Kollision auftritt, erzeugt die Funktionserzeugungseinheit 16 funktionsgemäß die neue Sollbahn. Wenn die Kollisionsprüfungseinheit 26 ermittelt, dass eine Kollision auftreten könnte, hindert die Ausführungsverwaltungseinheit 28 die Funktionserzeugungseinheit 16 am Ausführen der Interpolationsverarbeitung, und sie erzeugt auf ähnliche Weise wie bei der herkömmlichen Technik eine Warnung.
-
Nachfolgend wird unter Bezugnahme auf die 10a bis 10d eine Betriebsweise der Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform beschrieben, wie sie in der in der 7b veranschaulichten Situation auszuführen ist. Bei der vorliegenden Ausführungsform verfügen die Beschleunigungs/Verzögerungs-Einheiten 18x und 18z und die Beschleunigungs/Verzögerungs-Simulationseinheit 54 über eine ähnliche Zeitkonstante aus acht Perioden.
-
Die 10a veranschaulicht ein Simulationsergebnis, wie es durch die oben beschriebenen Simulationseinheiten 52 und 54 erzeugt wird, wobei jedoch der dargestellte Bereich auf die Daten in der Nähe des Punkts P[0] eingeschränkt ist. Die Programminterpretiereinheit 12 interpretiert sowohl den Block N010 als auch den Block N011, um funktionsgemäß erzeugte Pfaddaten sowie Ausführungsdaten in Bezug auf die Vorschubgeschwindigkeit zu bestimmen. Die Funktionserzeugungs-Simulationseinheit 52 führt auf Grundlage der durch die Programminterpretiereinheit 12 bestimmten Daten eine Funktionserzeugung aus, und sie gibt eine Gruppe von Punkten Q[n] aus. Die Beschleunigungs/Verzögerungs-Simulationseinheit 54 führt an dieser Gruppe von Punkten Q[n] eine Beschleunigungs-/Verzögerungsverarbeitung aus, um eine Gruppe von Punkten R[n] auszugeben.
-
Die Sollpfad-Änderungseinheit 56 empfängt die Gruppe der Punkte Q[n] und die Gruppe der Punkte R[n], wie in der 10a dargestellt, und sie misst für jeden Punkte Q die Abweichung. Die Abweichung für jeden der Punkt Q kann als Abstand vom Punkt Q zu einem Pfad, der zueinander benachbarte Punkte R verbindet, definiert werden. Ein in der 10b dargestellter Vektor S[n] repräsentiert die gemessene Abweichung für den Punkt Q. In der 10b zeigen die Punkte Q[–5], Q[–4], Q[4] und Q[5] keine Abweichung (d. h., Abweichung = 0), während die Punkte Q[–3], Q[–2], Q[2] und Q[3] kleine und vernachlässigbare Abweichungen aufweisen (in der 10b nicht dargestellt).
-
Anschließend addiert die Sollpfad-Änderungseinheit 56 zu jedem Punkt Q[n] einen Vektor S'[n], um einen Punkt T[n] zu erzeugen. In diesem Fall zeigen der Vektor S'[n] und der Vektor S[n] dieselbe Größe, aber entgegengesetzte Richtungen, wie es in der 10c dargestellt ist.
-
Die Sollpfad-Änderungseinheit 56 ersetzt die durch das Teilprogramm 10 definierte Sollbahn durch die durch die Gruppe der Punkte T definierte Bahn. Die Gruppe der Punkte T wird im Puffer 14 als neue Bahn gespeichert. Die Funktionserzeugungseinheit 16 führt für die durch die Gruppe der Punkte T definierte neue Bahn eine Funktionserzeugung aus, und sie gibt die neue Bahn an die jeweiligen Achsenantriebseinheiten 17x und 17z aus. Die Achsenantriebseinheiten 17x und 17z führen für die neue Bahn eine Beschleunigungs-/Verzögerungsverarbeitung aus, um eine neue Verstellbahn zu erhalten (d. h. einen Pfad, der aufeinanderfolgenden Punkte verbindet, die in der 10d jeweils durch eine schwarze Rhomboedermarkierung ♦ gekennzeichnet ist), deren Abweichung ausreichend kleiner als die der Sollbahn gemäß dem Programm ist. Kurz gesagt, kann die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform den Abweichungswert einer Istverstellbahn relativ zur durch das Teileprogramm 10 definierten Sollbahn verringern. Daher kann, im Vergleich zum herkömmlichen Gerät, die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform selbst dann, wenn die Kollisionsprüfungseinheit 26 für die durch das Teileprogramm 10 definierte Sollbahn eine Kollisionsprüfung ausführt, zuverlässig verhindern, dass das Bearbeitungswerkzeug mit irgendeinem Kollisionsobjekt kollidiert.
-
Die 4 zeigt die Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer anderen Ausführungsform der Erfindung, die den Anspruch 2 betrifft. In der 4 sind Baukomponenten, die denen der in der 6 dargestellten herkömmlichen Art ähnlich sind, unter Verwendung derselben Bezugszahlen und Namen gekennzeichnet.
-
Ähnlich wie beim oben beschriebenen herkömmlichen Gerät führt die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform eine Kollisionsprüfung entlang einer Sollbahn aus. Wenn ermittelt wird, dass in einem Zielblock eine Kollision auftreten kann, führt die Kollisionsverhinderungsvorrichtung für den Zielblock keine Funktionserzeugungsverarbeitung aus, und sie stoppt das Bearbeitungswerkzeug, bevor es mit einem Kollisionsobjekt kollidiert.
-
Wenn andererseits ermittelt wird, dass im Zielblock keine Kollision auftritt, führt die Kollisionsverhinderungsvorrichtung für den Zielblock eine Funktionserzeugungsverarbeitung aus, und sie gibt für jede Funktionserzeugungsperiode einen Verstellsollwert aus. Die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform stellt die Vorschubgeschwindigkeit entsprechend einem von einer Vorschubeinheit 62 mit Abweichungsunterdrückung zugeführten Befehl ein, um das Ausmaß der Abweichung auf einen Wert zu verringern, der einem Toleranzwert 64 oder weniger entspricht, bevor die Funktionserzeugungseinheit 16 eine Funktionserzeugung ausführt. Die Vorschubgeschwindigkeit, die dazu erforderlich ist, das Ausmaß der Abweichung auf einen Wert zu verringern, der dem Toleranzwert 64 entspricht oder kleiner ist, wird als ”Vorschubgeschwindigkeit zur Abweichungsunterdrückung” bezeichnet.
-
Im Allgemeinen kann eine Abweichung dadurch verursacht werden, dass die Beschleunigungs-/Verzögerungsverarbeitung von der Vorschubgeschwindigkeit, der Beschleunigungs/Verzögerungs-Zeitkonstante und einem Richtungsänderungswinkel abhängt. Der Richtungsänderungswinkel ist ein Winkel, wie er an einer Position gebildet wird, an der die Verstellrichtung geändert wird. Gemäß dem in der
7a dargestellten Beispiel ist der Richtungsänderungswinkel der Winkel einer Linie, die sich vom Punkt P[0] zum Punkt P[1] in Bezug auf eine Linie vom Punkt P[–1] zum Punkt P[0] erstreckt. Genauer gesagt, entspricht der Richtungsänderungswinkel 60 Grad. Der Richtungsänderungswinkel kann bestimmt werden, wenn einmal ein Sollpfad gemäß dem Programm bestätigt ist. Die Beschleunigungs/Verzögerungs-Zeitkonstante muss einen ähnlichen Wert aufweisen, wie er durch die in den Achsenantriebseinheiten
17x und
17z vorhandenen Beschleunigungs/Verzögerungs-Einheiten
18x und
18z verwendet wird. Daher kann die Beschleunigungs/Verzögerungs-Zeitkonstante nicht verändert werden. Demgemäß stellt die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform die Vorschubgeschwindigkeit ein, um das Ausmaß der Abweichung auf einen Wert innerhalb eines zulässigen Bereichs zu verringern. Eine Einheit
60 zum Bestimmen der Vorschubgeschwindigkeit zur Abweichungsunterdrückung berechnet die Vorschubgeschwindigkeit zur Abweichungsunterdrückung in Bezug auf den Sollpfad (d. h. den Richtungsänderungswinkel) entsprechend der folgenden Gleichung 1. [Zahlenausdruck 1]
- ε:
- Toleranzwert
- τ:
- Beschleunigungs/Verzögerungs-Zeitkonstante
- θ:
- Richtungsänderungswinkel
-
Der Toleranzwert, der einen zulässigen Abweichungswert angibt, kann vorab auf Grundlage von Eigenschaften (beispielsweise eines Fehlers bei der Kollisionsprüfung) betreffend die Funktion und die Leistungsfähigkeit der Kollisionsprüfungseinheit 26 bestimmt werden.
-
Die Vorschubeinheit 62 mit Abweichungsunterdrückung gibt der Funktionserzeugungseinheit 16 eine Vorschubgeschwindigkeit zur Abweichungsunterdrückung an, bevor diese eine Funktionserzeugung ausführt, die eine Richtungsänderung verursacht. Die Funktionserzeugungseinheit 16 führt die Funktionserzeugung mit einer angewiesenen Geschwindigkeit in einem Bereich aus, der sich ausgehend von einem Richtungsänderungspunkt über ein mit fxτ vergleichbares Stück sowohl in der Vorwärts- als auch der Rückwärtsrichtung erstreckt. Daher kann die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform das Ausmaß der Abweichung eines Istverstellpfads in der Nähe des Richtungsänderungspunkts auf einen Wert verringern, der dem Toleranzwert entspricht oder kleiner ist.
-
Daher kann, im Vergleich zum herkömmlichen Gerät, die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform selbst dann, wenn die Kollisionsprüfungseinheit 26 entlang dem durch das Teileprogramm 10 definierten Sollpfad eine Kollisionsprüfung ausführt, zuverlässig verhindern, dass das Bearbeitungswerkzeug mit einem Kollisionsobjekt kollidiert.
-
Die 5 zeigt eine Konfiguration einer in eine numerisch gesteuerte Maschine eingebauten Kollisionsverhinderungsvorrichtung gemäß einer anderen Ausführungsform der Erfindung, die den Anspruch 3 betrifft. In der 5 sind Baukomponenten, die denen bei der in der 6 dargestellten herkömmlichen Technik ähnlich sind, unter Verwendung derselben Bezugszahlen und Namen gekennzeichnet.
-
Ähnlich wie beim oben beschriebenen herkömmlichen Gerät führt die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform entlang einer Sollbahn eine Kollisionsprüfung aus. Wenn ermittelt wird, dass in einem Zielblock eine Kollision auftreten kann, führt die Kollisionsverhinderungsvorrichtung für den Zielblock keine Funktionserzeugungsverarbeitung aus, sondern sie stoppt das Bearbeitungswerkzeug, bevor es mit einem Kollisionsobjekt kollidiert.
-
Wenn andererseits ermittelt wird, dass im Zielblock keine Kollision auftritt, wartet die Kollisionsverhinderungsvorrichtung für eine vorbestimmte Zeit, die der Anzahl der Funktionserzeugungsperioden entspricht, wie sie durch eine unten beschriebene Warteverwaltungseinheit 70 zur Abweichungsunterdrückung gemäß der vorliegenden Ausführungsform angewiesen wird. Nachdem die oben angegebene Zeit verstrichen ist, führt die Kollisionsverhinderungsvorrichtung eine Funktionserzeugungsverarbeitung für den Zielblock aus, und sie gibt für jede Funktionserzeugungsperiode einen Verstellsollwert aus.
-
Eine Abweichungsunterdrückungswarteanzahltabelle
72 speichert Zahlendaten in Bezug auf die Abweichungsunterdrückungswarteanzahl abhängig vom Richtungsänderungswinkel. Die Tabelle 1 zeigt ein Beispiel der Abweichungsunterdrückungswarteanzahltabelle
72. Die Warteanzahl ist ein Wert, der in Einheiten der Funktionserzeugungsperiode gezählt werden kann. Wenn die Warteanzahl 0 ist, führt die Kollisionsverhinderungsvorrichtung eine Funktionserzeugung ohne jegliche Warteperiode aus. Das heißt, dass die Kollisionsverhinderungsvorrichtung nach dem Abschließen der Funktionserzeugungsverarbeitung für den aktuellen Block in der nächsten Funktionserzeugungsperiode die Funktionserzeugungsverarbeitung für den folgenden Block startet. Wenn die Warteanzahl 1 ist, überspringt die Kollisionsverhinderungsvorrichtung die nächste Funktionserzeugung einmal. Genauer gesagt, führt die Kollisionsverhinderungsvorrichtung nach dem Abschließen der Funktionserzeugungsverarbeitung für den aktuellen Block in der nächsten Funktionserzeugungsperiode keinerlei Funktionserzeugung aus. Dann startet die Kollisionsverhinderungsvorrichtung, in der auf die übersprungene Periode folgenden Periode, die Funktionserzeugung für den nächsten Block. [Tabelle 1]
(Schlüssel) Richtungsänderungswinkel θ Grad | (Daten) Warteanzahl |
0 | 0 |
10 | 0 |
20 | 1 |
30 | 2 |
: | : |
170 | 8 |
180 | 8 |
-
Eine Warteanzahltabelle-Erzeugungseinheit 74 wertet das Ausmaß der Abweichung durch Simulieren der Beschleunigungs/Verzögerungs-Einheiten 18x und 18z für die jeweiligen Achsen, die die Faktoren mit dem größten Einfluss auf die Abweichung sind, und die Vorstufen derselben zur positionierenden Funktionserzeugung aus. Dann erzeugt die Warteanzahltabelle-Erzeugungseinheit 74 die Abweichungsunterdrückungswarteanzahltabelle 72 auf Grundlage des erhaltenen Auswertungsergebnisses. Die Warteanzahltabelle-Erzeugungseinheit 74 kann nicht nur die Verarbeitung simulieren, sondern sie kann auch zuverlässig das Ausmaß der Abweichung unter Verwendung geeigneter Parameter (z. B. aktuelle Beschleunigungs/Verzögerungs-Zeitkonstante bei der Beschleunigungs-/Verzögerungsverarbeitung sowie aktuelle Vorschubgeschwindigkeit bei der Funktionserzeugung) auswerten. Nachfolgend wird eine Prozedur für die durch die Warteanzahltabelle-Erzeugungseinheit 74 auszuführende Verarbeitung detailliert beschrieben.
-
Die oben beschriebene Simulation erfordert einen großen Rechenumfang. Jedoch kann die Warteanzahltabelle-Erzeugungseinheit 74 die erforderlichen Berechnungen als Teil einer Initialisierungsverarbeitung ausführen. Daher unterbricht die oben beschriebene Simulation den tatsächlichen Betrieb der numerisch gesteuerten Maschine (z. B. Operationen in einem mit der Interpretation in Zusammenhang stehenden Teil und einem mit der Ausführung in Zusammenhang stehenden Teil, wie unten beschrieben) nicht wesentlich.
-
Eine Abweichungsunterdrückungswarteanzahl-Ermittlungseinheit 76 wählt aus der Abweichungsunterdrückungswarteanzahltabelle 72 eine dem Richtungsänderungswinkel entsprechende Warteanzahl aus. Der Richtungsänderungswinkel entspricht einer Winkeländerung in der Verstellrichtung zwischen dem aktuellen und dem vorigen Block. Wenn beispielsweise die Verstellrichtung für den aktuellen Block mit derjenigen für den vorigen Block identisch ist, entspricht der Richtungsänderungswinkel 0 Grad. Wenn die Verstellrichtung für den aktuellen Block derjenigen für den vorigen Block entgegengesetzt ist, entspricht der Richtungsänderungswinkel 180 Grad. Die Verstellrichtung kann unter Verwendung des Verstellvektors ausgedrückt werden, der einem der Ausführungsdatenwerte entspricht. Die in der Tabelle 1 aufgelisteten Richtungsänderungswinkel sind diskrete Werte. Wenn der Richtungsänderungswinkel 15 Grad beträgt, wählt die Abweichungsunterdrückungswarteanzahl-Ermittlungseinheit 76 die 20 Grad entsprechende Warteanzahl aus, da dieser Winkel am dichtesten bei 15 Grad liegt. Die ausgewählte Warteanzahl wird als einer der mit dem aktuellen Block in Zusammenhang stehenden Ausführungsdatenwerte im Puffer 14 gespeichert. Die Abweichungsunterdrückungswarteanzahl-Ermittlungseinheit 76 führt vorab eine der ”Interpretations” verarbeitung ähnliche Verarbeitung für den Block aus. Obwohl eine zeitliche Einschränkung dahingehend besteht, dass die Funktionserzeugung im mit der Interpretation in Zusammenhang stehenden Teil stetig auszuführen ist, ist die durch die Abweichungsunterdrückungswarteanzahl-Ermittlungseinheit 76 auszuführende Verarbeitung im Wesentlichen vernachlässigbar, da sie mit einer Tabellennachschlageverarbeitung vergleichbar ist.
-
Die Warteverwaltungseinheit 70 zur Abweichungsunterdrückung verschiebt die Funktionserzeugungsverarbeitung für den Zielblock unter Bezugnahme auf eine den Ausführungsdaten entsprechende Abweichungsunterdrückungswarteanzahl. Die Warteverwaltungseinheit 70 zur Abweichungsunterdrückung arbeitet auf die Weise, wie sie unter Bezugnahme auf die Abweichungsunterdrückungswarteanzahltabelle 72 beschrieben wurde. Für die Verarbeitung in der Warteverwaltungseinheit 70 zur Abweichungsunterdrückung und der Funktionserzeugungseinheit 16 kann derselbe mit der Ausführung in Zusammenhang stehende Teil verwendet werden. Der mit der Ausführung in Zusammenhang stehende Teil führt eine Verarbeitung mit konstanten Intervallen (die der Funktionserzeugungsperiode entsprechen) aus. Daher muss der mit der Ausführung in Zusammenhang stehende Teil die Verarbeitung innerhalb der konstanten Periode abschließen. Jedoch kann eine derartige zeitliche Einschränkung eingehalten werden, da die oben beschriebene Verarbeitung mit dem Zählen der Warteanzahl vergleichbar ist.
-
Nachfolgend wird unter Bezugnahme auf das in der 11 dargestellte Flussdiagramm und die in den 12a bis 12e dargestellten Diagramme ein Beispiel einer durch die Warteanzahltabelle-Erzeugungseinheit 74 auszuführenden Verarbeitung beschrieben.
-
Die Tabelle speichert Zahlendaten, die jedem Richtungsänderungswinkel θ im Bereich von 0 Grad bis 180 Grad entsprechen. Daher enthält, um fortlaufend für jeden Richtungsänderungswinkel θ eine Warteanzahl zu erhalten, das in der 11 dargestellte Flussdiagramm Schritte S1, S2 und S11 zur Schleifenverarbeitung.
-
In einem Schritt S3 erzeugt die Warteanzahltabelle-Erzeugungseinheit 74, um eine Warteanzahl zu erhalten, einen Richtungsänderungswinkel θ enthaltenden Pfad. Genauer gesagt, erzeugt die Warteanzahltabelle-Erzeugungseinheit 74, wenn ein Richtungsänderungspunkt P[0] mit dem Ursprung in Simulationskoordinatensystem übereinstimmt, einen Referenzpfad, der sich ausgehend vom Minuspunkt P[–1] zum Ursprung P[0] auf der Z-Achse erstreckt, sowie einen in der Richtung geänderten Pfad mit dem Richtungsänderungswinkel θ in Bezug auf den Referenzpfad. Gemäß dem in der 12a dargestellten Beispiel entspricht der Richtungsänderungswinkel des erzeugten Pfads 60 Grad. Der Grund, weswegen der Richtungsänderungspunkt P[0] im Ursprung platziert wird, besteht darin, dass Berechnungen vereinfacht werden können.
-
Als Nächstes erzeugt die Warteanzahltabelle-Erzeugungseinheit 74, in einem Schritt S4 eine Gruppe von Punkten Q durch Simulieren der positionierenden Funktionserzeugung bei einer schnellen Vorschubgeschwindigkeit F. In diesem Fall ist die Anzahl der zum Erhalten des Ausmaßes der Abweichung benötigten Punkte mit einer Zeitkonstanten τ für die nächste Beschleunigungs-/Verzögerungssimulation vergleichbar. Die Hälfte der zu erhaltenden Punkte (d. h. τ/2) liegt auf dem Referenzpfad, der sich vom Punkt P[–1] zum Ursprung P[0] erstreckt. Die andere Hälfte der zu erhaltenden Punkte (d. h. τ/2) liegt auf dem in der Richtung geänderten Pfad, der sich vom Ursprung P[0] zum Punkt P[1] erstreckt. Die 12b veranschaulicht ein Beispiel für den Fall τ = 9.
-
In einem Schritt S5 initialisiert die Warteanzahltabelle-Erzeugungseinheit 74 die Warteanzahl W auf 0, bevor sie die Simulation in Bezug auf die Warteanzahl startet.
-
In einem Schritt S6 führt die Warteanzahltabelle-Erzeugungseinheit 74 eine Beschleunigungs-/Verzögerungssimulation aus. Wenn die Warteanzahl W 0 ist (W = 0), erhält die Warteanzahltabelle-Erzeugungseinheit 74 R[0] als Mittelwert aus der Gruppe von Punkten Q, deren Gesamtanzahl dem Wert τ entspricht. Wenn τ = 9 gilt, berechnet die Warteanzahltabelle-Erzeugungseinheit 74 den Mittelwert der neun Punkte von Q[–4] bis Q[4] (siehe die 12c). Wenn W = 1 und τ = 9 gelten, ersetzt die Warteanzahltabelle-Erzeugungseinheit 74 den Punkt Q[4] durch den zentralen Punkt Q[0] (= Wartefaktor), und dann erhält sie den Mittelwert der neun Punkte (d. h. Q[–4], Q[–3], Q[–2], Q[–1], Q[0], Q[1], Q[2], Q[3] und 1 × Q[0]). Wenn W = 2 und τ = 9 gelten ersetzt die Warteanzahltabelle-Erzeugungseinheit 74 ferner den Punkt Q[–4] durch den zentralen Punkt Q[0] und hält dann den Mittelwert der neun Punkte (d. h., Q[–3], Q[–2], Q[–1], Q[0], Q[1], Q[2], Q[3] und 2 × Q[0]). Wenn W = 3 und τ = 9 gelten, ersetzt die Warteanzahltabelle-Erzeugungseinheit 74 ferner den Punkt Q[3] durch den zentralen Punkt Q[0] und enthält dann den Mittelwert der neun Punkte (d. h., Q[–3], Q[–2], Q[–1], Q[0], Q[1], Q[2] und 3 × Q[0]) (siehe die 12d). Wie es aus den 12c und 12d ersichtlich ist, nähert sich mit zunehmender Rate der Wartekomponente der gemittelte Punkt R[0] dem Ursprung P[0] an. Wenn die Warteanzahl W der Zeitkonstanten τ entspricht, fällt der gemittelte Punkt R[0] mit dem Ursprung P[0] zusammen.
-
Obwohl der gemittelte Punkt R[0] zu einer Position benachbart zum Ursprung P[0] bewegt werden kann, kann die Länge des Vektors P[0] → R[0] nicht als das Ausmaß der Abweichung repräsentierender Wert erhalten werden. Daher erhält die Warteanzahltabelle-Erzeugungseinheit 74, in einem Schritt S7, das Ausmaß d der Abweichung auf Grundlage des gemittelten Punkts R[0]. Das Ausmaß d der Abweichung kann entlang einer Linie gemessen werden, die sich ausgehend vom Ursprung P[0] mit der Hälfte des Änderungswinkels erstreckt, wie er zwischen dem Pfad P[–1] → P[0] und dem Pfad P[0] → P[1] gebildet ist. Das Ausmaß d der Abweichung entspricht der Distanz des auf die oben beschriebene Linie projizierten Vektors R[0]. Wie es in der 12e dargestellt ist, erhält die Warteanzahltabelle-Erzeugungseinheit 74 einen Einheitsvektor h in der Richtung des halben Winkels auf Grundlage des Richtungsänderungswinkels θ, und sie berechnet das Ausmaß d der Abweichung als inneres Produkt aus dem Vektor R[0] und dem Einheitsvektor h.
-
In einem Schritt S8 wertet die Warteanzahltabelle-Erzeugungseinheit 74 das erhaltene Ausmaß d der Abweichung aus. Wenn das Ausmaß d der Abweichung einer Toleranz ε 78 oder weniger entspricht, registriert die Warteanzahltabelle-Erzeugungseinheit 74, in einem Schritt S10, die Warteanzahl W in der Abweichungsunterdrückungswarteanzahltabelle 72. Wenn das Ausmaß d der Abweichung größer als die Toleranz ε 78 ist, inkrementiert die Warteanzahltabelle-Erzeugungseinheit 74, in einem Schritt S9, die Warteanzahl W um 1. Die Verarbeitung kehrt zum Schritt S6 zurück.
-
Wie oben beschrieben, speichert die Abweichungsunterdrückungswarteanzahltabelle 72 diskrete Werte (mit vorbestimmten Intervallen entnommene Werte) in Bezug auf den Richtungsänderungswinkel. Jedoch kann die Abweichungsunterdrückungswarteanzahltabelle 72 auf solche Weise modifiziert werden, dass sie die Warteanzahl jeweils um eins erhöht, solange Warteanzahlen ausgewählt werden können. Darüber hinaus besteht für den Richtungsänderungswinkel keine Einschränkung auf den oben beschriebenen Winkel, sondern er kann durch jeden beliebigen anderen vergleichbaren Parameter ersetzt werden, wie den Cosinuswert, der lediglich im Bereich von 0 Grad bis 180 Grad variabel ist.
-
Wenn ermittelt wird, dass in einem Zielblock eine Kollision auftreten kann, wartet die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform für eine vorbestimmte Zeit, die der Anzahl der durch die Warteverwaltungseinheit 70 zur Abweichungsunterdrückung angewiesenen Funktionserzeugungsperioden entspricht, und dann führt sie die Funktionserzeugungsverarbeitung für den Zielblock aus. Daher kann die Abweichung eines Verstellpfads in der Nähe des Richtungsänderungspunkts auf einen Pegel verringert werden, der dem Toleranzwert entspricht oder kleiner ist. Daher kann die Kollisionsverhinderungsvorrichtung gemäß der vorliegenden Ausführungsform im Vergleich zum herkömmlichen Gerät selbst dann, wenn die Kollisionsprüfungseinheit 26 an der durch das Teileprogramm 10 definierten Sollbahn eine Kollisionsprüfung ausführt, zuverlässig verhindern, dass das Bearbeitungswerkzeug mit einem Kollisionsobjekt kollidiert.
-
Bezugszeichenliste
-
- 10
- Teileprogramm,
- 12
- Programminterpretiereinheit,
- 14
- Puffer,
- 16
- Funktionserzeugungseinheit,
- 17x
- Antriebseinheit für die X-Achse,
- 17z
- Antriebseinheit für die Z-Achse,
- 18x, 18z
- Beschleunigungs-/Verzögerungseinheit,
- 20x, 20z
- Servoeinheit,
- 22x, 22z
- Motor/Detektor,
- 26
- Kollisionsprüfungseinheit,
- 28
- Ausführungsverwaltungs einheit,
- 30
- Beschleunigungs/Verzögerungs-Simuliereinheit,
- 32
- Verzögerungseinheit,
- 34
- Zweite Kollisionsprüfungseinheit
- 36
- Verstellsollwert-Blockiereinheit.