| What Is It? | Why Bother? | Components | How This Was Done | Files | Why didn't I try... | ||
How was all this put together? There are 4 main components to this project: Head Mounted Display (HMD) |
||
Head Mounted Display
The sixaxis controller has 3 accelerometers and a gyroscope. An accelerometer is something that measures force. Specifically from acceleration. The simplest application for accelerometers is detecting gravity as it is always constant, and always in 1 direction. Because the force of gravity is always down, relative to the sensors, the angles of pitch and roll are able to be calculated. |
||
| Head Tracking
As mentioned in the other pages here, the head tracking is being provided by the technology that is in the Sony Playstation Sixaxis controller. (often referred to as simply the 'sixaxis'). To be able to look in all directions, the computer needs to be able to read 3 directions. |
||
The sixaxis controller has 3 accelerometers and a gyroscope. An accelerometer is something that measures force. Specifically from acceleration. The simplest application for accelerometers is detecting gravity as it is always constant, and always in 1 direction. Because the force of gravity is always down, relative to the sensors, the angles of pitch and roll are able to be calculated. Typically, the turning motion of yaw is perpendicular to the force of gravity. This means that there is no change in direction of gravity that would allow a measurement that indicates the current angle of yaw. Accelerometers cannot measure yaw, but a gyroscope can. A number of additional tools were necessary to interface the controller with a computer. Normally it is intended to be used on the Playstation 3 console. There are 3 layers of front end software that must be set up for the motion data from the sixaxis to be able to reach the game/virtual environment on the PC. (For specific steps, check the how it was done section.) USB driver (or wireless bluetooth driver) free, based on an open source USB library. |
||
Motion Tracking The motion tracking component was by far the most challenging. For how I came up with this idea, and how this was built, check the How section. But to summarize here, the motion tracking works on the same principle as an old fashioned ball mouse. I chose a bouncy ball because the rubbery material has such a high friction. It is important to mention that this was designed and built on-the-fly, meaning there was no planning ahead, blueprints or schematics. Being limited on materials, tools, budget, and time, and having, skill, and experience with on-the-fly design (hobby), there was little choice in the methods on how to go about building it. (ie; no method, just do it) |
||
The Virtual Environment Initially, the pitch and yaw data was mapped onto the system mouse, and roll was mapped to a joystick axis. These variables were easily mapped to the controls in the game, however, it solved a few problems and simplified some things to use joystick axis for both pitch and roll, and mouse axis for yaw. |
||