visibility-based probabilistic roadmaps for motion planning
DESCRIPTION
Visibility-based Probabilistic Roadmaps for Motion Planning. Tim Schlechter 13 februari 2003. Overzicht. Inleiding De methode Het algoritme Resultaten Conclusie. Probabilistic Roadmaps. Global planner Learning phase Query phase Local planner (local method) - PowerPoint PPT PresentationTRANSCRIPT
Visibility-based Probabilistic Roadmaps for Motion Planning
Tim Schlechter
13 februari 2003
2
Overzicht
Inleiding De methode Het algoritme Resultaten Conclusie
3
Probabilistic Roadmaps
Global planner• Learning phase
• Query phase
Local planner (local method)• Een algoritme dat, gegeven 2 configuraties q en
q’, een geschikt pad L(q,q’) berekent
4
Waarom PRM?
Aanpassen: enkel de local method Per robot zijn slechts een klein aantal
componenten specifiek voor die robot
5
Basic-PRM (1)
Learning phase:
1. do
2. Kies een random configuratie q in CSfree
3. Creëer een node uit q en probeer deze met alle
nodes uit de roadmap te verbinden
4. while het gewenste aantal nodes niet bereikt is
6
Basic-PRM (2)
Wanneer we een configuratie aan de roadmap toe willen voegen, proberen we mbv de local method een pad te vinden naar iedere andere configuratie in de roadmap
Maar nog erger: er worden nutteloze configuraties aan de roadmap toegevoegd. De graaf wordt onnodig groot.
7
Het idee
1. Beperk het aantal nodes waarmee je de toe te voegen configuratie wilt verbinden
2. Wanneer een configuratie geen nut heeft, voeg hem dan ook niet aan de roadmap toe
Maar hoe weet je dat een configuratie geen nut heeft in de roadmap?
8
Visibility domains
Voor een gegeven local method L, definieren we het visibility domain van een configuratie q als:
VisL(q) = { q’ CSfree zodat L(q,q’) CSfree }
9
Free-space coverage
10
Optimal coverage
Plaats de guards zo, dat:• de gehele free-space ‘bewaakt’ wordt
• een guard verwijderen tot gevolg zou hebben dat niet de gehele free-space ‘bewaakt’ wordt
• de guards elkaar niet ‘zien’
11
General Method (1)
1. Genereer random configuraties en bewaar slechts die configuraties, die een set vormen waarmee optimal coverage bereikt wordt
2. Verbind de guards met elkaar om de roadmap te vormen
Maar! Hoe kunnen we de guards met elkaar verbinden als deze elkaar niet kunnen ‘zien’?
12
De guards verbinden
13
Connectors
Een connector of connection node is een node die• ‘zichtbaar’ is voor ten minste 2 guards
• de coverage niet uitbreidt
14
General Method (2)
Genereer een random configuratie q. Nu zijn er 3 mogelijkheden:
• q is voor geen enkele guard zichtbaar. Voeg q toe als guard. q vormt een nieuwe connected component.
• q is ‘zichtbaar’ voor twee of meer guards die bij verschillende connected components horen. Voeg q toe als een connector en voeg de connected components samen.
• q is slechts ‘zichtbaar’ voor 1 guard of meerdere guards die bij dezelfde connected component horen. q wordt afgewezen.
15
Kanttekeningen
De term ‘visibility domain’ is eigenlijk onjuist. Beter was geweest: ‘reachable domain’
We nemen aan dat de roadmap een ongerichte graaf is. Dit houdt in dat de local method symetrisch moet zijn
Het aantal guards hoeft niet optimaal (=minimaal) te zijn. (Art gallery problem)
16
Algoritme (1)
Guard: Set waarin alle tot dusver gevonden guard-nodes opgeslagen zijn
Connection: Set waarin alle tot dusver gevonden connection-nodes opgeslagen zijn
Gi: Subsets van Guard die alle guard-nodes bevatten, die door een connection-node met elkaar verbonden zijn
17
Algoritme (2)
(true)
18
Stopconditie
ntry: Aantal achtereenvolgens ‘mislukte’ pogingen
Stop wanneer ntry >= een constante waarde M
± 1/ M zal niet bewaakt worden door de guards
Dus de kans op een succesvolle query: 1 – 1/ M
M heeft geen invloed op de grootte van de roadmap
19
Maarrrr…..
Het kan voorkomen dat CSfree niet volledig ‘bewaakt’ wordt door de guards
Probleem-situatie
20
Waarom beter dan Basic-PRM?
Twee factoren bepalen de looptijd van roadmap algoritmes:• Aantal aanroepen van de collision checker
• Aantal aanroepen van de lokale planner
21
Resultaten tegenover Basic-PRM(1)
ε = breedte van de doorgang
l = #aanroepen lokale planner
22
Resultaten tegenover Basic-PRM(2)
ε = breedte van de doorgangl = #aanroepen lokale planner
23
Resultaten tegenover Basic-PRM(3)
Basic-PRM: 1/ ε = 12 Basic-PRM: 1/ ε = 25
24
Resultaten tegenover Basic-PRM(4)
Basic-PRM: 1/ ε = 50 Visib-PRM voor elke willekeurige ε
25
Resultaten tegenover Basic-PRM(5)
26
Conclusie
Voordelen ten opzichte van Basic-PRM• Kleinere roadmaps
• Een maat om te schatten hoeveel van de vrije ruimte onbewaakt is
Minpunten• Geen garantie dat CSfree covered is (Basic-PRM heeft dit
overigens ook niet)
• Guards kunnen zo geplaatst worden dat de kans op een goede connector klein wordt
• Resultaten op basis van experimenten, geen formeel bewijs
27