1 / 45

Multiple Moving Objects

Multiple Moving Objects. Siu-Siu Ha Marlies Mooijekind. Indeling. Dynamic Motion Planning Multiple Robots Articulated Robots. Dynamic motion planning. Positie obstakel en robot uitzetten tegen tijd. Configuratie-ruimte C is alle configuraties van de robot:

onofre
Télécharger la présentation

Multiple Moving Objects

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. Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind

  2. Indeling • Dynamic Motion Planning • Multiple Robots • Articulated Robots

  3. Dynamic motion planning Positie obstakel en robot uitzetten tegen tijd. Configuratie-ruimte C is alle configuraties van de robot: Configuratie-tijd ruimte: C x tijd

  4. Configuration Space and Configuration Time Space of Obstacle B

  5. Path Planning in CT • Met exact cell decomposition • Over het algemeen compleet, maar niet practisch omdat complexiteit te hoog is. • Met approximate cell decomposition

  6. Approximate Cell Decomposition • Decompositie in rechthoekige cellen • Full, Empty, Mixed • Nu extra dimensie: Tijd

  7. Configuration Time Space and Connectivity Graph

  8. y A t Snelheids restrictie Vmax • In 2D een driehoek • In 3D een kegel

  9. Planning met snelheidsrestricties • Exact cell decomposition • Approximate cell decomposition • Velocity tuning

  10. y y B A t t y B A t Exact cell decomposition • Voorbeeld in 2D

  11. Approximate cell decomposition (1)

  12. y y A A t t Approximate cell decomposition (2) • Vanwege het discretiseren van de channels in gridvorm, is er geen garantie dat een CT-pad dat aan de snelheidsrestricties voldoet, gevonden wordt. • Mogelijke oplossing: fijner discretiseren

  13. Velocity tuning • 2-fasen methode • Pad voor A van qinit naar qgoal langs stationaire obstakels in W. • Snelheid bijstellen van A langs het pad om botsing met verplaatsende obstakels te vermijden.

  14. Path-Time space (PT) (1) • Pad  van qinit naar qgoal door basis motion planning (stationaire obstakels). • (l) = positie robot; l  [0, L] . • PTB: tijd [0, T] uitgezet tegen de lengte van het pad, [0, L]. • PT-obstakels: Op bepaalde tijd op een punt op het pad is een obstakel. • Vind vrije PT-pad tussen (0,0) en (L,T)

  15. Path-Time space (PT) (2) • Variant Visibility Graph methode

  16. Multiple Robots • Verschillende stationaire obstakels in W • Verschillende robots bewegen in dezelfde Workspace • Centralized planning • Decoupled planning

  17. Composite Configuration Space (1) • Elke robot Ai, i  [1, p] heeft een configuratie ruimte Ci • C-obstakels die corresponderen met botsing van Ai met • een stationaire obstakel • een andere robot, deze kan niet gerepresenteerd worden een vaste regio in Ci

  18. Composite Configuration Space (2) • Beschouw de objecten A1 tot Ap als één object: A = {A1,...,Ap} • Dan configuratie van A: q = (q1,...,qp); qi  Ci • A’s configuratie ruimte C = C1 x ... X Cp • CBij : C-obstakel door interactie Ai met Bi • CAij : C-obstakel door interactie Ai met Aj • Vrij pad in C vinden tussen qinit en qgoal

  19. Centralized Planning (1) • Pad in de composite configuration space vinden • Tijd complexiteit is exponentieel aan dimensies composite configuration space. Niet practisch.

  20. Centralized Planning (2)

  21. Decoupled planning • Plan pad voor elke robot apart en coordineer deze paden. • Voordeel: lagere dimensie • Nadeel: niet compleet • Methoden: • Prioritized planning • Path coordination

  22. Prioritized planning • Robots A1, …, Ap • p iteraties • Bepaal in iteratie i pad van Ai rekening houdend met obstakels Bj en robots A1 , …, Ai-1. • Motion Ai plannen alsof Ai beweegt tussen stationaire objecten Bj en i-1 bewegende objecten = Dynamic motion planning • Random prioriteiten toekennen

  23. Path coordination • Twee stappen: • Genereer free path voor elke robot zonder rekening te houden met andere robots • Coordineer paden z.d.d. robots niet botsen m.b.v. een coordination diagram

  24. Path coordination • Twee robots A1 en A2: 1: s1 є [0,1]  1(s1) є C1free 2: s2є [0,1]  2(s2) є C2free • S1xS2–space [0,1]x[0,1] • Schedule = pad dat (0,0) en (1,1) verbindt • Schedule = coordinatie van paden • Doel: vind een free schedule z.d.d. de robots niet botsen

  25. Path coordination • Obstacle region in S1xS2–space = alle paren (s1,s2) z.d.d. A1 in configuratie 1(s1) en A2 in configuratie 2(s2) elkaar snijden • Vind schedule dat obstacle region niet snijdt • Nadeel: obstacle-regions kunnen erg complex worden

  26. Path coordination • Deel pad 1en 2 in w1 en w2segmenten: • Elk segment is even lang • S1xS2–space verandert in array met w1 x w2 cells • Elke cell is EMPTY of FULL • Cell is EMPTY als A1 en A2 voor geen enkele van deze configuraties snijden • Dit is een coordination diagram

  27. Path coordination • Free schedule is een pad van (0,0) naar (1,1) dat • over de randen van EMPTY cellen loopt • diagonaal door de EMPTY cellen • Boundary is dus collision free • M.b.v. SW-closure kan een nondecreasing schedule gevonden worden zonder zoeken!

  28. Path coordination • Twee punten in S1xS2–space: (s1’, s2’) en (s1’’, s2’’) • (s1’, s2’) en (s1’’, s2’’) zijn incomparable  (s1’- s1’’)(s2’- s2’’) < 0 • Als (s1’, s2’) en (s1’’, s2’’) incomparable en s1’<s1’’ (dus s2’>s2’’ ), dan is de SW-conjugate punt (s1’, s2’’) • Een connected region R is SW-closed  elke SW-conjugate van twee punten in R zit ook in R • SW-closure van S = kleinste SW-closed region R dat S bevat

  29. Path coordination • Bepaal SW-closure van elke obstacle region in S1xS2–space

  30. Path coordination • Bepaal een schedule dat de SW-closure niet snijdt: • Begin in (0,0) • while (1,1) niet bereikt if cell EMPTY then doorkruis cell diagonaal else if cell eronder EMPTY then ga naar rechts else ga omhoog • Free schedule bestaat alleen als (0,0) en (1,1) niet in SW-closure liggen

  31. Articulated Robots • A = (A1, …, Ap) • Elk object A1 t/m Ap verbonden door joints: • Revolute joint • Prismatic joint • Mechanische stops • Geen kinematische loop

  32. Articulated Robots • Workspace W = A0 • A representeren als een tree: • Node = A0 t/m Ap • Arc = joints • Root = A0

  33. Articulated Robots • Configuratie van A: q = (q1, …, qp) • Als Aj een kind van Ai: Cj(i) = configuration space van Aj t.o.v. Ai • qj є Cj(i) • Als tussen Aj en Ai revolute joint, dan Cj(i) = S1 • Als tussen Aj en Ai prismatic joint, dan Cj(i) = R • C = R x … x R x S1…x S1

  34. Articulated Robots • 2 soorten C-obstacles: • Tussen Aj en obstakel Bj • Tussen Aj en Aj • Mechanische stop beperkt aantal waarden van qi: Ii = (qi-, qi+), vb. I1 = [0, π] • Doel: vind een free path tussen qinit en qgoal • Methoden: • Silhouette methode • Freeway methode • Approximate cell decomposition • Potentiaal velden

  35. Approximate cell decomposition • Maak conservatieve benadering van free space (= subset van “echte” free space) • door discretisatie van motion van joints • Maak connectivity graph van de conservatieve benadering • Zoek naar channel tussen qinit en qgoal

  36. Approximate cell decomposition • Aannamen: • A = (A1, …, Ap) en q = (q1 ,…, qp) • Ai en Ai+1 verbonden door revolute of prismatic joint • Interval Ii = (qi-, qi+) • Ai en Aj botsen nooit! • Wel obstakels Bi • Ai (q1 ,…, qi) = region die Ai in workspace inneemt

  37. Approximate cell decomposition • Benadering van C-obstacle region in I1 x …x Ip • Elke interval Ii verdelen in kleinere intervals δi,ki met ki = 1, 2, … • Vb. I1 = [0, π]: • δ1,1 = [0, ¼ π], δ1,2 = [¼ π, ½ π], δ1,3 = [½ π, ¾π], δ1,4 = [¾π, π],

  38. Approximate cell decomposition • Cell δ1,k1 x … x δp,kp behoort tot C-obstacle region: • Als region bestreken door A wanneer (q1 ,…, qp) varieert over δ1,k1 x … x δp,kp snijdt met een obstakel • Anders behoort δ1,k1 x … x δp,kp tot free space • Alle cells bekijken levert benadering van C-obstacle region

  39. Approximate cell decomposition • Nadeel: alle cells bekijken is niet efficient • Verbetering (1): • Als voor gegeven waarden q1 ,…, qi Ai snijdt met obstakel, dan qi+1 ,…, qp niet bekijken

  40. Approximate cell decomposition • Verdeel elk interval Ii in intervallen die EMPTY of FULL zijn • Verdeel EMPTY intervallen in kleinere intervals δi,ki met ki = 1, 2, … • Behoort q = (q1 ,…, qp) tot free space?

  41. Approximate cell decomposition • Hoe bepaal je welke intervallen van Ii EMPTY of FULL zijn? • Voor welke waarden qi snijdt Ai(q1 ,…, qi) obstakels als q1 ,…, qi-1 varieert over δ1,k1 x … x δi-1,ki-1 • Oplossing: • Bepaal middelpunten q1,m1 ,…, qi-1,mi-1 van δ1,k1 , …, δi-1, ki-1. Voor welke waarden snijdt Ai(q1,m1 ,…, qi-1,mi-1, qi) obstakels.

  42. Approximate cell decomposition • Verbetering (2): Verdeel interval Ii in intervallen die FULL, C/EMPTY of P/EMPTY zijn. • Si(q1 ,…, qi)= region bestreken door objecten Ai+1, …, Ap • Als qi+1 ,…, qp varieren over Ii+1 ,…,Ip • En A1, …, Ai in configuratie q1 ,…, qi zijn

  43. Approximate cell decomposition • Configuratie qi behoort tot interval: • FULL: Ai(q1 ,…, qi) snijdt obstakels als q1 ,…, qi-1 varieert over δ1,k1 x … x δi-1,ki-1 • C/EMPTY: Ai(q1 ,…, qi) U Si(q1 ,…, qi) snijdt geen obstakels als q1 ,…, qi-1 varieert over δ1,k1 x … x δi-1, ki-1 • P/EMPTY: in de overgebleven gevallen • Alleen P/EMPTY intervallen verdelen in kleinere intervallen

  44. Approximate cell decomposition • Tree = representatie van free space in vorm van cellen • Maak connectivity graph die adjacency relatie van cellen representeert • Zoek naar channel tussen qinit en qgoal

More Related