-
[Technischer Bereich]
-
Die vorliegende Erfindung bezieht sich auf ein Steuergerät und ein computerlesbares Speichermedium, das ein Programm speichert.
-
[Stand der Technik]
-
Bei der Erstellung eines Steuerungsprogramms für die Bearbeitung einer glatten, frei gekrümmten Oberfläche mit einer industriellen Maschine, wie z. B. einer Werkzeugmaschine oder einer Funkenerosionsmaschine, wird eine durch computergestütztes Design (CAD) erstellte gekrümmte Linie durch computergestützte Fertigung (CAM) in eine Folge von Punkten umgesetzt. Diese Punkte werden als Befehlspunkte bezeichnet. Durch die Umwandlung in eine Folge von Instruktionspunkten wird die gekrümmte Linie als eine Vielzahl von aufeinanderfolgenden Mikroliniensegmenten dargestellt.
-
7 ist ein Diagramm, das eine Sequenz einer Vielzahl von Befehlspunkten zeigt, die durch CAM als Beispiel umgewandelt wurden. In 7 sind mehrere Befehlspunkte 422 durch schwarze Kreise und Mikroliniensegmente 424 zwischen den Befehlspunkten 422 durch gestrichelte Linienpfeile dargestellt. Wie in 7 dargestellt, hat ein aus den Mikroliniensegmenten 424 zusammengesetzter Bewegungspfad eine polyedrische Form. Eine Steuerung erzeugt einen glatte Werkzeugpfad auf der Grundlage einer Vielzahl von Mikropunkten oder einer Vielzahl von Mikroliniensegmenten, die durch ein solches Steuerungsprogramm (z. B. Patentliteratur 1 und dergleichen) angewiesen werden. Die Steuerung bearbeitet dann ein Werkstück, während sie ein Werkzeug relativ zum Werkstück entlang des glatten Werkzeugpfads bewegt und dadurch eine glatte bearbeitete Oberfläche erzeugt.
-
Eine der Methoden zur Erzeugung eines glatten Werkzeugpfads aus einer Vielzahl von Mikroliniensegmenten ist die Glättung mit einem Tiefpassfilter, wie z. B. einem Filter mit gleitendem Mittelwert. 8 zeigt ein Beispiel für einen gekrümmten Linienpfad, der durch die Verwendung eines Tiefpassfilters zur Glättung eines polygonalen Pfades, der aus einer Vielzahl von aufeinanderfolgenden Mikro-Liniensegmenten besteht, erzeugt wird (im Folgenden als Glättungspfad bezeichnet). In 8 ist ein Glättungspfad 426 durch einen durchgezogenen Linienpfeil dargestellt. Die Glättung mit Hilfe eines Tiefpassfilters hat den Vorteil, dass die Unterbrechung zwischen benachbarten Pfaden verringert wird.
-
[Zitierliste]
-
[Patentliteratur]
-
Patentliteratur 1: Japanische Patentanmeldung Veröffentlichung Nr.
2000-353006
-
[Zusammenfassung der Erfindung]
-
[Technisches Problem]
-
Wie in 8 als Beispiel dargestellt, ist der Glättungspfad 426, der sich aus einem Tiefpassfilter ergibt, ein Pfad, der in Richtung des Hauptnormalvektors einer gekrümmten Linie, die durch die Vielzahl von Befehlspunkten 422 verläuft (die Einwärtsrichtung der Kurve der gekrümmten Linie), im Vergleich zum ursprünglichen polygonalen Pfad verschoben ist. In der vorliegenden Beschreibung wird der Betrag einer solchen Verschiebung als nach innen gedrehter Betrag bezeichnet. Der Glättungspfad ist also glatt, führt aber durch Positionen, die gegenüber den Befehlspunkten 422 verschoben sind. Das bedeutet, dass die Bearbeitungsgenauigkeit (Formgenauigkeit) verringert sein kann. Bei der Durchführung eines Glättungsprozesses ist es möglich, eine Verringerung der Bearbeitungsgenauigkeit bis zu einem gewissen Grad zu unterdrücken, indem eine Toleranz (zulässiger Fehler) festgelegt wird. Wenn jedoch eine strenge Toleranz festgelegt wird, um eine Verringerung der Bearbeitungsgenauigkeit zu unterdrücken, führt dies zu dem Problem einer unzureichenden Glättung des Pfads.
-
Dementsprechend wird eine Technologie zur ausreichenden Glättung eines Bearbeitungspfads unter Beibehaltung der Bearbeitungsgenauigkeit gewünscht.
-
[Lösung des Problems]
-
Die Steuerung gemäß der vorliegenden Offenbarung berücksichtigt einen Einwärtsdrehungsbetrag, der eine Verschiebung eines Pfades ist, die verursacht wird, wenn ein Glättungsprozess mit einem Tiefpassfilter durchgeführt wird, und führt eine Korrektur durch, so dass eine geglättete gekrümmte Linie näher an einer Vielzahl von Befehlspunkten liegt. Diese Korrektur kann an einem Glättungspfad nach dem Glättungsprozess oder an den zu verarbeitenden Befehlspunkten vor dem Glättungsprozess vorgenommen werden. Der Glättungspfad oder die Befehlspunkte werden in der entgegengesetzten Richtung zum Hauptnormalvektor der gekrümmten Linie korrigiert, die durch die Mehrzahl der Befehlspunkte verläuft (in der Auswärtsrichtung der Kurve der gekrümmten Linie).
-
Um das Vorstehende zu erreichen, ist ein Aspekt der vorliegenden Offenbarung eine Steuerung, die auf der Grundlage eines Steuerprogramms die von einer industriellen Maschine an einem Werkstück durchgeführte Bearbeitung steuert, und die Steuerung umfasst: eine Einheit zur Tiefpassfilterung, die einen Glättungspfad durch Anwenden einer Glättung unter Verwendung eines Tiefpassfilters auf einen durch das Steuerprogramm angewiesenen Befehlspfad erzeugt; eine Einheit zur Berechnung des Einwärtsdrehungsbetrags, die einen Einwärtsdrehungsbetrag berechnet, um den der durch die Einheit zur Tiefpassfilterung erhaltene Glättungspfad in eine Einwärtsrichtung relativ zu dem Befehlspfad dreht; und eine Einheit zur Glättungsverarbeitung, die auf der Grundlage des Einwärtsdrehungsbetrags einen Pfad ausgibt, der von dem Glättungspfad in einer zu der Einwärtsrichtung, in die der Glättungspfad einwärts dreht, entgegengesetzten Richtung zurückgezogen wird.
-
Ein weiterer Aspekt der vorliegenden Offenbarung ist ein computerlesbares Speichermedium, das ein Programm speichert, das den Betrieb einer Steuerung veranlasst, wobei die Steuerung so konfiguriert ist, dass sie, basierend auf einem Steuerprogramm, die von einer industriellen Maschine an einem Werkstück durchgeführte Bearbeitung steuert, wobei das Programm die Steuerung veranlasst, wie folgt zu arbeiten eine Einheit zur Tiefpassfilterung, die einen Glättungspfad erzeugt, indem sie eine Glättung unter Verwendung eines Tiefpassfilters auf einen durch das Steuerprogramm angewiesenen Befehlspfad anwendet; eine Einheit zur Berechnung des Einwärtsdrehungsbetrags, die einen Einwärtsdrehungsbetrag berechnet, um den sich der durch die Einheit zur Tiefpassfilterung erhaltene Glättungspfad in eine Einwärtsrichtung relativ zu dem Befehlspfad dreht; und eine Einheit zur Glättungsverarbeitung, die auf der Grundlage des Einwärtsdrehungsbetrags einen Pfad ausgibt, der von dem Glättungspfad in einer zu der Einwärtsrichtung, in die sich der Glättungspfad einwärts dreht, entgegengesetzten Richtung zurückgezogen wird.
-
[Vorteilhafte Auswirkungen der Erfindung]
-
Gemäß einem Aspekt der vorliegenden Offenbarung wird ein glatter und genauer Pfad (ohne jegliche Genauigkeitsverringerung aufgrund von Einwärtsdrehung) erzielt. Auf diese Weise erhält man ein bearbeitetes Werkstück mit einer glatten bearbeiteten Oberfläche und einer unverminderten Formgenauigkeit.
-
[Kurzbeschreibung der Zeichnungen]
-
- 1 ist ein schematisches Hardware-Konfigurationsdiagramm einer Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung.
- 2 ist ein Blockdiagramm, das die allgemeinen Funktionen einer Steuerung gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt.
- 3 ist ein Diagramm, das einen Einwärtsdrehungsbetrag zeigt.
- 4 ist ein Blockdiagramm, das die allgemeinen Funktionen einer Steuerung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung veranschaulicht.
- 5 ist ein Blockdiagramm, das die allgemeinen Funktionen einer Steuerung gemäß einer dritten Ausführungsform der vorliegenden Erfindung zeigt.
- 6 ist ein Blockdiagramm, das die allgemeinen Funktionen einer Steuerung gemäß einer anderen Ausführungsform der vorliegenden Erfindung zeigt.
- 7 ist ein Diagramm, das eine Sequenz einer Vielzahl von Befehlspunkten illustriert, die durch CAM umgewandelt wurden, als Beispiel.
- 8 ist ein Diagramm, das ein Beispiel für einen Glättungspfad zeigt, der durch Glättung eines polygonalen Pfades unter Verwendung eines Tiefpassfilters erzeugt wird.
-
[Beschreibung der Ausführungsformen]
-
Ausführungsformen der vorliegenden Erfindung werden im Folgenden zusammen mit den Zeichnungen beschrieben.
-
1 ist ein schematisches Hardware-Konfigurationsdiagramm, das einen Hauptteil einer Steuerung gemäß einer ersten Ausführungsform der vorliegenden Erfindung zeigt. Eine Steuerung 1 der vorliegenden Erfindung kann als eine Steuerung installiert werden, die eine industrielle Maschine, wie z. B. eine Werkzeugmaschine, eine Funkenerosionsmaschine, einen Roboter oder ähnliches, basierend auf einem Steuerprogramm, steuert. Im Folgenden wird die Steuerung 1 gemäß der vorliegenden Ausführungsform anhand eines Beispiels für eine Steuerung beschrieben, die so konfiguriert ist, dass sie eine Werkzeugmaschine steuert, die ein Werkzeug relativ zu einem Werkstück auf der Grundlage des Steuerprogramms zur Bearbeitung des Werkstücks bewegt.
-
Eine CPU 11 der Steuerung 1 gemäß der vorliegenden Ausführungsform ist ein Prozessor, der die Steuerung 1 als Ganzes steuert. Die CPU 11 liest ein in einem ROM 12 gespeichertes Systemprogramm über einen Bus 22 und steuert die gesamte Steuerung 1 in Übereinstimmung mit dem Systemprogramm. Ein RAM 13 speichert vorübergehend zeitliche Berechnungsdaten oder Anzeigedaten, verschiedene von außen eingegebene Daten und dergleichen.
-
Der nichtflüchtige Speicher 14 besteht aus einem Speicher, einem Solid-State-Laufwerk (SSD) oder ähnlichem, das z. B. durch eine Batterie (nicht dargestellt) gesichert wird, und der Speicherzustand wird auch dann beibehalten, wenn die Steuerung 1 ausgeschaltet ist. Der nichtflüchtige Speicher 14 speichert Daten, die von einer industriellen Maschine 2 erfasst werden, ein Steuerprogramm oder Daten, die von einem externen Gerät 72 über eine Schnittstelle 15 geladen werden, ein Steuerprogramm oder Daten, die über ein Eingabegerät 71 eingegeben werden, ein Steuerprogramm oder Daten, die von anderen Geräten über ein Netzwerk 5 erfasst werden, und ähnliches. Das Steuerprogramm oder die Daten, die in dem nichtflüchtigen Speicher 14 gespeichert sind, können während der Ausführung bzw. während des Gebrauchs in den RAM 13 geladen werden. Ferner werden verschiedene Systemprogramme, wie z. B. ein bekanntes Analyseprogramm, im Voraus in den ROM 12 geschrieben.
-
Die Schnittstelle 15 ist eine Schnittstelle zum Verbinden der CPU 11 der Steuerung 1 und des externen Geräts 72, z. B. eines USB-Geräts, miteinander. Zum Beispiel werden ein Steuerprogramm, Einstellungsdaten oder ähnliches, die zur Steuerung der industriellen Maschine 2 verwendet werden, von der Seite des externen Geräts 72 geladen. Ferner können das Steuerprogramm, die Einstellungsdaten oder ähnliches, die in der Steuerung 1 bearbeitet wurden, über das externe Gerät 72 in einem externen Speichergerät gespeichert werden. Eine speicherprogrammierbare Steuerung (SPS) 16 führt ein Kontaktplanprogramm aus, um über eine E/A-Einheit 19 Signale an die industrielle Maschine 2 und periphere Geräte der industriellen Maschine 2 (z. B. einen Werkzeugwechsler, einen Antrieb eines Transportroboters, eine Vielzahl von Sensoren 3 wie einen Temperatursensor oder einen Feuchtigkeitssensor, die an der industriellen Maschine 2 angebracht sind) auszugeben und diese zu steuern. Ferner führt die SPS 16 als Reaktion auf den Empfang eines Signals von verschiedenen Schaltern eines am Hauptkörper der industriellen Maschine 2 installierten Bedienfelds, von Peripheriegeräten oder ähnlichem die erforderliche Signalverarbeitung durch und leitet das Signal dann an die CPU 11 weiter.
-
Eine Schnittstelle 20 ist eine Schnittstelle, um die CPU der Steuerung 1 und das drahtgebundene oder drahtlose Netzwerk 5 miteinander zu verbinden. An das Netzwerk 5 werden andere industrielle Maschinen 4 wie eine Werkzeugmaschine oder eine Funkenerosionsmaschine, ein Fog-Computer 6, ein Cloud-Server 7 und dergleichen angeschlossen, die Daten an die Steuerung 1 und von ihr übertragen.
-
Alle in den Speicher geladenen Daten, Daten, die als Ergebnis der Ausführung eines Programms oder dergleichen erhalten werden, oder dergleichen werden über die Schnittstelle 17 ausgegeben und auf dem Anzeigegerät 70 angezeigt. Ferner gibt das Eingabegerät 71, die aus einer Tastatur, einem Zeigegerät oder ähnlichem besteht, einen Befehl, Daten und ähnliches, die auf der Bedienung durch einen Bediener basieren, über die Schnittstelle 18 an die CPU 11 weiter.
-
Ein Achsensteuerkreis 30 zur Steuerung von Achsen der industriellen Maschine 2 empfängt einen Befehlsbetrag zur Achsenbewegung von der CPU 11 und gibt den Achsenbefehl an einen Servo-Verstärker 40 aus. In Reaktion auf den Empfang eines solchen Befehls treibt der Servo-Verstärker 40 einen Servomotor 50 an, der die Achse einer Werkzeugmaschine bewegt. Der Servomotor 50 der Achse verfügt über einen eingebauten Positions- und Geschwindigkeitsdetektor, der ein Positions- und Geschwindigkeitsrückkopplungssignal von diesem Positions- und Geschwindigkeitsdetektor an den Achsensteuerkreis 30 zurückgibt, um eine Rückkopplungssteuerung für die Position und Geschwindigkeit durchzuführen. Obwohl im Hardware-Konfigurationsdiagramm von 1 nur der einzelne Achsensteuerkreis 30, der einzelne Servo-Verstärker 40 und der einzelne Servomotor 50 dargestellt sind, sind diese Komponenten für die Anzahl der zu steuernden Achsen der industriellen Maschine 2 in der tatsächlichen Implementierung vorbereitet.
-
2 zeigt die Funktionen der Steuerung 1 gemäß der ersten Ausführungsform der vorliegenden Erfindung als schematisches Blockdiagramm. Jede Funktion der Steuerung 1 gemäß der vorliegenden Ausführungsform wird implementiert, wenn die CPU 11 der in 1 dargestellten Steuerung 1 ein Systemprogramm ausführt und den Betrieb der einzelnen Einheiten der Steuerung 1 steuert.
-
Die Steuerung 1 der vorliegenden Ausführungsform umfasst eine Analyseeinheit 100, eine Einheit zur Glättungsverarbeitung 110, eine Einheit zur Tiefpassfilterung 112, eine Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 und eine Einheit zur Motorsteuerung 120. Ferner speichert der RAM 13 oder der nichtflüchtige Speicher 14 der Steuerung 1 ein Steuerprogramm 200, das zur Steuerung des Betriebs der industriellen Maschine 2 im Voraus verwendet wird.
-
Die Analyseeinheit 100 liest und analysiert einen Block des Steuerprogramms 200 und erzeugt Bewegungsbefehlsdaten für den Servomotor 50, der jede Einheit der industriellen Maschine 2 antreibt. Basierend auf einem Vorschubbefehl, die durch einen Block eines Steuerprogramms 200 angewiesen wird, erzeugt die Analyseeinheit 100 Daten, die sich auf einen Bewegungsbefehl für den Servomotor 50 beziehen, der ein Werkzeug der industriellen Maschine 2 relativ zu einem Werkstück bewegt. Die erzeugten Daten, die sich auf einen Bewegungsbefehl beziehen, umfassen mindestens eine Sequenz aus einer Vielzahl von Befehlspunkten. Die Analyseeinheit 100 gibt die erzeugten Daten, die sich auf den Bewegungsbefehl beziehen, an die Einheit zur Glättungsverarbeitung 110 aus.
-
Die Einheit zur Glättungsverarbeitung 110 erzeugt auf der Grundlage von Daten, die sich auf einen von der Analyseeinheit 100 eingegebenen Bewegungsbefehl beziehen, einen Glättungspfad, der aus einem Bewegungspfad geglättet wird, der aus einer Folge einer Vielzahl von Befehlspunkten besteht, die in den Daten enthalten sind, die sich auf den Bewegungsbefehl beziehen. Der von der Einheit zur Glättungsverarbeitung 110 erzeugte Glättungspfad wird unter Berücksichtigung eines Einwärtsdrehungsbetrags erzeugt, der von der Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 berechnet wird, und basiert auch auf einem gekrümmten Linienpfad, der von der Einheit zur Tiefpassfilterung 112 erzeugt wird.
-
Die Einheit zur Tiefpassfilterung 112 erzeugt einen Glättungspfad, indem sie eine Glättung unter Verwendung eines Tiefpassfilters auf einen Pfad anwendet, der aus einer Vielzahl von Mikroliniensegmenten besteht, die durch Verbinden einer Vielzahl von Befehlspunkten miteinander erhalten werden. Wenn ein Tiefpassfilter auf einen Pfad angewendet wird, der aus einer Vielzahl von Mikroleitungssegmenten besteht, definiert die Einheit zur Tiefpassfilterung 112 den Pfad, der aus der Vielzahl von Mikroleitungssegmenten besteht, beispielsweise als eine parametrische Kurve P(t). Dabei ist P(t) ein Vektor, dessen Elemente Koordinatenwerte auf entsprechenden Achsen sind, und die Dimension des Vektors entspricht der Anzahl der Achsen. Wenn zum Beispiel die industrielle Maschine 2 ein Werkzeug und ein Werkstück relativ zueinander in Übereinstimmung mit einer X-Achse, einer Y-Achse und einer Z-Achse bewegt, ist P(t) ein dreidimensionaler Vektor, Der Wert t ist ein Parameter einer parametrischen Kurve. Da die Methode, eine parametrische Kurve zu verwenden, um einen vom Steuerprogramm 200 angewiesenen Pfad darzustellen, eine bekannte Technik ist, wird die Beschreibung davon weggelassen. Wenn mit dieser Definition ein gekrümmter Linienpfad, der aus der Anwendung eines Glättungsprozesses auf den Pfad P(t) resultiert, als Q(t) bezeichnet wird, kann Q(t) durch die folgende mathematische Gleichung 1 berechnet werden. Beachten Sie, dass F(l) in der mathematischen Gleichung 1 den Filterbetrieb mit einem Tiefpassfilter darstellt. Als Tiefpassfilter kann z. B. ein bekannter gleitender Mittelwertfilter, ein bekannter Gaußscher Faltungsfilter o. ä. verwendet werden. In diesem Fall ist der Wert I ein Parameter, der einen Filteranwendungsbereich (Filterlänge) darstellt. Die Filterlänge kann auf der Grundlage einer Verfahrzeit, eines Verfahrpfads oder einer Verfahrgeschwindigkeit eines Werkzeugs entlang des Befehlspfads und einer durch den Filter definierten Zeitkonstante berechnet werden. Der polygonale Pfad kann ausreichend geglättet werden, wenn die Filterlänge auf einen Grad der Länge eines Mikroliniensegments, das einen Pfad bildet, eingestellt ist (auf einen Grad der Zeit, die benötigt wird, um sich durch ein Mikroliniensegment zu bewegen, wenn der Parameter t der parametrischen Kurve eine Zeiteinheit ist). Wenn das Steuerprogramm 200 durch Mikrolinienabschnitte dargestellt wird, wird die Filterlänge im Allgemeinen in einem Bereich angewendet, der größer ist als die Länge des Linienabschnitts. Diese Linienabschnittslänge kann im Voraus vor einem Filtervorgang geprüft oder separat bereitgestellt werden.
-
Als Tiefpassfilter für die Glättung durch die Einheit zur Tiefpassfilterung 112 können auch andere bekannte Tiefpassfilter verwendet werden.
-
Die Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 berechnet, in welchem Maße ein Glättungspfad nach innen dreht, nämlich den Einwärtsdrehungsbetrag, und hier wird der Glättungspfad dadurch erzeugt, dass die Einheit zur Tiefpassfilterung 112 einen Tiefpassfilter auf einen Pfad anwendet, der aus einer Vielzahl von Mikroliniensegmenten besteht, die durch Verbinden einer Vielzahl von Befehlspunkten miteinander erhalten werden.
-
Die Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 kann einen Einwärtsdrehungsbetrag berechnen, indem sie zum Beispiel einfach die Differenz zwischen einem Pfad, der aus einer Vielzahl von Mikrolinienabschnitten besteht, und einem Glättungspfad nimmt. Zum Beispiel kann die unten als Beispiel dargestellte mathematische Gleichung 2 verwendet werden, um einen Einwärtsdrehungsbetrag bei einem vorbestimmten Parameterzyklus zu berechnen. Beachten Sie, dass in der mathematischen Gleichung 2 d(t) ein Einwärtsdrehungsbetrag (skalarer Wert) an einer Position eines vorbestimmten Parameters ist.
-
3 ist ein Diagramm, das den Einwärtsdrehungsbetrag eines Glättungspfades relativ zu einem Pfad, der aus einer Vielzahl von Mikroliniensegmenten besteht, als Beispiel zeigt. In 3 sind die Befehlspunkte 422 durch schwarze Kreise, die Mikroliniensegmente 424 durch gestrichelte Linienpfeile und der Glättungspfad 426 durch einen durchgezogenen Linienpfeil veranschaulicht. Zum besseren Verständnis der Einwärtsdrehung ist in 3 der Glättungspfad so gezeichnet, dass er stärker nach innen dreht als der eigentliche Glättungspfad. Wie in 3 als Beispiel dargestellt, ist es bei der Berechnung eines Einwärtsdrehungsbetrags durch einfaches Ermitteln der Differenz zwischen einem aus Mikroliniensegmenten zusammengesetzten Pfad und einem Glättungspfad möglich, den Einwärtsdrehungsbetrag an einer Position des Befehlspunkts 422 oder den Einwärtsdrehungsbetrag an einer Position für den Wert eines vorbestimmten Parameters t zwischen den Befehlspunkten 422 zu berechnen, zum Beispiel.
-
Beispielsweise kann die Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 nur den Einwärtsdrehungsbetrag an einer Position des Befehlspunkts 422 unter Verwendung der mathematischen Gleichung 2 berechnen und die Einwärtsdrehungsbeträge an anderen Positionen auf einer anteiligen Basis oder dergleichen berechnen. Es wird beispielsweise angenommen, dass der Wert des Parameters t an einer Position eines vorbestimmten Befehlspunktes ts ist und der Wert des Parameters t an einer Position des nächsten Befehlspunktes te ist. In diesem Fall ist der in der folgenden mathematischen Gleichung 3 dargestellte Wert „a“ eindeutig definiert.
-
Der Betrag der Einwärtsdrehung an einer vorbestimmten Position zwischen den Befehlspunkten kann durch die mathematische Gleichung 4 unten unter Verwendung des Wertes „a“ berechnet werden.
-
Die Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 kann einen Einwärtsdrehungsbetrag beispielsweise auf der Grundlage der Krümmung einer Glättungskurve näherungsweise berechnen. Ein Krümmungsradius R(t) an einer vorbestimmten Position der Glättungskurve Q(t) kann durch eine bekannte analytische Methode oder eine Näherungsmethode aus einer parametrischen Kurve ermittelt werden. Wenn der kreisförmige Bogenweg mit dem Krümmungsradius R(t) als Kreis(R) bezeichnet wird, erfüllt ein Einwärtsdrehungsbetrag d(t) die mathematische Gleichung 5 unten. Der Betrag der Einwärtsdrehung kann berechnet werden, indem diese mathematische Gleichung 5 für d(t) analytisch oder näherungsweise gelöst wird.
-
Die Einheit zur Glättungsverarbeitung 110 kann einen Glättungspfad erzeugen, der in der Nähe von Befehlspunkten verläuft, indem sie einen Glättungspfad, der von der Einheit zur Tiefpassfilterung 112 erzeugt wurde, auf der Grundlage des Einwärtsdrehungsbetrags, der von der Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 berechnet wurde, auf diese Weise korrigiert. Ein anderes Verfahren ist die Berechnung von Korrekturpunkten für im Voraus verschobene Befehlspunkte auf der Grundlage von Einwärtsdrehungsbeträgen, die von der Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 berechnet werden. Dann kann der Glättungspfad, der in der Nähe von Befehlspunkten verläuft, erzeugt werden, indem die Einheit zur Tiefpassfilterung 112 verwendet wird, um einen Filter auf den korrigierten Bewegungspfad anzuwenden, der aus einer Folge dieser Vielzahl von Korrekturpunkten gebildet ist.
-
Die Einheit zur Motorsteuerung 120 steuert den Servomotor 50 der industriellen Maschine 2 so, dass sich ein Werkzeug und ein Werkstück relativ zueinander entlang des von der Einheit zur Glättungsverarbeitung 110 erzeugten Glättungspfads bewegen.
-
In Übereinstimmung mit einem Aspekt der vorliegenden Offenbarung, der die oben beschriebene Konfiguration aufweist, wird ein glatter und genauer Pfad (ohne jegliche Genauigkeitsreduzierung aufgrund des Einwärtsdrehens) erzielt. Auf diese Weise erhält man ein bearbeitetes Werkstück mit einer glatten bearbeiteten Oberfläche und einer unverminderten Formgenauigkeit.
-
4 zeigt die Funktionen der Steuerung 1 gemäß einer zweiten Ausführungsform der vorliegenden Erfindung als schematisches Blockdiagramm. Jede Funktion der Steuerung 1 gemäß der vorliegenden Ausführungsform wird implementiert, wenn die CPU 11 der in 1 dargestellten Steuerung 1 ein Systemprogramm ausführt, um den Betrieb der einzelnen Einheiten der Steuerung 1 zu steuern.
-
Die Steuerung 1 der vorliegenden Ausführungsform umfasst ferner eine Einheit zur Rückzugs-Korrektur 116 zusätzlich zu der Analyseeinheit 100, der Einheit zur Glättungsverarbeitung 110, der Einheit zur Tiefpassfilterung 112, der Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 und der Einheit zur Motorsteuerung 120. Ferner speichert der RAM 13 oder der nichtflüchtige Speicher 14 der Steuerung 1 ein Steuerprogramm 200, das zur Steuerung des Betriebs der industriellen Maschine 2 im Voraus verwendet wird.
-
Jede Funktion der Analyseeinheit 100, der Einheit zur Tiefpassfilterung 112, der Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 und der Einheit zur Motorsteuerung 120 ist die gleiche wie jede Funktion der Steuerung 1 gemäß der ersten Ausführungsform.
-
Die Einheit zur Glättungsverarbeitung 110 gemäß der vorliegenden Ausführungsform erzeugt eine Glättungskurve dadurch, dass die Einheit zur Rückzugs-Korrektur 116 den Glättungspfad in der entgegengesetzten Richtung zur Richtung der Einwärtsdrehung korrigiert, wenn eine Einwärtsdrehung auf einem Glättungspfad aus einer Vielzahl von Befehlspunkten auftritt. Mit anderen Worten, die Korrektur erfolgt in der entgegengesetzten Richtung zum Richtungsvektor der Krümmungsmitte (dem Hauptnormalvektor) des Glättungspfads. In der vorliegenden Beschreibung wird die Korrektur in der entgegengesetzten Richtung zur einwärts gedrehten Richtung als Rückzugs-Korrektur bezeichnet.
-
Die Einheit zur Rückzugs-Korrektur 116 erzeugt eine Glättungskurve, die aus der Rückzugskorrektur auf dem von der Einheit zur Glättungsverarbeitung 110 erzeugten Glättungspfad resultiert. Beispielsweise kann die Einheit zur Rückzugs-Korrektur 116 eine Rückzugs-Korrektur durchführen, indem sie direkt den Einwärtsdrehungsbetrag verwendet, der von der Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 berechnet wurde. Zum Beispiel wird der Krümmungsmittelpunkt an jeder Position der Glättungskurve Q(t) als QC(t) bezeichnet. Der Krümmungseinheitsvektor eq(t) kann in einem solchen Fall durch die mathematische Gleichung 6 unten ausgedrückt werden.
-
In einem solchen Fall kann der Rückzugs-Vektor h(t) durch die mathematische Gleichung 7 berechnet werden.
-
Die Einheit zur Rückzugs-Korrektur 116 kann dann eine Glättungskurve S(t), die der Rückzugs-Korrektur unterzogen wurde, mit Hilfe der folgenden mathematischen Gleichung 8 berechnen.
-
Die Einheit zur Glättungsverarbeitung 110 gibt eine so gewonnene, einer Rückzugs-Korrektur unterzogene Glättungskurve S(t) als finalen Pfad an die Einheit zur Motorsteuerung 120 aus.
-
Die Einheit zur Rückzugs-Korrektur 116 kann bei der Berechnung des Rückzugs-Vektors h(t) einen Glättungsprozess durchführen, wie in der folgenden mathematischen Gleichung 9 dargestellt. In der mathematischen Gleichung 9 bezeichnet F(l) den Filterbetrieb durch einen Tiefpassfilter, wobei der Wert I einen Parameter bezeichnet, der einen Filteranwendungsbereich (Filterlänge) darstellt. Der Filter F(l) kann mit dem von der Einheit zur Tiefpassfilterung 112 verwendeten Filter identisch sein oder sich von diesem unterscheiden.
-
In Übereinstimmung mit einem Aspekt der vorliegenden Offenbarung mit der oben beschriebenen Konfiguration, da ein Einwärtsdrehungsbetrag aufgrund eines Tiefpassfilters berechnet wird und eine Glättungskurve durch Verwendung des berechneten Einwärtsdrehungsbetrags korrigiert werden kann, wird ein glatter und genauer Pfad (ohne jegliche Genauigkeitsreduzierung aufgrund von Einwärtsdrehung) erhalten. Auf diese Weise erhält man ein bearbeitetes Werkstück mit einer glatten Oberfläche und einer unverminderten Formgenauigkeit.
-
5 zeigt die Funktionen der Steuerung 1 gemäß einer dritten Ausführungsform der vorliegenden Erfindung als schematisches Blockdiagramm. Jede Funktion der Steuerung 1 gemäß der vorliegenden Ausführungsform wird implementiert, wenn die CPU 11 der in 1 dargestellten Steuerung 1 ein Systemprogramm ausführt, um den Betrieb der einzelnen Einheiten der Steuerung 1 zu steuern.
-
Die Steuerung 1 der vorliegenden Ausführungsform enthält zusätzlich zur Analyseeinheit 100, der Einheit zur Glättungsverarbeitung 110, der Einheit zur Tiefpassfilterung 112, der Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 und der Einheit zur Motorsteuerung 120 eine Einheit zur Vor-Rückzugs-Korrektur 118. Darüber hinaus speichert der RAM 13 oder der nichtflüchtige Speicher 14 der Steuerung 1 ein Steuerprogramm 200, das zur Steuerung des Betriebs der industriellen Maschine 2 im Voraus verwendet wird.
-
Jede Funktion der Analyseeinheit 100, der Einheit zur Tiefpassfilterung 112, der Einheit zur Berechnung des Einwärtsdrehungsbetrags 114 und der Einheit zur Motorsteuerung 120 ist die gleiche wie jede Funktion der Steuerung 1 gemäß der ersten Ausführungsform.
-
Die Einheit zur Glättungsverarbeitung 110 gemäß der vorliegenden Ausführungsform erzeugt Korrekturpunkte, die in der entgegengesetzten Richtung zu der nach innen gedrehten Richtung korrigiert sind, indem sie die Einheit zur Vor-Rückzugs-Korrektur 118 für eine Vielzahl von Befehlspunkten verwendet, bevor sie dem Glättungsprozess unterzogen werden. Die Einheit zur Glättungsverarbeitung 110 erzeugt dann eine Glättungskurve, indem sie die Einheit zur Tiefpassfilterung 112 verwendet, um eine Glättung an der Vielzahl von Korrekturpunkten durchzuführen.
-
Die Einheit zur Vor-Rückzugs-Korrektur 118 führt eine Vor-Rückzugs-Korrektur an der Vielzahl der Befehlspunkte durch, bevor sie einem Glättungsprozess unterzogen wird. Ein Verfahren zur Vorabkorrektur des Rückzugs wird im Folgenden beschrieben. Ein Befehlspfad wird als parametrische Kurve P(t) bezeichnet, und ein Krümmungsradius an jeder Position wird als RP(t) bezeichnet. Wenn der Pfad als Mikroliniensegmente bereitgestellt wird, wird P(t) polygonal. In einem solchen Fall wird die Krümmung aus den durchschnittlichen Forminformationen in einem bestimmten Bereich ermittelt, anstatt die Krümmung lokal zu bestimmen. Im Allgemeinen kann die Krümmung an jeder Position durch Näherung an ein Polynom oder ähnliches ermittelt werden. Ein Kreisbogenpfad mit dem Radius R wird beispielsweise als Circle(R) bezeichnet. In diesem Fall kann der Betrag der Einwärtsdrehung durch die nachstehende mathematische Gleichung 10 berechnet werden.
-
Ferner wird der Krümmungsmittelpunkt an jeder Position auf P(t) als PC(t) bezeichnet. Der Krümmungseinheitsvektor ep(t) kann in einem solchen Fall durch die folgende mathematische Gleichung 11 ausgedrückt werden.
-
Unter Verwendung von d(t) und ep(t), die auf diese Weise ermittelt wurden, kann ein Vor-Rückzugs-Vektor h
pre (t) durch die folgende mathematische Gleichung 12 berechnet werden.
-
Dann wird die mathematische Gleichung 13 verwendet, und der Vor-Rückzugs-Vektor h
pre (t) wird verwendet, um die Rückzugs-Korrektur an P(t) im Voraus durchzuführen und dadurch einen korrigierten Befehlspfad S(t) zu berechnen.
-
Die Einheit zur Glättungsverarbeitung 110 erzeugt eine Glättungskurve, indem sie die Einheit zur Tiefpassfilterung 112 verwendet, um eine Glättung des korrigierten Befehlspfads S(t) durchzuführen.
-
Gemäß einem Aspekt der vorliegenden Offenbarung mit der oben beschriebenen Konfiguration werden Einwärtsdrehungsbeträge im Voraus berechnet, und die berechneten Einwärtsdrehungsbeträge werden verwendet, um eine Korrektur an Befehlspunkten durchzuführen. Da die Glättung an der Vielzahl der korrigierten Befehlspunkte durchgeführt wird, erhält man einen glatten und genauen Pfad (ohne jegliche Genauigkeitsverringerung aufgrund des Einwärtsdrehens). Im Vergleich zu einem Fall, in dem die Korrektur nach der Berechnung einer Glättungskurve durchgeführt wird, ist eine Verringerung des Berechnungsaufwands zu erwarten.
-
Obwohl die Ausführungsformen der vorliegenden Erfindung beschrieben wurden, ist die vorliegende Erfindung nicht nur auf die Beispiele in den oben beschriebenen Ausführungsformen beschränkt und kann auf verschiedene Weise mit dem Zusatz einer geeigneten Änderung umgesetzt werden.
-
In den oben beschriebenen Ausführungsformen wurde beispielsweise das Beispiel illustriert, in dem eine Folge von mehreren Befehlspunkten als Pfad durch das Steuerprogramm 200 angezeigt wird. Bei der Beschreibung wurde also davon ausgegangen, dass zwischen den Befehlspunkten ein Mikroliniensegment vorhanden ist. Die vorliegende Erfindung ist jedoch nicht nur auf einen Fall anwendbar, in dem der Pfad zwischen Befehlspunkten explizit mit einem Mikroliniensegment durch das Steuerprogramm 200 angegeben wird, sondern auch auf einen Fall, in dem der Pfad explizit mit einem Mikrokreisbogen, einer vorgegebenen parametrischen Kurve oder ähnlichem angegeben wird.
-
Obwohl in den oben beschriebenen Ausführungsformen jeder für die Berechnung eines Einwärtsdrehungsbetrags verwendete Wert aus einem Befehlspfad oder einem Glättungspfad berechnet wird, kann die Krümmung in jedem Teil des Befehlspfads beispielsweise im Voraus für jeden Block des Steuerprogramms 200 auf begleitende Weise festgelegt werden. Der Prozess zum Hinzufügen solcher Informationen kann auf der CAD/CAM-Seite im Voraus durchgeführt werden. Mit einer solchen Konfiguration ist es möglich, die Rechenlast in der Steuerung 1 bei der Durchführung eines Glättungsprozesses zu reduzieren.
-
Außerdem wird in den oben beschriebenen Ausführungsformen ein Glättungspfad durch einen einzigen Berechnungspfad erzeugt. Ein Glättungspfad kann jedoch auch erzeugt werden, indem nach der einmaligen Erzeugung eines Glättungspfads derselbe Prozess wiederholt wird. Zum Beispiel wird ein einmal erstellter Glättungspfad wiederholt von der Einheit zur Glättungsverarbeitung 110 geglättet. Dieser Vorgang wird mehrfach wiederholt. Es ist dann möglich, die Genauigkeit des zurückgezogenen Pfades zu erhöhen, indem die Filterlänge des verwendeten Tiefpassfilters verkürzt wird, um den Einwärtsdrehungsbetrag und den Rückzugsbetrag bei der Wiederholung zu verringern. In einem solchen Fall kann z. B., wie in 6 als Beispiel dargestellt, eine Einheit zur Toleranzkontrolle 119 vorgesehen sein. Eine vorbestimmte Toleranz (zulässiger Fehler) wird in der Einheit zur Toleranzkontrolle 119 im Voraus eingestellt. Jedes Mal, wenn der Glättungsprozess durch die Einheit zur Glättungsverarbeitung 110 durchgeführt wird, prüft die Einheit zur Toleranzkontrolle 119, ob ein Änderungsbetrag (der durchschnittliche Änderungsbetrag oder der maximale Änderungsbetrag) eines Glättungspfads relativ zu einem Befehlspfad innerhalb einer Toleranz liegt oder nicht. Liegt der Änderungsbetrag nicht innerhalb der Toleranz, kann der Glättungsprozess wiederholt werden. Wenn ein solches Verfahren verwendet wird, kann ein von der Einheit zur Rückzugs-Korrektur 116 ausgegebener Pfad ausgegeben werden (zweite Ausführungsform), oder der Ausgang der Einheit zur Tiefpassfilterung 112 kann als endgültiger Glättungspfad ausgegeben werden (zweite oder dritte Ausführungsform).
-
[Liste der Referenzsymbole]
-
- 1
- Steuerung
- 2, 4
- Industrielle Maschine
- 5
- Netzwerk
- 6
- Fog-Computer
- 7
- Cloud-Server
- 11
- CPU
- 12
- ROM
- 13
- RAM
- 14
- Nichtflüchtiger Speicher
- 15, 17, 18, 20
- Schnittstelle
- 22
- Bus
- 30
- Achsensteuerkreis
- 40
- Servo-Verstärker
- 50
- Servomotor
- 70
- Anzeigegerät
- 71
- Eingabegerät
- 72
- Externes Gerät
- 100
- Analyseeinheit
- 110
- Einheit zur Glättungsverarbeitung
- 112
- Einheit zur Tiefpassfilterung
- 114
- Einheit zur Berechnung des Einwärtsdrehungsbetrags
- 116
- Einheit zur Rückzugs-Korrektur
- 118
- Einheit zur Vor-Rückzugs-Korrektur
- 119
- Einheit zur Toleranzkontrolle
- 120
- Einheit zur Motorsteuerung
- 200
- Steuerprogramm
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-