IMU calib
IMU calib
IMU calib
net/publication/273383944
A robust and easy to implement method for IMU calibration without external
equipments
Conference Paper in Proceedings - IEEE International Conference on Robotics and Automation · September 2013
DOI: 10.1109/ICRA.2014.6907297
CITATIONS READS
236 19,854
3 authors:
Emanuele Menegatti
University of Padova
288 PUBLICATIONS 4,720 CITATIONS
SEE PROFILE
All content following this page was uploaded by Alberto Pretto on 11 September 2017.
I. I NTRODUCTION
IMUs (Inertial Measurement Units) are very popular
sensors in robotics: among others, they have been exploited Fig. 1. Calibration protocol: (top) Some examples of the Xsens MTi IMU
disposed in different attitudes as required by our method; (down) Diagram
for inertial-only navigation [1], attitude estimation [2], and of our calibration protocol
visual-inertial navigation [3], [4], also using a smartphone
device [5]. IMUs used in robotics are usually based on
MEMS (micro electro mechanical systems) technology.
sensitivities, and non zero biases. The IMU calibration
They are composed by a set of tri-axial clusters: an
refers to the process of identifying these quantities.
accelerometers, a gyros and often a magnetometer cluster.
In an ideal IMU, the tri-axial clusters should share the same
Many commercial IMU in the cost range form 1000 $
3D orthogonal sensitivity axes that span a three dimensional
to 2000 $, such as the Xsens MTi [6] exploited in the
space, while the scale factor should convert the digital
experiments (Sec. V), are factory calibrated 1 . Each sensor
quantity measured by each sensor into the real physical
is sold with its own calibration parameter set stored into the
quantity (e.g, accelerations and gyro rates). Unfortunately,
firmware or inside a non-volatile memory, providing accurate
low cost MEMS based IMU are usually affected by non
measurements off the shelf. Unfortunately, the overhead
accurate scaling, sensor axis misalignments, cross-axis
cost for the factory calibration is predominant: usually the
This research has been partially supported by Consorzio Ethics with sensor hardware (sensors, chips, embodiment, . . . ) is likely
the grant ”Rehabilitation Robotics”, by Univ. of Padova with the grant to be only a fraction of the final device cost. Actually, the
“TIDY-UP: Enhanced Visual Exploration for Robot Navigation and Ob-
ject Recognition”, and by the European Commission under FP7-600890-
factory calibration is usually performed using standard but
ROVINA. The authors are with the Department of Information Engineering, effective methods, where the device outputs are compared
University of Padova, Italy. Email: [email protected], with known references: this process requires time for each
[email protected]. Pretto is also with the Department of Computer,
Control, and Management Engineering “Antonio Ruberti“, Sapienza Univer-
sity of Rome, Italy. Email: [email protected] 1 Often they are also compensated over temperature
sensor and a high cost equipment. On the other hand, low- drifts in a period estimated using the Allan variance
cost IMUs (20-100 $) and the IMU sensors that equip current • We introduce a simple but effective static detector
smartphones are usually poorly calibrated, resulting in mea- that exploits the sensor noise magnitude, a fixed-time
surements coupled with not negligible systematic errors. For sampling window and a cutting threshold, automatically
instance, state-of-the-art visual-inertial navigation systems estimated inside the optimization framework
such the one presented in [5], that exploits a smartphone as • We employ the Runge-Kutta numerical integration
experimental platform, while performing so well in forward, method to improve the accuracy of the gyroscope cali-
almost regular, motion 2 , shows lower performances in more bration.
“exciting” motions, i.e. in motions that quickly change linear We have extensively tested our system using synthetic data
acceleration and rotational axes. affected by variable biases, misalignments, scale factor er-
In this paper, we propose an effective and easy to imple- rors, and noise. In all of the cases, we have obtained
ment calibration scheme, that only requires to collect IMU stable and accurate results. Moreover, we have performed
data with the simple procedure described in the flow chart the calibration of a commercial, factory calibrated Xsens
reported in Fig. 1. After an initial initialization period with MTi IMU, using its raw, uncalibrated data as input. Our
no motion, the operator should move the IMU in different calibration results are comparable to the factory parameters
positions, in order to generate a set of distinct, temporarily reported by the device’s calibration certificate.
stable, rotations. The collected dataset is used to calibrate the
scale and misalignments factors for both the accelerometers A. Related Works
and gyroscopes triads, while estimating the sensor biases. Traditionally the calibration of an IMU has been done by
As other calibration technique, we neglect the effect of the using special mechanical platforms such as a robotic ma-
cross-axis sensitivities, since for minor misalignments and nipulator, moving the IMU with known rotational velocities
minor cross-axis sensitivities errors it is usually difficult to in a set of precisely controlled orientations [9], [10], [11].
distinguish between them. At each orientation, the output of the accelerometers are
Our procedure exploits the basic idea of the multi-position compared with the precomputed gravity vector while during
method, firstly presented in [7] for accelerometers calibra- the rotations the output of gyroscopes are compared with the
tion: in a static position, the norms of the measured acceler- precomputed rotational velocity. However, the mechanical
ations is equal to the magnitudes of the gravity plus a multi- platforms used for calibration are usually very expensive,
source error factor (i.e., it includes biases, misalignment, resulting in a calibration cost that often exceeds the cost of
noise,...). All these quantities can be estimated via minimiza- the IMU’s hardware.
tion over a set of static attitudes. After the calibration of the In [12] a calibration procedure that exploits a marker-
accelerometer triad, we can use the gravity vector positions based optical tracking system has been presented, while in
measured by the accelerometers as a reference to calibrate the [13], the GPS readings are used to calibrate initial biases
gyroscope triad. Integrating the angular velocities between and misalignments. Clearly, the accuracy of these methods
two consecutive static positions, we can estimate the gravity strongly depends on the accuracy of the employed kinematic
positions in the new orientation. The gyroscopes calibration reference (i.e., the motion capture system or the GPS). The
is finally obtained minimizing the errors between these multi-position method was firstly introduced by Lotters et al.
estimates and the gravity references given by the calibrated [7]: they proposed to calibrate the biases and the scale factor
accelerometers. of the accelerometers using the fact that the magnitude of
In this procedure the gyroscopes calibration accuracy the static acceleration must equal to the gravity’s magnitude.
strongly depends on the accuracy of the accelerometers cali- This technique has been extended in [14] and [15] to include
bration, being used as a reference. Moreover, signal noise and the accelerometer axis misalignment. The error model they
biases should negatively affect both the calibration accuracy proposed for the gyroscopes is similar to the one used for
and the reliability of the algorithms used to detect the actual the accelerometers, but the calibration procedure in this
static intervals used in the calibration. Finally, a consistent case requires a single axis turntable to provide a strong
numerical integration process is essential to mitigate the rotation rate signal, providing high calibration accuracy. Un-
effect of the signal discretization, usually sampled at 100 fortunately, these approaches not only require a mechanical
Hz. In our approach, we face these problems introducing equipment, but the two triads are independently calibrated,
the following modifications to the standard multi-position and the misalignment between them can’t be detected. In
method: [8] and [16] authors presented two calibration schemes that
• The proposed calibration protocol exploits a larger do not require any external mechanical equipment. Similarly
number of static states with reduced periods, in order to to our approach, in the first work the authors calibrate
increase the cardinality of the dataset while preserving the accelerometers exploiting the high local stability of the
the assumption of local stability of the sensors biases gravity vector’s magnitude, and then gyroscopes calibration
• As proposed in [8], we characterize the gyroscope bias is obtained comparing the gravity vector sensed by the
calibrated accelerometer with the gravity vector obtained by
2 Actually, during an almost regular motion miscalibration errors may integrating the angular velocities. In the second work the
easily be assimilated by the biases included in the system state authors also exploit the local stability of the magnetic field.
Hwangbo et al. [17] recently proposed a self-calibration
technique based on an iterative matrix factorization. They
use gravity as accelerometers reference, and a camera as
gyroscopes reference.
II. S ENSOR E RROR M ODEL
For an ideal IMU, the 3 axes of the accelerometers
triad and the 3 axes of the gyroscopes triad define a
single, shared, orthogonal 3D frame. Each accelerometer
senses the acceleration along of one distinct axis, while
each gyroscope measures the angular velocity around the
same axis. Unfortunately in real IMUs, due to assembly
inaccuracy, the two triads form two distinct (i.e., misaligned),
non-orthogonal, frames. Also the single sensors are not
perfect: typically the scaling factors used to convert the
digital outputs of the sensors in real physical quantity Fig. 2. Non-orthogonal sensor (accelerometers or gyroscopes) axes (xS ,
are different for different instances of the same sensors, y S , z S ), and body frame axes (xB , y B , z B ).
while only a default, nominal scaling factor is provided
by manufacturers. Moreover, the output signals are almost
always affected by non zero, variable biases. where we have changed letter β, referring to the general
case, with the letter α, referring to the accelerometer case,
As introduced above, both the accelerometers frame (AF) while aO and aS denote the specific acceleration in AOF
and the gyroscopes frame (GF) are usually non-orthogonal. and AF, respectively3 .
We can define two associated orthogonal, ideal frames (AOF
and GOF, respectively) in the following way: As mentioned before, gyroscope and accelerometer mea-
• The x-axis of the AOF and the one of the AF coincide surements should refer to the same reference frame, in our
• The y-axis of the AOF lies in the plan spanned by the case AOF. Then, using Eq. 1, for the gyroscopes, we have:
x and y axes of the AF.
1 −γyz γzy
For the gyroscopes case, it is sufficient to substitute the AF ω O = Tg ω S , Tg = γxz 1 −γzx (3)
and AOF acronyms with GF and GOF, respectively. Finally, −γxy γyx 1
we define a body frame (BF), which is an orthogonal frame
that represents, for example, the coordinate frame of the where ω O and ω S denote the specific angular velocities in
IMU’s chassis. The body frame usually differs from the AOF and in GF , respectively.
AF and GF frames by small angles but, in general, there Both the accelerometers and the gyroscopes are affected
is no direct relation between them. For small angles, a by biases and scale errors. Two scaling matrix are introduced
measurement sS in a non-orthogonal frame (AF or GF) can a g
sx 0 0 sx 0 0
be transformed in the orthogonal body frame as (for details
Ka = 0 say 0 , Kg = 0 sgy 0 (4)
of the derivation, see [18]): a
0 0 sz 0 0 sgz
1 −βyz βzy
We introduce also two bias vector
sB = TsS , T = βxz 1 −βzx (1) a g
−βxy βyx 1 bx bx
ba = bay , bg = bgy (5)
where sB and sS denote the specific force (acceleration),
baz bgz
or equivalently the rotational velocity, in the body frame
coordinates and accelerometers (or gyroscopes) coordinates, The complete sensor error model is
respectively. Here βij is the rotation of the i-th accelerometer
aO = Ta Ka (aS + ba + ν a ) (6)
or gyroscope axis around the j-th BF axis, see Fig. 2.
On the other hand, the two orthogonal frames BF and for the accelerometers, and
AOF (and, equivalently, BF and GOF) are relate by a pure
rotation. ω O = Tg Kg (ω S + bg + ν g ) (7)
In the presented calibration method, we assume that the for the gyroscope, where ν g and ν g are the accelerometer
body frame BF coincides with the accelerometers orthogonal measurement noise and the gyroscope measurement noise,
frame AOF: in such case, the angles βxz , βxy , βyx become respectively.
zero, so in the accelerometers case Eq. 1 becomes:
3 To relate the obtained calibration with a different body frame (e.g.
1 −αyz αzy
O a S a BF’), it is sufficient to estimate the rotation matrix that relate AOF to BF’,
a =T a , T = 0 1 −αzx (2) for instance using the accelerometers outputs in three different orthogonal
0 0 1 orientations.
III. BASIC C ALIBRATION F RAMEWORK calibrated accelerometer readings in the k-th static interval,
In order to calibrate the accelerometers triad, we need to and ug,k is the acceleration versor computed using Eq. 11
estimate the following unknown parameter vector: (i.e., integrating the angular velocities between the k − 1-th
and the k-th static intervals). We obtain θ gyro minimizing
θ acc = αyz , αzy , αzx , sax , say , saz , bax , bay , baz
(8) Eq. 13 with LM.
We define the following function: IV. C ALIBRATION P ROCEDURE
aO = h(aS , θ acc ) = Ta Ka (aS + ba ) (9) As introduced in Sec. I, the proposed calibration frame-
work requires to collect a dataset with the stream of the
Here we can neglect the measurements noise thanks to raw accelerometers and gyroscopes readings, taken while the
the fact that in our calibration procedure we apply signal operator moves the IMU in different static positions, in order
averaging in each static interval. to generate a set of distinct, temporarily stable, rotations.
As in the conventional multi-position scheme, we move the A simple diagram of our calibration protocol is reported in
IMU in a set of M distinct, temporarily stable, rotations. Fig. 1. As mentioned in Sec. III, to mitigate the noise effect
We can extract M acceleration vectors aSk (measured in the in the minimization of Eq. 10 and Eq. 13, we need to average
non-orthogonal AF), averaging the accelerometers readings the signals over a suitable time interval. This imposes a lower
in a temporal window inside each static interval. The cost bound in the length of the static interval (twait in Fig. 1).
function we use to estimate accelerometers’ parameters is: A initialization period (Tinit in Fig. 1) with no motion is
M
X essential as well: this will be exploited to characterize the
acc
L(θ )= (||g||2 − ||h(aSk , θ acc )||2 )2 (10) gyroscopes biases (Sec. IV-C) and the static detector operator
k=1 (Sec. IV-A).
where ||g|| is the actual magnitude of the local gravity A. Static Detector
vector that can easily recovered from specific public tables
(e.g., knowing latitude, longitude and altitude of the location
where we are performing the calibration). In order to
minimize Eq. 10, we employ the Levenberg-Marquardt
(LM) algorithm.
Fig. 5. Calibration Improvement: (a) accelerometers, (b) gyroscopes (the small box is zoomed in the larger box).
TABLE IX TABLE XI
S CALING - G YROSCOPE M ISALIGNMENT - G YROSCOPE
4778 0.00 0.00 4778.0 0 0 1.00 -0.01 -0.02 0.9998 -0.0149 -0.0218
0.00 4758 0.00 0 4764.8 0 0.00 1.00 0.04 0.0003 1.0007 0.0433
0.00 0.00 4766 0 0 4772.6 -0.01 0.01 1.00 -0.0048 0.0121 1.0004
1.00 0.00 -0.01 1.0000 -0.0066 -0.0110 33123 33276 32360 32768 32466 32485
0.01 1.00 0.01 0.0102 1.0001 0.0114
0.02 0.01 1.00 0.0201 0.0098 0.9998