Bonjour à tous !
J'ai un gros problème sur un exo de triangulation.
Un robot est placé sur une piste dont les dimensions a et b sont connues. Il y a 3 balises qui émettent un signal vers le robot, ces balises sont placées comme sur le schéma à des distances connues. Grâce aux balises, le robot peut connaître les 3 angles (alpha, beta, gamma) qu'il y a entre chaque balise et lui-même.
En connaissant ces seules informations, je dois pouvoir localiser la position du robot sur le terrain (puisqu'il n'existe qu'une seule combinaison d'angles possible pour une position)
La question fatale :°) Comment ?
J'ai essayé en utilisant Pythagore généralisé, ça me donne un système de 3 équations à 3 inconnues, ces mêmes équations étant du 2nd degré, à résoudre par une méthode type pivot de Gauss mais ça me semble pas être la bonne soluce (les équations étant du 2nd et Pythagore généralisé utilisant des cosinus, il faut prendre en compte plusieurs combinaisons des cosinus de chaque angle (poisitif ou négatif) permettant d'avoir une solution à chaque équation du 2nd degré non inférieure à zéro ni imaginaire, bref sacrée galère)
Si il y a des gens assez fou pour tenter de résoudre ça, qu'ils n'hésitent pas
salut
Le problème est que ses formules demandent des distances que je ne connais pas.
effectivement
mais en posant x et y les abscisse et ordonnées du robot avec 0 < x < a et 0 < y < b
ça devrait bien se goupiller, non ? (je ne l'ai pas plus cherché que cela, juste un axe de recherche : ne m'en veux pas si ça n'aboutit pas... )
Philoux
J'ai réfléchi la-dessus hier soir et pas moyen de trouver une solution en passant par Al-Kashi, mais je me demandais si il n'y avait pas des formules liant les barycentres et les angles ?
bonjour
je modifie quelque peu les notations de ton énoncé
J'appelle X la largeur et Y la hauteur du champ d'évolution : X et Y sont donnés
J'appelle A, B et C les 3 balises :
A en haut à gauche de coordonnées (0,Y)
B en haut à droite de coordonnées (X,Y)
C en bas au milieu de coordonnées (X/2;0)
le robot est en M de coordonnées (x;y)
L'origine du repère est en O, le coin inférieur gauche
J'appelle enfin a=AM, b=BM et c=CM
Dans ABM, Al-Kashi donne : X²=a²+b²-2abcos(alpha)
soit A' la projection de M sur OA et B' la projection de M sur le bord vertical opposé
Dans AA'M : (Y-y)²+x²=a² => a=f(x,y)
Dans BB'M : (Y-y)²+(X-x)²=b² => b=g(x,y)
d'où cos(alpha) = ( (y-Y)²+(x-X/2)²-X²/4)/ab
Dans ACM, Al-Kashi donne : (Y²+X²/4)=a²+c²-2accos(beta)
soit C' la projection de M sur OC :
Dans CC'M : y²+(X-x)²=c² => c=h(x,y)
d'où cos(beta) = ( (y-Y/2)²+(x-X/2)²+(X²-2Y²)/8)/ac
On peut enfin écrire, dans CBM : BM²=Y²+X²/4
puis BM²=b²+c²-2bccos(alpha+beta)
et déduire cos(alpha+beta) en fonction de a,b,c,x et y
en triturant ces expressions et se servant de cos(alpha+beta)=cos(alpha)sin(beta)-cos(beta)sin(alpha)
celà s'arrange-t-il ?
Je n'ai pas le courage de terminer
Peut-être y a-t-il plus simple... ?
Philoux
Pente de RQ: (B-Y)/(A-X)
Phi = arctg((B-Y)/(A-X))
Pente de RS =(B-Y)/(-X)
Epsilon = Pi + arctg((B-Y)/(-X)) = Pi - arctg((B-Y)/X)
La somme des angles d'un triangle = Pi -->
Phi + (Pi - epsilon) + alpha = Pi
Phi - epsilon + alpha = 0
arctg((B-Y)/(A-X)) - Pi + arctg((B-Y)/X) + alpha = 0
arctg((B-Y)/(A-X)) + arctg((B-Y)/X) = Pi - alpha
tg[arctg((B-Y)/(A-X)) + arctg((B-Y)/X)] = tg(Pi - alpha)
[((B-Y)/(A-X)) + ((B-Y)/X)]/[1 - ((B-Y)/(A-X)).((B-Y)/X)] = -tg(alpha)
remise au même dénominateur et simplification -->
(AB-AY)/(AX-X²-B²-Y²+2BY) = -tg(alpha) (1)
---
Pente de TR = 2Y/(2X-A)
sigma = arctg(2Y/(2X-A))
La somme des angles du quadrilatère SRTO = 2Pi
Pi-sigma + (Pi/2) + epsilon - Pi/2 + beta = 2Pi
-sigma + epsilon + beta = Pi
-arctg(2Y/(2X-A)) + Pi - arctg((B-Y)/X) + beta = Pi
arctg(2Y/(2X-A)) + arctg((B-Y)/X) = beta
tg[arctg(2Y/(2X-A)) + arctg((B-Y)/X)] = tg(beta)
[(2Y/(2X-A))+((B-Y)/X)]/[1-(2Y/(2X-A))((B-Y)/X)] = tg(beta)
remise au même dénominateur et simplification -->
(2XY+B-Y)/(2X²-A-2BY+2Y²) = tg(beta) (2)
-----
avec (1) et (2), on a le système:
(AB-AY)/(AX-X²-B²-Y²+2BY) = -tg(alpha) (1)
(2XY+B-Y)/(2X²-A-2BY+2Y²) = tg(beta) (2)
où les 2 seules inconnues sont X et Y les coordonnées cartésiennes du robot dans le repère indiqué sur le dessin.
Il reste à résoudre ce système (mais après avoir corrigé les erreurs éventuelles mais hautement probables dans mes calculs).
-----
je vais tester tout ça demain, merci beaucoup pour votre implication
Salut, c'est encore moi
J'ai repris vos calculs mais ne suis malheureusement arrvié à un résultat exploitable ou à des équations résolvables (système de 2 équations du 4ème ordre à 2 inconnues)
Par contre, j'ai entrepris une autre méthode qui est de calculer Alpha et Gamma en fonction de x et y (le contraire de ce que je veux), ce que je suis rapidement arrvié à faire, puis de retourner les équation pour avoir x et y en fonction de Alpha et Gamma.
J'ai donc les 2 équations suivantes (en prenant comme origine pour x,y le bord inférieur gauche du plan) :
Alpha = Atan (x / (300 - y)) + Atan ((210 - x) / (300 - y))
Gamma = 180 + Atan ((x-105) / y) - Atan ((210 - x) / (300 - y))
Ces 2 équations fonctionnent, je les ai testé avec des plusieurs configurations de position.
Le problème se pose lorsque je tente de les inverser, j'arrive à un système de 2 équations du 2nd à 2 inconnues.
Je n'arrive pas à savoir quelle solution prendre (ex : x = (-b +- racine(Delta))/2a ) et réinjecter dans la 2 ème équation pour obtenir une unique combinaison de corrdonnées x,y étant la bonne.
Est-ce quelqu'un pourrait m'éclairer la-dessus ?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :