Entwicklung eines echtzeitfähigen Systems zur räumlichen Positionserkennung einer bewegten Kugel in einer bionischen Hand mit Hilfe einer time-of-flight-Kamera

Externe Bachelorarbeit am ifp - Can Barut

true" ? copyright : '' }

Can Barut

Entwicklung eines echtzeitfähigen Systems zur räumlichen Positionserkennung einer bewegten Kugel in einer bionischen Hand mit Hilfe einer time-of-flight-Kamera

Dauer der Arbeit: 4 Monate
Fertigstellung: Juni 2024
Betreuer: M.Sc. Samuel Pilch (Institut für Systemdynamik, Uni Stuttgart)
Prüfer: Prof. Dr.-Ing. Norbert Haala


 

Kurzfassung

Das Fachgebiet soft robotics verbindet die Robotik mit Ansätzen aus der Bionik und erfuhr in den letzten Jahren viel Zuwachs in der Forschung. In diesem Kontext arbeitet das Institut für Systemdynamik der Universität Stuttgart an einer bionischen Hand, deren Finger sich pneumatisch aktuieren lassen. Die Finger sind luftdichte, aus flexiblen Polyurethan-Elastomer 3D-gedruckte Hohlraumstrukturen, welche sich durch Druckzugabe kontrolliert verformen lassen. Die Hand besitzt zu diesem Entwicklungsstand noch keine Sensorik, die ihr Information über die in der Hand bewegten Objekte gibt. Ziel dieser Arbeit ist es eine Methode zu entwickeln, die einer Regelung in Echtzeit die Position des bewegten und teilweise durch die Finger verdeckten Objektes relativ zur Hand liefert. Im Rahmen des Projektes wird die Manipulation einer Kugel untersucht, weswegen hier als Objekt ebenso eine Kugel gewählt wird.

Umgesetzt wurde die Aufgabe mit dreidimensionaler computer vision, ermöglicht durch eine time-of-flight-Kamera (TOF), welche Pixelkoordinaten und deren Grauwerte zurückgibt. Somit dreht sich der erste Teil dieser Arbeit um Python-basiertes point cloud processing, um die Kugel in der Tiefenkarte zu segmentieren und in der point cloud zu lokalisieren. Im Gegensatz zu den auf deep learning basierenden Objekterkennungs- und Segmentierungsmethoden, wurde hier mit Grauwertfilterung zur Segmentierung und RANSAC zur Positionserkennung auf rein analytische Verfahren gesetzt. Das erfolgreich funktionierende System wurde in eine vereinfachte Anwendung eingebunden, die das korrekte Greifen der Kugel anhand der erkannten Position ermöglicht. Des Weiteren wurde das System auf Schnelligkeit, Genauigkeit und auf seine Robustheit bei teilweiser Objektverdeckung untersucht. Die Methode stellte sich für die Anwendung als geeignet heraus und wird hinsichtlich zeitlicher Auflösung nur durch die Framerate der Kamera beschränkt.

 

 

Die bionische Hand

Das übergeordnete Forschungsziel ist es, mit der Hand eine Kugel kontrolliert greifen, rotieren und manipulieren zu können. Das Positionstracking der Kugel ist damit ein Teil der Sensorik, die die Hand benötigt, um dieses Ziel zu erreichen.

Entwicklung des Trackings

Als Basis für das Tracking wird die Hand mit der TOF-Kamera aufgenommen und über die Python IDE Itom ausgelesen. Die Tiefenkamera liefert ein Grauwertbild und drei dazugehörige Koordinatenkarten, welche die kartesischen Koordinaten der Pixel liefern. Um die Kugel im Bild von der Hand und dem Hintergrund segmentieren zu können, wird die Kugel weiß gefärbt und der Rest der Szene in dunklen Farben gehalten. Dadurch lassen sich über Filterung des Grauwertbildes anhand eines manuell eingestellten Helligkeitsgrenzwertes die Pixel entfernen, die nicht die Kugel beschreiben. Es wird eine boolesche Maske erzeugt, die auf die Koordinatenkarten angewendet wird.

Aus den übrigen Pixeln wird eine dreidimensionale point cloud erstellt. Restliche Hintergrundpunkte, die es durch den Filter geschafft haben, werden durch eine Begrenzung der range of interest (ROI) entfernt.

Die resultierende point cloud besteht nun größtenteils aus Punkten, die die Kugeloberfläche beschreiben. Um die Position der Kugel zu berechnen, wird mit Hilfe eines RANSAC-Algorithmus (Random Sample Consensus) der Point Cloud Library eine Sphäre in die point cloud gefittet.

Anwendung

Anhand eines vereinfachten, symmetrischen Handaufbaus wird erforscht, wie das Tracking der Kugel in die Handsteuerung eingebunden werden kann. Ziel ist es über die erkannte Kugelposition die Kugel zu greifen. Die Kugel ist dabei statisch mittig über der Handfläche platziert, der symmetrische Handaufbau ist in folgender Abbildung zweidimensional dargestellt. Als gegriffen gilt die Kugel, wenn die Finger sie tangential berühren.

Wie zu sehen ist, lässt sich die einfachste Krümmung des Fingers an der Innenseite als Teil eines Kreises approximieren. Dieser geht tangential durch den Punkt f an der Einspannung des Fingers. Jede Krümmung lässt sich durch einen entsprechenden Kreisradius beschreiben. Die graue Schar an Kreisen beschreibt mögliche Fingerkrümmungen, gesucht ist jedoch der Radius des Kreises, den die Kugel von Innen berührt (gelb markiert). Im Koordinatensystem 𝔽 lässt sich der gesuchte Kreisradius über folgende Formel berechnen:

Anforderungen

An das Tracking sind folgende Anforderungen gestellt: Das Tracking muss echtzeitfähig sein, also die Position schnell genug berechnen (unsere Anforderung ist 10 ms), ebenso dürfen die gefundenen Kugelpositionen nicht zu stark streuen. Die letzte Anforderung ist, dass die Kugel auch bei teilweiser Verdeckung durch die Finger weiterhin robust erkannt werden muss.

Die teilweise Objektverdeckung ist für den RANSAC kein Problem, da er auch aus kleineren Teilen der Kugelgeometrie die Position bestimmen kann. Um ein realistisches Szenario zu modellieren, wurde das Zeitverhalten und die räumliche Streuung im statisch-verdeckten Fall bei einer 45 s langen Aufnahme gemessen, da in der Anwendung die Kugel sich nur in kleinem Rahmen bewegt, aber immer teilweise verdeckt ist. Hierbei ergab sich im Schnitt eine Verzögerung von unter 5 ms von Bildaufnahme bis zur Rückgabe der Position. Die Streuung stellte sich bei einer Standardabweichung von unter 1,5 mm um den Schwerpunkt aller gefundenen Kugelpositionen ein.

Ausblick

Um in der Zukunft auf der Arbeit aufzubauen, wäre der nächste Schritt die Anwendung in einem asymmetrischen Handaufbau. Hier hat jeder Finger eine individuelle räumliche Lage zur Kugel und es bedarf jeweils einer eigenen Sollkrümmungsberechnung.

Ein weiterer interessanter Punkt ist, dass das Positionsfeedback ermöglicht, über deep reinforcement learning Kugelbewegungen in der Hand zu bewerten und zu trainieren.

 

Ansprechpartner

Dieses Bild zeigt Norbert Haala

Norbert Haala

apl. Prof. Dr.-Ing.

Stellvertretender Institutsleiter

Zum Seitenanfang