Approximate Cell Decomposition

Slides:



Advertisements
Verwante presentaties
Sudoku puzzels: hoe los je ze op en hoe maak je ze?
Advertisements

Inleiding programmeren in C++ Life Science & Technology 1 maart Universiteit Leiden.
1 Motion Planning (simpel) •Gegeven een “robot” A in een ruimte W, een verzameling obstakels B, en een start en doel positie, bepaal een beweging voor.
Minimum Spanning Tree. Wat is MST? • Minimum spanning tree • De meest efficiënte manier vinden om een verbonden netwerk op te bouwen.
Algoritmen en Datastructuren (ALDAT)
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Algoritmische problemen Onbeslisbaar / niet-berekenbaar Geen algoritme mogelijk Tegel- of domino-problemen Woordcorrespondentie-probleem Syntactisch equivalentie.
Heuristieken – kennisbits 1
Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.
1 Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen.
Philadelphia Probleem
(11,25;10) (10,15) (10,16) Totaal 7 lijnen getekend.
Graph Begrippen: knoop, vertices kant, zijde, edge
Jan Talmon Medische Informatica Universiteit Maastricht
1 Indeling Inleiding Opbouw van potentiaalvelden Pathplanning in potentiaalvelden Alternatieve potentiaalvelden Gerandomiseerde pathplanning.
1 Datastructuren Lijstjes (Stacks & Queues) Onderwerp 7.
Datastructuren Zoekbomen
1 Datastructuren Zoekbomen II Invoegen en weglaten.
Kinematic Constraints Door Ronald Treur en Jeroen Resoort.
Coordinated path planning for Multiple Robots Siu-Siu Ha.
Visibility-based Probabilistic Roadmaps for Motion Planning Tim Schlechter 13 februari 2003.
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
IJspakketten Annette Ficker Tim Oosterwijk
Rick van den Dobbelsteen Lloyd Fasting
UvA - FNWI A communication and coordination model for `RoboCupRescue’ agents.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
Divide and Conquer in Multi-agent Planning Multi-Agent Planning as the Process of Merging Distributed Sub-plans Eithan Ephrati and Jeffrey S. Rosenschein.
21 oktober Inhoudsopgave Waar is alles uit opgebouwd? Hoe testen we deze theoriën? Het LHCb experiment Wat heb ik gedaan? Wat zijn mijn conclusies?
Effiecient Mining of Spatiotemporal Patterns GDM 2003 Dènis de Keijzer.
1 Complexiteit Bij motion planning is er sprake van drie typen van complexiteit –Complexiteit van de obstakels (aantal, aantal hoekpunten, algebraische.
Movable Objects Richard Jacobs Robin Langerak. Movable Objects Introductie en definities Aanpak Aangepaste algoritmen Grasp planning Assembly planning.
Motion planning with complete knowledge using a colored SOM Jules Vleugels, Joost N. Kok, & Mark Overmars Presentatie: Richard Jacobs.
Indeling Inleiding op PRM-planners & Medial Axis Retraction van configuraties op de Medial Axis Verbetering van retraction Verbetering van sampling Expliciete.
Path planning voor elastische objecten Robin Langerak Planning paths for elastic objects under manipulation constraints LamirauxKavraki.
Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben.
RapidRaycast Trimesteroverschrijdend Project Bjorn Schobben Domien Nowicki.
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
1 Datastructuren Een informele inleiding tot Skiplists Onderwerp 13.
Sorteeralgoritmen. Sorteren: aanpak 1 Hoe ga je een rij getallen sorteren met PC? Sorteren door selectie (= selection sort): Zoek de kleinste waarde Sorteer.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 3 Cees Witteveen.
Shortest path with negative arc-costs allowed. Dijkstra?
Planning With Nonholonomic Constraints By Jeroen Resoort & Ronald Treur.
DAG De tijd die de aarde erover doet om één volledige beweging om zijn as te maken. Dit is 23 uur en 56 minuten óf De tijd die ligt tussen twee opeenvolgende.
Ladders Sport voor sport. Ladders Sport voor sport.
Project OO-AD: Color Crazy Domien Nowicki, Bjorn Schobben.
Coordinaten: Tom Tourwé 10F729 Tel: 3492 Organisatie van de oefeningen: * 1 uur bespreking van oplossing vorige les + bespreking opgave.
Representatie & Zoeken
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
LLBA Zoekresultaat uitbreiden met synoniemen Universiteitsbibliotheek verder = klikken.
Vicon 3D wikkelen – De nieuwe dimensie in wikkeltechniek
Allard Kamphuisen Hado van Hasselt Wilco Broeders
Werken met de TI-84 Lianne Dirven: “Leer je net als auto rijden alleen maar door het (veel) te doen!”
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Recursie…. De Mandelbrot Fractal De werking… De verzameling natuurlijke getallen… 0 ∞-∞
verhoudingen – breuken – procenten - kommagetallen
RFLPs SNPs Micro-array
HOOFDSTUK 3 Dorp  spookdorp. DOELEN HOOFDSTUK 3 Aan het einde van dit hoofdstuk weet je: - dat er grote verschillen zijn in Europa tussen plattelandsgebieden.
Tentamen Data Mining Voorbereiding. Tentamen  4 januari 2016  14:00 – 17:00  zaal
SpaarBV presentatie november 2015 Algemeen telefoonnummer:
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
Divide & Conquer: Verdeel en Heers vervolg Algoritmiek.
Meetkunde 5de leerjaar.
Doorzoeken van grafen Algoritmiek.
Datastructuren voor graafrepresentatie
Directe belichting in ray tracing
Moving objects in a geo-DBMS
Beoordeling investeringen
Examentraining.
Doolhof. doolhof doolhof Maak een routine die de ‘hekken’ tussen de cellen weghaalt Maak een 2-dimensionale array met kolommen en rijen aangeklikt.
Robot arm Niels Tielemans, Milano Matheeuwsen,
Transcript van de presentatie:

Approximate Cell Decomposition Allard Kamphuisen Niels Gorisse Motion Planning 15 januari 2003 Universiteit Utrecht Approximate Cell Decomposition

Inhoud Introductie Divide-and-Label Approximate-and-Decompose

Introductie (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

Introductie (2/9) k : een cel, deel van de decompositie van C alle cellen samen => totale C-space Type cellen EMPTY: intersectie interior met CB is leeg FULL: interior ligt volledig in een CB MIXED: alle andere gevallen

Introductie (3/9) Decompositie voorbeeld

Introductie (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

Introductie (5/9) E-channel voorbeeld

Introductie (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.

Introductie (7/9) First-cut voorbeeld (zonder cut)

Introductie (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

Introductie (9/9) Nadeel: Voordelen: 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

Divide-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

Divide-and-Label (2/7) Quadtree (m=2) voorbeeld

Divide-and-Label (3/7) Octree (m=3) voorbeeld

Divide-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 <= 0 C-constraint is dus een vlak voorbeeld: S = e1 | (e2 & e3)

Divide-and-Label (5/7) C-constraints voorbeeld

Divide-and-Label (6/7) Berekenen status van een cel: k is ‘inside’ (FULL): aijx + bijy + cij <= 0 k is ‘outside’ (EMPTY): aijx + bijy + cij >= 0 k is ‘cut’ (MIXED): alle andere gevallen efficient door weglating van sentences

Divide-and-Label (7/7) C-constraints in meerdere dimensies bv. in C = R3 : aijx + bijy + cijz + dij <= 0 C-constraints met hoeken, bv. C = R2 x S1 We nemen een verzameling C-sentences aij(T)x+ bij(T)y + cij(T) <= 0 waarbij T (theta) een interval van hoeken is. Vervolgens voor iedere hoek in T de status bekijken en dan samenvoegen tot 1 status.

Probleem van de Divide-and-Label methode De Approximate-and-Decompose Methode Probleem van de Divide-and-Label 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.

De 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.

De 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.

De 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.

De Approximate-and-Decompose Methode Berekening van Type A projektie: De locus van Referentie- punt OA wordt berekend voor een type A contact.

De Approximate-and-Decompose Methode Berekening van Type B projektie: De locus van Referentie- punt OA wordt berekend voor een type B contact.

De 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.

De 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.

Overzicht van de methode

De Approximate-and-Decompose Methode