Bewegungssteuerung Motion Control für die NC-Fräsbearbeitung

Autor / Redakteur: Tobias Holznagel, Eckart Uhlmann und Emilia Mc Greal* / Stefan Guggenberger

Mittels Open-Plattform-Communication (OPC), einem Smartphone sowie frei verfügbaren Apps und Python-Bibliotheken haben Wissenschaftler eine Bewegungsteuerung für die Fräsbearbeitung entwickelt. Welches Potenzial in der innovativen Steuerung von Industriemaschinen steckt.

Firma zum Thema

Smartphones können nicht nur für Instagrambilder genutzt werden, sondern auch zur Steuerung von industriellen Fräsmaschinen.
Smartphones können nicht nur für Instagrambilder genutzt werden, sondern auch zur Steuerung von industriellen Fräsmaschinen.
(Bild: gemeinfrei // Pexels)

Die Bewegungen von Spindeln und Maschinentischen in NC-Fräsbearbeitungszentren werden zumeist an der Werkzeugmaschine in G-Code oder aus digitalen 3D-Modellen mittels CAD/CAM-Schnittstelle programmiert. Des Weiteren besteht häufig die Möglichkeit, beispielsweise über Pfeiltasten, Totmannschalter und Handrad mit festgelegten Vorschüben und Spindeldrehzahlen zu verfahren. Motion Control (Bewegungssteuerung), welche menschliche Bewegungen und Gesten als von der Werkzeugmaschine umzusetzende Verfahrbefehle verwendet, ist als Steuerungs- beziehungsweise Programmiermethode bisher nicht vorgesehen. Mit einer solchen Steuerung könnten Fräsbearbeitungen auch komplexer Geometrien, die wenig Präzision verlangen, zeitsparend ausgeführt beziehungsweise eine 3D-Freiformbearbeitung ohne Programmieraufwand realisiert werden. Ein Demonstrator für die Bewegungssteuerung einer NC-Fräsmaschine wird in diesem Beitrag vorgestellt.

Industrieroboter mit Sprache oder Gesten steuern

Unkonventionelle Steuerungs- und Programmiermethoden für Werkzeugmaschinen und Industrieroboter waren und sind immer wieder Gegenstand der akademischen Forschung. Zäh und Vogel [1] programmierten einen Schweißroboter durch Tracking eines Zeigestabs mittels 3D-Laserprojektor. Weiterhin entwickelte Rogowski [2,3] ein System zur Sprachsteuerung einer roboterisierten Fertigungszelle mittels Untersprachensyntax. Lambrecht und Krüger [4] programmierten einen Industrieroboter mit einem durch Augmented Reality (AR) unterstützten Motion-Tracking-System. Miadlicki und Pajor [5] verwenden einen Microsoft-Kinect-Sensor, der normalerweise für Videospiele gedacht ist, zur Steuerung einer CNC-Fräsmaschine durch Erkennung einfacher Gesten. Heimann et al. [6, 7] programmieren die Bahnen eines Schweißroboters mittels Fingerzeigs und AR. Eine Übersicht der unterschiedlichen Arten zur Roboterprogrammierung haben Heimann und Guhl [8] erstellt.

Zudem existieren bereits einige marktgängige Systeme, welche über die konventionellen Steuerungs- und Programmiermethoden hinausgehen. So wurde beispielsweise eine berührungsfreie Gestensteuerung für Roboter in der Automobilproduktion entwickelt, welche durch Hand- und Gesichtstracking funktioniert [9]. Die Firma Wandelbots GmbH aus Dresden [10] ermöglicht die Programmierung von Roboterbewegungen mittels TracePen. Das US-Unternehmen Shaper Tools Inc. entwickelt hingegen die digitale Oberfräse Shaper Origin, welche mittels eines Markersystems den Arbeitsbereich erfasst, um ihre Position auf der Arbeitsfläche in Echtzeit zu bestimmen und den menschlichen Anwendern robotisch-gesteuerte Korrektur zu bieten, während diese die zuvor programmierten Konturdaten abfahren [11].

Versuchsaufbau: Maschinensteuerung mit dem Smartphone

Moderne Maschinensteuerungen mit geeigneten Datenschnittstellen ermöglichen in Verbindung mit Synchronaktionen die im Interpolationstakte aktualisierte Vorgabe von Spindel-Soll-Positionen während des Prozesses. In dieser Machbarkeitsstudie wurde eine Ultrasonic-Fräsmaschine Composites260 der Firma DMG Mori AG mit einer Sinumerik 840d SL Steuerung und OPC UA SW3.0 SP1-Schnittstelle von Siemens verwendet. Als Messgerät zur Aufzeichnung der Bewegungen kam ein handelsübliches Smartphone, das Iphone SE 2020 mit dem Betriebssystem IOS 14.4.1 von Apple zum Einsatz. Mittels der frei verfügbaren App ZIG SIM, der Firma 1-10 aus Japan, in der Version 1.3.2 werden die Quaternion- und Handymesswerte im OSC-Format an einen Python-UDP Server, realisiert mit dem Osc4py3-Package, gesendet. Die Datenübertragungsrate beträgt dabei 60 Hz. Im Pythonskript, Version 3.8.3, welches auf einem PC läuft, werden die Handydaten, die noch in Einheit Bogenmaß vorliegen, mit einer Konstante multipliziert. Um unerwünschtes Zittern nicht als Steuerungsbefehl an die Maschine weiterzugeben, werden Handymesswerte, in diesem Fall die Kippwinkel, im Bereich von 0 bis 0,2 genullt. Inkremente über 2,5 sind unzulässig. Für ein sanftes Anlaufen werden zudem Werte im Bereich 0 bis 1 quadriert. Über den Python-OPC-Client Opcua können die so generierten Sollwerte in Form von $R-Parametern an den OPC-Server der Werkzeugmaschine übergeben werden. Auf $R-Parameter kann dabei, im Gegensatz zu R-Parametern, in Synchronaktionen zugegriffen werden. Mittels Synchronaktionen im G-Code werden damit neue Positionssollwerte für die Spindel in der Maschinensteuerung realisiert.

Der relevante G-Code lautet:

ID=123 WHENEVER $R==1 DO POS[X]=IC($R10) FA[X]=20000
ID=124 WHENEVER $R==1 DO POS[Y]=IC($R11) FA[Y]=20000
ID=125 WHENEVER $R==1 DO POS[Z]=IC($R12) FA[Z]=20000

Datenpipeline für die Bewegungssteuerung.
Datenpipeline für die Bewegungssteuerung.
(Bild: TU Berlin // Freepik // Siemens)

Wobei die Synchronaktionen 123, 124 und 125, sobald die Variable $R1 auf 1 gesetzt wird, für jeden Interpolationstakt den Positionssollwert X, Y und Z inkrementell um $R10, $R11 bzw. $R12 verändern. Als Vorschubgeschwindigkeit wurde für alle drei Achsen fx,y,z = 20.000 mm/min gewählt. Die Spindeldrehzahl wurde statisch auf n = 2.000 U/min festgelegt. Da die Verfahrbewegungen durch die Synchronaktionen vorgegeben werden, wird das G-Code-Programm während der Bewegungssteuerung durch den G4-Befehl in den Dwell-Zustand versetzt. Um unerwünschte Spindelbewegungen oder gar Kollisionen im Maschinenraum zu vermeiden, wird im Pythonskript ein erlaubter Arbeitsraum festgelegt. Der komplette Signalfluss ist in Bild 1 dargestellt.

Auf der Werkzeugmaschine wurde ein HSS-Hohlkehlfräser mit r = 6 mm in einer Werkzeugaufnahme HSK-E 50/PG25x100 H mit 8 mm Spannzange PG25 eingespannt. Als Werkstoff wurde Obomodulan Typ 302 verwendet.

Schneller Lernprozess und reproduzierbare Ergebnisse

Der Bediener lernt, einen Smiley zu fräsen a) 1. Versuch b) 2. Versuch c) 3. Versuch.
Der Bediener lernt, einen Smiley zu fräsen a) 1. Versuch b) 2. Versuch c) 3. Versuch.
(Bild: TU Berlin)

Es hat sich gezeigt, dass unterschiedliche Bediener nach kurzer Eingewöhnungsphase in der Lage sind, gewünschte Strukturen sicher und schnell über die Bewegungssteuerung von der Werkzeugmaschine umsetzen zu lassen. Anfangsschwierigkeiten bestehen vor allem in der richtigen Zuordnung der Drehachsen des Handys zu den Bewegungsachsen des Fräswerkzeugs als auch bei der korrekten Abschätzung der durch einen zunehmenden Kippwinkel ansteigenden Vorschubgeschwindigkeit. Auch das Verfahren in nur einer Achse, beispielsweise auf einer Höhe beziehungsweise bei konstantem Z-Wert, erfordert Übung. Schwierigkeiten bereitet hierbei der Abstand des Bedieners zur Zerspanzone, zum Beispiel aufgrund der Maschinenumhausung. Weiterhin muss das System, sobald die gewünschte Bearbeitung abgeschlossen ist, sicher vom Bediener stillgesetzt werden, um unerwünschte Spindelbewegungen auszuschließen. Die Ergebnisse des Lernprozesses eines Bedieners sind in Bild 2 dargestellt.

Handymessdaten und verarbeitete Inkremente während der Fertigung des Smileys aus Bild 2c.
Handymessdaten und verarbeitete Inkremente während der Fertigung des Smileys aus Bild 2c.
(Bild: TU Berlin)

Während der Bearbeitung wurden die generierten Handymessdaten und die an die Werkzeugmaschine via OPC kommunizierten Inkremente mitgeloggt. Somit lassen sich die generierte Handybewegung und Bewegungsinkremente beliebig oft reproduzieren. Die aufgezeichneten Daten der drei Achsen für den Smiley in Bild 2 sind in Bild 3 dargestellt.

Verbesserungen bei der Hardware sind möglich

Verbesserungspotenzial besteht in der Verwendung eines für die Bewegungsaufzeichnung geeigneteren Handheld-Gerätes, welches beispielsweise die Ist-Positionen statt der Kippwinkel als Messwerte ausgibt. Hardwareseitig würde durch die Verwendung schneller analoger Eingänge der Werkzeugmaschinensteuerung als auch durch die analoge Ausgabe der Spindel Ist-Positionswerte die OPC Kommunikation entlastet. Weiterhin könnten simple Funktionen wie die Anwahl gewünschter Bewegungsachsen, eine Funktion zum Fertigen von Löchern sowie das Schwenken des Maschinentisches integriert werden. Würde der entwickelte Demonstrator um eine Funktion zum Ankratzen beziehungsweise Antasten erweitert, ließen sich einfache Strukturen mit gewohnt hoher Positioniergenauigkeit, aber ohne Programmieraufwand fertigen.

Komplexe Geometrien in der Zukunft umsetzbar

Der hier entwickelte Demonstrator gibt einen Einblick in die Möglichkeiten von OPC und in die Herausforderungen bei der Entwicklung einer Bewegungssteuerung für die Fräsbearbeitung. In künftigen Arbeiten kann die Ansteuerung weiterer Achsen, wie der Schwenkung des Maschinentisches sowie der Frässpindel und das Antasten von Werkstücken oder das Verfahren in Werkzeugübergabeposition mittels Bewegungssteuerung realisiert werden. Auch Offline-Bahn-programmierung sowie eine Programmierung komplexer und strikt definierter Geometrien mittels Gestenprogrammierung liegt im Rahmen des zukünftig Möglichen. Die Verwendung des Systems für die künstlerische, maschinenunterstützte Bearbeitung ist mit dem Demonstrator bereits möglich. Die erstellten Skripte in Python und G-Code sind im Gitlab der TU Berlin veröffentlicht. Um den vorgestellten Ansatz zur Marktreife zu bringen und weitere Use-Cases zu entwickeln, sucht das IWF derzeit nach Partnern in Industrie und Wissenschaft für die gemeinsame Projektarbeit.

*Tobias Holznagel, Eckart Uhlmann und Emilia Mc Greal arbeiten am Institut für Werkzeugmaschinen und Fabrikbetrieb der TU Berlin.

Literatur und Quellen:

[1] Zaeh, M.; Vogl, W.: Interactive laser-projection for programming industrial robots. In: 2006 IEEE/ACM International Symposium on Mixed and Augmented Reality Santa Barbara, CA, USA. IEEE, 2006, S. 125 - 128.
[2] Rogowski, A.: Industrially oriented voice control system. Robotics and Computer-Integrated Manufacturing 28 (2012) 3, S. 303 - 315.
[3] Rogowski, A.: Web-based remote voice control of robotized cells. Robotics and Computer-Integrated Manufacturing 29 (2013) 4, S. 77 - 89.
[4] Lambrecht, J.; Kruger, J.: Spatial programming for industrial robots based on gestures and Augmented Reality. In: 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems Vilamoura-Algarve, Portugal. IEEE, 2012, S. 466 - 472.
[5] Miądlicki, K.; Pajor, M.: Real-time gesture control of a CNC machine tool with the use Microsoft Kinect sensor. International Journal of Scientific and Engineering Research 6 (2015) 9, S. 538 - 543.
[6] Heimann, O.; Hugle, J.; Krüger, J.: Gesture based robot programming using process knowledge - An example for welding applications. In: 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) Limassol. IEEE, 2017, S. 1 - 4.
[7] Heimann, O.; Hügle, J.: Intuitive Roboterprogrammierung per Fingerzeig. ATZextra (2018) 11.
[8] Heimann, O.; Guhl, J.: Industrial Robot Programming Methods: A Scoping Review. In: 2020 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA) Vienna, Austria. IEEE, 2020, S. 696 - 703.
[9] Eichler, P.: Sie hören auf die Hand: Roboter im Automobilbau ohne Berührung kontrollieren. (2021). URL: https://nachrichten.idw-online.de/2021/02/11/sie-hoeren-auf-die-hand-roboter-im-automobilbau-ohne-beruehrung-kontrollieren/ (Zugriff: 2021-04-19)
[10] Diedrich, O.: Robotersteuerung: Vormachen statt programmieren. (2020). URL: https://www.heise.de/ix/meldung/Robotersteuerung-Vormachen-statt-programmieren-4714432.html (Zugriff: 2021-04-19)
[11] Origin + Workstation: Your Precision Workshop. (2021). URL: https://www.shapertools.com/en-gb/origin/overview (Zugriff: 2021-04-19)

(ID:47541163)