Einen Roboter in 5 Schritten programmieren

Dank Cobots muss man heute kein ausgebildeter Experte mehr sein, um einen Roboter programmieren zu können. Dennoch ist die Programmierung für viele noch immer eine Blackbox: Wie läuft diese typischerweise ab? Worauf gilt es dabei zu achten? Erfahren Sie in fünf Schritten, wie Programmieren geht!

Roboter in 5 Schritten programmieren | Universal Robots
Roboter in 5 Schritten programmieren | Universal Robots

Dank kollaborierender Roboter (Cobots) muss man heute kein ausgebildeter Experte mehr sein, um einen Roboter zu programmieren. Und das senkt die Hemmschwelle, Prozesse in der Produktion zu automatisieren, um künftig wettbewerbsfähig zu bleiben.

Trotzdem ist die Programmierung eines Roboters für viele noch immer eine Blackbox: Wie läuft sie typischerweise ab? Und worauf muss ich dabei achten? Diese Fragen beantworten wir hier und veranschaulichen die Programmierung in unserer Nutzeroberfläche PolyScope.

Die Programmierung einer einfachen Anwendung mit Cobots lässt sich in 5 Schritte unterteilen:

  1. Das Einrichten des Werkzeugs
  2. Die Definition der Wegpunkte und Bewegungen des Roboters
  3. Die Interaktion mit Endeffektoren und externen Geräten
  4. Die Gewährleistung der Sicherheit der Applikation
  5. Die Optimierung der Zykluszeiten

Schritt 1: Das Werkzeug einrichten

Kollaborierende Roboter lassen sich je nach Bedarf mit einer Vielzahl unterschiedlicher Werkzeuge, auch Endeffektoren genannt, ausrüsten – von Greifern verschiedener Typen über Klebepistolen bis hin zu Schweißgeräten. Bei der Programmierung ist es wichtig, dass der Roboter zunächst einmal weiß, mit welchem Endeffektor er arbeitet. Dafür sind 3 Variablen ausschlaggebend:

1. Der Tool Center Point (TCP)

Der TCP ist der zentrale Ankerpunkt für die gesamte Programmierung einer Anwendung. Er definiert sich als die Mitte zwischen den Kontaktpunkten des Endeffektors mit dem Werkstück. Bei einem Zwei-Finger-Greifer liegt der TCP zum Beispiel in der Mitte zwischen den beiden Fingerbacken. Bei Endeffektoren mit nur einem Kontaktpunkt, wie etwa einer Klebepistole, ist der einzige Kontaktpunkt mit dem Werkstück gleichzeitig auch der TCP. Befindet sich der TCP, wie bei den meisten Greifern, direkt senkrecht vom Werkzeugflansch, kann er per Lineal abgemessen werden. In komplexeren Fällen können Sie ihn über einen TCP-Einrichtungsassistent in PolyScope konfigurieren.

2. Der Werkzeugschwerpunkt

Würde man einen Querschnitt durch den Endeffektor vornehmen, würde dieser an einem bestimmten Punkt den Endeffektor in zwei genau gleich schwere Hälften teilen – das ist der Werkzeugschwerpunkt. Doch wie messe ich diesen? Keine Sorge, auch dafür gibt es in der Bedienoberfläche eines jeden Cobots einen integrierten Assistenten.

3. Die Nutzlast

Die Nutzlast ist das Gesamtgewicht des angeschlossenen Endeffektors sowie ggf. weiterer an den Werkzeugflansch angebrachter Geräte, wie z.B. Kameras. Diese Nutzlast wird einfach in die Programmieroberfläche eingegeben.

Mit dem Freedrive-Button am Teach Pendant lässt sich der Cobot per Hand von Wegpunkt zu Wegpunkt führen.
Mit dem Freedrive-Button am Teach Pendant lässt sich der Cobot per Hand von Wegpunkt zu Wegpunkt führen.

Schritt 2: Wegpunkte und Bewegungsarten festlegen

Ist das Werkzeug eingerichtet, geht es an die Definition der Wegpunkte. Die Wegpunkte sind die einzelnen Stationen, die der Roboter in jedem Zyklus der Anwendung nacheinander abfährt. Definiert werden sie jeweils durch die Position, die der TCP an der entsprechenden Stelle einnimmt.

Ein Roboterprogramm in seiner einfachsten Form besteht aus: verschiedenen Wegpunkten, den Bewegungen zwischen den Wegpunkten und den Aktionsbefehlen an den bestimmten Wegpunkten.

Die einzelnen Wegpunkte können Sie je nach Bedarf auf verschiedene Art und Weise festlegen: über die Handführung des Cobots, über die Bedienoberfläche PolyScope oder über die Eingabe von Koordinaten. Um die Bewegungen zwischen den Wegpunkten zu definieren, gibt es ebenfalls verschiedene Optionen:

1. Die Gelenkbewegung

Gelenkbewegungen sind die natürlichste und schnellste Form der Bewegung des Roboterarms zwischen zwei Wegpunkten, da der Roboter alle Achsen gleichzeitig startet. Und mit allen zeitgleich an den jeweiligen Zielwinkeln ankommt. Wann wird sie genutzt? Vor allem dann, wenn nicht wichtig ist, welcher genaue Weg genommen wird, und wenn freier Raum zwischen den beiden Wegpunkten besteht. Bei der Gelenkbewegung fährt der Roboter den TCP nichtlinear in einer Parabel von Wegpunkt zu Wegpunkt.

2. Die Linearbewegung

Bei der Linearbewegung nimmt der TCP die direkteste Strecke zwischen zwei Wegpunkten – er bewegt sich linear. Eine sehr gängige Verwendungsform ist etwa das senkrechte Aufheben oder Niederlegen eines Werkstücks.

3. Die konstante Bewegung

Hier bewegt sich der TCP in konstanter Geschwindigkeit auf einer vorgegebenen Linie. Um die konstante Geschwindigkeit zu wahren, sind lineare Bewegungen, weiche Kurven oder Kreisbewegungen möglich, jedoch keine scharfen Richtungsänderungen. Dieser Bewegungstyp wird üblicherweise bei Schweiß- oder Klebe-Anwendungen genutzt.

Um einen Roboter zu programmieren, werden die verschiedenen Bewegungstypen miteinander kombiniert – etwa eine Linearbewegung, um das Werkstück senkrecht aufzunehmen und eine anschließende Gelenkbewegung, um es möglichst direkt zum Ablageort zu befördern. Die Kombination der beiden Bewegungstypen gewährleistet, dass das Programm den Anforderungen der Anwendung an den jeweiligen Stellen – Schnelligkeit (Gelenkbewegung) sowie korrektes Erfassen des Werkstücks (Linearbewegung) – gerecht wird.

Schritt 3: Interaktion mit Geräten konfigurieren

Eine Applikation besteht nicht nur aus den richtigen Bewegungen des Roboters. An bestimmten Wegpunkten soll natürlich auch der Endeffektor in Aktion treten. Die Programmierung des Endeffektors ist meist integriert in die Nutzeroberfläche des Cobots und kann an den Wegpunkten daher einfach als Aktionsbefehl programmiert werden. Wichtig dabei: Sobald ein Greifer ein Werksstück aufnimmt bzw. wieder ablegt, ändert sich seine Nutzlast – dies müssen Sie in der Programmierung berücksichtigen.

Schritt 4: Die Sicherheit gewährleisten

Die Applikation ist nun bereits funktionsfähig. Jedoch sollten Sie bei jeder Anwendung mit Cobots immer ein genaues Auge auf die Sicherheitsaspekte werfen. Um eine Anlage sicher zu gestalten und dennoch möglichst kurze Zykluszeiten zu garantieren, gibt es unterschiedliche Optionen, die sich kombinieren lassen. Unsere Cobotmodelle verfügen dafür über insgesamt 17 TÜV-zertifizierte Sicherheitsfunktionen. Dies sind 3 der wichtigsten:

  1. Reduzierter Modus: Im reduzierten Modus bewegt sich der Roboter mit geringer Geschwindigkeit, was das Verletzungsrisiko im Falle einer Kollision minimiert.
  2. Sicherheitsstopp: Wird der Sicherheitsstopp ausgelöst, wird das Programm unterbrochen und der Roboter steht still.
  3. Not-Aus: Beim Not-Aus steht der Roboter nicht nur still, sondern wird komplett ausgeschaltet. Soll er wieder in Betrieb genommen werden, muss er neu initialisiert und das Programm neu gestartet werden.

Jede Sicherheitsfunktion kann auf verschiedene Weisen ausgelöst werden. Gängige Auslöser sind Scanner oder virtuelle Ebenen. Ein Scanner etwa versetzt den Roboter in den reduzierten Modus oder bringt ihn komplett zum Stehen, sobald ein Mensch einen bestimmten Bereich betritt. Virtuelle Ebenen im freien Raum hingegen sorgen dafür, dass der Roboter genau diese nicht oder nur im reduzierten Modus übertritt. Sie können einfach über die Nutzeroberfläche definiert werden, indem ein Punkt auf der entsprechenden Ebene mit dem TCP angefahren wird und der Werkzeugflansch dabei rechtwinklig zur gewünschten Ebene positioniert wird.

Lesen Sie in unserem Blogbeitrag “Kollaborativ heißt nicht langsam”, wie Sie die Sicherheitsfunktionen eines Cobots gezielt einsetzen.

Virtuelle Ebenen gewährleisten, dass der Roboter in bestimmte Bereiche nicht oder nur eingeschränkt eindringt.
Virtuelle Ebenen gewährleisten, dass der Roboter in bestimmte Bereiche nicht oder nur eingeschränkt eindringt.

Dies sind nur ausgewählte Aspekte bei der Gewährleistung der Sicherheit kollaborativer Applikationen. Grundsätzlich gilt es, jede Anwendung individuell zu betrachten. Als sicher kann sie erst gelten, sobald die obligatorische Risikobeurteilung, üblicherweise durchgeführt vom Systemintegrator oder einer offiziellen Prüfstelle, erfolgreich abgeschlossen ist.

Schritt 5: Die Zykluszeiten optimieren

Im letzten Schritt gilt es, die Fahrzeit des Roboters zwischen den Wegpunkten zu verkürzen, um die Zykluszeiten der Applikation zu optimieren. Dabei spielen sogenannte Verschleifradien eine wesentliche Rolle. Ohne diese stoppt der Roboter seine Fahrt an jedem Wegpunkt für einen kurzen Moment, um seine Bewegungsrichtung auf den nächsten Wegpunkt auszurichten. Durch das Einstellen von Verschleifradien fährt er Wegpunkte nicht komplett an, sondern fährt in einer Kurvenbewegung an diesen vorbei. Und kann so seine Geschwindigkeit konstant halten.

Achtung: Verschleifradien sind nicht an jedem Wegpunkt sinnvoll bzw. möglich. Wo ein Roboter ein Werkstück etwa senkrecht aufnehmen soll, würde ein Verschleifradius die Applikation unbrauchbar machen.

Eine weitere Möglichkeit die Zykluszeiten zu verkürzen besteht darin, Geschwindigkeit und Beschleunigung zu erhöhen. Mit diesem Instrument sollte man sorgsam umgehen, denn eine zu hohe Geschwindigkeit kann die Sicherheit der Applikation beeinträchtigen, und eine zu hohe Beschleunigung die Lebensdauer der Robotergelenke mindern. Deshalb sind Verschleifradien immer als erste Option in Betracht zu ziehen. Die Geschwindigkeit sollte außerdem nur an ausgewählten Stellen und nicht für die gesamte Anwendung erhöht werden: Beim Aufnehmen des Werkstücks ist etwa eine hohe Geschwindigkeit meist nicht zielführend.

Individuelle Lösung statt Pauschalrezept

Letztendlich ist der genaue Ablauf einer Programmierung immer abhängig von Bedarf und Zielsetzung der Cobotanlage. In den meisten Fällen, etwa bei einer gängigen Pick & Place-Anwendung, läuft sie nach dem hier beschriebenen Muster ab. Im Einzelfall kann sich eine Programmierung aber auch ganz anders gestalten.

Weil es kein Pauschalrezept gibt, bieten wir jedem Interessenten die Möglichkeit, unseren Roboter bei einem Demotermin vorab zu testen. Und gemeinsam den Anwendungsfall zu evaluieren. Dabei lässt sich der Programmieraufwand meist gut abschätzen.

Benjamin Völzke

Benjamin Völzke arbeitet seit 2021 als Head of Field Application Engineering Western Europe bei Universal Robots. Der gelernte Automatisierungstechniker ist Spezialist für virtuelle Inbetriebnahme und verantwortet den technischen Pre-Sales Support im Partnernetzwerk der DACH-Region. Darüber hinaus leitet Benjamin Völzke das Technikteam mit Entwicklungsfokus auf innovativen Cobot-Applikationen – für größtmögliche Kundenzufriedenheit. Die virtuelle Welt beschreibt er auch im Privatleben als seine größte Leidenschaft.

Lokales Büro
  • Teradyne Robotics (Germany) GmbH
  • Zielstattstraße 36
  • 81379 München
Kontaktieren Sie uns: +49 8912189720