3D-Druck-Roboter

3d-Roboter

Additive Fertigungstechniken, besser bekannt als 3D-Druck, haben in den letzten Jahren zunehmend an Bedeutung gewonnen. Während konventionelle 3D-Drucker in der Regel nur translatorische Bewegungen zulassen und damit das Druckpotential nicht in vollem Umfang ausschöpfen können, hat der Einsatz von Industrierobotern in der additiven Fertigungstechnik den Vorteil, dass ihr Tool Center Point innerhalb eines definierten Arbeitsraumes sowohl in translatorischer als auch in rotatorischer Bewegung verfahren kann. Damit öffnen sich neue Möglichkeiten, so beispielsweise der Druck komplexer Freiformflächen mit einer minimierten Anzahl an Stützstrukturen.

Im Rahmen eines Projektes der Hochschule Heilbronn wurde dazu ein System entwickelt, bei dem ein sogenannter Direct- Drive- Extruder in Kombination mit einem Industrieroboter einen konventionellen 3D-Drucker ersetzen soll.

Schematischer Aufbau des Systems:
3d-Roboter Schematischer Aufbau
Systemeigenschaften:
  •  Zentrale Steuerung des Druckvorgangs über einen Raspberry Pi
  •  Offline- G-Code Parser
  •  Bahnplanung mit vollsynchronem Sinoidenprofil
  •  Echtzeit- Datenübermittlung an den Robotercontroller via UDP
  •  Serielle Kommunikation mit der Heizplatine

Hardwareseitig besteht das System aus einem Industrieroboter, einem Extrusionssystem, einem Heizbett, einer Filamentrollenhalterung sowie einem Schaltschrankgehäuse, in dem mit Ausnahme des Robotercontrollers die gesamte Leistungs- und Steuerelektronik des Systems integriert ist.

Robotersystem

Als Roboter wird der 6-Achs-Industrieroboter RV-4A von Mitsubishi in Kombination mit einem Controller der Typreihe CRn-500 verwendet. Der Roboter ist auf einem rollbaren Wagen bestehend aus Aluminiumprofilen befestigt, wodurch das gesamte System mobil eingesetzt werden kann.

Robotersystem

Übersicht Mitsubishi RV-4A Roboter

[1] - Mitsubishi Electric Corporation: RV-4A/5AJ/3AL/4AJL Series. Standard Specifications Manual. Tokyo : 2002

Extrusionssystem

Als Extruder wird der Direct- Drive- Extruder Titan Aero des Unternehmens E3D verwendet. Im Gegensatz zu den in konventionellen 3D- Druckern oftmals eingesetzten Bowden- Extrudern haben Direct- Drive- Extruder den Vorteil, dass bei der Extrusion nur sehr geringe Verzögerungszeiten entstehen. Außerdem besitzt der Extruder eine sogenannte Dual-Drive-Technologie, bei der der Kraftschluss auf das Filament über zwei gegenüberliegende Förderräder erzielt wird, um höhere Extrusionsgeschwindigkeiten zu ermöglichen. Der Düsendurchmesser des Extruders beträgt 0,8 mm.

Extrusionssystem

Titan Aero Kit von E3D

[2] - Dold Mechatronik: Titan Aero Kit - Mirrored 3 mm 24 V. URL https://www.dold-mechatronik.de/Titan-Aero-Kit-Mirrored-3mm-24V – Überprüfungsdatum 2021-10-16

Heizbett

Das Heizbett mit seinen Abmessungen 400 x 400 mm und einer Heizleistung von ca. 1kW kann mithilfe von Schrauben und Federn nivelliert werden, sodass eventuelle Unebenheiten des Untergrundes leicht ausgeglichen werden können. Hierfür wird der Roboter vor Inbetriebnahme an einem neuen Standort einzeln in die Ecken des Heizbetts gefahren und das Niveau mithilfe einer Kalibrierplatte überprüft.

Durch das beheizte Druckbett werden die gedruckten Bauteile auf der Unterseite auf einem definierten Temperaturniveau gehalten, wodurch die Schrumpfung des Materials aufgrund von Abkühlung sinkt. Das Ergebnis ist eine deutlich verbesserte Haftung.

Um den Arbeitsraum des Roboters und damit auch den Druckraum des Systems optimal auszunutzen, wurde das Heizbett, wie im Bild erkennbar, über Distanzelemente angehoben.

Heizbett
Filamentrollenhalterung

Um während dem Druckvorgang eine optimale Führung des Filaments in den Extruder zu gewährleisten, wurde eine Filamentrollenhalterung konstruiert, im 3D- Drucker gedruckt und wie im nachfolgenden Bild gezeigt am Gestell des Systems befestigt.

Filamentrollenhalterung
Schaltschrankgehäuse

Das im System integrierte Schaltschrankgehäuse dient der sicheren Unterbringung der Leistungs- und Steuerelektronik. Essenziell zu erwähnen sind hier der Raspberry Pi 4B als zentrale Befehlseinheit des gesamten Systems sowie eine separate Druckplatine, die die über die Befehlseinheit verschickten Druckbefehle interpretiert und umsetzt.

Raspberry Pi 4B

Der Raspberry Pi 4B mit 8 Gigabyte RAM in gewählter Variante ist ein performantes und zugleich kostengünstiges Embedded System, das auf Linux- Basis unter anderem die Erstellung und Ausführung hocheffizienter C++ - Programme ermöglicht.

Raspberry PI

Raspberry Pi 4B

[3] - Berry Base: Raspberry Pi 4B. URL https://www.berrybase.de/raspberry-pi/raspberry-pi-computer/boards/raspberry-pi-4-computer-modell-b-4gb-ram - Überprüfungsdatum 2021-10-16

Detaillierte Produktspezifikationen können der offiziellen Webseite des Herstellers entnommen werden.

Druckplatine

Als Druckplatine wird das Mainboard SKR 1.4 Turbo 32 Bit des Herstellers BIGTREETECH (BTT) gewählt. Für die Ansteuerung des Extruder- Schrittmotors ist zudem ein passender Motortreiber notwendig. Hierfür wird der TMC2209 V2.0 von BTT eingesetzt, da dieser ohne Änderung der Pinbelegung verwendet werden kann. Als Firmware wird Marlin 2.0 genutzt.

Druckplatine

Übersicht Mainboard SKR 1.4 Turbo

[4] - Shenzhen Big Tree Technology CO., LTD.: BIGTREETECH SKR V1.4. Motherboard Operating instruction. o. J. URL https://www.roboter-bausatz.de/media/pdf/0a/73/73/BTT-SKR-V1-4-Instruction-Manual.pdf - Überprüfungsdatum 2021-10-16

Weiterführende Informationen zum Produkt können der offiziellen Herstellerwebseite entnommen werden.

MXT- Protokoll von Mitsubishi

Der im System integrierte Industrieroboter RV-4A von Mitsubishi verfügt über eine sogenannte Echtzeitansteuerung, die einen schnellen, deterministischen und zuverlässigen Datenaustausch mit anschließender Befehlsverarbeitung ermöglichen soll. Dabei werden dem Robotercontroller in einem Echtzeittakt von 7,1 Millisekunden neue Daten über ein definiertes Format, die sogenannte MXT- Struktur, per User Datagram Protocol, kurz UDP, übergeben. Wird der Echtzeittakt nicht eingehalten, stoppt der Controller den Druckvorgang und wechselt in einen Fehlerzustand (harte Echtzeitbedingung).

Ein detaillierter Aufbau der MXT- Struktur sowie der genaue Ablauf der Echtzeitansteuerung können dem offiziellen Mitsubishi- Handbuch „CRn-500 Ethernet-Schnittstelle“ entnommen werden.

Echtzeitpatch

Da ohne das Vorhandensein eines Echtzeitbetriebssystems (RTOS = Real Time Operating System) nicht garantiert werden kann, dass innerhalb der geforderten Zykluszeit des Robotercontrollers von 7,1 Millisekunden unabhängig von der CPU-Auslastung neue Fahrbefehle vom Raspberry Pi an den Robotercontroller übergeben werden, ist es notwendig, den Raspberry Pi mit Echtzeiteigenschaften auszustatten.

Aufgrund der großen Community und dem weitreichenden Support wurde hierfür auf den unter Linux-Derivaten weit verbreiteten PREEMPT_RT Patch zurückgegriffen. Dieser ermöglicht eine einfache und komfortable Nutzung des Raspberry Pi für weiche sowie harte Echtzeitanwendungen. Im Rahmen dieses Projektes wurde Version 5.4.81-rt des Patches verwendet.

Bahnplaner mit vollsynchronem Sinoidenprofil

Zur Ausführung der Fahrbewegung werden dem Robotercontroller im Echtzeittakt neue Positionsdaten im kartesischen Koordinatensystem übergeben, die Berechnung der Inverskinematik obliegt dem Controller selbst. Um eine lineare Fahrbewegung zwischen zwei vorgegebenen Punkten zu ermöglichen, ist ein Bahnplaner notwendig. Die Aufgabe dieses Bahnplaners ist, zwischen einem Start- und Zielpunkt Stützstellen zu berechnen, die alle auf einer Geraden liegen, wobei sich der Abstand der Stützstellen reziprok proportional zur Fahrgeschwindigkeit verhält. Jede berechnete Stützstelle wird im Anschluss an die Bahnplanung an den Robotercontroller übergeben und von diesem angefahren.

Bahnplanung

Als Bahnplaner wurde ein sogenanntes Sinoidenprofil implementiert, das eine ruckfreie und flüssige Bewegung der Robotergelenke ermöglichen soll. Die Bewegungsgleichungen sind dabei in einzelne Phasen unterteilt, die nachfolgend mathematische beschrieben werden.

Bewegungsgleichungen

Bewegungsgleichungen für vollsynchrones Sinoidenprofil

[5] - Weber, Wolfgang: Industrieroboter. Methoden der Steuerung und Regelung. 4., aktualisierte Auflage, 2019

Weg-Zeit-Diagramm
Geschwindigkeit-Zeit-Diagramm
Beschleunigung-Zeit-Diagramm
Kollisionsprüfung

„Ein wichtiger Abschnitt der Druckvorbereitung ist die Kollisionsprüfung. Beim 3D-Druck können Selbstkollisionen des Roboters sowie Kollisionen mit der Umgebung oder dem extrudierten Material auftreten. Wenn beispielsweise eine geringe Entfernung zur Basis und eine große Bauhöhe für das Bauteil gewählt werden, dringt der mittlere Teil des Roboterarms kritisch in den Druckraum ein. Basierend auf der 3D-Modellierung der Roboterzelle sowie der Pfade aus der G-Code-Datei kann nach Kollisionen gesucht werden. Die Kollisionsprüfung wurde mithilfe der Matlab Robotics System Toolbox implementiert. Es werden nur diskrete Posen überprüft, sodass es besonders bei großen Gelenkbewegungen oder kleinen Hindernissen zu unerkannten Kollisionen kommen kann.“

Kollisionsprüfung
Kollisionsprüfung mit der Umgebung

[6] - Bertsch, Patrick: Bachelorarbeit. Aufbau und Inbetriebnahme eines robotergestützten Systems für die Fertigung im Schmelzschichtverfahren. 2020

Für die zentrale Ansteuerung des Robotercontrollers sowie der Druckplatine über den Raspberry Pi 4B wurde ein C++- Programm entwickelt, dessen Ablauf nachfolgend in konzentrierter Form beschrieben wird. Detaillierte Informationen zum Projekt können den dem Quellcode des Github- Projektes entnommen werden, auf das am Ende der Seite verlinkt ist.

  1. Start des C++ - Programms
  2. Parsen des zuvor durch einen Slicer erzeugten G-Codes
Parsen der GCode Datei
  1. Aufbau der Kommunikation zum Robotercontroller (UDP) und der Heizplatine (seriell)
Aufbau der Kommunikation zum Robotercontroller und Heizplatte
  1. Initialisieren eines Echtzeit-Threads mit hoher Priorität, der nacheinander für jede Zeile im G-Code:
Initialisieren eines Echtzeit Threads
    a. Start- und Zielpunkt der nächsten Fahrbewegung ausgehend vom aktuellen G-Code Befehl festlegt, unter Berücksichtigung der vorgegebenen Soll-   Geschwindigkeit die Bahnplanung durchführt und die berechneten Stützstellen nacheinander als Positionsdaten via UDP im Echtzeittakt (7,1ms) an den Robotercontroller sendet.
    b. Gleichzeitig (synchron) die aktuelle Zeile im G-Code unverändert über die serielle Schnittstelle an die Heizplatine sendet und auf ein „OK“ als Empfangsbestätigung warten.
Berechne Bahn und führe geplante Bahn aus
  1. Trennen der Verbindung zu Robotercontroller und Heizplatine
  2. Programmende

Wichtiger Hinweis: Die gezeigten Quellcode- Ausschnitte stellen sinngemäß die C++ Programmierung der einzelnen Ablaufpunkte dar, sind zu Zwecken der Übersichtlichkeit teilweise modifiziert worden und erheben daher keinen Anspruch auf Vollständigkeit oder Funktionsfähigkeit. Für den vollständigen Programmcode sei an dieser Stelle auf das am Ende der Seite verlinkte Github- Projekt verwiesen.

  • Abmessungen des Eiffelturms:   180x80x80 (HxBxT)
  • Düse 0,8 mm, Schichtdicke 0,4 mm
  • Druckzeit ca. 4 Stunden
  • Zeitraffer- Video in 300-facher Geschwindigkeit
Druckergebnisse

Während der Testphase des Systems wurden insgesamt etwa 20 Testobjekte verschiedenster Größen und Formen gedruckt. Je nach Größe des zu druckenden Objektes dauerte der Druckvorgang jeweils zwei bis vier Stunden an, womit das System deutlich langsamer arbeitet als herkömmliche 3D- Drucker. Dieses Defizit lässt sich dadurch erklären, dass sich die Linearachsen eines Standard- 3D- Druckers mit extrem hohen Beschleunigungswerten verfahren lassen, ohne dabei wesentliche Stabilitätseinbrüche zu verzeichnen, während selbst moderne Robotersysteme einfach aufgrund ihrer Kinematik bei vergleichbar hohen Beschleunigungsparametern (a > 5 m/s²) wesentliche Stabilitätsverluste zu verzeichnen haben. Durch die daraus resultierenden „langen“ Beschleunigungs- und Verzögerungsphasen des Robotersystems am Anfang und Ende jedes Geradenabschnitts vergrößert sich die notwendige Druckzeit damit vor allem bei kreisähnlichen Bahnen, die von Standard-Slicern durch viele kurze Geradenabschnitte interpoliert werden.

Mit Ausnahme dieser langen Druckzeit konnten aber durchaus gute Druckergebnisse erzielt werden, womit ein wesentlicher Grundstein für nachfolgende Arbeiten gelegt werden konnte.

Alle Testobjekte wurden mit einer 0,8mm breiten Düse sowie einer Schichtdicke von 0,4mm gedruckt.

Besonders im Vergleich zum Ausgangspunkt des Projektes konnten beeindruckende und zufriedenstellende Druckergebnisse erzielt werden, wobei sich die Druckqualität tendenziell mit zunehmender Größe der Druckobjekte verbesserte.

Im Hinblick auf Nachfolgeprojekte sind diverse Optimierungen und / oder Erweiterungen des 3D-Druck-Roboters möglich, so z.B.:

  • die Reduktion von Schwingungen der Roboterachsen während dem Druckvorgang
  • die Optimierung der Slicereinstellungen hinsichtlich Druckqualität und/oder -geschwindigkeit.
  • die Erweiterung des Systems von drei translatorischen um zusätzlich zwei rotatorische Freiheitsgrade auf insgesamt fünf Freiheitsgrade während dem Drucken -> Möglichkeit von stützstrukturlosem Drucken (Notwendigkeit eines 5D-Slicer)
  • die Umrüstung der Druckplattform auf einen hauseigenen Schokoladenextruder

Mitwirkende Studierende: Johannes Allert, Patrick Bertsch, Romina Gänsler, Andrej Leber

Logo des Audits familiengerechte Hochschule. Die HHN ist seit 2005 zertifiziert.
Logo der weltoffenen Hochschulen gegen Fremdenfeindlichkeit
Logo der Charta der Vielfalt mit Stempel unterzeichnet
Logo der Hochschulföderation Süd-West (HfSW)