Title: Approximate Cell Decomposition
1Approximate Cell Decomposition
- Allard Kamphuisen
- Niels Gorisse
- Motion Planning
- 15 januari 2003
- Universiteit Utrecht
2Inhoud
- Introductie
- Divide-and-Label
- Approximate-and-Decompose
3Introductie (1/9)
- Enkele definities
- A robot
- C configuratie space
- C Rn óf
- C Rn X S1
- CB ruimte van object (C-obstacle) in C
- qgoal, qinit
4Introductie (2/9)
- k een cel, deel van de decompositie van C
- alle cellen samen gt totale C-space
- Type cellen
- EMPTY intersectie interior met CB is leeg
- FULL interior ligt volledig in een CB
- MIXED alle andere gevallen
5Introductie (3/9)
Decompositie voorbeeld
6Introductie (4/9)
- G Connectivity graph
- bevat EMPTY en MIXED cellen
- er is een lijnstuk indien 2 cellen elkaar raken
- indien adjacent, intersectie is niet nul in
Rm-1 - channel rij opeenvolgende EMPTY/MIXED cellen
- E-channel alleen EMPTY cellen
- M-channel alleen MIXED cellen
7Introductie (5/9)
E-channel voorbeeld
8Introductie (6/9)
- Het First-Cut Algoritme
- 1. Maak een rectangloid decompositie van de
totale ruimte, en maak een connectivity graph G - 2. Zoek een channel in G waarbij de eerste cel
qinit bevat en de laatste qgoal. Is dit een
E-channel, ga naar stap 4. M-channel stap 3. - 3. Decompose iedere MIXED cell in het gevonden
pad. Ga naar stap 2. - 4. Maak een pad door in het channel steeds naar
het midden van de snijlijn van iedere volgende
cel te gaan. Indien de daarop volgende cel tegen
dezelfde edge ligt ga eerst naar het middelpunt.
9Introductie (7/9)
First-cut voorbeeld (zonder cut)
10Introductie (8/9)
- Stap 2 wetenswaardigheden
- toch doorgaan met een korter M-channel als een
lang E-channel gevonden is - Backtracking indien een cel na decompositie een
blind alley blijkt te zijn - Backtracking gebruikt labeling van paden voor
hogere efficiëntie - Decompositie (stap 1 en 3) technieken
- Divide-and-label
- Approximate-and-decompose
11Introductie (9/9)
- Nadeel
- geen upper bound voor de worst-case
- upper bound is te introduceren dmv.
- gelimiteerde verhouding totale volume t.o.v. het
totale volume van alle gevonden E en F cellen - cellen groter zijn dan een minimum
- Voordelen
- makkelijk te implementeren
- draait redelijk efficiënt
12Divide-and-Label (1/7)
- 2m-Tree Decomposition
- ieder blad is een EMPTY, FULL of MIXED cel
- MIXED cel 2m children
- idee iedere dimensie wordt in 2-en gehakt
- m dimensie van de C-space
- vaak maximum aan hoogte van de tree
13Divide-and-Label (2/7)
Quadtree (m2) voorbeeld
14Divide-and-Label (3/7)
Octree (m3) voorbeeld
15Divide-and-Label (4/7)
- Hoe berekenen we de status van een cel?
- C-sentence omschrijving van gebied CB
- conjuncties en disjuncties van C-constraints
- C-constraint eij aijx bijy cij lt 0
- C-constraint is dus een vlak
- voorbeeld S e1 (e2 e3)
16Divide-and-Label (5/7)
C-constraints voorbeeld
17Divide-and-Label (6/7)
- Berekenen status van een cel
- k is inside (FULL) aijx bijy cij lt 0
- k is outside (EMPTY) aijx bijy cij gt 0
- k is cut (MIXED) alle andere gevallen
- efficient door weglating van sentences
18Divide-and-Label (7/7)
- C-constraints in meerdere dimensies
- bv. in C R3 aijx bijy cijz dij lt 0
- C-constraints met hoeken, bv. C R2 x S1
- We nemen een verzameling C-sentences
- aij(T)x bij(T)y cij(T) lt 0
- waarbij T (theta) een interval van hoeken is.
- Vervolgens voor iedere hoek in T de status
bekijken en dan samenvoegen tot 1 status.
19Probleem van de Divide-and-Label methode
De Approximate-and-Decompose Methode
Cellen worden opgedeeld zonder informatie te
gebruiken van de C-objekten. Dit levert een
decompositie op met meer MIXED cellen die een
grotere gebied opspannen dan nodig is. We
zouden eigenlijk een decompositie wensen zoals in
a), waar b) de Divide- and-Label decompositie
weergeeft.
20De Approximate-and-Decompose Methode
Een nieuw principe Bounding en Bounded
approximations.
Bounding approximation Een collectie niet
overlappende rectangloïden waarvan de union de
C-objekten begrenst (Figuur 1 a). Bounded
approximation Een collectie niet overlappende
rectangloïden waarvan de union begrenst wordt
door de C-objekten (Figuur 1 b).
Figuur 1 Bounding en Bounded approximations
Figuur 2 Gewenste decompositie
Gewenste decompositie EMPTY Cellen
complement van bounding approx. FULL
Cellen bounded approx. MIXED
Cellen bounding approx. - bounded approx.
21De Approximate-and-Decompose Methode
De Approximate-and-Decompose methode voor R2 x S1.
1) De 3D C-ruimte (R2 x S1) wordt over de
rotatie-as in segmenten opgedeeld. Ieder
segment wordt vervolgens apart behandeld. 2)
Ieder segment wordt naar 2D geprojekteerd. Omdat
het referentie punt OA van de robot in
bepaalde oriëntaties dichter bij het objekt kan
komen dan in andere oriëntaties zal een
inner-projection en een
outer-projection berekend worden (berekenwijze
volgt). 3) Gebruik makende van de inner- en
outer-projections kunnen we op deze 2D
projectie het eerder genoemde bounding en
bounded approximations principe toepassen.
4) Ten slotte wordt deze 2D approximation naar
3D opgeblazen.
22De Approximate-and-Decompose Methode
Het berekenen van inner en outer projections.
Er bestaan 2 vormen van contact tussen robot en
objekt - Type A, Waarin een vertex van het
objekt een edge van de robot snijdt. - Type B,
Waarin een vertex van de robot een edge van het
objekt snijdt.
Methode - Bereken de projecties van alle
contact punten van type A en type B (die
binnen het rotatie bereik van de cel liggen). -
Track de inner en de outer boundary.
23De Approximate-and-Decompose Methode
Berekening van Type A projektie
De locus van Referentie- punt OA wordt
berekend voor een type A contact.
24De Approximate-and-Decompose Methode
Berekening van Type B projektie
De locus van Referentie- punt OA wordt
berekend voor een type B contact.
25De Approximate-and-Decompose Methode
De union van deze projekties wordt genomen (en
welke dit zijn en hoe ze eruit zien is
afhankelijk van het rotatie bereik van de cel) en
de inner en outer boundaries worden berekend.
26De Approximate-and-Decompose Methode
De Approximate-and-Decompose methode voor R2 x S1.
1) De 3D C-ruimte (R2 x S1) wordt over de
rotatie-as in segmenten opgedeeld. Ieder
segment wordt vervolgens apart behandeld. 2)
Ieder segment wordt naar 2D geprojekteerd. Omdat
het referentie punt OA van de robot in
bepaalde oriëntaties dichter bij het objekt kan
komen dan in andere oriëntaties zal een
inner-projection en een
outer-projection berekend worden (berekenwijze
volgt). 3) Gebruik makende van de inner- en
outer-projections kunnen we op deze 2D
projectie het eerder genoemde bounding en
bounded approximations principe toepassen.
4) Ten slotte wordt deze 2D approximation naar
3D opgeblazen.
27Overzicht van de methode
28De Approximate-and-Decompose Methode