Roboterbearbeitung/CNC Fertigung ist ein Prozess, bei dem ein Rohmaterial durch kontrolliertes Materialentfernen, unter Verwendung eines Roboterarms, in eine gewünschte endgültige Form und Größe geschnitten wird. Die Bearbeitung umfasst Techniken wie Fräsen, Bohren, Anfasen und Entgraten. Diese werden typischerweise von automatisierten Werkzeugmaschinen (CNC) durchgeführt. Industrieroboter können mit RoboDK wie eine Werkzeugmaschine (3-Achs oder 5-Achs-CNC) eingesetzt werden.
Um dieselben oder bessere Ergebnisse wie bei CNC-Maschinen zu erzielen, benötigen Industrieroboter fortschrittliche Offline-Programmiersoftware wie RoboDK, um CNC-Maschinenprogramme in Roboterprogramme umzuwandeln.
Die Teiledimensionen werden unter Verwendung von Computer-Aided-Design (CAD)-Software definiert und dann in Herstellungsprogramme (wie G-Code) durch Computer-Aided-Manufacturing (CAM)-Software übersetzt. Die Fertigungsprogramme können dann mithilfe der Offline-Programmiertools von RoboDK in Roboterprogramme umgewandelt werden.
Zusätzliche Achsen wie ein Drehtisch oder auch eine Linearachse können mit dem Roboter synchronisiert werden, um den Arbeitsbereich zu erweitern.
在diesem Kapitel将erklart,是不是您simpl的风景明信片e RoboDK-Station für die Roboterbearbeitung offline vorbereiten. Eine RoboDK-Station enthält alle Roboter, Werkzeuge, Referenzrahmen, Objekte, sowie sämtliche Einstellungen. Weitere Informationen zum Erstellen einer RoboDK-Station finden Sie im AbschnittErsteSchritte.
Es ist erforderlich, einen Roboter mit einem Werkzeug für die maschinelle Bearbeitung einzurichten. Das 3D Objekt muss dabei in einem eigenen Bezugssystem sein:
1-民意调查您杯机器人:
a.Wählen SieDatei➔Online Bibliothek öffnen
b.Verwenden Sie Filter um Ihren Roboter nach Marke, Nutzlast, ... zu suchen und zu finden
Wählen Sie zum Beispiel den ABB IRB 2600-20 / 1.65 (20 kg Nutzlast, 1,65 m Reichweite).
c.Wählen SieDownload.Der Roboter erscheint automatisch auf dem Hauptbildschirm.
2-Wählen Sie ein Werkzeug:
a.Ebenfalls aus der Online Bibliothek; filtern Sie nachTyp➔Tool
b.Laden Sie das Spindel Werkzeug herunter
c.Das Werkzeug sollte automatisch am Roboter angebracht werden
Sobald das Werkzeug geladen ist, kann dieOnline-Bibliothekgeschlossen werden
3-Fügen Sie ein Bezugssystem hinzu
a.Wählen SieProgramm➔Bezugssystem hinzufügen
b.Wählen Sie das neue Bezugssystem in der Baumstruktur und verwenden Sie F2, um ihn inFräsreferenzumzubenennen
4-Fügen Sie ein Objekt hinzu:
a.Wählen SieDatei➔Öffnen
b.Wählen Sie das Objekt mit dem NamenObject wooden bowl.sld
c.Ziehen Sie das Objekt per Drag & Drop auf die Fräsrenferenz (im Stationsbaum)
Befolgen Sie diese Schritte, um ein neues Roboter Fertigungsprogramm für die maschinelle Bearbeitung einzurichten. Diese Schritte gelten, wenn eine NC-Datei mit einer CAM-Software (z. B. G-Code oder APT) erstellt wurde:
1.Wählen SieDienstprogramme➔Roboter Fertigungs Projekt(Ctrl+M).
Ein neues Fenster wird angezeigt, wie im Bild gezeigt.
2.Wählen Sie im Abschnitt Pfadeingabe eineNC Datei auswählen
3.您一杯NC-Datei一杯,z。b .一张来自罗boDK-Standardbibliothek:
C:/RoboDK/Library/Milling Bowl 3x.nc
Wählen Sie den Roboter, das Bezugssystem und das Werkzeug im oberen linken Bereich des Menüs, wie in der folgenden Abbildung gezeigt:
Die Werkzeugbahn wird in Grün angezeigt, die Pfadnormalen werden als weiße Vektoren angezeigt. Deaktivieren Sie den sichtbaren Werkzeugweg, um diesen auszublenden
Die Pfadeingabe ermöglicht die Auswahl verschiedener Arten, den Werkzeugweg zu erhalten. Der Werkzeugweg kann definiert werden durch:
●NC-Datei auswählen: Als eine NC-Datei (von der CAM-Software erhalten), wie in diesem Abschnitt beschrieben.
●Kurve auswählen:Als eine oder mehrere Kurven, wie im AbschnittKurvenverfolgungbeschrieben.
Es ist möglich, Kurven als eine Liste von Koordinaten in RoboDK zuimportieren.
●Punkte auswählen: Einen oder mehrere Punkte, wie im AbschnittPunktverfolgungbeschrieben.
Es ist möglich, Punkte als eine Liste von Koordinaten in RoboDK zuimportieren.
●3D Druck Objekte: Als Objekt für 3D-Druck. Ein Slicer wird verwendet, um die Geometrie in eine Werkzeugbahn zu konvertieren.
Die Anfahrt/Rückzug Bewegungen, werden im Menü oben rechts zur Verfügung gestellt.
Wählen SieHinzufügen, um eine zusätzliche Bewegung hinzuzufügen. Der grüne Pfad wird entsprechend aktualisiert. Es kann zwischen einer normalen Bewegung (entlang der weißen Normalen), einer Tangente (entlang des Grünen Pfads) oder entlang bestimmter Achsen in Bezug auf den Teil gewählt werden
Doppelklicken Sie auf einen Wert, um die Länge zu ändern, oder wählen Sie Entfernen, um eine bestimmte Bewegung zu entfernen
Der Werkzeug——铁路bstand ermöglicht das Ändern der bevorzugten Ausrichtung des Werkzeugs entlang der Werkzeugbahn. Diese Option wird hauptsächlich verwendet, um das Werkzeug um die Z-Achse des TCP zu drehen.
Standardmäßig zeigt der Werkzeug – Bahn Abstand einerotz(0)Transformation an. Dieser Wert kann geändert werden, um die bevorzugte Ausrichtung des Werkzeugs festzulegen. Dabei wird die Ausrichtung um die Z-Achse des TCP oder in Kombination mit anderen Achsen geändert. Die bevorzugte Ausrichtung ist die Ausrichtung, die der Roboter zu halten versucht, während er dem Werkzeugweg folgt.
RoboDK verwendet standardmäßig den Algorithmus derminimalen Änderung der Werkzeugorientierung. Dies bedeutet, dass die Ausrichtung des Werkzeugs entlang des Werkzeugweges so konstant wie möglich gehalten wird. Im Allgemeinen ist diese Option für Fräsoperationen geeignet, da sie die Robotergelenkbewegungen minimiert. Alternativ stehen andere Algorithmen / Methoden zur Verfügung, z. B. dieWerkzeugausrichtung anhand der Werkzeugbahn(nützlich für Schneidanwendungen) oderRoboter hält Objekt, wenn die Werkzeugbahn mit dem Roboterwerkzeug verknüpft werden muss (z. B. zum Dosieren oder Polieren).
贝静脉bevorzugten Ausrichtung萤石机器人eine gewisse Restfreiheit haben, innerhalb welcher er um die Z-Achse des Werkzeugs drehen kann. Dies ermöglicht es dem Roboter, das Programm auszuführen, wobei Robotersingularitäten und Achsenbeschränkungen vermieden werden. Standardmäßig lässt RoboDK das Werkzeug um bis zu +/- 180 Grad um die TCP-Achse in Schritten von 20 Grad rotieren.
Es wird empfohlen, diese Drehung abhängig von der Anwendung zu beschränken. Zum Beispiel ist es möglich, +/- 90 Grad einzugeben, um die zulässige Drehung um die Hälfte zu beschränken.
Wenn einige Punkte des Pfades nicht erreichbar sind, empfiehlt es sich, das Bezugssystem zu verschieben oder mit der Z-Drehung des Werkzeugs toleranter zu sein. Das Bezugssystem kann mit der Alt-Taste bewegt werden.
Wählen Sie aktualisieren, um das Programm gemäß den bereitgestellten Einstellungen zu erhalten. Ein grünes Häkchen wird angezeigt, wenn das Programm erfolgreich erstellt werden kann. Sie werden anschließend ein neues Programm in der Station sehen.
Doppelklicken Sie auf das erstellte Programmoder wählen SieSimulieren, um die Robotersimulation zu starten.
Klicken Sie mit der rechten Maustaste auf das Programm und wählen SieRoboterprogramm erstellen (F6), um das Programm zu erhalten. Weitere Informationen zur Programmgenerierung finden Sie im AbschnittProgramm.
RoboDK wählt automatisch die Startkonfiguration, die nah an den bevorzugten Startachswinkeln liegt (Bevorzugte Achswinkel für den Startpunkt). Von diesem Punkt aus wird der Roboter linearen Bewegungen folgen, so dass sich die Roboterkonfiguration nicht ändert.
静脉下拉-Menü zeigt alle möglichen Lösungen zum Starten des Programms an. Wählen Sie bei Bedarf eine bevorzugte Konfiguration und wählen SieAktualisieren, um das Programm neu zu berechnen
Es ist möglich, die Orientierung des Werkzeugs entlang der Bahn konstant zu halten. Dieses Verhalten ist zum Beispiel beim Fräsen oder Schweißen von Nutzen.
Wählen SieWerkzeugausrichtung folgt Pfadim Dropdown-MenüAlgorithmus auswählen, um den bevorzugten Werkzeugpfad neu zu berechnen. Die anderen Einstellungen sind dieselben wie bei einemBearbeitungsprojektmit konstanter Werkzeugausrichtung.
Es ist möglich, einen Roboter so zu programmieren, dass er eine Objekt/Werkzeubahn mit dem Werkzeug während des Herstellungsvorgangs hält. Dies ist zum Beispiel für Polieranwendungen oder beim Auftragen von Klebstoff nützlich.
Wählen SieRoboter hält Objektin der Dropdown-ListeAlgorithmus auswählen, um den Werkzeugweg ordnungsgemäß auf das TCP Bezugssystem zu platzieren. Die restlichen Einstellungen sind dieselben wie bei einemBearbeitungsprojektmit einer konstanten Werkzeugausrichtung.
Mit RoboDK kann ein Roboter Kurven im 3D-Raum abfahren. Kurven in RoboDK können aus Objektkanten ausgewählt oder als Liste von Punkten in CSV-Dateienimportiertwerden. Diese Option ist beispielsweise für Roboterschweißanwendungen nützlich.
Wählen SieDienstprogramme➔Kurvenverfolgung Projekt, um die Einstellungen für die Kurvenverfolgung zu öffnen. Diese Einstellungen sind mit denen einesRoboter Bearbeitungsprojektsidentisch. Der einzige Unterschied besteht darin, dass diePfadeingabeaufKurve auswähleneingestellt ist.
Wählen SieKurve auswählen, um die Kurve(n) auf dem Bildschirm auszuwählen.
Wählen Sie die Kurven mit der linken Maustaste aus. Durch zweimaliges Auswählen derselben Kurve wird die Bewegungsrichtung umgeschaltet. Wenn Sie mit der rechten Maustaste auf eine zuvor ausgewählte Kurve klicken, können Sie auch die Richtung wechseln oder eine zuvor ausgewählte Kurve abwählen
Klicken Sie mit der rechten Maustaste auf den Bildschirm und wählen SieFertigoder drücken Sie die Esc-Taste, um zum Einstellungsmenü zurückzukehren. Der grüne Pfad zeigt die Roboterbewegung in Bezug auf das Objekt an.
Einige zusätzliche Optionen sind oben rechts in den Einstellungen verfügbar, z. B. die Werkzeuggeschwindigkeit und ob die Anfahrts-/Rückzugsbewegungen für jede Kurve angewendet werden müssen. Die Standardeinstellungen werden im nächsten Bild angezeigt:
Kurven können in RoboDK aus einer CSV-Datei oder einer Textdatei importiert werden, indem SieDienstprogramme➔Kurven importierenauswählen. In der Station wird ein neuer Gegenstand angezeigt, der die Kurve als Objekt anzeigt.
Die verwendete Datei kann eine Textdatei mit den 3D-Koordinaten jedes Punktes der Kurve sein. Optional kann die Orientierung der Z-Achse des Werkzeugs als ein i, j, k-Vektor bereitgestellt werden.
Optional können bestehende Kurven eines Objekts als CSV-Datei exportiert werden (Rechtsklick auf eine Kurve, dann Kurve exportieren), modifiziert und wieder in RoboDK importiert werden.
Es ist möglich, dass ein Roboter mit Hilfe von RoboDK Punkten im 3D-Raum folgt. Punkte in RoboDK können aus Objekten und Kurven extrahiert oder als Liste von Punkten in CSV-Dateienimportiertwerden. Diese Option ist zum Beispiel für Punktschweiß- oder Bohranwendungen nützlich. Das folgende Video zeigt ein Beispiel zum Einrichten einer Punktschweißanwendung:Videoanschauen.
Wählen SieDienstprogramme➔Punktverfolgung Projekt, um die Punktfolgeeinstellungen zu öffnen. Diese Einstellungen entsprechen denen einerRoboterbearbeitung. Der einzige Unterschied besteht darin, dass derPfad EingangaufPunkte auswähleneingestellt ist.
Wählen SiePunkte auswählen, um Punkte auf dem Bildschirm auszuwählen.
Wählen Sie die Punkte mit der linken Maustaste aus. Wenn Sie denselben Punkt zweimal auswählen, wird die Richtung umgeschaltet. Wenn Sie mit der rechten Maustaste auf einen Punkt klicken, können Sie auch die folgenden Punkte auswählen, indem Sienächstes Auswählenverwenden.
Klicken Sie mit der rechten Maustaste auf den Bildschirm und wählen SieFertigoder drücken Sie die Esc-Taste, um zum Einstellungsmenü zurückzukehren. Der grüne Pfad zeigt die Roboterbewegung in Bezug auf das Objekt an.
Einige zusätzliche Optionen sind oben rechts in den Einstellungen verfügbar, z. B. die Werkzeuggeschwindigkeit oder die Annäherungsentfernung. Die Standardeinstellungen werden im nächsten Bild angezeigt:
Eine Liste von Punkten kann aus einer Textdatei oder einer CSV-Datei importiert werden, indem SieDienstprogramme➔Punkteimportieren auswählen. In der Station erscheint ein neuer Gegenstand, der die Punkte als Objekt zeigt.
Die Datei kann eine Textdatei mit den 3D-Koordinaten jedes Punktes der Kurve sein. Optional kann die Orientierung der Z-Achse des Werkzeugs als ein i, j, k-Vektor bereitgestellt werden.
Optional können vorhandene Kurven eines Objekts in Punkte konvertiert werden, indem Sie mit der rechten Maustaste auf eine Kurve klicken und dannKurvenpunkte extrahierenauswählen.
Der 3D-Druck oder die additive Fertigung ist der Herstellungsprozess dreidimensionaler fester Objekte aus einer digitalen Datei. Industrieroboterarme können hierzu als 3-Achs-3D-Drucker oder als 5-Achs-3D-Drucker mit RoboDK verwendet werden. Das folgende Video zeigt eine Übersicht über das Einrichten des 3D-Drucks mit RoboDK offline:Video anschauen.
3D-Druck mit Robotern ist auf eine der folgenden Arten möglich:
●Konvertieren Sie G-Code-Programme (NC-Datei) direkt in Roboterprogramme mit Hilfe von RoboDK. Dies wurde im ProjektRoboter maschinelle Bearbeitunggezeigt. Die Materialflussrate (Extruder-Anweisung E) wird bei jeder Bewegung richtig berücksichtigt und kann alsProgramm Ereignisin das generierte Programm integriert werden. G-Code ist eine Art von NC-Datei, die von RoboDK unterstützt wird und auch von vielen 3D-Druckern unterstützt wird. Die meisten Slicer Programme können ebenfalls G-Code mit einer STL-Datei erzeugen.
●Wählen SieDienstprogramme➔3D Projekt drucken, um die 3D-Druckeinstellungen zu öffnen. Diese Einstellungen sind mit denen einesRoboter maschinelle Bearbeitungidentisch. Der einzige Unterschied besteht darin, dass diePfad Eingabeals3D-Druckobjektvoreingestellt ist. Wählen SieObjekt auswählen, um das Objekt auf dem Hauptbildschirm auszuwählen und automatisch den Werkzeugweg zu erhalten. Wählen Sie 3D-Druckoptionen, um Slic3r zu öffnen.
Standardmäßig übersetzt RoboDK die E-Direktive als Programmaufruf in ein Programm namensExtruderund übergibt den E-Wert als Parameter. Wählen SieProgramm-Ereignisse, um dieses Verhalten zu ändern.
Der Extruder-Wert (E) gibt an, wie viel Material vor jeder Bewegung extrudiert werden muss. Dieser Wert kann verwendet werden, um die Extruderzufuhr vom Roboter, abhängig von Robotergeschwindigkeit und Abstand der Punkte, zu steuern.
Alternativ ist es möglich, die Beschickung des Extruders mit einem Postprozessor zu berechnen und entsprechend Code zu generieren. Der folgende Abschnitt enthält ein Beispiel.
Dieser Abschnitt beschreibt, wie ein RoboterPostprozessorbearbeitet werden muss, um die Zufuhr des Extruders, vor der jeweiligen Bewegung, zu berechnen. Alternativ können diese Berechnungen auch auf dem Roboter Controller gemacht werden.
Der erste Schritt besteht darin, die Extruder-Aufrufe abzufangen und die neuen Extruder-Werte (E-Werte) aus dem RunCode-Abschnitt im Postprozessor zu lesen:
defRunCode(self,code,is_function_call=False):
ifis_function_call:
ifcode.startswith("Extruder("):
# Intercept the extruder command.
# if the program call is Extruder(123.56)
# we extract the number as a string
# and convert it to a number
self.NEW_E_LENGTH=float(code[9:-1])
# Skip the program call generation
return
else:
self.addline(code +"()")
else:
# Output program code
self.addline(code)
Der Extruder-Wert wird als NEW_E_LENGTH-Variable gespeichert. Anschließend muss man ein neues Verfahren definieren, das Extruder-Vorschubbefehle entsprechend dem Abstand zwischen den Bewegungen, der Robotergeschwindigkeit und der Roboterbeschleunigung erzeugt. Dies setzt voraus, dass die Extruderzufuhr durch eine spezifische analoge Ausgabe von der Robotersteuerung (in diesem Beispiel den analogen Ausgang Nummer 5) angetrieben wird
defnew_move(self,pose1,pose2):
ifpose1isNone:
return
defCalculate_Time(Dist,Vmax,Amax):
'''Calculate the time to move Dist with Amax acceleration and Vmax speed'''
tacc=Vmax/Amax;
Xacc=0.5*Amax*tacc*tacc;
ifDist<=2*Xacc:
# Vmax is not reached
tacc=sqrt(Dist/Amax)
Ttot=tacc*2
else:
# Vmax is reached
Xvmax=Dist-2*Xacc
Tvmax=Xvmax/Vmax
Ttot=2*tacc+Tvmax
returnTtot
add_material=self.NEW_E_LENGTH-self.LAST_E_LENGTH
self.LAST_E_LENGTH=self.NEW_E_LENGTH
ifadd_material>0:
distance_mm=norm(subs3(pose1.Pos(),pose2.Pos()))
# calculate movement time in seconds
time_s=Calculate_Time(distance_mm,self.SPEED_MMS,self.ACCEL_MMSS)
# add material
self.setDO(5, (add_material/time_s))
else:
# DO not add material
self.setDO(5,0)
Schließlich müssen wir den Befehl new_move mit jeder neuen Bewegungsinstruktion ausführen. Wir können diesen Aufruf am Anfang des MoveL-Befehls hinzufügen:
defMoveL(self,pose,joints,conf_RLF=None):
"""Add a linear movement"""
self.new_move(self.LAST_POSE,pose)# used for 3D printing