Accelerometer
An accelerometer is a sensor that measures the proper acceleration, or g-force, of a device. Unlike coordinate acceleration (the rate of change of velocity), proper acceleration is measured relative to a free-falling, or inertial, frame of reference, so it includes the constant acceleration of gravity.[1] An accelerometer at rest on the surface of the Earth therefore reads about 1 g (roughly 9.81 m/s2) directed upward, because the ground pushes up on it relative to the local inertial frame, rather than reading zero.[1] Measuring this gravity vector lets a device work out which way is down, which is how a smartphone knows whether it is being held in portrait or landscape mode.
In virtual and augmented reality, accelerometers are almost always packaged inside an IMU (inertial measurement unit) alongside a gyroscope and, in many devices, a magnetometer. The IMU is the core motion sensor of a head-mounted display or a hand controller and feeds the headset's tracking system. The accelerometer's specific contribution is an absolute tilt reference: because it always senses the pull of gravity, it tells the device the true direction of "down" and so fixes the pitch and roll angles. This corrects the slow rotational tracking errors that a gyroscope accumulates on those two axes.[2]
MEMS accelerometers
The accelerometers in consumer VR and AR hardware are micro-electro-mechanical systems (MEMS), tiny structures etched into silicon. A typical MEMS accelerometer is little more than a proof mass (also called a seismic mass) held by flexible springs. When the device accelerates, or when gravity acts on it, the proof mass deflects, and the amount of deflection is proportional to the acceleration along the sensor's sensitivity axis.[1][2] Most designs read this deflection capacitively: the proof mass carries a set of moving plates interleaved with fixed plates, and the changing gap between them changes the measured capacitance.[1] Three single-axis sensing elements are combined so that a single chip reports acceleration along the X, Y, and Z axes. MEMS construction makes these sensors small, cheap, and low power, which is why every modern standalone headset and controller carries one.
Role inside an IMU
An IMU reports specific force and angular rate by fusing the readings of its accelerometer, gyroscope, and (where fitted) magnetometer.[3] Each sensor covers a weakness of the others:
| Sensor | Measures | Strength in tracking | Weakness |
|---|---|---|---|
| Accelerometer | Proper acceleration (motion plus gravity) | Absolute pitch and roll from the gravity vector | Noisy and ambiguous during fast motion |
| Gyroscope | Angular velocity | Fast, smooth rotation on all three axes | Drifts as small errors build up over time |
| Magnetometer | Local magnetic field direction | Absolute heading (yaw), like a compass | Disturbed by nearby metal and electronics |
The accelerometer cannot do this job on its own. By the equivalence principle it has no way to tell gravity apart from ordinary linear acceleration: a sensor accelerating in deep space at 1 g produces the same reading as one sitting still on the launch pad.[1] While the headset is roughly still, almost all of the signal is gravity, so the gravity direction is easy to extract and the tilt reference is reliable. During quick head turns or controller swings, real motion is added on top of gravity, the two cannot be separated cleanly, and the accelerometer's estimate of "down" becomes noisy.[3] For this reason the gyroscope handles short-term rotation while the accelerometer (with the magnetometer) supplies the slow absolute references that keep the gyroscope from drifting. A sensor fusion algorithm, commonly a Kalman filter or a complementary filter, blends the three streams into one stable, low-latency orientation estimate.[3]
Why acceleration alone cannot give position
It is tempting to think a headset could track its position in the room just from its accelerometer, by integrating acceleration once to get velocity and again to get position. In practice this fails quickly. Any constant bias or noise in the accelerometer signal grows linearly into the velocity estimate and quadratically into the position estimate, so a small steady error of size N produces a position error of about N·t2/2 after time t.[4] Error in the estimated gravity direction feeds straight into this, because any leftover gravity that is not subtracted is treated as real motion.[4] Because the error compounds with the square of time, an unaided inertial position estimate can drift by metres within seconds.[4]
This is why positional (6DoF) tracking in VR and AR never relies on the accelerometer alone. Headsets pin down position with an external reference such as cameras doing inside-out or outside-in tracking, or optical base stations, and use the IMU mainly for low-latency orientation and for smoothing motion between camera frames. The accelerometer's lasting value in these systems is the gravity reference and short-term motion sensing, not absolute position.
References
- ↑ 1.0 1.1 1.2 1.3 1.4 "Accelerometer". https://en.wikipedia.org/wiki/Accelerometer.
- ↑ 3.0 3.1 3.2 "IMU". https://vrarwiki.com/wiki/IMU.
- ↑ 4.0 4.1 4.2 Kok, Manon; Hol, Jeroen D.; Schön, Thomas B. (2017). "Using Inertial Sensors for Position and Orientation Estimation". https://arxiv.org/pdf/1704.06053.