pushrax / OpenVR-SpaceCalibrator

Use tracked VR devices from one company with any other.
MIT License
669 stars 111 forks source link

Feature request: Position scaling parameter #23

Open Frostion opened 4 years ago

Frostion commented 4 years ago

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.

pushrax commented 4 years ago

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

sundansx commented 4 years ago

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.

Nagorak commented 3 years ago

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 commented 3 years ago

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.

Amtrix commented 3 years ago

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

Nagorak commented 3 years ago

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.

jgr526 commented 3 years ago

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.

eclair4151 commented 3 years ago

+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.

Kevin-Lewis commented 3 years ago

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.

eclair4151 commented 3 years ago

@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.

pushrax commented 3 years ago

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:

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

tacticalbacon89 commented 3 years ago

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 commented 3 years ago

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

TheCyberQuake commented 3 years ago

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

sveken commented 3 years ago

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

pushrax commented 3 years ago

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.

brian-armstrong commented 3 years ago

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/