Kon gurationsraum -...

22

Transcript of Kon gurationsraum -...

Page 1: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Vorlesung

Geometrische Algorithmen

Bewegungsplanung f�ur

Roboter

(Robot Motion Planning)

Sven Schuierer

Page 2: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

�Uberblick

1. Problemstellung

2. Kon�gurationsraum

3. Bewegungsplanung f�ur einen

Punktroboter

4. Minkowski Summen

5. Pseudo-Scheiben

6. Bewegungsplanung mit Translationen

7. Bewegungsplanung mit Translationen

und Rotationen

1

Page 3: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

1 Problemstellung

Zentrale Aufgabe f�ur einen Roboter:

Planung einer Bewegung

(Bewegungsplanungsproblem)

Informationen �uber die Umgebung:

Beispiel: autonomer Roboter in einer Fabrik

� Grundri� f�ur W�ande und Maschinen

� Sensoren f�ur Menschen

Problemstellung 2

Page 4: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Arten von Robotern

Autonomer mobiler Roboter

Roboterarm

Problemstellung 3

Page 5: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Problemstellung der Vorlesung

Vereinfachung: 2-dimensionales

Bewegungsplanungsproblem

Umgebung (Arbeitsraum):

� planarer Bereich mit polygonalen

Hindernissen H

� statisch

� vollst�andig bekannt

Roboter R:

� einfaches Polygon

� in alle Richtungen beweglich

Problemstellung 4

Page 6: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

2 Arbeits- und Kon�gurationsraum

Arbeitsraum: Menge H von Hindernissen

fP1; : : : ;Ptg

Arbeits- und Kon�gurationsraum 5

Page 7: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

3 Kon�gurationsraum

Kon�guration R(~x): Spezi�kation der

Position des Roboters durch Parameter

Beispiel: Translatorischer Roboter R(x; y)

R(0;0) = (v1; v2; : : : ; vr) )

R(x; y) = (v1+ (x; y); : : : ; vr + (x; y))

�64

�R(0;0)

R(6;4)

Alternative: Referenzpunkt

Ursprung (0;0) des Koordinatensystems

Kon�gurationsraum 6

Page 8: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Kon�gurationen

Rotation: zus�atzlicher Parameter '

R(x; y; ') = Roboter mit Referenzpunkt auf

(x; y) und rotiert um ' Grad

R(6;4; �=4)

R(0;0;0)

�64

Allgemein: Freiheitsgrade

3-dimensionaler Roboter:

Translation: drei Freiheitsgrade

Translation und Rotation: sechs

Freiheitsgrade

Kon�gurationsraum 7

Page 9: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Kon�gurationsraum

Menge aller Parameter eines Roboters R hei�t

Kon�gurationsraum C(R)

p 2 C(R) !R(p)

Beispiele:

2-dimensionaler Roboter R mit Translation

und Rotation:

(x; y; ') 2 C(R) = IR2 � [0;2�) 7! R(x; y; ')

2-dimensionaler Roboter R mit Translation:

(x; y) 2 C(R) = IR2 7! R(x; y)

Kon�gurationsraum 8

Page 10: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Verbotener und freier Raum

Verbotener Kon�gurationsraum Cforb(R;H):

Cforb(R;H) = fp 2 C(R) j Es gibt ein P 2 H :

R(p) \ P 6= ;g

Freier Kon�gurationsraum Cfree(R,H):

Cfree(R;H) = C(R) n Cforb(R;H)

Kon�gurationsraum 9

Page 11: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Arbeits- und Kon�gurationsraum

Beobachtung

Jeder (kollisionsfreie) Weg W des Roboters im

Arbeitsraum korrespondiert zu einem Weg

C(W ) im (freien) Kon�gurationsraum und

umgekehrt.

Kon�gurationsraum 10

Page 12: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)
Page 13: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

4 Punktroboter

Annahmen:

� punktf�ormiger Roboter R

� polygonale, disjunkte Hindernisse

H = fP1; : : : ;Ptg

mit insgesamt n Eckpunkten

� Rechteck B enth�alt die Hindernisse

Cfree = Cfree(R;H) = B nt[

i=1

Pi

BP1

P2

P3

P4P5

P6

Cfree

R

Punktroboter 11

Page 14: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

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

Cfree(R,H) f�ur 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(Cfree)

zur�uck

Punktroboter 12

Page 15: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Der freie Raum

Lemma

Die Trapez-Zerlegung des freien

Kon�gurationsraumes kann in O(n logn)

erwarteter Zeit berechnet werden.

Punktroboter 13

Page 16: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Berechnung eines Weges

Gegeben: ps der Startpunkt und pe der

Zielpunkt

Gesucht: Ein kollisionsfreier Weg von ps nach

pe

1. Fall: ps und pe geh�oren zum gleichen

Trapez

pspe

2. Fall: ps und pe geh�oren zu verschiedenen

Trapezen ) ??

Punktroboter 14

Page 17: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Die Stra�enkarte (Road map)

Stra�enkarte Groad: planarer, in Cfree einge-

better Graph

Knoten von Groad: Trapez- und vertikale

Kanten-Mittelpunkte

Kanten von Groad:

for all Trapeze T do

f�uge Kanten von dem Mittelpunkt von

T zu den Mittelpunkten der T be-

grenzenden vertikalen Kanten ein

Punktroboter 15

Page 18: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Die Stra�enkarte (Road map)

Zeit zur Konstruktion der Stra�enkarte: O(n)

Punktroboter 16

Page 19: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Algorithmus zur Wegeberechnung

Algorithmus BerechneWeg

Input: vertikale Dekomposition T(Cfree),

Stra�enkarte Groad, Start- und

Zielpunkt ps und peOutput: Ein Weg von ps nach pe, falls einer

existiert; ansonsten eine Meldung,

da� kein Weg existiert

1 Bestimme Trapeze �s und �e, die ps und

pe enthalten

2 if �s oder �e existiert nicht

3 then melde, da� ps oder pe in Cforb

4 else seien vs und ve Mittelpunkte von

�s bzw. �e

5 berechne Weg W von vs nach ve in

Groad

6 if W existiert nicht

7 then melde, da� kein Weg

existiert

8 else return

W � = psvs �W � vepe

Punktroboter 17

Page 20: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Beispiel

Punktroboter 18

Page 21: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Korrektheit von BerechneWeg

Lemma

Algorithmus BerechneWeg gibt einen

kollisionsfreien Weg zur�uck gdw es einen

solchen Weg gibt.

Beweis:

): W � ist kollisionsfrei

(: Sei W 0 kollisionfreier Weg von ps nach pe

W 0 schneidet eine Folge F von benachbarten

Trapezen:

F = (�1;�2; : : : ;�k)

mit

�1 =�s und �k =�e

�5pe

�4ps

�1

�3�2

Punktroboter 19

Page 22: Kon gurationsraum - uni-freiburg.dealgo.informatik.uni-freiburg.de/bibliothek/books/ad-buch/k7/slides/07.… · Algo rithmen Bew egungsplanung f ur Rob oter (Rob ot Motion Planning)

Korrektheit von BerechneWeg

Beweis: (Fortsetzung)

Sei vi Mittelpunkt von �i

�i und �i+1 sind benachbart

) Es gibt einen Weg von vi nach vi+1 in Groad

) Es gibt einen Weg von v1 nach vk in Groad

) Der Algorithmus �ndet einen Weg von vs

nach ve) Der Algorithmus �ndet einen Weg von ps

nach pe

ps

�5pe

�4

�1

�3�2

Zeitkomplexit�at von BerechneWeg: O(n logn)

(erwartet)

Punktroboter 20