Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung

Ähnliche Dokumente
Uberblick 1. Kurzeste Wege 2. Sichtbarkeitsgraphen 3. Berechnung des Sichtbarkeitsgraphen 4. Kurzeste Wege fur polygonale Roboter 1

Sichtbarkeitsgraphen. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Was bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone

Geradenarrangements und Dualität von Punkten und Geraden

Geradenarrangements und Dualität von Punkten und Geraden

8.4 Digraphen mit negativen Kantengewichten Grundsätzliches Betrachte Startknoten s und einen Kreis C mit Gesamtlänge < 0.

Zusammenfassung Verallgemeinerungen VD Segmente/Pledge Algorithmus

Sichtbarkeitsgraph. Andreas Gemsa Übung Algorithmische Geometrie

Liniensegmentschnitt. Doppelt verkettete Kantenliste. Überlagerung von 2 ebenen Graphen. Boolsche Operatoren für einfache Polygone (LEDA)

Prof. J. Zhang Universität Hamburg. AB Technische Aspekte Multimodaler Systeme. 20. Januar 2005

Wegeplanung: Wegekartenverfahren

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Bewegungsplanung bei unvollständiger Information

Kombinatorische Optimierung

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

Punkt-in-Polygon-Suche Übersicht

Punktlokalisation 1. Trapez-Zerlegungen. 2. Eine Suchstruktur. 3. Randomisierter, inkrementeller Algorithmus zur Konstruktion der Trapez-Zerlegung

Punktlokalisierung. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Geometrische Algorithmen Punkt-in-Polygon-Suche. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Punkt-in-Polygon-Suche

Methoden der Offline Bewegungsplanung für Roboter

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

5. Bäume und Minimalgerüste

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

Einführung in die Robotik. Jianwei Zhang

Gliederung. Gliederung (cont.) Grundlage zur Programmierung auf Aufgabenebene

Seminar und Proseminar - WS 2007/ Perlen der Theoretischen Informatik. Friedhelm Meyer auf der Heide

Kombinatorische Optimierung

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Begriffsklärung: Dominanz

Algorithmische Methoden für schwere Optimierungsprobleme

Polygontriangulierung

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

durch Einfügen von Knoten konstruiert werden kann.

Bereichsabfragen II. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Das Heiratsproblem. Definition Matching

Einführung in die Robotik. Jianwei Zhang

Graphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.

3. Minimale Spannbäume. Definition 99 T heißt minimaler Spannbaum (MSB, MST) von G, falls T Spannbaum von G ist und gilt:

Algorithmen II Vorlesung am

Einführung & Konvexe Hülle

Kürzeste-Wege-Algorithmen und Datenstrukturen

10.1 Geometrische Wegplanung im Konfigurationsraum

Geometrische Algorithmen Voronoi-Diagramme. Lernmodul 7: Geo-Algorithmen und -Datenstrukturen - Voronoi-Diagramme

Grundlagen: Algorithmen und Datenstrukturen

Graphentheorie. Kürzeste Wege. Kürzeste Wege. Kürzeste Wege. Rainer Schrader. 25. Oktober 2007

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Quadtrees und Meshing

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Geometrische Algorithmen

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Quadtrees und Meshing

Quadtrees und Meshing

Berechnung minimaler Spannbäume. Beispiel

Lineare Programmierung

6. Triangulation von Polygonen

Visualisierung von Graphen

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Algorithmische Geometrie. Prof. Dr. Thomas Ottmann. Mitarbeit: PD Dr. Sven Schuierer Dr. Stefan Edelkamp

Kanonische Ordnungen und die Mondshein-Sequenz

Berechnung von Abständen

Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem

2.7.1 Inside-Test Konvexe Hülle Nachbarschaften Schnittprobleme

für n-elementige Punktmenge jedenfalls Ω(n log n), da mit VD die konvexe Hülle in linearer Zeit bestimmbar.

Vorlesung Algorithmen für hochkomplexe Virtuelle Szenen

Quad-trees. Benjamin Niedermann Übung Algorithmische Geometrie

2. Algorithmische Methoden 2.1 Rekursion. 18. April 2017

Einführung in Approximative Algorithmen und Parametrisierte Komplexität

Wenn wir zudem a ii = 1 für 1 i n setzen, dann gilt für A k (boolesches Produkt, A 0 = I) 0 falls es im Graphen keinen Pfad von v i nach v j,

Übersicht über Informatik und Softwaresystemtechnik WS 99/00, Prof. Dr. Andreas Schwill

Algorithmische Methoden zur Netzwerkanalyse

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Der Pledge-Algorithmus

Zentralübung zur Vorlesung Diskrete Strukturen

Algorithmische Geometrie 3. Schnitte von Liniensegmenten

7. Triangulation von einfachen Polygonen

ADS: Algorithmen und Datenstrukturen 2

Datenstrukturen & Algorithmen Lösungen zu Blatt 10 FS 16

Wann sind Codes eindeutig entschlüsselbar?

Lernmodul 7 Algorithmus von Dijkstra

5.4 Das Rucksackproblem

Polygontriangulierung

Algorithmen II Vorlesung am

Datenstrukturen und Algorithmen SS07

2.4. Triangulierung von Polygonen

Dualität + Quad-trees

3. Suchen. Das Suchproblem. Suche in Array. Lineare Suche. 1 n. i = n Gegeben Menge von Datensätzen.

Vorwärtskinematik und inverse Kinematik. Andreas Schmidtke

Musterlösung zu Übungsblatt 6

Beschriftung in Dynamischen Karten

Felix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09

8 Diskrete Optimierung

Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1

Breitensuche BFS (Breadth First Search)

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Algorithmentheorie Maximale Flüsse

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Pfadgenerierung/Polygone/Polygonoffsetting

Präfix-Summe. Das Schweizer Offiziersmesser der Parallelen Algorithmen. Parallele Rechenmodelle Präfix-Summe Brents Lemma Anwendungen

Voronoi Diagrams. Christian Wellenbrock. December 1, 2009

Transkript:

Vorlesung Geometrische Algorithmen Bewegungsplanung fur Roboter (Robot Motion Planning) Sven Schuierer

Uberblick 1. Problemstellung 2. Kongurationsraum 3. Bewegungsplanung fur einen Punktroboter 4. Minkowski Summen 5. Pseudo-Scheiben 6. Bewegungsplanung mit Translationen 7. Bewegungsplanung mit Translationen und Rotationen 1

1 Problemstellung Zentrale Aufgabe fur einen Roboter: Planung einer Bewegung (Bewegungsplanungsproblem) Informationen uber die Umgebung: Beispiel: autonomer Roboter in einer Fabrik Grundri fur Wande und Maschinen Sensoren fur Menschen Problemstellung 2

Arten von Robotern Autonomer mobiler Roboter Roboterarm Problemstellung 3

Problemstellung der Vorlesung Vereinfachung: 2-dimensionales Bewegungsplanungsproblem Umgebung (Arbeitsraum): planarer Bereich mit polygonalen Hindernissen H statisch vollstandig bekannt Roboter R: einfaches Polygon in alle Richtungen beweglich Problemstellung 4

2 Arbeits- und Kongurationsraum Arbeitsraum: Menge H von Hindernissen fp 1 ;:::;P t g Arbeits- und Kongurationsraum 5

3 Kongurationsraum Konguration R(~x): Spezikation der Position des Roboters durch Parameter Beispiel: Translatorischer Roboter R(x; y) R(0; 0) = (v 1 ;v 2 ;:::;v r ) ) R(x; y) = (v 1 + (x; y);:::;v r +(x; y)) R(6; 4) R(0; 0) 6 4 Alternative: Referenzpunkt Ursprung (0; 0) des Koordinatensystems Kongurationsraum 6

Kongurationen Rotation: zusatzlicher Parameter ' R(x; y; ') = Roboter mit Referenzpunkt auf (x; y) und rotiert um ' Grad R(6; 4;=4) R(0; 0; 0) 6 4 Allgemein: Freiheitsgrade 3-dimensionaler Roboter: Translation: drei Freiheitsgrade Translation und Rotation: sechs Freiheitsgrade Kongurationsraum 7

Kongurationsraum Menge aller Parameter eines Roboters R heit Kongurationsraum C(R) p 2 C(R)! R(p) Beispiele: 2-dimensionaler Roboter R mit Translation und Rotation: (x; y; ') 2 C(R) = IR 2 [0; 2) 7! R(x; y; ') 2-dimensionaler Roboter R mit Translation: (x; y) 2 C(R) = IR 2 7! R(x; y) Kongurationsraum 8

Verbotener und freier Raum Verbotener Kongurationsraum C forb (R;H): C forb (R;H) = fp 2 C(R) j Es gibt ein P 2 H : R(p) \ P 6= ;g Freier Kongurationsraum C free (R,H): C free (R;H) = C(R) n C forb (R;H) Kongurationsraum 9

Arbeits- und Kongurationsraum Beobachtung Jeder (kollisionsfreie) Weg W des Roboters im Arbeitsraum korrespondiert zu einem Weg C(W ) im (freien) Kongurationsraum und umgekehrt. Kongurationsraum 10

4 Punktroboter Annahmen: punktformiger Roboter R polygonale, disjunkte Hindernisse H = fp 1 ;:::;P t g mit insgesamt n Eckpunkten Rechteck B enthalt die Hindernisse C free = C free (R;H) = B n t[ i=1 P i P 6 R P 1 P 3 B P 4 P 5 P 2 C free Punktroboter 11

Der freie Raum Trapez-Zerlegung: for all v Eckpunkt in H do zeichne ein vertikales Liniensegment in v nach oben und eines nach unten die Liniensegmente enden beim ersten Hindernis oder bei B Algorithmus BerechneFreienRaum(H) Input: Eine Menge H von disjunkten, polygonalen Hindernissen Output: Die vertikale Dekomposition von C free (R,H) fur einen Punktroboter R 1 Sei E die Menge der Kanten in H 2 Berechne die Trapez-Zerlegung T (E) von E 3 Entferne die Trapeze im inneren der Hindernisse von H 4 Gebe die entstehende Unterteilung T (C free ) zuruck Punktroboter 12

Der freie Raum Lemma Die Trapez-Zerlegung des freien Kongurationsraumes kann in O(n log n) erwarteter Zeit berechnet werden. Punktroboter 13

Berechnung eines Weges Gegeben: p s der Startpunkt und p e der Zielpunkt Gesucht: Ein kollisionsfreier Weg von p s nach p e 1. Fall: p s und p e gehoren zum gleichen Trapez p e p s 2. Fall: p s und p e gehoren zu verschiedenen Trapezen )?? Punktroboter 14

Die Straenkarte (Road map) einge- Straenkarte G road : planarer, in C free better Graph Knoten von G road : Trapez- und vertikale Kanten-Mittelpunkte Kanten von G road : for all Trapeze T do fuge Kanten von dem Mittelpunkt von T zu den Mittelpunkten der T begrenzenden vertikalen Kanten ein Punktroboter 15

Die Straenkarte (Road map) Zeit zur Konstruktion der Straenkarte: O(n) Punktroboter 16

Algorithmus zur Wegeberechnung Algorithmus BerechneWeg Input: vertikale Dekomposition T (C free ), Straenkarte G road, Start- und Zielpunkt p s und p e Output: Ein Weg von p s nach p e, falls einer existiert; ansonsten eine Meldung, da kein Weg existiert 1 Bestimme Trapeze s und e, die p s und p e enthalten 2 if s oder e existiert nicht 3 then melde, da p s oder p e in C forb 4 else seien v s und v e Mittelpunkte von s bzw. e 5 berechne Weg W von v s nach v e in 6 G road if W existiert nicht 7 then melde, da kein Weg existiert 8 else return W = p s v s W v e p e Punktroboter 17

Beispiel Punktroboter 18

Korrektheit von BerechneWeg Lemma Algorithmus BerechneWeg gibt einen kollisionsfreien Weg zuruck gdw es einen solchen Weg gibt. Beweis: ): W ist kollisionsfrei (: Sei W 0 kollisionfreier Weg von p s nach p e W 0 schneidet eine Folge F von benachbarten Trapezen: mit F = ( 1 ; 2 ;:::; k ) 1 = s und k = e 5pe 1 ps 2 3 4 Punktroboter 19

Korrektheit von BerechneWeg Beweis: (Fortsetzung) Sei v i Mittelpunkt von i i und i+1 sind benachbart ) Es gibt einen Weg von v i nach v i+1 in G road ) Es gibt einen Weg von v 1 nach v k in G road ) Der Algorithmus ndet einen Weg von v s nach v e ) Der Algorithmus ndet einen Weg von p s nach p e 1 4 5pe p s 2 3 Zeitkomplexitat von BerechneWeg: O(n log n) (erwartet) Punktroboter 20