New to the forums? Click here to read the "How To" Guide.

Developer? Click here to go to the Developer Forums.

Tracking issue with 6dof motion simulator

vicpopovicpopo Posts: 27
Brain Burst

Hi everybody ,

I don't know if my thread is in the right place , if not please move it in the right discussion.
I'm from France and the subject of my thread is about using rift with motion simulator.
First you will find a link for my 6dof motion rig ;-).

Since december 2016 I use the awesome rift for racing game driving on my simulator.
My first configuration was just with one sensor and the rift.
I attached the motion sensor tracking just in front of me about 100 cm  ( 30cm in front of my driving wheel) .That means that the sensor is quiet well near the center of the gravity for the platform.
Everything ran well and just amazing .Driving with the rift on my simulator was just like in the reality !
I noticed any tracking issue , everything worked like a charm.
First notice : with the last soft update and I red that something has been improved for the tracking issue.
But this last release wasn't very good.With no change on my simualtor setup , I noticed that the rift view continuously droped down ! I didn't re-center the view during the game .Before I could play 30 minutes and more without tracking issue. My headset view when driving was always good.

For a copple of weeks I bought the oculus touch and i setup the second tracking sensor.
I played to robo recall and also just amazing .

As i want to use the rift for both utility ( my 6 dof motion simulator and another touch games) , I tried to mount the two sensors on my simulator and the result is not good.The view into the rift when the simulator move isn't stable . The point of view into the rift changes continuously.
The 2 tracking sensors are mounted on the simulator 100cm spaced one from the other .The rift is the middle of both sensor.

My question : how can I setup my rift to use just one sensor like my first setup without the touch ?
Or is there a solution to use 2 sensors without problem ?

Any help would be welcome !

Cheers


«1

Comments

  • vicpopovicpopo Posts: 27
    Brain Burst
    Hello ,
    no one could give me some tips to get back like the first setup without the touch .
    Does it unpossible to go back like my previous setup with one sensor ?
    i tried several setup with 2 sensors , one in front of me and the second hidden ( turned it 180 °) but without succes .
    is there a moderator who could help me pls ?

  • Protocol7Protocol7 Posts: 276
    Nexus 6
    You have an amazing setup there! I think for it to work well Oculus would need to give you the option to make the tracking software ignore input from the headset's inertial measurement unit while you are in the motion rig. The IMU data is telling the software the headset is dropping and turning and bouncing around.
  • GATOxVoSGATOxVoS Posts: 439
    Trinity
    edited March 2017
    Very jealous of your setup!

    I think Protocol7 has a good idea for what's happening. I would also suggest trying to place the sensors somewhere where the movement/shaking of the motion simulator will have zero impact on their physical position. Even if the simulator is bolted down to the floor, the most minute movement/shake can change in sensor position, and this will have an impact on what you see in the HMD.

    Edit: Or wait... Do you need the sensor to move with you in these kinds of setups, as to not have the sensor think your head is bobbing up and down? If so, forget what I just said. :(
    PC Specs:
    Intel i7-6700k @ 4.5 Ghz
    Gigabyte Z170X-Gaming 3 Motherboard
    RTX 2080 Ti - MSI VENTUS
    16 GB CAS-10 RAM @ 2400 MHz
    Startech 4-port/4-USB controller add-on card
    850W Corsair HX850 PSU
    4-Sensor, Roomscale Setup
  • reddeath360reddeath360 Posts: 342
    Art3mis
    you would need to mount the sensors so that they move with the rig and in the same direction so if one is diping down and one is up that wont work they both have to move in the same direction . to go back to just one simply unplug one of them and recalibrate its a pain but that is what will have to be done
  • vicpopovicpopo Posts: 27
    Brain Burst
    Hi guy's ,

    thanks for answers  :)
    As I wrote on my first post , all was working like a charm ( as you described in your posts ) but first since the last release in little bit worst and since the setup with touch ( 2 sensors ) unpossible to drive .

    i quiet understood that with 2 sensors moving with the plateform and on each side from my wheel it doesn't work !
    @reddeath360 : I tried to unplug one sensor before starting my computer , but in oculus soft as the last setup has been made with touch the soft doesn't let me setup with one sensor.I just launch the sensors new calibration .
    Did I launch the complete setup to permit me just using one sensor .As the touchs are registered I don't know if this setup will proceed normally !
    I never tried to launch the complete setup , I just played with a new sensors setup and obvioulsy for 2 sensors as I don't want .

    i think it would be great if the soft could let you choose the sensors configuration coresponding at what you want :
    1- one setup with one sensor for playing with my simulator rig
    2- second setup,with touch with 2 or more sensors 

    cheers

  • reddeath360reddeath360 Posts: 342
    Art3mis
    you would have to uplug the sensor and run a complete setup non room scale ofcourse
  • cyberealitycybereality Posts: 26,156 Oculus Staff
    If you are have Touch connected, you also need to have (at least) 2 sensors connected and configured on the system. If the sensors move at all, this will invalidate the sensor configuration, in which case tracking will most likely not work correctly. 
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • vicpopovicpopo Posts: 27
    Brain Burst
    @reddeath360

    ok i will test the whole configuration.

    @cybereality ;

    Excuse me for the silly question but what do you mean with touch connected ? If I want to use one sensor I have to proceed to the whole setup? For the touch if you don't push any button they are not detected .I think it's not cool to not have the ability to choose the configuration you want to,use ! That means that I have to make the complete setup for each time I want to play whith my simulator or using the roomscale setup for'the touch ?
     

  • vicpopovicpopo Posts: 27
    Brain Burst
    Ok guy's ,

    So I unplug one sensor before starting my computer and I launched the complete setup just for the rift and thanks it works.I achieved to use juste the rift with one sensor and without the touch.
    I mounted the sensor in front of my wheel as my original setup and I tested.
    I tested with pcars and assetto corsa and for both games which work perfectly before ( no tracking issues , I was dirving like in a real car ;-) , now it doesn't work.
    Now when simulator is in a pitch situation ( the track is climbing or down hill ) or in a situation of hard bracking the rift vue bounces. The wiew goes down or up.It never happened before since the last sensor tracking update .It's like now as Protocol7 suggested that inertial movements are taken from the tracking measurements !
    there was no update in pcars game so I suggest that the modification comes only from the rift soft side .


  • vicpopovicpopo Posts: 27
    Brain Burst
    How is it possible that with the new tracking soft release the informations from the inertial movements are taken and not before ?
  • vicpopovicpopo Posts: 27
    Brain Burst
    edited March 2017
    I exchanged the sensor with the second and the same problem happened ( bouncing view ) .
    So in my point of view the problem is linked to the last rift update.I think it's not a problem coming from the measurement of the inertial headset movement.I suppose these informations are not taken by the driving game .With pcars ( steam version ) there wasn't any release since a while and now the view bounces.
    Did you know some rift software ( like oculus debug tool ) where I can play with some parameters .Maybe for exemple a tracking refreshing rate ! If the new release has improved this , maybe the rift detects small movements which makes a view correction .With a lower refreshing rate the small movements are ignored ?
    Any help,would be welcome  ;)
  • vicpopovicpopo Posts: 27
    Brain Burst
    i made some tests with the new release oculus debug tool and the results are below .
    First with my simulator not in motion i noticed any bouncing view .i drove the Nordschlefe 8 minutes without needing to re-center the view .
    With 1,5 pixel per display : 
    framerate often less than 45 Hz
    latency app in mition 47 ms
    headroom performance : always between - 80 - 100 % ?? (don't understand the minus sign )
    With no pixel per display improvement (0 i in oculus debug tool ): 
    framerate  45 Hz most of time
    latency app in mition 40ms
    headroom performance : always between -40 - 60 % ?? (don't understand the minus sign )

    But as written no bouncing view simulator still stays
  • YbalridYbalrid Posts: 247
    Art3mis
    vicpopo said:
    i made some tests with the new release oculus debug tool and the results are below .
    First with my simulator not in motion i noticed any bouncing view .i drove the Nordschlefe 8 minutes without needing to re-center the view .
    With 1,5 pixel per display : 
    framerate often less than 45 Hz
    latency app in mition 47 ms
    headroom performance : always between - 80 - 100 % ?? (don't understand the minus sign )
    With no pixel per display improvement (0 i in oculus debug tool ): 
    framerate  45 Hz most of time
    latency app in mition 40ms
    headroom performance : always between -40 - 60 % ?? (don't understand the minus sign )

    But as written no bouncing view simulator still stays
    The minus sign means that the rendering on your system takes too much time (think of this as : you use more than 140% of the time you have available to run the game at 90hz) It's running at 45hz because ASW is kicking in. ASW (Asynchronous Space Warp) is a method the rift runtime uses to reproject the view when your computer can't keep up with the game rendered. It will force the game to render at 45hz and it will "generate" every other frame to at least have the rift tracking taken into account in your view at 90hz on the display... You should have this % above 0, and you should have the game rendering at 90hz for a "normal experience". Apparently here you are demanding too much of your hardware. Can you post here the specs of your computer (mostly graphics card and CPU) ?
    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • vicpopovicpopo Posts: 27
    Brain Burst
    edited April 2017
    Hi ,
    Thanks for answering !
    my specs : 
    i5 3570k oc @ 4,2GHz - 16 Go ddr3 - Zotax Geforce 1060 AMP 6go edition
    mother board msi Z77G45A - all the usb (3) connexions are made trough a inatek pci card.

    for both games pcars and assetto corsa , the rendering settings are I believe in low configuration and no post process effects .I just activated in assetto corsa the shadows I believe.
  • vicpopovicpopo Posts: 27
    Brain Burst
    i checked and i made a mistake for the video settings. Inassetto corsa i was having all to full.So I changed to lower settings and now i have always framerate @90 Hz and headroom above 0 , from 5 to 30 %.
  • YbalridYbalrid Posts: 247
    Art3mis
    edited April 2017
    Edit : for some reason, this thing is refusing to have new line character, making my comment a block of text without any spaces. 2nd Edit : for some mind bogleing reason, iserting "br" HTML tag works. I did not touch the "toggle HTML" view and I don't understand what's going on o.O
    vicpopo said:
    Hi ,
    Thanks for answering !
    my specs : 
    i5 3570k oc @ 4,2GHz - 16 Go ddr3 - Zotax Geforce 1060 AMP 6go edition
    mother board msi Z77G45A - all the usb (3) connexions are made trough a inatek pci card.

    for both games pcars and assetto corsa , the rendering settings are I believe in low configuration and no post process effects .I just activated in assetto corsa the shadows I believe.
    That computer is fine, to run the Rift indeed, but you probably want to keep the settings low if you get bellow the 90hz mark. ASW is a "hack" to not make you throw up, not an optimal way to use the rift, especially if the camera is moving fast (So, probably not that great in racing games)
    vicpopo said:
    i checked and i made a mistake for the video settings. Inassetto corsa i was having all to full.So I changed to lower settings and now i have always framerate @90 Hz and headroom above 0 , from 5 to 30 %.
    That's much better

    So, with this configuration, how's your tracking on your motion simulator?

    I'm thinking of multiple things that can cause an issue, and I don't have the hardware to reproduce your situation, but I'm fairly curious.

    What you want is your simulator to produce on you the sames accelerations the "virtual car" is subjecting to the pilot.

    The Rift tracking system uses 2 things :
    1) It gets the headset position/orientation from processing what the sensors camera are seeing. This is dependent of the capture rate of the sensors
    2) it uses the IMU to get the orientation and to sense the gravity vector (with the accelerometer) to get a frame of reference. It aslo probably deduce some translation from the accelerometer too, but I have no idea how they are actually doing their "sensor fusion". This is mostly used to correct (reporject) the view just before presenting it on the headest.

    The only thing I'm actually sure is that it's not meant for the cameras to be moving, so maybe you should not mount them to your simulator frame.

    But, AFAIK games will apply the movement of the car to the in-game camera, and this will be added to the position tracked by the rift. That's prbably what you are attempting to prevent by putting the cameras on the simulator, if I understand the problem correctly.

    With the camera "fixed" to the silulator and the rift moving, the Rift IMU is picking up all the acceleration your moving platform is inducing to you, but you're not "moving" accordingly from the view of the cameras, this could cause confusion. And I don't think you can disable theses reprojections.

    It's inteneded for developer, but here's an explaination of what is going on with what they call "Async TimeWarp" https://developer3.oculus.com/documentation/mobilesdk/latest/concepts/mobile-timewarp-overview/
    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • vicpopovicpopo Posts: 27
    Brain Burst
    Hi Ybalrid ,
    First of all thanks for your explainations and your support .

    1- with simulator not moving at all ( motion off ) , the motion tracking is ok .No bouncing view ( assetto corsa ) during 8 minutes on the Nordschleife
    2- with simulator ON , bouncing view from the rift view and only in vertical axis .These happens in most of case in 2 situations .When tilting the frame in climb or down hill track and in hard acceleration or braking for which I tilt a little bit the simulator.
    In these cases it's like the point 2 you explained for the IMU orientation .It's like in these cases the IMU takes the leading to dysplay the view .
    A friend on a french racing forum was suprised because when I was saying that the rift works perfectly , he wasn't understanding because the IMU orientation.
    That's the point I want to report .
    Before the last release 1.13 , with the 1.12 everything works like a charm !! In every motion simulation the rift works without any bouncing view !! Believe me,it was undcredible ! You were in real driving situation !
    it's like the imu orientation was cutt off for'just using the tracking view which is enough to give you a amazing immersive feeling !
  • YbalridYbalrid Posts: 247
    Art3mis
    That's strange. I don't think Oculus had the "motion simulator" use case on mind when they optimized the tracking algorithms in the last few version. Maybe @cybereality can help bring the issue up to Oculus teams?
    I'm actually curious about the fact that it "used to work" in the begining. For what I know about how the CV1 tracking, having the sensors moving, or even the user moving by using "in game" stuff will cause problems.
    How do you get your simulator motions from the game, is it tied to camera movement "in the game" or something along those lines
    Also, I think Project Cars as a VR mode where you have the horizon locked in the view, have you tried that?
    (off topic: Tu es Français? ^^")
    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • vicpopovicpopo Posts: 27
    Brain Burst
    Oui je suis français  ;) ( off topic ;-) )
    In Assetto corsa there is the option for locking or unlocking the horizon .I noticed no difference when playing simulator in motion  in both situation !
    For project cars I don't know , I didn't find this feature .
    As I said since the last update it doesn't work like before !

  • YbalridYbalrid Posts: 247
    Art3mis

    Yeah, so, from what I understand, the problem is the from the Oculus tracking itself. I don't think "motion simulator" is a supported use case for the rift. So yeah, the only thing you could do is bring that to the attention of the SDK/Runtime team at Oculus.

    I allready mentioned Cyber in an earlier post on this topic. Hoping he sees that monday. He's generally pretty good at comunicating back the issues from the comunity to whoever may help at Oculus ;-)

    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • vicpopovicpopo Posts: 27
    Brain Burst
    Many thanks to you  ;)
  • cyberealitycybereality Posts: 26,156 Oculus Staff
    Yeah, I've been following the thread but unfortunately I don't believe motion simulators were considered in terms of the way tracking works with Rift and Touch. I'm actually surprised to hear it was ever working, as far as I knew it was never supported.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i
    Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
  • vicpopovicpopo Posts: 27
    Brain Burst
    edited April 2017
    Hi ,
    if you look here : 
    http://motionsim.freeforums.net/thread/35/trips-ac-hp-6dof-build?page=17
    or here : 
    http://motionsim.freeforums.net/thread/177/12v-dc-powered-6dof?page=3

    And I could link you many others like me where the rift was working great !
    It maybe should not but it did the job very well before the 1.13!
    I can't explain why or maybe it wouldn't be wanted by the developpers but that was working .I' m not dreamed ;-) 
    If something could be done I and many others motion sim racers would be very happy.
  • SilentChillSilentChill Posts: 28
    Brain Burst
    Hi vipopo there are quite a few of us over here https://www.xsimulator.net/community/threads/latest-oculus-update-totally-screwed-my-tracking.9917/  who are having the same problems as you. It all started for me with 1.12 update. Never ever had an issue before. I have no idea what they changed but its now made my rig a worthless hunk of junk.
  • kojackkojack Posts: 4,901 Volunteer Moderator
    It depends on the actual software and hardware in use and how much access they have provided to modification, but I believe attaching the sensors to the motion rig isn't a good way to achieve this. We have two moving objects (HMD and motion rig) and two tracking systems (HMD's sensors and rig's proprioception).

    I would guess that the following would be a better arrangement:
    - Oculus sensors mounted externally in fixed positions. One should be enough if the rig doesn't move too much (we only need the hmd tracked, occlusion is less likely). Maybe two if the rig can turn a lot.
    - The software controlling the motion rig should be able to tell the current pose of the rig (if it can move it, it should know where it moved it to).
    - It's not hard mathematically to find the local pose of the HMD relative to the world pose of the rig.
    - Use the local pose of the HMD calculated above for VR rendering instead of the world pose of the HMD.

    However there's a flaw in this: we need to disable timewarp otherwise it will try to compensate for motion, but won't understand that we are using local poses. There's no simple "turn off time warp" option like there is for space warp (the two techniques are different). It appears we can do it by using the head lock flag on the layer and setting it's orientation correctly, that seems to stop time warp in the sdk samples. Or feeding in a really recent tracking pose to the layer just before submitting could trick it into doing minimal timewarp.

    Of course I don't have a motion rig. But if somebody wants to give me one for free I'll certainly test it. :)

  • YbalridYbalrid Posts: 247
    Art3mis
    edited April 2017
    kojack said:

    - It's not hard mathematically to find the local pose of the HMD relative to the world pose of the rig.
    - Use the local pose of the HMD calculated above for VR rendering instead of the world pose of the HMD.

    The problem with that is that you want to modify how the games are handling the tracking ? By either having a shim between the libOVR library and the game, or by actually modding the game? (I don't know how theses motion simulator are implemented in the first place, so maybe it's a non-issue :tongue:)

    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • kojackkojack Posts: 4,901 Volunteer Moderator
    Yep, it would require software support, hacking in or using mod support.
    But that's how you get a good implementation. Just look at the amazing work done with Flyinside, adding VR and Leap Motion support to flight sims.

    In this situation we have a racing game that obviously has some form of support for VR and motion platforms, but for some reason doesn't do the final bit of effort to make them work together.
    Although without knowing which software is being used here, I can't really comment much more on the implementation.

    Vive is even worse, stick a light house on a motion rig and it will stop working, they turn off the laser motors if the lighthouse is even slightly bumped.


  • vicpopovicpopo Posts: 27
    Brain Burst
    Hi kojack ,
    i was speaking about 2 games for which the job was made to play with a VR headset ( project cars and assetto corsa ).
    Both games have a special portage since a copple of months for using vr headset.
    What I don't know is how all of this is made but as I say like many others guys playing with motion plateform since the 1.13 release it doens't work like before.
    i quiet understood all people explainaing why it doens't work at all ( imu sensor for exemple) and I really thank them !
    I just would like to have someone who is able to explain us why it was working like a charm with the 1.12 release ;-) !
    And as I 'm a logical minding , if many games ( assetto , pcars , dirt ... ) were working before and now not , that means that the main change comes from the oculus release !
    So one more time my question : what the big change on the new version ? And why all was working great before ?
    cheers
    if someone could explain me I'll be very happy and if something could be done i will be more than happy  :*
  • YbalridYbalrid Posts: 247
    Art3mis
    kojack said:
    Vive is even worse, stick a light house on a motion rig and it will stop working, they turn off the laser motors if the lighthouse is even slightly bumped.




    I know, it changes the color of the LED and goes into "waiting for mirror to stabilize" mode. ^^"
    vicpopo said:
    Hi kojack ,
    i was speaking about 2 games for which the job was made to play with a VR headset ( project cars and assetto corsa ).
    Both games have a special portage since a copple of months for using vr headset.
    What I don't know is how all of this is made but as I say like many others guys playing with motion plateform since the 1.13 release it doens't work like before.
    i quiet understood all people explainaing why it doens't work at all ( imu sensor for exemple) and I really thank them !
    I just would like to have someone who is able to explain us why it was working like a charm with the 1.12 release ;-) !
    And as I 'm a logical minding , if many games ( assetto , pcars , dirt ... ) were working before and now not , that means that the main change comes from the oculus release !
    So one more time my question : what the big change on the new version ? And why all was working great before ?
    cheers
    if someone could explain me I'll be very happy and if something could be done i will be more than happy  :*

    Well, all I know is that around the 1.11; 1.12 and 1.13 releases, Oculus was focusing on making Constellation tracking "more robust", specially with Touch, so they probably changed part of how their algorithms works...

    The rift runtime is completely closed AFAIK (it used to be just a per-application library that was open source, back in the first development kit days ^^"), so we can't check what they are doing inside
    CV1+Touch; Running on GTX980 - 4770K - 32GB DDR3

    I'm writing a C++ open-sourcre game engine for the Rift http://annwvyn.org/ - https://github.com/Ybalrid/Annwvyn
    For now it's only used for my student projects at my engineering school http://en.esiea.fr/
  • vicpopovicpopo Posts: 27
    Brain Burst
    Hi Ybalrid ,

    thanks for giving me some explaination !
    I'm a noob for all this stuff but i'm always curious and love learning something !
    For your information I asked a guy which got a 6dof too for the last release and he told me that since the last release 1.13 he mounted back his gimbal to mount the tracking sensor !
    He said that it works quiet well !
    With the gimbal the sensor tracking is always on a position like on the earth reference and it seems to work !
    i'm a little bit surprised that it works but it's a good tip if it does !
«1
Sign In or Register to comment.