|
Algorithm 1 Point-to-sphere ICP algorithm to estimate the position of the UWB tag |
-
1:
procedurepointToSphereICP()
-
2:
: anchors’ 3D positions
-
3:
: distances from the tag to the anchors
-
4:
t: starting estimate of the tag position, such as the last estimate or the very first time
-
5:
: smallest position update to iterate once more
-
6:
max_iter: maximum number of iterations to stop ICP
-
7:
, num_iter← 0
-
8:
while
) and (num_iter< max_iter) do
-
9:
getClosestPoints ▹ closest points obtained from Equation (1) and (2)
-
10:
▹ set of 3D translations required for each sphere
-
11:
mean_update ←average ▹ average update for each axis (from closed-form
-
12:
▹ solution of the underlying least-squares problem)
-
13:
mean_update ▹ update the 3D position of the tag
-
14:
norm(mean_update) ▹ L2 norm of the update vector
-
15:
num_iter ←num_iter+ 1
-
16:
end while
-
17:
return
t ▹ return the updated 3D position of the tag
-
18:
end procedure
|