Ein Fehler, den man erkennt, ist schon halb gebessert. Deshalb stellen wir dir in diesem Beitrag fünf häufige Fehler bei der Roboterprogrammierung vor und verraten dir, wie du sie vermeidest.

1. Falsche Definition der Koordinatensysteme, TCP, etc.

Eine Sache, die ich immer wieder höre, wenn ein Roboter einen Crash fährt, ist: “Der Roboter muss nachgeteached werden!” Das kann natürlich im Einzelfall schon stimmen, aber meistens stimmen die Punkte, was aber falsch ist, ist der Tool-Center-Point, der TCP. Wenn der Roboter denkt, dass sein Werkzeug einen Zentimeter weiter links ist, als er es tatsächlich ist, fährt der Roboter natürlich auch die Punkte falsch an. Deshalb: TCP neu kalibrieren und möglichst genau arbeiten, in dem man zum Beispiel kleinere Winkeländerungen vornimmt. Dazu folgt auch noch ein Beitrag, in der Zwischenzeit kannst du auch dieses Video anschauen.

Gleiches gilt beispielsweise fürs Work-Objekt. Wenn du den Tisch verschiebst, auf dem 200 Punkte programmiert sind, dann musst du nicht jeden einzelnen dieser Punkte nachteachen, sondern einfach nur das Base-Koordinatensystem neu vermessen.

Zur richtigen Definition gehören auch die Lastdaten, die im TCP gespeichert sind. Wenn du hier falsche Angaben machst, riskierst du, dass die Getriebe etc. deines Roboters schneller kaputtgehen. Klar, für 100 Kilo Gewicht braucht der Roboter mehr Kraft als für 10 Kilo, wenn er also denkt, dass ein schwereres Gewicht dran ist, als es tatsächlich ist, nutzt er die Kraft, die dafür nötig wäre. Andersrum ist es genauso, wenn also ein zu leichtes Gewicht angegeben ist, kann der Roboter schnell defekt werden.

Damit du es dir leichter vorstellen kannst: Stell dir vor, du würdest eine Tasche hochheben, von der du denkst, dass 10 Kilo Steine drin sind, tatsächlich ist sie aber leer. Dann wirst du ein bisschen ins Schleudern kommen. Oder du denkst, die Tasche ist leer, es sind aber 10 Kilo Steine drin. Dann kann es passieren, dass du dich verletzt, weil du nicht mit dem Gewicht gerechnet hast. Und so ist es auch beim Roboter.

Also zusammengefasst: Wenn es zum Crash kommt, erstmal prüfen, ob alles richtig definiert ist, bevor du dir die Arbeit machst, alle Punkte nochmal nachzuteachen.

2. Schlechte Programmstruktur

Ein Roboterprogramm muss gelesen werden können wie ein Buch. Was das bedeutet? Das Programm soll gut strukturiert und übersichtlich sein, mit klaren Bezeichnungen. Beim Programmieren musst du immer auch an die Zukunft denken. Andere Leute werden an diesem Roboter ggf. arbeiten und Veränderungen vornehmen. Und auch du selbst weißt in zwei Monaten nicht mehr, was genau der Roboter an Position 23 macht, wenn es nicht dabei steht. Das macht die Umprogrammierung extrem kompliziert, weil man erstmal herausfinden muss, was der Roboter wann macht. Erspar dir und anderen diese Mühen, indem du schon bei der Erstprogrammierung alles klar benennst.

Das Hauptprogramm ist das Inhaltsverzeichnis. Man soll es ansehen und dann wissen, was der Roboter alles macht, also zum Beispiel Werkstück holen, Werkstück in Maschine einlegen und dann Werkstück weitergeben.
Die Unterprogramme sind dann die Kapitel, in denen genau beschrieben ist, an welche Position der Roboter fährt, worauf er warten muss, wo er den Greifer aufmacht, etc. Und dabei ist es eben wichtig, den Positionen und Ein-/Ausgängen klare Namen zu geben, also beispielsweise “Greifer auf”, “Eingang Maschinenfreigabe” und so weiter. Frage dich beim Programmieren immer, ob du dieses Programm in drei Monaten noch einfach verstehen könntest.

3. Mechanik außer Acht lassen

Gerade die Offline-Programmierung verleitet dazu, dass man die Mechanik des Roboters vergisst. Wenn man zum Beispiel eine Home-Position wählt, bei der Achse 6 auf minus 245° steht und dann anfängt zu programmieren und Positionen abzufahren, dann kann es schnell passieren, dass man auf den Software-Endschalter kommt. Also: Home-Position schön zentral wählen und dafür sorgen, dass die Achsen nicht in extremen Winkeln sind.

Im nächsten Schritt schauen wir dann, ob alle extremen Positionen im Programm erreicht werden können, ich fahre also erstmal die Eckpunkte an und schaue, ob der Roboter an alle Stellen gut hinkommt. Dafür ist es auch wichtig, dass das Schlauchpaket angebracht ist, denn auch sowas gehört zur Mechanik. Wenn sich das Schlauchpaket nämlich aufgrund von Drehbewegungen um den Roboterarm wickelt, dann führt das aufgrund der Reibung zu schnellerem Verschleiß, oder das Schlauchpaket reißt direkt ab.

Deshalb: Schlauchpaket dran, Home-Position schön zentral und auf 0°, Endpunkte anfahren und schauen, ob alles klappt, und dann geht’s erst los mit Programmieren. So vermeidest du, dass du 90 % deines Programms fertig schreibst und dann am Schluss feststellst, dass du in einen Endschalter fährst, dich nicht mehr befreien kannst und dann das Programm neu aufsetzen musst.

4. Das Roboterprogramm wird nicht optimiert

Die Roboterprogrammierung ist nicht fertig, nur weil das Programm fertig ist. Zu einer guten Programmierung gehört auch die Optimierung. Du musst immer dran denken, dass der Roboter dieses Programm Tausende oder Zehntausende Male abfahren wird, da können sich kleine Fehler oder ungünstige Bewegungen ganz schön summieren.

Schau dir also das Programm nochmal im Automatikbetrieb an und schau, was alles optimiert werden kann. Das kann zum Beispiel sein, dass das Schlauchpaket irgendwo anschlägt, dann muss ich die Bewegung vielleicht weicher programmieren. Natürlich gehört auch das Überschleifen hier dazu, dass der Roboter schöne, runde Bewegungen mit gleichmäßiger Beschleunigung fährt und keine eckigen, “roboterartigen” Bewegungen im Programm hat, bei denen er bremsen und dann beschleunigen muss. Hier gehört auch die Taktzeitoptimierung dazu, schau also, wo du vielleicht die ein oder andere Sekunde noch einsparen könntest.

Also: Am Schluss noch einmal über das Programm drüber arbeiten, am besten so, dass es dann so fährt, wie auch du die Aufgabe ausführen würdest, also wie sich deine Hand bewegen würde. Wenn dann alle Bewegungen geschmeidig sind, kann der Roboter seine Aufgabe so gut wie möglich ausführen, und du hältst den Verschleiß geringer.

Fehler bei der Roboterprogrammierung
Mechanic repairing a robot machine

5. Zeitplan wird nicht eingehalten

Nach dreißig Jahren Programmiererfahrung kann ich dir sagen: Es dauert immer länger, als man erst denkt. Man denkt, die Programmierung hat man innerhalb von drei Tagen fertig, und plötzlich sind es 2-3 Wochen und alle beschweren sich, warum denn der Roboter noch nicht fertig programmiert ist. Das liegt nicht am Programmierer, sondern an allem, was um die Roboterprogrammierung herum anfällt.

Da kann es passieren, dass die Elektrik noch nicht fertig ist, ein Teil fehlt, der Greifer wird erst nächste Woche geliefert, etc. Deshalb: Anstatt voreilig eine schnelle Programmierung zu versprechen, die am Schluss zu Enttäuschung führt, wenn der Zeitplan nicht eingehalten wird, gleich von Anfang an großzügig planen. Lieber ist man schneller fertig, dann freuen sich alle Seiten.

Bei deiner allerersten Roboterprogrammierung empfiehlt es sich, einen Experten mit ins Boot zu holen. Der weiß, was getan werden muss, hilft dir bei der Erstellung des Zeitplans, der Struktur etc., und du hast für zukünftige Programmierungen einen Anhaltspunkt, was du alles machen musst und wie, und hast zudem schon ein Programm, an dem du dich orientieren kannst.

Fazit: All diese Fehler bei der Roboterprogrammierung sind leicht zu vermeiden

Wenn du diese fünf Fehler vermeidest, dann tust du dir, deinem Arbeitgeber und/oder deinem Kunden einen großen Gefallen. Deine Roboterprogramme sind einfacher zu verstehen, sie sind besser, führen zu weniger Verschleiß, du sparst dir unnötiges, zeitaufwendiges Nachteachen und enttäuscht keine zeitlichen Erwartungshaltungen.

Eigentlich lassen sich diese Punkte mit einem ganz einfachen Credo zusammenfassen: Lieber einmal richtig machen, als dass man dann Monate und Jahre später die anfangs gemachten Fehler korrigieren muss.

Nimm dir die Zeit, deine Programme ordentlich zu schreiben, alle Positionen klar zu benennen, deinen TCP sauber zu definieren, einmal alles abfahren, damit du weißt, dass die Mechanik die verschiedenen Punkte auch erreichen kann, und am Schluss alles nochmal optimieren, damit das Programm gut läuft. So ersparst du dir und allen anderen viel Frustration, Ärger und auch Kosten, die durch eine Umprogrammierung oder hohen Verschleiß entstehen würden.

In unserem Kurs Certified Operator for KUKA Robots lernst du all das und mehr und wirst zum zertifizierten Roboterbediener. Mehr Informationen findest du hier.

Du kannst diesen Beitrag auch als Video auf dem Roboterkanal anschauen, mit zusätzlichen Insights von Werner Hampel: