Abbate, Adriano Basile, Carmen Brigante, Alessandro Faulisi, Fabrizio La Rosa, STMicroelectronics
Abstract: This design paper describes IMU (Inertial Measurement Unit) platforms and their main target applications with a special focus on the 10 degrees of freedom (10-DOF) inertial platform iNEMO, its technical features and performances. The iNEMO module is equipped with a 3-axis MEMS accelerometer, a 3-axis MEMS gyroscope, a 3-axis MEMS magnetometer, a pressure sensor and a temperature sensor. Furthermore the Microcontroller Unit (MCU) collects measurements by the sensors and computes the orientation through a customized Extended Kalman Filter (EKF) for sensor fusion.
The continuous innovation in new technological processes permits the Inertial Measurement Units (IMUs) to become a fundamental part in a broad range of applications, from the most typical ones such as dead reckoning and game controllers, to the last technological breakthrough sectors as patients' rehabilitation in medical segment or the Electronic Stability Control (ESC) in the automotive segment.
The reason of this great success is mainly to attribute to two factors: first because of the MEMS-based technology development that has significantly improved inertial sensors' performances and strongly reduced package sizes, making another step forward in the field of the system miniaturization. Then because of the use of more reliable embedded algorithms and calibration procedures, designed to enable the convergence of several sensors in the same platform, and to make the system more robust.
Based on these assumptions, IMUs' capability of characterizing processes or environments has become a fundamental feature for the understanding and the development of system solutions.
II. MAIN TARGET APPLICATIONS:
IMUs represent a complete hardware solution for a variety of applications including human machine interfaces, robotics, platform stabilization, virtual and augmented reality. Today's motion sensing technology, mixed with untraditional algorithms, is enabling new levels of innovation in all electronics markets.
For example, since its first appearance on the market, multi-sensorial platforms have changed the way of playing with the game consoles in a new dynamic mode. This has been possible thanks to the data fusion among the different sensors of the IMU used to implement the game controllers.
Data fusion among several sensors is also important for navigation system solutions either in automotive applications or in pedestrian navigation systems used as handheld devices . In both cases, the IMU provides measurements for controlling the three-dimensional position and orientation, as well as acceleration and angular rate measurement that can be useful to recognize linear movement of the vehicle in case of loss of GPS signal, if the platform is GPS-assisted .
The personal navigation systems performed with Pedestrian Dead Reckoning (PDR) systems are well suited solutions for indoor use or in urban environments where GPS signals are degraded or not available . Moreover the integration of a pressure sensor in these units provides further information in term of altitude. Barometer data are used to improve satellite-based vertical position and to fix heights in order to strengthen the navigation system functionality, because the accuracy of the barometer exceeds that of GPS module.
In the automotive segment, last solution adopted by car manufacturers is to integrate the Electronic Stability Control system (ESC) with the Inertial Measurement Unit (IMU) to perform data acquisition, previously made by stand-alone sensors, directly within the ESC electronics module. This design strategy is recognized as a viable way to reduce the number of sensor modules in the vehicle while retaining the performance of the ESC .
The Inertial Measurement Units can be also useful as Human Machine Interface in industrial processes, to increase workers' safety avoiding any physical risk in objects manipulation and environment interaction. IMUs are used to assign cognition capability to industrial manipulators, small smart arms and exoskeleton parts, in order to help people to better manage assembly processes.
Distributed sensors architecture for motion capture would be hosted on different structure of robots, like manipulators and rovers.
In the medical segment a growing attention has paid to IMUs as Patient Monitoring tool in order to build monitoring networks for the patients and the elder people in the hospitals and in their own houses.
Moreover, during the rehabilitation program , it should be useful to monitor the daily therapeutic activity by remote. So, patients shall have all possible means to improve rehabilitation care at their disposal at their domestic environment , and to be properly monitored to check the effectiveness of the therapy.
III.IMU HARDWARE STRUCTURE:
In an Inertial Measurement Unit the inertial sensors and the Microcontroller Unit (MCU) represent the core of the platform. After data capturing, the MCU executes the Extended Kalman Filter (EKF), a set of mathematical equations that provides an efficient computational means able to minimize the mean of the squared error.
The design of an inertial platform must follow several requirements and constrains in order to have the best trade-off between performances, cost and system's flexibility to cover a wide range of applications. iNEMO platform has been designed following these guidelines in order to have a modular solution based on the principles of miniaturization, low power consumption and cost effectiveness.
Fig. 1: the iNEMO board
The starting point for designing an inertial platform, as described in , is the definition of the main components.
The iNEMO platform is provided with a 10 Degree Of Freedom (10-DOF) sensors system, so the products selection is fundamental to mark out the system performances. For this reason, the best MEMS-based sensors are selected to develop the IMU presented in Fig.1: a 3-axis accelerometer, a 3-axis magnetometer and 3-axis gyroscopes. A pressure sensor and a temperature sensor have been included in the platform.
Table 1: Sensors characteristics.
All these sensors are made by STMicroelectronics (ST) and their characteristics are summarized in above Table
A. Geomagnetic Module:
The 3-axis accelerometer and 3-axis magnetometer are included in the LSM303DLH  geomagnetic module in 5x5x1.5 mm package. The accelerometer part has a dynamically selectable full-scale range of ±2 g/±4 g/±8 g, the data output data rate is from 0.5 Hz to 1 kHz, in very small sizes (3x3x1 mm). In the accelerometer, the sensing element, capable of detecting the acceleration, is manufactured using a dedicated process developed by ST to produce inertial sensors and actuators in silicon.
The magnetometer range is from ±1.3 to ±8.1 [gauss] and the Bandwidth is about 20 Hz. The magnetometer is based on a thin film tri-gate fluxgate for detecting a component of a magnetic field in directions of three axes.
The iNEMO™ platform includes one 1-axis Yaw gyro LY330ALH  and the biaxial Roll Pitch gyro LPR5430AL . The gyros have a miniaturized 3x5x1mm and 4x5x1mm package respectively, a full scale range of ±300 Deg/s with a Bandwidth of 140 Hz and sensitivity of 3.3 mV/Deg/s. Particularly output of LY330ALH  has a full scale of ±300 °/s and is capable of measuring rates with a -3 dB bandwidth up to 88 Hz. The combination of these sensors allows a compact design with all the 3-axial gyro system in one planar layer. The LPR430AL has a similar structure for each axis.
C. Pressure and Temperature sensors:
The LPS001DL pressure sensor is the 300-1100 mbar absolute full scale with I2C digital output and barometer.
The STLM75 is the temperature sensor with -55 to +125 °C range and I2C digital interface .
D. Microcontroller Unit:
The STM32F103 MCU  collects the data from the sensor and performs the EKF algorithm. The MCU is a high-performance ARM Cortex-M3 with 32-bit RISC core working at 72 MHz, high-speed embedded memories (Flash memory up to 128Kbytes and SRAM up to 20 Kbytes) and an extensive range of enhanced I/Os and peripherals connected to two APB buses.
The MCU polls the sensors at fixed frequency, through I2C and ADC channel. After sensor fusion process the data could be transferred to a collector through a ZigBee wireless communication or through serial wired communication. A MicroSD memory is also available for data logging
The board architecture is shown in Fig.2, while the Fig.3 shows the first platform prototype  and the iNEMO™.
Fig. 2: Block diagram of the iNEMO board.
Fig. 3: First iNEMO prototype platform (on the left) and the iNEMO (on the right)
IV. EXTENDED KALMAN FILTER:
In the IMU platform, a data fusion algorithm calculates the orientation data, starting from the measurements of several sensors. A set of mathematical equations, called Kalman filter, combines measurements coming from different sensors.
The Kalman filter provides an efficient computational recursive means to estimate the state of a process, minimizing the mean of the squared error. As very powerful tool, it supports estimations of past, present, and even future states, and it can do so even when the precise nature of the modeled system is unknown.
When either the system state dynamics or the observation dynamics is non-linear, the Extended Kalman filter (EKF) is adopted.
In this scenario, using several kinds of sensors, the characteristics of each one overcome the limitation of the others. So, while gyroscopes measure orientation by integrating angular velocities, and the accelerometer and magnetometer provide a noisy and disturbed but drift-free measurement of orientation, the EKF weights the three sources of information in an appropriate way.
In this section, after a brief formulation of the discrete-time EKF algorithm, it will be described the structure of the quaternion-based EKF.
A. Kalman Filter Formulation:
In general, the Kalman Filter algorithm estimates the state of a discrete-time process starting from the equations below:
- xk is the state vector at the k time step, while zk is the output ;
- A, B, H, are respectively state, input and output matrix;
- w, v are state and measured noise;
They are random, Gaussian, white noise source with covariance matrix Q and R respectively. The (1.1) is the state equation while the (2.2) is the output equation. The vector x contains all of the information about the present state of the system, but we cannot measure x directly. For every time step, the algorithm provides estimation both for the state xk and for the error covariance Pk. This one provides an indication of the uncertainty associated with the current state estimate. The updated measured equations (corrector equations) provide a feedback by incorporating a new measured value into the a priori estimate to get an improved a posteriori estimate.
Fig. 4: Flow diagram of the time-discrete Kalman filter: at each time step k, the "Time update" projects the current state estimation ahead in time. The "Measurement update" adjusts the projected estimation by an actual measurement.
The Kalman Gain K derives from the minimizing of the a posteriori covariance error, and could be considered as ameasure of the confidence level of the predicted state. In fact, if R approaches zero, the actual measured z is more reliable than the predicted measured , while if P approaches zero the predicted measure is more dependable.
B. Quaternion-based EKF:
In inertial systems, the orientation obtained by integrating gyros' data, includes any superimposed sensor drifts and noises. The orientation drift errors caused by gyros can be reduced including additional sensors (i.e. accelerometers and magnetometers).
In the present work, a classic state augmentation technique is applied to the process model, so the state vector is composed by orientation and gyro bias. In this way the earth's gravitational and magnetic fields vectors are resolved by the aiding system in the body frame, with their known representation in the NED (North East Down) absolute reference frame . Quaternions are used to represent space orientation in order to improve computational efficiency and avoid singularities . After EKF running, the computed quaternions have to be translated into Roll, Pitch and Yaw angles, through transformation equations .
The continuous-time, non-linear system equations are :
Because of its non-linearity, the system is linearized calculating the Jacobian of f and h functions: so an Extended Kalman Filter is implemented.
The estimation step of the EKF, performed at 50Hz, uses the angular rate velocities to make a prediction of the state, as shown in Fig. 6. Since acceleration data are used to correct the Roll and Pitch angles and the magnetic field data improves the Yaw angle, the "Correction Step" of the implemented EKF is split into two cascaded stages : the Roll-Pitch Correction step working at 25Hz, and the Yaw Correction working at 10Hz.
Fig.5. Flow diagram of the implemented quaternion based EKF
V. EXPERIMENTAL EVALUATION AND RESULTS:
The evaluation of the implemented EKF algorithm has been performed making a comparison between the iNEMO platform and a commercial IMU currently present in the market. The experiment is based on the direct comparison of the processed signals by fixing the two IMUs to a subject's hand, using Velcro straps.
The hand movements could be considered as a representative example of human motion, so the direct comparison has been carried out in the same condition of movement; a similar approach was followed in .
In this section, the graphical representation of the Roll, Pitch and Yaw angles are used instead of the matrix representation of the quaternions, in order to focus the performances comparison between the two IMUs. The matrix representation of the quaternions and a spatial representation based on the space coordinates extracted from the sensors by the Kalman filter, have been further implemented by a special software that includes also a PC GUI for sensors output display and facilitates the use of the board features.
In the following figures, Fig. 6 (a, b, c), the results of a typical trial and the comparison with the common commercial IMU solution are shown. The algorithm implemented on the iNEMO board is able to estimate correctly the orientation of the hand during the movements, with performances comparable with the commercial IMU.
Moreover, the Fig.7 shows the convergence of the gyro bias values for the same trial. This result confirms the stability of the EKF algorithm on the estimation of the gyroscope bias (state variable) nevertheless variation due to thermal or voltage changes.
Fig. 6: Trend of the Roll (a), Pitch (b) and Yaw (c) angles measured from the iNEMO (dotted line) and from commercial IMU (solid line)
Fig. 7. Trend of the three gyros biases.
VI. CONCLUSION: In this paper it has been presented the range of applications targeted by IMUs platform, with a special focus on iNEMO inertial measurement unit. The iNEMO module is provided by a microcontroller and 9-axis inertial sensors (miniaturized MEMS accelerometer, gyroscope and magnetometer), enabling it to retrieve the Roll, Pitch and Yaw angles by using an Extended Kalman Filter for the sensor fusion. The accuracy obtained by iNEMO, during a significant representative set of movements, is satisfying for a correct movement reconstruction and comparable with the results obtained by a commercial IMU.
A comparison of the main features of iNEMO with other commercial systems has been showed.
 Gary Bishop and Greg Welch, "An Introduction to the Kalman Filter". University of North Carolina SIGGRAPH 2001 course notes. ACM Inc., North Carolina, 2001.
 D. Vlasic , R.Adelsberger , G. Vannucci , J. Barnwell , M. Gross , W. Matusik , J. Popovic, "Practical motion capture in everyday surroundings", ACM Transactions on Graphics (TOG), v.26 n.3, July 2007.
 Y. Masuda, M. Sekimoto, M. Nambu, Y. Higashi, T. Fujimoto, K. Chihara, and Y. Tamura, "An unconstrained monitoring system for home rehabilitation," Engineering in Medicine and Biology Magazine, IEEE, vol. 24, pp. 43-47, 2005.
 H. Lee, Y.-T. Kim, J.-W. Jung, K.-H. Park, D.-J. Kim, and Z. Z. Bien, "A 24-hour health monitoring system in a smart house," Gerontechnology, vol. 7, pp. 22-35, 2008.
 N. Abbate, A. Basile, C. Brigante, A. Faulisi, "Development of a MEMS based wearable motion capture system" in Human System Interactions, 2009. HSI '09. 2nd Conference, Catania, May 2009 pp255 - 259.
 LY330ALH datasheet. Available on the STMicroelectronics website: http://www.st.com/stonline/products/literature/ds/16568/ly330alh.pdf
 LPR430AL datasheet. Available on the STMicroelectronics website: http://www.st.com/stonline/products/literature/ds/16574/lpr430al.pdf
 LSM3031DLH datasheet. Available on the STMicroelectronics website: http://www.st.com/stonline/products/literature/ds/16941/lsm303dlh.pdf
 STM32F103x datasheet. Available on the STMicroelectronics website: http://www.st.com/stonline/products/literature/ds/14611/stm32f103re.pdf
 STLM75 datasheet. Available on the STMicroelectronics website http://www.st.com/stonline/products/literature/ds/13296/stlm75.pdf
 Karol J. O'Donovan, Roman Kamnik, Derek T O'Keeffe and Gerard M. Lyons, "An Inertial and magnetic sensor based technioque for joint angle measurement", Journal of Biomachanic 40 (2007), pp. 2604-2611.
 R.E. Kalman, "A new Approach to Linear Filtering and Prediction Problems", Transaction of the ASME-Journal of Basic Engineering, pp35-45 (March 1960).
 A. M. Sabatini, "Quaternion-based strap-down integration method for applications of inertial sensing to gait analysis," Med. Biol. Eng.Comput., vol. 43, no. 1, pp. 94-101, Jan. 2005.
 Yun X., "Design, Implementation, and Experimental Results of a Quaternion-Based Kalman Filter for Human Body Motion Tracking" IEEE Transactions on Robotics, vol. 22,no. 6, Dec. 2006.
 Jang J.S. and Liccardo D., "Automation of a small UAVS using a low cost MEMS", Aerospace and Electronic Systems Magazine, IEEE Volume 22, Issue 5, May 2007 pp30 - 34
 J. A. Farrell, "Aided Navigation, GPS with High rate sensors", Ed. McGraw-Hill, 2008, pp. 354-355.
 Bartosz P. Jarochowsky, SeungJung Shin, DaeHyun Ryu, HyungJun Kim, "Ubiquitous Rehabilitation Center: An Implementation of a wireless Sensor Network Based Rehabilitation Management System", 2007 International Conference on Convergence Information Technology, 2007.
 Sachin Bhardway, Dae-Seok Lee, S.C.Mukhopadhhyay and Wan-Young Chung, "Ubiquitous Healthcare Data Analysis and Monitoring Using Multiple Wireless Sensors for Elderly Person", Sensor & Transducer Journal, Vol. 90, Special Issue, April 2008, pp. 87-99.
 Orendurrff, Jason A. Schoen, Greta C. Bernatz, Ava D. Segal, Glenn K., "How humans walk: bout duration, steps per bout, and rest duration" Journal of Rehabilitation Research & Development Vol. 45, Number 7, 2008, pp. 1077-1090.
 Roberto Alonso and Malcolm D. Shuster "Attitude-Independent Magnetometer Bias Determination: A Survey" The Journal of the Astronautical Sciences, Vol. 50, No. 4, October-December 2002, pp. 453-475.
 Demoz Gebre-Egziabher, Gabriel H. Elkaim, J David Powell and Bradford W. Parkinson ,"Calibration of Strapdown magnetometers in Magnetic Field Domain", Journal of Aerospace Engineering, April 2006, pp. 87-101.
 Angelo M. Sabatini, "Quaternion-Based Extended Kalman Filter for Determining Orientation by Inertial and Magnetic Sensing", IEEE Transactions on Biomedical Engineering, Vol. 53, No. 7, July 2006, pp. 1346-1356.
 M. Jadaliha, A.M. Shahri and M. Mobed "A new Pedestrian Navigation System based on a Low-Cost IMU" Proceedings of the 5th International Conference on Ubiquitous Robots and Ambient Intelligence (URAI 2008).
 Lauro Ojeda and Johan Borenstein, "Non-GPS Navigation with the personal Dead-Reckoning System", SPIE Defence and Security Conference, Unmanned Systems Technology IX, Orlando, Florida, April 9-13, 2007.
 D. Roetenberg, H. Luinge and P. Slycke, "Moven: Full 6DOF Human Motion Tracking Using Miniature Inertial Sensors", XSENS TECHNOLOGIES, December, 10, 2007.
 J.F. Vasconcelos, G. Elkaim, C. Silvestre, P. Oliveira, B. Caldeira, "A geometric Approach to Strapdown Magnetometer Calibration in Sensor Frame", IFAC Workshop on Navigation, Guidance, and Control of Underwater Vehicles, IFAC NGCUV 2008, Ireland, Apr. 8-10, 2008.
 O. Mezentsev and G. Lachapelle, "Pedestrian Dead Reckoning - A solution to navigation in GPS signal degraded areas", Jussi Collin, Institute of Digital and Computer Systems, Tampere University of Technology, Tampere, Finland. GEOMATICA Vol. 59, No. 2, 2005, pp. 175 to 182.