1 / 22

Complexiteit

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)

otylia
Download Presentation

Complexiteit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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.

More Related