Détection

Introduction

La détection des robots adverses est un élément incontournable pour participer à Eurobot. Les chocs entre deux robots d'équipes adverses sont théoriquement interdits. Ce point de règlement fait d'ailleurs l'objet d'un contrôle lors de l'homologation. Les techniques de détection sont nombreuses et peuvent se combiner entre elles. Au club nous utilisons la détection par ondes Infra-rouges et par ondes Ultra-sonores.

Chaque robot doit être muni d'un support de tourelle afin que l'équipe adverse puisse y placer son système d'émission.

Principe de la détection par ondes Infrarouges (IR)

Le but est de placer une balise d'émission sur le support de tourelle du robot adverse qui émet un signal IR. Ce signal est à la fois modulé afin de parer l'éventuelle superposition d'ondes avec l'équipe adverse, et également codé afin de savoir de quel robot adverse il s'agit ainsi que de limiter le risque de brouillage du signal qui empêcherait du connaître la source.

Exemple avec un seul récepteur

La balise d'émission est constituée de 24 LEDs IR afin d'émettre dans toutes les directions. Un mot UART superposé à une modulation par PWM est envoyé à travers ces LEDs. La puissance d'émission est réglable par potentiomètre.

Dans le cas d'un seul récepteur, il suffit de lire le mot UART reçu afin de savoir si la balise d'émission se trouve dans le cône de réception du capteur. Plus la balise d'émission sera proche du récepteur, plus le signal sera de bonne qualité et cela permettra de lire correctement le mot UART. Si la balise est loin, le signal émis aura perdu beaucoup de puissance et on ne pourra pas lire le mot. Dans ce cas on considère que le robot adverse est encore loin.

Application avec plusieurs récepteurs

Dans le cas de plusieurs récepteurs, en l'occurrence 16, on utilise 2 entrées UART du microcontrôleur ainsi que 2 multiplexeurs x8 qui vont permettre de lire les 16 récepteurs 2 par 2. Une fois qu'on a lu tous les récepteurs, on connait donc ceux qui ont reçu le signal de la balise d'émission. Si on détecte un signal, il y a de bonnes chances pour que ce soit sur plusieurs récepteurs en même temps. Du coup il va falloir faire un peu de traitement. On commence par éliminer les orphelins, c'est-à-dire que si un récepteur est positionné entre 2 récepteurs qui captent le signal, alors on considère que lui aussi le reçoit, quel que soit son état. On vient ensuite étudier les “amas” (récepteurs positionnés les uns à côté des autres qui captent le signal) pour éliminer les plus petits (présents en cas de réflexion). On recherche ensuite le centre de l'amas le plus gros pour en déduire la position du robot adverse (en angle). La distance entre notre robot et celui adverse peut être estimée avec la taille de l'amas, mais cette technique n'est pas très précise et n'a pas été encore testée au club.