Comment les algorithmes SLAM gèrent-ils un environnement en évolution?

13

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?

anaximandre
la source
Cette question n'a pas grand-chose à voir avec l'apprentissage automatique.
Josh Vander Hook
Peut-être pas; Je n'étais pas sûr à 100% des balises qui conviendraient. L'application que j'ai en tête semblait convenir, mais peut-être que sans ce contexte, elle est moins applicable ...
anaximander

Réponses:

5

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.

  1. 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".

  2. 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.

  1. 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.

  2. 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.

  3. 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:

  1. Construisent-ils vraiment une carte?

  2. Gardent-ils simplement une liste des fonctionnalités et des emplacements?

  3. Si oui, quelles sont les "caractéristiques" de la carte? Lignes, points, traits visuels?

  4. Ces fonctionnalités sont-elles susceptibles de se déplacer?

  5. Si oui, comment peuvent-ils gérer cela?

  6. 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.

Josh Vander Hook
la source
Merci! Connaissez-vous des techniques permettant de suivre où les objets ont été "acquis" et "perdus"? Je regarde les applications d'un sous-ensemble d'algorithmes de type SLAM et un domaine d'intérêt est l'identification des zones de "transition" comme les portes et les coins occlus d'où des objets peuvent apparaître. Cette application transforme la métrique de probabilité de décoloration habituelle sur sa tête - au lieu d'avoir des objets "s'estompent" lorsqu'ils sont hors de vue, les zones non observées augmentent lentement leur valeur pour indiquer que nous ne savons pas ce qui se trouve ici parce que nous n'avons pas regardé récemment, donc nous devrait être prudent lors de l'entrée dans cet espace.
anaximander
Beaucoup plus difficile. La seule façon de procéder correctement consiste à identifier les objets de manière unique. Comme, mettez-leur un code-barres. Sinon, l'objet A peut s'être déplacé vers l'emplacement B, ou peut-être que A et B ont été échangés, etc. Lisez le mappage sémantique. Vous avez besoin d'un algorithme qui peut "reconnaître" que les objets en mouvement sont en fait des "portes" qui devraient être attachées aux "murs" mais seulement quand je suis "à l'intérieur" mais que signifie "à l'intérieur" pour un robot de toute façon? Je pense que vous devriez lire plus et faire rapport.
Josh Vander Hook
Oui, l'idée ici est de contourner le problème de la sémantique en soulignant simplement "c'est un domaine où je continue de voir des choses qui n'existaient pas auparavant, ou de cesser de voir des choses qui étaient là". Les chances sont, cette zone est une sorte de transition - porte, boîte, fenêtre, coin occlus. Lequel de ceux avec qui nous avons affaire est le moins important; c'est uniquement pour éviter les collisions, nous voulons donc éviter toutes ces zones. De même, nous n'avons pas particulièrement besoin de savoir quel objet est lequel; seulement qu'il y a un changement significatif dans la quantité globale d'espace occupée par Stuff.
anaximander
La revue. Littérature. Un tel problème provient de A) Déplacement des trucs. B) robot en mouvement. C) Robot se perdant. D) des cartes incorrectes. Chacune de ces 4 choses a 4 solutions correctes différentes. Si vous ne gérez pas les 4, vous construirez des cartes complètement incorrectes. C'est pourquoi SLAM n'est pas résolu et reste difficile. Lisez et revenez avec des questions spécifiques liées à ce que vous avez appris.
Josh Vander Hook
1
C'est ce que je suis en train de faire; plus je lis, plus ma liste de choses à lire s'allonge! Ce fut la première des nombreuses questions que ma lecture a soulevées. Toutes mes excuses pour avoir élargi quelque peu la question dans les commentaires; Je n'ai pas reçu beaucoup de réponses, et SLAM est un sujet tellement énorme ... vous sembliez savoir de quoi vous parliez, alors j'espérais pouvoir obtenir quelques conseils. J'ai des documents de cartographie sémantique sur ma liste, mais il y en a quelques autres que je dois lire comme base pour cela ... Quoi qu'il en soit, je suppose que c'est de retour à la lecture pour l'instant.
anaximander