The Oculus Rift DK2 virtual reality headset uses an IR camera in conjunction with built-in accelerometer/gyro/magnetometer for accurate head/motion tracking. The previous version (DK1) used only an IMU device and had less accurate head-tracking and suffered from drift errors.
Why are current IMU devices (accelerometers, gyros etc) unable to accurately measure motion? What limitations exist with these devices and why? I understand gyros are accurate over short time scales, but have drift errors over larger times and require an accelerometer or magnetometer to correct this drift. Whereas accelerometers are unprecise over short durations of time and require averaging functions to output meaningful data.
Also, would it be possible to use multiple IMU devices in specific geometric locations to get more accurate and faster motion data? Regarding head-tracking, what other solutions are there using IMU devices (with shortest delay possible being the key factor in design)?
The issue is primarily with the sensors themselves. The MEMS devices just do not have exceptionally good performance characteristics. The readout electronics are noisy and do not have very good dynamic range. The biasing will also vary with voltage and temperature, manifesting as an offset that results in drift. It's a classic engineering/economics trade-off. The devices are very small, low power, and relatively easy to mass-produce. If you want a 'real' gyro, then you need to get a high-precision mechanical gyro, or fiber optic gyro or a ring laser gyro. However, these are high precision devices that require expensive precision components and time-consuming alignment and calibration. They are also quite large and consume a lot of power. They're perfect for a commercial or military airplane, missile, or rocket, but outside of that they are far too expensive. (Not to mention probably ITAR controlled)
There is really no way to improve the accuracy of an IMU aside from either using better inertial sensors, putting the whole shebang in a constant temperature oven, and/or adding data from other, non-inertial sensors, such as a magnetometer or a motion capture system. Of course this is presuming you are already using all of the standard IMU sensors (3x gyro and 3x accelerometer) with a good sensor fusion algorithm. Adding a second IMU will likely not help much as they are just as likely to drift in the same direction as they are to drift in opposite directions.