J'ai une pièce de 300cm x 300cm avec un plafond de 25cm de haut (oui vingt cinq centimètres). Il contient 50 petits robots à roues (environ 20 cm x 20 cm). Un ordinateur central orchestrera les mouvements des robots, en utilisant un réseau sans fil pour leur envoyer des commandes de position. Les robots effectueront leur propre contrôle de position en boucle fermée pour économiser la bande passante sans fil. Les robots ont des microcontrôleurs ARM 32 bits. Ils ont des capteurs de position de roue et la possibilité de contrôler précisément les roues.
Problème: les robots ne peuvent pas encore le faire car ils n'ont aucun moyen de mesurer leur position dans la pièce.
Question: Comment donner aux robots la capacité de mesurer leur position et leur orientation avec une précision meilleure que ± 5 mm? Je recherche une solution précise et robuste, qui ne soit pas affectée par les occlusions, et ne nécessite pas de PC haute puissance sur chaque robot. Les capteurs nécessaires à la localisation peuvent facilement être ajoutés aux robots. Les microcontrôleurs peuvent facilement être remplacés par des microcontrôleurs plus puissants si la solution de localisation l'exige.
la source
Réponses:
Quelques idées qui me viennent à l'esprit ... En général, vous pouvez soit faire en sorte que chaque robot détecte sa propre position, soit demander à une sorte de système de trouver les robots et de leur envoyer des informations sur leur position (ou une combinaison). Utiliser éventuellement d'autres positions de robot pour vous localiser est une autre option s'ils peuvent communiquer. Vous pouvez également combiner les informations des capteurs provenant des robots et d'autres sources.
Optique
Vous pouvez encoder la position absolue ou la position relative au sol ou au plafond. Un capteur sur le robot peut les regarder. Un capteur comme celui de votre souris optique peut obtenir un mouvement relatif sur la plupart des surfaces, même sans motif. Il y avait des souris de style plus ancien qui utilisaient une grille à motifs.
Vous pouvez avoir deux caméras (ou plus) sur chaque robot regardant dans des directions différentes, si les murs de la pièce ont le bon type de motif, vous pouvez déterminer votre emplacement en fonction des images. Une caméra tournante est une autre option. L'obstruction de la caméra par d'autres robots peut être un problème.
Un réseau de capteurs ou une caméra au sol ou au plafond pourrait localiser les robots et vous pouvez ensuite envoyer les robots à leur emplacement.
Une sorte de capteur optique tournant qui peut localiser la direction d'une balise optique (par exemple une LED).
Du son
Vous pourriez avoir quelques balises autour de l'émission de gazouillis ultrasonores. S'ils sont tous synchronisés (par exemple, un délai fixe entre eux), étant donné leur emplacement, vous pouvez utiliser un calcul du temps de vol pour déterminer la position du robot. Il y a de nombreuses années, j'ai travaillé avec un numériseur à ultrasons qui était précis à environ un mm sur une distance d'environ un mètre, il semble donc dans le stade approximatif. Selon la forme de votre robot et la configuration des réflexions et des obstructions de l'essaim peuvent ou non être un problème. Vous auriez besoin d'expérimenter, mais mon instinct est qu'avec suffisamment de balises, vous pourriez avoir de bonnes performances.
Télémètres à ultrasons sur chaque robot. (tournant?) Pourrait cartographier la distance avec d'autres robots ou les murs.
Si l'un de ces sons vous intéresse, je peux essayer de développer ces idées un peu plus loin.
la source
Si le plafond est une surface plane visible du haut des robots, vous pouvez placer des bandes de marqueur (ou tout autre motif fiducial connu) sur le plafond à intervalles réguliers. Les rayures peuvent être des lignes blanches ou noires ou des bandes réfléchissantes étroites, détectées à l'aide de photocapteurs sur les robots.
Si les capteurs de position des roues et le contrôle précis des roues sont suffisamment bons pour maintenir la précision souhaitée des données de localisation lorsqu'un robot ne s'est pas éloigné de la distance d d'une position connue avec précision, les bandes (qui peuvent être des bandes blanches, des bandes noires ou une bande réfléchissante étroite) il peut être nécessaire de les placer à une distance d'au moins environ d / √2.
Le logiciel de planification de mouvement devrait probablement s'adapter. Si la position d'un robot est toujours incorrecte lorsqu'il traverse une bande, ajustez son rapport entre le nombre d'encodeurs de roue et la distance parcourue; ou si une bande serait vue si une jambe de voyage était légèrement plus longue, étendez la jambe pour traverser la bande; ou déplacer pour calibrer contre plusieurs bandes juste avant toute opération sensible à la position; ou effectuer des opérations sensibles à la position à un point de croisement de bandes.
Il existe une grande variété de modèles fiduciaires possibles. Les bandes orthogonales disposées parallèlement aux axes x et y sont probablement les plus simples à créer et à utiliser. Mais les yeux de taureau, les réticules, les coins, les codes à barres et d'autres modèles méritent également d'être pris en considération.
la source
La faible distance entre le haut du robot et le plafond limite vraiment vos options. Il semble à peu près impossible d'obtenir un aperçu centralisé de toute la pièce et de travailler à partir de là.
Je ne sais pas de quel type de `` pièce '' vous parlez et combien vous pouvez l'instrumenter, mais ce pourrait être une option pour placer des marqueurs au plafond plutôt que les robots. Compte tenu de la courte distance, vous devrez presque complètement remplir le plafond de minuscules marqueurs qui peuvent être complètement observés par une caméra pointant vers le haut sur chaque robot, bien que vous puissiez peut-être positionner cette caméra plus bas sur le robot, disons entre les roues avant et arrière de chaque côté, pour vous donner un angle de vision plus large. Mais le plus grand défi serait d'imprimer suffisamment de marqueurs distincts pour instrumenter l'ensemble du plafond.
Alternativement, il peut être envisageable d'instrumenter le sol avec de nombreuses étiquettes RFID, à condition que vous puissiez trouver des lecteurs qui ont une portée suffisamment petite (AFAIK, les lecteurs RFID vous diront seulement qu'une certaine étiquette est à portée, pas où elle se trouve). Le lecteur RFID Phidgets a déjà une portée d'env. 3 pouces, donc à moins que vous ne localisiez en voyant quel groupe de balises vous pouvez observer (s'il est possible d'observer plusieurs balises en même temps - pouvez-vous dire que je n'ai aucune expérience de travail réelle avec la RFID?), Vous devrez expérimenter avec obtenir des étiquettes plus petites et les «protéger» dans une certaine mesure du lecteur, afin qu'elles ne puissent pas être lues autrement qu'à très courte distance.
Dans l'ensemble, cela semble un défi difficile mais très intéressant. Si c'est pour le travail, je suppose que vous ne pouvez pas nous dire le but du projet, mais ça a l'air intriguant :)
la source
Si un système Vicon est hors de question, vous pouvez utiliser un système de caméras calibrées pour lire les marqueurs placés au-dessus des robots.
Un peu comme ce que ces chercheurs ont fait dans cet article (voir page 16)
Cependant, comme d'autres l'ont remarqué, si le plafond est très bas, vous n'aurez pas une bonne ligne de vue vers le haut des robots, et vous aurez du mal à utiliser cette méthode.
la source