Complexiteit

22
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische complexiteit, etc.) Kinetische complexiteit van de robot (aantal vrijheidsgraden) Complexiteit van de oplossing (is er een eenvoudig pad dat ver van alle obstakels vandaan blijft of niet)

description

Complexiteit. Bij motion planning is er sprake van drie typen van complexiteit Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische complexiteit, etc.) Kinetische complexiteit van de robot (aantal vrijheidsgraden) - PowerPoint PPT Presentation

Transcript of Complexiteit

Page 1: Complexiteit

1

Complexiteit

• Bij motion planning is er sprake van drie typen van complexiteit– Complexiteit van de obstakels (aantal,

aantal hoekpunten, algebraische complexiteit, etc.)

– Kinetische complexiteit van de robot (aantal vrijheidsgraden)

– Complexiteit van de oplossing (is er een eenvoudig pad dat ver van alle obstakels vandaan blijft of niet)

Page 2: Complexiteit

2

Complexiteit

• Veel vrijheidsgraden maakt het probleem vaak makkelijker oplosbaar, maar het verhoogt vaak de complexiteit van de algoritmen.

• Het liefst willen we dat de complexiteit van het resultaat de belangrijkste maat is. Voor veel oplossingen geldt dit echter niet.

Page 3: Complexiteit

3

Compleetheid van oplossingen

• Compleet: Als er een oplossing is wordt deze binnen een begrensde tijd gevonden. Als er geen oplossing is wordt dit gerapporteerd.

• Probabilistisch compleet: Als er een oplossing is gaat de kans dat deze gevonden wordt naar 1 als de rekentijd naar oneindig gaat.

• Resolutie compleet: Als er een oplossing bestaat met een aangegeven clearence wordt deze binnen een begrensde tijd gevonden.

Page 4: Complexiteit

4

Configuratieruimte

• q is een configuratie voor de robot• m is het aantal parameters =

vrijheidsgraden• A(q) is de robot geplaatst in configuratie

q• C is de ruimte van alle configuraties• Dimensie van C is m

Page 5: Complexiteit

5

Rigid object

• De workspace W heeft een coordinate systeem of frame FW

• De robot A heeft een eigen frame FA dat mee beweegt

• Een configuratie geeft aan waar FA zich bevindt in FW

• De oorsprong van FA is het referentiepunt FW

FA

Page 6: Complexiteit

6

Rigid object

• Een configuratie kan ook gezien worden als een transformatie TRq die A(0) transformeert in A(q)

• TRq = t r voor een translatie t en rotatie r

A(0)

A(q)

Page 7: Complexiteit

7

Configuratie

• q = (T,) met T de positie en de orientatie

• T is een N-vector is een orthonormale NxN matrix met

determinant 1• De groep van deze matrices wordt

aangeduid met SO(N)

Page 8: Complexiteit

8

Rotaties

• Je kunt rotaties op verschillende manieren aangeven:– Als matrix (embedding in RNxN)– Als unitvector met rotatie– Als Euler hoeken (om bewegend of om vast

frame)– Als quaternionen

• Maakt interpolatie makkelijker

Page 9: Complexiteit

9

Paden

• Een pad is een continue afbeelding van [0,1] naar C met (0) = start en (1) = doel.

• Een robot heet “free-flying” als elk pad “feasible” is (bij afwezigheid van obstakels).

• C is connected, d.w.z., voor elk paar start,doel is er een pad (als geen obstakels)

• Vrije en semi-vrijepaden

Page 10: Complexiteit

10

Afstanden

• Wat is de afstand tussen twee configuraties q1 en q2?– Euclidische afstand in C

• Eigenlijk in een kaart in C• Hoe schaal je de rotationele dimensies?

– Hausdorff distance tussen A(q1) en A(q2) in de workspace

– Sweep volume

Page 11: Complexiteit

11

Obstakels

• Een obstakel Bi in de workspace correspondeert met een C-obstakel

CBi = {q in C waarvoor A(q) Bi snijdt}

A(q) is de robot a in configuratie q

Page 12: Complexiteit

12

Translatie

CB = B -A(0) = {x in W | b in B, a in A(0) zodat x = b-a}

Minkowski verschil

Page 13: Complexiteit

13

Complexiteit

• Complexiteit kan O(na2 nb

2) zijn. (Voor convex O(na+ nb).)

Page 14: Complexiteit

14

Rotatie

• Voor elke orientatie kun je dit berekenen.

Page 15: Complexiteit

15

De Rand

• De contact configuraties tussen A en B corresponderen NIET met de rand van CB!

A

B

CB

Page 16: Complexiteit

16

Berekenen (d=2)

• Voor translatie convex:– Loop beide randen af (O(na+ nb))

• Ook de hele free space heeft lineaire complexiteit– Merge steeds deelverzamelingen met plane

sweep.– Totale tijd O(n log2n)

Page 17: Complexiteit

17

Berekenen (d=2)

• Translatie en rotatie • Benadering

– Bepaal een aantal slices in de rotatie richting

– Voor elke slice bereken CB– Plak deze aan elkaar

• Kan ook voor de hele vrije ruimte gedaan worden

• Blaas de robot iets op om problemen te voorkomen

Page 18: Complexiteit

18

Exact Berekenen

• Bepaal alle contact surfaces– Een contact correspondeert met een feature

van A en een feature van B • d=2 : punt-lijn of lijn-punt• d=3 : punt-vlak, vlak-punt of lijn-lijn

– Alle configuraties waarbij zo’n contact optreedt vormen een (m-1)-dimensionale surface in C

– Deze surfaces verdelen C in gebieden– Test voor elk gebied of het in CB ligt of niet

• Je kunt dit voor alle obstakels samen doen

Page 19: Complexiteit

19

Exact Berekenen

Page 20: Complexiteit

20

Exact Berekenen

• Aantal feature paren is O(nanb)

• Arrangement bestaat uit O(nanb) surfaces

• Dit levert O((nanb)m) cellen die je snel kunt testen

• Surfaces hebben hoge algebraische graad• Complexiteit van de vrije ruimte is ook

inderdaad worst-case ((nanb)m)

Page 21: Complexiteit

21

Fatness

• Een obstakel B is fat als voor elke p in B en elke cirkel C met p als middelpunt die B niet omvat ten minste een bepaald percentage van C door B overdekt is.

Page 22: Complexiteit

22

Fatness

• Als robot en obstakels fat en van constante complexiteit dan is de complexiteit van de vrije ruimte lineair.

• Bewijs idee: bekijk het aantal mogelijke feature paren met het kleinste obstakel. Dit is constant.