Balises

De Pensée Profonde - Club de robotique
Aller à la navigation Aller à la recherche

Cette page présente un système de balise permettant au robot de connaitre la direction de points particuliers. Le système est composé de 2 types d'éléments :

  • une ou plusieurs balises émettrices qui agissent comme des phares. Elles seront nommées Balises TX.
  • une balise réceptrice recherchant la direction des balises émettrices. Elle sera nommée Balises RX.
Placement des différentes balises.

Dans le cadre d'Eurobot 2008 chaque équipe a la possibilité de placer des balises sur le robot adverse et sur les 4 supports de balises sur les bords du terrain. Le règlement impose plusieurs contraintes techniques au sujet des balises :

  • les balises doivent être autonomes concernant leur alimentation
  • les balises fixes doivent tenir sur une base carrée de 80mm de coté et peuvent avoir une hauteur de 160mm au maximum.
  • la balise embarquée doit tenir dans un cube de 80 mm d'arrête.


Balises TX

Les balises TX sont des émetteurs d'infrarouge modulé en amplitude. Elles servent ainsi de "phare". Chacune des balises émet un code unique et permet ainsi au robot de connaitre la direction d'un point particulier. Chaque balise doit tenir dans un cube de 8cm de coté et embarquer sa propre source d'alimentation.

Architecture

Chaque balise TX est réalisée autour d'un PIC 18F4520. Celui-ci génère le signal "complet", à savoir une porteuse modulée en amplitude selon un code défini par des dip-switch. Ce signal est amplifié par un transistor qui alimente une rangée de LED IR.

Signal

Le signal émis par les balises est relativement simple. Tout d'abord une porteuse à 56kHz est générée. Cette porteuse est modulée selon le code sélectionné. Afin de se différencier d'une source de lumière constante un "blanc" d'au moins 15ms doit être observé au minimum toutes les 90ms. Afin de simplifier l'implémentation chaque trame dure 20ms et toutes les 4 trames (80ms < 90ms) une 5e trame est ignorée (20ms > 15ms).

Exemple de signal transmis. Ici le code 4.

Chaque trame comporte 20 bits de 1ms. La trame est composée de deux séries de 1 séparées par deux 0. La seconde série est plus longue que la première de deux 1. La liste de base des trames valides est donc :

Tableau des codes valides
Nom Code
Code1 1oo111oooooooooooooo
Code2 11oo1111oooooooooooo
Code3 111oo11111oooooooooo
Code4 1111oo111111oooooooo
Code5 11111oo1111111oooooo
Code6 111111oo11111111oooo
Code7 1111111oo111111111oo


Il est possible d'augmenter le nombre de codes valides en réduisant l'espace entre 2 trames ou la différence de longueur entre 2 trames. Dans le cadre d'Eurobot 2008 il n'est pas possible d'avoir plus de 5 balises (contrainte du règlement : 4 fixes et 1 embarquée). La limite de 7 codes nous convient donc parfaitement.

Puisque seule la longueur des séries de 1 compte il est possible de répéter les codes les plus courts afin d'augmenter la réactivité et d'espacer les 2 séries de 1 pour améliorer la fiabilité. Ces changements n'influent en rien sur la partie réception. On obtiens alors ces codes équivalents aux précédents :

Tableau des codes alternatifs valides
Nom Code
Code1 1ooo111ooo1ooo111ooo
Code2 11oo1111ooo11oo1111o
Code3 111oooo11111oooooooo
Code4 1111oooo111111oooooo
Code5 11111ooo1111111ooooo
Code6 111111ooo11111111ooo
Code7 1111111oo111111111oo


Balise RX

La balises RX reçoit, démodule et analyse les signaux provenant de capteurs IR. Elle peut ainsi savoir dans quelle direction se trouvent les différentes balises. Ces informations sont stockées et disponiblent "sur demande" via I2C.

Architecture

La balise RX est réalisée autour d'un PIC 18F4520. Celui-ci décode les signaux en provenance de plusieurs récepteurs IR. Les récepteurs intègrent un circuit de démodulation correspondant à la fréquence de la porteuse (56kHz). Le PIC n'a plus qu'à analyser les signaux pour y découper des trames et comparer leurs longueurs afin d'identifier la balise.

Chaque capteur observe une zone plus ou moins large. Cela permet de localiser rapidement une balise à l'aide de capteur observant une zone large tout en gardant la possibilité de viser précisément un point avec un capteur observant une zone étroite.

Les capteurs utilisés sont des http://www.penseeprofonde.org/images/2/22/Pdf_icon.png Tsop18xx http://www.penseeprofonde.org/images/d/da/Info_circle.png, Tsop1856 dans notre cas. Leur réceptivité est très forte et évite donc d'avoir à émettre des IR de fortes puissances. On réduit ainsi les phénomènes de réflexion tout en réduisant la consommation des balises émettrices. Ils se chargent également de démoduler le signal ainsi que de filtrer les sources de bruits telles que l'éclairage.


Limites

Mélange

Du fait du codage utilisé il est quasi impossible pour la balise réceptrice de décoder le signal provenant de 2 balises en même temps. Ce cas peut par exemple se produire lorsque la balise embarquée sur le robot adverse, une balise fixe et le robot sont alignés. Le signal provenant des 2 balises se "mélangent".

Afin de réduire ce phénomène il est possible de modifier les codes afin que chacun d'eux soit répété moins souvent et de façon plus aléatoire. Ainsi on minimise le risque que 2 balises émettent aux même moment.

Il est également possible d'augmenter le nombre de récepteurs IR. Ainsi chacun d'eux observent une zone moins large et le risque de trouver 2 balises dans la zone diminue.

Précision

La précision de la mesure de direction dépend directement de la largeur de la zone observée par le récepteur IR. Afin d'augmenter la précision il faut augmenter le nombre de récepteurs IR.



Liens

Quelques liens vers des sites ou des documents traitant de la réalisation de balise ou de systèmes approchants.