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

Feature: Track Quest with an extra Vive Sensor

Open ironsalsa opened this issue 5 years ago • 53 comments

It would be great to add an extra Vive Tracker to an Oculus Quest to keep the spaces connected better in VirtualDesktop wireless mode. This feature idea was mentioned https://github.com/pushrax/OpenVR-SpaceCalibrator/issues/15#issuecomment-672171217 and https://github.com/pushrax/OpenVR-SpaceCalibrator/issues/6#issuecomment-678332234 .

Creating an issue so we can track interest - I'm re calibrating in VRChat with this setup every 10 minutes or so while dancing, and I would love to skip buying a Cosmos+wireless+etc just to make it smoother.

This software rocks so hard! Fingers crossed that this would improve the wireless Quest experience.

ironsalsa avatar Oct 08 '20 22:10 ironsalsa

Sidenote: I've ordered the longer Oculus Link cable, and will report back whether that stays in calibration better than VD.

ironsalsa avatar Oct 08 '20 22:10 ironsalsa

I definitely think this is doable and would work. It would still be an automatic calibration, and would allow any HMD to be used, regardless of drifting reference frames. I'd like to use this setup as well, though I've been extremely busy at work and haven't used VR much recently. It's possible I will implement this late Nov. or Dec. when work will settle down.

pushrax avatar Oct 12 '20 21:10 pushrax

This would be really nice! I had a Quest 1 and had this issue too. Now I am waiting for my HP Reverb G2 (WMR) and have a Quest 2 as well, so this solution would be very nice to completely "disable" the inside-out tracking and for preventing HMD shift. I would be really appreciate your work into this!

derpaufler avatar Nov 11 '20 14:11 derpaufler

I just bought a Vive Tracker 2018 and I look forward to see this feature soon! Thanks for your work! :-)

derpaufler avatar Nov 12 '20 13:11 derpaufler

I have the Oculus Q2 with the pro strap, so I was trying to figure out where best to mount a tracker. After taking some time, I think the top headstrap was the place to put it, or front top of the HMD.

The best place I thought it would be would be the top headstrap as with the pro strap, its hard and curved in the back as well as the tightening knob which makes mounting the tracker difficult. I chose the top headstrap as no matter what headset you use, there is almost always a headstrap of some type to mount to.

Another viable spot is the top of the HMD itself. As this would work well, especially in terms of accurate head tracking, it does add extra weight to the front of the HMD which could add discomfort during long play.

Thoughts?

AtomicFall avatar Nov 12 '20 15:11 AtomicFall

The extra weight on the HMD has to be tested by myself, could be a bummer. At the end the position is not important for the tracking I guess, when it's at least visible for the Lighthouses? But it's important to mount it very tight as every movement will cause movement within VR. Therefore a velcro strap onto the HMD would be the best, but as described by you it could be too heavy.

derpaufler avatar Nov 12 '20 16:11 derpaufler

The only issue with mounting to the head strap is that it could move slightly during play, and move slightly more between sessions. However, that may not be too much of an issue in practise, especially if it's placed close to the HMD on the strap. I printed a bunch of these years ago https://www.thingiverse.com/thing:2706598, and tried one on the Quest 1 strap last time I started implementing this. When the HMD is on your head, the tracker seems very stable.

For between-session drift (where you take the HMD off your head, allowing the tracker to move more), a quick recalibration might be fine, since it should be super easy as you don't need to hold several things in one hand. It will just require pressing the Calibrate button and walking around a bit.

The top of the HMD could still be a good option, avoiding the extra torque from mounting on the front of the HMD, and if mounted securely could avoid recalibration forever.

pushrax avatar Nov 12 '20 16:11 pushrax

Guess Ill need to order another tracker soon but till be worth it

AtomicFall avatar Nov 12 '20 20:11 AtomicFall

I realized something today. Wouldnt it better to calibrate one tracker and just mount it somewhere stationary in a room where the basestations can see it? That way you dont ever have to worry about your own movement or that tracker moving. Just plug it set it on a shelf and let it stay powered indefinitely and the stations have a constant and consistent point of reference.

AtomicFall avatar Nov 18 '20 22:11 AtomicFall

I think this would be good as well and additionally, but that would not make the drifting better, would it?

derpaufler avatar Nov 18 '20 22:11 derpaufler

An additional tracker in the room only helps to reduce lighthouse system drift, which is already negligible when set up correctly.

To determine the relative frame of reference between the lighthouse and quest systems, we need a lighthouse tracked device and a quest tracked device to be physically fixed together. If the two systems are stable, that can be done once (i.e. the current calibration process), but if one system is unstable, like the quest, the only way to correct for the instability is to track the unstable device with a stable tracker.

pushrax avatar Nov 18 '20 23:11 pushrax

To determine the relative frame of reference between the lighthouse and quest systems, we need a lighthouse tracked device and a quest tracked device to be physically fixed together.

Do they have to be both physically linked together and moving in space? Because if not, would it not be sufficient to just leave an Oculus/WMR controller powered on and affixed to a Vive tracker somewhere in the room?

monstermac77 avatar Nov 24 '20 09:11 monstermac77

I definitely think this is doable and would work. It would still be an automatic calibration, and would allow any HMD to be used, regardless of drifting reference frames. I'd like to use this setup as well, though I've been extremely busy at work and haven't used VR much recently. It's possible I will implement this late Nov. or Dec. when work will settle down.

Do you have any other contact info, maybe through discord? I’d like to ask a couple question about the entire project of making SteamVR tracking work on non SteamVR headsets like the reverb.

Adil3tr avatar Nov 24 '20 09:11 Adil3tr

As far as I know Trackers have generally lower tracking precision than HMDs. You could already redirect Vive Tracker position to HMD using OpenVR Input Emu (one of the updated forks). But it results in a bit shaky head position.

Just mounting Vive puck on unstable HMD maybe could allow to remove initial calibration step, and make calibration continuous. The continuously working calibration, would smooth out tracker imprecisions, and would continuously, but slowly, update transformation matrix between tracked universes. In the end HMD and it's controllers would track normally, but alignment would slowly compensate any drifts, because normally during gameplay you move your head a lot and in different ways.

mdovgialo avatar Nov 24 '20 18:11 mdovgialo

@mdovgialo exactly, I want to use the tracker for the low frequency component and the HMD's built in tracking for the high frequency component.

pushrax avatar Nov 24 '20 19:11 pushrax

Do they have to be both physically linked together and moving in space? Because if not, would it not be sufficient to just leave an Oculus/WMR controller powered on and affixed to a Vive tracker somewhere in the room?

That would indeed work! However, many controllers these days are tracked by cameras on the HMDs (Rift 2, Quest, all WMR that I know of), so it wouldn't be robust in those cases. Though it would make recalibrating easy (just look at this pair of devices for long enough for the controller to start tracking).

pushrax avatar Nov 24 '20 19:11 pushrax

Do they have to be both physically linked together and moving in space? Because if not, would it not be sufficient to just leave an Oculus/WMR controller powered on and affixed to a Vive tracker somewhere in the room?

That would indeed work! However, many controllers these days are tracked by cameras on the HMDs (Rift 2, Quest, all WMR that I know of), so it wouldn't be robust in those cases. Though it would make recalibrating easy (just look at this pair of devices for long enough for the controller to start tracking).

Ah, brilliant! Well then, looks like there are plenty of options for making recalibration even easier (as you and I discussed at length a couple months ago here as well). Looking forward to the next OpenVR-SpaceCalibrator update, I ordered a Vive tracker today so I'll be ready :)

monstermac77 avatar Nov 25 '20 04:11 monstermac77

Wanted to add, this could be an absolute boon for anyone wanting to homebrew their own headset, or use a 3DoF headset like the Oculus Go or anything else supported by RiftCat / Trinus PSVR and wanted to have them lighthouse tracked with relative ease. The thing though is, for those use cases, there is no native high frequency positional tracking to fall back on, at all. There's basically always an IMU even in the most basic of headsets, but no positional tracking to speak of. Would any hypothetical "Vive Tracker for HMD tracking" functionality be able to work just as well for the aforementioned more edge-case uses too?

anonmon avatar Nov 28 '20 18:11 anonmon

On the topic of easy callibration, and to avoid having to wait till the SLAM HMD re-detects a controller you look at. What if you could just touch the two sides of your HMD with your lighthouse-tracked controllers? This could be relatively accurate if you touch your headset in the same two spots everytime. Plus because it's two spots you can correct rotational drift two? (ehm at least on two axis I think)

guillefix avatar Nov 29 '20 21:11 guillefix

On the topic of easy callibration, and to avoid having to wait till the SLAM HMD re-detects a controller you look at. What if you could just touch the two sides of your HMD with your lighthouse-tracked controllers? This could be relatively accurate if you touch your headset in the same two spots everytime. Plus because it's two spots you can correct rotational drift two? (ehm at least on two axis I think)

I like this idea as well, at least exploring its feasibility!

monstermac77 avatar Nov 30 '20 22:11 monstermac77

As someone who uses an additional 2 pucks to turn the WMR controllers from Inside Out to Outside in Tracking, this would be fantastic to clear off drifting. I only get severe drifting when using those 2 pucks alongside 3 for FBT thankfully

Activusto avatar Dec 06 '20 14:12 Activusto

Another motivation for this feature: https://www.reddit.com/r/MixedVR/comments/kltbz8/controller_shift_sometimes_after_restart/ghb1eyp/

Rather regularly at the start of play sessions, my Reverb G2 isn't able to determine its location in my room using physical light (measuring its distance from the corner of my TV, the edge of a carpet, etc) and so everything in SteamVR home moves with the HMD rather than the HMD moving within SteamVR home (very nausea inducing). This requires taking the headset off, and walking around/spinning it around for 5-10 seconds so that it can get its bearings on where it is in physical space. By using a Vive tracker, it'd be relying on the IR light from the basestations to orient itself in space, which (as we know from the superior tracking of the knuckles controllers and Vive trackers) is significantly more reliable and accurate.

monstermac77 avatar Dec 28 '20 17:12 monstermac77

Are there any news of your work in December @pushrax ? :-) would be great and thankful to hear about your progress as my vive tracker is waiting in it's box to help out soon! :-)

derpaufler avatar Jan 07 '21 11:01 derpaufler

Are there any news of your work in December @pushrax ? :-) would be great and thankful to hear about your progress as my vive tracker is waiting in it's box to help out soon! :-)

I'm looking forward to trying this out

thehhmdb avatar Jan 14 '21 10:01 thehhmdb

I have the Oculus Q2 with the pro strap, so I was trying to figure out where best to mount a tracker. After taking some time, I think the top headstrap was the place to put it, or front top of the HMD.

The best place I thought it would be would be the top headstrap as with the pro strap, its hard and curved in the back as well as the tightening knob which makes mounting the tracker difficult. I chose the top headstrap as no matter what headset you use, there is almost always a headstrap of some type to mount to.

Another viable spot is the top of the HMD itself. As this would work well, especially in terms of accurate head tracking, it does add extra weight to the front of the HMD which could add discomfort during long play.

Thoughts?

i made a bracket for my puck that slides onto the q2 i personlay dont have a problem with it being off balance or anything but others might just what i came up with for esey atachment and removal

1611582183748

kyleo1234 avatar Feb 03 '21 20:02 kyleo1234

I placed it at the back as a bit of a counter weight like this: Quest Index

thehhmdb avatar Feb 05 '21 14:02 thehhmdb

@thehhmdb this looks good. Are you using this right now? I am waiting for the update of SpaceCal and my Vive Tracker is laying around since November without a use...

derpaufler avatar Feb 05 '21 14:02 derpaufler

@derpaufler I'm in the same situation as you. Whilst waiting, I've been essentially trying to make a wireless Index with those additional headphones, custom face gasket and the SpaceCal tracking will hopefully be the last part of the puzzle

thehhmdb avatar Feb 05 '21 14:02 thehhmdb

Where are these Headphones from?

derpaufler avatar Feb 05 '21 15:02 derpaufler

They are custom made 3d printed case with Tectonic TEBM35C10-4 BMRs inside. I slightly modified the idea from here: https://prettygood3d.com/post/999028410814/quest-2-off-ear-bmr-v01

thehhmdb avatar Feb 05 '21 15:02 thehhmdb