Microb Technology/2009/Beacon

De Wikidroids

Sommaire

Prototype balise

Capteur + miroir

Le capteur est situé dans le mat du support de la balise. Un émetteur/récepteur est situé en haut du mat, pointant vers le sol. Sous ce capteur, un miroir incliné à 45° (en pratique, 48°) est animé d'une rotation permettant au capteur un balayage sur 360° autour du robot. Le robot adverse est équipé d'un réflecteur détecté lors du balayage du capteur. Il y a plusieurs problèmes à résoudre dans ce système:

  • le rayon du capteur décrit un cône pointe en bas, car la balise réfléchissante est placé plus haut que le capteur (voir règlement)
  • le capteur trouve l'angle de l'adversaire ainsi que sa distance car plus l'adversaire est éloigné, plus l'angle d'ouverture vue par le capteur est fermé.
  • le cône doit avoir son axe parfaitement vertical pour voir l'adversaire sur 360°

Le capteur de 2008 ne permettait pas de voir assez loin pour un évitement optimal, entrainant de brusque freinages du robot lors de la détection. Le but cette année est d'améliorer la balise pour:

  • augmenter la porté, et ainsi faire des évitements avec très peu de freinages (évitement par le côté)
  • avoir une bonne évaluation de la distance de l'adversaire dans une profondeur raisonnable (par exemple 1.50m)


Test capteur

Temps de mesure

Le premier capteur est un capteur pouvant détecter la balise réfléchissante à plus de 2m. Cette distance peut paraitre plus que nécessaire, mais est un atout pour des macro décision de déplacement. Si nous voulons par exemple traverser le terrain dans la longueur, la zone de dépose centrale est à éviter. Se pose alors 2 possibilités: évitement en longeant la zone de dépose 1 & 2 ou en longeant la réserver de linteaux. Si l'adversaire encombre un des 2 trajets, la balise pourra donner cette information, et la décision sera prise d'utiliser la 2ème possibilité.

le premier test effectué est le suivant: on place la balise à 50, 100, 150, 200 cm du capteur. On fait touner le miroir à 6 tours/secondes (à peu près). On mesure le temps pendant lequel le capteur voit la balise. On calcule ainsi à une distance donnée la taille de l'objet perçue par le capteur.

Pendant la rotation du miroir, nous capturons la sortie du capteur sur un oscilloscope.

Sur cette image, le petit pic représente la détection de la balise, le large pic est le top-tour (un bandeau réfléchissant). Le nombre de tours/secondes est mesurable (fréquence des top-tours).

Nous cherchons la taille de l'objet vue par le capteur. Connaissant la distance de l'objet, on peut calculer la vitesse du faisceau à cette distance:

périmètre = 2*PI*R
vitesse = périmètre*tour_par_secondes
taille_objet = vitesse*temps_détection

Par exemple, pour une mesure à 50 cm, on mesure un temps de 6 ms de détection de bailse à 5.77 tours/secondes; On a donc:

taille_objet = 2*PI*R*tour_par_secondes*temps_détection
taille_objet = 2*PI*50*5.77*6.10E-3

On trouve une taille de détection de 10.8 cm.

Cela peut paraitre étrange, sachant que la balise fait 8 cm de diamètre. Cela peut s'expliquer par le fait que le capteur envoie un faisceau de plusieurs centimètres de diamètres, et une occlusion partielle de celui-ci active la détection.

TODO: mettre les autres mesures à 200 150 100 cm (on trouvait il me semble 11 10.5 10 cm )

Angle d'inclinaison

Le deuxième problème est l'ouverture du cône formé par le rayon tournant. Pour cela, nous mesurons la hauteur de détection du capteur. Sa prise en compte dans les calculs est nécessaire pour en déduire l'inclinaison du miroir.

Pour la trouve, nous mettons la balise à 1 mètre, nous mettons la balise de telle sorte que le capteur soit en limite de détection de la partie haute de la balise. Puis, nous remontons la balise jusqu'à la limite de la détection du bas de la balise. Ainsi, en faisant la soustraction des deux hauteurs, nous en déduisons la hauteur de détection du capteur.

Sur cette image, la balise en bas est en limite de détection haute, la balise du haut est en limite de détection basse.

On trouve:

  • à 50 cm, une hauteur de 1 cm
  • à 100 cm, une hauteur de 3 cm
  • à 150 cm, une hauteur de 3 cm
  • à 200 cm, une hauteur de 1 cm.

A priori, la zone de détection serait représentée par un double cône tête-bêche. On peut représenter la zone de détection du capteur, et ainsi déduire l'angle d'inclinaison du miroir.

Sur le scéma, on a fait les choix suivants:

  • on a mis la balise à 43cm du sol
  • le miroir est à 39.5 cm du sol (mesuré sur le robot 2008)
  • la zone de détection minimum est placée de telle sorte qu'au moins la moitié du faisceau soit dans la zone de la balise ( en 43 et 43+8 cm)
  • la zone de détection maximum est placée de telle sorte qu'au moins la moitié du faisceau soit dans la zone de la balise ( en 43 et 43+8 cm)

On voit ici, que si on à un angle d'inclinaison de 47.5°, on détectera la balise si elle est entre 37 cm et 120 cm. En pratique, on arrive à la détecter entre 37 cm et 170 cm, ce qui est acceptable.


azimut du capteur

Un souci rencontré est que la balise était détecté lorsque cette dernière était placée à l'avant du robot, mais n'était pas vue à l'arrière du robot. Ceci est due au fait que le capteur ne pointé pas exactement vers le sol, mais formait un léger angle.

On voit ici qu'un angle de 2° induit à 1m une différence d'à peu prés 7 cm. Cette différence est catastrophique car la balise fait 8 cm de haut, et aveugle donc complètement du capteur.

Cette angle peut avoir plusieurs sources:

  • le positionnement mécanique
  • l'accélération/décélération du robot
  • le terrain lui-même

Ceci montre que ce système est très sensible, et sera peut être difficile à mettre en place avec les contraintes que nous désirons.

La pratique

Les résultats

Dans la pratique on arrive à trouver les coordonnées d'un adversaire distant au maximum d'environ 1m.

Le capteur

C'est un capteur pour barrière photoélectrique à réflecteur 42KB-U2LN de chez Omron.

Il émet de la lumière visible rouge mais c'est pas du laser.

La doc est .


Boîte à outils
LANGUAGES