Robotergreifer setzt Zahnrad auf Motorschaft

Roboter programmieren nach Baukastensystem? Geht! Wir haben die Software von Artiminds Robotics getestet. Bild: next Robotics

| von Florian Blum
Artiminds Robotics Andreas Hermann
Andreas Hermann ist Senior Team Leader Advanced Robotics bei Artiminds Robotics. Bild: next Robotics

Die Programmierung von Robotern für komplexe Anwendungen ist Spezialistensache! Oder? Dass Anwender sich mit diesem Vorurteil zu weit aus dem Fenster lehnen, konnten wir, vom Youtube-Kanal next Robotics, mit unserem Besuch bei der Software-Schmiede Artiminds Robotics aus Karlsruhe in faszinierender Art und Weise einmal mehr erfahren.

Aber von vorne: Worum es bei der Software des Karlsruher Deep-Tech-Unternehmens geht, erklärt uns Andreas Hermann, Senior Team Leader Advanced Robotics, bei Artiminds Robotics: "Die Komplexität der Robotik-Anwendungen ist eigentlich selten die Sorge der Anwender - die ist immer recht hoch, damit rechnen die Techniker. Das Problem für Anwender ist eher, dass sie sich mit vielen einzelnen Technologien unterschiedlicher Roboter- und Zubehör-Hersteller auseinandersetzen müssen. Manipulatoren, Kamerasysteme, Werkzeuge, Sensoren, eine angeschlossene SPS. Also abstrahieren wir von der Hersteller-Technologie weg, sodass sich der Programmierer auf den Prozess an sich konzentrieren kann. Mit unserer Software können unsere Kunden auch komplexe sensorgesteuerte Anwendungen im GUI, dem Graphical User Interface, realisieren - und das, ohne eine einzige Zeile Roboter-Code schreiben zu müssen."

Robotik-Service: Wie Sie Ihr eigenes komplexes Automatisierungs-Projekt planen

Die Anwendungs-Experten von Artiminds Robotics verfügen über umfangreiche Erfahrung bei der Lösung anspruchsvoller Automatisierungs-Aufgaben, die Kraftsensoren, Bildverarbeitungssysteme oder komplexe Werkzeugpfade erfordern. Das Automation Engineering Team unterstützt Unternehmen bei der Planung ihrer Automatisierungs-Projekte - zum Beispiel durch Machbarkeitsuntersuchungen oder Vorstudien - oder bei der Implementierung eines Prototyps und befähigt sie mit dem notwendigen Know-How, um selbst eine flexible Automatisierungs-Lösung zu erstellen. Mehr Infos dazu finden Sie hier.

Möglich wird das, weil die Artiminds Robot Programming Suite (RPS) mit einem Baukasten-System arbeitet, das Endeffektoren, Kraftsensoren, Bildverarbeitungssysteme und auch die SPS-Kommunikation spielerisch einfach über Bausteine integriert. Andreas Hermann: "Anwender ziehen einen Baustein für eine sensorgestützte Bewegung in ihr Programm und die Software kümmert sich anschließend darum, das dann auf den entsprechenden Roboter-Typ umzusetzen."

Hermann hat hierfür eine Test-Anwendung vorbereitet, in der es darum gehen soll, ein Zahnrad auf einen Motorschaft aufzusetzen: "Der Roboter muss dabei sehr feinfühlig vorgehen, er muss sich wirklich rantasten und genau das möchten wir jetzt teachen", erklärt der Experte. Wie wir dabei vorgegangen sind, zeigen wir Ihnen jetzt Step by Step.

Schritt 1: So wird der Roboter eingerichtet

Einblick in die Robot Programming Suite von Artiminds Robotics
Auswahl der wichtigsten Komponenten für unseren Cobot Use Case in der RPS. Bild: next Robotics

Für unser Anwendungsbeispiel hat Andreas Hermann einen UR3 Cobot von Universal Robots vorbereitet.

  • Im GUI der RPS wählt Hermann als Erstes den Cobot aus, dann den entsprechenden Kraft-Momenten-Sensor, einen ATI Axia 80 und schließlich noch einen digitalen Robotergreifer von Schunk.
  • Dann richten wir das Netzwerk ein. Schließlich sollen die Komponenten des Cobots via Ethernet miteinander kommunizieren können.
  • Was danach automatisiert abläuft: Die RPS lädt sich das Kalibrierfile aus dem Roboter herunter. "Damit wir im Roboter auch wirklich mit der Werkskalibrierung rechnen können", erklärt Hermann.
  • Als Nächstes richten wir die Koordinatensysteme ein. Festzulegen ist hier mit intuitiven Schiebereglern zuerst, wo der Roboter in seiner Zelle montiert ist. Also: "Wo ist er festgeschraubt, hängt er an der Decke oder hängt er an der Wand?", so Hermann. Hier gilt es im Übrigen auch die Montage des Kraft-Momenten-Sensors einzurichten. Hermann zeigt uns am Robotergreifer des UR3 einen kleinen Flansch-Adapter, dessen Länge wir für die Montage berücksichtigen müssen. Ebenfalls im gleichen Menüfenster einstellbar mit Schiebereglern: Die Anschraubposition des Robotergreifers und der Tool Center Point (TCP) des Roboters, der Arbeitspunkt des Werkzeuges.
  • Und nach einem abschließenden Kommunikationstest sind wir auch schon mit der Einrichtung des Cobots durch. Das ging einfach!

Schritt 2: Wie der Roboter seine Aufgabe kennenlernt

Nun, da der Roboter weiß, wer und wo er ist, machen wir uns an die eigentliche Aufgabe des Roboters: Das millimetergenaue, feinfühlige Aufsetzen des Zahnrads auf den Test-Motorschaft durch den Roboter-Greifer. Hierzu sagen wir dem Cobot über verschiedene Software-Bausteine der Robot Programming Suite (RPS), was er genau tun soll, wo er es tun soll und wie er es tun soll - "also zum Beispiel mit wieviel Kraft der Robotergreifer das Zahnrad drücken soll", erklärt Hermann. Hermann zeigt uns hierzu als erstes das Herzstück der Artiminds-Software: "Verschiedene Templates, mit denen sich unsere Kunden eine Art Sequenz-Diagramm ihres Roboter-Programms bauen können", so Hermann. Und das ist in der Praxis deutlich einfacher, als es sich anhört, wie wir im Folgenden lernen werden.

  • Für die Greifbewegung zum Zahnrad verwendet Hermann ein Template, also einen Baustein, den er Grasp - zu deutsch: Griff - nennt. Hermann zieht sich das Template zuerst einmal per Drag and Drop in sein Programm.
  • "Nachdem ich gegriffen habe, möchte ich nun als Nächstes in Richtung des Motors verfahren - hierfür benutzen wir eine Linearbewegung." Praktisch: Auch hierfür gibt es ein Template: Move Linear heißt es. Hermann zieht es sich wieder per Drag and Drop in sein Programm.
Programmier-Software für Roboter
Auf der linken Seite zu erkennen: Die Templates mit denen die RPS arbeitet. Bild: next Robotics
  • An dieser Stelle kommt nun der Kraft-Momenten-Sensor am Greifer zum Einsatz. Dieser ist für das Feingefühl verantwortlich. Hermann bedient sich hierfür bei einem Template, das Move Linear Contact heißt. Nicht fehlen darf hier noch das Template Spiral Search, hinter dem die Spiralsuche des Roboters steckt: Hierbei kreist der Robotergreifer mit dem Zahnrad solange auf dem Schaft des Motors, bis es auf die Aches rutscht. Hermann erklärt uns noch, dass es für die anstehende feinfühlige Fügebewegung noch weitere Templates gibt: zum Beispiel ein Insert Minimum Death Moment Contact Template, das den Cobot befähigt, das Zahnrad auf die Achse zu schieben, ohne dabei zu verkanten und gleichzeitig das Ende des Aufsetzprozesses zu erfühlen. Also zieht sich Hermann auch das in das Programm.
  • Fehlen nur noch das Template zum Öffnen des Robotergreifer nach dem Aufsetzen des Zahnrads und ein weiteres Template für den Rückzug des Cobots, also das Fortfahren im Prozess. Und fertig ist diese Baukasten-Sequenz - "auch Programm-Logik genannt", erklärt Hermann.

Schritt 3: Wir feilen an den Aufgaben des Roboters

Als Nächstes geht es nun darum, die bereits festgelegten Aufgaben des UR3-Cobots genauer zu spezifizieren.

  • "Dafür ist jedes der Templates mit einem sogenannten Wizard ausgestattet. Der Wizard leitet mich noch einmal graphisch durch alle relevanten Punkte, die der Roboter an Informationen benötigt, um jedes Template auch wirklich, wie ich es mir wünsche, ausführen zu können", erklärt Hermann. Zum Beispiel gilt es hier den Anrückpunkt des Robotergreifers, sowie den Greifpunkt genauer festzulegen.
  • Hermann teacht nun den Cobot, indem er ihm als erstes einmal das Zahnrad in die Spannbacken des Robotergreifers gibt. Nach dem Schließen des Robotergreifers, fährt Hermann ihn mit dem gegriffenen Zahnrad per Hand auf die Abgreifposition.
  • nun überspielt Hermann die Greifposition des Cobots online in die Software. Hermann erklärt uns, was dabei passiert: "Der Roboter übergibt nun seine Daten, also seine Gelenkwinkel, seine Kraftmessungen in das Software-System, das die realen Daten nun in den Templates als Greifposition abspeichert."
Teachen eines Cobots
Andreas Hermann teacht den Roboter - auch per Hand ist hier Feingefühl gefragt. Bild: next Robotics
  • die Abrückposition definiert Hermann in der Software hingegen wieder online: "Hier lege ich einfach nur fest, dass der Robotergreifer nach dem Greifen des Zahnrades 75 Millimeter nach oben fahren soll. Das Schöne daran ist, dass ich in der RPS, jeden beliebigen Prozess online oder offline (Offline-Programmierung) teachen kann, was die Programmierung generell sehr effizient macht.
  • Als Nächstes geht es natürlich noch darum, den UR3 für diejenige genaue Position zu teachen, an der das Zahnrad auf den Motorschaft aufgesetzt werden soll. "Auch das lässt sich wieder wunderbar online teachen", so Hermann und führt den Roboterarm per Hand an seine Zielposition. Fertig: Nun können wir uns die Simulation ansehen. Das Schreiben des Cobot-Quellcodes hat derweil die RPS übernommen. Die nötigen Infos dafür hat das System sich aus unseren spezifizierten Bausteinen gezogen. "Diesen Quellcode hätten Sie ansonsten mühsam selbst schreiben müssen", lächelt Andreas Hermann.

(Optionaler) Schritt 4 im kompletten Video: Der Besuch bei Artiminds Robotics - Quelle: next Robotics

Dass sich ein Programm, das mit der RPS für einen bestimmten Roboter-Typ erstellt wurde, auch ganz leicht auf zum Beispiel einen Kuka-Industrieroboter übertragen lässt (Schritt 4) und wie Sie einen einmal programmierten Prozess in der RPS noch weiter verbessern können, um die Qualität nachhaltig hoch zu halten, sehen Sie im kompletten Video!

Der Eintrag "freemium_overlay_form_keg" existiert leider nicht.