<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>In use IMU calibration and pose estimation?</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Saxion University of Applied Sciences Mechatronics research department</institution>
          ,
          <addr-line>7513 AB Enschede</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper describes a calibration method for inertial and magnetic sensors using a batched optimization procedure. Well established sensor, motion and constraint models are applied which include sensor gains, biases, misalignments and inter-triad misalignments. For the magnetometer, hard and soft iron model parameters and local dipangle are embodied in the framework as well. The method does not require any additional equipment, is minimal restrictive with respect to the required movements, and can be performed within one minute. Our approach is applicable for both single and multi Inertial Measurement Units (IMU) and leverages from the relative pose between rigidly connected IMU's. We demonstrated that our approach resulted in improved dead reckoning estimates and showed good agreements with an optical reference system for both position and orientation estimates.</p>
      </abstract>
      <kwd-group>
        <kwd>Inertial sensor</kwd>
        <kwd>magnetometer mization</kwd>
        <kwd>sensor fusion</kwd>
        <kwd>MIMU array</kwd>
        <kwd>IMU calibration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Inertial Measurement Unit (IMU's) have a profound role in the control of mobile
vehicles, robotic manipulators, capturing human body motions and augmented
reality applications in smartphones. Fused with a magnetometer, an IMU
enables precise orientation estimates. In addition, IMU's provide velocity and
position change estimates over short time periods. The quality of those estimates
largely depend on correct sensor models. Hence, estimating the model
parameters, known as calibration, is an important procedure that has major e ect on
the eventual usability of the IMU.</p>
      <p>
        The upswing of micro-electromechanical (MEMS) based IMU's resulted in many
scienti c publications describing calibration methods [
        <xref ref-type="bibr" rid="ref10 ref6">6, 10</xref>
        ]. Traditionally an
external system is used that applies suitable reference signals for a one-time
calibration procedure right after the IMU was manufactured.
      </p>
      <p>However, environmental in uences, like temperature changes and mechanical
stress, cause deviations of the true parameter values over time. Hence, an easy to
perform, without the need for extra equipment, calibration procedure is desired
to correct for those recurred systematic errors.
? Supported by the Dutch SIA RAAK Postdoc program</p>
      <p>
        While most literature focusses on the calibration of a single sensor, or only
the gyroscope and accelerometer triads, do some include the magnetometer as
well [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. However, the complementary relations between inertial and magnetic
signals are often minimally exploited [
        <xref ref-type="bibr" rid="ref2 ref4">2, 4</xref>
        ]. Estimating the sensors jointly,
without the need to perform complex movements or equipment, was only recently
published by Chow et.al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. It illustrates the possibilities of a powerful, yet easy
to use calibration procedure. However, their choice for marginalization the
navigation states puts some restrictions on the prior, the movement, its bandwidth
and outlier handling.
      </p>
      <p>We propose a similar method, yet di erent approach for an easy in-use
calibration of consumer grade triaxial inertial and magnetometer sensors without
the need for external equipment. The novelty can be found in various aspects:
{ A tight coupled, batched, sensor fusion approach is used to bene t from all
sensor observations in a joint manner.
{ Flexible in the number of rigidly connected IMU's (MIMU), their sampling
rates, and the motion trajectory.
{ Exploiting the centripletal and tangential forces of a MIMU constellation.
{ Simultaneous estimation of all inertial and magnetic calibration parameters.
{ Simultaneous estimation of the navigation states.
{ Sample based handling of measurement outliers.
{ Robust for any magnetic disturbance and temporally or spatially
inhomogenous elds.</p>
      <p>This paper is structured as follows: we will rst outline the theoretical framework
and highlight the method. Then, the method is demonstrated in three di erent
situations. First, a MIMU array is calibrated, where the orientation state is
compared with an optical reference system. In the second situation a MIMU
array is calibrated using multiple static periods and compared with an existing
popular calibration approach. Third, the method is applied on an IMU embodied
in an Apple iPhone X during typical smartphone usage.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Method</title>
      <p>This section elaborates on the sensor, motion and constraint models.</p>
      <p>
        Diagonal gain matrices are indicated with K, lower triangular matrices
describing the misalignments between the senstive axes with N , biases vectors with
b and Gaussian noise vectors with e [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Super or sub-script upper-case letters
represent the local world frame L, module body frame B, magnetometer Mi,
gyroscope Gi, sensor frame Si. Orientation are indicated with an orientation
matrix R.
      </p>
      <p>We assume a rigid body on which one or multiple sensors (Si) are attached.
Hence, the sensor's orientation with respect to the global frame can be written
as:</p>
      <p>RSiL = RSiBRBL
t t
(1)</p>
      <sec id="sec-2-1">
        <title>Sensor models</title>
        <p>Accelerometer: The output of an accelerometer at time t is modeled as the sum
of the linear aSi</p>
        <p>Si;t and gravitational acceleration gSi :
yaS;it = KaSi NaSi RSiBaSBi;t + RSiLgL
t
+ baSi + ea;t;
ea;t</p>
        <p>N (0; a)
This linear acceleration at pick-up point (Si) is a summation of the body,
centripetal and tangential accelerations. Latter can be expressed using the lever-arm
pSBi , angular velocity and angular acceleration:
aSi;t = RtBLaLB;t +</p>
        <p>B</p>
        <p>B
LB;t
pSBi + !LBB;t
!LBB;t</p>
        <p>B
pSi
where RGiSi is the relative orientation, or triad misalignment, between the
accelerometer and gyroscope pair.</p>
        <p>Gyroscope: The output of a gyroscope is modeled as an angular velocity
measured in the gyroscope frame with respect to the inertial frame (!LGGii;t). We
assume that the gyroscope and accelerometer are rigidly connected to the
underlying body, hence !BSi = !SiGi = 0:
ygG;ti = KgGi NgGi RGiSi RSiB!LBB;t + bgGi + eg;t; eg;t
N (0; g)
Magnetometer: The output of a magnetometer at time t is modeled as a local
measured homogenous magnetic eld mL which is a ected by soft (D) and hard
iron (o) e ects:
ymM;it = DMi RSiBRBLmL + omMi + em;t;
em;t</p>
        <p>N (0;
m)
It should be noted that the triad misalignment between magnetometer and
accelerometer is captured in matrix DMi and the magnetometer bias is captured in
the o set vector oMi . The local magnetic eld is a function of the local magnetic
dip angle and modeled as:
mL = cos
0
sin</p>
        <p>T
(2)
(3)
(4)
(5)
(6)
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Motion and constraint models</title>
        <p>Motion model: The kinematic relations of the position p, velocity v , acceleration
a, orientation q, angular velocity ! and angular acceleration are given by the
following proces model which is driven by a zero mean acceleration noise model:</p>
        <p>L
pt+T</p>
        <p>L
vt+T</p>
        <p>L
at+T
qtL+BT
= ptL + T vtL + T22
= vtL + T atL + wv
= 0 + wa
= qtLB
!LBB;t+T = !LBB;t + T</p>
        <p>B
LB;t+T = 0 + w</p>
        <p>atL + wp
exp T
2
LB;t + w!
B
!LBB;t + T2</p>
        <p>LBB;t + wq
where T is the sample period, is the quaternion product operator and exp the
quaternion exponential. The process noises are being described by:
wXBLt</p>
        <p>N (0;</p>
        <p>X ); X 2 fp; v; a; q; !; ; g
It should be noted that wp; wv; wa represent the same linear acceleration
uncertainty, and wq; w!; w the same angular acceleration uncertainty.
Zero net position: The user is asked to return the IMU to approximately the
same position as where it has been picked-up. This knowledge is modeled as a
zero net position change measurement:
where Tp is the time di erence between pick-up and return.</p>
        <p>
          Zero velocity: Whenever a zero movement period is detected using a
movingvariance detector [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] on the inertial sensor readings, the angular and translational
velocities are assumed to be zero:
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
pt+Tp = pt + enp
vtL = 0 + ev0
!LBB;t = 0 + e!0 :
where S denotes the set of IMU and magnetic sensors and T the set of time
instances.
        </p>
        <p>Outliers are e ciently detected and suppressed by embedding a Cauchy Loss
function for each observation individually. Sensor covariances are either obtained
from data-sheets or derived from an Allan Variance plot. Other covariance values
were chosen such that they have a realistic meaning, e.g. sub-centimeter level zero
net position change, millimeter/s and millidegree/s zero velocity uncertainties.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Calibration procedure</title>
        <p>
          The model parameters and navigation states are estimated simultaneously
using a large scale iterative non-linear least squares solver [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. By rewriting and
summing the model terms, one can rephrase the entire cost function as a bundle
adjustment problem. The following set of unknown are included:
1) Accelerometer and Gyroscope gains, misalignments, biases:
        </p>
        <p>KaSi ; KgGi ; NaSi ; NgGi ; baSi ; bgGi 8i 2 S
2) Magnetometer gains, magnetometer o sets, and the magnetic dip angle:
DMi ; oMi ;</p>
        <p>RBSi ; pSBi ; RSiGi
2) Boresights, lever arms and sensor triad misalignments:
2) Body kinematics:
pLB;t; vBL;t; aLB;t; qtLB; !LBB;t;</p>
        <p>B
LB;t
8i 2 S
8i 2 S
8t 2 T</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Experiments</title>
      <p>Our approach has been evaluated in di erent indoor experiments. Before start
of the recording sensors were running long enough to stabilize the temperature.
In each experiment a di erent estimation aspect will be emphasized:
1. MIMU module, calibrated with two static poses. The orientation of the
insample trial is compared with an optical reference.
2. MIMU module, calibrated with 20 static poses. The position of an
out-ofsample trial is compared with a di erent calibration set and optical reference.
3. Smartphone IMU module, calibrated with two static periods, representing a
typical smartphone movement. The pose of the in-sample trial is presented.
3.1</p>
      <sec id="sec-3-1">
        <title>MIMU two static periods</title>
        <p>
          An Inertial Elements MIMU22BT multi IMU, sampled at 62:5Hz, module was
used, see Fig. 1. The MIMU was manipulated indoors in a rather arbitrary way
for about one minute while its movements were recorded by a passive optical
reference system (Vicon @100Hz). Processing the raw inertial and magnetic sensor
readings yielded the estimated calibration parameters. Uncalibrated and
calibrated sensor values are depicted in Fig. 2. In addition, the in-sample orientation
estimate was compared with the optical reference, see Fig. 3.
In our previous work we described a new method for Pedestrian Dead Reckoning
(PDR) based on MIMU sensors [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. For the experiments, a popular joint
gyroacc calibration method described by Tedali et.al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] was used to calibrate to
inertial sensors.
        </p>
        <p>We re-used both the calibration and experimental datasets. The calibration
dataset was used to calibrate the sensor using the method described in this
15
10
15
10</p>
        <p>H. Kortier
acc
gyr</p>
        <p>
          mag
4
2
2
4
/]s
rad 0
[
4
/]s 2
[rad 0
2
4
paper. The experimental data set contains the intertial data of a subject who
traversed repeatedly an indoor oval path (800 m). Subsequently, the estimated
trajectory using a Kalman based PDR approach [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] for the dataset that has been
calibrated with the two di erente parametersets is depicted in Fig. 4.
Typical smartphone usage includes a movement sequence of picking it up from a
table, perform a phoning or texting activity, and nally place the phone back on
the table top. We simulated this situation by picking up the phone, rotating it
in di erent directions while translating in the global vertical-direction for about
30 cm, and nally return it to the initial resting spot.
        </p>
        <p>Figure 5a illustrates the in-sample estimates of the translational kinematics.
In addition, in-sample orientation estimates are visible by the (un)calibrated
magnetometer readings in Fig. 5b.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Discussion</title>
      <p>This paper describes a novel method for the calibration of inertial and
magnetic measurement units. It allows for simultaneous estimation of calibration
parameter and navigation states and exible in the number of sensors used.</p>
      <p>The advantages, suitability and performance is demonstrated in di erent
experiments. Especially experiment 2 shows the added value of proper estimated
parameters when a MIMU module is used for PDR activities.</p>
      <p>In a follow up study we would like to include the uncertainty on the parameter
estimates by evaluating the Hessian matrix. In addition, the framework can be
easily extended by inclusion of the sensor covariances and time-dependent bias
states.
0.3
][0.2
m
p0.1
0.0
0.2
/]s 0.1
m
[v 0.0
0.1
1.0
2/]sm 00..50
[
a 0.5
1.0
zyx
norm
zyx
norm
0
2
(a) In sample position, velocity and
acceleration estimates of the sensor module
expressed in the global reference frame.
(b) Mapping on the unit sphere (orange)
of the uncalibrated (red) and calibrated
(blue) magnetometer output.</p>
      <p>Fig. 5. IMU experiment: Example of algorithm output mimicking a typical smartphone
activity motion.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Agarwal</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mierle</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , Others: Ceres solver. http://ceres-solver.org
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bonnet</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bassompierre</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Godin</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lesecq</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barraud</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Calibration methods for inertial and magnetic sensors</article-title>
          .
          <source>Sensors and Actuators A: Physical</source>
          <volume>156</volume>
          (
          <issue>2</issue>
          ),
          <volume>302</volume>
          {
          <fpage>311</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chow</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hol</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Luinge</surname>
          </string-name>
          , H.:
          <article-title>Tightly-coupled joint user self-calibration of accelerometers, gyroscopes, and magnetometers</article-title>
          .
          <source>Drones</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <volume>6</volume>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dorveaux</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vissiere</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Petit</surname>
          </string-name>
          , N.:
          <article-title>Iterative calibration method for inertial and magnetic sensors</article-title>
          .
          <source>In: Proceedings of the 48h IEEE Conference on Decision</source>
          and
          <article-title>Control (CDC) held jointly with 2009 28th Chinese Control Conference</article-title>
          . pp.
          <volume>8296</volume>
          {
          <fpage>8303</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Kortier</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bonestroo</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tangelder</surname>
          </string-name>
          , R.:
          <article-title>Mimu pdr with bias estimation using an optimization-based approach</article-title>
          .
          <source>IPIN2018</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Nieminen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kangas</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suuriniemi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kettunen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>An enhanced multi-position calibration method for consumer-grade inertial measurement units applied and tested</article-title>
          .
          <source>Measurement Science and Technology</source>
          <volume>21</volume>
          (
          <issue>10</issue>
          ),
          <volume>105204</volume>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Nilsson</surname>
            ,
            <given-names>J.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          , Handel, P.:
          <article-title>Foot-mounted inertial navigation made easy</article-title>
          .
          <source>In: 2014 International Conference on Indoor Positioning and Indoor Navigation (IPIN)</source>
          . pp.
          <volume>24</volume>
          {
          <fpage>29</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Sarkka,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Nieminen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Suuriniemi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Kettunen</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          :
          <article-title>A multi-position calibration method for consumer-grade accelerometers, gyroscopes, and magnetometers to eld conditions</article-title>
          .
          <source>IEEE Sensors Journal</source>
          <volume>17</volume>
          (
          <issue>11</issue>
          ),
          <volume>3470</volume>
          {
          <fpage>3481</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Skog</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Handel</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nilsson</surname>
            ,
            <given-names>J.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rantakokko</surname>
          </string-name>
          , J.:
          <article-title>Zero-velocity detection|an algorithm evaluation</article-title>
          .
          <source>IEEE transactions on biomedical engineering</source>
          <volume>57</volume>
          (
          <issue>11</issue>
          ),
          <volume>2657</volume>
          {
          <fpage>2666</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Tedaldi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pretto</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Menegatti</surname>
          </string-name>
          , E.:
          <article-title>A robust and easy to implement method for imu calibration without external equipments</article-title>
          .
          <source>In: 2014 IEEE International Conference on Robotics and Automation (ICRA)</source>
          . pp.
          <volume>3042</volume>
          {
          <fpage>3049</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , H.,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          :
          <article-title>Improved multi-position calibration for inertial measurement units</article-title>
          .
          <source>Measurement Science and Technology</source>
          <volume>21</volume>
          (
          <issue>1</issue>
          ),
          <volume>015107</volume>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>