Je prépare le terrain pour un projet et j'ai une question sur l'état actuel des techniques SLAM.
Lorsqu'un appareil équipé de SLAM détecte un objet, la position de cet objet est enregistrée. Si vous regardez le nuage de points que l'appareil génère, vous verrez des points pour cet objet, et les modèles générés à partir de celui-ci incluront la géométrie ici.
Si un objet est placé dans un espace précédemment vide, il est détecté et des points sont ajoutés. Les modèles suivants comporteront une géométrie décrivant ce nouvel objet.
Comment l'appareil réagit-il si cet objet est retiré? Pour autant que je sache, les systèmes SLAM ont tendance à laisser les points en place, ce qui donne une géométrie "fantôme". Il existe des algorithmes qui ignoreront les points isolés causés par les contacts transitoires, mais les objets qui sont restés assez longtemps pour construire un modèle solide resteront dans la mémoire de l'appareil. Existe-t-il des systèmes capables de détecter que l'espace précédemment occupé est désormais vide?
Réponses:
Cela dépend beaucoup. Puisque SLAM est un problème (ou au moins une technique), pas une solution, il n'y a pas d'algorithme SLAM définitif. Sémantiquement, vous devez décider ce qui se passe sur une "carte" de l'environnement, et cela détermine comment votre algorithme doit gérer les signaux transitoires (ou en mouvement). Mais c'est une digression.
Cartes permanentes:
Les cartes permanentes doivent contenir suffisamment d'informations pour vous localiser par rapport à la géométrie connue. Généralement utilisé dans les bâtiments. Typiquement lisible par l'homme. Voir le travail de Willow-Garage. ou quoi que ce soit de Thrun dans son manuel assez célèbre. Si vous perdez cette carte, vous devez la reconstruire au fil du temps.
Suppression d'objets. Oui, l'objet apparaîtra sur une carte statique pendant un certain temps. Si aucune mesure n'est prise pour supprimer les objets précédemment détectés, il persistera. Une représentation basée sur une grille 2D typique utilisera chaque cellule de la grille pour représenter la probabilité d'un objet, donc après un certain temps, l'objet "s'estompera".
Ajout d'objets. Comme ci-dessus.
Cartes locales:
En réalité, SLAM est généralement utilisé pour localiser un robot au fur et à mesure qu'il se déplace, et la carte n'est pas conservée en permanence (ou, elle est conservée en permanence, mais seules les entités Y les plus proches sont utilisées). Les cartes locales sont tout ce que le robot doit savoir pour déterminer comment il s'est déplacé au cours des X dernières minutes, où X dépend de l'application. Si vous perdez la carte, vous pouvez toujours très bien voler en utilisant toutes les fonctionnalités en vue actuellement.
Les méthodes de traitement par lots telles que l'ajustement de l'ensemble à l'aide de fonctionnalités visuelles sont une technique très courante dans cette direction. Les fonctionnalités peuvent être conservées dans le temps, et même revisitées, mais une fonctionnalité en mouvement n'est qu'une fonctionnalité peu fiable, et elle sera ignorée lorsque vous tenterez de déterminer où se trouve le robot.
Visual SLAM est exactement cela. Il s'agit d'un estimateur delta-P (changement de pose), et non d'un algorithme de localisation basé sur une carte.
En bref, tant que la plupart des choses ne bougent pas actuellement , peu importe si vous supprimez un objet lorsque le robot ne le "regarde" pas.
Exemple
Alors fais ça. Lorsque vous lisez un article SLAM, décidez ce qui suit:
Construisent-ils vraiment une carte?
Gardent-ils simplement une liste des fonctionnalités et des emplacements?
Si oui, quelles sont les "caractéristiques" de la carte? Lignes, points, traits visuels?
Ces fonctionnalités sont-elles susceptibles de se déplacer?
Si oui, comment peuvent-ils gérer cela?
Enfin, le bruit du capteur "ressemble" souvent à des éléments en mouvement. Comment gèrent-ils le bruit des capteurs? Parce que cela déterminera souvent ce qui arrive aux fonctionnalités en mouvement.
Vous obtiendrez une réponse différente pour chaque article / auteur / livre / application. En bref, ils sont généralement omis car ils n'aident pas beaucoup le robot à localiser, et peuvent être évités en ayant simplement quelques planificateurs de chemin de bas niveau qui n'utilisent que des informations locales.
Bonne chance, le slam est un sujet énorme.
la source