Motion sensors are also commonly applied in a broad range of consumer products, including smartphones, wearable devices, game controllers and sports watches, with applications ranging from screen orientation to indoor navigation. If you desire to build an Inertial Measurement Unit (IMU) to efficiently compute 3D orientation, why needing not only a 3D gyroscope, but also a 3D magnetometer and a 3D accelerometer?
In fact, the integration of gyroscope measurement errors will lead to an accumulating error in the calculated orientation. Therefore, gyroscopes alone cannot provide an absolute measurement of orientation. An accelerometer and magnetometer will measure the earth’s gravitational and magnetic fields respectively and so provide an absolute reference of orientation. However, they are likely to be subject to high levels of noise; for example, accelerations due to motion will corrupt measured direction of gravity. The task of an orientation filter is to compute a single estimate of orientation through the optimal fusion of gyroscope, accelerometer and magnetometer measurements.
The White Paper “Ultra Low-Power 9D Fusion” describes a technique to efficiently compute 3D orientation from the sensory inputs of three motion sensors:
Many sensor fusion solutions exist. The 9D fusion algorithm presented in this white paper is based on the above described principles of the orientation filter and is claimed to be at least as accurate as algorithms that are based on Kalman filtering, another popular class of fusion algorithms.
I suggest you to carefully read the white paper, describing the used quaternion (to represent the current orientation of the device) Q = [ q0 q1 q2 q3 ], and the benefit of using quaternions to represent rotation…
The 9D fusion application has been implemented on a specific configuration of the DesignWare Sensor IP Subsystem. It consists of an ARC EM4 32-bit processor and a user-configurable set of serial digital interfaces, analog-to-digital converter interfaces, hardware accelerators, and a software library of DSP functions and I/O software drivers. The ARC EM4 processor is configured to have a single-cycle 32-bit integer multiplier. In addition, the subsystem contains fixed-point hardware accelerators for multiply-accumulate (MAC), trigonometric functions and the square root function.
Synopsys white paper describes the need for sensor fusion when implementing applications like 3D orientation, as integrating a 3D gyroscope is not enough, so 3D magnetometer and accelerator sensors are needed to ensure required precision. Synopsys has built a 9D sensor fusion integrating 3D gyroscope, 3D accelerometer and 3D magnetometer, around ARC EM4 32-bit processor, and a number of user-configurable APEX extensions. To optimize this architecture for low-power consumption, the floating point version of the algorithm has been converted into a fixed point version enables using a (single cycle) integer multiplier and, more importantly, opening the way for further optimization by applying hardware accelerators. The DesignWare Sensor IP Subsystem can reduce energy consumption by a factor of 6-25 compared to other commercial processors, as shown on the above table.
You will find more about the algorithm and their implementation in the White Paper “Ultra Low-Power 9D Fusion”Share this post via: