Complexiteit
description
Transcript of 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)
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.
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.
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
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
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)
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)
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
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
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
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
12
Translatie
CB = B -A(0) = {x in W | b in B, a in A(0) zodat x = b-a}
Minkowski verschil
13
Complexiteit
• Complexiteit kan O(na2 nb
2) zijn. (Voor convex O(na+ nb).)
14
Rotatie
• Voor elke orientatie kun je dit berekenen.
15
De Rand
• De contact configuraties tussen A en B corresponderen NIET met de rand van CB!
A
B
CB
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)
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
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
19
Exact Berekenen
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)
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.
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.