#triangulation #positioning #beacon #difference #distance #position #three

no-std distance_difference_triangulation

Position triangulation from differences of distances

3 releases

0.3.2 Apr 8, 2024
0.3.1 Apr 6, 2024
0.3.0 Apr 6, 2024

#700 in Algorithms

Download history 328/week @ 2024-04-05

328 downloads per month

MIT license

36KB
630 lines

Distance Difference Triangulation

Docs.rsLib.rsCrates.io

This crate consists of exactly one function: distance_difference_triangulation.

The premise is as follows: You are at some unknown position in 2D space. There are three beacons. You do not know the distances to these three beacons, otherwise you could just do normal triangulation and be done with it. But you do know the differences between the distances to these beacons. You also know the distances between the beacons themselves. From this information, the function this crate provides computes your position, relative to the coordinate system defined by the beacons.

In mathematical terms:

Your unknown position is (x,y).

The unknown distances to the three beacons are d0, d1 and d2.

You do know dd01 = d0 - d1 and dd02 = d0 - d2 (and also dd12 = d1 - d2, but that's redundant).

You also know the distances between the beacons d01, d02 and d12.

The function of this crate computes for you your position in the coordinate system where beacon 0 is at (0,0) and beacon 1 is on the x axis.

See also triangulation_from_dist_diff.

No runtime deps