mdovgialo / OpenVRSharedPlayspace

Tool to visualise where you IRL playmates are in Steam VR, if you use the same Lighthouses to drive all HMDs.
MIT License
10 stars 0 forks source link

Calibration for different systems #1

Open mdovgialo opened 6 years ago

mdovgialo commented 6 years ago

Make it so WMR would work with Vive...

mdovgialo commented 6 years ago

Some info from DoC_OK:

Rift and Vive in the same space are fine, I've tested that. WMR and Rift are no problem, and WMR and Vive should work, too -- I will test that soon.

A calibration procedure between two tracking systems is pretty simple. Zip-tie or rubber-band one controller from each tracking system to each other, and move the bundle through space while recording tracking matrices from all controllers.

Then solve the over-determined linear system Ai I = E Bi, where (Ai, Bi) are corresponding tracking matrices from the two systems, I is the (unknown) intrinsic matrix describing how the two controllers are tied to each other -- which you can forget once you're done -- and E is the (unknown) extrinsic matrix calibrating the two tracking systems to each other.

mdovgialo commented 6 years ago

Want to add, though, that in order to do the matrix multiplications as indicated, you need to (implicitly) augment all 3x4 matrices, including I and E, with a (0, 0, 0, 1) fourth row.