Vous êtes ici : Home > Fiches Techniques > Triangulation : La théorie

 

TRIANGULATION: LA THEORIE

Cette fiche technique  s'inscrit dans le cadre de la coupe E=M6. En effet chaque année, le règlement prévoit 3 emplacements pour les balises dans chaque camp. Le but est de se servir de ces balises pour permettre au robot de se localiser. 

Les Fribottes ont déjà aborder le problème, ils fournissent les calculs en partant du principe que sont connues les distances Robot - Balises (cf fribottes). Nous, nous ferons une autre hypothèse : supposons que l'on dispose d'un système permettant de mesurer les angles alpha et béta (cf schéma), on cherche à en déduire X et Y.

 

 
 
oRappel de géométrie

Pour résoudre ce problème géométrique, quelques relations vont nous servir:

FORMULE D AL KASHI

Dans le triangle quelconque RBgBd, on a les relations suivantes

  1. L² = RBd² + RBc² - 2RBd.RBc.cos(alpha)

  2. L² = RBc² + RBg² - 2RBc.RBg.cos(béta)

FORMULES DES SINUS

L/sin(alpha) = RBc/sin(Bd)

L/sin(béta) = RBc/sin(Bg)

FORMULES DE PYTHAGORE

RBd² = X² + (2L-Y)²

RBc²= X² + (L-Y)²

RBg² = X² + Y²

 

 
oCalcul: étape 1
 

Avec ces trois relations, il s'agit de trouver une formule qui donne X et Y en fonction d' alpha et béta:

on sait que sin(Bd) = X / RBd et que sin(Bg) = X / RBg, en remplaçant dans la formule des sinus, on trouve :

RBc.RBd =  (L.X / sin(alpha) et RBc.RBg = (L.X / sin(beta) ).

On peut alors remplacer les produits RBc.RBd  et RBc.RBg dans la formule d Al Kashi:

En remplaçant RBd², RBg² et RBc², on obtient :

  1.  L² = X² + (2L-Y)² + X² + (L-Y)² - 2. (L.X / sin(alpha).cos(alpha)

  2.  L² = X² + (L-Y)² + X² + Y² - 2. (L.X / sin(beta) ).cos(beta)

En faisant (1-2) on trouve:

X = (2/T).(Y-L) 

avec T = (cos (BETA)/sin(BETA)) - (cos (ALPHA)/sin(ALHA))

Nous disposons donc d'une première relation liant X,Y et Alpha,Beta. Il en faut une seconde:

 

 
oCalcul: étape 2
 

Comme me l'a fait si justement remarquer Mr G.Tetu (Ingénieur en Traitement d image), il est intéressant de s' intéresser aux tangentes:

soit beta' l angle tel que tan(beta') = Y/X et alpha' l angle tel que tan(alpha') = (2L-Y)/X

On a (alpha' + beta') = (alpha + beta). 

En se servant de la relation tan(a+b) = (tan a + tan b) / (1-tan a . tan b),

on peut affirmer que :

TAN (ALPHA + BETA) = (2.X.L) / (X² - Y(2L-Y))

 
oCalcul: étape 3
 

Il suffit d'injecter le X trouvé à l'étape 1 dans la formule précédente, et on trouve :

a.Y² + bY + c = 0

a = (4+T²)*(t/T)

b = (-2L/T²).(4+T²).t - 4.L/T

c = (4.L².t)/T² + 4.L²/T

t = Tan(Alpha+beta)

T = (cos (BETA)/sin(BETA)) - (cos (ALPHA)/sin(ALHA))

Cette équation du second degré linéaire en Y se résout par la méthode classique du discriminant, on trouve alors une ou deux valeurs pour Y. En remplaçant dans le résultat du calcul de l'étape 1, on trouve un ou deux couples X,Y. Le couple valide est celui pour lequel X et Y sont positifs.

 
oCas particulier
 
Les formules précédentes ne s'appliquent pas dans le cas particulier ou alpha=beta (divisions par zéro), mais ce cas est traitable autrement, en effet, dans ce cas, on peut affirmer que Y = L, et que Tan (alpha) = Y / X

d ou X = L / Tan (alpha).

 
oOrientation du robot
 On connaît donc les angles Alpha et Beta et la position (X,Y) du robot. De plus, le système qui mesure alpha et beta peut fournir l'angle qu'il a dû parcourir pour trouver la première balise, appelons TETA cet angle.

Il reste à connaître l'orientation du robot (par exemple, par rapport a l'horizontale). Soit PSI cet angle. 

On a alors :

 PSI = PI - TETA - ArcTan(X/Y)

Il reste maintenant à concevoir un système fiable pour mesurer alpha et beta .

oQuelques l liens
 
Les fribottes proposent une autre méthode en partant du principe que les distances robot-balises sont connues, cette méthode est décrite dans leur base de données techniques.
oContact
 
Pour toutes questions envoyer moi un mail: Matthieu