multiple moving objects

45
Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind

Upload: onofre

Post on 23-Jan-2016

45 views

Category:

Documents


0 download

DESCRIPTION

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: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multiple Moving Objects

Multiple Moving Objects

Siu-Siu Ha

Marlies Mooijekind

Page 2: Multiple Moving Objects

Indeling

Dynamic Motion PlanningMultiple RobotsArticulated Robots

Page 3: Multiple Moving Objects

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

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

Configuration Space and Configuration Time Space of Obstacle B

Page 6: Multiple Moving Objects

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

Approximate Cell Decomposition

Decompositie in rechthoekige cellen Full, Empty, Mixed

Nu extra dimensie: Tijd

Page 8: Multiple Moving Objects

Configuration Time Space and Connectivity Graph

Page 9: Multiple Moving Objects

Snelheids restrictie Vmax In 2D een driehoek In 3D een kegel

t

y

A

Page 10: Multiple Moving Objects

Planning met snelheidsrestricties

Exact cell decomposition Approximate cell decompositionVelocity tuning

Page 11: Multiple Moving Objects

Exact cell decomposition

t

y

A

t

y

B

t

y

A

B

Voorbeeld in 2D

Page 12: Multiple Moving Objects

Approximate cell decomposition (1)

Page 13: Multiple Moving Objects

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

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

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

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

Page 17: Multiple Moving Objects

Multiple RobotsVerschillende stationaire obstakels in WVerschillende robots bewegen in

dezelfde Workspace

Centralized planningDecoupled planning

Page 18: Multiple Moving Objects

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

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

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

Centralized Planning (2)

Page 22: Multiple Moving Objects

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

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

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

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

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

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

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

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

Path coordination Bepaal SW-closure van elke obstacle region in

S1xS2–space

Page 31: Multiple Moving Objects

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

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

Articulated Robots Workspace W = A0

A representeren als een tree: Node = A0 t/m Ap

Arc = joints Root = A0

Page 34: Multiple Moving Objects

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

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

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

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

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

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

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

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

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

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

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

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