Robotik in der Industrie: Grundlagen und Anwendungen


Gastbeitrag von Dominik Marino für das Institut für Mechatronische Systeme

Das im Folgenden beschriebene Projekt konnte durch das Förderprogramm „Studentische E-Learning Experten“ unterstützt werden. Dieses wiederum ist Teil des hessenweiten Projekts HessenHub – Netzwerk digitale Hochschullehre.

„Robotics in Industry: Fundamentals and Applications“ wird in jedem Wintersemester vom Institut für Mechatronische Systeme angeboten. Diese Lehrveranstaltung bietet einen Überblick der verschiedenen Kernthemen in der Robotik. Dank der Förderung konnte die zugehörige Übung durch eine neue Simulations- und Lehrumgebung ergänzt werden. Dabei stellt die Simulationsumgebung sowohl eine Erweiterung als auch eine Modernisierung der Übungsinhalte dar. Die Simulationsumgebung setzt sich aus zwei elementaren Teilen zusammen. Zum einen werden Studierende durch die Übungen mit der Umgebung vertraut gemacht, indem eigene Programmierleistungen gefordert werden. Diese vervollständigen vorgefertigte Programmtemplates bezüglich vorlesungsrelevanter Themen. Zum anderen erhalten Studierende über den Verlauf des Semesters durch die Bearbeitung der Übungen eine wachsende interaktive Simulationsumgebung, die kritische, oftmals komplizierte Themen der Robotik visualisiert und vermittelt. Gerade Herleitungen mathematischer Zusammenhänge wie z.B. die Rotationen von Koordinatensystemen bzw. das Aufstellen dynamischer Systemgleichungen sind für die Studierenden oft schwer nachvollziehbar. Die Simulationsumgebung soll Studierende genau in diesen Themen unterstützen, während gleichzeitig praktische Erfahrung bei der Programmierung von Robotik nahen Methoden erlangt wird. Zur Implementierung dieser Methoden sind die Studierenden gezwungen sich intensiver mit den gelernten Vorlesungsinhalten auseinanderzusetzen und diese stetig zu wiederholen.

Grundlage der Simulationsumgebung sind die Programmiersprache Python in Kombination mit dem PyBullet Physics Simulator und der Robotics-Toolbox von Peter Corke. Die Robotics-Toolbox hat sich in den letzten zwei Jahrzehnten als herausragende Grundlage für Robotik Programmierungen hervorgetan. Der PyBullet Physics Simulator ergänzt die Simulation zusätzlich um eine grafische Oberfläche sowie weitere nützliche Funktionen. Im Mittelpunkt der Simulation steht der sieben gelenkige Franka Emika Panda Roboter.

Umsetzung

Ziel der Umsetzung ist es eine hohe Teilnahme der Studierenden zu erreichen. Gerade vor dem Hintergrund von Corona war und ist der Zugang zu gemeinschaftlichen Rechenräumen stark eingeschränkt. Damit dennoch alle Studierenden teilnehmen können, muss gewährleistet werden, dass die Simulationsumgebung auf allen gängigen Betriebssystemen verwendet werden kann und auch von Systemen mit niedriger Leistung nutzbar ist. Die kostenlose und einsteigerfreundliche Programmiersprache Python bietet hierfür eine betriebssystemunabhängige Grundlage. Jedoch liegen dieser Auswahl zwei weitere Kernargumente zugrunde: (i) Andere, im Maschinenbau etablierte, Sprachen wie Matlab sind oft mit hohen Lizenzkosten verbunden; (ii) Studierende in vorangehenden Semestern haben vermehrt den Wunsch nach einer Python-basierten Programmierübung geäußert.

Weiterhin gilt es auch Studierende ohne Vorkenntnisse in Programmierung von Python abzuholen. Zu diesem Zweck ist eine nutzerfreundliche Installation ein wichtiges Kriterium. Dank der hohen weltweiten Nutzung von Python sind diverse Oberflächen kostenlos verfügbar, die sowohl bei der Programmierung als auch der Installation unterstützen. Die Simulationsumgebung ist so aufgesetzt, dass eine Installation aller benötigten Bibliotheken wie PyBullet oder Robotics-Toolbox automatisiert erfolgt. Durch Ergänzung einer detaillierten Anleitung wird die Installation aller Komponenten weiter vereinfacht.

Die Plattform ist im Allgemeinen so aufgebaut, dass mit jeder Übung neue Funktionen in der Simulation ergänzt werden. Um dennoch über das Semester hinweg bereits als zusätzliches Lehrmittel zur Verfügung zu stehen, ist für jede Übung eine Nutzeroberfläche entwickelt worden. Diese bietet Interaktionsmöglichkeiten mit der Simulation und visualisiert die Kernthemen der jeweiligen Übung. Insbesondere steht im Fokus die Auswirkungen auf Eingaben zu verdeutlichen, die sonst nur als Abhängigkeiten in mathematischen Gleichungen vorkommen. So kann beispielsweise eine Veränderung in Position, Geschwindigkeit, Beschleunigung oder Kraft in den Gelenken des Roboters angegeben werden. Diese sorgt für eine Änderung der jeweils anderen Werte und Bewegung des Roboters. Die Auswahl der Eingabewerte ist darauf zugeschnitten Kernaspekte oder spezifische Problemstellungen der Robotik zu erkunden.

Die Simulationsumgebung behandelt die Themen der Kinematik, Dynamik, Bahnplanung und Kollisionsvermeidung. Dabei führen die Übungen, wie auch die Vorlesung, stetig tiefer in die Robotik ein. Zu Beginn wird beispielsweise zunächst ein Arbeitsraum – eine Darstellung der Bewegungsreichweite – des Roboters erstellt. Wohingegen zum Ende hin Bremssituationen zur Kollisionsvermeidung betrachtet werden, die wiederum auf eine zuvor umgesetzte Simulation der Dynamik des Roboters zurückgreifen. Die Erweiterung der Simulationsumgebung in den Übungen ist oftmals an Lösungen früherer Übungen gebunden. Damit werden Studierende zusätzlich unterstützt Zusammenhänge zwischen den behandelten Kernthemen der Robotik zu erkennen.

Fazit

Während versucht wurde möglichst intuitive und übersichtliche Nutzeroberflächen zu schaffen, war die Umsetzung nicht in vollem Maße erreichbar. Es wurde höhere Priorität für die Realisierung nötiger Konzepte für die Übungen gesetzt. Somit besteht in dieser Hinsicht weiterer Entwicklungsbedarf. Zusätzlich leidet die Simulation durch niedrige Übertragungsraten von Daten zwischen dem Physics Simulator und der Nutzeroberfläche. Beispielsweise werden Graphen verwendet, um Änderungen der Gelenkpositionen und der dadurch vorliegenden Kräfte darzustellen. Gerade bei Systemen mit niedriger Rechenleistung kann dieser Datenaustausch zu Verzögerungen in den Graphen führen, wodurch Graph und aktueller Zustand des Robotermodells nicht zusammenpassen.

Dennoch liefert die neue Simulationsumgebung einen guten Überblick in die verschiedenen Kernthemen der Robotik. Gleichzeitig setzen sich Maschinenbauer*innen stärker mit Programmierung auseinander. Gerade in der Robotik ist die Programmierung von fundamentaler Bedeutung. Zusätzlich zeigt eine Implementierung der physikalischen und mathematischen Modelle, die der Robotik zugrunde liegen, oft die kritischen Aspekte in den Modellen auf und erzwingt eine tiefgreifendere Betrachtung der Themen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert