New Technologies Simplify Integration of Motion Tracking Capabilities into Consumer Apps
A quick-paced series of MEMS design advances has brought consumers motion-tracking smarts once limited to mil-aero, industrial and other non-consumer sectors.
Leading edge motion tracking technologies that started out in military, avionics, marine and industrial applications are finding mainstream use in multiple consumer markets. The move to consumer began in gaming and smartphones and is now spreading to a wider array of applications driven by rapid advances in Micro Electro-Mechanical Systems (MEMS) design, smart system partitioning and a transfer of applications knowledge from the military, industrial and commercial realms to the consumer space.
Embedded designers can now use a new generation of inexpensive, compact and low-power MEMS-based Inertial Measurement Units (IMUs). Designers are building on these advances to integrate motion tracking capabilities into systems involved in applications ranging from health monitoring to vehicle fleet management to household robotics and more.
That task is not as simple as it appears, however. To add high-performance motion tracking solutions to today’s consumer applications, embedded designers must often reconcile conflicting goals. High accuracy motion tracking demands significant computational resources to perform sensor fusion from today’s 6-axis and 9-axis inertial systems. Systems must process data at rates of up to 1 kHz. Traditionally designers have attempted to solve this problem by simply streaming high-rate sensor data from the IMU to the application processor. But how do designers deliver a high level of accuracy without burying the system processor in a heavy computational load, with its accompanying high-frequency interrupts and high power drain, all of which tend to undermine performance and lead to a poor user experience?
Additionally, automatic background sensor calibration is another item to contend with in the development of any high-performance motion tracking solution. Outputs of all sensors drift over time and, without auto-calibration, that drift degrades performance, accuracy and consistency. But developing advanced and proven auto-calibration algorithms is one of the more time-consuming tasks designers face. How can designers deliver this capability in a consumer marketplace where time-to-market windows are notoriously narrow and short-lived?
Power Preservation as Inertial Data Gets Processed
New emerging technologies promise to make these design challenges much more manageable. Designers can shorten the time needed to integrate high-performance motion tracking capabilities by selecting a 6-axis MEMS IMU that comes bundled with a 9-axis sensor fusion solution and integrates a 3-axis accelerometer and a 3-axis gyroscope with an advanced vector DSP co-processor. For example, it’s now possible to connect an external, third-party 3-axis magnetometer through an I2C master to a MEMS IMU from Fairchild Semiconductor, the FIS1100, to enable a complete 9 Degree of Freedom (9-DOF) solution with time synchronized inertial data.
A device that employs an advanced vector DSP co-processor makes it possible to efficiently encode high-frequency motion at high internal sampling rates. At the same time, this approach preserves full accuracy across any output data rate. This device processes inertial data at a fraction of the power consumption needed to perform the same calculations on a generic host processor. In applications such as pedestrian navigation, the FIS1100 can reduce the output data rate by as much as 100x versus traditional IMUs without a- on-board motion co-processor.
A product which can offload high frequency, computationally intense operations from the host processor can reduce overall system-level power consumption by up to 10x. And it can eliminate the need for high frequency data interrupts to the host, aiding system integration. Creating an accurate and enjoyable user experience rests on a solution’s ability to ensure the high level of accuracy needed in processing motion data.
The FIS1100 MEMS IMU, used in conjunction with a 9-axis sensor fusion solution from Fairchild Semiconductor, the XKF3, allows high accuracy motion tracking at extremely low system power levels. Based on Extended Kalman Filter theory, XKF3 is an optimal estimation algorithm that fuses 3D accelerometer, 3D gyroscope and 3D magnetometer data to estimate 3D orientation and additional parameters in an Earth-fixed frame of reference.
The Changing Magnetic Environment Challenge
Performing auto-calibration automatically and transparently allows optimal performance without disrupting normal use. As an example, consider systems employing magnetometers, so that heading relative to the Earth’s magnetic North may be utilized. In practice, the use of these sensors is quite challenging since the magnetic environment of the sensor continuously changes due to items such as magnetization in the consumer device itself, varying currents in nearby items such as speakers and smartphones, and ferrous items such as wall beams, car bodies, etc. To maximize the user experience in motion tracking applications, the XKF3 automatically calibrates for these hard and soft iron effects using a zero-user-interaction magnetometer calibration that operates continually during normal use. The algorithm eliminates the need for user interruptions, while ensuring high accuracy and consistent performance.
Traditional Approach Vulnerable to a Major Liability
To preserve accuracy in motion tracking applications, strap-down integration (SDI) of inertial quantities must be performed at rates as high as 1 kHz to minimize errors. This requirement poses major implications from a system architecture standpoint, particularly in battery-powered or mobile consumer applications where the host processor needs to enter sleep mode as much as possible to preserve power.
Traditionally designers have built motion-tracking solutions by streaming accelerometer and gyroscope samples from the IMU side to the host processor side of the design. The host processor then performs the SDI computations on the inertial quantities (see Figure 1).
Figure 1. Traditional architecture of an orientation-tracking filter.
This places an unnecessary burden on the host processor, since the actual update rate required by the final application typically ranges from a few Hz for something like pedestrian navigation to a few 10s of Hz for gaming, fitness tracking and robotic control. Therefore, the only reason to stream the inertial data at high rates is to perform accurate numerical integration of acceleration and angular velocity.
The high data rate streaming presents a major liability, however, because it requires the host processor to handle very frequent data interrupts, which not only has power implications, but makes software design harder due to the frequent high-priority motion interrupts. These limitations of the traditional architecture often force designers to consider undesirable tradeoffs between lower performance, high power consumption, difficult system integration, higher cost and a poor user experience.
The ability of the FIS110 and XKF3 to achieve a high level of motion tracking accuracy at system power levels an order of magnitude lower than traditional architectures is a product of the computational partitioning of the architecture depicted in Figure 2.
Figure 2. Partioning the computationally intense SDI calculations onto the FIS1100 AttitudeEngine, an advanced vector DSP co-processor, while low rate motion data is streamed to the host processor running the XKF3 sensor.
This architecture creates a clear segmentation between the SDI step in the advanced vector DSP co-processor and the state tracking and auto-calibration step in the XKF3 sensor fusion engine. SDI calculations must run at a high rate (1 kHz) while the actual XKF3 engine can run at a much lower rate, as discussed above. Segmenting these tasks dramatically reduces the host processor’s computational load even when running in high-accuracy 9D fusion mode with full auto-calibration. This architecture also leads to a higher-quality sensor fusion. By running state tracking at a very low rate, the XKF3 can track a relatively large number of states, enabling statistically optimal tracking of multiple calibration parameters without paying a penalty in system resources.
As a recursive algorithm the XKF3 requires minimal resources for code size and memory and, therefore, can be implemented in relatively small (“sensor hub”) MCUs such as the ARM Cortex M class. Figure 3 illustrates the type of power savings this unique partitioning can deliver even on relatively small sensor hub MCUs. When using larger application processors the power savings will be even larger.
Figure 3. Using the FIS1100 in conjunction with the XKF3, embedded designers can reduce system power by a factor of 10 compared to a generic IMU implementation. The MCU used in these measurements was an ARM Cortex M4F.
Figure 3 compares the new architecture with three different implementations of a traditional architecture where:
- Acceleration and angular velocity are sampled at 1 kHz and directly streamed to the MCU at the same rate.
- Acceleration and angular velocity are sampled at 250 Hz and directly streamed to the MCU at the same rate. Note that in this case that the motion tracking accuracy is lower.
- Acceleration and angular velocity are sampled at 250 Hz and directly streamed in bursts at 32 Hz using the FIS1100’s large FIFO. Note that in this case that the motion tracking accuracy is lower.
Using the FIS1100 AttitudeEngine together with the XKF3 orientation tracking filter running on a general purpose application processor (AP) or standard microcontroller (MCU), the power consumed by the processor to run a complete application, including communication to the host and so on, as well as perform sensor fusion is only 1.0 mA or less. When the traditional architecture is used and acceleration and gyroscope samples are streamed at a 1 kHz rate, for example, the power consumed is 12.6 mA on a standard MCU—which is 10 times higher than with SDI done on the FIS1100.
Demand for high-performance motion tracking capability in consumer applications is rapidly growing. The question embedded designers must answer is how can they guarantee a high level of motion tracking accuracy without undergoing a complex redesign process and undermining system performance or power budgets. There are now new opportunities to deliver this exciting capability without paying a penalty in performance or power.
Per J. Slycke is a recognized authority in MEMS technology and its applications. He is currently the Vice President of Motion Tracking Solutions for Fairchild Semiconductors and he previously co-founded Xsens, a leading innovator in 3D motion tracking technology and products, which was recently acquired by Fairchild. Slycke holds a MS in Applied Physics from the University of Twente in the Netherlands.