Multiple Moving Objects Siu-Siu Ha Marlies Mooijekind.

Slides:



Advertisements
Verwante presentaties
Over stapgrootte en volgorde programmaregels
Advertisements

Snelheid op een bepaald tijdstip
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.
Heuristieken – kennisbits 1
Hoofdstuk 8: Recursie.
1 Hashtabellen Datastructuren. 2 Dit onderwerp Direct-access-tabellen Hashtabellen –Oplossen van botsingen met “ketens” (chaining) –Analyse –Oplossen.
Hogere Wiskunde Complexe getallen college week 6
Logical Framework Approach
Representing Time in GIS Sander Florisson GIA 2004.
Is cosmology a solved problem?. Bepaling van Ω DM met behulp van rotatie krommen.
Advanced Algorithms Groep: EII7AAb
Volumeberekening van omwentelingslichamen
Inleiding: De bepaalde integraal
vwo B Samenvatting Hoofdstuk 10
Waar is dit goed voor? doel: conceptuele grondslag voor moleculaire binding, moleculaire structuren. benadering: fundamentele, fysische wetmatigheden,
Niet-rechtlijnige beweging Vr.1
Motion Planning in Games Pathfinding with A * Ronald Treur.
1 Indeling Inleiding Opbouw van potentiaalvelden Pathplanning in potentiaalvelden Alternatieve potentiaalvelden Gerandomiseerde pathplanning.
1 Datastructuren Sorteren: alleen of niet alleen vergelijkingen College 5.
Rambles Barcelona 19 mei 2011.
Datastructuren Zoekbomen
1 Datastructuren Zoekbomen II Invoegen en weglaten.
Inleiding Adaptieve Systemen
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.
De dynamische driehoek: ouders - kind - school
Parallelle Algoritmen String matching. 1 Beter algoritme patroonanalyse Bottleneck in eenvoudig algoritme: WITNESS(j) (j = kandidaat in eerste i-blok)
1212 /n Metingen aan de hoogte van een toren  D  wordt gemeten met onzekerheid S  =0.1 o. Vraag 1: Op welke afstand D moet je gaan staan om H zo nauwkeurig.
Oplossen van een doolhof
Licht van de sterren Paul Groot Afdeling Sterrenkunde, IMAPP Radboud Universiteit Nijmegen
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 5 Cees Witteveen.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 Oplossing Langste Pad Probleem Cees Witteveen
dr. H.J. Bulten Mechanica najaar 2007
De elektrische potentiaal
Approximate Cell Decomposition
Vision-based robot motion planning using a topology representing neural network Gebaseerd op onderzoek verricht door Prof. M. Zeller et al. (1997), verbonden.
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.
Optuigen van datastructuren
Indeling Inleiding op PRM-planners & Medial Axis Retraction van configuraties op de Medial Axis Verbetering van retraction Verbetering van sampling Expliciete.
Spatial subgroup mining
Path planning voor elastische objecten Robin Langerak Planning paths for elastic objects under manipulation constraints LamirauxKavraki.
Lokale zoekmethoden Goed in de praktijk:
Δ x vgem = Δ t Eenparige beweging
Eenparige beweging opgave 1
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 3.
Elektrische energie en vermogen
Klik ergens op het witte deel van deze pagina om verder te gaan
Optuigen van datastructuren Datastructuren Onderwerp 11.
Datastructuren Sorteren, zoeken en tijdsanalyse
Planning With Nonholonomic Constraints By Jeroen Resoort & Ronald Treur.
Onderwerp: Lopen met de bal
Intermezzo: Queries op zoekbomen Datastructuren. Queries: hoe op te lossen We hebben: – Een zoekboom (gewoon, rood-zwart, AVL,…) – Een vraag / querie.
Coordinaten: Tom Tourwé 10F729 Tel: 3492 Organisatie van de oefeningen: * 1 uur bespreking van oplossing vorige les + bespreking opgave.
T U Delft Parallel and Distributed Systems group PGS Fundamentele Informatica in345 Deel 2 College 6 Cees Witteveen.
Vervolg C Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 Onderwerpen voor vandaag top-down decompositie Opdrachten:
Zwaartekrachtenergie contra Bewegingsenergie
Grafentheorie Graaf Verzameling knopen al dan niet verbonden door takken, bijv:
Snijpunt bepalen. Lijn p en lijn q snijden elkaar. Wat zijn de coördinaten van het snijpunt ?
Welkom! maandag 16 November 2015 Les B-2.
Minimum Opspannende Bomen Algoritmiek. 2 Inhoud Het minimum opspannende bomen probleem Een principe om een minimum opspannende boom te laten groeien Twee.
Doorzoeken van grafen Algoritmiek. Algoritmiek: Divide & Conquer2 Vandaag Methoden om door grafen te wandelen –Depth First Search –Breadth First Search.
Meetkunde 5de leerjaar.
Moving objects in a geo-DBMS
Modderdorp UNPLUGGED Bron: csunplugged.org.
Regeltechniek Modellen Specifikaties Voordelen van terugkoppeling
Leren programmeren met Scratch
Transcript van de presentatie:

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: Configuratie-tijd ruimte: C x tijd

Tot nu toe ARobot WWorkspace BiObstakel i CBiConfiguratie Ruimte van Bi CConfiguratie Ruimte qconfiguratie Nieuw ARobot WWorkspace Bi(t)Obstakel i op tijd t CBi(t)Configuratie Ruimte van Bi op tijdstip t CTConfiguratie Tijd Ruimte q(t)Configuratie op tijd t ; q(0) = qinit; q(T) = qgoal

Configuration Space and Configuration Time Space of Obstacle B

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

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

Configuration Time Space and Connectivity Graph

Snelheids restrictie Vmax  In 2D een driehoek  In 3D een kegel t y A

Planning met snelheidsrestricties  Exact cell decomposition  Approximate cell decomposition  Velocity tuning

Exact cell decomposition t y A t y B t y A B  Voorbeeld in 2D

Approximate cell decomposition (1)

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

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.

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)

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

Multiple Robots  Verschillende stationaire obstakels in W  Verschillende robots bewegen in dezelfde Workspace  Centralized planning  Decoupled planning

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

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

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

Centralized Planning (2)

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

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

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

Path coordination  Twee robots A 1 en A 2 :  1 : s 1 є [0,1]   1 (s 1 ) є C 1 free  2 : s 2 є [0,1]   2 (s 2 ) є C 2 free  S 1 xS 2 –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

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

Path coordination  Deel pad  1 en  2 in w 1 en w 2 segmenten:  Elk segment is even lang  S 1 xS 2 –space verandert in array met w 1 x w 2 cells  Elke cell is EMPTY of FULL  Cell is EMPTY als A 1 en A 2 voor geen enkele van deze configuraties snijden  Dit is een coordination diagram

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!

Path coordination  Twee punten in S 1 xS 2 –space: (s 1 ’, s 2 ’) en (s 1 ’’, s 2 ’’)  (s 1 ’, s 2 ’) en (s 1 ’’, s 2 ’’) zijn incomparable  (s 1 ’- s 1 ’’)(s 2 ’- s 2 ’’) < 0  Als (s 1 ’, s 2 ’) en (s 1 ’’, s 2 ’’) incomparable en s 1 ’ s 2 ’’ ), dan is de SW-conjugate punt (s 1 ’, s 2 ’’)  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

Path coordination  Bepaal SW-closure van elke obstacle region in S 1 xS 2 –space

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

Articulated Robots  A = (A 1, …, A p )  Elk object A 1 t/m A p verbonden door joints:  Revolute joint  Prismatic joint  Mechanische stops  Geen kinematische loop

Articulated Robots  Workspace W = A 0  A representeren als een tree:  Node = A 0 t/m A p  Arc = joints  Root = A 0

Articulated Robots  Configuratie van A: q = (q 1, …, q p )  Als A j een kind van A i : C j (i) = configuration space van A j t.o.v. A i  q j є C j (i)  Als tussen A j en A i revolute joint, dan C j (i) = S 1  Als tussen A j en A i prismatic joint, dan C j (i) = R  C = R x … x R x S 1 …x S 1

Articulated Robots  2 soorten C-obstacles:  Tussen A j en obstakel B j  Tussen A j en A j  Mechanische stop beperkt aantal waarden van q i : I i = (q i -, q i + ), vb. I 1 = [0, π]  Doel: vind een free path tussen q init en q goal  Methoden:  Silhouette methode  Freeway methode  Approximate cell decomposition  Potentiaal velden

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 q init en q goal

Approximate cell decomposition  Aannamen:  A = (A 1, …, A p ) en q = (q 1,…, q p )  A i en A i+1 verbonden door revolute of prismatic joint  Interval I i = (q i -, q i + )  A i en A j botsen nooit!  Wel obstakels B i  A i (q 1,…, q i ) = region die A i in workspace inneemt

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

Approximate cell decomposition  Cell δ 1,k1 x … x δ p,kp behoort tot C-obstacle region:  Als region bestreken door A wanneer (q 1,…, q p ) 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

Approximate cell decomposition  Nadeel: alle cells bekijken is niet efficient  Verbetering (1):  Als voor gegeven waarden q 1,…, q i A i snijdt met obstakel, dan q i+1,…, q p niet bekijken

Approximate cell decomposition  Verdeel elk interval I i in intervallen die EMPTY of FULL zijn  Verdeel EMPTY intervallen in kleinere intervals δ i,ki met ki = 1, 2, …  Behoort q = (q 1,…, q p ) tot free space?

Approximate cell decomposition  Hoe bepaal je welke intervallen van I i EMPTY of FULL zijn?  Voor welke waarden q i snijdt A i (q 1,…, q i ) obstakels als q 1,…, q i-1 varieert over δ 1,k1 x … x δ i-1,ki-1  Oplossing:  Bepaal middelpunten q 1,m1,…, q i-1,mi-1 van δ 1,k1, …, δ i-1, ki-1. Voor welke waarden snijdt A i (q 1,m1,…, q i-1,mi- 1, q i ) obstakels.

Approximate cell decomposition  Verbetering (2): Verdeel interval I i in intervallen die FULL, C/EMPTY of P/EMPTY zijn.  S i (q 1,…, q i )= region bestreken door objecten A i+1, …, A p  Als q i+1,…, q p varieren over I i+1,…,I p  En A 1, …, A i in configuratie q 1,…, q i zijn

Approximate cell decomposition  Configuratie q i behoort tot interval:  FULL: A i (q 1,…, q i ) snijdt obstakels als q 1,…, q i-1 varieert over δ 1,k1 x … x δ i-1,ki-1  C/EMPTY: A i (q 1,…, q i ) U S i (q 1,…, q i ) snijdt geen obstakels als q 1,…, q i-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

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 q init en q goal