Manipulation planning problem

advertisement
Manipulation planning
problem
A General Manipulation Task Planner
Marlies Mooijekind
Overzicht






Probleem definitie
Oplossing m.b.v. probabilistic roadmap
Verbetering: connected components
Verbetering: visibility probabilistic
roadmap
Resultaten
Conclusie
Manipulation planning problem

Definitie: motion planning van een
robot die objecten manipuleert



Oppakken
Transporteren
Loslaten
Manipulation planning problem

Movable object:



Vastgehouden door robot met stabiele grasp
Stabiele placement
Placements: verzameling van stabiele

placements
Grasps: verzameling van stabiele grasps

Continu:


Placements = U Pk , k = 1,..,n
Grasps = U Gi , i = 1,..,m
Manipulation planning problem

Twee soorten paden:



Transit path: motions van robot terwijl object op
stabiele placement blijft
Transfer path: motions van robot terwijl het het
object vasthoudt in stabiele grasp
Oplossing is een Manipulation path: reeks van
transit paths en transfer paths gescheiden
door grasp/ungrasp operaties
Algoritme


Meeste algoritmen gebruiken discrete
verzamelingen Grasps en Placements
Nadelen:


Gebruiker moet zelf initiële kennis geven
Oplossing met probabilistic roadmap

Genereert automatisch grasps + placements uit
continue verzamelingen van Grasps en Placements
Probabilistic roadmap

CS = CSrobot x Csobject
CSfree = alle configuraties van CS waar

2 stappen:

bewegende objecten niet snijden


Learning phase: genereer roadmap door random
configuraties in CSfree te genereren en te
verbinden
Query phase: verbind qinit en qgoal met roadmap en
vind een pad
Learning phase

Genereer random nieuwe configuratie


Welke random configuratie?
Verbind nieuwe configuratie met andere
configuraties in roadmap m.b.v. local
planner

Welke local planner?
Random configuratie

Genereer random nieuwe configuratie
waarin object stabiele placement heeft
en stabiele grasp

Kies random verzameling Pk uit Placements


Genereer random placement p in Pk
Kies random verzameling Gi uit Grasps

Genereer random grasp g in Gi
Random configuratie


Controleer of nieuwe configuratie feasible is in virtual
closed chain
Random Loop Generator vergroot kans op feasibility bij
virtual closed chains
Local planner

Local planner verbindt 2 configuraties q1 met
(g1, p1) en q2 met (g2, p2) met elkaar als



Transfer path van (g1, p1) naar (g1, p2) gevolgd
door transit path van (g1, p2) naar (g2, p2)
Transit path van (g1, p1) naar (g2, p1) gevolgd
door transit path van (g2, p1) naar (g2, p2)
Local planner is duur

Maak gebruik van paden berekend tijdens
preprocessing
Local planner

Transfer of transit path vinden:


Genereer een roadmap zonder movable object
Voeg movable object toe en label paden blocked
die object in huidige positie snijden
Local planner


Verbind de 2 configuraties met labeled roadmap
Zoek naar een pad in labeled roadmap



Geen pad  local planner faalt
Pad zonder blocked edges  local planner slaagt
Pad met blocked edges  vind pad tussen eindpunten van
blocked edges met Rapid Random Tree
Query phase


Verbind qinit en qgoal met de roadmap uit
de learning phase m.b.v. local planner
Zoek naar een pad in roadmap
Verbetering


Local planner wordt vaak aangeroepen =
duur
Oplossing:

Groepeer configuraties in componenten z.d.d.


tussen 2 configuraties binnen hetzelfde component
eraltijd een pad is
Verbind componenten met elkaar door transit en
transfer paths m.b.v. local planner
Connected components





Placements = U Pk , k = 1,..,n
Grasps = U Gi , i = 1,..,m
CPk = alle configuraties waar movable object
op een placement p єPk
CGi = alle configuraties met movable object in
een grasp g єGi
Componenten worden gevormd door
doorsnede van CPk ∩ CGi voor elke k en i
Connected components

Voorbeeld:

4 componenten
Connected components

Learning phase: constructie roadmap



Genereer connected components m.b.v. Random
Loop Generator
Verbind componenten door transit/transfer paths
met elkaar m.b.v. local planner
Query phase:


Verbind qinit en qgoal met roadmap m.b.v. local
planner
Vind een pad en transformeer het pad
Connected components

Roadmap = Manipulation Graph



Node = componenten
Edge = transit/transfer path tussen 2 configuraties van
verschillende componenten
Planning in componenten en tussen componenten
Connected components

Gevonden pad bestaat uit transit/transfer
paths en paden binnen componenten

Pad binnen connected component transformeren
naar transit/transfer paths
Visibility PRM


Roadmap is groot
Visibility PRM

Houd roadmap klein door toevoegen van
nuttige configuraties


Guards
Connectors
Voorbeeld 1 Cage
Voorbeeld 2 MobM
Voorbeeld 3 RoBr
Resultaten
Example
Cage
MobM
RoBr
Total Time
96 s
293 s
146 s
CG CP
23 s
6s
1s
Transit/transfer
paths
70 s
284 s
143 s
# nodes
32
45
10
# paths
12
14
6
Conclusie


Manipulation path: transfer en transit paths
(Visibility) Probabilistic roadmap

Bereken connected components



Random configuraties met stabiele placement en grasp
(virtual closed chain)
Verbind components door transfer en transit paths
met local planner
Problemen:


Meerdere objecten
Ingewikkelde workspace
Vragen

?
Download