OpenVR-SpaceCalibrator icon indicating copy to clipboard operation
OpenVR-SpaceCalibrator copied to clipboard

Feature request: Position scaling parameter

Open Frostion opened this issue 5 years ago • 17 comments
trafficstars

In addition to the X/Y/Z translation and rotation parameters already available in Space Calibrator, X/Y/Z position scaling/multiplation parameters would be very useful.

In my particular case, my WMR headset seems to under-detect position movement, so the farther I walk away from the location I calibrated at, the less accurate the positions of my Vive trackers get in relation to my head and hands. The only way to really fix this would be to have the ability to scale down the lighthouse playspace.

Frostion avatar Aug 04 '20 14:08 Frostion

Interesting, that can definitely be implemented. It can probably be auto-calibrated as well, I just assumed this wouldn’t be necessary.

pushrax avatar Aug 09 '20 20:08 pushrax

I think I also have this problem with my HTC Vive/stock controllers and my Samsung Odyssey+. the calibration seems really good when at the original point the calibration stopped, but when I spin or move across my space, the controllers shift some.

sundansx avatar Aug 24 '20 05:08 sundansx

Hey guys, I also had really bad "tracking drift" when using WMR with Steam VR tracking. I also thought this was due to the tracking systems not detecting movement the same, however, I finally realized the actual problem was that my Pitch and Roll values were not being detected entirely accurately, resulting in the two tracking planes being misaligned.

If you're experiencing bad tracking drift, check what your Pitch and Roll values are set to, and try rounding them to the nearest 45 degrees (i.e. if your Roll is -174.something, change it to -180, same for Pitch; make sure to respect whether it is a negative or positive number!). That may fix your problem, or at least dramatically improve it.

It could also help to change your Yaw in the same way, but before doing that try rounding your Pitch and Roll, and then manually re-aligning your controllers. The Yaw adjustment may not be necessary.

Nagorak avatar Dec 02 '20 16:12 Nagorak

I will add that even with everything dialed in, location tracking does vary slightly between the two systems, so some sort of scaling parameter would still be quite useful.

Nagorak avatar Dec 04 '20 03:12 Nagorak

What's the state of this? Considering getting index controllers for reverb g2 and this looks troubling.

Amtrix avatar Jan 12 '21 01:01 Amtrix

In my experience, it works well enough to not be a problem, provided you have the pitch and roll values dialed in 100%. I've been running with Index Controllers/Vive Wands with my Reverb, and while there is technically some minor drift, it's not enough to matter in actual use.

Nagorak avatar Jan 12 '21 11:01 Nagorak

The problem seems to vary per WMR headset as shown in closed issue #45 (was merged with this one by Pushrax). Some people with WMR headsets have no noticeable scaling issue while others express seeing the same issue in their setups. My odyssey has little scaling problems, but my G2 has bad scaling issue.

https://youtu.be/l2jhvU0e-4Q

Issue #45 shows everything attempted to mitigate the issue, including Pitch/Roll tweaking via manual settings. Unfortunately I have not found anyway to remediate it via software, settings, or environment changes. The fact that my odyssey displays a much lower scaling error tells me its something hardware related. Hopefully the "old code" that Pushrax referenced in issue #45 might alleviate this issue for the people who have it/notice it.

jgr526 avatar Jan 12 '21 15:01 jgr526

+1 for me. Tried manually calibrating to get it perfect but as soon as I start walking around my play space it starts drifting. As someone has stated earlier it is super obvious if I go in the center put my hands out in front of me, and spin in a circle, controllers start oscillating towards and away from me.

eclair4151 avatar Jan 17 '21 18:01 eclair4151

I also have this same issue with very significant controller drift when I move away from the center of my play space. What's weird is that I didn't have it for the first few days I set it up but since last night, it's constant.

After recalibrating, the drift will usually occur at a slightly different angle but to about the same extent.

I tried Nagorak's solution with the pitch/roll values but that didn't have any impact on the drift in my case.

Kevin-Lewis avatar Jan 24 '21 21:01 Kevin-Lewis

@pushrax sorry to be a pain but any ideas on when we might expect a potential build with this :D I think this option would really help out, (in addition to allowing you to define the center of the playspace maybe so the scale knows to go from the center.

eclair4151 avatar Feb 17 '21 02:02 eclair4151

Looks like there's lots of interest in this. Porting the scaling-aware solver shouldn't be too tricky though it's also not trivial. The high level tasks are:

  • Update the driver to support a scale factor, or maybe just change it to accept a matrix instead of rotation/translation/scale. I'm thinking that extracting the scale and keeping it as a separate parameter will be slightly easier to reason about.
  • Grab the scale-aware solving code from the old simpler-solve branch and integrate it in Calibration.cpp. I think the math can stay the same, except that the scale should be calculated from the 3x3 rot matrix. If we assuming the scale is isotropic, the scale factor is the length of any vector from the matrix (not sure if this is a good assumption or not...)

Defining the center of the playspace shouldn't be necessary; the translation between spaces already implicitly defines this.

pushrax avatar Feb 22 '21 20:02 pushrax

Yes please give us this update soon please i want to walk around my play space and not be locked to one spot not even able to spin around

tacticalbacon89 avatar Mar 26 '21 04:03 tacticalbacon89

wait i think hes telling us to do it ourselves basically, and what needs to be done for it to work ummm yea i dont know enough about coding to accomplish this task without help and i dont think most people wanting to use this software do either

tacticalbacon89 avatar Mar 31 '21 00:03 tacticalbacon89

I'm seeing this issue on Quest 2 as well. Trackers drift proportionally the further away from center I go. Seems like it's exactly what's described here

TheCyberQuake avatar Jul 07 '21 00:07 TheCyberQuake

Is there somewhere we can donate to make this happen, this would make the whole setup perfect.

sveken avatar Oct 23 '21 08:10 sveken

There is now a scale setting available in v1.3 https://github.com/pushrax/OpenVR-SpaceCalibrator/releases

It's not automatically calibrated at the moment, but you can try experimenting with it. Feel free to report back here.

pushrax avatar Nov 08 '21 05:11 pushrax

I made some directions on how to use the new scale parameter on the post below

https://old.reddit.com/r/MixedVR/comments/qpj22e/new_official_space_calibrator_release_possible/

brian-armstrong avatar Nov 15 '21 02:11 brian-armstrong