<< The Fribotte Homepage >>
Un club de passionnés en robotique participant à la coupe de France E=M6.
[Accueil] [Qui sommes-nous ?] [Robots] [Coupe e=m6] [BD Technique] [Forum] [Reportages] [Liens] [WiKiFri]

Fribotte



 Introduction

Cette fiche est une contribution de Fifounet, grand maître de la Coupe de France de Robotique ;-)
Elle est issue de son site perso et a été complétée par les Fribottes.
Les fribottes vous proposent aussi une application concrête avec leur propre système de balise.

Les balises sont des repères fixes ou mobiles qui permettent au robot de se repérer dans son environnement.
L'objectif de cette fiche est de donner un aperçu de différents systèmes de balises, ainsi que des informations théoriques nécessaires à leur utilisation. Certaines remarques sont propres à la Coupe de France de Robotique, il faut donc les resituer dans leur contexte. Les systèmes décrits peuvent néanmoins être utilisés pour d'autres applications robotiques.

Vous trouverez dans cette page :



 Les différents types de balises
Systèmes mono / multi balises
Il existe 2 sortes de systèmes de balises qui correspondent à des applications spécifiques :

Les systèmes mono-balise :

Le robot n'utilise qu'une seule balise. Cela limite très souvent à une seule information (direction ou distance), mais c'est le système le plus simple à mettre en oeuvre (peu ou pas de calcul).

Les systèmes multi-balises :

Le robot utilise deux ou trois balises et peut donc trianguler pour calculer sa position grace aux multiples données recues. Les calculs de triangulation sont décrit plus bas dans cette fiche.
Balises simples / balises actives
Il existe également plusieurs technologies de balises :

Les balises simples :

Ce sont de simples réflecteurs qui reflètent le signal envoyé par le robot ou bien des amers (points de repères) qui sont repérés par un système de vision.

Mono-balise simple

Mono-balise simple
Multi-balises simples

Multi-balises simples

Les balises actives :

Ces balises contiennent de l'électronique qui transmet un signal aux récepteurs du robot.

Exemple 1 : Les balises actives lumineuses
Mono-balise active lumineuse

Mono-balise active lumineuse
Multi-balises actives lumineuses

Multi-balises actives lumineuses
Exemple 2 : Les balises actives sonores
Multi-balises actives sonores

Multi-balises actives sonores

Les balises bi-actives :

Ces balises associent plusieurs principes de mesure.
Multi-balises bi-actives

Multi-balises bi-actives
Multi-balises bi-actives

Multi-balises bi-actives

La balise embarquée :

Balise embarquée

Balise active embarquée

Les balises intelligentes :

Ce type de balise est capable d'envoyer au robot des informations enrichies ne se limitant pas à un simple top, mais plutôt un signal complexe contenant des informations (direction, position) qui vont donc simplifier la tache du robot en terme de calcul.


 La triangulation avec des balises
Les formules de base
Les calculs de triangulation sont principalement des calculs de géométrie. Vous trouverez ci-dessous les principales formules applicables dans un triangle quelconque pour vous raffraichir la mémoire avant de vous lancer !

LES FORMULES DU TRIANGLE QUELCONQUE

d(Bd,Bg) /(sin(a0r)) = 2*R

d(0r,Bg) /(sin(aBd)) = 2*R

d(0r,Bd) /(sin(aBg)) = 2*R

R est le rayon du cercle contenant les 3 sommets du triangle

d(Bd,Bg)2 = d(0r,Bd)2 + d(0r,Bg)2 - 2*d(0r,Bd)*d(0r,Bg)*cos(a0r)

d(0r,Bd)2 = d(Bd,Bg)2 + d(0r,Bg)2 - 2*d(Bd,Bg)*d(0r,Bg)*cos(aBg)

d(0r,Bg)2 = d(Bd,Bg)2 + d(0r,Bd)2 - 2*d(0r,Bd)*d(0r,Bd)*cos(aBd)

La somme des angles d'un triangle = PI (180°)

Que mesurer ?

Dans le cadre du concours de robotique, 3 balises sont disposées sur le terrain à des positions fixes et connues. Les balises ainsi que le robot sont représentés sur le schéma ci-contre.

Les distances d(Bd,Bg), d(Bg,Bc), d(Bc,Bd) entres les balises sont donc connues.

Pour calculer la position du robot par rapport à ces balises il est nécessaire de mesurer :

  • les angles aBdBc, aBcBg et aBgBd entre les balises vus par le robot

    ou

  • les distances d(0r,Bd), d(0r,Bc), d(0rBg) entre le robot et les balises

    ou

  • des combinaisons des angles et des distances.
Balises fixes et robot mobile
Balises fixes et robot mobile
La mesure des angles

L'avantage de cette méthode est de donner à la fois

  • la position (x,y) du robot
  • la direction du robot par rapport aux balises

Ses inconvénients principaux sont

  • d'abord qu'elle demande une mécanique de précision pour la mesure des angles (moteur pas à pas, capteur de position),
  • ensuite qu'il faut obligatoirement détecter les 3 balises pour trianguler.

La mesure des distance

L'avantages de cette méthode est qu'elle nécessite pas de lourde mécanique. Il faut juste une oreille au robot. De plus, on est capable de trianguler avec 2 mesures de distance (2 balises).

Son inconvénient est que ce type de mesure donne la position du robot mais pas son orientation par rapport aux balises.

Choix du système de référence (origine)
Pour pouvoir effectuer les calculs de position, il faut d'abord choisir un repère de référence et notamment une origine.

 Il existe deux possibilités de choix pour le point de réference des coordonnées (x,y) de ce système.

  • Le centre de rotation du robot est en (0,0) et tout l'environnement tourne autour.

    - avantage : on peut évoluer dans un environnement illimité

    - inconvénient : il y a beaucoup de points à gérer, il faut donc une puissance de calcul suffisante sur le robot

  • Un point précis de l'environnement est pris comme origine (exemple : balise droite) et on calcule uniquement la position du centre de rotation du robot par rapport à ce point.

    - avantage : il n'y a qu'un seul point à calculer

    - inconvénient : il faut toujours garder ce point en mémoire

Dans le cadre des concours de robotique l'environnement est limité à l'aire de jeu et les 2 possibilités sont utilisables.

Formules avec mesures de distance
Dans cet exemple, on n'utilise que 2 balises. On place l'origine O du repère sur la première balise. Et on cherche les coordonnées (x,y) du robot.


Schéma pour calcul avec distances

d'où


On ne peut déterminer le signe de y avec ces seules informations. Dans le cas de la coupe de robotique, les balises étant souvent placées en bord de terrain, le robot ne peut les dépasser et y est positif. Si le robot peut passer de l'autre côté des balises, il faudra soit une troisième balise non alignée avec les premières pour trouver la position exacte de y, soit recouper les résultats des balises avec d'autres informations venant du robot.
Cette méthode ne donne pas non plus la direction du robot.
Formules mixtes avec mesures de distance et d'un angle
Dans cet exemple, on n'utilise également que 2 balises, mais le système donne en plus des distances d1 et d2 du robot aux balises, l'angle teta entre l'avant du robot et une balise. On utilise la même méthode qu'au paragraphe précédent pour trouver la position du robot, mais on cherche également cette fois-ci l'orientation du robot : l'angle phi entre l'avant du robot et l'abcisse du repère.

Schéma pour calcul avec distances
Connaissant x et y on trouve phi :


 La pratique
Les conseils pour l'utilisation des balises
Particularités de la coupe de robotique

Lors des rencontres, j'ai entendu beaucoup de gens dire :"Nos balises marchaient bien au labo, mais le jour de la coupe elles n'ont pas fonctionné!"

Les causes les plus fréquemment identifiées sont :

  1. "pas eu le temps de finir"
  2. MURPHY
  3. pas de chance
  4. les piles
  5. un des gars de l'équipe qui a fait une connerie
  6. "je sais pas"
  7. "ce con de robot"
  8. "l'autre con de robot en face"
  9. le temps de calcul
  10. le reset du microcontrolleur
Mais il reste l'ennemi le plus sournois qui apparaît seulement le jour des qualifications ou pire à la finale : L'ENVIRONNEMENT D'UN PLATEAU DE TELEVISION !
Ce qui veut dire :
  • l'éclairage puissant
  • le bruit ambiant
  • la HF des talkies-walkies

La balise idéale n'utilise donc pas:

  • les infra-rouges perturbés par les projecteurs,
  • les ultra-sons à 40 KHZ perturbés par la foule en délire et les auto-focus des camescopes,
  • les modules MIPOTs à 433 MHZ perturbés par les talkies-walkies et les modules des autres robots

Par contre pourquoi ne pas utiliser :

  • le laser,
  • les Diodes led à haut rendement (minimum 10)
  • le tube à éclat (détection du rapport cyclique)
  • les fréquences DTMF utilisées en audible
Plus généralement

L'autre problème des balises vient de la perte de données, pendant la mesure des angles (si une balise est cachée) ou la mesure des distances (par exemple perte d'un écho US) qui annule la possibilité de calcul et de recalage ou bien restitue un résultat faux.

Le système de balise idéale effectue donc plusieurs mesures (quasi simultanées ou pour un déplacement du robot très très faible) afin d'offrir un ou plusieurs résultat que l'on peut comparer et traiter par moyenne, élimination des extrêmes, etc...

Bien sûr j'entends des hurlement de protestation sur le temps de calcul, mais sans rentrer dans le calcul de filtres de KAHLMAN et de fusion multi-capteurs, il est possible de faire un petit traitement préalable des différentes données récupérées.

On récupere un maximum de données dont on teste la validité :

- Les angles aBdBc, aBcBg et aBgBd et les distances d(0r,Bd), d(0r,Bc), d(0rBg)

Parmis les 64 cas de figure on selectionne les plus efficaces, qui donnent des résultats probants et on les associe aux formules du triangle quelquonque qui utilisent ces "mesures validées" pour calculer la position du robot.

Exemple : A l'instant t mon système de balise reçoit "angleBdBc, d(0r,Bc), d(0r,Bd)" mais les autres mesures ne sont pas valides (pas détectées, perdues, distance > 3M, impossibilté,...).
Le programme se rend dans le sous-programme où se trouvent les équations du triangle qui utilisent "angleBdBc, d(0r,Bc), d(0r,Bd)" comme inconnues, et résoud les équations pour trouver les coordonnées du robot.

Autre exemple : A l'instant t2 mon système de balise reçoit "angleBdBc, angleBcBg, d(0r,Bg), d(0r,Bc), d(0r,Bd)". Il est possible de passer par plusieurs sous-programmes de calcul des inconnues, de stocker les résultats dans un fichier et de supprimer les extrêmes pour ensuite faire une moyenne.

On obtient ainsi un résultat d'une plus grande précision car confirmé par plusieurs capteurs et calculs.


Complétez cette page, posez vos questions et remarques ici : WiKiFri

Page http://fribotte.free.fr/bdtech/Balises_theorie/balises_theorie.html modifiée le 14/10/2002.
Copyright fribotte@free.fr, libre de droit pour toute utilisation non commerciale.
Reproduction autorisée par simple mail