complexiteit n.
Skip this Video
Loading SlideShow in 5 Seconds..
Complexiteit PowerPoint Presentation
Download Presentation
Complexiteit

play fullscreen
1 / 22
Download Presentation

Complexiteit - PowerPoint PPT Presentation

otylia
98 Views
Download Presentation

Complexiteit

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  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 FA FW

  6. A(q) A(0) 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

  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 t is een continue afbeelding van [0,1] naar C met t(0) = start en t(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 nb2) 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! CB A B

  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.