ICPRAM 2020

Das Ergebnis der Bachelorarbeit von Herrn Tobias Hassel (Studiengang Media Engineering) konnte auf der ICPRAM 2020 (International Conference on Pattern Recognition Applications and Methods) vorgestellt werden.

Worum geht es?

Möchte man Roboter mit künstlicher Intelligenz steuern, ist i.d.R. ein aufwändiges Anlernen erforderlich. Stehen keine Trainingsdaten zur Verfügung, bleibt nur ein „Trial and Error“-Ansatz, der sich aber bei Robotern verbietet, da Fehler u.U. mit hohen Kosten und Beschädigungen verbunden wären.

In der Arbeit von Herrn Hassel wurde daher ein „Digital Twin“ in der Simulationsumgebung Unity geschaffen, mit dem das Anlernen ohne Gefahren für die Umgebung in einer virtuellen Welt ausgeführt werden kann. Anschließend wurde das trainierte Model erfolgreich genutzt, um den „echten“ Roboter zu steuern.

Cozmo

Digital Twin

In der Arbeit wird der Spielzeugroboter Cozmo verwendet, der über eine Programmierschnittstelle verfügt. Der „Digital Twin“ bildet die Geometrie, die Sensoren (insbesondere die Kamera) und die Eigenschaften des Antriebs genau nach. Dazu wurden umfangreiche Messungen und Anpassungen durchgeführt.

Als Aufgabe wurde das Verfolgen einer gezeichneten Spur ausgewählt. Der Roboter ermittelt dazu die im Kamerabild enthaltenen Kanten und berechnet ein „Center of Gravity“ (COG) der Pixel. Das Modell versucht, dieses COG in der Mitte des Bildes zu halten. Dazu „lernt“ ein neuronales Netz, wir Steuerbewegungen die Position des COG verändern.

Ad-Hoc Grid Computing: Browser als virtueller Supercomputer

Die Idee ist an sich nicht neu: Durch die Kopplung vieler Ressourcen lassen sich leistungsfähige Ablaufumgebungen erzeugen, die auch komplexe Problemstellungen durch parallele Bearbeitung von Teilaufgaben meistern können. Man spricht in diesem Zusammenhang vom Grid Computing. Allerdings müssen derartige Grids meist aufwändig konfiguriert und implementiert werden.

Masterarbeit: Webbrowser als Knoten eines Ad-Hoc Grids

Michael Schneider, Absolvent des Master-Studiengangs Informationssysteme, hat in seiner Masterarbeit nachgewiesen, dass gängige Webbrowser ohne zusätzliche Konfiguration ein solches Grid spontan bilden und gemeinsam an der Lösung von Problemen arbeiten können. Er hat dazu eine JavaScript-Bibliothek entwickelt, die in herkömmliche Web-Seiten eingebettet dazu führt, dass der die Seite anzeigende Browser einem Ad-Hoc Grid beitritt und damit einerseits für die Abarbeitung übermittelter Aufgaben zur Verfügung steht, andererseits aber auch selbst Aufgaben an das Grid zur Lösung übergeben kann.

Parallelität a’la HTML5

Vor HTML5 war Nebenläufigkeit von im Browser ausgeführtem JavaScript nicht vorgesehen. Erst die mit HTML5 neu eingeführten Web Worker haben eine Möglichkeit eröffnet, in einer Web-Seite parallele Abläufe zu implementieren, die durch mehrere Threads des Browsers ausgeführt werden. Michael Schneider hat nun in seiner Arbeit den Distributed Web Worker entwickelt, der sich aus Sicht eines Entwicklers wie ein Web Worker verhält, den Programmcode aber an einen anderen Knoten des Grids zur Ausführung überträgt.

Mandelbrotmenge

Zur Überprüfung seiner Überlegungen und der Implementierung hat Herr Schneider u.a. den Algorithmus zur Bestimmung der Mandelbrot-Menge in JavaScript implementiert und die einzelnen Zeilen der Visualisierung an Distributed Web Worker zur Berechnung übergeben.

Mandelbrot

Ergebnisse

Natürlich erzeugt die Einbindung einer zusätzlichen Schicht zur Verteilung von Aufgaben in einem Grid zunächst einen Overhead. Herr Schneider zeigt aber in seiner Arbeit, dass in Abhängigkeit von der Anzahl der Grid-Teilnehmer und der Größe der verteilten Arbeitspakete durchaus Szenarien existieren, in denen das entwickelte Ad-Hoc Grid deutlich besser abschneidet als eine rein lokale Berechnung.

Messergebnisse zum Ad-Hoc Grid

Die Masterarbeit mit dem Titel

Konzeption und prototypische Implementierung
eines JavaScript-Frameworks zur dynamischen Distribution und Ausführung von Code in einem Netzwerk verteilter Webbrowser

wird in Kürze in der FHWS-Bibliothek zur Verfügung stehen.