Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
- Verfahren autonomer Wegplanung -
Einführung in die Künstliche Intelligenz
ESES
PP LSLS
SS STST
GG
MLML
DD
EBEB
1Dr. Marco Block-BerlitzSommersemester 2009
OOMEMENNNN
EAEA
SASA
SVSV FSMFSM
PFPF
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
1) Definition und Geschichte der KI, PROLOG
2) Expertensysteme
3) Logisches Schließen, Resolution
Übersicht zum Vorlesungsinhalt
3) Logisches Schließen, Resolution
4) Suche und Spieltheorie
5) Optimierungen und Heuristiken (Spieleprogrammierung)
6) Mustererkennung
7) Neuronale Netze
8) General Game Playing
9) Maschinelles Lernen9) Maschinelles Lernen
10) Evolutionäre Algorithmen und kollektive Intelligenz
11) Entscheidungsbäume, Multitouch
12) Autonome Wegplanung
Sommersemester 2009 Dr. Marco Block-Berlitz 2
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Wo wird Wegplanung benötigt?
• Autonome Agenten/Systeme
• Robotik, Fahrzeuge
• Virtuelle Agenten in Spielen
Sommersemester 2009 Dr. Marco Block-Berlitz 3
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Wegplanung (pathfinding, pathplanning) kann deterministisch erfolgen, z.B. beifestgelegten Patroulienwegen, oder innerhalb einer bestimmten Region auch zufälligsein, z.B. bei Tierbewegungen.
Wegplanung allgemein
Agentenbasierte Wegplanung mit definiertem Start und Ziel
Bei der agentenbasierte Wegplanung gibt es eine Weltrepräsentation, in der sich ein Agent an einer genau definierten Startposition befindet (Orientierung/Geschwindigkeit) und einen Weg zu einer Zielposition finden soll.
Sommersemester 2009 Dr. Marco Block-Berlitz 4
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Agentenbasierte Wegplanung mit Start und Ziel
Zur intelligenten und schnellen agentenbasierten Wegplanung müssen wir zwei Konzepte untersuchen und verstehen:
Quantization
Suche mit A*-Varianten
SuchraumrepäsentationWeltrepräsentation
Academics versus Spielspaß
Sommersemester 2009 Dr. Marco Block-Berlitz 5
Localization
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Der A*-Algorithmus ist ein Standardverfahren zur Identifizierung eines optimalenWeges in einem gegebenen gerichteten, nicht-negativ gewichteten Graphen. Es gibtverschiedenen Varianten des A*-Algorithmus.
Pathfinding – Suchtechniken
Luftlinie nach Ulm:
Basel 204Bayreuth 207Bern 247Frankfurt 215Innsbruck 163Karlsruhe 137Landeck 143Linz 318München 120Mannheim 164Memmingen 47
Sommersemester 2009 Dr. Marco Block-Berlitz 6
Memmingen 47Nürnberg 132Passau 257Rosenheim 168Stuttgart 75Salzburg 236Würzburg 153Zürich 157
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Heuristiken für A*-Algorithmus
Null-Heuristik
Die Null-Heuristik liefert bei jeder Anfrage einfach den Wert 0 zurück.Zur Erinnerung: Der A*-Algorithmus mit Null-Heuristik entspricht dem Dijkstra-Algorithmus.
Euklidische Distanz
Die Auswahl der besten Knoten im A*-Algorithmus wird durch die gegebenen Luftlinien ermittelt. Indiesem Fall durch die euklidische Distanz.
Algorithmus.
1
Sommersemester 2009 Dr. Marco Block-Berlitz 7
2.2 1.4 1
Beispiel aus [1]
1 1
1 1
direkte Verbindung
heuristische Entfernung
Startknoten
Zielknoten
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Clusterheuristik
Pathfinding – Heuristiken für A*-Algorithmus
Knoten im Graphen werden gruppiert und eine Lookup-Tabelle (LT) fürdie kürzesten Verbindungen untereinander erzeugt. Die Berechnungder Cluster und der LT finden offline statt.
11
10
8
8
6
57
14
13
12
10
15
11
7
9
C1
C2Lookup-Tabelle
C1 C2 C3
C1
C2
C3
X
X
X
13 29
7
7
13
29
Sommersemester 2009 Dr. Marco Block-Berlitz 8
Beispiel aus [1]
8
12 10
8
7
C3
C3 X729
Vor- und Nachteile
Um den besten Weg durch ein Cluster zu finden, wird dieses meistenserst gefüllt, bevor es zum nächsten geht. Wenn Cluster klein genugsind, ist das kein Problem, aber dadurch wird die LT sehr groß unddamit der Vorberechnungsaufwand u.U. sehr lang.
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
• Reguläre Grids (Quadrate, Hexaeder, ...)
• Eckpunkt-Graphen
• Graphen mit Wegpunkten
Pathfinding – Quantization
• Graphen mit Wegpunkten
• Kreisbasierte Wegpunkt-Graphen
• Volumenbasierte Wegpunkt-Graphen
• Navigation- meshes
• Hierarchische Repräsentationen
• Precomputing: Transition tables
Sommersemester 2009 Dr. Marco Block-Berlitz 9
• Lazy probabilistic roadmap
• Rapidly-exploring Random Trees
• Extended Rapidly-exploring Random Trees
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Reguläre Grids
Oft wird die Welt durch eine regelmäßige Unterteilung beschreiben (Quadrate,Hexaeder, ...). Die Zentren werden dabei als Knoten für die Graphrepräsentationverwendet.
Sommersemester 2009 Dr. Marco Block-Berlitz 10
Bild und Download [2]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Grids als Graphen
Als Knoten werden die Zentren der Felder verwendet. Die Kanten werdenentsprechend über die gegebenen Nachbarschaften definiert.
Sommersemester 2009 Dr. Marco Block-Berlitz 11
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Reguläre Grids
Bewegungen von nord, süd, ost und west sind möglich. Das reduziert denAufwand bei der Ermittlung des besten Weges im A*-Algorithmus
Startknoten
Zielknoten
Sommersemester 2009 Dr. Marco Block-Berlitz 12
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Reguläre Grids
Diagonale Bewegungen sind erlaubt und verkürzen damit den Gesamtweg.
Sommersemester 2009 Dr. Marco Block-Berlitz 13
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Grids als Graphen
Bei der Optimierung des Weges können weitere Kanten hinzugefügt werden. ZuBeginn wird der Graph klein gehalten, um den Suchaufwand zu reduzieren.
Sommersemester 2009 Dr. Marco Block-Berlitz 14
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Reguläre Grids
String-pulling (line-of-sight) wurde angewendet und so der Weg weiter verkürzt.Dabei wird jeder Knoten Pn entfernt, wenn ein direkter Weg zwischen Pn-1 undPn+1 existiert.
Sommersemester 2009 Dr. Marco Block-Berlitz 15
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Reguläre Grids
Optimierter Weg mit Catmull-Rom-Spline. Alle Punkte werden dabei durchlaufenund Änderungen beieinflussen die Kurve nur lokal.
[7]
Sommersemester 2009 Dr. Marco Block-Berlitz 16
Formeln und Abbildungen aus [5]
Java-Source-Code zu Catmull-Rom Splines und weiteren, wie z.B. B-Spline,Cubic-Splines oder Bezier Kurven ist hier zu finden in [6].
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Das wollen wir gleich live testen ...
Sommersemester 2009 Dr. Marco Block-Berlitz 17
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Optimaler Weg
Gegeben sei eine Weltrepräsentation in 2D mit dem Start X und dem Ziel Y. Wirwollen anhand dieses Beispiels die verschiedenen Repräsentationen erläuternund diskutieren.
X
Y
Sommersemester 2009 Dr. Marco Block-Berlitz 18
Y
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Eckpunkt-Graphen
Knoten werden an den Ecken von Hindernissen plaziert und Kanten entsprechend der Sichtbarkeit gesetzt.
Sommersemester 2009 Dr. Marco Block-Berlitz 19
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Eckpunkt-Graphen
Start- und Zielpositionen werden wie Knoten im Graphen behandelt. Mit den gegebenen Wegpunkten werden oft suboptimale Wege identifiziert.
X
Y
Sommersemester 2009 Dr. Marco Block-Berlitz 20
Y
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Eckpunkt-Graphen
Zunächst werden die (nahen) erreichbaren Knoten identifiziert und der Weg konstruiert.
X
Y
Sommersemester 2009 Dr. Marco Block-Berlitz 21
Y
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Eckpunkt-Graphen
Mit Hilfe von String-pulling lassen sich die Wege wieder verkürzen.
X
Y
Sommersemester 2009 Dr. Marco Block-Berlitz 22
Y
Problematisch ist die Handhabung bei Agenten mit unterschiedlichen Größen. Es werden also individuelle Graphen benötigt.
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Wegpunkte selber festlegen
Wegpunkte lassen sich auch vom Programmierer festlegen. So beispielsweise in der Mitte von Räumen oder Hallen, weit entfernt von Ecken und Wänden. Diese Technologie ist auf Grund der einfachen Handhabung in 3D-Spielen sehr beliebt. Leider ist es auch damit nicht einfach optimale Wege zu finden.
Sommersemester 2009 Dr. Marco Block-Berlitz 23
Beispiel aus [3]
Academics versus Spielspaß
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Wegpunkte selber festlegen
Auch hier verwenden wir die gleichen Techniken, um den besten Weg zu finden. Schauen wir uns dazu ein Beispiel an.
X
Y
Sommersemester 2009 Dr. Marco Block-Berlitz 24
Beispiel aus [3]
Y
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Wegpunkte selber festlegen
Wenn wir wieder die Optimierung String-pulling anwenden, wird der Weg verkürzt.
X
Y
Sommersemester 2009 Dr. Marco Block-Berlitz 25
Beispiel aus [3]
Y
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Kreisbasierter Wegpunkt-Graph
Anstatt die Ecken der Hindernisse als Knoten zu verwenden, wird eine minimale Anzahl von Kreisen aufgespannt (die sich schneiden müssen) und die jeweiligen Zentren verwendet.
Sommersemester 2009 Dr. Marco Block-Berlitz 26
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Volumenbasierter Wegpunkt-Graph
Es können auch andere Volumina als z.B. Kreise verwendet werden. Die Knoten entsprechen jetzt allerdings den Kanten zwischen den Voluminaobjekten.
Sommersemester 2009 Dr. Marco Block-Berlitz 27
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Dreieckbasiertes Navigationmesh
Oft werden Triangulierungen eingesetzt, um Meshes zu konstruieren.
Sommersemester 2009 Dr. Marco Block-Berlitz 28
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Demo von Paul Tozour
Sommersemester 2009 Dr. Marco Block-Berlitz 29
Bild und Download [2]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Das wollen wir gleich live testen ...
Sommersemester 2009 Dr. Marco Block-Berlitz 30
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Probleme der realen Welt
Umwelt ist nicht statisch sondern dynamisch. Objekte (Hindernisse) können sichbewegen, was die Wegplanung erschwert. Detailierte Vorberechnung ist dabeieigentlich unmöglich.
Orientierung ist wichtig und erhöht damit die Komplexität der Suche.
Ziel
Sommersemester 2009 Dr. Marco Block-Berlitz 31
Start
Ziel
Roboter
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
Gegeben sind Start- und Zielknoten. In der Initialisierungsphase werden dabei nKnoten zufällig platziert.
Startknoten
Zielknoten
Sommersemester 2009 Dr. Marco Block-Berlitz 32
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
Für alle Knoten werden in Abhängigkeit einer vorgegebenen Entfernung (Radius r)die Nachbarschaften festgelegt.
Sommersemester 2009 Dr. Marco Block-Berlitz 33
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
Im folgenden Schritt wird der A*-Algorithmus wie gewohnt verwendet.
Sommersemester 2009 Dr. Marco Block-Berlitz 34
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
Daraus ergibt sich ein Weg, der nicht notwendigerweise möglich ist, da er aufGrund der zufällig platzierten Knoten durch Hindernisse verlaufen kann (wie indiesem Beispiel).
Sommersemester 2009 Dr. Marco Block-Berlitz 35
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
Der Weg wird vom Startknoten aus im Anschluß überprüft und die Knotenidentifiziert, die nicht erreichbar sind (ungültige Knoten). Desweiteren werdenauch ungültige Kanten identifiziert und entfernt.
ungültiger Knoten identifiziert
Sommersemester 2009 Dr. Marco Block-Berlitz 36
Beispiel aus [3]
Es werden nur die Knoten und Kanten auf Gültigkeit überprüft, die auf dem Weg des durch den A*-Algorithmus gelieferten Weg verlaufen. Daher auch die Bezeichnung „lazy“.
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
Ungültige Knoten/Kanten werden entfernt, damit wird der durch den A*-Algorithmus konstruierte Weg unterbrochen.
Sommersemester 2009 Dr. Marco Block-Berlitz 37
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
Wiederhole A*-Algorithmus, Pfadvalidierung, Entfernung ungültiger Knoten/Kanten, bis ein gültiger Weg gefunden ist.
Sommersemester 2009 Dr. Marco Block-Berlitz 38
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
In diesem Fall wurde eine ungültige Kante identifiziert, da sie durch ein Hinderniss verläuft.
ungültige Kante identifiziertidentifiziert
Sommersemester 2009 Dr. Marco Block-Berlitz 39
Beispiel aus [3]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Lazy probabilistic roadmap
In diesem Beispiel konnte ein gültiger Weg identifziert werden.
Sommersemester 2009 Dr. Marco Block-Berlitz 40
Beispiel aus [3]
Wenn kein gültiger Weg identifiziert werden konnte, werden zusätzliche Knoten zufällighinzugenommen und der Algorithmus beginnt von vorn.
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Geplanter Weg ≠ Gefahrener Weg
Der konstruierte Weg ist in der Realität so nicht abfahrbar (physikalischeEigenschaften, Trägheit, Geschwindigkeit, Orientierung, ...).
geplanter Weg
Sommersemester 2009 Dr. Marco Block-Berlitz 41
Beispiel aus [3]
gefahrener Weg
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Rapidly-exploring Random Trees
Vorteil von Rapidly-exploring Random Trees (RRT): Funktionieren im kontinuierlichenRaum, kein künstliches Grid notwendig.
0. Erzeuge einen (Start-)Knoten und füge ihn in den Baum ein0. Erzeuge einen (Start-)Knoten und füge ihn in den Baum ein
1. Wähle einen zufälligen Punkt T im Suchraum
2. Finde der nächsten Knoten K im Baum zu T
3. Erweitere den Knoten K (mit Hilfe einer der erlaubten Aktionen)
in Richtung T, wenn möglich
4. Erzeuge an der neuen Positionen einen Knoten K’
5. Füge den Knoten K’ dem Baum hinzu und aktualisiere die
Nachbarschaften
Sommersemester 2009 Dr. Marco Block-Berlitz 42
Abbildungen aus [8]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Rapidly-exploring Random Trees
Ohne weitere Vorgaben und Einschränkungen beginnt der Baum in alle Richtungengleichmäßig zu wachsen.
Sommersemester 2009 Dr. Marco Block-Berlitz 43
Abbildungen aus [8]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Rapidly-exploring Random Trees
Damit wird der Suchraum auch gleichmäßig exploriert.
Sommersemester 2009 Dr. Marco Block-Berlitz 44
Abbildungen aus [4]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Rapidly-exploring Random Trees
Eine Erweiterung, die über Hindernisse hinwegführt, wird ignoriert:
Wenn ein Ziel entdeckt wurde, ermittle den Pfad direkt zum Wurzelknoten:
Sommersemester 2009 Dr. Marco Block-Berlitz 45
Abbildungen aus [8]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
RRT läßt sich zielorientiert (zur Wegplanung) erweitern:
Pathfinding – Rapidly-exploring Random Trees
0. Erzeuge einen (Start-)Knoten und füge ihn in den Baum ein
1. Wähle einen zufälligen Zielpunkt Z im Suchraum mit
Wahrscheinlichkeit (p) oder einen zufälligen Punkt im Suchraum Wahrscheinlichkeit (p) oder einen zufälligen Punkt im Suchraum
mit Wahrscheinlichkeit (1-p)
2. Finde der nächsten Knoten K im Baum zu T
3. Erweitere den Knoten K (mit Hilfe einer der erlaubten Aktionen)
in Richtung T, wenn möglich
4. Erzeuge an der neuen Positionen einen Knoten K’
5. Füge den Knoten K’ dem Baum hinzu und aktualisiere die
Nachbarschaften
Zielorientierte Erweiterung (p): Zufällige Erweiterung (1-p):
Sommersemester 2009 Dr. Marco Block-Berlitz 46
Abbildungen aus [8]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Extended Rapidly-exploring Random Trees
ERRT enthält mit den gespeicherten Wegpunkten eine weitere Erweiterung.
0. Erzeuge einen (Start-)Knoten und füge ihn in den Baum ein
1. Wähle einen zufälligen Zielpunkt Z im Suchraum mit
Wahrscheinlichkeit (p) oder einen zufälligen Punkt aus einem
[8]
Wahrscheinlichkeit (p) oder einen zufälligen Punkt aus einem
älteren, bereits bekannten Weg aus der Vergangenheit mit
Wahrscheinlichkeit (q) oder einen zufälligen Punkt im Suchraum
mit Wahrscheinlichkeit (1-p-q)
2. Finde der nächsten Knoten K im Baum zu T
3. Erweitere den Knoten K (mit Hilfe einer der erlaubten Aktionen)
in Richtung T, wenn möglich
4. Erzeuge an der neuen Positionen einen Knoten K’
5. Füge den Knoten K’ dem Baum hinzu und aktualisiere die
Nachbarschaften
Zielorientierte Erw. (p): Zufällige Erw. (1-p-q):Wegorientierte Erw. (q):
Sommersemester 2009 Dr. Marco Block-Berlitz 47
Abbildungen aus [8]
Zielorientierte Erw. (p): Zufällige Erw. (1-p-q):Wegorientierte Erw. (q):
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Pathfinding – Rapidly-exploring Random Trees
Beispiele für gegebene Situationen und mit RRT konstruierte Wege. Dabei wurden folgende Eigenschaften für die erlaubten Aktionen vorgegeben:
- das Fahrzeug hat einen beschränkten Lenkwinkel- das Fahrzeug fährt nur in eine Richtung- das Fahrzeug fährt nur in eine Richtung
Winkel kleiner
Sommersemester 2009 Dr. Marco Block-Berlitz 48
Abbildungen aus [4]
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Schauen wir uns dazu noch etwas an ...
Sommersemester 2009 Dr. Marco Block-Berlitz 49
Vorlesung: Künstliche Intelligenz
Fachbereich Mathematik/Informatik – AG Künstliche Intelligenz
Literatur- und Abbildungsquellen
Millington I.: „Artificial Intelligence for Games“, Morgan Kaufmann, Elsevier, 2006
Webseite von Paul Tozour: http://www.freewebs.com/paultozour/portfolio.htm
Rabin S. (Editor): „AI Game Programming WISDOM 2“, Charles River Media, 2004
Webseite zu RRT: http://msl.cs.uiuc.edu/rrt/
[1]
[2]
[3]
[4] Webseite zu RRT: http://msl.cs.uiuc.edu/rrt/
Webseite von Robert Dunlop: http://www.mvps.org/directx/articles/catmull/
Webseite von Tim Lambert: http://www.cse.unsw.edu.au/~lambert/splines/
Catmull E., Rom R.: “A class of local interpolating splines”, In Computer Aided Geometric
Design, R. E. Barnhill and R. F. Reisenfeld, Eds. Academic Press, New York, pp. 317–326,
1974
Veloso M.: “CMRoboBits: Probabilistic Path Planning”, Carnegie Mellon University, 2008
http://www.andrew.cmu.edu/course/15-491/lectures/F08_15491_Lecture6.pdf
Bruce J., Veloso M.: “Real-Time Randomized Path Planning for Robot Navigation”, In
Proceedings of IROS-2002, Switzerland 2002
[4]
[5]
[6]
[7]
[8]
[9]
Sommersemester 2009 Dr. Marco Block-Berlitz 50
Proceedings of IROS-2002, Switzerland 2002