Balises
Cette page présente un système de balise infra-rouge permettant au robot de connaitre la direction de points particuliers.
Principe et Objectifs
Le système est composé de 2 types d'éléments :
- une ou plusieurs balises émettrices qui agissent comme des phares (comme celui d'Alexandrie). Elles seront nommées Balises TX.
- une balise réceptrice recherchant la direction des balises émettrices. Elle sera nommée Balises RX.
La principale utilisation de ces balises est la recherche de points particuliers tels qu'un but ou un panier. Une fois l'orientation déterminée il est facile pour un robot de se diriger vers ce point ou d'y lancer une balle.
Plusieurs balises TX peuvent être exploitées en même temps. Chacune d'elle émet un code différent que la balise RX sait interpréter.
Eurobot
Dans le cadre d'Eurobot chaque équipe a la possibilité de placer des balises sur le robot adverse et sur les 3 (ou 4 selon les années) 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.
Le 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é.
Ce principe permet de se protéger des parasites tels que la lumière ambiante ou un flash d'appareil photo. Il permet également de transmettre une information simple : le code de la balise.
Les capteurs utilisés pour la balise RX impose certaines contraintes concernant le signal. Par exemple un "blanc" (absence de signal) d'au moins 15ms doit être observé au minimum toutes les 90ms pour éviter d'être confondu avec une source lumineuse parasite. Afin de simplifier l'implémentation chaque trame dure 20ms et toutes les 3 trames (60ms < 90ms) 2 trames sont ignorées (40ms > 15ms).
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 :
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 :
Nom | Code |
---|---|
Code1 | 1ooo111ooo1ooo111ooo |
Code2 | 11oo1111ooo11oo1111o |
Code3 | 111oooo11111oooooooo |
Code4 | 1111oooo111111oooooo |
Code5 | 11111ooo1111111ooooo |
Code6 | 111111ooo11111111ooo |
Code7 | 1111111oo111111111oo |
Balises RX
Les balises RX sont composées de 2 parties :
- des récepteurs IR répartis sur 360°.
- un PIC 18F4520 analyse les signaux reçus et effectue les recherches sur demande.
Les récepteurs sont des TSOP1856. Ils ont la particularité d'intégrer l'électronique de démodulation et de filtrage dans un boitier de la taille d'un petit pois. Autre particularité: leur grand angle de réception. Celui s'avère être un inconvénient dans notre utilisation et il est indispensable d'adjoindre un cache afin de découper le champ de vision.
Balises TX
Les balises TX sont des émetteurs d'infrarouge modulé en amplitude. Chacune des balises émet un code unique permettant à la balise RX de les différencier. Ainsi il est possible de connaitre la direction d'un point particulier.
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.
Recherche d'une balise
La recherche d'une balise se fait très simplement via i2c.
- La première étape consiste à indiquer le code recherché à la balise RX. Pour cela il suffit d'envoyer un octet contenant ce code. Par exemple le 7 : 0b00000111
- A la détection d'une écriture la balise déclenche la recherche et stock le résultat dans son buffer d'émission i2c. Dés lors chaque lecture renverra un octet contenant le résultat de la recherche. Chaque bit de cet octet correspond à un capteur et s'il est à 1 indique une détection.
Limites
Combinaison de 2 signaux
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 se produire lorsque la balise embarquée sur le robot adverse, une balise fixe et le robot sont alignés. Les signaux provenant des 2 balises se "combinent" rendant la détection de trame impossible.
Afin de réduire ce phénomène nous disposons de plusieurs solutions simples:
- modifier la séquence d'envoi des trames afin de minimiser le risque que 2 balises émettent aux même moment. Les signaux ne sont plus brouillés mais on ne détecte qu'une des 2 balises alignées.
- 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.
- Etude d'un système de positionnement pour Eurobot, très orienté UltraSon http://www.penseeprofonde.org/images/2/22/Pdf_icon.png Version locale http://www.penseeprofonde.org/images/d/da/Info_circle.png
- Etude d'un système de positionnement pour Eurobot, très orienté Laser http://www.penseeprofonde.org/images/2/22/Pdf_icon.png Version locale http://www.penseeprofonde.org/images/d/da/Info_circle.png
- Schéma de radar infrarouge
- Balises Fribotte
- http://www.penseeprofonde.org/images/2/22/Pdf_icon.png Datasheet des Tsop18xx http://www.penseeprofonde.org/images/d/da/Info_circle.png
- Balises Robroller
- Balise Polulu
- Projet de télécommande pour PC sur port parallèle
- Infrared circuits for remote control Infra/radio remote control transmitter/receiver with PIC
- Une télécommande pour pour PC équipé d'une alim ATX