Motion Compensation

The YawVR is a pretty interesting device with a lot of potential, but I've found that it's potential is massively limited without motion compensation for your HMD.

For people who are unfamiliar, the problem is that when the YawVR moves your body, your HMD (Rift,Vive,Index,Quest,etc) thinks you just moved your head. If you want to use the YawVR for example to ride a roller coaster or fly a plane, and you'd like it to turn with the vehicle, you will find that your view inside the vehicle also turns! So when the vehicle turns 90 degrees, instead of your head continuing to look out the windshield, you find yourself looking out the side window. This renders the unlimited yaw feature completely useless. The affect happens when the device moves on any axis, but yaw is most noticeable. I find that if I limit yaw to 45 degrees, I can fly around in Elite dangerous and the experience isn't awful... it just feels like I'm swimming in my cockpit chair :-( I have to map a joystick button to recenter my view and I find myself using it a lot...

The solution is motion compensation - which means to track the movements of the YawVR and subtract (compensate) them from the HMD movement. If this is done perfectly, your in-game view will not change as the chair spins continously and pitches and rolls.

To date, there is absolutely no motion compensation available for Oculus Rift, Rift S, Quest, or Quest 2.

The YawVR FAQ claims there is motion compensation support for:

  • HTC Vive (3rd party)
  • Valve Index (3rd party)
  • Pimax (in-house)

I don't own any of these HMDs so I can't speak to how well the motion compensation works, but if you are a prospective YawVR buyer, you may want to look into this before pulling the trigger.

If you are curious, here is a more in-depth write-up about motion compensation and some of the issues with it for some HMDs: https://www.xsimulator.net/community/threads/trips-treatise-on-motion-compensation-and-enclosed-simulators.14150/

Comments

  • edited December 2020

    From what I can tell, motion compensation cannot work properly if it tries to "trick" the VR system and causes optical tracking and IMU tracking to disagree. That is the problem with mounting a Rift CV1 camera to the YawVR.

    I don't understand why something like OpenVR Motion Compensation couldn't work as well with a Rift CV1 as a lighthouse tracked device, except the author of it states that the valve provided SteamVR driver for Oculus devices is problematic. I guess that's the only reason...

    It would be great if YawVR could implement a Virtual Tracker for OpenVR Motion Compensation. This would allow YawVR users to get motion compensation without mounting a controller to their YawVR. In theory it would also give better results since it would be located at the center of rotation. I suppose in practice there is too much error introduced by the slippage and how YawVR moves relative to how it's commanded to move.

    And... this still wouldn't help Oculus devices which suffer from the valve provided SteamVR driver.

  • Exciting "news"! I confirmed last night that OpenVR Motion Compensation (OVRMC) does indeed work with Oculus Quest 2 when using Virtual Desktop v1.17.1. I tested it out using Elite Dangerous, and it worked for yaw/pitch/roll. From what I understand, this should also work for Quest and any WMR HMD (like Reverb G2).

    Here are the caveats:

    • Virtual Desktop's latest version is v1.18.4 and I do not believe it works with OVRMC, so you have to manually roll back to the earlier version. I used SideQuest to sideload the v1.17.1 apk and then installed the VirtualDesktop SideQuest VR patch which enables wireless connection to the PC. Then I installed the old v1.17.1 VirtualDesktop streamer app on my PC.
    • VirtualDesktop loves to update itself, so I have to reload the old version on both the HMD and my PC pretty much every time I play.
    • There was a bit of latency in the motion compensation, and this was particularly problematic for yaw. I don't know why yaw had more latency than pitch/roll, or if it just appeared to be more problematic, but I ended up disabling yaw after a while and the whole experience was much better.
  • To setup do the following:

    1. Download and install OVRMC from here: https://ovrmc.dschadu.de/en/Download
    2. Mount your left controller on your YawVR, preferably on the bar that is between your legs so your headset can see it, and you can reach the buttons if needed. This will be the frame of reference that OVRMC uses to cancel the YawVR's motion.
    3. Purchase Virtual Desktop on your Quest 2 (do not buy it in Steam, you need the quest version). You don't need to install it.
    4. Download SideQuest to you PC and install it: https://sidequestvr.com/
    5. Connect your Quest2 to your PC, so SideQuest can work with it (see SideQuest docs)
    6. Using SideQuest app on your PC, Install the old Virtual Desktop apk 1.17.1 to your Quest2
    7. Using SideQuest app on your PC, search for and install the VirtualDesktop patch. Disconnect the Quest2 from your PC.
    8. Install the Virtual Desktop Streamer 1.17.1 to your PC, start it up.
    9. Get your YawVR turned on, calibrated, etc. Get into it and put on your Quest2.
    10. Start up Virtual Desktop on your Quest2. Connect to your PC where the streamer is running.
    11. Launch a game using the Virtual Desktop games tab. Once SteamVR is started, go to the menu (left controller menu button) and click on the OVRMC button to configure it and start OVRMC.
    12. Go back to your game... hopefully it is working.

    Note: Virtual Desktop will update itself all the time so... you'll probably have to repeat steps 5-12 every time you want to play with motion compensation/cancellation enabled.

    Also, you'll need to get your hands on the 1.17.1 apk and streamer installer for Virtual Desktop.

  • edited December 2020

    You could reach out to @KydDynoMyte (probably can catch him in discord easier than on this forum) to request the Virtual Desktop 1.17.1 apk and streamer installer, or if he allows it I'll try to post the files in this thread.

  • You might be able to download the streamer app using the big orange button at the top of this page:

    https://web.archive.org/web/20201101071304/https://www.vrdesktop.net/

  • Update: Apparently you can use the latest version of Virtual Desktop now, you just need to start the streamer on your PC with /DisableRenderPose flag. I haven't tried this yet myself, but @KydDynoMyte mentioned it to me.

    I'm really hoping this works because installing the old versions over and over (and getting ahold of them to begin with) is a major pain...

  • edited December 2020

    I confirmed tonight that this does work quite well version 1.18.7 of Virtual Desktop. Once you get into SteamVR, you need to open the OVRMC settings and set LPF Beta to 0.7. Then set DEMA samples to 72.

    With these settings I was able to fly in Elite Dangerous using yaw(!), pitch, and roll and the motion compensation kept me pretty much facing the windshield - as you would hope. I did some dogfighting and was not bothered much by latency. My previous experience was not as good, I suspect because the settings I used previously for OVRMC were not as good.

  • That sounds promising ☺️

    Thank you, will try ASAP, hope this works for Rift S too.

  • I've been playing with the OVRMC settings a bit and here is what I found:

    1. LPF Beta: ranges from 0.0 to 1.0. Setting to 1.0 essentially disables motion compensation. I had best results setting it between 0.6 and 0.8
    2. DEMA samples: I believe this is how many samples OVRMC uses (maybe averaging all their positions) before compensating the motion. For a while I had this set to 72, but motion compensation would "swim" a little. When I reduced this to 2 it was much tighter. I think setting to higher values will make the motion compensation more tolerant to vibrations, but it gives a looser compensation effect.
  • edited November 2021

    Still here @supatrupa ?

    Made a post in the tutorial section, still no luck to make this work. Even have a quest 2 now.

    Can you confirm that only Version 1.18.7 of Virtualdesktop is working?

    Where to get the apk

    Is any streamerapp version working?

    By use the /DisableRenderPose flag you mean adding it via a shortcut or command line?

    What does the streamerapp do if I even don't have to start virtualdesktop on my quest2?

    Does this work with the YawVR tracker? (Driver is installed and works well in steam)

    Thanks in advance

    connan

  • What is the status of Motion Compensation in combination with a HP Reverb G2 HMD?

    I would like to use the Yaw VR set together with my HP Reverb G2 HMD in games like DCS, MS Flightsim and Starwars Squadrons.

  • Not sure but I wish pitch movement was compensated better https://youtu.be/t6kR5-HZV6M?t=94

    Probably a latency issue, so perhaps some axis could be locked or dampened? I can't think of any Yaw compatible games where you'd really need to or want to lean forward. Does motion compensation in game engine provide some configuration for or locking / dampening of axis?

  • edited October 2022

    You could try oxrmc to see if that'll work better


Sign In or Register to comment.