Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.
-
Upload
stijn-vedder -
Category
Documents
-
view
236 -
download
3
Transcript of Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.
![Page 1: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/1.jpg)
Multiple Moving Objects
Siu-Siu Ha
Marlies Mooijekind
![Page 2: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/2.jpg)
Indeling
Dynamic Motion PlanningMultiple RobotsArticulated Robots
![Page 3: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/3.jpg)
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
![Page 4: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/4.jpg)
Tot nu toe
A Robot
W Workspace
Bi Obstakel i
CBi Configuratie Ruimte van Bi
C Configuratie Ruimte
q configuratie
Nieuw
A Robot
W Workspace
Bi(t) Obstakel i op tijd t
CBi(t) Configuratie Ruimte van Bi op tijdstip t
CT Configuratie Tijd Ruimte
q(t) Configuratie op tijd t ; q(0) = qinit;
q(T) = qgoal
![Page 5: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/5.jpg)
Configuration Space and Configuration Time Space of Obstacle B
![Page 6: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/6.jpg)
Path Planning in CT
Met exact cell decomposition Over het algemeen compleet, maar niet
practisch omdat complexiteit te hoog is.
Met approximate cell decomposition
![Page 7: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/7.jpg)
Approximate Cell Decomposition
Decompositie in rechthoekige cellen Full, Empty, Mixed
Nu extra dimensie: Tijd
![Page 8: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/8.jpg)
Configuration Time Space and Connectivity Graph
![Page 9: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/9.jpg)
Snelheids restrictie Vmax In 2D een driehoek In 3D een kegel
t
y
A
![Page 10: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/10.jpg)
Planning met snelheidsrestricties
Exact cell decomposition Approximate cell decompositionVelocity tuning
![Page 11: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/11.jpg)
Exact cell decomposition
t
y
A
t
y
B
t
y
A
B
Voorbeeld in 2D
![Page 12: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/12.jpg)
Approximate cell decomposition (1)
![Page 13: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/13.jpg)
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
t
y
A
t
y
A
![Page 14: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/14.jpg)
Velocity tuning2-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.
![Page 15: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/15.jpg)
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)
![Page 16: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/16.jpg)
Path-Time space (PT) (2) Variant Visibility Graph methode
![Page 17: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/17.jpg)
Multiple RobotsVerschillende stationaire obstakels in WVerschillende robots bewegen in
dezelfde Workspace
Centralized planningDecoupled planning
![Page 18: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/18.jpg)
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
![Page 19: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/19.jpg)
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
![Page 20: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/20.jpg)
Centralized Planning (1)
Pad in de composite configuration space vinden
Tijd complexiteit is exponentieel aan dimensies composite configuration space. Niet practisch.
![Page 21: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/21.jpg)
Centralized Planning (2)
![Page 22: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/22.jpg)
Decoupled planning
Plan pad voor elke robot apart en coordineer deze paden.
Voordeel: lagere dimensieNadeel: niet compleetMethoden:
Prioritized planning Path coordination
![Page 23: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/23.jpg)
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
![Page 24: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/24.jpg)
Path coordinationTwee 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
![Page 25: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/25.jpg)
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
![Page 26: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/26.jpg)
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
![Page 27: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/27.jpg)
Path coordination Deel pad 1en 2 in w1 en w2
segmenten: 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
![Page 28: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/28.jpg)
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!
![Page 29: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/29.jpg)
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
![Page 30: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/30.jpg)
Path coordination Bepaal SW-closure van elke obstacle region in
S1xS2–space
![Page 31: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/31.jpg)
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
![Page 32: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/32.jpg)
Articulated Robots A = (A1, …, Ap)
Elk object A1 t/m Ap verbonden door joints: Revolute joint Prismatic joint
Mechanische stops Geen kinematische loop
![Page 33: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/33.jpg)
Articulated Robots Workspace W = A0
A representeren als een tree: Node = A0 t/m Ap
Arc = joints Root = A0
![Page 34: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/34.jpg)
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
![Page 35: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/35.jpg)
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
![Page 36: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/36.jpg)
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
![Page 37: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/37.jpg)
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
![Page 38: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/38.jpg)
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 = [¾ π, π],
![Page 39: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/39.jpg)
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
![Page 40: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/40.jpg)
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
![Page 41: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/41.jpg)
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?
![Page 42: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/42.jpg)
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.
![Page 43: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/43.jpg)
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
![Page 44: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/44.jpg)
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
![Page 45: Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.](https://reader036.fdocuments.net/reader036/viewer/2022062405/5551a0f04979591f3c8baa3f/html5/thumbnails/45.jpg)
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