Hallo zusammen!
Ich bin Alexander und habe neun Monate als Hilfskraft in der Forschung am Institut für Robotik und Prozessinformatik der TU Braunschweig gearbeitet. Ich studiere Wirtschaftsinformatik im Master und habe zuvor bereits in der Lehre gearbeitet, sowohl während dem Bachelor als auch am Anfang vom Master. Die Projekte am IRP reichen von medizinischer Robotik über Robot Control bis hin zu Machine Learning in der Robotik, Leitung ist aktuell noch Professor Steil jedoch wird sich das bald ändern.
Dass ich überhaupt in der Robotik gelandet bin, war eher ein Zufall: Im ersten Semester meines Masterstudiums habe ich aus Interesse eine Robotik Vorlesung besucht, weil andere Veranstaltungen, die mich interessiert haben, nicht stattfanden. Dann hat sich zuerst eine Hiwi Stelle im Robotik Praktikum für das Sommer Semester 2024 ergeben. Passend zum Ende des Semesters wurde eine Stelle in der Forschung frei, die sehr gut zu meinen Interessenschwerpunkten passte, davon werde ich euch im Folgenden berichten.
Das Projekt, an dem ich gearbeitet habe, hatte das Ziel, einen Roboterarm mit einer humanoiden Hand so zu steuern, dass er in einem menschlichen Umfeld kollaborativ arbeiten kann. Die vorgesehene Tätigkeit war das Putzen von Oberflächen. Für Menschen ist diese Aufgabe zwar trivial (abgesehen von der körperlichen Anstrengung), doch für einen Roboter ist sie ziemlich komplex. Die Roboterhand muss sich an unterschiedliche, teils sehr komplexe Oberflächen anpassen können. Dafür wurde ein Experiment durchgeführt, bei dem mit Hilfe von Motion Capture menschliche Handbewegungen aufgezeichnet wurden. Diese Bewegungen sollten dann mithilfe von Machine Learning auf die Roboterhand übertragen werden. Mit diesem Teil des Projekts war meine Betreuerin beschäftigt. Kurze Info zum genutzten Roboter, dieser wurde von einem Start-up aus Braunschweig entwickelt und produziert, auf der Seite vom IRP könnt ihr mehr dazu finden.
Meine Aufgabe war es, am Controller des Roboterarms zu arbeiten, also an der Komponente, die die Hand zur gewünschten Position bewegt. Die Herausforderung besteht dabei darin, dass der Arm Kollisionen mit der Umgebung erkennen muss, um Schäden zu vermeiden und keine Personen zu gefährden. Gleichzeitig muss der Arm aber auch mit einer bestimmten Kraft gegen die zu reinigende Oberfläche drücken können – so wie es ein Mensch intuitiv macht.
Dafür wird eine Kontrollmethode namens „Hybrid Force-Motion Control“ verwendet. Ohne zu sehr ins Detail zu gehen: Es handelt sich um ein quadratisches Optimierungsproblem, das basierend auf dem aktuellen Roboterzustand die nötigen Drehkräfte für die Motoren berechnet, um die Hand entlang einer definierten Trajektorie zu bewegen. Dabei werden die 2 Fälle Bewegung mit Kontakt zu einer Oberfläche und ohne Kontakt unterschieden. Man benötigt auf jeden Fall Kenntnisse in Mathematik und Physik für die Formulierung des Problems.
Meine Anfangszeit war geprägt von der Einarbeitung in die bestehende Codebasis sowie in einige theoretische Grundlagen, die über die Inhalte meiner bisherigen Vorlesungen hinausgingen. Außerdem musste ich verschiedene Libraries lernen, die ich zuvor noch nicht kannte. Die gesamte Entwicklung erfolgte in C++ und wurde mit der Simulationssoftware Gazebo getestet. Um die einzelnen Software- und Hardwarekomponenten miteinander zu verbinden, wurde das Robot Operating System (ROS) verwendet.
Das wars erstmal zum Einstieg, wir sehen uns im Nächsten Blockeintrag.