As in any incremental development, we tried to get a simple working version to characterize it and improve it accordingly.
HTC Vive system consistency
The 1st step was to verify that we can measure a coherent 10 mm translation wherever we are in our interaction zone.
We used a CNC to sample positions along a line that can be seen in the following video:
As represented in the picture below, we moved the CNC on 7 locations to have a reasonable overview:
You probably saw it coming, the HTC Vive positioning system is not linear depending on the bases placements.
It makes sense, and it's actually OK as a distortion map can be estimated, and real positioning can be predicted from it.
A better filter characterization will be published soon, but the below measures were captured for the position #3 and #6, they show the measured noises in average, depending on the chosen algorithm:
You might have noticed that in our current Madgwick and Kalman implementations, their performance is complementary depending on the distance.
Overall, the accuracy can be estimated below 1 mm when far from the bases, and around 0.5 mm when close to the base.