Probabilistische Robotik

Probabilistische Robotik

Modellansatz 095
1 Stunde 42 Minuten
Podcast
Podcaster

Beschreibung

vor 7 Jahren

Einen fahrbaren Roboter zu bauen- das ist schon eine echte
Herausforderung. Um diesem aber auch noch beizubringen autonom
Aufgaben zu lösen, bedienten sich Michael Fürst und sein Team der
Mathematik: Im Rahmen der Gulasch Programmier-Nacht (GPN16) des
Entropia e.V. in der Hochschule für Gestaltung (HfG) und dem
Zentrum für Kunst und Medien (ZKM) in Karlsruhe berichtete er
über die Verfahren der Probabilistischen Robotik (Video) und
welche Erfahrungen sie damit machen konnten- und erzählt uns im
Gespräch mit Sebastian Ritterbusch davon.


Michael Fürst studiert Informatik am Karlsruher Institut für
Technologie (KIT) und befasst sich im Team Informatik der
Hochschulgruppe Kamaro Engineering speziell mit robusten
probabilistischen Methoden zur Entscheidungsfindung.


Der aktuelle Roboter Beteigeuze der Hochschulgruppe ist die
zweite Generation und wurde dafür ausgelegt, Aufgaben in der
Überwachung und Bewirtschaftung von Maisfeldern oder der
Navigation im urbanen Umfeld zu erfüllen. Die Hochschulgruppe
gibt es seit 3 Jahren und besteht aus 30-45 Mitgliedern. Sie ist
eingebettet in das Teilinstitut Mobile Arbeitsmaschinen (MOBIMA)
am Institut für Fahrzeugsystemtechnik (FAST) am KIT mit dessen
Unterstützung und Drittspenden sich die Hochschulgruppe
finanziert.


Die interdisziplinäre Hochschulgruppe besteht aus vier Teams: Das
Organisationsteam, das Mechanik-Team, das Elektrotechnik-Team und
das Informatik-Team. Die Gruppe organisiert sich auch als Verein
mit Vorstand und einer Leitung in jedem Team, um mit einer
flachen Hierarchie jedem die Möglichkeit zu bieten sich in das
Projekt einzubringen. Auf der einen Seite will die Gruppe die
autonome Robotik voranzubringen und allen Teammitgliedern
gleichzeitig auch die Möglichkeit zu bieten, praktisches Wissen
und Erfahrungen neben dem oft theoretischem Studium zu erlangen.
Das Team nimmt dazu regelmäßig an verschiedenen internationalen
Wettbewerben teil, wie dem Field Robot Event, dem SICK Robot Day
oder der Robotour.


Technisch basiert die Software-Lösung des Roboters inzwischen auf
dem Robot Operating System (ROS), mit dem auf einer
Ubuntu-Plattform auf einem im Roboter eingebauten Computer in
Java, Python oder C++ die gestellten Aufgaben bearbeitet werden.
Mit 40kg Gewicht ist der Roboter für seine Größe kein
Leichtgewicht und kann daher nicht beliebig Batterien
transportieren, so dass dem Lademanagement eine besondere Rolle
zufällt. Die gewählte Größe ermöglicht gerade bei der Feldarbeit
einen nicht-invasiven Ansatz, der im Vergleich zu anderen
Varianten, wie der automatischen Steuerung von Traktoren, die
Pflanzen nicht schädigt.


Der Roboter erfasst seine Umwelt mit einer Vielzahl von Sensoren:
Die Lidar-Sensoren zur Entfernungsmessung in verschiedenen
Richtungen sind dabei besonders wichtig, und sie messen bis zu
50mal pro Sekunde. Sie bestimmen die Entfernungen zur Umgebung
des Roboters in einer Ebene bis 16m in einer Auflösung von bis zu
drei Messpunkten pro Winkel-Grad und 3cm Entfernungsauflösung-
mit gewissen Fehlerraten und Problemen mit reflektierenden
Oberflächen. Zusätzlich misst eine intertiale Messeinheit
translative und radiale Beschleunigungen wie auch die Ausrichtung
zum Erdmagnetfeld. Zusätzlich können auch digitale Kameras zur
Detektion von befahrbaren Untergründen, Objekten oder zur Analyse
von Pflanzen eingebaut und verwendet werden. Zusätzlich messen
Radencoder die Umdrehungen und Auslenkung durch Servos der Räder,
womit der Roboter durch Odometrie seine durchgeführte Bewegung
aus sich selbst heraus abschätzt. Durch die Kombination der
Lidar-Daten mit der Odometrie durch ein SLAM-Verfahren
(Simultaneous Localization and Mapping) ermöglicht mit einem
Kalman-Filter durch Analyse der Kovarianzen die robuste
Erstellung einer Karte während des Befahrens, und korrigiert
Fehler bei der eigenen Lokalisierung durch die Odometrie.
Zusätzlich kann der Roboter mit einem GPS-Empfänger seine
Position grob bestimmen.


In der Auswertung der Sensoren wird zwar von einer guten
Kalibrierung ausgegangen, jedoch ist es Teil des
probabilistischen Ansatzes, die erfassten Werte immer mit einer
konservativen Fehlerverteilung zu verarbeiten. Die Kamerabilder
werden ebenso robust verarbeitet: Die Bilddaten werden nach einer
Konvertierung in den HSV-Farbraum zunächst auf eine konstante
Helligkeit gebracht, um Schatteneffekte zu reduzieren. Dann
werden alle weniger farbigen Pixel als befahrbarer Weg markiert,
und die Anzahl der befahrbaren Pixel pro Spalte in ein Histogramm
zusammengeführt. Jeder Wert in dem Histogramm wird nun als Güte
bzw. der Wahrscheinlichkeit für Fahrbahn in diese Richtung
gewertet. Die GPS-Position wird zur Lokalisierung in der Open
Street Map verwendet, wo nach Berechnung einer Route die aktuelle
Zielfahrtrichtung bestimmt wird.


Die eigentliche Entscheidungsfindung erfolgt dann auf Basis der
verschiedenen Sensordaten durch die Berechnung von
Erwartungswerten in Abhängigkeit von einer möglichen
Fahrtrichtung. Genauer betrachtet werden für jeden Sensor
Zielfunktionen über den erwarteten Nutzen unter Annahme des
Fahrens in eine bestimmte Richtung berechnet, und anschließend
der von der Fahrtrichtung abhängige Erwartungswert unter Annahme
von Sensorungenauigkeiten und Fahrungenauigkeiten bestimmt. Im
Falle der gewünschten Fahrtrichtung aus den GPS- und Kartendaten
wird eine sehr breite Normalverteilung angesetzt, weil auch
abweichende Richtungen noch einen Gewinn darstellen können, wenn
sie zumindest etwas in die richtige Richtung gehen.


Aus jedem Sensor ergibt sich pro Fahrtrichtung ein erwarteter
Teilnutzen, und aus allen Teilnutzen wird der Gesamtnutzen als
Produkt berechnet: Dadurch werden Teilnutzen von 0 sofort als
Gesamtnutzen 0 gewertet, ansonsten aber geometrisches Mittel über
die Teilnutzen gebildet. Die gewählte Fahrrichtung ergibt sich
dann aus der Richtung, unter der sich das Gesamtmaximum des
Gesamtnutzens ergibt.


Die Verarbeitung der Sensordaten erfolgt typischerweise in der
Geschwindigkeit, in der die Sensoren die Umgebung abtasten. In
der Bildverarbeitung wird dies besonders durch die effizienten
Routinen der verwendeten OpenCV-Bibliothek möglich. So sind bis
zu 30 Entscheidungen in der Sekunde möglich, jedoch können die
Motoren die Entscheidungen nur deutlich langsamer umsetzen.


Es wurden auch weitere Verfahren zur Entscheidungsfindung
getestet, wie die Verwendung von Clusteranalyse oder die
Erstellung von Voronio-Diagrammen. Doch zeigte die robuste
Entscheidungsfindung über Erwartungswerte bei der Navigation im
urbanen Gebiet ihre Vorteile.


Die beschriebene Entscheidungsfindung bezieht sich dabei bisher
nur auf die Fahrtrichtung- die Fahrtgeschwindigkeit wird bisher
nur von der freien Wegstrecke in Fahrtrichtung bestimmt. Dadurch
verfolgt der Roboter im Normalfalle seine Ziele in
Normgeschwindigkeit von 0.5-1m/s (er läuft und läuft und läuft),
bremst aber, sobald er in die Gefahr gerät, sonst einen Menschen
oder sich selbst zu beschädigen. Dadurch folgt der Roboter den
Robotergesetzen von Asimov.


Die Kommunikation im Roboter erfolgt über verschiedene Netze- der
Lidar-Sensor wird beispielsweise über Ethernet angesprochen, die
Entscheidungsfindung spricht mit den Hauptroutinen in der
Recheneinheit über eine TCP-Verbindung, die Kommunikation von der
Recheneinheit zum Masterboard erfolgt über USB als serielle
Schnittstelle (UART), und das Masterboard gibt seine
Steuerbefehle über einen CAN-Bus an Motoren und Servos weiter.


Der Wettbewerb der Robotour 2015 fand in Tschechien in der
Innenstadt von Pisek statt. Nach einer Qualifikation vor Ort gab
es nach einer Testrunde eine erste Wettkampfrunde, in der die
Roboter eine Lieferung von einem Parkplatz durch die gesamte
Innenstadt über festgelegte Wegpunkte letztlich zu einem
Restaurant bringen sollen. Obwohl der Testlauf noch erfolgreich
war, litt der Roboter Beteigeuze der Gruppe in den ersten zwei
Segmenten unter Abstürzen und lag damit auf dem letzten Platz.
Nachdem der Fehler gefunden war, erreichte der Roboter im dritten
Lauf als einziger das Segmentziel; und blieb im vierten Lauf zwar
am Hintereingang des Restaurants hängen, war aber auch da
gegenüber allen anderen Kandidaten bei weitem am nächsten am
Ziel, und gewann so den Wettbewerb.


Für einen Einstieg in die Robotik bieten sich Systeme wie Lego
Mindstorms oder andere Roboterbaukästen an, aber auch
Programmierspiele, wie sie Michael auch auf der GPN angeboten
hat: https://github.com/Programmierspiele.

Literatur und weiterführende Informationen

M. Fürst: Probabilistische Robotik- Interessen eines Roboters
als Nutzen formulieren und verarbeiten, Vortrag auf der Gulasch
Programmier-Nacht GPN16, 2016.

M. Fürst: Detecting Drivable Regions in Monocular Images,
Robotour 2015, Autonomous Robot in Parks and Urban Regions, 2015.

EKF-SLAM erklärt: Wie sieht ein Roboter die Welt?

Robotour 2015 Vorgehensweise bei Kamaro


GPN16 Special

J. Breitner: Incredible Proof Machine, Gespräch mit S.
Ritterbusch im Modellansatz Podcast, Folge 78, Fakultät für
Mathematik, Karlsruher Institut für Technologie (KIT), 2016.
http://modellansatz.de/incredible-proof-machine

Weitere Episoden

Wahlmodelle
16 Minuten
vor 2 Monaten
Podcast Lehre
1 Stunde 42 Minuten
vor 6 Monaten
Instandhaltung
50 Minuten
vor 1 Jahr
CSE
42 Minuten
vor 1 Jahr
Mentoring
35 Minuten
vor 1 Jahr
15
15
:
: