-
Die Erfindung betrifft ein Verfahren zur Steuerung einer Bearbeitungsmaschine, bei dem zumindest ein beweglich an der Bearbeitungsmaschine angeordnetes Werkzeug von einem vorgegebenen Startpunkt zu mindestens einen vorgegebenen Endpunkt innerhalb eines Arbeitsraumes automatisiert bewegt wird.
-
Eine Effizienz von Fertigungsprozessen steht im Fokus einer heutigen Produktion. Um eine Fertigungszeit für ein Bauteil weiter zu reduzieren, ist es notwendig, nicht-wertschöpfende Tätigkeiten einer Bearbeitungsmaschine, insbesondere einer Werkzeugmaschine, zu minimieren. Ein Ansatzpunkt zur Reduktion der nicht wertschöpfenden Aktionen in einer Werkzeugmaschine ist eine Minimierung von technischen Nebenzeiten. Dabei spielt eine Bahnkurve oder Werkzeugbahn eines Werkzeugs und einer Spindel der Bearbeitungsmaschine eine sehr große Rolle.
-
Zu diesem Zweck sind aus dem Stand der Technik verschiedene Verfahren bekannt. Ein solches Verfahren zur Steuerung einer Bearbeitungsmaschine beschreibt die
DE 10 2013 021 653 A1 , wobei zumindest ein beweglich an der Bearbeitungsmaschine angeordnetes Werkzeug von einem vorgegebenen Startpunkt zu mindestens einem vorgegebenen Endpunkt innerhalb eines Arbeitsraumes automatisiert bewegt wird. Innerhalb des Arbeitsraumes wird ein Bewegungsraum zur freien Bewegung des Werkzeugs vorgegeben. Das heißt, die Steuerung der Bearbeitungsmaschine wird derart gestaltet, dass die Bewegung des Werkzeugs innerhalb des Arbeitsraumes nicht einer vordefinierten Verfahrbahn folgt, sondern nur innerhalb des Bewegungsraumes und anhand von Zielkoordinaten beschrieben wird.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein gegenüber dem Stand der Technik verbessertes Verfahren zur Steuerung einer Bearbeitungsmaschine anzugeben.
-
Die Aufgabe wird erfindungsgemäß mit einem Verfahren gelöst, welches die im Anspruch 1 angegebenen Merkmale aufweist.
-
Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
In einem Verfahren zur Steuerung einer Bearbeitungsmaschine wird zumindest ein beweglich an der Bearbeitungsmaschine angeordnetes Werkzeug von einem vorgegebenen Startpunkt zu mindestens einem vorgegebenen Endpunkt innerhalb eines Arbeitsraumes automatisiert bewegt.
-
Erfindungsgemäß wird innerhalb des Arbeitsraumes eine Werkzeugbahn ermittelt, entlang welcher das Werkzeug kollisionsfrei in einer minimalen Zeit vom Startpunkt zum Endpunkt bewegt wird, wobei die Werkzeugbahn mittels eines evolutionären Algorithmus ermittelt wird.
-
Ein solcher evolutionärer Algorithmus oder genetischer Algorithmus bildet eine Klasse von stochastischen, metaheuristischen Optimierungsverfahren, deren Funktionsweise von der Evolution natürlicher Lebewesen inspiriert ist. In Anlehnung an die Natur werden Lösungskandidaten für ein bestimmtes Problem künstlich evolviert.
-
Mittels des erfindungsgemäßen Verfahrens ist es aufgrund der Ermittlung der Werkzeugbahn, entlang welcher das Werkzeug kollisionsfrei in einer minimalen Zeit vom Startpunkt zum Endpunkt bewegbar ist, möglich, nicht-wertschöpfende Tätigkeiten der Bearbeitungsmaschine zu minimieren und somit Taktzeiten bei der Bearbeitung von Werkstücken zu minimieren. Daraus folgend wird eine Fertigungszeit für ein Bauteil reduziert, so dass eine Effizienz von Fertigungsprozessen gesteigert wird. Aufgrund der Verwendung des evolutionären Algorithmus zur Ermittlung der Werkzeugbahn ist keine komplexe und kostenintensive Simulationssoftware zur Bewegungsoptimierung der Bearbeitungsmaschine erforderlich, da die mittels des evolutionären Algorithmus durchgeführte Optimierung der Werkzeugbahn unmittelbar in einer Steuerung der Bearbeitungsmaschine während einer Inbetriebnahme oder eines Betriebes der Bearbeitungsmaschine vollautomatisch ausführbar ist. Weiterhin wird ein Optimierungspotenzial der Werkzeugbahn mittels des evolutionären Algorithmus im Vergleich zum Stand der Technik in höherem Maße ausgeschöpft.
-
Ausführungsbeispiele der Erfindung werden im Folgenden anhand von Zeichnungen näher erläutert.
-
Dabei zeigen:
-
1 schematisch ein Flussdiagramm eines evolutionären Algorithmus zur Ermittlung einer Werkzeugbahn, und
-
2 schematisch einen Arbeitsraum mit einem Werkstück in Schnittdarstellung und einer vorgegebenen Werkzeugbahn für ein Werkzeug einer Bearbeitungsmaschine.
-
Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.
-
In 1 ist ein Flussdiagramm eines evolutionären Algorithmus zur Ermittlung einer in 2 näher dargestellten Werkzeugbahn B eines Werkzeugs 1 einer nicht gezeigten Bearbeitungsmaschine gemäß einem möglichen Ausführungsbeispiel eines ertindungsgemäßen Verfahrens dargestellt. 2 zeigt einen Arbeitsraum R mit einem Werkstück 2 in Schnittdarstellung und die vorgegebene Werkzeugbahn B für das Werkzeug 1, welches insbesondere eine so genannte Spindel ist oder diese umfasst.
-
Das Werkzeug 1 ist im dargestellten Ausführungsbeispiel zur Erzeugung von Bohrungen X1, X2 innerhalb des Werkstücks 2 vorgesehen und wird ausgehend von einer ersten Bohrung X1, welche einen Startpunkt SP der Werkzeugbahn B bildet, entlang der Werkzeugbahn B zu einem Endpunkt EP bewegt, an welcher eine zweite Bohrung X2 erzeugt wird. Zwischen dem Startpunkt SP und dem Endpunkt EP ist eine Störgeometrie 3 angeordnet oder ausgebildet, an welcher das Werkzeug 1 kollisionsfrei vorbeigeführt wird.
-
Um eine Fertigungszeit für ein Bauteil zu minimieren, ist es notwendig, nicht-wertschöpfende Tätigkeiten der Bearbeitungsmaschine zu minimieren. Um hierbei nicht wertschöpfende Aktionen der Bearbeitungsmaschine, im dargestellten Ausführungsbeispiel ein kollisionsfreies Vorbeiführen des Werkzeugs 1 an der Störgeometrie 3, zu minimieren, werden mittels einer Optimierung der Werkzeugbahn B, auch als Bahnkurve bezeichnet, technische Nebenzeiten minimiert.
-
Hierzu ist vorgesehen, dass innerhalb des Arbeitsraumes R eine Werkzeugbahn B ermittelt wird, entlang welcher das Werkzeug 1 kollisionsfrei in einer minimalen Zeit vom Startpunkt SP zum Endpunkt EP bewegt wird, wobei die Werkzeugbahn B mittels eines evolutionären Algorithmus ermittelt wird. Hierbei werden mittels des Algorithmus zwei Stützpunkte P1, P2 gesucht, die es ermöglichen, die Störgeometrie 3 zeitoptimal und kollisionsfrei zu umfahren, wobei anhand des Startpunkts SP, der Stützpunkte P1, P2 und des Endpunkts EP die Werkzeugbahn B in Form eines Polynomzuges (englisch Spline) ermittelt wird.
-
Der evolutionäre Algorithmus ist ein so genannter genetischer Algorithmus, welcher an einen so genannten Bergsteigeralgorithmus angelehnt ist. Unter einem solchen Bergsteigeralgorithmus wird ein einfaches, heuristisches Optimierungsverfahren verstanden, bei welchem eine potenzielle Lösung für ein gegebenes Problem schrittweise verbessert wird.
-
Hierbei ist der Algorithmus in drei Phasen unterteilt. In einer ersten Phase werden in einem ersten Schritt S1 des Algorithmus Randbedingungen vorgegeben. Hierbei ist es möglich, dass ein Anwender vorgegebene Randbedingungen variiert oder unverändert übernimmt. Insbesondere hat der Anwender die Möglichkeit, Grenzwerte der Stützpunkte P1, P2 festzulegen. Hieraus ergibt sich, wie weit ein jeweiliger Stützpunkt P1, P2 dreidimensional im Raum verschoben werden darf. Maßgeblich für die Wahl der Grenzwerte ist eine Geometrie und Anordnung der Störgeometrie 3, um eine Kollision des Werkzeugs 1 mit dieser zu vermeiden.
-
Weiterhin ist dabei eine Berücksichtigung einer Geometrie des Werkzeugs 1 und gegebenenfalls weiterer den Arbeitsraum R begrenzender Strukturen erforderlich.
-
Zusätzlich ist es dem Anwender möglich, eine so genannte Startpopulation des Algorithmus zu beeinflussen oder festzulegen. Mittels der Startpopulation wird festgelegt, wie viele Paare von Stützpunkten P1, P2 zu Anfang zufällig innerhalb der vorgegebenen Grenzwerte erzeugt werden.
-
Ferner wird automatisch und/oder durch den Anwender eine anfängliche Schrittweite bei Verwendung einer Abstandsfunktion auf einer Definitionsmenge einer Wertelandschaft zur Erzeugung der Werkzeugbahn B durch zumindest einen Parameter festgelegt. Auch wird automatisch und/oder durch den Anwender ein Reduktionsfaktor festgelegt, um welchen die Schrittweite jeweils nach einem Durchlauf einer Optimierung reduziert wird.
-
Zusätzlich wird weiterhin automatisch und/oder durch den Anwender eine minimale Schrittweite angegeben, deren Erreichen ein Abbruchkriterium darstellt.
-
Nach der Vorgabe der Randbedingungen im ersten Schritt S1 werden in einer zweiten Phase des Algorithmus in einem zweiten Schritt S2 zufällige Startwerte für jeweils zwei Stützpunkte P1, P2 für mehrere Polynomzüge im Arbeitsraum R erzeugt, entlang welcher das Werkzeug 1 kollisionsfrei vom Startpunkt SP zum Endpunkt EP bewegbar ist.
-
In einem dritten Schritt S3 werden anschließend im Rahmen einer Optimierung alle zufälligen Polynomzüge abgefahren und es wird der Polynomzug mit dem zugehörigen Paar von Stützpunkten P1, P2 aus der Mehrzahl von Polynomzügen ermittelt und ausgewählt, welcher die kürzeste Zeitdauer zur kollisionsfreien Bewegung des Werkzeugs 1 vom Startpunkt SP zum Endpunkt EP aufweist. Die verbleibenden Polynomzüge und deren zugehörige Stützpunkte P1, P2 werden in einem vierten Schritt S4 verworfen.
-
Anschließend wird in einem fünften Schritt S5 einer der Stützpunkte P1, P2 zu einer abwechselnden Variation von Koordinaten der beiden Stützpunkte P1, P2 im Arbeitsraum R ausgewählt.
-
In einem darauffolgenden sechsten Schritt S6 wird eine erste Achse gewählt, auf welcher der gewählte Stützpunkt P1, P2 zur Optimierung des Polynomzuges verschoben wird, bevor in einem siebten Schritt S7 geprüft wird, ob die im ersten Schritt S1 vorgegebenen Randbedingungen durch eine solche Verschiebung des Stützpunktes P1, P2 verletzt werden.
-
Werden die Randbedingungen nicht verletzt (dargestellt durch einen Pfad N1), wird der gewählte Stützpunkt P1, P2 in einem achten Verfahrensschritt S8 um die gewählte Schrittweite entlang der gewählten Achse im Arbeitsraum R verschoben, bevor in einem neunten Schritt S9 geprüft wird, ob aufgrund der durchgeführten Verschiebung eine zeitliche Optimierung des Polynomzuges erfolgt.
-
Liegt keine zeitliche Optimierung durch die Verschiebung vor (dargestellt durch einen Pfad N2), wird in einem zehnten Schritt S10 eine Verschiebungsrichtung auf der gewählten Achse geändert. Die Änderung der Verschiebungsrichtung im Schritt S10 erfolgt auch dann, wenn im siebten Schritt S7 die Randbedingungen verletzt werden (dargestellt durch einen Pfad J1).
-
Auch nach dem Wechsel der Verschiebungsrichtung im zehnten Schritt S10 wird in einem elften Schritt S11 überprüft, ob die im ersten Schritt S1 vorgegebenen Randbedingungen verletzt sind. Ist dies der Fall (dargestellt durch einen Pfad J2), erfolgt in einem zwölften Schritt S12 eine Wahl einer anderen Achse, entlang welcher der gewählte Stützpunkt P1, P2 innerhalb des Arbeitsraumes R verschoben wird.
-
Werden die Randbedingungen dagegen nicht verletzt, wird in einem dreizehnten Schritt S13 eine Verschiebung des gewählten Stützpunktes P1, P2 um die gewählte Schrittweite durchgeführt und der Polynomzug wird ausgeführt bzw. abgefahren.
-
Der dreizehnte Schritt S13 wird auch dann ohne Ausführung der Schritte S10 und S11 unmittelbar im Anschluss an den neunten Schritt S9 ausgeführt (dargestellt durch einen Pfad J3), wenn durch die im achten Schritt S8 durchgeführte Verschiebung eine zeitliche Optimierung des Polynomzuges erfolgte.
-
Im Anschluss an den dreizehnten Schritt S13 wird in einem vierzehnten Schritt S14 überprüft, ob aufgrund der durchgeführten Verschiebung eine zeitliche Optimierung des Polynomzuges erfolgt. Ist dies der Fall (dargestellt durch einen Pfad J4), werden die Schritte S13 und S14 solange wiederholt, bis im vierzehnten Schritt S14 festgestellt wird, dass keine Optimierung des Polynomzuges durch die Verschiebung entlang der gewählten Achse mehr möglich ist (dargestellt durch einen Pfad N3).
-
In diesem Fall wird in einem fünfzehnten Schritt S15 überprüft, ob eine zeitliche Optimierung durch Wahl einer anderen Achse, entlang welcher der gewählte Stützpunkt P1, P2 innerhalb des Arbeitsraumes R verschoben wird, realisierbar ist. Ist dies der Fall (dargestellt durch einen Pfad J5), wird erneut der sechste Schritt S6 durchgeführt.
-
Ist dies nicht der Fall (dargestellt durch einen Pfad N4) wird in einem sechszehnten Schritt S16 überprüft, ob bereits andere Achse betrachtet wurden. Wurden andere Achsen noch nicht betrachtet (dargestellt durch einen Pfad N5), wird erneut der zwölfte Schritt S12 ausgeführt.
-
Wurden dagegen bereits alle andere Achsen betrachtet (dargestellt durch einen Pfad J6), wird in einem siebzehnten Schritt S17 ermittelt, ob durch Wahl des jeweils noch nicht betrachteten Stützpunktes P1, P2 und dessen Verschiebung entlang von Achsen in Arbeitsraum R eine zeitliche Optimierung des Polynomzuges realisierbar ist. Ist dies der Fall (dargestellt durch einen Pfad J7), wird der fünfte Schritt S5 für den jeweils verbleibenden Stützpunkt P1, P2 ausgeführt.
-
Ist das Ergebnis des siebzehnten Schritts S17 negativ (dargestellt durch einen Pfad N6), wird in einem achtzehnten Schritt S18 überprüft, ob bereits alle Stützpunkte P1, P2 betrachtet wurden. Ist dies nicht der Fall (dargestellt durch einen Pfad N7) erfolgt in einem neunzehnten Schritt S19 die Wahl eines verbleibenden Stützpunktes P1, P2 und anschließend die Durchführung des sechsten Schritts S6.
-
Wurden dagegen bereits alle Stützpunkte P1, P2 betrachtet, wird in einem zwanzigsten Schritt S20 die Schrittweite um den Reduktionsfaktor verringert.
-
In einem 21. Schritt S21 wird überprüft, ob das Abbruchkriterium, d. h. ein Erreichen der vorgegebenen minimalen Schrittweite, vorliegt. Ist dies nicht der Fall (dargestellt durch einen Pfad N8), wird der fünfte Schritt S5 erneut mit verringerter Schrittweite durchgeführt. Ist das Abbruchkriterium dagegen erreicht (dargestellt durch einen Pfad J8), wird die zeitliche Optimierung des Polynomzuges in einem 22. Schritt S22 beendet.
-
Der Algorithmus wird somit in der Art ausgeführt, dass beginnend mit einer Achse eine Koordinate des gewählten Stützpunktes P1, P2 um die anfängliche Schrittweite verschoben wird. Kann eine zeitliche Verbesserung durch Abfahren des Polynomzuges erzielt werden, so wird im nachfolgenden Schritt die Koordinate wieder um einen Abschnitt verschoben. Dies passiert solange bis die erzielte Zeit wieder steigt oder eine Randbedingung verletzt wird. Wurde schon im ersten Schritt eine Verschlechterung erzielt, so wird die Verschiebung der Koordinate des Stützpunktes P1, P2 in die andere Richtung auf derselben Achse durchgeführt. Dieses Verschieben der Koordinate entlang einer Achse wird anschließend für die verbleibenden anderen beiden Achsen des Arbeitsraumes R auch durchgeführt. Konnte keine zeitliche Optimierung des Polynomzuges erreicht werden, so wird der verbleibende Stützpunkt P1, P2 variiert. Wurde aber für eine der Achsen eine zeitliche Verbesserung erreicht, so erfolgt eine erneute Variation der beiden anderen Achsen.
-
Sollte durch die Variation des weiteren Stützpunktes P1, P2 eine Verbesserung erreicht werden, so muss auch wieder der zuerst geprüfte Stützpunkt P1, P2 variiert werden. Konnte aber für alle drei Achsen im Arbeitsraum R der beiden Stützpunkte P1, P2 keine zeitliche Verbesserung mehr erzielt werden, folgt die Verringerung der Schrittweite um den zuvor definierten Reduktionsfaktor und die Verschiebung der Koordinaten der Stützpunkte P1, P2 beginnt erneut. Erreicht die Schrittweite das Abbruchkriterium, so wird die Optimierung letztmalig durchlaufen und endet, sobald eine weitere Verkleinerung erfolgen müsste.
-
Nach der während eines Betriebs der Bearbeitungsmaschine oder bei deren Inbetriebnahme automatisch durchgeführten Optimierung werden in einer dritten Phase des Algorithmus die Stützpunkte P1, P2 des Polynomzuges mit der minimalen Zeit an eine nicht gezeigte Steuereinheit zur Steuerung der Bearbeitungsmaschine übertragen. Die Steuereinheit, welche insbesondere Bestandteil der Bearbeitungsmaschine ist, steuert diese anhand der Stützpunkte P1, P2 derart an, dass das Werkzeug 1 entlang der Werkzeugbahn B kollisionsfrei in der minimalen Zeit vom Startpunkt SP zum Endpunkt EP bewegt wird.
-
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
-
- DE 102013021653 A1 [0003]