|
|
|
|||
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
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 :
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 | ||