thaytan / OpenHMD

Free and Open Source API and drivers for immersive technology.
Boost Software License 1.0
137 stars 12 forks source link

Pose matching: Match the gravity vector of the HMD #12

Closed thaytan closed 3 years ago

thaytan commented 4 years ago

Given gravity vectors from the IMU, we can make sure that the extracted poses all align the gravity vector in (approximately) the same direction to reject obviously wrong poses. The CV code usually manages to match the HMD most strongly, so if we get a really good pose for the HMD we can use that to sanity check the controllers.

thaytan commented 3 years ago

This was somewhat implemented in 7f2a7d3ab3be69376fe05f50a8758941b0423a2f, but will need re-visiting later

thaytan commented 3 years ago

An improved implementation of this idea is in b35e5e94bd1e31668b93e541a6fe9be351c694a5 and 3b586b913cace4dcc2074f90afa42b8aab94c09e

thaytan commented 3 years ago

Discovered that I actually completely broke this in https://github.com/thaytan/OpenHMD/commit/b35e5e94bd1e31668b93e541a6fe9be351c694a5, but it's working now (as of ed1c530c95aad70ed76e02345a8f3e119635e2e8) and really helps