RTABMAPã®è«æãèªã¿èŸŒãããšã«ããã
åã®èšäºã§RTABMAPã®äœ¿ãæ¹ãèŠãŠãããŸããããäžèº«ãæ·±ãçè§£ããããã«è«æãèªã¿èŸŒãããšã«ããŸããã
ä»åèªãã è«æ
"Long-Term Online Multi-Session Graph-Based SPLAM with Memory Management."
çŽèš³ãããš
ã¡ã¢ãªç®¡çã«ããé·æéã®ãªã³ã©ã€ã³ãã«ãã»ãã·ã§ã³ã°ã©ãããŒã¹SPLAM
ããããæå³äžæã§ãã®ã§ãæèš³ãããš
ã¡ã¢ãªç®¡çã«ãã£ãŠé·æéãããããäžïŒãªã³ã©ã€ã³ïŒã§åäœããSLAMãšããæãã§ããããã
è±èªã³ã£ããçŽ18ããŒãžã§ããã²ãã
ãã®è«æã§ã¯SPLAMãšããçšèªã䜿ãããŠããŸãããããã¯Simultaneous Planning, Localization And Mappingã®ç¥ã§ãããSLAMã«å ããŠããããã®çµè·¯èšç»ãŸã§å«ãã§ããŸãã
ã¢ãã¹ãã©ã¯ã
SPLAMã«ãããŠã¯é£ç¶çã«ããããã¢ããããŒãããŠããå¿
èŠããããŸããããããã倧ãããªãã«ã€ãèšç®é床ã«å¶éããããªã³ããŒãã³ã³ãã¥ãŒã¿ãŒã§ã¯èšç®ããããªã倧ããã«ãªã£ãŠãããŸãããã®ãããããããã¯èªå·±äœçœ®æšå®ãšãããã³ã°ã«çšãããããã®ãµã€ãºãå¶éããªããã°ãªããŸããã
ãã®è«æã§ã¯ãWM(Working Memory)ãšLTM(Long Term Memory)ãããåãã«ããã¡ã¢ãªç®¡çãçšããŠããããã®åé¡ã«åãçµãã§ããŸãã
å®éšã¯çè·é¢ã¬ãŒã¶ãŒãRGB-Dã«ã¡ã©ãæèŒããããããã§è¡ãã宀å
ã§10.5 kmã®11åã®ã»ãã·ã§ã³ã«åãããŠããŸããå®éšäžã«ã¯139人ã®äººã«åºããããŸããã
ã€ã³ãã
SPLAMã«ãããŠã¯ä»¥äžã®2ã€ã®éèŠãªãã£ã¬ã³ãžããããŸãã
ãã«ãã»ãã·ã§ã³ãããã³ã°
ããããã®ãèªæåé¡ãããåæäœçœ®åé¡ããšããããããããããèµ·åãããšããããããã¯ä»¥åã«äœãããããããšã®äœçœ®é¢ä¿ãç¥ãããç®çå°ãŸã§ã®çµè·¯èšç»ãç«ãŠãããšãã§ããŸããã
ããã«å¯Ÿããäžã€ç®ã®è§£æ±ºçã¯ããããã³ã°ãå§ããåã«ä»¥åäœã£ããããã®äžã§ãããããèªå·±äœçœ®ã決ããããšã§ããããããã®æ¹æ³ã§ã¯ããããã¯åžžã«ä»¥åã®ãããã®äžã§èµ·åããªããã°ãªããŸããã
2ã€ç®ã®æ¹æ³ã¯èµ·åæã«æ°ããããããäœãããããäŸç¶æ¥ããšããã«åºãããããšã以åã®ããããšã®äœçœ®å€æãæ±ããæ¹æ³ã§ãããã®ããã»ã¹ã¯Loop Closureæ€åºãšåŒã°ããŸãã
æåãªLoop Closureæ€åºææ³ã¯ç»åãçšããææ³ã§ãããç»åã®ç¹åŸŽãæœåºããŠä»¥åã®ç»åãšæ¯èŒããŸãã
åçãªç°å¢ã«ãããé·æéãããã³ã°
ãããã®æŽæ°ãæ°ããããŒã¿ã®è¿œå ã¯ããããµã€ãºã®å¢å ã«ã€ãªãããŸãããªã³ã©ã€ã³SLAMã«ãããŠã¯ãããŒã¿ã®ååŸåšæããããããã®æŽæ°åŠçã«ãããæéãå°ãªããŠã¯ãªããããããã倧ãããªãã«ã€ãLoop closureæ€åºåã³ãããæé©åã®åŠçã«ãããæéãé·ããªããŸãã
ãã®è«æã§ã¯ãããã®åé¡ã«å¯ŸããŠã¡ã¢ãªç®¡çæ©æ§ã«ãã察å¿ããŠãããŸãã
å è¡ç ç©¶
ç¥
ãããã
å®éšã«çšããããããã¯ããã§ããäžçªäžã«ã¬ãŒã¶ãŒã¹ãã£ããŒãåæ¹ã«RGBDã«ã¡ã©ãä»ããŠããŸãã

SPLAMã®ããã®ã¡ã¢ãªç®¡ç
RTAB-MAPã§ã¯ããŒããšããŒãéã®ãªã³ã¯ã«ããæ§æãããŠããŸãã
ããŒãã¯ä»¥äžã®æ
å ±ãæã£ãŠããŸãã
ID
åå¥ã®ID
Weight
åããŒãã¯éã¿ããã£ãŠããŸããéèŠåºŠãšãã£ãŠããããããããŸããã
Bag-of-words
Loop closureæ€åºã®ããã®ç»åã®visual wordã§ãã
ã»ã³ãµãŒããŒã¿
ããŒãºïŒããããã®äœçœ®ãæ¹å
RGBç»åïŒvisual wordsã®ããã«çšããããŸãã
Depthç»åïŒããã¹ç»åã¯RGBç»åãšãšãã«ç»é²ãããŸãã
ã¬ãŒã¶ãŒã¹ãã£ã³ïŒloop closureã®å€æããªãã¡ããªã®è£æ£ãè¿æ¥ãªã³ã¯ã®èšç®ã«çšããããŸãã
ãŸãããªã³ã¯ã«ã¯ä»¥äžã®4çš®é¡ããããŸãã
飿¥ãªã³ã¯
ã²ãšã€åãšçŸåšã®ããŒãã®éã®ãªã³ã¯
Loop Closureãªã³ã¯
Loop Closureãæ€åºããããšã远å ãããæ°ããããŒããšãããã®äžã®ããŒããšã®ãªã³ã¯
è¿æ¥ãªã³ã¯
ã¬ãŒã¶ãŒããŒã¿ããåŸããããªã³ã¯ãè¿æ¥ããããŒãã
äžæãªã³ã¯
çµè·¯èšç»ã«çšããããã
RTABMAPã®ã·ã¹ãã æŠèŠ
次ã«RTABMAPã®å
šäœåã瀺ããŸãã

åºæ¬çã«Graph-based SLAMã«ã¡ã¢ãªç®¡çããã£ã€ããæ§é ã§ããããããã®ããããçµè·¯èšç»ã«çšããŠããŸãã
ã»ã³ãµãŒããŒã¿ãååŸããWorking Memoryå
ã§Loop closureæ€åºãè¿æ¥ãªã³ã¯æ€åºãè¡ãã鿬¡ã°ã©ãã®æé©åãè¡ããŸãã
ïŒå³å·ŠäžïŒ
次ã«ã¡ã¢ãªç®¡çã§ãããWorking Memoryå
ã§ã¯ããããµã€ãºã«ããåŠçæéTãæ±ºãŸã£ãŠããŸãã
ãã®ãããå¿
èŠã®ãªãããŒãã¯Long Term Memoryã«éããããŸãLoop Closureæ€åºãªã©ã§å¿
èŠãªå ŽåLong Term MemoryããWorking Memoryã«åŒã³åºãããŸãããã®ããã©ã®ããŒããã¡ã¢ãªãŒå
ã«æ®ãããã¡ã¢ãªç®¡çã®ããŒãšãªããŸãã
ãã®ããã«2ã€ã®ä»®å®ã眮ããŸãã
ïŒãé·ãããã»ã©ãã®ãšãªã¢ãéèŠã§ãããšã¿ãªãã
人ãé·ãæéããå Žæã»ã©èšæ¶ã«æ®ããããããã«ããããããé·ãããå Žæã«ããéã¿ã¥ããããã
ïŒãããã²ãŒã·ã§ã³ã®ããã®éã¿ã¥ã
ããã²ãŒã·ã§ã³ã®çµè·¯äžã«ããéã¿ããä»®å®ïŒã«ãã£ãŠäœãéã¿ã¥ããããããšããããããä»®å®ïŒã¯ïŒããåªå
ãããŸãã
ããŒã«ã«ããããšã°ããŒãã«ããããèµ€ããããã¯LTMã®äžã®ããŒãããã®ä»ã¯WMã®äžã®ããŒãã§ããã
çæéã¡ã¢ãªã¢ãžã¥ãŒã«
ããã¯ã»ã³ãµãŒããŒã¿ããŸãåãã«éããããããŒãã«è¿œå ããããã€ã³ãã§ããçæéã¡ã¢ãªã¢ãžã¥ãŒã«ã®åœ¹å²ã¯ããŒãã®éã¿ãç»åã®é¡äŒŒåºŠã«ããã¢ããããŒãããŸãã
ããŒãã远å ããããšãåºæã®IDãå²ãåœãŠããéã¿ã¯0ã«åæåãããŸãããããŠããŒãã«ã¯äœçœ®ãå§¿å¢ãRGBç»åãæ·±åºŠç»åãã¬ãŒã¶ãŒã¹ãã£ã³ãèšæ¶ãããŸãããããé£ç¶ããïŒã€ã®ããŒããé¡äŒŒããç»åãæã£ãŠãããšãïŒvisual wordsã®å¯Ÿå¿ã®å²åããéŸå€Yãè¶
ãããšãïŒåã®ããŒãã®éã¿ã«1ãå ãããŸãããããããããç§»åããŠããªããã°ïŒäœçœ®ãå§¿å¢ãåãïŒããŒãã¯è¿œå ãããŸããã
ãŸããã¬ãŒã¶ãŒã¹ãã£ã³ã䜿ã£ãŠããªãã¡ããªã®æé©åãè¡ãããŸããã¬ãŒã¶ãŒã¹ãã£ã³ã®äžèŽãéŸå€ãè¶
ãããªããè¿æ¥ãªã³ã¯ãã¢ããããŒããããŸãã
ãããSTMãäžå®ã®ãµã€ãºãè¶
ãããšããäžçªå€ãããŒãã¯WMã«éãããŸãã
Appearance-based Loop Closureæ€åºã¢ãžã¥ãŒã«
Loop closureæ€åºã¯bag of wordsã«åºã¥ããŠãæ€åºãããŸããäºåã«èšå®ããLoop Closureã®ãããå€ãè¶ ãããšãLoop Closureãæ€åºãããŸããRGBç»åã¯Depthç»åãšãšãã«ç»é²ããããããvisual wordsã®3Däœçœ®ã¯æ±ããããŸããLoop Closureãæ€åºããããšããããŒãéã®å€æãæ±ããããŸããããã¯RANSAC(RANdom SAmpling Consensus)ã«ããæ±ããããŸãããã®åŸãªãã¡ããªãšåãããã«ã¬ãŒã¶ãŒã¹ãã£ã³ã®ããŒã¿ã«ããèªå·±äœçœ®ãè£æ£ããŸãã
è¿æ¥æ€åºã¢ãžã¥ãŒã«
Appearance-based Loop Closureæ€åºã¯ã»ã³ãµãŒã®èšæž¬ç¯å²ã«å¶éãããŸããäŸãã°ãããããããããšãªã¢ã以å蚪ãããšããšåå¯Ÿã®æ¹åã«åãã£ããšããŠãRGBDã«ã¡ã©ã§ã¯èŠãŠãã颚æ¯ãéãããLoop Closureãæ€åºããããšãã§ããŸããããŸããããã¯ç¹åŸŽã®å°ãªãå£ãé·ãå»äžãªã©ã®å Žåã«ãçºçããŸãã

äžïŒè¿æ¥æ€åºã¢ãžã¥ãŒã«ãªã
äžïŒãã
è¿æ¥æ€åºã¢ãžã¥ãŒã«ã«ãããå»äžã®åŸåŸ©ã§ãé©åã«ããããäœãããŠããŸãã
ãªããã¬ãŒã¶ãŒã¹ãã£ã³ã¯ç»åã»ã©ç¹åŸŽçã§ã¯ãªãããã察å¿ä»ããããŒãã¯ããŒã«ã«ãããã®ããããã®åšãã®ããŒãã«éãããŸãã

æ€çŽ¢ãããããŒãã¯ååŸRã®äžã®ããŒãã«éãããèšå®ãããååŸLã®äžã«ãããšè¿æ¥æ€åºãè¡ããŸãã(å³äžã®å³a)
ãªããLoop Closureæ€åºã¯è¿æ¥æ€åºã®åã«è¡ãããŸãã
ãã®ãããè¿æ¥æ€åºã®åã«Loop Closureãæ€åºããããšè¿æ¥æ€åºã¯ç¡èŠãããŸãã
ã°ã©ãæé©åã¢ãžã¥ãŒã«
ã°ã©ãæé©åã«ã¯TORO(Tree-based netwORk Optimizer)ãçšããããŸããLoop Closureãè¿æ¥ãªã³ã¯ãæ€åºããããšãããªãã¡ããªã®èª€å·®ããªã³ã¯ã«äŒããããããããæ ¡æ£ãããŸãã
çµè·¯èšç»ã¢ãžã¥ãŒã«
ã¡ã¢ãªç®¡çã¯ã©ããªã³ã©ã€ã³çµè·¯èšç»ãç«ãŠããã«å¯ŸããŠã倧ããªåœ±é¿ãæã£ãŠããŸããRTABMAPã§ã¯Metrical Path Planner(MPP)ãšTopological Path Planner(TPP)ãçšããŠããŸãã
Metrical Path Planning Module
MPPã¯(x,y,Ξ)ã§è¡šããããããŒãºæ
å ±ãåãåããããŒã«ã«ããããçšããŠé害ç©ãåé¿ããçµè·¯ãç«ãŠãŸããDWA(Dynamic Window Approach)ã«ãããåçãªé害ç©ãåé¿ããŸãã
ã¬ãŒã¶ãŒã¹ãã£ããŒã¯å°é¢ãã40cmã®ãšããã«åãä»ããããŠãããããRGBDã«ã¡ã©ã®ããã¹æ
å ±ãéå®³ç©æ€ç¥ã«çšããããŸãã
å°é¢ãšé害ç©ãåããããã«ãïŒããããïŒç¹çŸ€ã®å¹³é¢æ€åºã«ãããå¹³é¢ãšæ¯ã¹èšå®ããè§åºŠZããå°ããå Žæã«ã€ããŠã¯å°é¢ãšã¿ãªãããŸãã
ãã®åŸãäžå®ã®é«ã以äžã®ç¹ã«ã€ããŠã¯é害ç©ãšã¿ãªãããŸãã
ããã«ããããããããäžæŽå°ãªç°å¢ã§ãçšããããšãã§ããããã«ãªããŸãã

å·ŠïŒã¬ãŒã¶ãŒã¹ãã£ã³ã®ã¿ã®éå®³ç©æ€ç¥ãçãäžïŒã«ã¡ã©ãçšããéå®³ç©æ€ç¥ãå³ïŒå°é¢ã®ã»ã°ã¡ã³ããŒã·ã§ã³
å·Šã§ã¯æ€ç¥ãããŠããªãã£ãæ€
åã®è¶³ããçãäžã§ã¯ã«ã¡ã©ã«ããæ€ç¥ãããŠããã
å³ã§ã¯å°é¢ã¯ç·ãé害ç©ã¯ãªã¬ã³ãžã§ç€ºãããŠããã
Topological Path Planning Module
TPPãããŒãã®IDã§è¡šãããããŽãŒã«ããŠãŒã¶ãŒããåãåã£ããšããSLAMã¢ãžã¥ãŒã«ã«ãã£ãŠäžããããã°ããŒãã«ããããçšããŠããŽãŒã«ãŸã§ã®çµè·¯ãèšç®ããŸããTPPã®çµè·¯ã¯ããŒãºã®é£ç¶ã§ããããã®ã¹ãããã¯ãªãã©ã€ã³ãããã¯ãããããåããŠããªããšãã«è¡ãããå¿
èŠããããŸãã
TPPã¯ãŽãŒã«ãŸã§ã®ã©ã®ããŒããéžã¶ããæ±ºå®ãããããDijkstraæ³ãçšããŠããŸããTPPã¯ããŒã«ã«ãããã®æãé ãããŒãã®ããŒãºãMPPã«éããŸãã
ãããŠããŒã«ã«ããããæŽæ°ããããã³ãTPPã¯æãé ãããŒããMPPã«éããŸãã

ãã®å³ã®(a)ãã(f)ã«åããã«ã€ãã ãã ãé ãããŒããåŒã³åºãããŠãçµè·¯ãæŽæ°ãããŠãããŸããããã«ãããWMã®äžã®ããŒãã®æ°ãå¶éããªããçµè·¯èšç»ãç«ãŠãŸããããããŽãŒã«ã«ãã©ãçããŸã§ç¶ããŸãã
è±èªã®å±±ã«åãããŠç²ããŠããŸã£ãã®ã§çµæã¯æ¬¡åæžããŸãã
åèæç®
Long-Term Online Multi-Session Graph-Based SPLAM with
Memory Management
https://introlab.3it.usherbrooke.ca/mediawiki-introlab/images/8/87/LabbeAURO2017.pdf
