Quel algorithme puis-je utiliser pour construire une carte d'une zone explorée à l'aide d'un certain nombre de capteurs à ultrasons?

9

Les capteurs à ultrasons sont incroyablement bon marché de nos jours, ce qui en fait un choix populaire pour de nombreuses applications robotiques amateurs, et j'aimerais en utiliser un tas (disons 10) autour d'un robot avec un algorithme pour construire une carte approximative d'une zone (comme le robot l'explore.) Je ne suis pas intéressé à traiter des objets en mouvement à ce stade, juste à localiser des objets stationnaires, et j'utiliserai le GPS pour la localisation. Je me rends compte que d'autres composants tels qu'un scanner laser produiraient des résultats beaucoup plus précis, mais de tels appareils sont également astronomiquement plus chers.

Existe-t-il un algorithme à cet effet?

berry120
la source

Réponses:

5

Les algorithmes sont essentiellement les mêmes quels que soient les capteurs que vous utilisez.

Le vrai problème, que Chris a abordé , est que SLAM est difficile, même avec de très bons capteurs.

Je considérerais que le GPS, l'odométrie de la roue et une IMU sont nécessaires pour même tenter un claquement aux ultrasons.

Si vous êtes à la recherche d'une localisation bon marché, je vous recommande également de consulter le slam basé sur la vision / kinect. Les webcams et le kinect sont très bon marché et le slam visuel a parcouru un long chemin.

Le kinect est à peu près le Saint Graal en termes de performance / coût du capteur tant que vous êtes à l'intérieur.

Voici un exemple de kinect sur un robot et beaucoup de mathématiques: http://www.youtube.com/watch?v=9Y4RQVpp-BY

user65
la source
6

Il existe toute une littérature sur ce sujet. L'idée la plus générale est celle de la localisation et de la cartographie simultanées ( SLAM ), où le robot doit construire une carte en même temps qu'il se situe dans cette carte. Selon la précision de vos cartes, vous pouvez tenter de créer un plan de grille d'occupation plus simple , en supposant que vous connaissez l'emplacement du robot.

En général, le GPS est assez horrible, donc générer une grille d'occupation en utilisant simplement le GPS comme source de localisation principale générera des cartes assez floues. Cependant, il est possible d'intégrer le GPS à l'accélération, des gyroscopes, des boussoles, des caméras, des encodeurs de roue et d'autres capteurs pour approximer une bonne position dans le monde. Sinon, vous devrez vous pencher sur un système SLAM simple pour gérer vos problèmes.

Un joli paquet open-source g2o , pour ce qu'on appelle GraphSLAM, vous permet de mettre des contraintes comme le GPS et la position relative par rapport aux murs. Ce n'est peut-être pas un ajustement exact, mais c'est assez général.

Chris Mansley
la source
1
Une pensée supplémentaire serait de collecter toutes les données, en utilisant des comportements d'évitement de base pour vous assurer que le robot ne s'écrase sur rien, puis d'utiliser un graphe de post-traitement SLAM. Cela peut tirer parti de toutes les données capturées, par opposition aux seules données antérieures pour un point. Vous voudrez peut-être vérifier: openslam.org/ssa2d.html ou robots.stanford.edu/papers/thrun.graphslam.html
Barrett Ames
2

Pour faire SLAM, vous aurez besoin d'une estimation relativement bonne de la position.

Les robots qui utilisent des scanners laser peuvent se contenter de l'odométrie, car les données sont relativement précises et les données du scanner peuvent être utilisées pour aider à localiser dans les étapes de temps suivantes.

Les capteurs à ultrasons sont très flous, ils ont généralement un flou directionnel de plus de 20 degrés, et tout ce qui se trouve dans la direction générale sera détecté.

Ainsi, ils sont d'une aide négligeable pour aider à localiser (sauf dans des environnements très structurés).

Une combinaison GPS / IMU peut être utilisée pour obtenir une localisation raisonnable. Bien sûr, cela dépend de l'échelle du robot, et s'il est à l'intérieur, le GPS peut ne pas être pratique.

Si vous êtes en mesure de contrôler soigneusement le patinage des roues, l'odométrie des roues peut considérablement améliorer la localisation à court terme (bien qu'une méthode absolue de localisation soit préférée). Sans référence absolue (par exemple GPS), même avec un scanner laser, vous devrez être en mesure de résoudre le problème de la «fermeture de la boucle».

Les environnements structurés peuvent avoir une exigence de précision inférieure. Par exemple, un environnement semblable à un labyrinthe avec des murs à des distances de grille carrées régulières, où il est simple de détecter la présence d'un mur dans chaque direction d'une cellule de grille.

ronalchn
la source