<aside> 💡 GitHub Repo of the ICP

</aside>

UniBZ_Thesis_2023/programs/ICP at main · Sebo-the-tramp/UniBZ_Thesis_2023

🚚 How it works?

To align the points from the frame of reference of the HMD with the frame of reference of the cameras, an algorithm that calculates the transformation matrix between the two frames of reference is needed. Mathematically a transformation matrix has two main components: a rotation matrix and a translation vector. The rotation matrix is a 3x3 matrix that represents the rotation of the frame of reference with respect to the world frame of reference. The translation vector is a 3x1 vector that represents the translation of the frame of reference with respect to the world frame of reference. Mathematically the transformation matrix can be expressed as follow:

Untitled

🚀 What is on the repo?

The repo consists of a proof of work of the algorithm with random data and random noise, in order to test the algorithm.

The script “calib.py" is the main module of the repo.

More on the inner working of the program can be found on the thesis.

Pseudocode

  1. A roto-translation matrix is manually generated.
  2. A set of data is generated
    1. The generated data are the base
    2. Another set is computed using the previous set and the roto-translation, (some noise might also be added)
  3. Another Roto-translation is computed by using the two data-sets.
  4. Then the two roto-translation matrixes are compared, and they should be as close as possible, and the first one is the ground-truth to be compared to.

NOTE: Some noise can be added and the quantity of the noise, can be adjusted. Also the ICP should be tested also with real-data.

🧭Installing

TO be done.

Install requirements.txt with pip.