The Game

The game design deserves some attention as well. We are developing our own game for the cockpit, specifically to take advantage of the strengths of the 2-DOF VR Motion Simulator.

Our game is a VR version of the old Raptor arcade game that many know and love:

Raptor arcade game.

The player essentially flies down a corridor, moving back and forth to evade and attack enemies.  Because our 2-DOF motion simulator only allows for pitch and roll motion, this game concept is actually perfect.  We just add vertical motion, in addition to side-to-side motion.

Player view in Raptor-style flight game.

Above is a screenshot of what the player sees from inside the cockpit.  Moving a joystick commands the ship to move side to side and up and down.  As the motion simulator rotates, the game view rotates to match.

The game is still in development – we don’t even have enemies or weapons yet.  But it is far enough along to connect to the VR motion simulation and move it as needed.

The terrain is procedural and generated in real-time, so you can fly down the canyon endlessly.  For the final game, we’ll probably have levels of fixed length, and various different scenarios – desert, canyon-following, inside an asteroid field, inside a giant moon base, etc., etc.

For the ship and cockpit itself, we found a model very close to what we wanted on the Unity Asset Store.  The creator of the model agreed to make some changes (added some guns and a front-mounted turret, changed the wing angle to make it more visible, etc.) and that’s what we are using.

Here are more pictures of that model:

Ship model for motion sim game.
View from the side.
Cockpit view.
Top view

The front turret should be really cool once we finish the code for it.  It can pivot and aim independently, so we may set it up to shoot wherever the player looks.  Alternatively, we could have it auto-aim at targets as an extra weapon, or as a missile defense system.

There are a few different turret models as well, which could make it fun to collect powerups.

VR Ship Turret, aiming to the side.

Can’t wait to tinker with it!  Stay tuned for more updates.

Follow & Like for Updates

2-DOF Prototype Build

I’ve already talked about the 2-DOF prototype, but since wasn’t active until lately, we have no in-process photos or videos from the build.  So, here’s a review!  This isn’t a complete or exhaustive review – it’s just a collection of pictures and videos that I happened to have on-hand.

A huge part of this design involved linear actuator development.  You can find details on that process in my previous post.  Unlike the actuator design, the 2-DOF frame is still in its first revision, so we have plenty of work to do to get it ready for prime-time. 🙂

Below, we machine part of the profile used for the linear actuator.

Below, we are planing the outer yoke where the bearings will attach.

Machining the outer yoke.

Early assembly test-fit.  The attached actuator isn’t finished, but it’s mounted for test purposes.

Roll axis assembly test

Testing the roll axis with a functioning actuator!

Looking good, despite the terrible mess in my garage!

Frame and actuators together for the first time!

Control Box!  We are using a Productivity 2000 PLC for control for now, but will eventually upgrade to a custom-designed control board for more advanced control.

Control box – components placed, but not yet wired.
Wiring the control box.
Hobbes is always helping!

Full assembly together and moved to my basement:

Full assembly.
Follow & Like for Updates

Actuator Designs – 2016 to Now

Like I mentioned in a previous post, we’ve been at this project for more than a year now.  Early-on, we explored different motion control options and decided that we needed a good actuator design to enable the kind of motion needed for complete immersion.  To-date, most of our development efforts have been focused on that need.

Early exploration of kinematics for the platform. Helped us decide on the required strength of the servos.

First, the Final Version

Here’s the “final” version, below.  We’ll make modifications to improve manufacturability and improve the general appearance, but this is close to what we’ll be using for the simulator designs.

In the video, the position target is being changed randomly every half second.  A PC app of our design is setting the position, and a PLC is handling the actual motion control.

Version One – Ballscrew

Our first attempt (completed just before Christmas last year!) used a ballscrew and a smaller servo motor, compared to the final version.  We ultimately decided that the ballscrew was too noisy and that it had too much trouble moving as quickly as we wanted it to move, so we switched to a belt-drive system for the next version.

Version 1 actuator used a ballscrew and a smaller servo motor. We decided it was too noisy, and had too much trouble moving as quickly as we wanted.

Version Two – Timing Belt

This version used a timing belt and a linear shaft / bearing for motion.  It had no trouble moving quickly, but it wasn’t nearly as compact as the version 1 design.

Version 2, U-Channel belt assembly.
Version 2 Actuator – fast and quiet, but had idler pulley alignment issues.

This design had belt tracking issues when the belt was under load, because the idler pulley (at the top of the picture) was only supported on one end, and by the aluminum frame at that.

Attempting to fix belt tracking issues with a new tensioner assembly.

We built a tensioner assembly to support the other end, and it worked.  But it was unwieldy and imprecise – a bad design overall.  So we decided to move to rectangular aluminum stock for the main body, instead of U-channel.

Version Three – Rectangular Body

In an attempt to fix belt and pulley alignment issues, we switched to rectangular aluminum stock.  This made it easy to support the idler on two sides, as shown below:

Revision 3 actuator. Allowed idler to be supported from two sides.

The idler was attached to steel plates on each side, and the belt was tensioned by pulling the idler upward using a CAM assembly (the circular plate shown in the image was rotated about a slightly off-center point, pulling it tight).

This design worked, but the it was more bulky than we liked.  And the linear bearing and shaft design itself didn’t do much to constrain shaft rotation under load, which again caused belt tracking issues.  It isn’t shown, but when fully extended, this actuator was *very tall.  That made it hard to use.

Version Four – Linear Guide, Modified Tensioner

So, we switched from the linear bearing to a linear rail and guide system (as shown in the first video).  This keeps the entire assembly nice and compact.  The idler is supported on both sides, but the tensioning actually takes place on the drive pulley instead of the idler.  This made the tensioning process and the idler assembly itself much more simple.

We also added limit switches to prevent crashes in case of bad control inputs.

This is the version shown in the video at the top of the post, and the one used on the 2-DOF prototype.

Follow & Like for Updates

2-DOF Motion Simulator Prototype

We only just created, but this project has been underway for more than a year.  More details to follow, but we just got our first 2-DOF VR Motion Simulator prototype up and running!  Video below.

The simulator moves +/- 45 degrees in pitch and roll, at up to 30 degrees a second.  In the video, the speed is dialed down because the frame isn’t quite rigid enough, and accelerating quickly causes it to bounce.  That problem will be addressed in a future revision.

The motion is controlled by two custom linear actuators.  Each uses a 2.3 kW servo motor connected via a gearbox to a timing belt.  The actuators are rated for 800 pounds of continuous force at up to 22 inches / second, with peak forces exceeded 1600 pounds.  That’s more than enough to move the gimbal comfortably.

Control is handled on this version with a PLC, which is in turn connected to a PC.  The simulation is our own custom game built in Unity.

This is still an early prototype and we have a lot of work to do, but getting the entire system up and running is a huge milestone for us!

Follow & Like for Updates

What Are We Doing Here?!

Lots of motion simulators already exist, with varying strengths and weaknesses.

Some, like RotoVR, are relatively low-cost, consumer-oriented platforms.  But they are limited.  RotoVR only spins around one axis, and (if you ask me) it’s kind of gimmicky.

Roto VR – A yaw-only motion simulator. Gimmicky? Perhaps. But at least it’s relatively affordable…

Others, like the simulators from Talon Simulations are more capable (and more expensive!), but suffer from motion limitations.  The Talon simulator has only two degrees of motion freedom, can’t rotate very far, and it rotates around the base of the chair.  That causes “head whip” effects during rotation, which seriously limits its capabilities as a motion simulator.  If you are interested, watch the video on their main page (as of 12/27/2017).  There are segments where you can see very clearly how users’ heads will whip from side to side, a problem that is exacerbated by the fact that the user is wearing a heavy headset!

Talon Simulations – Cool, but not cheap, and actually not great for VR.

I really like the design behind the Feel Three motion simulator because it allows for rotation around three axes (yaw, pitch, and roll), it is presumably fairly affordable, and its design allows for rotation more closely to the user’s head (mitigates against “head whip” and other nausea-inducing factors).  But even Feel Three is limited, since it doesn’t allow for translation – only rotation.

Feel Three – Best option for price and performance, I think, but still fundamentally limited.

The ideal motion platform would have the following characteristics:

  • 6-DOF motion (three rotation axes, three translation axes)
  • Affordable
  • VR-friendly motion (rotation center, minimal latency, high control capability)

So that’s what we want to build.  It can be difficult, because a 6-DOF motion simulator isn’t going to be cheap – not from a mass consumer perspective.  So affordability is going to be sort of relative.  We may develop this as a kit with plans so that DIY types can build the dream platform.

And going from scratch to a full 6-DOF platform is a tall order, at least for us.  So we’ve started with a 2-DOF design, but we are developing the motion control system in a way that will facilitate 6-DOF motion control down the road.  The Feel Three approach would be great for a 3-DOF platform, but there is no easy upgrade path to a 6-DOF system.  So our system utilizes linear actuators for rotation.  Our intent is to re-use those actuators for a more capable design.

An early concept of what a 6-DOF, linear-actuator driven design might look like:

Follow & Like for Updates