# Maximum likelihood calibration of a magnetometer using inertial sensors

Maximum likelihood calibration of a magnetometer using inertial sensors Manon Kok and Thomas Schön Linköping University Post Print N.B.: When citing this work, cite the original article. Original Publication: Manon Kok and Thomas Schön, Maximum likelihood calibration of a magnetometer using inertial sensors, 2014, In Proceedings of the 19th IFAC World Congress, 2014, 92-97. Series: World Congress, ISSN 1474-6670; Volume# 19, Part# 1. ISBN: 978-3-902823-62-5. http://www.ifac-papersonline.net/ Postprint available at: Linköping University Electronic Press http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-111542 Maximum likelihood calibration of a magnetometer using inertial sensors Manon Kok ∗ Thomas B. Schön ∗∗ ∗ Division of Automatic Control, Linköping University, SE-581 83 Linköping, Sweden (email: [email protected]) ∗∗ Department of Information Technology, Uppsala University, SE-751 05 Uppsala, Sweden (e-mail: [email protected]) Abstract: Magnetometers and inertial sensors (accelerometers and gyroscopes) are widely used to estimate 3D orientation. For the orientation estimates to be accurate, the sensor axes need to be aligned and the magnetometer needs to be calibrated for sensor errors and for the presence of magnetic disturbances. In this work we use a grey-box system identification approach to compute maximum likelihood estimates of the calibration parameters. An experiment where the magnetometer data is highly disturbed shows that the algorithm works well on real data, providing good calibration results and improved heading estimates. We also provide an identifiability analysis to understand how much rotation is needed to be able to solve the calibration problem. Keywords: Magnetometers, calibration, inertial sensors, maximum likelihood, grey-box system identification, sensor fusion. 1. INTRODUCTION Inertial sensors (3D accelerometers and 3D gyroscopes) in combination with 3D magnetometers are in many applications used to obtain orientation estimates using an extended Kalman filter (EKF). When the sensor is subject to low accelerations, the accelerometer measurements are dominated by the gravity component from which it is possible to deduce information about the inclination. The magnetometer measures the local magnetic field vector and its horizontal component can be used to obtain heading information. The orientation estimates are only accurate when the sensor axes of the inertial sensors and the magnetometers are aligned and when the magnetometer is properly calibrated. This calibration consists of two parts. First, the magnetometer needs to be calibrated for errors inherent in the sensor, for instance non-orthogonality of the magnetometer sensor axes. Second, it needs to be calibrated for the presence of magnetic disturbances. These magnetic disturbances are frequently present due to the mounting of a magnetometer and cause a constant disturbance that needs to be calibrated for. When using a magnetometer it is therefore always advisable to calibrate it before use. Our main contribution is a new practical algorithm for calibration of a magnetometer when we also have access to measurements from inertial sensors rigidly attached to the magnetometer. The algorithm implements a maximum likelihood (ML) estimator to find the calibration parameters. These parameters account for magnetometer sensors errors, the presence of constant magnetic disturbances caused by mounting the magnetometer close to magnetic ? This work is supported by MC Impulse, a European Commission, FP7 research project and CADICS, a Linnaeus Center funded by the Swedish Research Council (VR). 1 0 −1 −2 −1 0 1 2 Fig. 1. Calibration results for experimental data where the original magnetometer data is plotted in red and the calibrated magnetometer data is plotted in blue. objects and misalignments between the magnetometer and the inertial sensors. An illustration of the results obtained from calibrating a magnetometer using the proposed algorithm is available in Fig. 1. In many practical applications, mounting the magnetometer onto for instance a car or a boat severely limits the rotational freedom of the sensor. A secondary contribution of this work is a quantification of how much rotation is needed to be able to solve the calibration problem. This is done via an identifiability analysis, deriving how much rotation is needed in the case of perfect measurements. Many recent magnetometer calibration approaches are based on ellipse fitting. These calibration algorithms use the fact that when rotating a magnetometer, its measurements should lie on a sphere if the magnetometer measures a constant local magnetic field vector, i.e. the norm of the magnetic field should be constant. The presence of magnetic disturbances or magnetometer sensor errors leads to an ellipsoid of data instead. Many calibration algorithms are used to obtain improved orientation estimates. Hence, the radius of the sphere, i.e. the actual magnitude of the local magnetic field vector, is irrelevant and we can without loss of generality assume that its norm is equal to 1. The calibration has therefore been successful when the calibrated measurements can be seen to lie on a (unit) sphere (recall Fig. 1). The problem of fitting an ellipsoid of data to a sphere was considered for example by Gander et al. [1994]. As shown by Markovsky et al. [2004] the ordinary least squares estimate is inconsistent when using measurements corrupted by noise. Different calibration approaches have been developed to overcome this problem, see e.g. Gebre-Egziabher et al. [2006], Renaudin et al. [2010]. An ellipse fitting method can only solve the calibration up to an unknown rotation. Combining the magnetometer with inertial sensors requires the sensor axes to be aligned, i.e. the sphere needs to be oriented such that the magnetometer sensor axes are aligned with the inertial sensor axes. A few recent approaches add a second step to the calibration procedure to estimate the misalignment between the magnetometer and the inertial sensor axes [Vasconcelos et al., 2011, Li and Li, 2012, Salehi et al., 2012, Bonnet et al., 2009]. They first use an ellipse fitting approach and determine the misalignment between the magnetometer and the inertial sensor axes in a second step. These approaches generally use the accelerometer measurements for estimating the misalignment, but discard the gyroscope measurements. Troni and Whitcomb [2013] focus on using the gyroscope measurements to obtain an estimate of the misalignment. Our work follows a similar approach, but makes use of both the gyroscope and the accelerometer measurements and aims at obtaining a maximum likelihood estimate by combining both steps into a nonlinear optimization problem. 2. PROBLEM FORMULATION Our solution to the magnetometer calibration problem makes use of a nonlinear state space model describing the sensor’s orientation qt and its measurements, qt+1 = ft (qt , ut , θ) + B(qt )vt (θ), (1a) yt = ht (qt , θ) + et (θ). (1b) Here, qt denotes the state variable representing the sensor orientation encoded using a unit quaternion. Furthermore, ut and yt denote observed input and output variables, respectively. The dynamics is denoted by ft (·) and the measurement model is denoted by ht (·). Finally, vt and et represent mutually independent i.i.d. process and measurement noise, respectively and B(qt ) is a matrix describing how the noise vt affects the state qt . The model is introduced in detail in Section 3. The calibration problem is formulated as a maximum likelihood grey-box system identification problem. Hence, based on N measurements of the observed input u1:N = {u1 , . . . , uN } and output y1:N = {y1 , . . . , yN } variables, find the parameters θ that maximize the likelihood function, θbML = arg max pθ (y1:N ), (2) θ∈Θ where Θ ⊆ Rnθ . Using conditional probabilities and the fact that the logarithm is a monotonic function we have the following equivalent formulation of (2), θbML = arg min − θ∈Θ N X t=1 log pθ (yt | y1:t−1 ), (3) where we have used the convention that y1:0 , ∅. The ML estimator (3) enjoys well-understood theoretical properties including strong consistency, asymptotic normality, and asymptotic efficiency [Ljung, 1999]. The state space model (1) is nonlinear, implying that there is no closed form solution available for the one step ahead predictor pθ (yt | y1:t−1 ). This can be handled using sequential Monte Carlo methods (e.g. particle filters and particle smoothers), see e.g. Schön et al. [2011], Lindsten and Schön [2013]. However, for the magnetometer calibration problem under study it is sufficient to make use of a more pragmatic approach; we simply approximate the one step ahead predictor using an extended Kalman filter (EKF). The result is pθ (yt | y1:t−1 ) ≈ N yt | ybt|t−1 (θ), St (θ) , (4) where N yt | ybt|t−1 (θ), St (θ) denotes the probability density function for the Gaussian random variable yt with mean value ybt|t−1 (θ) and covariance St (θ). Here, St (θ) is the residual covariance from the EKF [Gustafsson, 2012]. Inserting (4) into (3) results in the following optimization problem, N min θ∈Θ 1X kyt − ybt|t−1 (θ)k2S −1 (θ) + log det St (θ), t 2 t=1 (5) which we can solve for the unknown parameters θ. The problem (5) is non-convex, implying that a good initial value for θ is required. 3. MODELS 3.1 Dynamic model We model the orientation qt as the sensor’s orientation from the body frame b to the navigation frame n at time t, expressed as qtnb . The body frame b is the coordinate frame of the inertial sensor with its origin in the center of the accelerometer triad and its axes aligned with the inertial sensor axes. The navigation frame n is aligned with the earth gravity and the local magnetic field vector. The dynamic model of the orientation (1a) takes the gyroscope measurements as an input, which are modeled as yω,t = ωt + δω + vω,t , (6) where ωt denotes the angular velocity, δω denotes the gyroscope bias and vω,t ∼ N (0, Σω ). The dynamic equation for the orientation states is then given by [Gustafsson, 2012] nb qt+1 = I4 + T2 L(yω,t − δω ) qtnb + T2 L̄(qtnb )vω,t . (7) Here, I4 denotes a 4 × 4 identity matrix, T denotes the sampling time, the matrices L̄(qtnb ) and L(yω,t − δω ) are given by −q1 −q2 −q3 0 −ω1 −ω2 −ω3 0 ω3 −ω2 q −q3 q2 ω L̄(q)= 0 , L(ω)= 1 , (8) q3 q0 −q1 ω2 −ω3 0 ω1 −q2 q1 q0 ω3 ω2 −ω1 0 where the subscripts denote the different components of the respective vectors. 3.2 Measurement model The measurements in (1b) consist of the accelerometer measurements ya,t and the magnetometer measurements ym,t . The former are modeled as ya,t = Rtbn (ant − g n ) + ea,t ≈ −Rtbn g n + ea,t , (9) where ant denotes the sensor’s acceleration which is assumed to be approximately zero, g n denotes the gravity vector in navigation frame and ea,t ∼ N (0, Σa ). The matrix Rtbn is the rotation matrix representation of the quaternion qtbn = (qtnb )c , where c denotes the quaternion conjugate [Hol, 2011]. The magnetometer measurements are modeled as ym,t = DRtbn mn + o + em,t , (10) n where the local magnetic field is denoted by m and em,t ∼ N (0, Σm ). Note that mn is assumed to be constant. The calibration matrix D and offset vector o contain corrections for both the magnetometer sensor errors, the presence of magnetic disturbances and the misalignment between the magnetometer and inertial sensor axes. The magnetometer and inertial sensor axes are assumed not to be mirrored with respect to each other. Kok et al. [2012] provide a more detailed derivation and discussion of this model. 3.3 Parameter vector The parameter vector θ to be estimated consists first of all of the calibration matrix D, the offset vector o and the local earth magnetic field mn as discussed in Section 3.2. Furthermore, the gyroscope bias δω introduced in Section 3.1 and the noise covariances Σω , Σa and Σm of the three sensors are treated as unknown parameters. The different components of the unknown parameters θ therefore consist of D ∈ R3×3 , (11a) 3 o∈R , (11b) mn ∈ {R3 : ||mn ||22 = 1, mnx > 0, mny = 0}, (11c) δ ω ∈ R3 , Σω ∈ {R Σa ∈ {R (11d) 3×3 : 3×3 : 3×3 Σω 0, Σω = ΣT ω }, T Σa 0, Σa = Σa }, Σm 0, Σm = ΣT m }, (11e) (11f) Σm ∈ {R : (11g) where mnx and mny denote the x- and y- component of mn , respectively. Although (11c) and (11e) - (11g) suggest that constrained optimization is needed, it is possible to circumvent this via a suitable reparametrization. The covariance matrices can be parametrized in terms of their Cholesky factorization, leading to only 6 parameters for each 3 × 3 covariance matrix. The local magnetic field can be parametrized using only one parameter denoted by d [Kok et al., 2012]. 4. NEW CALIBRATION ALGORITHM The resulting calibration algorithm is given in Algorithm 1. The optimization problem is solved using a Broyden-Fletcher-Goldfarb-Shanno (BFGS) method with damped BFGS updating [Nocedal and Wright, 2006]. Algorithm 1 Magnetometer and inertial calibration b 0 , ob0 , m b ω,0 , Σ b a,0 , (1) Set i = 0 and initialize D b n0 , δbω,0 , Σ b m,0 . Σ (2) Repeat, (a) Run an EKF using the current estimates b a,i 03×3 Σ n b b b b b Di , obi , m b i , δω,i , Qi = Σω,i , Ri = b m,i 03×3 Σ and obtain {b yt|t−1 }N t=1 , S1:N . b (b) Determine θi+1 using the numerical gradient of the objective function in (5), its approximate Hessian and a line search algorithm. b i+1 , obi+1 , m b ω,i+1 , Σ b a,i+1 , (c) Obtain D b ni+1 , δbω,i+1 , Σ b m,i+1 from θbi+1 . Σ (d) Set i := i + 1 and repeat from 2(a) until convergence. Since the optimization problem (5) is a non-convex problem, it is important to start Algorithm 1 with a good initialization of the parameters. We will do this using a two-step approach. In a first step the ellipsoid of magnetometer data is mapped onto a unit sphere, using an ellipse fitting approach [Gander et al., 1994]. The second step is based on the invariance of the inner product of two vectors under rotation and is similar to approaches in Vasconcelos et al. [2011], Li and Li [2012], Salehi et al. [2012], Bonnet et al. [2009]. This requires estimates of the inclination which can be obtained by running the EKF using only the accelerometer and gyroscope data. These two steps result b 0 , ob0 and m in initial estimates D b n0 and are described in more detail in Kok et al. [2012]. The gyroscope bias and the noise covariance matrices can be initialized based on a small period of stationary data. 5. MINIMUM ROTATION NEEDED For magnetometer calibration, the sensor needs to be rotated in all possible orientations so the magnetometer measurements describe (a part of) an ellipsoid. Work on magnetometer calibration generally assumes that the sensor can be “sufficiently” rotated for the calibration parameters to be identified. Often, however, magnetometers are mounted in such a way that their movement is more or less constrained to the 2D plane [Wu et al., 2013a,b]. Although some approaches do consider the case of limited rotation, to the best of the authors’ knowledge there is no study on how much rotation is sufficient. We will now answer this question via an identifiability analysis. Note that our analysis assumes noise-free measurements and it therefore gives a lower bound on the number of measurements needed to identify the calibration parameters. In many applications, rotations around the z-axis are possible, while rotations around the other axes are constrained. We therefore ask the question of how much rotation around the x- and yaxes is needed in addition to rotation around the z-axis. Identifiability analysis of the calibration parameters θc = T vec D oT d , where d is used to parametrize mn as described in Section 3.3, can be performed by studying local observability of an extended system [Walter, 1982]. This extended system consists for our problem of the state qt (see (1a)) and the parameters θ. Assuming noise-free and bias-free measurements, the orientation at different time steps is known from the inertial measurements, save for the initial heading. The analysis can therefore be limited to the study of θc , where it needs to be kept in mind that the initial heading, denoted by α, is unknown. Discrete-time observability analysis considers the system of equations ym,1 = DR1bn (α)mn + o = hm (R1bn , α, θc ), (12a) ym,2 = DR2bn (α)mn + o = hm (R2bn , α, θc ), .. . (12b) bn bn ym,K = DRK (α)mn + o = hm (RK , α, θc ). (12c) We will analyze the identifiability of the parameters θc assuming that the initial heading is known. The identifiability of the initial heading will be discussed separately afterwards. The parameters θc are said to be locally idenbn such that we can solve for tifiable if there exists an R1:K θc in (12). Due to the nonlinear nature of (12) it is typically hard to analyze it directly. Instead, observability is often studied by considering a linearized version of (12), making use of the Jacobian ∇hm (R1bn , α, θc ) ∇hm (R2bn , α, θc ) (13) J = , .. . bn ∇hm (RK , α, θc ) where ∇ denotes the derivative with respect to θc . If (13) is full rank for all θc , the parameters are said to be locally weakly identifiable [Nijmeijer and van der Schaft, 1990]. The Jacobian J can be built by stacking different measurements on top of each other. For notational simplicity, we consider 90◦ -rotations around the axes. Note that the analysis is equally valid for any other amount of rotation. For rotations of 0◦ , 90◦ and −90◦ around the z-axis, 90◦ and −90◦ around the x-axis and 90◦ and −90◦ around the y-axis, the Jacobian becomes ∂mx ∂mz mx I3 03×3 03×3 m I x 3 J (θc )= mx I3 m I z 3 −mz I3 | 03×3 m x I3 −mx I3 −mz I3 mz I3 03×3 03×3 {z vec D mz I3 mz I3 mz I3 I3 I3 I3 D3 ∂d + D1 ∂d ∂mx z D3 ∂m ∂d + D2 ∂d z − D ∂mx D3 ∂m 2 ∂d ∂d ∂mx ∂mz 03×3 I3 D1 ∂d − D2 ∂d ∂mx z 03×3 I3 D2 ∂m ∂d + D1 ∂d , ∂mz ∂mx −mx I3 I3 D1 ∂d − D3 ∂d ∂mz x mx I3 I3 D3 ∂m ∂d − D1 ∂d } |{z} | {z } o (14) d where Di denotes the i’th column of the matrix D. For clarity, the contributions of the different rotation axes are separated by dashed lines. For each column it is explicitly indicated which part of the derivative with respect to θc it represents. The rank of (14) can be studied for subsets of its rows. Considering only rotations around the z-axis, i.e. the first J (θc ) full rank #meas z-axis #meas x-axis #meas y-axis Pole 3 3 2 1 1 2 Equator 3 3 0 1 2 1 Elsewhere 3 3 3 1 0 2 1 2 0 Table 1. Summary of how many measurements (i.e. lower bound) around which axes are needed for identifiability of the calibration parameters θc . three rows in (14), rank J (θc ) = 9 as long as mx 6= 0 (the calibration is not performed on the magnetic north or south pole). The matrix will not gain any rank from adding more measurements around the z-axis. Adding two measurements around the x- and/or y-axis can be shown to lead to rank J (θc ) = 13 under very mild conditions on the calibration matrix D in case the calibration is not performed on the equator or on a magnetic pole. A sufficient condition for this is that det D 6= 0. On the equator and the magnetic poles it is also possible to obtain identifiability of all calibration parameters. In these cases, however, stricter requirements on the measurements are needed. The results on how many measurements around which axes are needed are summarized in Table 1. It is straightforward to show that also α is identifiable based on these measurements, provided that the calibration is not performed on one of the magnetic poles. In this case, the initial heading is not identifiable for any number of measurements since the horizontal component of the magnetic field is zero. The identifiability analysis above was done assuming 90◦ rotations between each measurement. The same result holds, however, for any other difference in rotations. Although the amount of rotation does not influence the identifiability of the calibration parameters, it will indeed influence the quality of the estimates. This can be understood in terms of the condition number [Kailath et al., 2000], i.e. the ratio between the maximum and minimum singular value of the Jacobian (14). Any singular values being zero implies that θc is not identifiable, but a smaller condition number also implies that certain parameters are more difficult to estimate. Fig. 2 shows the singular values of the Jacobian in (14) for different amounts of rotation. Five measurements are considered, corresponding to three measurements around the z-axis, one around the x-axis T and one around the y-axis for D = I3 , o = (0 0 0) n and m equal to that in Linköping, Sweden. The amount of rotation between the measurements is assumed to be equal for all four differences and is varied between 0◦ (red) and 90◦ (blue). As can be seen, the larger the amount of rotation, the smaller the condition number of (14). It can therefore be concluded that rotation around the zaxis only is never enough to identify the calibration parameters θc . The parameters will, however, become identifiably already with very little excitation in the other directions as summarized in Table 1. More excitation around the different axes will always lead to better estimates as can be concluded from Fig. 2. 6. EXPERIMENTS 6.1 Experimental setup An experiment has been conducted with an Xsens MTi-100 inertial measurement unit (IMU), collecting inertial and Norm magnetic field [a.u.] Singular values 4 3 2 1 0 Parameters Fig. 2. Singular values of the Jacobian in (14) for small rotation ranges (red) to large rotation ranges (blue). Fig. 3. Experimental setup where a calibration experiment is performed outdoors. An Xsens MTi-100 IMU (orange box) together with a magnetic disturbance is placed in a aluminum block. magnetometer data using a sampling frequency of 100 Hz. The experimental setup is shown in Fig. 3. The data has been collected outdoors to ensure that the local magnetic field is as homogeneous as possible. A magnetic disturbance has been rigidly attached to the sensor, causing severe magnetic disturbances. Both the block in which the IMU is placed and the table shown in Fig. 3 are made of non-magnetic material. The sensor is slowly rotated around all three axes for roughly 2 minutes. The collected magnetometer data is shown in red in Fig. 1. Note that for plotting purposes this data has been downsampled to 1 Hz. To aid the convergence of the optimization problem (5), a few iterations of step 2 in Algorithm 1 were run for parts of the parameter vector, first estimating only D, o, mn and δω and afterwards only estimating Σω , Σa and Σm . The results from these steps were used as an initial estimate to obtain the final maximum likelihood estimate of the parameters θ. 6.2 Experimental results The calibration resulted in the following calibration matrix b and offset vector ob D ! ! 0.74 −0.14 0.02 1.37 b = −0.12 0.68 0.01 , ob = 1.22 . D (15) −0.04 0.43 1.00 −0.94 Correcting the magnetometer measurements with the obtained calibration matrix and offset vector leads to the corrected measurements shown in blue in Fig. 1, which 2.5 2 1.5 Before calibration After calibration 1 0 20 40 60 80 Time [s] 100 120 140 Fig. 4. Norm of the magnetic field measurements before (red) and after (blue) calibration. −5 0 5 −10 0 10 −1/2 Fig. 5. Normalized residuals St (yt − ybt|t−1 ) from the EKF after calibration for the original data set (left) and the validation data set (right). A Gaussian distribution (red) is fitted to the data. can be seen to lie on a unit sphere. To better visualize the deviation from the unit norm, the norm of the magnetic field before and after calibration is depicted in Fig. 4. The norm after calibration can be seen to lie around 1. A histogram of the normalized residuals after calibration −1/2 from the EKF St (yt − ybt|t−1 ) is shown in Fig. 5. A Gaussian distribution has been fitted to the normalized residuals showing that the residuals are indeed more or less Gaussian distributed. 6.3 Validation The calibration results have been applied to a second data set recorded with the same experimental setup as in Fig. 3. The results are very similar to the results displayed in Fig. 1 and Fig. 4, implying that the calibration parameters can well be used to calibrate the magnetometer measurements of the other data set. As can be seen from Fig. 5, the resulting residuals still look fairly Gaussian, save for the presence of a small number of outliers. Closer inspection of the residuals and the data shows that these outliers are the result of high accelerometer measurements due to a small impact during the collection of the validation data set. 6.4 Heading estimation An important goal of magnetometer calibration is to facilitate good heading estimates. To check the quality of ACKNOWLEDGEMENTS Calibrated mag [a.u.] 1 The authors would like to thank Laurens Slot, Dr. Henk Luinge and Dr. Jeroen Hol from Xsens Technologies for their support in collecting the data sets and for interesting discussions. 0.5 0 −0.5 −1 REFERENCES 0 100 200 300 Time [s] 400 500 Fig. 6. Calibrated magnetometer data of an experiment rotating the sensor into 24 different sensor orientations where the blue, green and red lines represent the data from the x-, y- and z-axis of the magnetometer, respectively. z-axis z up z down -0.23 -0.84 0.21 -2.70 -0.44 1.81 0.42 2.00 x-axis x up x down 0.08 0.98 -0.02 1.66 -0.82 -0.71 0.36 -1.89 y-axis y down -0.31 0.35 -0.07 0.45 Table 2. Difference in estimated orientation between two subsequent rotations around the sensor axes using calibrated magnetometer data. The values represent the deviation in degrees from 90◦ . the heading estimates after calibration, the block in which the sensor is placed (shown in Fig. 3) is rotated around all axes. This block has right angles and it can therefore be placed in 24 orientations that differ from each other by 90◦ . The calibrated magnetometer data of this experiment is shown in Fig. 6. Orientation estimates are determined by taking the mean value of 500 magnetometer and accelerometer samples in each orientation and using the accelerometer to estimate the sensor’s inclination and the magnetometer data to estimate its heading. After calibration, we expect the difference of the estimated heading between each subsequent rotation to be 90◦ . Note that when rotating around an axis, the sensor is always rotated back to its initial position, enabling the computation of 4 orientation differences per rotation axis. Table 2 enlists the deviation from 90◦ between two subsequent rotations. As can be seen, the deviation is very small, indicating that good heading estimates are obtained after calibration. Note that the metal object causing the magnetic disturbance as shown in Fig. 3 physically prevents the setup to properly be placed in all orientations around the yaxis. Rotation around the y-axis with the y-axis pointing upwards has therefore not been included in Table 2. 7. CONCLUSIONS A grey-box system identification approach has been used to compute maximum likelihood estimates of magnetometer calibration parameters for a magnetometer in combination with inertial sensors. The results show that the algorithm works well on real data and leads to improved heading estimates. S. Bonnet, C. Bassompierre, C. Godin, S. Lesecq, and A. Barraud. Calibration methods for inertial and magnetic sensors. Sensors and Actuators A: Physical, 156(2):302–311, 2009. W. Gander, G.H. Golub, and R. Strebel. Least-squares fitting of circles and ellipses. BIT Numerical Mathematics, 34(4):558–578, 1994. D. Gebre-Egziabher, G.H. Elkaim, J.D. Powell, and B.W. Parkinson. Calibration of strapdown magnetometers in magnetic field domain. Journal of Aerospace Engineering, 19(2):87–102, April 2006. F. Gustafsson. Statistical Sensor Fusion. Studentlitteratur, 2012. J.D. Hol. Sensor Fusion and Calibration of Inertial Sensors, Vision, Ultra-Wideband and GPS. PhD thesis, Linköping University, 2011. T. Kailath, A.H. Sayed, and B. Hassibi. Linear estimation. Prentice Hall, 2000. M. Kok, J.D. Hol, T.B. Schön, F. Gustafsson, and H. Luinge. Calibration of a magnetometer in combination with inertial sensors. In Proceedings of the 15th International Conference on Information Fusion, pages 787 – 793, Singapore, July 2012. X. Li and Z. Li. A new calibration method for tri-axial field sensors in strap-down navigation systems. Measurement Science and Technology, 23(10), October 2012. F. Lindsten and T.B. Schön. Backward simulation methods for Monte Carlo statistical inference. Foundations and Trends in Machine Learning, 6(1):1–143, 2013. L. Ljung. System Identification, Theory for the User. Prentice Hall PTR, 2nd edition, 1999. I. Markovsky, A. Kukush, and S. Van Huffel. Consistent least squares fitting of ellipsoids. Numerische Mathematik, 98(1):177–194, 2004. H. Nijmeijer and A.J. van der Schaft. Nonlinear dynamical control systems. Springer-Verlag, 1990. J. Nocedal and S.J. Wright. Numerical Optimization. Springer Series in Operations Research, 2nd edition, 2006. V. Renaudin, M.H. Afzal, and G. Lachapelle. Complete triaxis magnetometer calibration in the magnetic domain. Journal of Sensors, 2010. S. Salehi, N. Mostofi, and G. Bleser. A practical in-field magnetometer calibration method for IMUs. In Proceedings of the IROS Workshop on Cognitive Assistive Systems: Closing the ActionPerception Loop, pages 39–44, Vila Moura, Portugal, October 2012. T.B. Schön, A. Wills, and B. Ninness. System identification of nonlinear state-space models. Automatica, 47(1):39–49, 2011. G. Troni and L.L. Whitcomb. Adaptive estimation of measurement bias in three-dimensional field sensors with angular-rate sensors: Theory and comparative experimental evaluation. In Proceedings of Robotics: Science and Systems (RSS), Berlin, Germany, June 2013. J.F. Vasconcelos, G. Elkaim, C. Silvestre, P. Oliveira, and B. Cardeira. Geometric approach to strapdown magnetometer calibration in sensor frame. IEEE Transactions on Aerospace and Electronic Systems, 47(2):1293–1306, April 2011. E. Walter. Identifiability of state space models. Springer-Verlag, 1982. Z. Wu, X. Hu, M. Wu, and J. Cao. Attitude-independent magnetometer calibration for marine magnetic surveys: regularization issue. Journal of Geophysics and Engineering, 10(4), June 2013a. Z. Wu, X. Hu, M. Wu, and J. Cao. Constrained total least-squares calibration of three-axis magnetometer for vehicular applications. Measurement Science and Technology, 24(9), July 2013b.

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

### Related manuals

Download PDF

advertisement