cancel
Showing results for 
Search instead for 
Did you mean: 

Motion Simulator + Oculus + Opentrack or Crystal Cove?

Anonymous
Not applicable
Hi Guys,

I've been working on a 2 DOF motion simulator for some time now to use in Formula 3 training. I have built a demo rig (small scale using a 3D printer) and have it running successfully with rFactor 2 and X-Sim, the motion simulator rig interface.

Originally the idea was to use a triple screen setup similar to what most people (even high end simulators) use. Once I saw the Oculus, I was completely hooked, and that idea has now been replaced with the Oculus. It has so many advantages, not only with the stereoscopic view, but the ability to look around makes racing so much more immersive.

In saying that, the only step left is to integrate the motion side of this project with the oculus. But that incurs a massive issue, the fact that the rig moves to simulate forces like acceleration and deceleration causes the viewpoint to move (as the oculus is tilting, pitching and yawing).

There was one discussion on it, but it didnt really lead anywhere as it was more theoretical than anything else.

https://developer.oculusvr.com/forums/viewtopic.php?f=26&t=5027&p=69434&hilit=motion+rig#p69434

Being a robotics engineer, the mechanical and electromechanical parts are straightforward, the only part I struggle with is the programming. This is where I need some assistance in pointing me in the right direction.

The discussion above centered around using the sensors in the rig to counteract the motion in the viewpoint. This however, is not a viable solution whilst using X-Sim. The control system is based outside of X-Sim, where the drivers send game values (such as lateral acceleration, x,y,z positions etc) and X-sim creates motor position values based on filters configured by the user.

It has no feedback as to what is actually occurring on the rig itself. That control loop is processed by the motion controller (be it a Polulu controller, Arduino or custom motor driver).

If the sensor readings from the motion controller were to be sent back to the controller PC, then fed back into game to offset the POV, the delay would be huge, and create massive lag and render it useless.

The best way, is to use an optical tracking system which may already exist. This was TrackIR or OpenTrack.

Using the Rift as the primary tracker, then using the IR/Webcam tracker as the secondary, we should be able to compensate for rig motion, and still be able to use the rift for head position tracking in realtime.

In other words, use the Oculus as the standard headtracker, with the TrackIR led's on the motion rig, and a stationary camera outside of the rig to then add or subtract Pitch, Roll and Yaw to the POV based on the Motion Rigs position.

That would mean that the complete head position should be able to be handled by OpenTrack, then sent out to the game using the standard game protocol injectors.

I know its a long spiel, but I have spent a fair amount of time trying to get this to work and have now gotten stuck here.

Where does Crystal Cove come in? I believe it would be ideal as it has the IR capability built in, but the IR Led's would need to be repositioned onto the rig, not the oculus itself. Then again, you would also loose positional tracking also, but in the instance of F1/2/3 cars, the amount of head movement is extremely limited anyway, and does not detract from the simulator experience.

If anyone can take the time to read and help me out, it would be greatly appreciated.

Cheers,
Eddie
25 REPLIES 25

Anonymous
Not applicable
Here is a older video I made of the Motion Simulator model.




It shows the main issue, keeping the horizon level when you are going through accel/decel in a motion rig.

Crespo80
Explorer
Instead of complicating the problem by using a fixed external camera to record the movements of the cockpit and then subtracting them to the the values of the Rift's internal IMU (which will surely give you jittery motion that needs smoothing and thus lag), why don't you abandon the internal IMU completely?
You can go optical only, by mounting a camera fixed to the cockpit (so that it moves with it so and it's always stationary relative to it) just above the steering wheel, pointing at the seat: you then place your LEDs on the Rift and use OpenTrack/TrackIR straightforward, without any further programming.
This way, if you keep your head still, even if the cockipt is moving badly, your view will stay still.
You have to choose a high-fps webcam to minimize lag, 60 fps minimum but better 120 fps, carefully mount it on the cockpit avoiding vibrations and swings, and carefully choose the LEDs and control the room illumination; in some test for optical tracking I used the PS3 webcam with CL-Eye driver,it's very fast up to 187 fps at 320x240 but I don't know if there's something better nowadays.
You have the added advantage of positional tracking.

Anonymous
Not applicable
That, my friend, is genious!

I have been so caught up with the whole idea of utilising the IMU of the Oculus that it never occurred to me to not use it!!!

:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:

You my friend, are a genious!! THANK YOU!

I will post up my results when it is complete!! 😄 😄 😄

Crespo80
Explorer
I've alway wanted to build a 2DOF platform but I really don't have the patience.
My idea was inspired by this clever idea found on the xsimulator forum
http://www.xsimulator.net/community/threads/my-2dof-diy-sim.3646/

Every standard motion platform built around a fixed pivot point under the seat has the same problem: when you accelerate in the game and the platform starts tilting backward, your butt barely moves at all because it's near the pivot point, and your head (the only place where you sense accelerations with your inner ear) moves much more but in the wrong direction, because it's moving forward until the platform stops to its final inclination; but at this point, our internal ear has already been fooled; what would you think if, in a real and powerful car, when we flat the gas our head instantly goes forward and then it goes rearward? wouldn't it feel awkard? The same applies while braking: as soon as you brake in the game and the platform starts tilting forward, your head starts moving backward instead of forward, until it reaches its plateau position.

If you use a pivot point above your head, you can have the correct acceleration from the beginning of the movement to the end. The acceleration is felt less on the head (because it's near the pivot point) and much more on the butt, but it's correct anyway, giving a greater seat-of-the-pants feeling.

pivot.gif

If you look at the youtube video of his platform, you notice its "strange" movements, it's not tilting the usual way, it's oscillating, it looks like it was hanging from a pivot point above the user's head: infact that is a "virtual pivot point" because there's no mechanical part in it, but our head feels like we are hanging from above. Notice he also uses a webcame fixed to the cockpit, it's the standard trackIR one, this is pre-rift era 😄
http://www.youtube.com/watch?v=fT61BFrRL-M#t=30

Anonymous
Not applicable
"Eurisko84" wrote:
Here is a older video I made of the Motion Simulator model.




It shows the main issue, keeping the horizon level when you are going through accel/decel in a motion rig.



WHAT IS THIS?!?! A MOTION SIMULATOR FOR ANTS!?!?!?

it has to be at least..... 3 times bigger than that!

Stereomike
Honored Guest
@Crespo:
I wonder why everybody put the pivot under the seat, I see it like you, pivot must be near head.
The old After-Burner machines had the pivot in the center.
The setup seems rather easy compared to all that linear actuaors other solutions need. And you could built one with the pivot on top by choosing a different radius of the rails and putting the hinge above the head.
Pitch: http://youtu.be/SOYF6736jrM?t=1m20s
Roll: http://youtu.be/SOYF6736jrM?t=4m47s
The action: http://youtu.be/SOYF6736jrM?t=7m11s

Crespo80
Explorer
Good old SEGA arcade machines :mrgreen:
There's also the full 360° version that's awesome :mrgreen:
http://youtu.be/qDr2jNo1dmI?t=1m30s

Of course, the pivot point is in again at chest height; you should use a diameter at least double the height of the seat to have the pivot just above your head in a 360° rotating platform like that :lol:

Anonymous
Not applicable
"Stereomike" wrote:
@Crespo:
I wonder why everybody put the pivot under the seat, I see it like you, pivot must be near head.
The old After-Burner machines had the pivot in the center.


Simplicity, and cost really. It is much easier and cheaper to build a setup like that than it is to build a Joyrider or like one described above. It also costs less as you can use smaller motors as the total power requirement is much lower than the other types.

My rig obviously is a joyrider type, purely because it provides the highest range of motion. As a F2 simulator, I need the highest simulated G-forces possible (at a reasonable price of course).

The beauty of a F1/2/3 simulator is if you have the rig setup properly, with the correct seating position, the CG point is above your hips and infront of your chest. The seat is declined so much that you dont have the issue as described above as much.

You are right tho, I have use high end commercial simulators (CXC) and they are, quite frankly, rubbish.



Feels like someone is behind you shaking the sh*t out of your chair.... for 40k. Eeep. :roll:

Crespo80
Explorer
add a few million dollars and you can have a very powerful driving simulator, one that even Ferrari or RedBull can't afford :mrgreen:
http://youtu.be/ThkymYRP1g8?t=3m45s

or the "small" version
http://youtu.be/8OucvUW9y6I?t=8s