IMU: Difference between revisions
Appearance
Xinreality (talk | contribs) No edit summary Tag: Reverted |
Xinreality (talk | contribs) No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ | {{see also|Terms|Technical Terms}} | ||
An '''Inertial Measurement Unit''' ('''IMU''') is an electronic [[sensor]] [[device]] that measures and reports a body's specific force, angular rate, and sometimes the orientation of the body, using a combination of [[accelerometer]]s, [[gyroscope]]s, and often [[magnetometer]]s.<ref name="TDK_IMU_Overview"> | |||
TDK InvenSense. “What is an Inertial Measurement Unit (IMU)?” | |||
[https://invensense.tdk.com/products/motion-tracking/6-axis/ TDK InvenSense Website]. Accessed May 3, 2025.</ref> IMUs are fundamental components in [[virtual reality|Virtual Reality (VR)]] and [[augmented reality|Augmented Reality (AR)]] systems for tracking the orientation of [[Head-Mounted Display|HMDs]] and [[Input Devices]] like controllers. | |||
==Components and Function== | |||
A typical IMU integrates multiple sensor types onto a microchip: | |||
* '''[[Accelerometer]]s''': Measure proper acceleration (g-force), which includes both acceleration due to movement and the constant pull of [[gravity]].<ref name="Woodman_IMU_Tutorial"> Woodman, O. J. (2007). An introduction to inertial navigation. University of Cambridge Computer Laboratory Technical Report, UCAM-CL-TR-696. [https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-696.pdf PDF Link]</ref> When the IMU is relatively static, accelerometers can determine tilt (pitch and roll angles) relative to the direction of gravity. When moving, they measure linear acceleration. | |||
* '''[[Gyroscope]]s''': Measure [[angular velocity]] (rate of rotation) around one or more axes.<ref name="Woodman_IMU_Tutorial"/> In VR/AR, they detect rotational movements corresponding to [[pitch]] (nodding 'yes'), [[yaw]] (shaking 'no'), and [[roll]] (tilting head side-to-side). Gyroscopes provide fast and responsive rotational data but are prone to [[sensor drift]] over time. | |||
* '''[[Accelerometer]]s''': Measure proper acceleration ( | * '''[[Magnetometer]]s''' (Optional but common): Measure the strength and direction of the local [[magnetic field]], typically the Earth's magnetic field. They act like a compass to provide an absolute reference for the yaw orientation, helping to correct gyroscope drift around the vertical axis.<ref name="Woodman_IMU_Tutorial"/> However, they are susceptible to interference from nearby magnetic materials or electronic devices. | ||
* '''[[Gyroscope]]s''': Measure [[angular velocity]] | |||
* '''[[Magnetometer]]s''' ( | |||
When an IMU includes all three sensors (accelerometer, gyroscope, and magnetometer), it is sometimes referred to as a 9-axis IMU or a [[MARG]] (Magnetic, Angular Rate, and Gravity) sensor.<ref>Madgwick, Sebastian OH, Andrew JL Harrison, and Ravi Vaidyanathan. "Estimation of IMU and MARG orientation using a gradient descent algorithm." IEEE international conference on rehabilitation robotics. IEEE, 2011.</ref> | |||
== Sensor Fusion == | ==Sensor Fusion== | ||
Raw data | Raw data from individual sensors can be noisy (for example accelerometers during fast movement) and inaccurate (for example gyroscopes drift). [[Sensor fusion]] algorithms, such as [[Kalman filter]]s or complementary filters, are essential.<ref name="Mahony_Filter"> | ||
Mahony, R.; Hamel, T.; Pflimlin, J‑M. “Nonlinear Complementary Filters on the Special Orthogonal Group.” | |||
IEEE Transactions on Automatic Control, 53 (5) (2008): 1203‑1218. | |||
[https://doi.org/10.1109/TAC.2008.923738 DOI link]</ref> These algorithms intelligently combine the data from the accelerometers, gyroscopes (and magnetometers, if present) to produce a single, more accurate, stable, and low-latency estimate of the device's orientation in real-time. | |||
== Role in VR/AR == | == Role in VR/AR == | ||
IMUs | IMUs are crucial for providing low-latency [[rotational tracking]], which is essential for creating a sense of [[immersion]] and preventing [[motion sickness]].<ref name="LaValle_VR_Book"> LaValle, S. M. (2016). Virtual Reality. Cambridge University Press. Chapter 9: Tracking. [http://lavalle.pl/vr/book.html Online Book Link]</ref> | ||
=== Importance in Head Tracking === | |||
IMUs provide the rapid [[orientation tracking]] needed to update the virtual view in sync with the user's head movements. This low latency is critical for user comfort. The typical update rate of modern IMUs used in VR headsets is between 500Hz to 1000Hz, much faster than most visual tracking systems can achieve alone.<ref>Niehorster, Diederick C., Li Li, and Markus Lappe. "The accuracy and precision of position and orientation tracking in the HTC Vive virtual reality system for scientific research." i-Perception 8.3 (2017).</ref> | |||
===3 Degrees of Freedom (DoF)=== | |||
An IMU inherently provides [[Degrees of Freedom|3 DoF tracking]], measuring orientation changes (pitch, yaw, roll). This is sufficient for basic VR experiences like 360-degree video viewing on mobile VR headsets where the user's physical position in the room is not tracked. | |||
=== 6DoF Tracking Systems === | ===6DoF Tracking Systems=== | ||
For full [[6DoF]] tracking, IMU data | For full [[6DoF]] tracking (which includes [[positional tracking]] translation along X, Y, and Z axes), IMU data is combined via sensor fusion with data from other tracking systems. These can include: | ||
* [[Inside-out tracking]]: Cameras on the HMD observe the external environment. | |||
* [[Outside-in tracking]]: External sensors (like cameras or [[lighthouse tracking|base stations]]) observe markers on the HMD and controllers. | |||
* [[Camera-based tracking]]: General term encompassing various visual tracking methods. | |||
In these systems, the IMU provides the high-frequency orientation updates, while the positional tracking system provides absolute position data and periodically corrects for any accumulated IMU drift.<ref name="LaValle_VR_Book"/><ref>Hyvärinen, Timo, et al. "Sensor fusion for head tracking in augmented reality applications." 2019 IEEE International Symposium on Mixed and Augmented Reality Adjunct (ISMAR-Adjunct). IEEE, 2019.</ref> | |||
== Limitations and Correction == | == Limitations and Correction == | ||
* '''Sensor | While essential, IMUs have inherent limitations: | ||
* '''Magnetic | |||
* '''No | * '''[[Sensor Drift]]''': Gyroscopes accumulate small errors over time, leading to a gradual mismatch between the tracked orientation and the real-world orientation. This is particularly noticeable in yaw if uncorrected. | ||
* '''Magnetic Interference''': Magnetometers can be disturbed by ferrous materials or strong magnetic fields in the environment, leading to inaccurate yaw readings. Advanced sensor fusion algorithms may attempt to detect and compensate for such interference. | |||
* '''No Positional Data''': By themselves, IMUs cannot determine a device's position in space; they only measure rotation and linear acceleration, not absolute location or translational velocity relative to the world. | |||
VR/AR systems address these limitations, particularly drift, through: | |||
* Visual correction using cameras or external reference points (in 6DoF systems) | |||
* [[Complementary filtering]] combining accelerometer (gravity vector) and gyroscope data for tilt correction | |||
* [[Kalman filtering]] algorithms integrating multiple sensor inputs and predictive models | |||
* Magnetometer data (if available and reliable) for absolute yaw correction | |||
* [[Zero velocity updates]] (ZUPTs) during periods of detected stillness to reset velocity error accumulation<ref>Cadena, Cesar, et al. "Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age." IEEE Transactions on robotics 32.6 (2016): 1309-1332.</ref> | |||
==IMU Specifications for VR/AR== | |||
For optimal performance in VR/AR applications, IMUs typically require: | |||
* Low latency (< 2ms sensor processing time desirable) | |||
* High update rate (500-1000Hz) | |||
* High precision gyroscopes (< 0.01 degrees/second drift) | |||
* Low noise accelerometers | |||
* Efficient power consumption | |||
* Small form factor | |||
* Integrated processing capabilities (sometimes including basic sensor fusion)<ref>Angelini, Lee, et al. "Understanding sensors: prioritizations for selecting sensors in mobile VR applications." Internet Research (2022).</ref> | |||
== | ==Future Developments== | ||
Next-generation IMUs for VR/AR are focusing on: | |||
* Reduced power consumption for longer device battery life | |||
* Smaller form factors for integration into lighter HMDs and glasses | |||
* Integrated [[machine learning|ML]] capabilities for improved motion prediction and pattern recognition | |||
* Enhanced sensor fusion algorithms, potentially running on the sensor itself | |||
* Further reduction in sensor noise and drift characteristics<ref>Adams, Michael D. "MEMS IMU Navigation with Model Based Dead-Reckoning and One-Way-Travel-Time Acoustic Measurements." IEEE Journal of Oceanic Engineering (2023).</ref> | |||
== Key IMU Manufacturers == | ==Key IMU Manufacturers== | ||
* [[TDK]] | Several companies manufacture IMUs used in consumer electronics, including VR/AR devices: | ||
* [[Bosch Sensortec]]<ref name="Bosch_Homepage"> | * [[TDK]] [[Invensense]]<ref name="TDK_Homepage"> TDK InvenSense - Motion Sensors [https://invensense.tdk.com/products/motion-tracking/ TDK InvenSense Website]. Accessed October 26, 2023.</ref> - Major provider for consumer electronics. | ||
* [[STMicroelectronics]]<ref name="ST_Homepage"> | * [[Bosch Sensortec]]<ref name="Bosch_Homepage"> Bosch Sensortec - IMUs [https://www.bosch-sensortec.com/products/motion-sensors/imus/ Bosch Sensortec Website]. Accessed October 26, 2023.</ref> - Produces high-performance MEMS sensors. | ||
* [[Analog Devices]] | * [[STMicroelectronics]]<ref name="ST_Homepage"> STMicroelectronics - MEMS Motion Sensors [https://www.st.com/en/mems-and-sensors/mems-motion-sensors.html STMicroelectronics Website]. Accessed October 26, 2023.</ref> - Manufacturer of various MEMS sensors. | ||
* [[Xsens]] | * [[Analog Devices]] - Often provides higher-grade IMUs. | ||
* [[Xsens]] - Specializes in high-precision motion tracking modules often incorporating IMUs.<ref>Yole Développement. "MEMS & Sensors for Wearables Report." 2023.</ref> | |||
== Notable IMU Models in VR/AR == | ==Notable IMU Models in VR/AR== | ||
* ''' | * '''MPU-6050''': A popular low-cost 6-axis IMU (accelerometer + gyroscope) from InvenSense, used in hobbyist projects and early devices like the [[Oculus Rift DK1]].<ref name="MPU6050_Datasheet"> InvenSense Inc. MPU-6000 and MPU-6050 Product Specification Revision 3.4. [https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf Datasheet Link]</ref> | ||
* ''' | * '''MPU-9250''': An InvenSense 9-axis IMU (adds a magnetometer to the MPU-6xxx series capabilities).<ref name="MPU9250_Datasheet"> InvenSense Inc. MPU-9250 Product Specification Revision 1.1. [https://invensense.tdk.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf Datasheet Link]</ref> Used in some dev kits and controllers. | ||
* ''' | * '''ICM-42688-P''': A high-performance 6-axis IMU from TDK InvenSense, known for its low noise and stability, used in the Meta [[Quest 2]] headset.<ref name="Quest2_Teardown_iFixit"> | ||
* '''BMI085/BMI270''': Bosch IMUs | iFixit. “Oculus Quest 2 Disassembly.” | ||
* '''LSM6DSO | [https://www.ifixit.com/Guide/Oculus+Quest+2+Disassembly/139759 iFixit Repair Guide]. Accessed May 3, 2025.</ref> | ||
* '''BMI085/BMI270''': Bosch IMUs optimized for VR/AR applications, found in devices like the [[Valve Index]] controllers.<ref>Nield, David. "How VR Headsets Are Getting Better Through Improved Tracking." TechRadar, 2022.</ref> | |||
* '''LSM6DSO/LSM6DSOX''': STMicroelectronics 6-axis IMUs used in various HMDs and AR glasses, including the [[HoloLens 2]]. | |||
== References == | ==References== | ||
<references /> | <references /> | ||
[[Category:Terms]][[Category:Technical | [[Category:Terms]] [[Category:Technical Terms]] [[Category:Tracking]] [[Category:Tracking Technology]] [[Category:Hardware]] |