1. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Download Package Now!
  2. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  3. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant here. Do not following these rules will lead to permanent exclusion from this website: Read the forum rules.

OPEN VR CODER NEEDED !! PLEASE HELP !!

Discussion in 'VR Headsets and Sim Gaming - Virtual Reality' started by SilentChill, Mar 24, 2019.

  1. Trip Rodriguez

    Trip Rodriguez VR Pilot

    Joined:
    May 8, 2016
    Messages:
    640
    Location:
    Lake Ariel, Pennsylvania
    Balance:
    4,084Coins
    Ratings:
    +290 / 4 / -0
    My Motion Simulator:
    6DOF
    I asked this question a year or two ago and don't think I ever really got much of an answer. From what I saw it looked like it was mostly small throw sims with VR and no compensation, or large throw sims with monitors.
  2. Onslope

    Onslope New Member

    Joined:
    Dec 23, 2019
    Messages:
    14
    Balance:
    130Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF
    I hear you and I think we could use OVRIE as it already have the solution. Just make a new selection to use it with WMR or any other tracking technique.
    This should lower the development costs and make OVRIE the "only" software source to use in VR motion compensation. Easier to fix 1 software than many if STEAMVR goes update frantic.
    I invested 3000$ in my gear and I could chip in at least 200$ to get it working.
    • Like Like x 2
  3. Trip Rodriguez

    Trip Rodriguez VR Pilot

    Joined:
    May 8, 2016
    Messages:
    640
    Location:
    Lake Ariel, Pennsylvania
    Balance:
    4,084Coins
    Ratings:
    +290 / 4 / -0
    My Motion Simulator:
    6DOF
    WMR and any 100% on-board tracking system presents a different problem though. The issue is that if you mount the controller behind the head where it mostly needs to be then the HMD cameras can't see it. That requires more work and/or creativity.
    • Agree Agree x 1
  4. Onslope

    Onslope New Member

    Joined:
    Dec 23, 2019
    Messages:
    14
    Balance:
    130Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF
    We will never get correct tracking if WMR controller is used ie inside-out-tracking.
    Only way is to use another external tracking system ie vive.

    1. The WMR tracking compensation is working 50% with Vive tracking compensation in OVRIE (Wrong motion on tracker and axle positions when selected as compensator unit).
    This is a good start. This need to be tweaked to work with ie VIVE Tracker.

    2. The next step is to fix how to track motion compensation using inside-out-tracker ie Reverb. This will be more intense problem solving. Still need external tracking.
    • Agree Agree x 1
  5. Onslope

    Onslope New Member

    Joined:
    Dec 23, 2019
    Messages:
    14
    Balance:
    130Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF
    Quick fix (not ideal)
    Feedback appreciated

    1. Setup the Reverb (wmr) controller as picture below.
    2. Select the controller as the motion compensator unit in OVRIE.

    It works as long as the controller is active.
    It works ok looking around during dogfighting in DCS, but some distortion is felt.
    Using 2 controllers (1 not motion compensated) tend to keep the controller alive longer.

    Solution: we somehow keep the controller active it's a working setup for now.

    Problem is long cruise segments.
    Turning, pitching and rolls keep the controller alive and just lightly move the controller by hand wake it up quickly.

    Issues I see.
    1. Battery is drained quickly. (No charge cable)
    2. Controller fall asleep during low continuous motion from the rig.

    20200113_183127.jpg
  6. noorbeast

    noorbeast VR - The Next Generation Staff Member Moderator

    Joined:
    Jul 13, 2014
    Messages:
    13,960
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    104,881Coins
    Ratings:
    +8,674 / 42 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    I wonder if it would be possible to map the controller in vJoy, then just have a bat script sending a button press at intervals: http://vjoystick.sourceforge.net/site/index.php/download-a-install/download
    • Agree Agree x 1
  7. Onslope

    Onslope New Member

    Joined:
    Dec 23, 2019
    Messages:
    14
    Balance:
    130Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF
  8. Trip Rodriguez

    Trip Rodriguez VR Pilot

    Joined:
    May 8, 2016
    Messages:
    640
    Location:
    Lake Ariel, Pennsylvania
    Balance:
    4,084Coins
    Ratings:
    +290 / 4 / -0
    My Motion Simulator:
    6DOF
    There is still also the issue of pitch motion. When the sim pitches forward driver head goes up, but controller goes down because of the center of rotation.

    Perhaps this could be solved by inverting the heave value sent to OVRIE on 2DOF or some 3DOF but that would not work on a sim that has a heave axis.

    Has anyone else attempted putting an enclosure on the sim for WMR tracking? My experiment was not "real-world" but it indicated that the WMR positional tracking would not function at all in a very small enclosed space.
  9. J-1775

    J-1775 Aviator Gold Contributor

    Joined:
    Jan 28, 2014
    Messages:
    44
    Location:
    Switzerland
    Balance:
    280Coins
    Ratings:
    +12 / 0 / -0
    My Motion Simulator:
    6DOF
    Unfortunately that is absolutly correct. Indeed I've stumbled on that problem in a practical test, not in theoretic thinking.

    What really disturbs me is the fact, that I had the feeling to be very close to a ─ or rather MY ─ solution (having a complete valve ecosystem v1 with two added trackers). The tracker mounted right behind my seat's headrest, the base stations placed so that both cover the tracker and the HMD, OVRIE works most of the time quite adequate. The problem is, with my WMR HMD (Reverb) I cannot match the coordinates of both systems. SPACE CALIBRATOR should solve that, but I never got it to work.:(
    But reasoning about all that I suddenly came to a proposal, which ─ at least as far as I know ─ is not only new, but also looks feasible, open and not too complicated. However it needs a couple of base stations and a couple of trackers (or wands).

    With tracker «A» in fixed position behind your head and tracker «B» attached to your headset (whatever brand that is) the «software» (e.g. adapted OVRIE) would calculate the DIFFERENCE of tracker A's and B's coordinates to correct the HMD's coordinates.
    To reset the two trackers to their RELATIVE zero position you'd assign the same button you use in the sim to reset your head's position.

    I think the big PRO of this proposal is that it is based on established and proven hardware, well integrated into SteamVR. OVRIE is also working within that system. My guess is it would cover about 2/3 of the programming logic. It needs to be augmented to cover TWO input devices and a slightly adapted calculation procedure, but the rest can stay unchanged.

    What do you think about it?
  10. Trip Rodriguez

    Trip Rodriguez VR Pilot

    Joined:
    May 8, 2016
    Messages:
    640
    Location:
    Lake Ariel, Pennsylvania
    Balance:
    4,084Coins
    Ratings:
    +290 / 4 / -0
    My Motion Simulator:
    6DOF
    Right, that's the exact same thing ORVRIE does now. It measures the HMD tracking data and the controller tracking data and uses the difference.

    So the only thing you are changing is to add a SteamVR tracking device to a non SteamVR headset which should be a small and simple modification to the code I would think. If we find a coder he should be able to do that simply enough. You basically aren't changing anything except pointing it at a different device.

    That will work for anyone who owns the SteamVR tracking equipment. There is the problem of course that most folks don't have that gear if they are using a WMR HMD and it's not cheap.

    Unfortunately the releases of Vive Pro and Index as standalone HMD's pretty much ensured that there won't be a surplus of Lighthouses available cheap any time soon. There should be some Vive Wands floating around though, as a result of the Knuckles. If it wasn't for motion compensation and general tinkering I'd be happy to see mine go away. I really hate those controllers!

    On the topic of finding a coder, can anyone tell me what language or whatever our savior needs to know to update OVRIE?
  11. dododge

    dododge Member Gold Contributor

    Joined:
    Mar 8, 2015
    Messages:
    92
    Balance:
    792Coins
    Ratings:
    +63 / 0 / -0
    At a glance, the code in github is Windows C++.
  12. Onslope

    Onslope New Member

    Joined:
    Dec 23, 2019
    Messages:
    14
    Balance:
    130Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    3DOF
    My P3 DOF Reality rig is rotation centered on my seat so no big issue with that setup.
    Only problem is extensive view away from the tracker may be give distortion and the controller goes to sleep quite quick.
    Maybe the controller "Identify" action in OVRIE could be repeated say every 5 sec for 0.1 sec to keep it alive?
  13. J-1775

    J-1775 Aviator Gold Contributor

    Joined:
    Jan 28, 2014
    Messages:
    44
    Location:
    Switzerland
    Balance:
    280Coins
    Ratings:
    +12 / 0 / -0
    My Motion Simulator:
    6DOF
    Correct. I have made a first tentative version of a "job description" in a simple text file (attached), so anyone is invited to download and re-upload it with corrections and addenda.
    I'm not sure whether I understand OVRIE's current motion cancellation functionality correctly nor whether I described the desired change/expansion in the right way. In some moments of writing I thought I had made it up way too complicated.
    Please help in the endeavor by improving the job description, and also with finding a C++ programmer. When we've found one, we'll get the money together!

    Attached Files:

  14. Trip Rodriguez

    Trip Rodriguez VR Pilot

    Joined:
    May 8, 2016
    Messages:
    640
    Location:
    Lake Ariel, Pennsylvania
    Balance:
    4,084Coins
    Ratings:
    +290 / 4 / -0
    My Motion Simulator:
    6DOF
    I'll have a go at it a little later today. =)
  15. noorbeast

    noorbeast VR - The Next Generation Staff Member Moderator

    Joined:
    Jul 13, 2014
    Messages:
    13,960
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    104,881Coins
    Ratings:
    +8,674 / 42 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    One of my early recommendations when this project was being discussed was to clearly define and get agreement on the project brief, given there are different views, technical approaches and complicating factors, such as use in conjunction with transducers, so kudos for putting pen to paper and kicking that discussion off around specifics :thumbs

    I am not arguing against the initial proposal, more playing devils advocate, so here are some points to consider:

    There are a number of possible hardware/software paths that can be considered with respect to motion cancellation.

    With respect to OVRIE it relies on SteamVR being maintained, that may be a long term risk and is not something we can control.

    SteamVR has an assumed top movement tracking resolution coded in (it was raised when it was revealed top Beat Saber players moved quicker than assumed by Valve, 3600 degrees/sec, which is 10htz).

    Transducers are common on rigs, and known to cause tracking issues with all types of HMDs, there are tracking fidelity limitations to consider.

    While SteamVR supports a range of HMDs those HMDs use different tracking technology, so it needs to be determined if a Vive puck, or equivalent, is to be the core tracked item and if so there needs to be a guarantee of supply, or alternative tested hardware, plus the motion cancellation must accurately resolve the tracking of the puck and inside out HMD.

    According to Alan Yates, the person who developed Lighthouse:

    While it can be used with single sensors and without an IMU, the IMU reduces its latency: https://twitter.com/vk2zay/status/573752188998000640eeded

    Two or more base station visibility lets you track a single sensor, which may be on a non-rigid object: https://twitter.com/vk2zay/status/573747638077550592

    One base station is enough to track a rigid object with an IMU, five sensors need to be visible to acquire a pose, but it can hold with less: https://twitter.com/vk2zay/status/573747153387937792

    Lighthouse is not the dual of a camera: The "dots" know their ID; the hardware gives you angles directly. Pose calc' can be decentralised: https://twitter.com/vk2zay/status/573762144484728832

    The future of tracking systems for VR is not a single tracker, but combinations of the right tech for each part of the job: https://twitter.com/vk2zay/status/573754870324318208
  16. Jorant

    Jorant Member

    Joined:
    Jul 15, 2019
    Messages:
    31
    Balance:
    237Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    3DOF
    If I had a reliable software that did high quality motion cancellation/compensation, I would gladly pay upwards of a few hundred dollars. I wish someone would step up to the plate to get this done.
    • Like Like x 1
  17. Trip Rodriguez

    Trip Rodriguez VR Pilot

    Joined:
    May 8, 2016
    Messages:
    640
    Location:
    Lake Ariel, Pennsylvania
    Balance:
    4,084Coins
    Ratings:
    +290 / 4 / -0
    My Motion Simulator:
    6DOF
    That quote implies that there is a good chance my solution of disabling the IMU and using only optical Lighthouse tracking may be viable. Some may argue, but I suspect there is a good chance that the added latency he mentions will be sufficiently small to make this application work.

    The reason I'm proposing attempting this (as an on/off option) is I think it likely to solve the bass shaker/transducer problem.



    As for the rest, I think that assuming SteamVR will be maintained is reasonable. There's no guarantee of anything in this world, but I think that if there's one thing that will be "stable" in the VR market for years to come it is SteamVR due to it's open source model and the relative stability of the Steam ecosystem and of Valve itself. Oculus is of course likely to have equal or greater stability for the same reasons, but that's not really useful to us.

    I'm getting out of my depth here, but I also think that if our solution is SteamVR based than it's likely that most future hardware that is SteamVR compatible (which I think will continue to be most mainstream devices) should be able to work with the plugin so long as it's recognized by SteamVR as a "tracked device". Some devices will be impractical to use for various reasons of course, such as the WMR controllers, but that's not something we can control.

    If we consider lighthouse and vive trackers/wands/knuckles the primary hardware we are supporting there is likely to be an abundant supply for years to come since so many of these systems were sold. Every old used Vive system, every Vive Pro setup, and every Index setup available on ebay would give a motion sim user what they need in terms of hardware. Even Pimax has committed to Lighthouse for their current gen hardware. Benefits of Valve making it open-source!

    No matter how this is done there's the chance of our solution becoming obsolete and needing to be re-done from scratch. No matter what we do at this point it's going to become obsolete sooner or later but I think that using SteamVR decreases rather than increases the likelihood of that happening any time soon.
  18. noorbeast

    noorbeast VR - The Next Generation Staff Member Moderator

    Joined:
    Jul 13, 2014
    Messages:
    13,960
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    104,881Coins
    Ratings:
    +8,674 / 42 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    As I have said elsewhere I somewhat disagree. I consider our rigs can be subjected to much higher than 10htz, particularly when using high powered transducers, in other words can operate outside the previously set and known tracking limit for SteamVR (I don't know what it has been raised to), which is 3600 degrees/sec = 10htz.

    Irrespective of other matters stable tracking is not likely guaranteed above the Valve set threshold and hence glitches will be triggered. Disabling the IMU would not likely change that, as the tracking fidelity value is internally set by Valve. It is possible that disabling the IMU may negatively affect that threshold, depending on the implications of latency at the tracking limits of the system.

    Alan Yates last quote about the right tracking for the job suggests we may have to accept there is a set limit to SteamVR tracking fidelity, or have to find a complimentary tracking augmentation to push past that, which has both hardware and software implications.
  19. cubexxx

    cubexxx New Member

    Joined:
    Oct 4, 2019
    Messages:
    27
    Balance:
    157Coins
    Ratings:
    +7 / 0 / -0
    My Motion Simulator:
    3DOF, AC motor, Arduino
    I highly doubt that any of the rigs here can do 3600 deg/s! That would mean 10 full rotations per second. I think it will be more like 50 deg/s
  20. noorbeast

    noorbeast VR - The Next Generation Staff Member Moderator

    Joined:
    Jul 13, 2014
    Messages:
    13,960
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    104,881Coins
    Ratings:
    +8,674 / 42 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    It is not just movement, a transducer certainly does operate over 10htz.