mercoledì 8 marzo 2023

Posizione date le distanze da due punti conosciuti

 Un problema che si ha con il posizionamento decawave e' quello di ottenere la posizione (coordinate) data la distanza da due punti conosciuti

Alla fine il problema si riduce ad ottenere gli angoli di un triangolo di cui sono conosciute le lunghezze di tutti i lati


diciamo che il lato A sia la distanza tra i due anchor mentre C e B sono le distanze del tag rispetto ai due anchor

Tutti i lati possono essere riscritti come

A = Ccos(alfa)+Bcos(beta)

B = Acos(beta)+Ccos(gamma)

C=Acos(alfa)+Bcos(gamma)

si tratta si un sistema di tre equazioni con 3 incognite e quindi risolvibile. Per semplice sostituzione si arriva alla fine che

cos(beta) = (A*A)+(B*B)-(C*C)/2AB

cos(alfa) = (A*A)+(C*C)-(B*B)/2AC

cos(gamma) = (B*B)+(C*C)-(A*A)/2BC

a questo punto abbiamo tutti gli angoli. Si puo' spostare un anchor sulle origine degli assi e ruotare gli assi in modo che il secondo anchor sia in coordinata (x2,0)

A questo punto le coordinate incognite del punto tra B e C sono

X = Bcos(alfa)

Y = SQRT(1 - cos(alfa)*cos(alfa))





Nessun commento:

Posta un commento

Dockerizza Flask

Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...