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

ESP32-2432S028R e LVGL

La scheda ESP32-2432S028R monta un Esp Dev Module con uno schermo TFT a driver ILI9341 di 320x240 pixels 16 bit colore.Il sito di riferiment...