Electromagnetic 3D tracking system
An electromagnetic 3D tracking system (EM 3D tracking system) is a type of 3D tracking system that uses electromagnets. EM 3D tracking systems are used for handheld controllers and head-mounted displays, typically for virtual reality. Electromagnetic tracking systems have the highest speed and accuracy of all types of 3D tracking systems in many indoor environments. EM tracking can be used for 6DOF tracking and 5DOF tracking.
Magnetic tracking was engineered into the Magic Leap 1 for its controller. Other examples of electromagnetic tracking systems are the 3D Guidance systems from Ascension and the Razer Hydra.
Electromagnetic tracking was one of the first types of 3D tracking.
EM tracking can track high detail and speed movement, like a flick of a finger.
There are two main types of EM 3D tracking: AC electromagnetic tracking and DC electromagnetic tracking. AC was the first, which was popularized by Polhemus. Then, DC was popularized by Ascension as an alternative to AC.
Electromagnetic tracking systems typically use a transmitter that has three coils, one for each X, Y, and Z direction. An example of a transmitter or receiver in this architecture is the Polhemus TX2. Alternatively, trihedral sources can be used.[1]
AC EM tracking requires that there generally not be any metal objects in the tracking area; Metal objects cause jitter and drift. Metal objects must be at least a foot or two away from a tracking area. This is due to eddy current based distortion.
Principle of operation[edit]
There is a base station and a receiver. The base station generates the magnetic field, and the receiver senses it.
Each coil is oriented along the X, Y, or Z axes. A total of nine signal measurements are made: each receiver coil receives a signal from each of the three receiver coils. That's 9 measurements per sensor in total needed for each "frame" of data.
AC tracking uses analog-to-digital converters (ADCs) to convert the sensed electromagnetic pulses into readable digital data. an SEU does this, and typically feeds the data into a microcontroller whose firmware does the mathematics and sends the pose data to a computer.
History[edit]
Electromagnetic tracking was first commercialized by Polhemus. Then, another company was founded: Ascension, which was founded by two former Polhemus employees.
Before the year 2000, EM trackers were generally limited by the speed of the computer that processed the data.[2]
Companies[edit]
- Ascension (Merged into NDI)
- Polhemus
- AmfiTrack
- NDI
- Sixense
- Radwave Technologies
- PREMO Group, a company in Spain that markets electromagnetic tracking parts, including coils.[3] Premo's electromagnets are in some AmfiTrack products.[4]
- Cedrat Technologies
Components[edit]
There are transmitter coils and sensor coils.
There must be an analog to digital converter (ADC), a coil of magnet wire (enameled wire), and a microcontroller.
6DOF electromagnetic tracking systems have beem developed by Peter Traneus Anderson.
- https://web.archive.org/web/20151002101401/http://home.comcast.net/~traneus/dry_emtrackertricoil.htm is an example of a breadboard 6DOF tracker.
A transmitter typically contains three colocated orthogonal coils. The coils can be approximated as magnetic dipoles. A receiver contains three colocated orthogonal coils. the coils are approximated as dipoles.
See List of coils for electromagnetic 3D tracking systems
In first-generation systems, there is a system electronics unit (SEU). It is a box that sources and sensors plug into.
Update rate[edit]
240Hz update rate is generally sufficient for head tracking and handheld controller tracking. Filtering such as kalman filtering makes no difference to this requirement. Under 240Hz is noticeably laggy for quick movements, like turning the head suddenly or making a sudden movement with the hand or wrist.
Measuring[edit]
Software running on a microcontroller takes measurements of the magnetic flux strength, and turns these into a position and orientation measurement. Measurements are taken the same way between AC and DC systems.
Three transmitter coils times three receiver coils gives nine coil-coupling measurements, expressable as a 3x3 signal matrix, HFluxPerIMeasured (Magnetic flux per current measured). The current should be the same, and known beforehand.
Each component of HFluxPerIMeasured is the magnetic flux through one receiver coil (due to magnetic field H from transmitter coil), divided by the current I in one transmitter coil. HFLuxPerIMeasured has units of meters, and is a geometrical property of the coils' sizes, shapes, number of turns, ferromagnetic core (if any), positions, and orientations. HFluxPerI coupling between two dipole coils.
Algorithm software running on a microcontroller calculates the sensor's position and orientation from HFluxPerIMeasured, using direct-solution algorithm (analytical method) in Raab's 1981 paper[5] or iterative solution in Raab et. al.'s 1979 paper (numerical method).
The needed accuracy in the HFluxPerI measurement can be determined by doing a sensitivity analysis.
Raab's 1981 paper describes closed-form algorithm for concentric-dipole coil trios.[6][5] Position is calculated first, directly in cartesian coordinates. Orientation is then calculated.
The Raab, Blood, Steiner, Jones paper describes iterative algorithm for concentric-dipole coil trios, using small-angle approximation for changes in position and in orientation.[7] Includes sensitivity matrix of magnetic couplings partial derivatives with respect to changes in position and orientation.
Rotation matrix to quaternion conversion[edit]
Berthold K. P. Horn, "Closed-form solution of absolute orientation using unit quaternions", Journal of the Optical Society of America A, volume 4, April, 1987, pages 629-642, has algorithm for converting from orthonormal rotation matrices to quaternions. Note error: r[2][1] on page 641 is incorrect, while r[2][1] on page 643 is correct.
Hemisphere ambiguity[edit]
There is an inherent hemisphere ambiguity, meaning that the system does not know if the tracked device is in a position in front of or behind the transmitting source. This is because a receiver at position = (Xo,Yo,Zo) and receiver at position = (-Xo,-Yo,-Zo) have identical HFluxPerI measurements if their orientations are identical.
The receiver is normally kept on one side of the transmitter, to avoid the hemisphere ambiguity. This ambiguity can be resolved by using additional transmitter or receiver coils spaced away from the colocated transmitter or receiver coils.
- The transmitter field on the unused side of the transmitter, can be eliminated by using a magnetic mirror: Reference expired U.S. patent 5,640,170, which references many older expired EM-tracker patents.
Signal to noise ratio[edit]
The electromagnetics results in the signal-to-noise ratio in the five angles being 3.4 times worse than the HFluxPerIMeasured signal-to-noise ratio, due to interactions between position errors and orientation errors.
The electromagnetics results in the signal-to-noise ratio in range being 3 times better than the HFluxPerIMeasured signal-to-noise ratio, due to the inverse-cube law of dipole-dipole field coupling.
6DOF electromagnetic tracker signal-to-noise requirements details calculating signal-to-noise ratio (SNR) from accuracy requirements.
Software algorithms[edit]
For each of the three coils in the sensor, there are three measurements: X, Y, and Z. It is known beforehand which is which, because the microcontroller knows the timing of the X, Y, and Z transmitter signals, and can pair each transitter signal with one measurement from the sensor.
The software algorithm has as its inputs a set of 9 magnetic flux strengths.
- File:Dry0097.c is a simulator program containing an implementation of Raab's algorithm.
References[edit]
- ↑ "Position and orientation measuring system having anti-distortion source configuration". 1995-06-05. https://patents.google.com/patent/US5640170A/.
- ↑ Size, Company (2014-06-26). "traneus/emtrackers: Open Source Electromagnetic Trackers". https://github.com/traneus/emtrackers.
- ↑ "VR/AR EM Motion Tracking Components". https://www.grupopremo.com/en/611-vrar-em-motion-tracking-components.
- ↑ "Gen 2 EM Motion tracking System VR Demo Kit". 2019-11-14. https://www.grupopremo.com/resources-center/247-the-revolution-in-the-positioning-and-tracking-system-with-6-degrees-of-freedom/.
- ↑ 5.0 5.1 Raab, Frederick H. (1981). "Quasi-Static Magnetic-Field Technique for Determining Position And Orientation". IEEE Transactions on Geoscience and Remote Sensing GE-19 (4): 235–243. doi:10.1109/TGRS.1981.350378.
- ↑ Frederick H. Raab, "Quasi-Static Magnetic-Field Technique for Determining Position and Orientation", IEEE Transactions on Geoscience and Remote Sensing, Vol. GE-19, No. 4, October 1981, pages 235-243
- ↑ Frederick H. Raab, Ernest B. Blood, Terry O. Steiner, Herbert R. Jones, "Magnetic Position and Orientation Tracking System", IEEE Transactions on Aerospace and Electronic Systems, Vol. AES-15, No. 5, September 1979, pages 709-718