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 :
- "pas eu le temps de finir"
- MURPHY
- pas de chance
- les piles
- un des gars de l'équipe qui a fait une connerie
- "je sais pas"
- "ce con de robot"
- "l'autre con de robot en face"
- le temps de calcul
- 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.
|