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