Hallo,
ich benötige Hilfe von jemandem, der sich mit ABB Robotern auskennt.
Hauptproblem ist, dass ich viele kurze Wegstrecken habe und der Roboter sie nicht mit einer kontinuierlichen Geschwindigkeit abfährt. Dies führt zu einem unsauberen Druckbild.
Es sei vorweg gesagt, dass ich mich mit Robotik noch nicht gut auskenne und mich noch einarbeite.
Kurze Projektbeschreibung:
Ein ABB 2400 S4C+ wurde mit einem 3D-Druck Extruder für Granulat ausgerüstet (das Granulat wird in einen Endlosstrang mit 3mm Durchmesser erhitzt/ geformt).
Workflow: Ein 3D-Objekt wird als stl-Datei gespeichert und besteht nun aus vielen kleinen Polygonen (Dreiecken). Diese Polygone werden mit Hilfe eines Slicer-Programs (Simplify3D) in gcode (ähnlich nc-Code) umgewandelt. Diese Datei besteht aus Bewegungsinstruktionen, die nur aus Geradenstücken bestehen, zusätzlich ist im gcode eine Geschwindigkeit für den Extrudermotor enthalten. Der gcode wird nun in Rapidcode umgewandelt, hierzu nutze ich RoboDK.
Um z.B. einen Kreis abzubilden kommen hier viele Geraden zusammen, je nach gewünschter Auflösung kommen Geradenstücken unter 1mm heraus. Ich kann die Auflösung in Maßen steuern, aber ich möchte die Auflösung auch nicht zu grob wählen. Ich benötige grob eine Genauigkeit im Bereich von 1mm für das fertig gedruckte Objekt.
Mein Problem ist nun, dass der Roboter die Bahnpunkte nicht mit einer kontinuierlichen Geschwindigkeit abfährt. Zu kleine Abstände zwischen den Bahnpunkten führen zu einer Reduktion der Robotergeschwindigkeit. Da mein Extruder sich nicht an die aktuelle Robotergeschwindigkeit anpasst (und hierzu wohl auch zu träge wäre), möchte die eine möglichst konstante Robotergeschwindigkeit erreichen. Meines Wissens ist dies ein grundsätzliches Problem bei zu kleinen Wegstrecken, dennoch hoffe ich, dass hier noch was optimiert werden kann.
Folge Ansätze sind mir bisher eingefallen:
1.) die oben erwähnten Polygone vergrößern, um so kurze Wegstrecken zu vermeiden --> bei zu großen Polygonen wird das Druckobjekt zu eckig
2.) Den Wert Zonedata anpassen --> ich habe Werte bis zu z=10 ausprobiert. Das Ruckeln wurde weniger, aber war nicht ganz weg. Die Abweichungen wurden bei z=10 zu groß und das Druckobjekt wurde ungenau. Hier würde ich in Zukunft wieder z=1 verwenden.
3.) Beschleunigung des Roboter hochsetzen --> ich habe noch keine Möglichkeit gefunden, dies irgendwo einzustellen. Ich habe nur die Möglichkeit gefunden über AccSet die Beschleunigung zu verringern.
4.) Die Wiederanfahrstrecke anpassen --> Hiermit kenne ich mich nicht aus, aber ggf können hier zu kurze Wegstrecken (unter 1mm) übersprungen werden?? Das könnte helfen. Steht aktuell auf TCP-Abstand 0,5
5.) Die Bahnauflösung anpassen --> Hiermit kenne ich mich auch nicht aus.Steht aktuell aus 1,0
6.)... bestimmt gibt es noch weitere Parameter, die ich aber meiner Recherche bisher noch übersehen habe.
Vielleicht hat jemand ein paar hilfreiche Hinweise für mich, wie ich die Robotergeschwindigkeit möglichst konstant hinbekomme.
Für Hilfe wäre ich dankbar.!
Beste Grüße,
Ascan
-------------------------------
Hier noch ein Beispielcode und ein Bild meines Roboters mit Extruder:
MoveL [[1263.770,165.624,318.000],[0.000000,0.000000,1.000000,0.000000],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z1,rdkTool,\WObj:=rdkWObj;
Extruder (1700.0);
MoveL [[1266.098,180.813,318.000],[0.000000,0.000000,1.000000,0.000000],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z1,rdkTool,\WObj:=rdkWObj;
MoveL [[1265.719,183.432,318.000],[0.000000,-0.000000,-1.000000,0.000000],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z1,rdkTool,\WObj:=rdkWObj;
MoveL [[1265.730,183.720,318.000],[0.000000,0.000000,1.000000,0.000000],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z1,rdkTool,\WObj:=rdkWObj;
MoveL [[1264.115,194.851,318.000],[0.000000,-0.000000,-1.000000,0.000000],[0,0,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v100,z1,rdkTool,\WObj:=rdkWObj;