280 likes | 384 Views
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.
E N D
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
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
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
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
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??