Robotertechnnik

Andrea Gillhuber,

Zur kollaborativen Roboterlösung in 5 Schritten

Alle sprechen von der einfachen Programmierung kollaborierender Roboter, doch niemand wird konkret. Am Beispiel der e-Series, dem neuesten Modell Universal Robots, erklären wir die wichtigsten Schritte bei der Cobot-Programmierung. Von Andreas Schunkert

Kollaborierende Roboter, sogenannte Cobots, haben die Automatisierung demokratisiert: Dank ihrer muss man heute kein ausgebildeter Experte mehr sein, um einen Roboter programmieren zu können. Dieser Umstand ermöglicht vor allem kleinen und mittelständischen Unternehmen den Einstieg in die Automatisierung und damit eine Steigerung ihrer Wettbewerbsfähigkeit.

Doch für diejenigen, die noch nicht auf den Zug aufgesprungen sind, ist die Programmierung eines Cobots oft noch immer eine Blackbox. Oft wird davon gesprochen, dass sie einfach und intuitiv sei, selten wird es jedoch konkret. Wie läuft die Programmierung typischerweise ab? Worauf gilt es dabei zu achten? Diese Fragen wollen wir hier beantworten.

Als Beispiel dient dabei die Programmieroberfläche der e-Series von Universal Robots. Die Modellreihe wurde letztes Jahr auf der Messe Automatica erstmals der Öffentlichkeit präsentiert und stellt den aktuellen Technologiestandard in Sachen intuitiver Programmierung und Sicherheitsfunktionen dar.

Die Programmierung einer einfachen Applikation lässt sich in fünf aufeinanderfolgende Teilschritte untergliedern:

Anzeige

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 eins: Das Werkzeug einrichten

Kollaborierende Roboter lassen sich je nach konkretem Bedarf mit einer Vielzahl unterschiedlicher Werkzeuge, auch Endeffektoren genannt, ausrüsten – von Greifern verschiedener Typen über Klebepistolen bis hin zu Schweißgeräten. Für alle darauffolgenden Programmierungs-Schritte ist es von zentraler Bedeutung, dass der Roboter zunächst einmal weiß, mit welchem Endeffektor er arbeitet. Dafür sind drei Variablen ausschlaggebend:

Der Tool Center Point (TCP): Der TCP ist der zentrale Ankerpunkt für die gesamte Programmierung der Applikation. Er definiert sich als die Mitte zwischen den Kontaktpunkten des Endeffektors mit dem Werkstück. Bei einem Zwei-Finger-Greifer zum Beispiel liegt der TCP in der Mitte zwischen den beiden Finger-Enden; bei Endeffektoren mit nur einem Kontaktpunkt, wie etwa einer Klebepistole, ist der einzige Kontaktpunkt gleichzeitig auch der TCP. In der Programmieroberfläche wird der TCP als Abstand auf drei Achsen vom Werkzeugflansch definiert. Befindet sich der TCP wie bei den meisten Greifern direkt senkrecht vom Werkzeugflansch aus, kann er einfach per Lineal abgemessen werden. In komplexeren Fällen, kann er mit nur wenig Aufwand über den TCP-Einrichtungsassistent in der Roboter-Bedienoberfläche konfiguriert werden.

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. Er muss jedoch in der Praxis nicht aufwendig gemessen, sondern kann ebenfalls über einen in die Bedienoberfläche integrierten Assistenten definiert werden.

Die Nutzlast: Die Nutzlast ist das Gesamtgewicht des angeschlossenen Endeffektors sowie ggf. weiterer an den Werkzeugflansch angebrachter Geräte, zum Beispiel Kameras, und wird einfach in die Programmieroberfläche eingegeben.

Schritt zwei: 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 sowohl Wegpunkte als auch die Bewegungen dazwischen jeweils durch die Position, die der TCP an der entsprechenden Stelle einnimmt. Ein Roboterprogramm in seiner einfachsten Form besteht lediglich aus verschiedenen Wegpunkten, den Bewegungen zwischen diesen sowie bestimmten Aktionsbefehlen an den entsprechenden Wegpunkten.

Die einzelnen Wegpunkte können je nach Bedarf auf verschiedene Art und Weisen festgelegt werden: über die Handführung des Roboterarms, die Steuerung des Arms über die Bedienoberfläche oder über die Eingabe von Koordinaten.

Auch für die Konfiguration der Bewegungen zwischen den Wegpunkten bestehen verschiedene Optionen:

Die Gelenkbewegung: Gelenkbewegungen sind die natürlichste 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. Sie werden vor allem dann genutzt, 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.

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.

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 verwendet.

Neben dem Festlegen der Parameter über das Tablet lässt sich der Cobot während der Programmierung auch mit der Hand in Position bringen und so einstellen. © Universal Robots

Für die meisten Roboterprogramme werden verschiedene Bewegungstypen miteinander kombiniert – etwa eine Linearbewegung zum senkrechten Aufnehmen des Werkstücks und eine anschließende Gelenkbewegung, um es möglichst schnell direkt über den 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: Die Interaktion mit externen Geräten konfigurieren

Selbstredend besteht eine Applikation nicht nur aus den richtigen Bewegungen des Roboters – an bestimmten Wegpunkten soll auch der Endeffektor entsprechend in Aktion treten. Die Programmierung des Endeffektors ist integriert in die Nutzeroberfläche des Roboters und kann an den entsprechenden Wegpunkten daher sehr einfach als Aktionsbefehl programmiert werden. Wichtig dabei: Sobald ein Greifer ein Werksstück aufnimmt beziehungsweise wieder ablegt, ändert sich seine Nutzlast – dies muss in der Programmierung an den entsprechenden Wegpunkten berücksichtigt werden.

Zusätzlich besteht die Möglichkeit, sogenannte Threads anzulegen. Ein Thread ist ein separates Programm, das parallel zum Hauptprogramm des Roboters läuft und an bestimmten Stellen mit diesem synchronisiert werden kann. Mit einem Thread kann beispielsweise ein Förderband gesteuert werden, von dem der Roboterarm Werkstücke entnehmen soll.

Schritt 4: Die Sicherheit gewährleisten

Die Applikation ist nun bereits funktionsfähig. Soll sie jedoch kollaborativ sein, das heißt ohne Schutzumhausung in der unmittelbaren Umgebung von Menschen arbeiten können, ist noch ein genaues Auge auf die Sicherheit zu werfen, die schon von Anfang an mit bedacht werden sollte. Auch hier bestehen verschiedenste Möglichkeiten, die sich je nach Bedarf kombinieren lassen, um das erforderliche Maß an Sicherheit und gleichzeitig möglichst kurze Zykluszeiten zu garantieren – die Robotermodelle der e-Series verfügen über insgesamt 17 TÜV-zertifizierte Sicherheitsfunktionen. Dies sind drei der wichtigsten:

Der reduzierte Modus: Im reduzierten Modus bewegt sich der Roboter mit geringer Geschwindigkeit, was die Verletzungsgefahr im Falle einer Kollision minimiert.

Der Sicherheitsstopp: Wird der Sicherheitsstopp ausgelöst, wird das Programm unterbrochen und der Roboter steht still.

Der 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.

Die Sicherheitsfunktionen können 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.

Wichtig hierbei: Hält der Robotergreifer ein größeres Werkstück, kann er damit gegebenenfalls die virtuelle Ebene überschreiten, da die Ebene nur für den TCP eine Grenze definiert. Mit dem Anlegen einer sogenannten Werkzeugkugel ist dieses Problem jedoch schnell gelöst: Eine Werkzeugkugel definiert sich als Radius um den TCP und schließt das gesamte Werkstück mit ein – sodass der Roboter anschließend weiß, wie er auch mit dem Werkstück die virtuelle Ebene nicht mehr überschreitet.

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 weiter zu optimieren. Je besser die Applikation allerdings geplant ist, desto weniger muss in diesem Schritt optimiert werden. Zu beachten ist dabei vor allem, dass die Optimierung abgeschlossen ist, bevor die Risikobeurteilung durchgeführt wird, da diese bei nachträglichen Änderungen ungültig wird. 

Bei der Optimierung spielt das Einstellen von 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 beziehungsweise 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, Bewegungsgeschwindigkeit 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 bei der Programmierung einer Roboter-Applikation immer abhängig vom individuellen Automatisierungsbedarf und der konkreten Zielsetzung. In den meisten Fällen, etwa bei einer gängigen Pick-&-Place-Anwendung, läuft sie nach dem hier beschriebenen Muster ab – kann sich aber im Einzelfall auch ganz anders gestalten. Weil es kein Pauschalrezept gibt, bieten Roboterhersteller wie Universal Robots den Anwendern meist eine individuelle Roboterdemo und Evaluierung vor Ort an, bei der auch gleich eine erste Einschätzung des Programmier- und Einrichtungsaufwands vorgenommen wird.

Der Autor: Andreas Schunkert, Head of Technical Support Western Europe bei Universal Robots.

Anzeige

Das könnte Sie auch interessieren

Anzeige

Humanoide Greifsysteme

Geschickte Hände

Die menschliche Hand gilt bis heute als Maßstab, wenn es um die Flexibilität von Greifwerkzeugen geht. Vor allem in der Service- und Assistenzrobotik werden künftig vermehrt humanoide Manipulatoren gefragt sein, die unterschiedlichste Griffvarianten...

mehr...
Anzeige
Anzeige
Anzeige
Anzeige

Bin-Picking-System

Drei 3D-Objekterkennungssysteme

Für das Werkstückhandling bietet Liebherr drei verschiedene 3D-Objekterkennungssysteme an. Beim 3D-Visionssystem mit Laser-Laufzeitverfahren handelt es sich um einen Rotlicht-Laser, der unabhängig von Umgebungslicht und Verschmutzungsgrad arbeitet.

mehr...

Firmenjubiläum in Haiger

100 Jahre Cloos

Am 6. Mai gründete vor 100 Jahren der Ingenieur Carl Cloos ein Unternehmen zur Herstellung von Acetylenentwicklern. Heute zählt das Unternehmen zu den weltweiten Technologieführern in der Schweiß- und Robotertechnik.

mehr...
Anzeige
Anzeige
Anzeige

Safety

Sicherheitslösungen für Roboter

Mit Safety-Option Melfa Safe Plus II von Mitsubishi Electric kann die Geschwindigkeit eines Roboters gesteuert werden. So können Taktzeiten erhöht und der Arbeitsabstand zwischen Mensch und Roboter verringt werden.

mehr...

Vakuumerzeuger

Neue Kompaktejektoren

Eine neue Familie an Kompaktejektoren stellte Schmalz auf der Hannover Messe vor. Die Serie SCPM ist in drei Ausführungen erhältlich: Basic, Controlled oder Intelligent.

mehr...

Newsletter bestellen

Immer auf dem Laufenden mit dem SCOPE Newsletter

Aktuelle Unternehmensnachrichten, Produktnews und Innovationen kostenfrei in Ihrer Mailbox.

AGB und Datenschutz gelesen und bestätigt.
Zur Startseite