Comment détecter le bord d'une table?

11

Je suis nouveau dans la fabrication de robots et je viens de recevoir mon premier arduino.

Je veux faire un robot qui se promènera sur une table, et il durera plus longtemps je pense que si je pouvais le faire éviter de tomber de la table.

Quelle sera la meilleure façon de lui faire détecter le bord d'une table afin que je puisse la faire s'arrêter et se retourner? Ce doit être quelque chose de fiable et de préférence bon marché.

Ce sera également mieux si je n'ai pas besoin d'ajouter des éléments supplémentaires à la table pour pouvoir l'utiliser sur n'importe quelle surface (ma première idée était de dessiner des lignes de chemin sur la table et de créer un robot suiveur de ligne, mais je ne le fais pas comme cette idée beaucoup).

Thomas
la source

Réponses:

15

La solution Roomba à ce problème était d'ajouter des capteurs de falaise , qui sont vraiment des capteurs de proximité orientés vers le bas :

Capteur de proximité infrarouge Sharp GP2Y0A21YK.  Le capteur a une sortie analogique qui varie de 3,1 V à 10 cm à 0,4 V à 80 cm.

Bien que cette technique semble avoir des problèmes avec certaines surfaces, telles que les sols carrelés foncés , il semble que cela ne sera pas un problème pour votre application.

Vous pouvez même en fabriquer vous-même avec une LED IR et une diode photo IR, par exemple ce capteur de proximité infrarouge bricolage compatible Arduino .

Vous pourriez également obtenir des idées de Tiny Wanderer - A Table Top Robot sur instructables .

Mark Booth
la source
7

Une approche simple et peu coûteuse consiste à utiliser un capteur tactile comme une moustache. Le contrôleur surveille simplement si la moustache est en contact avec le sol, si ce n'est pas le cas, elle s'arrête et s'éloigne de cette moustache.

Une autre méthode assez bon marché consiste à utiliser un ensemble de télémètres IR pointés vers le sol. Le contrôleur surveille ensuite les valeurs renvoyées par les rangers et si l'un d'eux dépasse un certain seuil prédéfini, le robot s'arrête et s'éloigne de ce capteur.

DaemonMaker
la source
Le problème avec le toucher est que le capteur peut être endommagé par l'impact d'un objet sur le sol. La fiabilité du capteur est un élément important de la conception robotique.
Jay Beavers
3

Il existe différentes approches pour résoudre ce problème:

  • Capteurs de distance
  • Senseur tactile
  • Étiquettes RFID autour du bord de la table (ou aimants)
  • Appareil photo (L'utilisation du traitement d'image serait plus difficile et l'arduino ne serait probablement pas assez puissant pour cela)

Avec le capteur de distance, vous devrez vérifier s'il s'agit d'un signal numérique ou analogique fourni par le capteur. Aux fins de votre `` capteur de falaise '', vous seriez probablement d'accord avec le numérique, car vous seriez en mesure d'utiliser le capteur comme bascule pour détecter lorsque la distance est supérieure à une distance minimale.

Si vous êtes intéressé par les capteurs analogiques pour fournir plus d'informations (telles que la distance d'un mur) qu'un simple interrupteur à bascule, vous devrez vérifier la portée de l'appareil. Le capteur pointu illustré dans la réponse ci-dessus vous fournira une tension que vous devrez convertir en distance (elle a une relation inverse avec la distance). Vous aurez besoin de 3 capteurs pour couvrir la même plage de distances qu'un capteur à ultrasons (par exemple SRF08 Ultrasonic Range Finder). Capteur de mesure de distance Sharp GP2D120 4-30 cm pour courte portée, capteur de mesure de distance Sharp GP2Y0A02YK 20-150 cm pour portée moyenne et capteur de mesure de distance Sharp GP2Y0A710K0F 100-550 cm pour capteur longue portée. J'ai eu des problèmes avec le capteur à ultrasons tombant à zéro sporadiquement, vous devez donc programmer une déclaration catch si ce décrochage est inacceptable dans votre application. Le télémètre à ultrasons SRF08 était beaucoup plus facile à utiliser car il avait été réglé par le fabricant.

Tom Bamber
la source