{{attachment:frese_forschungsprofil.png|alt Forschungsprofil von Udo Frese}}
= Forschungsprofil Udo Frese =
{{attachment:UdoFrese1010.small.JPG|alt Udo Frese|align="right"}}
<
><
><
>
== Folien ==
* [[attachment:3dgfrese.pdf|3D Geometry with Applications to Computer Games]]
* [[attachment:fresebkbremen.pdf|Multisensorische Interaktive Systeme: Sportliche Roboter und räumliche Assistenzsysteme]]
== Positionierung in Bezug auf die Ausschreibung ==
Sensordaten sind anders als andere Daten. Sensoren beziehen ihre
Information direkt aus der Realität und werden daher beeinflusst
durch die kaum vorhersehbare Vielfalt an Phänomenen, die die Realität
zu bieten hat. Diese reichen vom allgegenwärtigen Messrauschen bis hin zu
hochspezifischen Phänomenen wie Verdeckung oder Bewegungsunschärfe bei
Kameras. Die entscheidende Herausforderung bei der Auswertung von Sensordaten ist also die
Unsicherheit und deshalb ist mein methodischer Ansatz
<
>
''Interpretation und Fusion von Sensordaten durch probabilistische Modellierung von Unsicherheit.''
<
>
Gemäß dem probabilistischen Paradigma arbeite ich bei dieser
'''Sensorfusion''' meist mit einer
Repräsentation der Bayesschen a-posteriori Verteilung
p(X=x|Z=z): Wie wahrscheinlich sind verschiedene Hypothesen x über
die Realität, vorausgesetzt dass das multisensorielle System die
Sensorwahrnehmungen z gemacht hat? Je nach
Struktur von X und Z erfordert die Repräsentation verschiedene
Datenstrukturen und Inferenzalgorithmen. Mein Treemap-Algorithmus
ist beispielsweise eine Variante des Junction-Tree-Inferenzalgorithmus
für Bayes-Netze, angewendet auf das
Problem, aus lokalen Beobachtungen eine Karte zu lernen. Ähnliches
gilt für den PHD-Algorithmus für Tracking.
Probabilistische Inferenz ist methodisch attraktiv, aber oft sehr
rechenaufwändig. Deshalb kann man sie praktisch meist erst anwenden,
wenn ein '''effizienter Algorithmus''' für die gewählte Repräsentation zur
Verfügung steht. In Bezug auf diese Frage, besonders für das SLAM-Problem
habe ich mich international am stärksten etabliert.
Auch '''Lernen''' lässt sich im p(X=x|Z=z) Paradigma
formalisieren, indem man in Z alle, ''auch lang zurückliegende'',
Sensorwahrnehmungen betrachtet. Beispielweise lernt unser
ballfangender Roboter (s.u.) eine Erwartungshaltung, von wo und wie
Bälle geworfen werden und verwendet diese als a-priori Verteilung beim
Tracken. Diesem Paradigma folgend, haben wir uns auch mit
Kalibrierungsproblemen beschäftigt, weil Kalibrierung im Prinzip
"modellbasiertes Lernen" ist. Das Ergebnis ist eine Open-Source-Bibliothek, die die einfache Formulierung von
Kalibrierungsproblemen ermöglicht. Diese Arbeiten möchte ich
zukünftig in Richtung des Lernens von Kontextinformation fortführen.
Zwar ist in Robotik und Automatisierungstechnik das Ideal Autonomie, also
ein System ohne menschlichen Eingriff. Aber oft ist gerade
eine geschickt angelegte Interaktion zwischen Mensch und Maschine
vielversprechend. Zum einen kann Interaktion die beste Lösung für ein Problem sein, z.B. in
unserem Projekt zur Verschüttetensuche bei Erdbeben (s.u.). Dort fusioniert das
'''interaktive Assistenzsystem''' aus Kamerabildern ein 3D-Modell
des Trümmerhaufens, aber anders als z.B. vom RoboCup-Rescue
propagiert, bleiben Erkennen, Beurteilen und Entscheiden dem Menschen
überlassen. Zum anderen kann Interaktion aber auch die Anwendung selbst sein, wie
bei dem interaktiven Ballspielroboter für Events, an dem wir gerade
arbeiten (s.u.). Dieses System verfolgt einen Trend bei Computerspielen,
der schon mit Nintendos Wii und Microsofts Kinect erfolgreich war.
Durch ein multisensorielles Eingabegerät bestehend aus
Kamera und Inertialsensor ("technisches Gleichgewichtsorgan")
und entsprechende Sensorfusion wird die Interaktion mit der Spielwelt
von der Virtualität in die Realität zurückgeholt.
Die vorangegangene Tabelle zeigt meine Forschungsaktivitäten und die meiner Arbeitsgruppe.
In der oberen Zeile stehen Themen, mit denen ich mich beschäftigt habe:
== Kognitive Bildverarbeitung und Sportrobotik ==
[[http://www.youtube.com/watch?v=R6pPwP3s7s4|{{attachment:baeuml-icra-11-small.jpg|alt Justin (DLR) fängt zwei Bälle|align="right"}}]]
Warum sollten Roboter Sport treiben, z.B. Fußball spielen oder einen Ball fangen?
--- Mit einem technischen interaktiven System solch eine sportliche
Aktivität zu realisieren, ist in zweierlei Hinsicht wertvoll:
Zum einen ist eine derartige Vorführung ungemein faszinierend,
besonders für das fachfremde Publikum. Menschen sind Meister sportlicher Betätigung, von daher können selbst Laien
unmittelbar und zutreffend
beurteilen, wie gut ein Roboter bei der Ausübung eines Sports ist
oder wie weit er noch vom menschlichen Vorbild entfernt
ist. Ich sehe darin sogar einen kleinen kulturellen Beitrag insgesamt,
weil so unmittelbar anschaulich eine Auseinandersetzung über das Verhältnis
zwischen Mensch und Maschine angestoßen wird.
Der andere Aspekt ist, dass Sport eine enorme Herausforderung an Wahrnehmung und
Bewegung bzgl. Geschwindigkeit, Präzision und Robustheit darstellt. Deshalb ist
er eine ideale Benchmarkanwendung.
Ein Beispiel dafür ist der Roboterfußballwettbewerb RoboCup, bei dem wir als Teil
des Teams B-Human gemeinsam mit Teilnehmern des studentischen Projektes und
Mitarbeitern des DFKI antreten und 2010 und 2011 Weltmeister geworden sind.
Die Herausforderung beim RoboCup liegt im Gesamtsystem,
aber ein gewichtiger Teil davon ist die Lokalisation
als Sensorfusion zwischen Eigenbewegung und
Kamera.
Ein weiteres Beispiel ist unser Gemeinschaftsprojekt B-Catch mit
dem Deutschen Zentrum für Luft- und Raumfahrt (DLR). Deren
humanoider Roboter Justin fängt
zwei zugeworfene Bälle gleichzeitig mit beiden Händen.
Die oben erwähnte Faszination für den Laien zeigt sich z.B. an fast 300000
Abrufen von auf Youtube und zahlreichen Medienanfragen. Der Kopf
mit den Kameras wackelt, sobald sich Justin bewegt, aber Sensorfusion zwischen
Kameras und Inertialsensor erlaubt, Ball- von Kopfbewegung zu unterscheiden.
[[http://www.informatik.uni-bremen.de/agebv/downloads/videos/birbach_icra_11.mp4|{{attachment:birbach-icra-11-small.jpg|alt Justin (DLR) fängt zwei Bälle|align="right"}}]]
Die Anwendung ist auch ein Beispiel für das Potential kognitiver Bildverarbeitung:
Das jetzige Verfahren ist ein Zwei-Ebenen-Ansatz.
Er sucht in jedem Bild unabhängig den Ball als Kreis und fusioniert die gefundenen Koordinaten zu einer
Flugbahn. Dabei berücksichtigt er probabilistisch Messrauschen,
Fehldetektionen und fehlende Detektionen. Das funktioniert gut, ist aber
noch weit von der Robustheit menschlichen Sehens entfernt.
Wir arbeiten gerade an einem kognitiv motivierten Algorithmus bei dem
-- erneut probabilistisch modelliert --
beide Ebenen sich als Kontext stützen: Das Wissen wie Bälle fliegen
erzeugt eine Erwartungshaltung, wo der Ball im nächsten Bild zu suchen ist. Dort
werden noch vag ballartige Bilder als Ball akzeptiert, die woanders, wo sie nicht zu der
Erwartungshaltungshaltung passen, nicht akzeptieren würden.
Sportrobotik wird häufig zwar als schwierige technologische, methodische
und wissenschaftliche Herausforderung aber nicht als ernsthafte Anwendung gesehen. Vor kurzem entstand
jedoch in meiner Arbeitsgruppe eine Idee zu einem Sportrobotik-Unterhaltungs-Szenario
mit direkter Mensch-Maschine-Interaktion
in einer Form, die ich für kommerziell realistisch
halte.
Die Idee ist ein interaktives Ballspiel mit einem Roboter für
Events wie Firmenfeiern oder Messen. Der Entwurf ist bewusst minimalistisch,
kostengünstig und sicher gehalten mit nur zwei Motoren die eine Styroporkugel an einem Stab schwenken.
Trotzdem kann der Roboter durch Kontrolle von Auftreffposition und Geschwindigkeit einen Ball gezielt
zurückspielen.
[[http://www.informatik.uni-bremen.de/agebv/downloads/videos/laue_unpublished_11.mp4|{{attachment:laue-unpublished-11-small.jpg|alt Interaktiver Ballspielroboter für Events|align="right"}}]]
Er soll
mit menschlichen Mitspielern eine Variante des Kinderspiels "Schweinchen in der Mitte" spielen.
Er steht dabei in der Mitte, umringt von zwei Kreisen menschlicher Spieler. Die Spieler
im äußeren Kreis müssen den Ball dem Roboter zuspielen, so dass dieser ihn zurückspielen
kann, ohne dass die Spieler im mittleren Kreis ("die Schweinchen") den Ball abfangen können. Neben der technologischen
Herausforderung der Ballkontrolle spielt dabei die Gestaltung der Interaktion eine herausragende
Rolle, um den Roboter zu "personifizieren" und das Spiel unterhaltend zu gestalten. Die Idee
ist zur Zeit als BMBF-Projekt beantragt (zusammen mit der Hochschule für Künste, Bremen).
== Simultaneous Localization and Mapping (SLAM) ==
SLAM hat die Aufgabe, unsichere lokale geometrische Information zu
einer globalen 3D-Karte zu fusionieren. Im Idealfall bewegt man eine
Kamera durch ein Gebäude und erhält hinterher ein dichtes 3D-Modell,
wie in der Computergrafik üblich. Häufig reicht auch
die Position einzelner markanter Punkte, wodurch die Bewegung rekonstruiert wird.
In dieser Form benutzt SLAM zwar nur einen einzelnen Sensor, trotzdem ist
es ein Sensorfusionsproblem, weil mehrere aus einem Bild extrahierte Informationen und
Informationen aus verschiedenen Bildern fusioniert werden müssen.
Die Herausforderung liegt darin, dass nach jedem Schritt
eine aktualisierte Karte gewünscht ist, sodass diese schnell und
inkrementell berechnet werden muss. Der von mir entwickelte Treemap-Algorithmus
leistet dies und hält einen Weltrekord bzgl. der
Kartengröße.
[[http://www.informatik.uni-bremen.de/agebv/downloads/videos/hertzberg_icra_2011.mp4|{{attachment:hertzberg-icra-2011-small.jpg|alt Visuelles SLAM in einem (nachgestellten) Trümmerhaufen|align="right"}}]]
SLAM hat viele Anwendungen, die ich mir für Folgeprojekte
vorstellen kann: Es ist eine essentielle
Funktionalität für mobile Serviceroboter, da es erlaubt, die zum
Navigieren notwendige Karte "einzulernen", indem man den
Serviceroboter einmal durchs Gebäude "führt". Es kann auch zur
Steuerung von Fahrzeugen in Fabriken oder (zusammen mit GPS) im
Außenraum oder gar in der Luft verwendet werden. Es kann z.B. im Wald GPS-Ausfälle kompensieren
oder der Navigation eines teilautonomen Rollstuhls dienen.
Eine besonders interessante Anwendung,
die wir im SFB/TR 8 Raumkognition gerade verfolgen,
ist die Suche nach Verschütteten in kollabierten Gebäuden. Mit einer
Endoskopkamera können Bilder aus
dem Inneren eines Trümmerhaufens gewonnen werden, die aber für einen
menschlichen Operator sehr schwer zu verstehen sind. Hier kann
visuelles SLAM den Operator mit einem 3D-Modell unterstützen. Das
geplante System ist also interaktiv, der Operator steuert die Endoskopkamera,
erkennt Verschüttete und beurteilt die Lage, aber er wird
unterstützt durch das vom SLAM-System generierte 3D-Modell.
Hier zeigt sich auch die Wichtigkeit, Erkenntnisse über menschliche Kognition
zu berücksichtigen. Im SFB/TR untersuchen wir zusammen mit Partnern aus der Linguistik
gerade, welche kognitiven Mechanismen beim Rettungspersonal
vorgehen, wenn sie z.B. mit einem Endoskop einen Hohlraum im Trümmerberg inspizieren.
Auf diesen Untersuchungen basierend, soll das technische System massgeschneidert als
interaktives kognitives Assistenzsystem die
räumliche Wahrnehmung des Rettungspersonals unterstützen.
Die Anwendung Verschüttetensuche zeigt außerdem den Nutzen
von Sensorfusion mit einem Inertialsensor.
Er verleiht einen
absoluten Sinn für "unten" und einen störungssicheren Sinn für die
relative Bewegung, wenn auch mit akkumulierendem Fehler. Bei der
Bildverarbeitung hingegen akkumuliert der Fehler nicht, dafür kann sie ausfallen,
weil im Bild nichts erkannt wird. Diese Kombination ist ein
Musterbeispiel für Sensorfusion und eines unserer
Forschungsthemen, weil die Sensoren komplementäre
Eigenschaften haben und sich perfekt ergänzen.
== Sichere Sensoralgorithmen ==
[[http://www.informatik.uni-bremen.de/dfki-sks/download/3d-collision-avoidance-full.avi|{{attachment:safety-algorithm-small.jpg|alt In Echtzeit berechnete Bremszonen verhindern Eigenkollisionen|align="right"}}]]
Hierbei geht es um Algorithmen, die Daten von Sensoren zu einem
sicherheitsgerichteten Zwecke auswerten, so dass sie vor
Gebrauch zertifiziert werden müssen, z.B. vom TÜV nach EN 61508. Ein Beispiel ist
die Kollisionsvermeidung für Fahrzeuge in der Industrie (Projekt Sicherkeitskomponente
für Autonome Mobile Systeme (SAMS), BMBF-Initiative Servicerobotik)
und für Roboterarme humanoider Roboter (Projekt SAMS-3D). Hierbei wird in Echtzeit der Raum berechnet, der beim Bremsen überstrichen wird.
Dieser wird dann von einem Sensor überwacht. In
SAMS wird ein Laserscanner verwendet, aber 3D-Kameras, z.B. Kinect, sind eine langfristige Perspektive.
Hier verfolgen wir den Ansatz, den Algorithmus "wasserdicht"
beweisbar zu machen, um die Implementierung durch formale
Softwareverifikation zertifizieren zu können. Das ist
für Sensoralgorithmen, die oft sehr heuristisch sind, nicht
selbstverständlich und erfordert genaue mathematische Modellierung.
Diese Arbeiten sind sehr industrienah. SAMS und iGEL sind Projekte
mit Industriebeteiligung. In SAMS-3D bin ich Ko-Erfinder eines
zum Patent angemeldeten Verfahrens. Das
Projekt European Train Control System (ETCS) war ein
Gutachten im Industrieauftrag.
<
><
>
Orthogonal zu den '''Themen''' zeigt die linke Spalte der Tabelle übergreifende '''Methoden''', die sich
quer durch die verschiedenen Themen in unseren Projekten ziehen:
== Mathematische Strukturanalyse ==
In meinem wissenschaftlichen Werdegang war immer eine
Schlüsselfähigkeit, mathematisch-formale Repräsentation und Anschauung
miteinander zu verknüfen und leicht zwischen beiden Seiten wechseln zu
können. Diese Fähigkeit zur intuitiven Strukturanalyse ist enorm
hilfreich, weil sie erlaubt, Ideen für Algorithmen zu
entwickeln, schwer zu entdeckende Fehler in Implementierungen
zu finden und komplexe Zusammenhänge so
darzustellen, dass der Zuhörer die Botschaft versteht.
== Probabilistische Sensorfusion ==
Sensorfusion ist die Verknüpfung von unsicherer Information aus
verschiedenen Quellen, um eine möglichst genaue Gesamtinformation daraus zu
erhalten. Die Faszination an sensoriellen Daten liegt darin, dass sie
an der Grenze zwischen der "realen Welt" und der "Welt im Rechner"
liegen und die reale Welt eine Vielzahl an Phänomenen hat, die
Sensordaten unsicher machen.
== Effiziente Algorithmen ==
Die Motivation für effiziente Algorithmen speist sich aus zwei
Gedanken. Zum einen beschäftigen wir uns bei der Sensorfusion mit
bewegten Vorgängen und da muss die Rechnung mit der Bewegung mithalten
können (Echtzeit). Zum anderen ist Effizienz ein spannendes
Forschungsziel an sich mit einem sehr klaren, weil gut messbarem
Erfolgskriterium, der Rechenzeit. Daher übt Effizienz auf mich als
Informatiker eine ähnliche Faszination aus wie vermutlich Schubkraft auf einen
Raketenentwickler.