-
Gebiet
-
Die vorliegende Erfindung bezieht sich auf eine Bahnsteuerungsvorrichtung, die eine Werkzeugbahn anleitet, und bezieht sich im Spezielleren auf eine Bahnsteuerungsvorrichtung, die einen Bahnfehler einschränkt und eine sehr schnelle und hochpräzise Bearbeitung ungeachtet einer Form eines Befehlspfads in einer NC-Steuerungsvorrichtung bewerkstelligt, die eine NC-Werkzeugmaschine, eine NC-Laserstrahlmaschine u. dgl. steuert.
-
Hintergrund
-
Wenn eine Bearbeitung unter Verwendung einer Maschine wie etwa einer NC-Werkzeugmaschine oder einer NC-Laserstrahlmaschine durchgeführt wird, erfolgt eine Steuerung dergestalt, dass eine Position eines Werkzeugs (eines Schneidwerkzeugs wie etwa eines Schaftfräsers) in Bezug auf ein Werkstück entlang des Befehlspfads verschoben wird. Diese Steuerung wird als „Bahnsteuerung“ bezeichnet und erfolgt im Allgemeinen, indem eine Servosteuerung so ausgeführt wird, dass eine tatsächliche Position jeder beweglichen Achse der Maschine einen Positionsbefehl für jede bewegliche Achse nachvollzieht, der aus dem Befehlspfad erhalten wird.
-
Als ein Problem beim Ausführen der Bahnsteuerung gab es herkömmlicher Weise einen Punkt, an dem eine tatsächliche Bahn aufgrund einer Ansprechverzögerung eines Steuersystems jeder beweglichen Achse vom Befehlspfad abwich. Weil eine Steuerung für gewöhnlich für jede bewegliche Achse der Maschine ausgeführt wird, macht jede bewegliche Achse eine Bewegung, wobei eine Servosystemreaktion von dieser im Hinblick auf einen Positionsbefehl aufgrund eines Fehlers verzögert wird, der sich aus der Reaktionsverzögerung des Steuersystems jeder Achse ergibt. Wenn sich eine Bewegungsrichtung des Befehlspfads nicht wie in einer geraden Linie verändert, weicht eine Bahn der Servosystemreaktion vom Befehlspfad nicht ab, selbst wenn jede Achse eine Bewegung mit einer Verzögerung macht. Das heißt, obwohl ein Fehler in einer Tangentialrichtung des Befehlspfads auftritt, tritt in einer normalen Richtung des Befehlspfads kein Fehler auf. Wenn sich andererseits die Bewegungsrichtung des Befehlspfads in einer gekrümmten Linie oder Eckenform verändert, tritt ein Fehler in der normalen Richtung des Befehlspfads aufgrund einer Verzögerung des Servosteuerungssystems jeder Achse auf.
-
In den folgenden Erläuterungen wird unter Fehlern im Hinblick auf den Positionsbefehl einer Position der Servosystemreaktion eine Komponente in der Tangentialrichtung des Befehlspfads als „Folgefehler“ bezeichnet, und eine Komponente in der normalen Richtung des Befehlspfads wird als „Bahnfehler“ bezeichnet. Falls ein Bahnfehler vorliegt, stimmt eine Bearbeitungsform im Allgemeinen mit der beabsichtigten Form nicht überein, und so ist diese Situation nicht vorzuziehen. Unterdessen beeinträchtigt der Folgefehler die Bearbeitungsform nicht direkt, und somit kann der Folgefehler häufig zulässig sein, ist der Folgefehler jedoch übermäßig, nimmt die Bearbeitungszeit zu, und so ist diese Situation nicht vorzuziehen.
-
Als Mittel zum Einschränken dieser Bahnfehler und Folgefehler offenbart beispielsweise Patentschrift 1 ein Verfahren, bei dem bei der Steuerung einer Handposition eines Roboters eine Handposition nach einer vorbestimmten Stichprobenzeit geschätzt wird, und ein Positionsbefehl um einen Wert eines Normalvektors korrigiert wird, der von der geschätzten Handposition zu einer Zielbahn gezogen wird, so dass die Handposition auf der Zielbahn gehalten und ein Bahnfehler eingeschränkt wird, während eine Verzögerungszeit zugelassen wird. Das heißt, von Fehlern, die beim Ausführen einer Steuerung mehrerer beweglicher Achsen auftreten, wird der Bahnfehler, bei dem es sich um einen Fehler in einer Richtung senkrecht zu der Zielbahn, nämlich zu einem Befehlspfad handelt, geschätzt, und der Befehlspfad wird um den Betrag des geschätzten Bahnfehlers in einer entgegengesetzten Richtung korrigiert, um den Bahnfehler zu korrigieren, wodurch der Bahnfehler eingeschränkt wird, der möglicherweise in einem Bewegungspfad auftritt.
-
Anführungsliste
-
Patentschrift
-
Japanische Patentanmeldung mit der Offenlegungsnummer
JP 2006-015431 A. Europäische Patentanmeldung mit der Nummer
EP 1 298 507 B1 .
-
Zusammenfassung
-
Technisches Problem
-
Gemäß dem wie in der Patentschrift 1 offenbarten Verfahren kann, wenn derselbe Betrag eines Bahnfehlers konstant wie in einem einfachen Kreis oder einem Bogen auftritt, der Bahnfehler effektiv korrigiert werde. Jedoch in einem Fall, bei dem sich eine Befehlsbahn von einer geraden Linie zu einem Bogen verändert, kann der Bahnfehler in einem Grenzabschnitt von diesem nicht ausreichend korrigiert werden, und der Bahnfehler verbleibt selbst im korrigierten Bewegungspfad. Das heißt, weil ein Bahnfehler nicht in einem linearen Abschnitt auftritt, wird kein Korrekturbetrag zum Korrigieren des Bahnfehlers generiert. Jedoch tritt, wie vorstehend beschrieben, in einem gekrümmten Abschnitt wie etwa dem Bogen, ein Fehler in der normalen Richtung des Befehlspfads, das heißt, ein Bahnfehler auf, und somit wird der Korrekturbetrag zum Korrigieren des Bahnfehlers generiert. Im Grenzabschnitt zwischen dem linearen Abschnitt und dem Bogenabschnitt verändern sich die Größenordnung und Ausrichtung des Bahnfehlers übergangsweise. Im Ergebnis verändert sich auch der Korrekturbetrag zum Korrigieren des Bahnfehlers übergangsweise. Wenn in einem solchen Fall der geschätzte Bahnfehler direkt verwendet wird, um den Befehlspfad zu korrigieren, dann wird der Korrekturbetrag im Grenzabschnitt ein anderer als ein idealer Korrekturbetrag, so dass der Bahnfehler nicht ausreichend korrigiert werden kann.
-
Beispielsweise wird ein Fall in Erwägung gezogen, bei dem sich ein Werkzeug entlang eines Befehlspfads auf einer X-Y-Ebene bewegt, und nachdem sich das Werkzeug linear in der X-Achsenrichtung bewegt hat, wird ein Bogenbefehl angesetzt. In diesem Fall wird davon ausgegangen, dass die gerade Linie und eine Tangente zu einem Eingang des Bogens in der Ausrichtung übereinstimmen und sich das Werkzeug im Bogenabschnitt in einer positiven Richtung auf einer Y-Achse bewegt. Um in diesem Fall einen im Bogenabschnitt möglicherweise auftretenden Bahnfehler zu korrigieren, wird ein Korrekturbetrag in einer Richtung senkrecht zum Befehlspfad hinzuaddiert, und der korrigierte Befehlspfad wird zu einem Pfad, dessen Bogenabschnitt sich nach außen wölbt. In einem solchen Pfad stimmt, nachdem ein bestimmter Zeitraum seit dem Übergang zum Bogenbefehl vergangen ist, der korrigierte Pfad mit dem Befehlspfad überein. Jedoch schießt unmittelbar nach Übergang zum Bogenbefehl der korrigierte Bewegungspfad über den Befehlspfad hinaus und wird nach außen gewölbt. Das heißt, unmittelbar nach Übergang zum Bogenbefehl bewegt sich das Werkzeug erst in einer negativen Richtung auf der Y-Achse, und bewegt sich dann auf selbiger in der positiven Richtung. Und zwar deswegen, weil der Bogenabschnitt des Befehlspfads sich nach außen wölbt, um den Befehl in der Richtung senkrecht zum Befehlspfad zu korrigieren und zu diesem Zeitpunkt eine Y-Achsenkomponente des korrigierten Befehlspfads erst in der negativen Richtung verschoben wird, und dann in der positiven Richtung verschoben wird.
-
In der Werkzeugmaschine wird die Form des Bewegungspfads des Werkzeugs (des Schneidwerkzeugs) auf eine Bearbeitungsfläche übertragen. Wenn sich wie im vorstehenden Beispiel der Bewegungspfad in einem Abschnitt nach außen wölbt, an dem die Bahnen der geraden Linie und des Bogens ursprünglich an der Grenze zwischen diesen glatt verbunden sind, macht sich deshalb der Einfluss einer solchen Wölbung in Form von Bearbeitungsmängeln wie etwa Vorsprüngen oder parallelen Rillen bemerkbar, wodurch die Qualität der bearbeiteten Fläche ungünstig herabgesetzt wird.
-
In der zweiten Patenschrift wird darüber hinaus ein Verfahren offenbart, in welchem aber lediglich eine Bearbeitungsgeschwindigkeit optimiert wird um der Form des Bearbeitungsgegenstandes Rechnung zu tragen.
-
Die vorliegende Erfindung wurde angesichts der vorstehenden Umstände erzielt, und eine Aufgabe der vorliegenden Erfindung besteht darin, eine Bahnsteuerungsvorrichtung bereitzustellen, die, selbst wenn ein Befehlspfad dazu tendiert, eine Abfolge aus einer geraden Linie und einer gekrümmten Linie nachzuvollziehen, eine Korrektur durchführen kann, um einen Bahnfehler an einer beliebigen Stelle ausreichend zu korrigieren, einschließlich eines Abschnitts, in dem sich die Größenordnung und Richtung des Bahnfehlers übergangsweise verändern, wie etwa einem Grenzabschnitt zwischen der geraden Linie und der gekrümmten Linie.
-
Lösung für das Problem
-
Um die vorstehend erwähnten Probleme zu lösen und die Aufgabe zu erfüllen, stellt die vorliegende Erfindung eine Bahnsteuerungsvorrichtung bereit, bei der ein beweglicher Abschnitt einer Maschine durch mehrere bewegliche Achsen angetrieben ist und eine Bahn des beweglichen Abschnitts gesteuert wird, indem Motoren der beweglichen Achsen gleichzeitig gesteuert werden, wobei die Bahnsteuerungsvorrichtung umfasst: eine Servosystemreaktionsbahnberechnungseinheit, die eine Servosystemreaktionsbahn auf Grundlage eines Positionsbefehls jeder beweglichen Achse berechnet; eine Formmerkmalsbestimmungseinheit, die bestimmt, ob es sich bei einer Form eines Befehlspfads um eine gerade oder gekrümmte Linie auf Grundlage des Positionsbefehls handelt, und als einen Formmerkmalsbetrag der Form des Befehlspfads eine Grenzpunktposition der Form des Befehlspfads und eine Linearabschnittsverlaufsrichtung der Form am Grenzpunkt ausgibt; eine Positionsvektorkorrektureinheit, die einen Positionsbefehl unter Ausführung von Vektorberechnungen auf Grundlage des Positionsbefehls, der Servosystemreaktionsbahn und des Formmerkmalsbetrags korrigiert und einen korrigierten Positionsbefehl ausgibt; und mehrere Servosteuerungseinheiten, die einen Motor jeder beweglichen Achse steuern, indem ein Motorantriebsdrehmoment so ausgegeben wird, dass eine Position jeder beweglichen Achse den korrigierten Positionsbefehl befolgt.
-
Vorteilhafte Wirkungen der Erfindung
-
Gemäß der vorliegenden Erfindung kann, selbst wenn sich die Größenordnung und Richtung eines Bahnfehlers in einem Grenzabschnitt oder an einem Wendepunkt zwischen einer geraden Linie und einer gekrümmten Linie o. dgl. in einem Befehlspfad, in dem eine gerade Linie und eine gekrümmte Linie kontinuierlich auftreten, übergangsweise verändern, der Bahnfehler effektiv eingeschränkt werden, wodurch die Bahngenauigkeit verbessert wird. Im Ergebnis können Bearbeitungsmängel wie Fehler oder parallele Rillen auf einer bearbeiteten Fläche vermieden werden, was zu einer vorteilhaften Wirkung führt, die Qualität der bearbeiteten Fläche zu verbessern.
-
Figurenliste
-
- 1 ist ein Blockschema, das eine Bahnsteuerungsvorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
- 2 ist ein Blockschema, das Einzelheiten einer Auslegung einer in 1 gezeigten Servosteuerungseinheit darstellt.
- 3 ist eine Darstellung, die eine Rechenoperation für einen Bahnfehlervektor in der ersten Ausführungsform zeigt.
- 4 ist eine Darstellung, die einen Funktionsablauf einer Formmerkmalsbestimmungseinheit in der ersten Ausführungsform zeigt.
- 5 ist eine Darstellung, die eine Rechenoperation für einen korrigierten Positionsbefehl in der ersten Ausführungsform zeigt.
- 6 weist Abbildungen auf, die Korrekturwirkungen (Bahnfehlerbeschränkung) in der ersten Ausführungsform zeigen.
- 7 ist eine Darstellung, die einen Funktionsablauf einer Formmerkmalsbestimmungseinheit in einer zweiten Ausführungsform zeigt.
- 8 ist eine Darstellung, die eine Rechenoperation für einen korrigierten Positionsbefehl in der zweiten Ausführungsform zeigt.
- 9 ist eine Darstellung, die einen Funktionsablauf einer Servosystemreaktionsbahnberechnungseinheit in einer dritten Ausführungsform zeigt.
- 10 ist eine Darstellung, die einen Funktionsablauf einer Formmerkmalsbestimmungseinheit in der dritten Ausführungsform zeigt.
- 11 ist eine Darstellung, die eine Rechenoperation für einen korrigierten Positionsbefehl in der dritten Ausführungsform zeigt.
-
Beschreibung der Ausführungsformen
-
Erste Ausführungsform
-
1 ist ein Blockschema einer Bahnsteuerungsvorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung. Eine Bahnsteuerungsvorrichtung 10 ist so ausgelegt, dass sie eine Servosystemreaktionsbahnberechnungseinheit 1, eine Formmerkmalsbestimmungseinheit 9, eine Positionsvektorkorrektureinheit 2, eine Erstachsenservosteuerungseinheit 7 und eine Zweitachsenservosteuerungseinheit 8 umfasst. Ein Befehlspfad für ein Werkzeug (ein Schneidwerkzeug) wird als ein Erstachsenpositionsbefehl und ein Zweitachsenpositionsbefehl für eine Maschine in einem Format eines NC-Programms o. dgl. bereitgestellt. In der Servosystemreaktionsbahnberechnungseinheit 1 wird, wenn der Erstachsenpositionsbefehl und der Zweitachsenpositionsbefehls bereitgestellt sind, eine Servosystemreaktionsbahn berechnet. Ein Berechnungsverfahren für die Reaktionsbahn wird später noch beschrieben. Die Formmerkmalsbestimmungseinheit 9 bestimmt, ob es sich bei dem auf Grundlage des Erstachsen- und Zweitachsenpositionsbefehl bestimmten Befehlspfad um eine gerade Linie oder eine gekrümmte Linie handelt, und gibt eine Grenzpunktposition zwischen der geraden Linie und der gekrümmten Linie und eine Richtung der geraden Linie als einen Formmerkmalsbetrag aus. Die Positionsvektorkorrektureinheit 2 berechnet einen Bahnfehler auf Grundlage der Servosystemreaktionsbahn und den Positionsbefehlen, und berechnet einen korrigierten Positionsbefehl zum Einschränken eines Bahnfehlers, wobei das Auftreten irgendeiner Überschwingung der Bahn unter Verwendung des berechneten Bahnfehlers und des Formmerkmalsbetrags vermieden wird. Diese Korrektur erfolgt, indem der Erstachsenkorrekturbefehl und der Zweitachsenkorrekturbefehl zu einem Befehlspositionsvektor synthetisiert und Vektorberechnungen am Befehlspositionsvektor für die Korrektur vorgenommen werden, durch welche axiale Komponenten eines Positionsvektors, bei dem es sich um das korrigierte Ergebnis handelt, als korrigierte Erstachsen- bzw. Zweitachsenpositionsbefehle verwendet werden. Die Erstachsenservosteuerungseinheit 7 und Zweitachsenservosteuerungseinheit 8 geben ein Erstachsenmotorantriebsdrehmoment bzw. ein Zweitachsenmotorantriebsdrehmoment aus, so dass die Position auf der ersten beweglichen Achse und die Position auf der zweiten beweglichen Achse den korrigierten Erstachsenpositionsbefehl bzw. den korrigierten Zweitachsenpositionsbefehl befolgen.
-
Die Erstachsenservosteuerungseinheit 7 und die Zweitachsenservosteuerungseinheit 8 haben dieselbe Auslegung, und ein Blockschema davon ist in 2 als Servosteuerungseinheit 11 gezeigt. Eine Modellposition wird vom korrigierten Positionsbefehl, der in die Servosteuerungseinheit 11 eingegeben wird, durch ein Subtrahierglied 20 subtrahiert, und das Subtraktionsergebnis wird dann durch ein Modellverstärkungsmultiplizierglied 21 mit einer ersten Modellverstärkung K1 multipliziert. Eine Modelldrehzahl wird dann durch ein Subtrahierglied 22 vom Multiplikationsergebnis subtrahiert, und das Subtraktionsergebnis wird dann durch ein Modellverstärkungsmultiplizierglied 23 mit einer zweiten Modellverstärkung K2 multipliziert, um eine Modellbeschleunigung auszugeben. Die Modellbeschleunigung wird durch ein Integrierglied 24 integriert, um eine Modelldrehzahl auszugeben, und die Modelldrehzahl wird durch ein Integrierglied 25 integriert, um eine Modellposition auszugeben. Nun wird ein Block, in den der korrigierte Positionsbefehl eingegeben wird, und aus dem die Modellposition, die Modelldrehzahl und die Modellbeschleunigung ausgegeben werden, als „Referenzmodelleinheit 12“ bezeichnet. Ein Subtrahierglied 26 subtrahiert ein Motorpositionssignal von der Modellposition und gibt einen Positionsfehler aus. Eine Positionssteuerungseinheit 27 vollzieht eine Steuerung wie etwa eine Proportionalsteuerung im Hinblick auf den Positionsfehler. Ein Addier-/Subtrahierglied 28 addiert die Modelldrehzahl zu einem Ausgang der Positionssteuerungseinheit und subtrahiert ein Motordrehzahlsignal von dem Ausgang, um einen Drehzahlfehler auszugeben. Eine Drehzahlregelungseinheit 29 vollzieht eine Steuerung wie etwa eine Proportionalsteuerung oder Integralsteuerung im Hinblick auf den Drehzahlfehler. Ein Multiplizierglied 30 multipliziert die Modellbeschleunigung mit einem Wert, der einer Trägheit eines gesteuerten Gegenstands entspricht, um ein Modelldrehmoment zu berechnen. Ein Addierglied 31 addiert das Modelldrehmoment zu einem Ausgang der Drehzahlregelungseinheit, um ein Motordrehmomentsignal auszugeben. Ein mechanisches System 13, das einen Motor 32 und eine Last 33 umfasst, wird durch das Motordrehmomentsignal angetrieben, und das Motordrehzahlsignal und das Motorpositionssignal werden als Rückkopplungssignale an die Servosteuerungseinheit 11 ausgegeben.
-
Bei der Servosteuerungseinheit 11 gemäß der vorliegenden Ausführungsform handelt es sich um ein über zwei Freiheitsgrade verfügendes Steuergerät, das die Referenzmodelleinheit 12 verwendet und in seiner Nachvollziehbarkeit des Befehls und seinem Ansprechverhalten auf Störung unabhängig ausgeführt sein kann. Die Nachvollziehbarkeit der Motorposition auf den Positionsbefehl hin ist durch die erste Modellverstärkung K1 und die zweite Modellverstärkung K2 bestimmt, und das Ansprechverhalten der Motorposition auf Störung ist durch die Ausführung der Positionssteuerungseinheit und der Drehzahlregelungseinheit bestimmt. Deshalb wird ein Ansprechen der Motorposition so gesteuert, dass die Modellposition, bei der es sich um einen Ausgang des Referenzmodells handelt, ungeachtet der tatsächlichen Kenneigenschaften des gesteuerten Gegenstands nachvollzogen wird.
-
Eine Berechnung der Servosystemreaktionsbahn erfolgt in der Servosystemreaktionsbahnberechnungseinheit 1 auf die folgende Weise. Weil die Servosystemreaktion wie vorstehend beschrieben durch ein Ansprechen des Referenzmodells ausgedrückt werden kann, werden jeweils Positionen der Erstachsen- und Zweitachsenservosystemreaktionen ermittelt, indem eine Modellposition, bei der es sich um einen Ausgang des Referenzmodells handelt, ermittelt wird, wenn die Erstachsen- und Zweitachsenpositionsbefehle als Eingänge bereitgestellt werden. Ein Vektor mit den Positionen der Erstachsen- bzw. Zweitachsenservosystemreaktionen als Komponenten in den Richtungen der beweglichen Achsen wird als Servosystemreaktionspositionsvektor angesetzt, und eine durch den Positionsvektor gezogene Bahn wird als Servosystemreaktionsbahn angesetzt. Die Modellposition, bei der es sich um den Ausgang des Referenzmodells handelt, kann ermittelt werden, indem die in 2 gezeigte Referenzmodelleinheit 12 in einer Form einschließlich einer Differentialgleichung, einer Differenzgleichung, einer Transferfunktion und/oder dergleichen ausgedrückt und eine Lösung dafür durch eine numerische Berechnung berechnet wird. Wenn eine angewiesene Form bekannt ist, kann darüber hinaus eine analytische Lösung durch eine Integralberechnung ermittelt werden.
-
Beispielsweise wird eine Transferfunktion G
m(s) des in
2 gezeigten Referenzmodells durch die folgende Gleichung ausgedrückt.
-
Wenn ein bestimmter Eingang dem Referenzmodell bereitgestellt wird, wird ein Ausgang erhalten, indem eine umgekehrte Laplace-Transformation des Produkts der Transferfunktion des Referenzmodells und eine Laplace-Transformation des bereitgestellten Eingangs durchgeführt werden. Wenn die Erstachsen- bzw. Zweitachsenpositionsbefehle als x
c1(t) und x
c2(t) in einer Zeit (t) bereitgestellt werden, wird der Positionsbefehlsvektor durch die folgende Gleichung ausgedrückt.
-
An diesem Punkt werden die Servosystemreaktionspositionen x
r1(t) und x
r2(t) der Erstachse und Zweitachse durch die folgende Gleichung ausgedrückt.
-
In dieser Gleichung bezeichnet L[f(t)] eine Laplace-Transformation von f(t), und L-1[F(s)] bezeichnet eine umgekehrte Laplace-Transformation von F(s).
-
Darüber hinaus kann eine Ansprechverzögerungszeit des Servosystems aus der Transferfunktion des Referenzmodells ermittelt werden. Hier wird eine konstant verursachte Verzögerungszeit des Ansprechens auf den Befehl, wenn dem Servosystem ein Eingang für eine konstante Drehzahl bereitgestellt wird, als Servosystemreaktionsverzögerungszeit angesetzt. In der in
2 gezeigten Referenzmodelleinheit 12 handelt es sich bei einer Servosystemreaktionsverzögerungszeit t
d um einen Kehrwert der ersten Modellverstärkung, und sie wird durch die folgende Gleichung ausgedrückt.
-
3 ist eine erläuternde Ansicht einer Operation eines Berechnungsteils des Bahnfehlers, der ein Teil der Positionsvektorkorrektureinheit 2 in der ersten Ausführungsform ist. Es wird der Fall beschrieben, in dem der Befehlspfad ein Pfad ist, auf dem eine gerade Linie und ein Bogen kontinuierlich verbunden sind. In diesem Fall nimmt die Servosystemreaktionsbahn einen wie durch eine unterbrochene Linie in
3 gezeigten Weg, und nimmt zur Zeit t eine Position x
r(t) ein. Um bei der Operation zum Schätzen des Bahnfehlers einen Einfluss des von einer Ansprechverzögerung des Servosystems herrührenden Folgefehlers zu beseitigen, wird eine Differenz zwischen dem Positionsbefehl und einer um die Servosystemreaktionsverzögerungszeit vorgerückten Servosystemreaktionsposition, nicht eine Subtraktion der Servosystemreaktionsposition zur selben Zeit, und dem Positionsbefehl ermittelt, wobei die Differenz als Schätzwert für den Bahnfehler angesetzt wird. Deshalb wird ein Bahnfehler e(t) durch die folgende Gleichung ausgedrückt.
-
Wenn eine Korrektur des Positionsbefehls kollektiv für alle Zeitpunkte durchgeführt wird, lässt sich mühelos eine Servosystemreaktionsposition an einer um die Servosystemreaktionsverzögerungszeit vorgerückten Position ermitteln. Wird jedoch eine Korrektur des Positionsbefehls durch sequentielles Verarbeiten momentaner Positionsbefehle durchgeführt, muss ein Positionsbefehl für die Servosystemreaktionsverzögerungszeit vorhergesagt werden.
-
4 ist eine erläuternde Darstellung eines Funktionsablaufs der Formmerkmalsbestimmungseinheit 9. Hier handelt es sich um den Fall, in dem der Befehlspfad ein Pfad ist, in dem eine gerade Linie und eine Bogen kontinuierlich verbunden sind. Die Formmerkmalsbestimmungseinheit 9 bestimmt, ob der Befehlspfad eine gerade Linie oder eine gekrümmte Linie ist. Wenn sich der Befehlspfad von einer geraden Linie zu einer gekrümmten Linie verändert, gibt die Formmerkmalsbestimmungseinheit 9 einen Positionskoordinatenwert an einem Grenzpunkt zwischen diesen als einen Formmerkmalsbetrag (die Grenzpunktkoordinate) aus, und gibt auch eine Verlaufsrichtung des linearen Abschnitts als einen anderen Formmerkmalsbetrag (eine Linearabschnittverlaufsrichtung) aus. Das heißt, in diesem Fall, bei dem es sich um den Fall handelt, in dem sich der Befehlspfad von einer geraden Linie zu einem Bogen verändert, werden eine Koordinate xb an einer Verbindung (einem Grenzpunkt) zwischen der geraden Linie und dem Bogen und eine Verlaufsrichtung vb im linearen Abschnitt unmittelbar vor der Verbindung als die Formmerkmalsbeträge ausgegeben.
-
Eine Bestimmung, ob der Befehlspfad eine gekrümmte Linie oder eine gerade Linie ist, und eine Bestimmung eines Grenzpunkts können durch mehrere nachstehend beschriebene Verfahren erfolgen, und es lässt sich ein beliebiges dieser Verfahren einsetzen. Und zwar umfassen diese: (1) ein Verfahren, bei dem geprüft wird, ob eine Krümmung des Befehlspfads 0 (Null) beträgt oder nicht, der Befehlspfad als eine gerade Linie, wenn die Krümmung 0 (Null) beträgt, oder als eine gekrümmte Linie bestimmt wird, wenn die Krümmung nicht 0 (Null) beträgt, und ein Punkt, an dem sich die Krümmung von 0 (Null) auf einen nicht Null betragenden Wert verändert, als Grenzwert bezeichnet wird; (2) ein Verfahren, bei dem geprüft wird, ob eine Beschleunigung in der normalen Richtung des Befehlspfads (eine Strecke eines Vektors, der erhalten wird, indem ein Beschleunigungsvektor, der durch zweimaliges Differenzieren momentaner Positionsbefehlsvektoren im Hinblick auf Zeit erhalten wird, in der normalen Richtung des Befehlspfads projiziert wird) 0 (Null) beträgt oder nicht, der Befehlspfad als eine gerade Linie, wenn die Beschleunigung 0 (Null) beträgt oder, wenn nicht, als eine gekrümmte Linie bestimmt wird, und ein Punkt, an dem die Strecke des Beschleunigungsvektors sich von 0 auf einen nicht Null betragenden Wert verändert, als Grenzpunkt bezeichnet wird; und (3) ein Verfahren, bei dem ein NC-Programm analysiert wird, um eine Grenze zwischen einem Linearbefehl (wie etwa einem Befehl G1 in einem EIA-Code, der allgemein in der NC-Steuerung verwendet wird) und einem Kurvenbefehl (wie etwa einem Befehl G2 oder einem Befehl G3 im EIA-Code) zu extrahieren, und ein Verbindungspunkt zum Zeitpunkt des Wechsels vom Linearbefehl zum Kurvenbefehl als Grenzpunkt bezeichnet wird. Bei diesen Verfahren kann, wenn bestimmt wird, ob ein Wert 0 (Null) beträgt oder nicht, eine Bestimmung, ob ein Wert gleich einem oder niedriger als ein vorbestimmter Schwellenwert ist oder nicht, an Stelle der Bestimmung verwendet werden, ob der Wert 0 (Null) beträgt, um eine Wirkung von Rundungsfehlern in einer numerischen Operation zu vermeiden.
-
5 ist eine erläuternde Darstellung einer Operation eines Abschnitts, der einen korrigierten Positionsbefehl auf Grundlage der Formmerkmalsbeträge, des Positionsbefehls und des Bahnfehlers der Positionsvektorkorrektureinheit 2 berechnet. Zuerst wird der Bahnfehler e(t) mit einer Korrekturverstärkung α multipliziert und ein Vorzeichen von dieser umgekehrt, um einen vorübergehend korrigierten Vektor c
tmp(t) zu erhalten.
-
Die Korrekturverstärkung α wird für gewöhnlich zwischen 0 und 1 angesetzt, und wenn die Korrekturverstärkung α auf einen Wert näher an 1 gesetzt wird, kann der Bahnfehler kleiner sein. Vorzugsweise bewirkt das Ansetzen der Korrekturverstärkung α auf 1, dass der Positionsfehler korrigiert wird, um einen Fehlervektor in der normalen Richtung zu negieren, wodurch ermöglich wird, dass der Bahnfehler effektiv eingeschränkt wird.
-
Der korrigierte Positionsbefehl x(t) wird dann auf Grundlage des Verhältnisses zwischen dem Positionsbefehl, dem vorübergehend korrigierten Vektor und den Formmerkmalsbeträgen berechnet. Eine Position, die erhalten wird, nachdem der vorübergehend korrigierte Vektor ctmp(t) zu einem Positionsbefehl xc(t) hinzuaddiert wurde, wird als vorübergehend korrigierte Position xtmp(t) bezeichnet. Dabei wird in einer Ebene, die den Befehlspfad des korrigierten Vektors enthält, eine gerade Linie, die durch den Grenzpunkt xb verläuft und dieselbe Richtung hat wie die Verlaufsrichtung vb, als gerade Bezugslinie bezeichnet. Wenn sich der Positionsbefehl xc(t) und die vorübergehend korrigierte Position xtmp(t) in einem Positionsverhältnis befinden, wobei sie im Hinblick auf die gerade Bezugslinie einander entgegengesetzt sind, dann wird eine Position, die erhalten wird, indem die vorübergehend korrigierte Position xtmp(t) auf die gerade Bezugslinie verschoben wird, als der korrigierte Positionsbefehl x(t) bezeichnet, so dass der Positionsbefehl und der korrigierte Positionsbefehl sich nicht in dem Positionsverhältnis befinden, wobei sie im Hinblick auf die gerade Bezugslinie einander entgegengesetzt sind. Befinden sich andererseits der Positionsbefehl xc(t) und die vorübergehend korrigierte Position xtmp(t) nicht in einem Positionsverhältnis, wobei sie im Hinblick auf die gerade Bezugslinie einander entgegengesetzt sind, dann wird die vorübergehend korrigierte Position xtmp(t) so wie sie ist als der korrigierte Positionsbefehl x(t) bezeichnet.
-
Eine Reihe von Berechnungen zum Ermitteln des korrigierten Positionsbefehls x(t) wird durch Gleichungen wie folgt ausgedrückt. Zuerst werden der Positionsbefehl x
c(t) und die vorübergehend korrigierte Position x
tmp(t) in Vektoren umgerechnet, die vom Grenzpunkt x
b ausgehen, und die erhaltenen Vektoren werden als x
c'(t), x
tmp'(t) bezeichnet.
-
Als Nächstes wird ein Vektor, der durch den Grenzpunkt x
b und senkrecht zur geraden Bezugslinie verläuft, als normaler Bezugsvektor n
b ermittelt. Dabei wird die Richtung des normalen Bezugsvektors so angesetzt, dass das innere Produkt des normalen Bezugsvektors n
b und eine Differenz x
c' zwischen dem Positionsbefehl und der Grenzpunktposition positiv wird. Darüber hinaus wird die Länge des normalen Bezugsvektors auf 1 (Eins) standardisiert.
-
Das innere Produkt des Vektors x
tmp'(t) ab dem Grenzpunkt x
b zur vorübergehend korrigierten Position x
tmp(t) und zum normalen Bezugsvektor n
b wird dann ermittelt, und wenn ein Wert des inneren Produkts negativ ist, wird die vorübergehend korrigierte Position x
tmp(t) ab dem Grenzpunkt x
b wie nachstehend beschrieben korrigiert, um dadurch die korrigierte Position x(t) zu erhalten.
-
Ist hingegen das innere Produkt des Vektors x
tmp'(t) ab dem Grenzpunkt x
b zur vorübergehend korrigierten Position x
tmp(t) und zum normalen Bezugsvektor n
b gleich oder größer als 0 (Null), wird die vorübergehend korrigierte Position x
tmp(t) so wie sie ist als korrigierte Position x(t) bezeichnet. Wenn das innere Produkt eines Vektors ab der Grenzpunktposition zum korrigierten Positionsbefehl, das durch die Gleichung (10) erhalten wird, und der normale Bezugsvektor hergenommen werden, wird es zu 0, wie durch die folgende Gleichung gezeigt ist.
-
Das heißt, es lässt sich verstehen, dass sich der korrigierte Positionsbefehl, der durch die Gleichung (10) erhalten wird, auf der geraden Bezugslinie befindet.
-
In der vorliegenden Ausführungsform gibt es zwei bewegliche Achsen. Deshalb werden ein erstes Element x1(t) und ein zweites Element x2(t) der korrigierten Position x(t) korrigierte Positionsbefehle für die erste Achse bzw. zweite Achse. Bei der Erstachsenservosteuerungseinheit 7 (11) und der Zweitachsenservosteuerungseinheit 8 (11) werden der Erstachsen- und Zweitachsenmotor auf Grundlage der in 2 gezeigten Servosteuerungseinheit 11 im Ansprechen auf die korrigierten Positionsbefehle x1(t) bzw. x2(t) angetrieben, wodurch die Position des beweglichen Teils der Maschine gesteuert wird.
-
6 weist Darstellungen auf, die eine Bahnfehlereinschränkungswirkung zeigen, wenn eine Bahnsteuerung gemäß der vorliegenden Ausführungsform durchgeführt wird. In 6 stellt (a) eine Bahn dar, wenn keine Korrektur des Positionsvektors erfolgt (wenn ein Positionsbefehl direkt in die Servosteuerungseinheit eingegeben wird), (b) stellt eine Bahn dar, wenn eine Korrektur des Positionsvektors erfolgt, aber keine Formmerkmalsbestimmung durchgeführt wird, das heißt, wenn die vorstehend beschriebene vorübergehend korrigierte Position xtmp(t) zu allen Zeitpunkten direkt als der korrigierte Positionsbefehl verwendet wird, und (c) stellt ein Bahn dar, wenn eine Korrektur des Positionsvektors erfolgt und auch die Formmerkmalsbestimmung durchgeführt wird, wobei eine dünne durchgezogene Linie einen Befehlspfad, eine dicke durchgezogene Linie einen Pfad des korrigierten Positionsbefehls, und eine unterbrochene Linie eine Servosystemreaktionsbahn bezeichnet. Der Befehlspfad verändert sich von einer geraden Linie zu einem Bogen. Wenn in (a) keine Korrektur des Positionsvektors erfolgt, ist die Servosystemreaktionsbahn ein in einem Bogenteil sich nach innen wendender Pfad aufgrund einer Ansprechverzögerung des Servosystems, und ein Bahnfehler tritt in ihm auf. Wenn in (b) eine Korrektur des Positionsvektors erfolgt, aber keine Formmerkmalsbestimmung durchgeführt wird, wölbt sich der korrigierte Positionsbefehl nach außen und im Ergebnis wird der Bahnfehler einige Zeit, nachdem sich der Positionsbefehl von der geraden Linie zum Bogen verändert, im Wesentlichen zu 0 (Null). Jedoch wölbt sich die Servosystemreaktionsbahn nahe einer Verbindung (einem Grenzpunkt) zwischen der geraden Linie und dem Bogen aufgrund des Einflusses, dass sich der korrigierte Positionsbefehl nach außen wölbt, nach außen, wodurch ein Bahnfehler verursacht wird. Wenn unterdessen in (c) sowohl eine Korrektur des Positionsvektors als auch eine Formmerkmalsbestimmung erfolgen, tritt, weil der korrigierte Positionsbefehl so erzeugt wird, dass er eine gerade Linie nicht nach außen überschreitet, die durch den Grenzpunkt verläuft und dieselbe Richtung hat wie die Verlaufsrichtung des linearen Abschnitts, keinerlei Wölbung der Servosystemreaktionsbahn nahe dem Grenzpunkt auf, wodurch es ermöglicht wird, den Bahnfehler einzuschränken.
-
Wie vorstehend beschrieben, wird gemäß der ersten Ausführungsform die korrigierte Position aufgrund des Formmerkmalsbetrags berechnet, der von der Formmerkmalsbestimmungseinheit ausgegeben wird, die bestimmt, ob es sich bei dem Befehlspfad um eine gerade Linie oder eine gekrümmte Linie handelt. Deshalb kann, selbst wenn die Größenordnung und Richtung des Bahnfehler sich übergangsweise an einem Grenzabschnitt oder Wendepunkt zwischen einer geraden Linie und einer gekrümmten Linie, beispielsweise in eine angewiesene Form mit einer geraden Linie und einer gekrümmten Linie, die kontinuierlich verbunden sind, verändern, der Bahnfehler effektiv eingeschränkt werden, wodurch eine Bahngenauigkeit verbessert wird. Im Ergebnis können Bearbeitungsmängel wie Fehler oder parallele Rillen auf der bearbeiteten Fläche vermieden werden, wodurch die Qualität der bearbeiteten Fläche verbessert wird.
-
Darüber hinaus wird gemäß der ersten Ausführungsform eine Position, die erhalten wird, indem ein Korrekturvektor, der erhalten wird, indem eine Differenz zwischen der Servosystemreaktionsbahn und dem Positionsbefehl mit der Korrekturverstärkung multipliziert wird, zum Positionsbefehl hinzuaddiert wird, als vorübergehend korrigierte Position bezeichnet, und darüber hinaus wird ein korrigierter Positionsvektor auf Grundlage des Positionsverhältnisses zwischen dem Positionsbefehl, der vorübergehend korrigierten Position und den Formmerkmalsbeträgen berechnet, um jede axiale Komponente des Positionsvektors als den korrigierten Positionsbefehl auszugeben, wodurch es ermöglicht wird, den Bahnfehler ungeachtet der angewiesenen Form und des Servosystemansprechens einzuschränken.
-
Darüber hinaus wird gemäß der ersten Ausführungsform ein Abschnitt extrahiert, in dem sich die Positionsbefehlsbahn von einer geraden Linie zu einer gekrümmten Linie verändert, und es werden eine Position von deren Grenzpunkt und eine Verlaufsrichtung unmittelbar vor dem Grenzpunkt als Formmerkmalsbeträge ausgegeben. Wenn der Positionsbefehl und die vorübergehend korrigierte Position im Hinblick auf die gerade Bezugslinie einander entgegengesetzt werden, was durch die Verlaufsrichtung unmittelbar vor dem Grenzpunkt nahe dem Grenzpunkt bestimmt wird, bezeichnet die Positionsvektorkorrektureinheit eine Position, die erhalten wird, indem die vorübergehend korrigierte Position auf die gerade Bezugslinie verschoben wird, als den korrigierten Positionsbefehl, um den korrigierten Positionsvektor so zu berechnen, dass ein Positionsbefehl vor einer Korrektur und ein korrigierter Positionsbefehl kein Positionsverhältnis haben, wobei sie einander im Hinblick auf die gerade Bezugslinie entgegengesetzt sind. Dementsprechend kann ein Bahnfehler in einem Abschnitt eingeschränkt werden, der von einer geraden Linie in eine gekrümmte Linie übergeht.
-
Indem darüber hinaus gemäß der ersten Ausführungsform ein über zwei Freiheitsgrade verfügendes Steuergerät verwendet wird, das ein Referenzmodell der Servosteuerungseinheit verwendet, kann ein Ansprechen der Servosteuerungseinheit aus dem Ansprechen des Referenzmodells ungeachtet der Kenneigenschaften eines Steuerungsziels genau berechnet werden. Indem darüber hinaus eine Reaktionsbahn unter Verwendung des Referenzmodells ermittelt wird, um den Positionsbefehl zu korrigieren, kann ein vom Ansprechverhalten der Servosteuerungseinheit herrührender Bahnfehler genau korrigiert werden.
-
Obwohl in der ersten Ausführungsform die Anzahl der beweglichen Achsen zwei beträgt, kann die Anzahl der beweglichen Achsen auch drei oder mehr betragen. Eine ähnliche Korrektur kann unter Verwendung eines drei- oder mehrdimensionalen Vektors an Stelle eines zweidimensionalen Vektors für den Vektor der Servosystemreaktionsbahn, den Fehlervektor und den Korrekturvektor durchgeführt werden.
-
Zweite Ausführungsform
-
Die Auslegung einer zweiten Ausführungsform ist im Wesentlichen dieselbe wie diejenige der ersten Ausführungsform, und somit ist die Auslegung der zweiten Ausführungsform äquivalent in 1 gezeigt. Merkmale der zweiten Ausführungsform, die sich von der ersten Ausführungsform unterscheiden, sind ein Bezugspunkt und ein Bestimmungssystem für den Korrekturvektor in einer Korrekturvektorberechnungseinheit 3. Diese verschiedenen Merkmale werden nachstehend erläutert.
-
Die Operationen der Servosystemreaktionsbahnberechnungseinheit 1 gemäß der zweiten Ausführungsform sind identisch mit denjenigen der ersten Ausführungsform. Für die Operationen der Positionsvektorkorrektureinheit 2 ist ein Berechnungsteil für den Bahnfehler identisch mit demjenigen in der ersten Ausführungsform. 7 stellt einen Funktionsablauf der Formmerkmalsbestimmungseinheit 9 gemäß der zweiten Ausführungsform dar. In der vorliegenden Ausführungsform wird vom Fall eines Übergangs von einem Bogen zu einer geraden Linie ausgegangen. Deshalb wird ein Koordinatenwert an einer Verbindung (einem Grenzpunkt) zwischen dem Bogen und der geraden Linie als ein Formmerkmalsbetrag (eine Koordinate des Grenzpunkts) ausgegeben, und eine Verlaufsrichtung eines linearen Abschnitts nach einem Verlauf durch den Grenzpunkt wird als ein anderer Formmerkmalsbetrag (die Linearabschnittsverlaufsrichtung) ausgegeben.
-
Eine Bestimmung, ob es sich bei dem Befehlspfad um die gekrümmte Linie oder die gerade Linie handelt, und eine Bestimmung des Grenzpunkts können durch mehrere nachstehend beschriebene Verfahren erfolgen, und es lässt sich ein beliebiges dieser Verfahren einsetzen. Und zwar umfassen diese: (1) ein Verfahren, bei dem geprüft wird, ob eine Krümmung des Befehlspfads 0 (Null) beträgt oder nicht, der Befehlspfad als eine gerade Linie, wenn die Krümmung 0 (Null) beträgt, oder als eine gekrümmte Linie bestimmt wird, wenn die Krümmung nicht 0 (Null) beträgt, und ein Punkt, an dem sich die Krümmung von 0 (Null) auf einen nicht Null betragenden Wert verändert, als Grenzwert bezeichnet wird; (2) ein Verfahren, bei dem geprüft wird, ob eine Beschleunigung in der normalen Richtung des Befehlspfads (eine Strecke eines Vektors, der erhalten wird, indem ein Beschleunigungsvektor, der durch zweimaliges Differenzieren momentaner Positionsbefehlsvektoren im Hinblick auf Zeit erhalten wird, in der normalen Richtung des Befehlspfads projiziert wird) 0 (Null) beträgt oder nicht, der Befehlspfad als eine gerade Linie, wenn die Beschleunigung 0 (Null) beträgt oder, wenn nicht, als eine gekrümmte Linie bestimmt wird, und ein Punkt, an dem die Strecke des Beschleunigungsvektors sich von 0 auf einen nicht Null betragenden Wert verändert, als Grenzpunkt bezeichnet wird; und (3) ein Verfahren, bei dem ein NC-Programm analysiert wird, um eine Grenze zwischen einem Linearbefehl (wie etwa einem Befehl G1 in einem EIA-Code, der allgemein in der NC-Steuerung verwendet wird) und einem Kurvenbefehl (wie etwa einem Befehl G2 oder einem Befehl G3 im EIA-Code) zu extrahieren, und ein Verbindungspunkt, an dem der Kurvenbefehl zum Linearbefehl wechselt, als Grenzpunkt bezeichnet wird. Bei diesen Verfahren kann, wenn bestimmt wird, ob ein Wert 0 (Null) beträgt oder nicht, um eine Auswirkung von Rundungsfehlern in einer arithmetischen Berechnung zu vermeiden, eine Bestimmung, ob ein Wert gleich einem oder niedriger als ein vorbestimmter Schwellenwert ist oder nicht, an Stelle der Bestimmung verwendet werden, ob ein Wert 0 beträgt.
-
8 ist eine erläuternde Darstellung einer Operation eines Abschnitts, der einen korrigierten Positionsbefehl auf Grundlage der Formmerkmalsbeträge, des Positionsbefehls und des Bahnfehlers der Positionsvektorkorrektureinheit 2 in der zweiten Ausführungsform der vorliegenden Erfindung berechnet. Eine Vorgehensweise zum Berechnen des korrigierten Positionsbefehls ist identisch mit derjenigen in der ersten Ausführungsform; allerdings wird in der vorliegenden Ausführungsform von einer Operation ausgegangen, wenn sich der Befehlspfad von einem Bogen zu einer geraden Linie verändert. Deshalb wird ein vorübergehend korrigierten Vektor ctmp(t) unter Verwendung der Gleichung (6) aus dem Bahnfehler in einem Bogenabschnitt vor dem Grenzpunkt berechnet, und ein korrigierter Positionsbefehl x(t) wird aufgrund eines Positionsverhältnisses zwischen dem vorübergehend korrigierten Vektor, der Grenzpunktkoordinate xb und der Verlaufsrichtung vb berechnet. Beim Ermitteln einer korrigierten Position wird ein normaler Bezugsvektor unter Verwendung der Gleichung (9) und des inneren Produkts des Vektors xtmp'(t) ab dem Grenzpunkt xb zur vorübergehend korrigierten Position xtmp(t) und des normalen Bezugsvektors nb berechnet. Wenn der Wert des inneren Produkts negativ ist, wird die vorübergehend korrigierte Position xtmp(t) unter Verwendung der Gleichung (10) korrigiert, um dadurch die korrigierte Position x(t) zu erhalten. Ist hingegen das innere Produkt des Vektors xtmp'(t) ab dem Grenzpunkt xb zur vorübergehend korrigierten Position xtmp(t) und zum normalen Bezugsvektor nb gleich oder größer als 0 (Null), wird die vorübergehend korrigierte Position xtmp(t) direkt als korrigierte Position x(t) verwendet. Die Funktionsabläufe der Erstachsenservosteuerungseinheit 7 und der Zweitachsenservosteuerungseinheit 8 sind identisch mit denjenigen in der ersten Ausführungsform.
-
Wie vorstehend beschrieben, wird gemäß der zweiten Ausführungsform die korrigierte Position aufgrund der Formmerkmalsbeträge berechnet, die von der Formmerkmalsbestimmungseinheit ausgegeben werden, die bestimmt, ob es sich bei dem Befehlspfad um eine gerade Linie oder eine gekrümmte Linie handelt. Deshalb kann, selbst wenn die Größenordnung und Richtung des Bahnfehlers sich übergangsweise an einem Grenzabschnitt oder Wendepunkt zwischen einer geraden Linie und einer gekrümmten Linie, beispielsweise in eine angewiesene Form, in der eine gerade Linie und eine gekrümmte Linie kontinuierlich verbunden sind, verändern, der Bahnfehler effektiv eingeschränkt werden, wodurch eine Bahngenauigkeit verbessert wird. Im Ergebnis können Bearbeitungsmängel wie Fehler oder parallele Rillen auf der bearbeiteten Fläche vermieden werden, wodurch die Qualität der bearbeiteten Fläche verbessert wird.
-
Darüber hinaus wird gemäß der zweiten Ausführungsform eine Position, die erhalten wird, indem ein Korrekturvektor, der erhalten wird, indem eine Differenz zwischen der Servosystemreaktionsbahn und dem Positionsbefehl mit der Korrekturverstärkung multipliziert wird, zum Positionsbefehl hinzuaddiert wird, als vorübergehend korrigierte Position bezeichnet, und darüber hinaus wird ein korrigierter Positionsvektor auf Grundlage des Positionsverhältnisses zwischen dem Positionsbefehl, der vorübergehend korrigierten Position und den Formmerkmalsbeträgen berechnet, um jede axiale Komponente des Positionsvektors als den korrigierten Positionsbefehl auszugeben, wodurch es ermöglicht wird, den Bahnfehler ungeachtet der angewiesenen Form und des Servosystemansprechens einzuschränken.
-
Darüber hinaus wird gemäß der zweiten Ausführungsform ein Abschnitt extrahiert, in dem sich die Positionsbefehlsbahn von einer gekrümmten Linie zu einer geraden Linie verändert, und es werden die Position von deren Grenzpunkt und eine Verlaufsrichtung unmittelbar vor dem Grenzpunkt als Formmerkmalsbeträge ausgegeben. Wenn der Positionsbefehl und die vorübergehend korrigierte Position im Hinblick auf die gerade Bezugslinie einander entgegengesetzt werden, was durch die Verlaufsrichtung unmittelbar vor dem Grenzpunkt nahe dem Grenzpunkt bestimmt wird, verwendet die Positionsvektorkorrektureinheit eine Position, die erhalten wird, indem die vorübergehend korrigierte Position auf die gerade Bezugslinie verschoben wird, als den korrigierten Positionsbefehl, um den korrigierten Positionsvektor so zu berechnen, dass ein Positionsbefehl vor einer Korrektur und ein korrigierter Positionsbefehl kein Positionsverhältnis mit den Befehlen haben, die einander im Hinblick auf die gerade Bezugslinie entgegengesetzt sind. Dementsprechend ist es möglich, einen Bahnfehler in einem Abschnitt einzuschränken, der von einer gekrümmten Linie in eine gerade Linie übergeht.
-
Indem darüber hinaus gemäß der zweiten Ausführungsform ein über zwei Freiheitsgrade verfügendes Steuergerät, das ein Referenzmodell verwendet, für die Servosteuerungseinheit verwendet wird, kann ein Ansprechen der Servosteuerungseinheit aus dem Ansprechen des Referenzmodells ungeachtet der Kenneigenschaften des gesteuerten Gegenstands genau berechnet werden. Indem darüber hinaus eine Reaktionsbahn unter Verwendung des Referenzmodells ermittelt wird, um den Positionsbefehl zu korrigieren, kann ein vom Ansprechverhalten der Servosteuerungseinheit herrührender Bahnfehler genau korrigiert werden.
-
Obwohl in der zweiten Ausführungsform die Anzahl der beweglichen Achsen zwei beträgt, kann die Anzahl der beweglichen Achsen auch drei oder mehr betragen. Eine ähnliche Korrektur kann unter Verwendung eines drei- oder mehrdimensionalen Vektors an Stelle eines zweidimensionalen Vektors für den Vektor der Servosystemreaktionsbahn, den Fehlervektor und den Korrekturvektor durchgeführt werden.
-
Dritte Ausführungsform
-
Die Auslegung einer dritten Ausführungsform ist im Wesentlichen dieselbe wie diejenige der zweiten Ausführungsform, und somit ist deren Gesamtauslegung äquivalent in 1 gezeigt. Bei einem Merkmal der dritten Ausführungsform, das sich von denjenigen der zweiten Ausführungsform unterscheidet, handelt es sich um eine Operation der Servosystemreaktionsbahnberechnungseinheit. Darüber hinaus werden Folgebogenbefehle, deren Ausrichtungen sich unterscheiden, als eine Form des Befehlspfads bereitgestellt.
-
9 ist eine erläuternde Darstellung einer Operation der Servosystemreaktionsbahnberechnungseinheit 1 in der dritten Ausführungsform. In der dritten Ausführungsform wird die Servosystemreaktionsbahn nicht unter Verwendung des Servosystemmodells, sondern unter Verwendung lediglich der Information des Positionsbefehls ermittelt. Wenn die angewiesene Form eine Form hat, die sich übergangslos verändert, wie etwa ein Bogen, tritt tendenziell ein Bahnfehler in einem Beschleunigungsabschnitt des Befehlspfads im Verhältnis zur Größenordnung einer Beschleunigung auf. Ein Proportionalitätskoeffizient von dieser wird auf Grundlage des Ansprechverhaltens der Servosystems bestimmt. Die Position der Servosystemreaktion in einer Zeit t wird ermittelt, indem ein Fehlervektor e(t) zu dem Positionsbefehl in derselben Zeit hinzuaddiert wird. Der Bahnfehlervektor e(t) wird ermittelt, indem ein Beschleunigungsvektor d
2x
c/dt
2 des Positionsbefehls mit einem Koeffizienten „a“ multipliziert wird. Der Koeffizient „a“ wird so angesetzt, dass er proportional zu einem Quadrat einer Servosystemreaktionsverzögerungszeit t
d ist. Dieser Verhältnisausdruck wird durch ein Verfahren zum Ermitteln eines Verhältnisses zwischen der Befehlsbeschleunigung und einem Bahnfehlerbetrag durch eine tatsächliche Messung oder ein Verfahren zum analytischen Ermitteln eines Verhältnisses zwischen einem theoretischen Wert des Bahnfehlerbetrags zur Zeit eines Bogenbefehls und der Befehlsbeschleunigung angesetzt. Im letztgenannten Verfahren wird der Bahnfehlerbetrag zur Zeit des Bogenbefehls ermittelt, indem ein Wert, der erhalten wird, indem ein Absolutwert einer Transferfunktion einer Servosystemfrequenzreaktion mit einem Befehlsradius multipliziert wird, von einem Befehlsradius subtrahiert wird, und der Bahnfehlerbetrag durch die angewiesene Beschleunigung dividiert wird, wodurch das Verhältnis erhalten wird. Dies wird durch die folgende Gleichung ausgedrückt. Zu der Zeit, in der der Bogenbefehl einen Radius R und eine Winkelgeschwindigkeit ω hat, wird ein Verhältnis zwischen dem Bahnfehlerbetrag und der angewiesenen Beschleunigung unter Verwendung einer Transferfunktion G(s) des Servosystems bereitgestellt.
worin j eine imaginäre Einheit ist.
-
In dem in
2 gezeigten Servosteuerungssystem wird die Transferfunktion durch die Gleichung (1) ausgedrückt, und die Servosystemreaktionsverzögerungszeit wird durch die Gleichung (4) ausgedrückt. Wenn die zweite Modellverstärkung das Vierfache der ersten Modellverstärkung ist, d.h. K
2 = 4K
1 beträgt, gilt, wenn ein Verhältnis zwischen dem Bahnfehlerbetrag und der Servosystemreaktionsverzögerungszeit unter Verwendung der Gleichung (12) ermittelt wird, die folgende Gleichung.
-
10 stellt einen Funktionsablauf der Formmerkmalsbestimmungseinheit 9 gemäß der dritten Ausführungsform dar. In der vorliegenden Ausführungsform wird von einem Funktionsablauf ausgegangen, bei dem Bögen in verschiedenen Richtungen kontinuierlich angewiesen werden. Entsprechend wird ein Koordinatenwert an einer Verbindung (einem Grenzpunkt) zwischen den Bögen als der Formmerkmalsbetrag (die Koordinate am Grenzpunkt) ausgegeben, und eine Verlaufsrichtung am Grenzpunkt wird als ein anderer Formmerkmalsbetrag (die Linearabschnittverlaufsrichtung) ausgegeben. Dabei wird die Verlaufsrichtung zu einer Tangentialrichtung einer gekrümmten Linie am Grenzpunkt. Dies kann als ein Fall interpretiert werden, bei dem ein winziger gerader Linienabschnitt zwischen dem ersten Bogen und dem zweiten Bogen vorhanden ist.
-
Eine Bestimmung des Grenzpunkts kann durch mehrere nachstehend beschriebene Verfahren erfolgen, und es lässt sich ein beliebiges dieser Verfahren einsetzen. Und zwar umfassen diese: (1) ein Verfahren, bei dem geprüft wird, ob eine Krümmung des Befehlspfads 0 (Null) beträgt oder nicht, der Befehlspfad als eine gerade Linie, wenn die Krümmung 0 (Null) beträgt, oder als eine gekrümmte Linie bestimmt wird, wenn die Krümmung nicht 0 (Null) beträgt, und geprüft wird, ob sich eine Mitte der Krümmung beim Vorrücken in der Verlaufsrichtung auf der rechten Seite oder der linken Seite befindet, und ein Punkt, an dem sich die Rechts-Links-Richtung der Mitte der Krümmung verändert, als Grenzpunkt bezeichnet wird; (2) ein Verfahren, bei dem geprüft wird, ob eine Beschleunigung in der normalen Richtung des Befehlspfads (eine Strecke eines Vektors, der erhalten wird, indem ein Beschleunigungsvektor, der durch zweimaliges Differenzieren momentaner Positionsbefehlsvektoren im Hinblick auf Zeit erhalten wird, in der normalen Richtung des Befehlspfads projiziert wird) 0 (Null) beträgt oder nicht, der Befehlspfad als eine gerade Linie, wenn die Beschleunigung 0 (Null) beträgt oder, wenn nicht, als eine gekrümmte Linie bestimmt wird, und darüber hinaus das äußere Produkt des Beschleunigungsvektors und ein Geschwindigkeitsvektor geprüft wird, und ein Punkt, an den sich ein Vorzeichen des äußeren Produkts verändert, als Grenzpunkt bezeichnet wird; und (3) ein Verfahren, bei dem ein NC-Programm analysiert wird, um eine Grenze zwischen Kurvenbefehlen mit verschiedenen Krümmungsrichtungen (wie etwa einem Befehl G2 oder einem Befehl G3 im EIA-Code, der allgemein bei der NC-Steuerung verwendet wird) zu extrahieren. Bei diesen Verfahren kann, wenn bestimmt wird, ob ein Wert 0 (Null) beträgt oder nicht, um eine Auswirkung von Rundungsfehlern in einer arithmetischen Berechnung zu vermeiden, eine Bestimmung, ob ein Wert gleich einem oder niedriger als ein vorbestimmter Schwellenwert ist oder nicht, an Stelle der Bestimmung verwendet werden, ob ein Wert 0 (Null) beträgt.
-
11 ist eine erläuternde Darstellung einer Operation eines Abschnitts, der einen korrigierten Positionsbefehl auf Grundlage der Formmerkmalsbeträge, des Positionsbefehls und des Bahnfehlers der Positionsvektorkorrektureinheit 2 in der dritten Ausführungsform berechnet. Eine Vorgehensweise zum Berechnen des korrigierten Positionsbefehls ist identisch mit derjenigen in der ersten Ausführungsform. Jedoch wird in der vorliegenden Ausführungsform von einem Funktionsablauf ausgegangen, bei dem die Bögen, die verschiedene Richtungen haben, kontinuierlich angewiesen werden. Dazu wird ein vorübergehend korrigierter Vektor ctmp(t)aus dem Bahnfehler unter Verwendung der Gleichung (6) berechnet, und ein korrigierter Positionsbefehl x(t) wird auf Grundlage eines Positionsverhältnisses zwischen dem vorübergehend korrigierten Vektor, einer Koordinate xb am Grenzpunkt und der Verlaufsrichtung vb jeweils in einem Bogenabschnitt vor dem Grenzpunkt und einem Bogenabschnitt nach dem Grenzpunkt berechnet. Beim Ermitteln einer korrigierten Position wird ein normaler Bezugsvektor unter Verwendung der Gleichung (9) berechnet, und es wird das innere Produkt des Vektors xtmp'(t) ab dem Grenzpunkt xb zur vorübergehend korrigierten Position xtmp(t) und zum normalen Bezugsvektor nb erhalten. Wenn der Wert des inneren Produkts negativ ist, wird die vorübergehend korrigierte Position xtmp(t) unter Verwendung der Gleichung (10) korrigiert, um dadurch die korrigierte Position x(t) zu erhalten. Ist hingegen das innere Produkt des Vektors xtmp'(t) ab dem Grenzpunkt xb zur vorübergehend korrigierten Position xtmp(t) und zum normalen Bezugsvektor nb gleich oder größer als 0 (Null), wird die vorübergehend korrigierte Position xtmp(t) direkt als die korrigierte Position x(t) verwendet. Die Funktionsabläufe der Erstachsenservosteuerungseinheit 7 und der Zweitachsenservosteuerungseinheit 8 sind identisch mit denjenigen in der ersten Ausführungsform.
-
Wie vorstehend beschrieben, wird gemäß der dritten Ausführungsform die korrigierte Position aufgrund des Formmerkmalsbetrags berechnet, der von der Formmerkmalsbestimmungseinheit ausgegeben wird, die bestimmt, ob es sich bei dem Befehlspfad um eine gerade Linie oder eine gekrümmte Linie handelt. Deshalb kann, selbst wenn die Größenordnung und Richtung des Bahnfehler sich übergangsweise an einem Grenzabschnitt oder Wendepunkt zwischen einer geraden Linie und einer gekrümmten Linie, beispielsweise in eine angewiesene Form verändert, bei der eine gerade Linie und eine gekrümmte Linie kontinuierlich verbunden sind, der Bahnfehler effektiv eingeschränkt werden, wodurch eine Bahngenauigkeit verbessert wird. Im Ergebnis können Bearbeitungsmängel wie Fehler oder parallele Rillen auf der bearbeiteten Fläche vermieden werden, wodurch die Qualität der bearbeiteten Fläche verbessert wird.
-
Darüber hinaus wird gemäß der dritten Ausführungsform eine Position, die erhalten wird, indem ein Korrekturvektor, der erhalten wird, indem eine Differenz zwischen der Servosystemreaktionsbahn und dem Positionsbefehl mit der Korrekturverstärkung multipliziert wird, zum Positionsbefehl hinzuaddiert wird, als vorübergehend korrigierte Position bezeichnet, und darüber hinaus wird ein korrigierter Positionsvektor auf Grundlage des Positionsverhältnisses zwischen dem Positionsbefehl, der vorübergehend korrigierten Position und den Formmerkmalsbeträgen berechnet, um jede axiale Komponente des Positionsvektors als den korrigierten Positionsbefehl auszugeben, wodurch es ermöglicht wird, den Bahnfehler ungeachtet der angewiesenen Form und des Servosystemansprechens einzuschränken.
-
Darüber hinaus wird gemäß der dritten Ausführungsform ein Abschnitt des Wendepunkts der Positionsbefehlsbahn, das heißt ein Verbindungspunkt extrahiert, wenn Bögen mit verschiedenen Richtungen kontinuierlich angewiesen werden, und die Position an dessen Grenze und die Verlaufsrichtung an der Grenze werden als Formmerkmalsbeträge ausgegeben. Wenn der Positionsbefehl und die vorübergehend korrigierte Position im Hinblick auf die gerade Bezugslinie einander entgegengesetzt werden, was durch die Verlaufsrichtung unmittelbar vor dem Grenzpunkt nahe dem Grenzpunkt bestimmt wird, bezeichnet die Positionsvektorkorrektureinheit eine Position, an der die vorübergehend korrigierte Position auf die gerade Bezugslinie verschoben wird, als den korrigierten Positionsbefehl, um den korrigierten Positionsvektor so zu berechnen, dass ein Positionsbefehl vor einer Korrektur und ein korrigierter Positionsbefehl kein Positionsverhältnis mit den Befehlen haben, die einander im Hinblick auf die gerade Bezugslinie entgegengesetzt sind. Dementsprechend kann ein Bahnfehler in einem Abschnitt des Wendepunkts einer angewiesenen Kurve eingeschränkt werden.
-
Indem darüber hinaus gemäß der dritten Ausführungsform eine Servosystemreaktionsbahn lediglich auf Grundlage der Information über die Positionsbefehlsbahn, ohne eine Modell der Servosteuerungseinheit zu verwenden, erhalten wird, kann ein Berechnungsaufwand zum Ermitteln der Servosystemreaktionsbahn reduziert werden.
-
Obwohl in der dritten Ausführungsform die Anzahl der beweglichen Achsen zwei beträgt, kann die Anzahl der beweglichen Achsen auch drei oder mehr betragen. Eine ähnliche Korrektur kann unter Verwendung eines drei- oder mehrdimensionalen Vektors an Stelle eines zweidimensionalen Vektors für den Vektor der Servosystemreaktionsbahn, den Fehlervektor und den Korrekturvektor durchgeführt werden.
-
Industrielle Anwendbarkeit
-
Wie vorstehend beschrieben, ist die Bahnsteuerungsvorrichtung gemäß der vorliegenden Ausführungsform geeignet, um auf eine Bahnsteuerungsvorrichtung angewendet zu werden, bei der ein beweglicher Abschnitt einer Maschine durch mehrere bewegliche Achsen angetrieben wird, und eine Bahn des beweglichen Abschnitts gesteuert wird, indem Motoren der beweglichen Achsen gleichzeitig gesteuert werden.
-
Bezugszeichenliste
-
- 1
- Servosystemreaktionsbahnberechnungseinheit
- 2
- Positionsvektorkorrektureinheit
- 7
- Erstachsenservosteuerungseinheit
- 8
- Zweitachsenservosteuerungseinheit
- 9
- Formmerkmalsbestimmungseinheit
- 10
- Bahnsteuerungsvorrichtung
- 11
- Servosteuerungseinheit
- 12
- Referenzmodelleinheit
- 13
- Mechanisches System
- 20, 22, 26
- Subtrahierglied
- 21, 23
- Modellverstärkungsmultiplizierglied
- 24, 25
- Integrierglied
- 31
- Addierglied
- 27
- Positionssteuerungseinheit
- 28
- Addier-/Subtrahierglied
- 29
- Drehzahlregelungseinheit
- 30
- Multiplizierglied
- 32
- Motor
- 33
- Last