# Modern Breakthrough Technologies Enable New Applications Based on IMU Systems

Authors: Nunzio Abbate; Adriano Basile; Carmen Brigante; Alessandro Faulisi; Fabrizio La Rosa
Journal: Journal of Sensors
 (2011)

---

## Abstract

This paper describes IMU (Inertial Measurement Unit) platforms and their main target applications with a special focus on the 10-degree-of-freedom (10-DOF) inertial platform iNEMO and 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.


---

## Body

## 1. 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 attributed 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.


## 2. Main Target Applications

IMUs represent a complete hardware solution for a variety of applications including human machine interfaces, robotics, platform stabilization, and 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, multisensorial 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 [1]. 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 [2].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 [3]. Moreover the integration of a pressure sensor in these units provides further information in terms 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 [4].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 been 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 [5, 6], 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 [7–9] and to be properly monitored to check the effectiveness of the therapy.


## 3. 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.The starting point for designing an inertial platform, as described in [10], 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 Figure1 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.Figure 1
The iNEMO board.All these sensors are made by STMicroelectronics (ST), and their characteristics are summarized in Table1.Table 1
Sensors characteristics.
SensorAccelerometerMagnetometerGyroscopeFull scale±2 (g)±2 (Gauss)±300 (Deg/s)Sensitivity1 mg/LSB3.3 (mV/dps)InterfaceI2CI2CAnalogPower supply3.3 V3.3 V3.3V


### 3.1. Geomagnetic Module

The 3-axis accelerometer and 3-axis magnetometer are included in the LSM303DLH [11] geomagnetic module in 5 × 5 × 1.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 (3 × 3 × 1 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 trigate fluxgate for detecting a component of a magnetic field in directions of three axes.


### 3.2. Gyroscopes

The iNEMO platform includes one 1-axis Yaw gyro LY330ALH [12] and the biaxial Roll Pitch gyro LPR5430AL [13].The gyros have a miniaturized 3 × 5 × 1 mm and 4 × 5 × 1 mm 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 [12] 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.


### 3.3. Pressure and Temperature Sensors

The LPS001DL pressure sensor is the 300–1100 mbar absolute full scale withI2C digital output and barometer.The STLM75 is the temperature sensor with –55 to +125°C range andI2C digital interface [14].


### 3.4. Microcontroller Unit

The STM32F103 MCU [15] 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 128 Kbytes and SRAM up to 20 Kbytes), and an extensive range of enhanced I/Os and peripherals connected to two APB buses.


### 3.5. Peripherals

The MCU polls the sensors at fixed frequency, throughI2C 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 Figure2, while Figure 3 shows the first platform prototype [10] and the iNEMO [16].Figure 2
Block diagram of the iNEMO board.Figure 3
First iNEMO prototype platform (on the left) and the iNEMO (on the right).


## 3.1. Geomagnetic Module

The 3-axis accelerometer and 3-axis magnetometer are included in the LSM303DLH [11] geomagnetic module in 5 × 5 × 1.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 (3 × 3 × 1 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 trigate fluxgate for detecting a component of a magnetic field in directions of three axes.


## 3.2. Gyroscopes

The iNEMO platform includes one 1-axis Yaw gyro LY330ALH [12] and the biaxial Roll Pitch gyro LPR5430AL [13].The gyros have a miniaturized 3 × 5 × 1 mm and 4 × 5 × 1 mm 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 [12] 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.


## 3.3. Pressure and Temperature Sensors

The LPS001DL pressure sensor is the 300–1100 mbar absolute full scale withI2C digital output and barometer.The STLM75 is the temperature sensor with –55 to +125°C range andI2C digital interface [14].


## 3.4. Microcontroller Unit

The STM32F103 MCU [15] 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 128 Kbytes and SRAM up to 20 Kbytes), and an extensive range of enhanced I/Os and peripherals connected to two APB buses.


## 3.5. Peripherals

The MCU polls the sensors at fixed frequency, throughI2C 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 Figure2, while Figure 3 shows the first platform prototype [10] and the iNEMO [16].Figure 2
Block diagram of the iNEMO board.Figure 3
First iNEMO prototype platform (on the left) and the iNEMO (on the right).


## 4. 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 nonlinear, 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.


### 4.1. Kalman Filter Formulation

In general, the Kalman Filter algorithm estimates the state of a discrete-time process starting from the equations below:(1)xk+1=Akxk+Bkuk+wk,(2)zk=Hkxk+vk,
where(i)
xk is the state vector at the  k  time step, while zk is the output,(ii)
A, B, and H are, respectively, state, input, and output matrices,(iii)
w, v are state and measured noise. They are random, Gaussian, and white noise source with covariance matrix Q and R, respectively.Equation (1) is the state equation while (4) 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 statexk 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 thea priori estimate to get an improved a posterioriestimate.The equations for this recursive algorithm are shown in Figure4 [17].Figure 4
Flow diagram of the time-discrete Kalman filter: at each time stepk, the “Time update” projects the current state estimation ahead in time. The “Measurement update” adjusts the projected estimation by an actual measurement.The Kalman GainK derives from the minimizing of the a  posteriori covariance error and could be considered as a measure 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 Hx̃, while if P approaches zero, the predicted measure is more dependable.


### 4.2. 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 [18]. Quaternions are used to represent space orientation in order to improve computational efficiency and avoid singularities [19]. After EKF running, the computed quaternions have to be translated into Roll, Pitch, and Yaw angles, through transformation equations [20].The continuous-time, nonlinear system equations are [21](3)ẋ=f(x,ω)+w,(4)y=h(x)+v,
where(i)
x=[qbw]T represents the state of the system that is composed of the quaternion q=[q0q1q2q3] and the rate gyro bias bω=[bωxbωybωz],(ii)
ω is the angular rates vector [ωxωyωz],(iii)
y=[am] is the measurement vector composed by acceleration measurements [axayaz] and magnetic field [mxmymz].Nonlinear functions,f(x,ω), and h(x) in (1) and (2) can be explained as(5)f(x,ω)=[12[-q1-q2-q3q0-q3q2q3q0-q1-q2q1q0][ωx-bwxωy-bwyωz-bwz]03x1],(6)h(x)=[Cnb(q)00Cnb(q)][g⃗m⃗].Because of its nonlinearity, the system is linearized calculating the Jacobian off and h functions: so an Extended Kalman Filter is implemented. The system architecture including the implemented EKF filter, is shown in Figure 5.Figure 5
Block diagram of system including the implemented quaternion-based EKF.The estimation step of the EKF, performed at 50 Hz, uses the angular rate velocities to make a prediction of the state, as shown in Figure6. 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 [22]: the Roll-Pitch Correction step working at 25 Hz, and the Yaw Correction working at 10 Hz.Trend of the Roll (a), Pitch (b), and Yaw (c) angles measured from the iNEMO (dotted line) and from commercial IMU (solid line).
(a)(b)(c)


## 4.1. Kalman Filter Formulation

In general, the Kalman Filter algorithm estimates the state of a discrete-time process starting from the equations below:(1)xk+1=Akxk+Bkuk+wk,(2)zk=Hkxk+vk,
where(i)
xk is the state vector at the  k  time step, while zk is the output,(ii)
A, B, and H are, respectively, state, input, and output matrices,(iii)
w, v are state and measured noise. They are random, Gaussian, and white noise source with covariance matrix Q and R, respectively.Equation (1) is the state equation while (4) 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 statexk 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 thea priori estimate to get an improved a posterioriestimate.The equations for this recursive algorithm are shown in Figure4 [17].Figure 4
Flow diagram of the time-discrete Kalman filter: at each time stepk, the “Time update” projects the current state estimation ahead in time. The “Measurement update” adjusts the projected estimation by an actual measurement.The Kalman GainK derives from the minimizing of the a  posteriori covariance error and could be considered as a measure 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 Hx̃, while if P approaches zero, the predicted measure is more dependable.


## 4.2. 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 [18]. Quaternions are used to represent space orientation in order to improve computational efficiency and avoid singularities [19]. After EKF running, the computed quaternions have to be translated into Roll, Pitch, and Yaw angles, through transformation equations [20].The continuous-time, nonlinear system equations are [21](3)ẋ=f(x,ω)+w,(4)y=h(x)+v,
where(i)
x=[qbw]T represents the state of the system that is composed of the quaternion q=[q0q1q2q3] and the rate gyro bias bω=[bωxbωybωz],(ii)
ω is the angular rates vector [ωxωyωz],(iii)
y=[am] is the measurement vector composed by acceleration measurements [axayaz] and magnetic field [mxmymz].Nonlinear functions,f(x,ω), and h(x) in (1) and (2) can be explained as(5)f(x,ω)=[12[-q1-q2-q3q0-q3q2q3q0-q1-q2q1q0][ωx-bwxωy-bwyωz-bwz]03x1],(6)h(x)=[Cnb(q)00Cnb(q)][g⃗m⃗].Because of its nonlinearity, the system is linearized calculating the Jacobian off and h functions: so an Extended Kalman Filter is implemented. The system architecture including the implemented EKF filter, is shown in Figure 5.Figure 5
Block diagram of system including the implemented quaternion-based EKF.The estimation step of the EKF, performed at 50 Hz, uses the angular rate velocities to make a prediction of the state, as shown in Figure6. 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 [22]: the Roll-Pitch Correction step working at 25 Hz, and the Yaw Correction working at 10 Hz.Trend of the Roll (a), Pitch (b), and Yaw (c) angles measured from the iNEMO (dotted line) and from commercial IMU (solid line).
(a)(b)(c)


## 5. 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 is used instead of the matrix representation of the quaternions, in order to focus on 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 Figures6(a), 6(b), and 6(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, Figure7 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.Figure 7
Trend of the three gyros biases.


## 6. 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.



---

*Source: 707498-2011-03-08.xml*