Motion planning with complete knowledge using a colored SOM

advertisement
Motion planning with complete
knowledge using a colored SOM
Jules Vleugels, Joost N. Kok, & Mark Overmars
Presentatie: Richard Jacobs
Overzicht
• Globale beschrijving
• Meer gedetailleerde beschrijving
• Samenvatting
Globale beschrijving
• Robot moet van beginconfiguratie naar
doelconfiguratie zonder botsingen
• Kohonen netwerk: zelf-organiserende
roadmap
• Verkregen roadmap wordt doorzocht voor
oplossing
Voorbeeld motion planning
probleem
Dimensies
• 2D/3D-workspace
• Translatie en rotatie
Tot nu toe:
• Cel-decompositie en roadmap-methodes
– gebruiken grote datastructuren, met dure
berekeningen
• Potentiaalveldmethoden
– Lokale minima, oplossingen vaak traag
Nu:
• Gebruik van Kohonen Netwerk in
combinatie met deterministische technieken
Idee:
• Laat netwerk een roadmap maken
• Benader Voronoi diagram
Netwerk - algemeen
• Krijgt input, produceert output
• Afwijking van gewenste output
• Pas gewichten zodanig aan dat fout kleiner
wordt
Netwerk - hier
•
•
•
•
Knooppunten zijn configuraties robot
Input: configuraties van robot + label
Leren: verschuiving knooppunten
Doel: benader Voronoi-diagram en object
boundaries
Geen neuraal netwerk
• Geen output
• Geen processing van informatie
Voorbeeld netwerk
Netwerk
• Driehoeken
• 1 knooppunt per hoek
• Initieel uniforme verdeling van
knooppunten over gebied met wat random
variatie
• Elk knooppunt is safe of unsafe
Leren netwerk
•
•
•
•
Herhaalde leerstappen
In: configuratie + label – “safe” of “unsafe”
Bepaling best-matching unit (bmu)
Onveilige bmu’s naar veilige confgs. toegetrokken
(tot grens)
• Veilige bmu’s van onveilige configs.
weggetrokken (Voronoi...)
– Verplaatsing omgekeerd evenredig aan afstand tot bmu
– Aantrekkende kracht van safe neighbors
Toevoegen knooppunten
• Lokaal vergroten precisie netwerk
– Error-based
– Scene-based
Toevoegen knooppunten
Error-based
• Error per knooppunt bijhouden
• Error is sommatie over verschuivingen van
knooppunt
• Hoge error: veel beweging: veel ruimte
rond knooppunt
Error-based strategie
• Iedere k leerstappen knooppunt bepalen met
hoogste error-waarde
• Onveilig knooppunt
– verste veilige buur bepalen
– Voeg knooppunt toe halverwege edge (als unsafe)
• Veilig knooppunt
– Op lange edges
– Enkel tussen veilige knp. met 2 gezamenlijke unsafe
neighbours
Voorbeeld unsafe node
Voorbeeld safe node
Scene-based adding
• Als veilig knooppunt in verboden
configuratieruimte getrokken wordt:
onveilig knooppunt toevoegen op deze
configuratie.
Overtollige edges verwijderen
• Edges tussen unsafe knooppunten binnen
een obstakel worden verwijderd
– Geen common safe neighbor
– Geisoleerde knooppunten verwijderen
2e fase
• Beweeg elke unsafe node (op object
boundary) tussen zijn veilige buren
• Als deze configuratie veilig is: extra punt op
Voronoi diagram
• Einde leerfase
Planning a motion
• Zoeken opeenvolging knooppunten tussen
start en goal zonder botsingen
• Opeenvolgende knopen gevonden met A*algoritme
• Check voor elk paar knooppunten of de
robot daadwerkelijk van de ene naar de
andere kan
• Artikel gebruikt lineaire interpolatie
Stopcriterium
• Wanneer heeft netwerk voldoende geleerd?
• Om de k leerstappen proberen of een pad
gevonden kan worden: zoniet, dan doorgaan
Samenvatting
• Initialiseer netwerk
• Herhaal oneindig
– Genereer random input
– Pas posities bmu’s aan
– Om de zoveel keren
• Toevoegen knooppunten
• Verwijderen overtollige edges
– Om de zoveel keren
• Unsafe nodes naar free space
• Probeer pad te vinden
• Evt. herstellen unsafe nodes en doorgaan
Extra dimensie
• Rotatie
• Wrap-around
• Afstand afhankelijk van vorm van robot
Conclusie
• Methode geschikt voor problemen die
anders te veel rekentijd kosten
• Kan problemen aan die moeilijk zijn voor
traditionele methoden
• Beter dan random configuraties
uitproberen??
Download