**Modern breakthrough
technologies enable new applications based on IMU systems
By Nunzio 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.

**I. INTRODUCTION:**

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
[24]. 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 [25].

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 [29]. 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 [28].

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 [3][18], 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 [4][19][20], 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 [5], 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 [8] 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.

**B. Gyroscopes:**

The iNEMO™ platform includes one 1-axis Yaw gyro LY330ALH [6] and the biaxial Roll Pitch gyro LPR5430AL [7].
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 [6] 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 [10].

**D. Microcontroller Unit:**

The STM32F103 MCU [9] 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.

**E. Peripherals:**

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 [5] and the iNEMO™[11].

**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:

........(1.1)

........(1.2)

where:

- 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 [14].
Quaternions are used to represent space orientation in order
to improve computational efficiency and avoid singularities
[15]. After EKF running, the computed quaternions have to
be translated into Roll, Pitch and Yaw angles, through transformation
equations [16].

The continuous-time, non-linear system equations are [13]:

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
[17]: 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 [23].

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.

**REFERENCES**:

[1] Gary Bishop and Greg Welch, "An Introduction
to the Kalman Filter". University of North Carolina SIGGRAPH
2001 course notes. ACM Inc., North Carolina, 2001.

[2] 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.

[3] 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.

[4] 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.

[5] 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.

[6] LY330ALH datasheet. Available on the STMicroelectronics
website: http://www.st.com/stonline/products/literature/ds/16568/ly330alh.pdf

[7] LPR430AL datasheet. Available on the STMicroelectronics
website: http://www.st.com/stonline/products/literature/ds/16574/lpr430al.pdf

[8] LSM3031DLH datasheet. Available on the STMicroelectronics
website: http://www.st.com/stonline/products/literature/ds/16941/lsm303dlh.pdf

[9] STM32F103x datasheet. Available on the STMicroelectronics
website: http://www.st.com/stonline/products/literature/ds/14611/stm32f103re.pdf

[10] STLM75 datasheet. Available on the STMicroelectronics
website http://www.st.com/stonline/products/literature/ds/13296/stlm75.pdf

[11] http://www.st.com/inemo

[12] 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.

[13] R.E. Kalman, "A new Approach to Linear Filtering and
Prediction Problems", Transaction of the ASME-Journal of
Basic Engineering, pp35-45 (March 1960).

[14] 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.

[15] 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.

[16] 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

[17] J. A. Farrell, "Aided Navigation, GPS with High rate
sensors", Ed. McGraw-Hill, 2008, pp. 354-355.

[18] 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.

[19] 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.

[20] 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.

[21] 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.

[22] 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.

[23] 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.

[24] 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).

[25] 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.

[26] D. Roetenberg, H. Luinge and P. Slycke, "Moven: Full
6DOF Human Motion Tracking Using Miniature Inertial Sensors",
XSENS TECHNOLOGIES, December, 10, 2007.

[27] 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.

[28] http://online.wsj.com/article/PR-CO-20100224-906791.html.

[29] 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.