Le javascript est désactivé sur votre navigateur
 
Prononcer /'po.bot/
Accueil du siteNos réalisationsBalises de localisation
  publication inférieure à 7 jours
  publié < 7j sous cette rubrique
     
À propos de l'article
    Publié le 5 mars 2008
    par Daniel

    Mis à jour le 26 février 2012
Choisir votre langue :

Capteur IR circulaire (2008)

Voici un beau projet à la fois électronique et informatique. Pour une fois l’objectif n’est pas de détecter notre position sur le terrain mais de détecter un adversaire, par approximation de sa distance et de sa direction.

 Constitution de la carte

Introduction

Nous utilisons pour le système d’évitement du robot adverse, un mécanisme constitué d’une balise de localisation mobile positionnée sur l’adversaire et d’un capteur placé sur notre robot. Leur utilisation dans le règlement est optionnelle. Ils deviennent nécessaires pour notre système d’évitement.

Les contraintes sur les balises sont indiquées dans la section 5 du règlement. Nous les résumons dans la liste suivante :

- dessous des balises recouverts de Velcro
- la balise de localisation mobiles entre dans un cube d’arête 8 cm et est positionnée à une hauteur de 43 cm sur le robot adverse
- le capteur est situé à une hauteur de 35 cm sur notre robot

A. Balise de localisation du robot adverse (émetteur)

Deux NE555 montés en monostable pour l’émission à une fréquence fixe. Un NE555 monostable commandé par un microcontrôleur pour l’émission d’une trame encodée.

Voici le schéma :

Voici le typon :

Emetteur (image de synthèse)

Voici le fichier pour le logiciel Eagle de CAD pour circuits électroniques.

Typon Eagle de l’émetteur

B. Capteur positionné sur notre robot (récepteur)

Microcontrôleur Propeller de Parallax.

16 capteurs IR à 36KHz + 16 capteurs IR à 33KHz

Récepteur en image de synthèse
Récepteur (côté cuivre)

Voici également le typon :

Typon Eagle du récepteur

 Protocole d’utilisation

Esclave I2C à l’adresse 0xA0. Mode lecture immédiate. Mode de commande.

 Photos des balises

L’émetteur. Posé sur le robot adverse, il tient dans un cube de 8x8x8 cm de côté.

Emetteur balise 2008
posée sur le robot, elle "arrose" en IR pulsé à une fréquence fixe.

Le récepteur. Sur le mat de notre robot.

Récepteur (vue de côté)
Deux rangées superpposées de 32 récepteurs IR disposés en cercles

 Code source

Voici le code "spin" du Propeller de Parallax. Il s’agit d’un langage proche de l’assembleur mais spécifique à ce microcontrôleur à 8 coeurs. En particulier on peut déclarer 8 programmes indépendants (les PUB).

Code spin / propeller de la balise

Mais nous avons également fait une version pour ATmega, suite à quelques incidents avec le Propeller (paix à ses circuits) :

Code AVR pour ATmega
 
Répondre à cet article
Vous avez aimé cet article ? Merci de nous recommander !
Commentaires :
  1. swolf
    samedi 25 février 2012 à 14:55
    Répondre Fil de discussion
    Il y a un truc que je ne comprend pas : vous dites monter les 555 en monostable alors qu’ils semblent (sur le schéma) l’être en astable...
  2. Julien H.
    dimanche 26 février 2012 à 09:47
    Répondre Fil de discussion
    Bon sang mais c’est bien vrai ! On mène l’enquête... merci pour cette remarque, je corrigerai après confirmation de nos électroniciens chevronnés.
  3. HAMZA
    lundi 30 janvier 2012 à 10:45
    Répondre Fil de discussion
    J’aimerais savoir si ces balises infrarouge peuvent être utiliser pour la localisation du robot sur le terrain si on met les balises d’émissions posé sur le bord du terrain , donc je peut utiliser le principe de triangulation pour déterminer les coordonnées(X,Y) , et si c’est possible est ce que c’est une bonne solution au niveau de précision
  4. Julien H.
    jeudi 2 février 2012 à 09:18
    Répondre Fil de discussion

    Bonjour,

    Non ces balises ne permettent pas de faire une triangulation.

    Les algorithmes peuvent être calibrés pour 1 balise émettrice, afin de donner un cap et une estimation de distance, mais ce sera trop complexe pour gérer 2 balises émettrices.

    Enfin, tout est possible, suffit d’avoir le temps pour essayer :)