Comment faire un «robot suiveur de ligne invisible»?

10

Je voudrais construire un robot qui suit un chemin virtuel (pas un chemin visible comme une «ligne noire sur une surface blanche», etc.).

Je suis juste enthousiaste en voyant des vidéos de science-fiction montrant des robots transportant des marchandises et des matériaux dans un endroit bondé. Et ils ne suivent vraiment pas une ligne physique. Ils sentent les obstacles, la profondeur, etc.

Je voudrais construire un tel robot qui suit un chemin spécifique (virtuel) du point A à B.

J'ai essayé deux ou trois choses:

  1. Utilisation d'un capteur magnétique à «effet Hall» sur le robot et d'un fil transportant du courant (sous la table). Le problème ici était que le voisinage du capteur à effet Hall est si petit (<2 cm) qu'il est très difficile de juger si le robot est sur la ligne ou hors ligne. Même l'utilisation d'une série d'aimants n'a pas pu résoudre ce problème, car ma table mesure 1 pouce d'épaisseur. Donc, cette idée a échoué: P

  2. Utilisation d'une peinture ultraviolette (sur une ligne) et utilisation de LED UV sur le robot comme capteurs. Cela donnera plus de mouvement Zig-Zag pour le robot. Et en raison des menaces potentielles d'utilisation de la source de lumière UV, même cette idée a échoué: P

J'ai finalement pensé à avoir une caméra sur le dessus et à utiliser des algorithmes de traitement d'image pour voir si le robot est en ligne ou divergent.

Y a-t-il une meilleure solution que celle-ci? Vraiment à la recherche de solutions créatives et simples. :)

Nitine
la source
Connaissez-vous les capteurs sonars et SLAM et les sujets connexes? Souvent, les robots ne suivent pas un chemin prédéfini et ils "détectent" les obstacles par des capteurs tels que le sonar, construisent une carte puis utilisent des algorithmes de planification de chemin pour trouver leur chemin.
Shahbaz
Merci pour la réponse :) Oui, je connais les capteurs à ultrasons et sonar ... en fait je veux un robot mon robot pour se déplacer du point A au point B sur un chemin spécifique, et cela aussi sur une table (3 pieds au-dessus du au niveau du sol) ... Et construire une carte dans cet environnement est vraiment une chose compliquée ... Donc des suggestions ??
Nitin
4
J'étais en train de répondre à cette question, mais j'ai remarqué que vous posez 2 choses contradictoires. Par "ligne invisible", voulez-vous dire "une ligne qui n'est pas visible à l'œil nu, par exemple une ligne définie par des signaux magnétiques ou UV ", ou voulez-vous dire "une ligne qui existe virtuellement - au sein du robot - basée sur où il veut aller et les obstacles qu'il ressent en chemin "? Pour le dire autrement, tracez-vous la ligne que le robot doit suivre, ou le robot la trace-t-il?
Ian
Salut lan, je veux un robot autonome qui devrait naviguer seul d'un point à un autre. Pour ce faire, il a besoin d'une ligne ou d'un chemin de référence. Un robot suiveur de ligne est la solution la plus simple mais je recherche une solution avancée et robuste. Et cela pourrait être quelque chose comme une ligne qui n'est pas visible à l'œil nu ou une ligne virtuelle créée par le robot. Le robot ne trace pas la ligne, il suit juste. pour le dire autrement, la ligne (virtuelle) est définie par moi. Au moins, le "traitement d'image" pourrait être une solution si rien d'autre ne fonctionne. Mais je cherche des solutions simples :)
Nitin
@nitin, vous devriez peut-être éviter d'utiliser des termes tels que "naviguer seul", car cela signifie automatiquement que le chemin n'est pas défini et est laissé au robot pour le trouver. Ce que vous voulez semble être un robot qui suit la ligne et n'a pas la capacité de trouver son propre chemin s'il n'est pas donné des instructions.
Shahbaz

Réponses:

3

Il existe de nombreuses façons possibles d'aborder ce problème, et elles dépendent toutes du matériel disponible et de l'expertise du constructeur de robots.

En bref, les critères sont les suivants:

  1. Le robot doit se rendre du point A au point B en suivant un chemin prédéfini.
  2. Le chemin emprunté ne doit pas suivre une ligne visible à l'œil nu.

Selon la longueur du chemin, l'utilisation de codeurs peut être suffisante. Cependant, il convient de noter qu'en raison de l'inexactitude physique, la dérive rend l'odométrie (ce que nous appelons l'utilisation de codeurs pour mesurer la distance) peu pratique sur de longues distances. Cependant, cela est facile pour les courtes distances et devrait au moins être envisagé.

Si la distance est trop éloignée pour l'odométrie uniquement, il faut envisager d'utiliser un capteur pour mesurer les virages (par exemple, un gyroscope ou une boussole ). Les virages ont tendance à introduire le plus d'erreurs en odométrie (la mesure le long d'une ligne droite n'a pas trop d'erreurs), donc l'utilisation d'un capteur pour les virages peut parfois faire de l'odométrie une solution viable.

Si l'odométrie ou l'odométrie + le tournage détecté ne fonctionne pas, alors nous devenons créatifs. Si vous voulez que le robot suive un chemin composé principalement de segments droits, vous pouvez placer des LED IR à des «points de cheminement» donnés sur la table, et demander au robot de détecter ces LED et de se diriger vers chaque waypoint en série.

Cependant, cela laisse encore un certain marquage visuel sur la table (bien qu'il puisse être déguisé dans une certaine mesure), et ce serait formidable de pouvoir s'en passer. Une autre approche consisterait à utiliser des pointeurs laser brillant parallèlement à la surface de la table, mais à quelques centimètres au-dessus de la table. Le robot pourrait utiliser une photorésistance pour détecter quand il traverse un laser, et cela pourrait lui faire savoir quand tourner.

Dans l'ensemble, je pense que l'odométrie augmentée avec un capteur d'angle est probablement le meilleur pari pour votre robot, au moins avec la façon dont vous l'avez décrit. Je peux peut-être penser à plus d'options, mais c'est tout ce que je vois en ce moment.

Juste curieux - pourquoi voulez-vous que la ligne soit invisible? Savoir pourquoi pourrait ouvrir d'autres possibilités.

apnorton
la source
Merci beaucoup @anorton :) :) "Odométrie" + "capteurs comme le gyroscope ou la boussole": - Bulls-eye;) Je suis sûr, ce sera définitivement d'entraînement. Et par rapport aux techniques de traitement d'image, cela semble assez facile. Ouais, j'ai la solution, merci :) Je vous tiendrai au courant de l'avancement du projet et des autres défis rencontrés.
Nitin
Soit dit en passant, tout l'intérêt de rendre la ligne invisible était - "Une ligne noire à la surface et un robot qui suit la ligne" c'est désormais juste un truc de base pour l'enseignement de la robotique. Et j'ai trouvé qu'au niveau industriel, ce n'est pas apprécié. Les gens ont besoin d'un robot hautement sophistiqué et intelligent pour faire leur travail. Je travaillais donc sur ce projet pour construire un robot avec une stabilité et une robustesse supérieures. Un robot qui n'est pas facilement piratable. Pour le dire autrement, une personne ordinaire ne devrait pas connaître la technologie derrière le robot :)
Nitin
2

Anki utilise des capteurs optiques dans ses petites voitures pour mettre en œuvre des suiveurs de ligne. Les capteurs optiques sont sensibles dans la gamme IR. Le fait que les lignes ne soient pas visibles s'explique facilement: les lignes sont recouvertes de couleur noire transparente dans la gamme IR. Le noir Paliogen L 86 ou le noir Paliogen S 84 de BASF sont de telles couleurs. Si vous placez des codes-barres le long des lignes, vous pouvez même obtenir des informations de positionnement absolues à partir des capteurs optiques.

user1225999
la source
0

J'ai une réponse courte à votre question. Cela concerne uniquement un robot compatible ROS. Il y a plusieurs façons de le faire, mais c'est ainsi que je l'ai fait. J'ai utilisé ROS et Kuka Youbot. Il peut s'agir de n'importe quel robot utilisant ROS. Il est très utile de connaître ROS si vous prévoyez d'être en robotique.

Utilisez ROS Utilisez ensuite GMapping pour cartographier votre environnement. Exemple de pièce ou de couloir et enregistrez la carte. Ensuite, en utilisant RVIZ, indiquez la position de l'objectif sur la carte.

Yathartha Tuladhar
la source
0

Eh bien, vous n'avez besoin d'aucune ligne d'ailleurs. La seule chose dont vous auriez probablement besoin serait des coordonnées globales. si vous pouvez placer votre robot dans un champ défini par des coordonnées globales et appliquer des règles simples de la physique newtonienne, le robot peut aller d'un point à l'autre. Sur la base de son emplacement actuel, il découvrira l'angle de braquage actuel, l'angle de braquage souhaité et les coordonnées de l'objectif (également appelé «pose»). Une fois que vous avez fourni au robot une vitesse, il commencera à se déplacer vers les coordonnées du but. À chaque itération, il recalculera sa pose et fera les ajustements nécessaires.

Lénine Mishra
la source