Next Article in Journal
Implementation of Integrated Smart Construction Monitoring System Based on Point Cloud Data and IoT Technique
Previous Article in Journal
Emotion Recognition from rPPG via Physiologically Inspired Temporal Encoding and Attention-Based Curriculum Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Simple Calibration of Three-Axis Accelerometers with Freely Rotating Vertical Bench

by
Federico Pedersini
Department of Computer Science, University of Milan, Via Giovanni Celoria 18, I-20133 Milan, Italy
Sensors 2025, 25(13), 3998; https://doi.org/10.3390/s25133998
Submission received: 9 May 2025 / Revised: 10 June 2025 / Accepted: 18 June 2025 / Published: 26 June 2025
(This article belongs to the Section Intelligent Sensors)

Abstract

This article presents a dynamic calibration procedure for triaxial accelerometers characterized by a very simple and low-cost setup, where the calibration bench consists of a vertically, freely rotating wheel. To keep the setup as simple as possible, the necessary prior knowledge about the geometry and the motion of the bench has been minimized: the only required constraint is the verticality of the rotation plane, which can be simply achieved in practice by means of a level tool. No prior knowledge is required about the bench rotation, as the calibration procedure estimates both the accelerometer parameters and the bench motion. The precision achieved by the proposed calibration has been tested on synthetic data to prove the absence of estimation biases and to evaluate the potential accuracy, and on real data (from a MEMS accelerometer) to evaluate the achievable precision.

1. Introduction

Accurate acceleration measurements are of key importance in all motion analysis applications using IMUs, since velocity and displacement are obtained by integrating acceleration. Therefore all systematic errors in the acceleration data (like offsets and gain disparities) cause drifts that severely affect the motion estimates [1].
Many approaches to calibration of accelerometers have been proposed in the literature [2,3,4,5,6,7,8,9,10,11,12]. All these techniques can be grouped in two main categories: static and dynamic calibrations. In static methods, acceleration is sampled while the sensor remains stationary and oriented in various different attitudes [2,4,7,8,9,10], whereas in dynamic contexts acceleration is recorded as the sensor undergoes a controlled movement [3,6,11,12,13,14,15]. The dynamic methods have the advantage of needing a single data capture session, which makes the data acquisition process simpler with respect to static methods, typically needing to carry out several acquisitions, one for each attitude. The calibration accuracy of dynamic methods strongly depends on the extent and precision of prior knowledge about the motion applied to the sensor. Methods that utilize high-precision mechanical setups generally achieve the highest levels of accuracy, as they depend on precise knowledge of the sensor’s movement [6,9,11,13]. However, such equipment is usually expensive and complex, which is why these methods are generally reserved for high-grade accelerometers, such as those used in seismic applications [6].
In contrast, for applications using commercial-grade MEMS sensors, where the cost of such calibration equipment is typically prohibitive, it is more reasonable to adopt the opposite approach: a procedure based on a maximally simple mechanical setup, providing minimal prior knowledge about the sensor motion, where all the unknown motion information is determined together with the accelerometer parameters. To some extent, such approaches [4,10] can be considered a self-calibration, as they estimate also the setup motion together with the desired sensor model. In this work, I pursue such an approach by developing a calibration method for commercial-grade triaxial accelerometers that leverages a particularly simple and low-cost mechanical setup, constructed from common materials and without requiring precise mechanical constraints.
This method can be considered an evolution of the calibration procedure in [16] based on the following aspects:
  • Owing to the use of a vertical rotation plane, the calibration problem is fully determined in the present approach. In contrast, the method in [16] involves an underdetermined problem that requires the user to perform a manual measurement prior to calibration. In this work, no preliminary measurements are necessary; all parameters are identified directly through the calibration process.
  • The vertical rotation plane also allows us to address the problem of the optimal orientation with which the sensor should be positioned on the calibration bench. The analysis (in Section 3.2) leads to the proposal of a ‘good orientation’ that guarantees a valid and steady signal/noise ratio along all three axes.
The results presented in Section 5 demonstrate that this approach significantly improves the achievable accuracy of the estimated parameters compared to the method in [16].
The article is organized as follows: Section 2 and Section 3 describe the calibration bench and the consequent dynamic acceleration model applied to the sensor under test; Section 4 describes the calibration algorithm; and Section 5 reports the performance yielded by the algorithm with both synthetically generated data and experimental data acquired from a three-axis MEMS accelerometer.

2. The Vertical Bench Setup

A schematic of the proposed calibration setup is shown in Figure 1. The calibration bench features a plate mounted on a freely rotating wheel. The wheel is mounted with a horizontal axis of rotation, allowing the bench to rotate within a vertical plane.
To perform a calibration, the accelerometer under test is mounted on the plate, with a counterbalance applied on the opposite side. The bench is then manually spun and, while it freely rotates, the acceleration measured by the sensor under test is sampled for several turns of the bench. These data are the calibration input.
The only imposed mechanical constraint in the construction of the bench is the verticality of the rotation plane. This mechanical constraint can be simply achieved adjusting the inclination of the bench by means of a level tool. I show in Section 2.2 that this precision is sufficient to consider the bench vertical for the calibration accuracy. All other geometric and dynamic parameters—such as the sensor’s orientation on the plate, its rotation radius, and the time-varying angular position of the bench—are unknown and will be estimated by the calibration procedure, alongside the accelerometer parameters, which are the primary focus of the calibration.

2.1. Basic Acceleration Model

The basic model describing the accelerations applied to the sensor due to the bench rotation is shown in Figure 2. An object undergoing a circular motion in a vertical plane is subject to the following accelerations:
  • Gravity g, directed downwards;
  • Centripetal acceleration r ϑ ˙ ( t ) 2 , directed toward the center of rotation;
  • Angular (tangential) acceleration r ϑ ¨ ( t ) , tangent to the circular trajectory.
In the above, ϑ ( t ) denotes the angular position of the sensor on its circular trajectory; therefore ϑ ˙ ( t ) defines its angular velocity and ϑ ¨ ( t ) the angular acceleration.
Referring to Figure 2, let us consider the local reference frame X Y Z which is rigidly connected to the bench and whose origin is located on the sensor; the X axis corresponds to the radial direction, Y to the tangential direction, and Z is perpendicular to the plane of rotation. The components of the applied acceleration a ( t ) along these axes are given by
a ( t ) = a X ( t ) = r ϑ ˙ 2 ( t ) + g cos ϑ ( t ) a Y ( t ) = r ϑ ¨ ( t ) + g sin ϑ ( t ) a Z ( t ) = 0 .

2.2. Verticality Assumption

As said before, the verticality of the bench is achieved by manually adjusting its inclination by means of a common level tool. The sensitivity of such tools is typically ± 0.1 % (±1 mm/m), corresponding to a detectable angle of 10 3 rad 0 . 06 .
To assess the impact of any deviation from verticality of the rotating bench on the accuracy of the proposed calibration, we consider the ’nearly vertical’ model shown in Figure 3, where the rotation axis is tilted by an angle δ with respect to the horizontal. In this model, the three sources of acceleration are no longer coplanar: while centripetal and angular accelerations lie in the tilted rotation plane, gravity remains vertical.
As shown in Figure 3, the components of the acceleration along the axes of the local reference frame X Y Z , due to the tilted rotation plane, turn out now to be the following:
a ( t ) = a X ( t ) = r ϑ ˙ 2 ( t ) + g cos δ cos ϑ ( t ) a Y ( t ) = r ϑ ¨ ( t ) + g cos δ sin ϑ ( t ) a Z ( t ) = g sin δ
Considering a sensitivity of ±1 mm/m for a common level tool, we can therefore assume an angular tilt δ m a x 10 3 rad. This leads to the following constraints for sin δ and cos δ in (2):
sin δ < 10 3 cos δ = 1 sin 2 δ 1 sin 2 δ 2 > 1 5 · 10 7 1
This allows us to conclude the following:
  • cos δ is definitely negligible in a X ( t ) and a Y ( t ) , as its effect would only become observable beyond the sixth decimal place, which is well below the sensitivity of any MEMS accelerometer. Consequently, a X ( t ) a X ( t ) and a Y ( t ) a Y ( t ) .
  • sin δ introduces a constant systematic error on a Z ( t ) , as a Z ( t ) < 10 3 g 1 mg. This error is not so negligible as cos δ , but it can be nevertheless neglected, as its maximum value lies below the noise floor of commercial-grade MEMS accelerometers [17,18].
We can therefore reasonably assume that, for those accelerometers, a manual adjustment of the bench verticality using a common level is accurate enough to consider the proposed acceleration model (1) valid for this calibration.

3. The Dynamic Calibration Model

3.1. Modeling the Rotation Speed

Due to frictions and air drag at the moving parts of the bench, its rotation speed ϑ ˙ ( t ) slowly decreases during the free rotation.
Experimental free-rotation tests conducted in [16] demonstrated that the rotation speed ϑ ˙ ( t ) closely follows a decreasing cubic polynomial function of time. I therefore model the rotation speed ϑ ˙ ( t ) and consequently the phase ϑ ( t ) and the angular acceleration ϑ ¨ ( t ) as follows:
ϑ ˙ ( t ) = ω 0 + ω 1 t + ω 2 t 2 + ω 3 t 3 ϑ ( t ) = ϑ 0 + ω 0 t + ω 1 2 t 2 + ω 2 3 t 3 + ω 3 4 t 4 ϑ ¨ ( t ) = ω 1 + 2 ω 2 t + 3 ω 3 t 2
According to this model, the acceleration a ( t ) in (1) is a function of the rotation radius r and the phase ϑ ( t ) , which, in turn, is described by the five motion parameters ϑ 0 , ω 0 , ω 1 , ω 2 , ω 3 in (3). Combining (1) and (3) results in a ( t ) being modeled by the following six parameters: r , ϑ 0 , ω 0 , ω 1 , ω 2 , ω 3 . These are the bench parameters, which must be estimated through calibration, along with the accelerometer parameters.

3.2. Sensor Orientation

Since no geometrical constraint is imposed on how the accelerometer is mounted on the bench, the actual sensor orientation is unknown. As shown in Figure 4, the misalignment between the sensor reference frame x y z and the bench reference frame X Y Z can be modeled as a 3D rotation. Naming s ( t ) the acceleration sensed by the accelerometer along its sensing axes x y z , the relationship between s ( t ) and the actual acceleration a ( t ) along the axes of the bench frame X Y Z is
s ( t ) = s x s y s z = R a ( t ) , R = rotmat θ , ϕ , ψ
where R is the misalignment rotation matrix, defined by its three Euler angles θ , ϕ , ψ . Actually, since a Z ( t ) = 0 , a 2D acceleration, a X Y , and a corresponding 3 × 2 matrix R 32 could be used in the model, as follows:
s x s y s z = R 32 a X Y ( t ) = r 11 r 12 r 21 r 22 r 31 r 32 a X a Y ;
however, since R and R 32 are both functions of three Euler angles θ , ϕ , ψ , there is no advantage in using the reduced model given in (5), as it does not reduce the number of unknowns in the problem.

A ‘Good’ Sensor Orientation

As discussed in Section 3, all accelerations applied to the sensor are coplanar, lying within the rotation plane (Figure 2). Therefore, it is crucial to avoid orienting the sensor such that one of its sensing axes is orthogonal to this plane (i.e., parallel to the rotation axis), as this would result in no acceleration being detected, rendering calibration impossible. To ensure reliable calibration, a ‘good’ sensor orientation is one where all sensing axes are sufficiently distant from being parallel to the rotation axis, ensuring a substantial acceleration signal on each axis. Figure 5 illustrates this orientation, in which the sensor axes are tilted to align with the faces of a cube whose diagonal coincides with the radial axis. This configuration can be practically achieved by mounting the sensor on a precisely tilted support. We designed and fabricated such a support using 3D printing.
It is worth noting that the accuracy of the sensor positioning is not critical: the orientation can be fairly approximate, as long as it ensures that the sensing axes are not parallel to the rotation axis. The precise orientation is estimated by the calibration algorithm, which represents it using the misalignment matrix R .

3.3. The Accelerometer Model

We adopt the classical six-parameter linear model [4,13,16], which considers independent offset and gain components for each sensing axis. This model can be expressed as
v ( t ) = v x v y v z = o x o y o z + γ x 0 0 0 γ y 0 0 0 γ z s ( t ) = o + Γ s ( t )
where
  • v ( t ) is the output acceleration, as generated by the sensor under test.
  • s ( t ) is the sensed acceleration, that is, the actual acceleration applied along the sensing axes x y z .
  • o = o x , o y , o z T and Γ = diag γ x , γ y , γ z are the accelerometer offset and gain.
Combining Equations (1), (4), and (6), we obtain the complete calibration model, which relates the sensor output v ( t ) to the bench acceleration a ( t ) :
v ( t ) = o + Γ s ( t ) = o + Γ R a ( t )
where offset o = o x , o y , o z T and gain Γ = diag γ x , γ y , γ z are the sensor parameters: the actual target of the calibration.

3.4. The Calibration Problem

Referring to (7), R , o , and Γ are defined by three parameters each, and a ( t ) is described by the following six parameters: r , ϑ 0 , ω 0 ω 3 . Therefore, the complete calibration model is defined by a total of 15 parameters. We collect these into a 15-dimensional model vector m , defined as follows:
m = o , Γ , R , r , ϑ 0 , ω 0 , ω 1 , ω 2 , ω 3 .
The solution of the calibration problem then consists in the determination of the model vector m that best fits the observed data. The fitting is evaluated as the least squares difference between the observed data v o b s ( t ) and the predicted data v p r e d ( m , t ) , generated using m in the model (7). The solution m ^ can be expressed as follows:
m ^ = arg min m v o b s ( t ) v p r e d ( m , t ) 2 .

Problem Determinability

In [16], a similar setup was proposed, where the rotating bench was tilted at an unknown angle, rather than being vertical. In that case, it was demonstrated that the calibration problem becomes underdetermined, due to the presence of a one-dimensional null space within the parameter subspace r , δ , Γ , o z , where δ represents the unknown tilt angle. This ambiguity can be resolved by fixing either r or δ , thereby removing the extra degree of freedom, as demonstrated in [16]. In contrast, the vertical bench setup used here makes the tilt angle δ known a priori ( δ = π / 2 ). As a result, the calibration problem defined in (9) is determined.

4. The Calibration Algorithm

The proposed calibration algorithm is an evolution of the technique proposed in [16]. The computational process consists of four main steps, as represented in the flow chart in Figure 6.
In the first step, the acquired acceleration v ( t ) , referred to the sensor frame x y z , is rotated in such a way as to align it, as much as possible, to the bench frame X Y Z . This alignment can be only partial because different values of gain along the sensing axes cause the relationship between v ( t ) and a ( t ) , expressed in (7), to deviate from a simple 3D rotation. The details are described in Section 4.1.
The second step estimates the motion parameters  ϑ 0 , ω 0 ω 3 that best model the bench rotation ϑ ( t ) according to (3). As Section 4.2 shows, it is possible to estimate ϑ ( t ) by analyzing the sinusoidal components in the partially realigned signal obtained at the previous step.
The third step uses the previously estimated rotation phase ϑ ( t ) to determine the sensor’s misalignment matrix R and the gain Γ .
Finally, the fourth step estimates the remaining unknown parameter, the sensor offset o , as the constant additive term that best fits the acquired data v ( t ) .
Each of the four steps are described in detail in the following subsections.

4.1. Partial Alignment

Referring to Figure 4, this step aims to perform the partial alignment of the acquired acceleration v ( t ) , measured along the x y z axes, with the bench reference frame X Y Z . This alignment is performed by applying the alignment rotation matrix T to the data v ( t ) , resulting in the rotated output r ( t ) = T v ( t ) .
According to (7), the application of a rotation T to the acquired data v ( t ) can be expressed as follows:
r ( t ) = T v ( t ) = T o + T Γ R a ( t ) = T o + W a ( t )
with W = T Γ R , where Γ is the diagonal gain matrix, whereas T and R are rotation matrices.
As demonstrated in [16], if the gain were the same along all axes, that is, Γ = γ I 3 , then W = γ T R ; therefore it could be possible to perfectly re-align the sensor frame x y z to the reference frame X Y Z just by rotation, by making the alignment matrix T equal to the inverse of the misalignment matrix R (which, for rotation matrices, coincides with the transpose, T = R T ), thus leading to W = γ I 3 in (10).
However, in real triaxial accelerometers, the gains along different axes are slightly unequal. As a result, Γ γ I 3 , and consequently W = T Γ R is no longer orthogonal, nor a rotation matrix.
Equation (10) can be seen, in its generality, as a change of reference of the 3-D vector a ( t ) from its Euclidean reference X Y Z to a non-orthogonal reference x y z :
r ( t ) = r x ( t ) r y ( t ) r z ( t ) = T o + W a ( t ) = T o + w 11 w 12 w 13 w 21 w 22 w 23 w 31 w 32 w 33 a X ( t ) a Y ( t ) a Z ( t )
If W is not orthogonal, x y z results in a non-orthogonal frame; therefore it is impossible to overlay x y z onto the Euclidean frame X Y Z just by rotation.
This situation is illustrated in Figure 7. To align the non-orthogonal frame x y z as closely as possible with the Euclidean frame X Y Z , the following approach may be adopted:
  • Apply first a rotation around X and Y that aligns z to Z, thus making z X and z Y .
  • Apply then a rotation around z Z that brings the axis y into the Y Z plane, thus making y X .
If z X , z Y , and y X , then w 21 = w 31 = w 32 = 0 , which means that W turns out to be upper-triangular.
The alignment matrix T can be then expressed as the composition of these two rotations. Describing them with the rotation matrices T and T , respectively, we have T = T T .

Estimation of T and T

The estimation of T and T is performed as proposed in [16]. T is the rotation of the frame x y z around the axes X and Y that brings z to coincide with Z. Applying this rotation to v ( t ) yields the rotated data r ( t ) = T o + W a ( t ) , where W = T Γ R , and whose z component results in the following:
r z ( t ) = t 3 o + w 31 a X ( t ) + w 32 a Y ( t )
After rotation, z turns out to be orthogonal to both X and Y, therefore w 31 = w 32 = 0 . Thus, r z ( t ) reduces to a constant: r z ( t ) = t 3 o .
Considering that real data v ( t ) are noisy, the condition of constant r z ( t ) corresponds to the condition of its minimum variance. The estimation of T is therefore performed by searching for the minimum variance of r z ( t ) in the 2D space of the two rotations around the X and Y axes, ε x , ε y :
T ( ε ^ x , ε ^ y ) = arg min ε x , ε y Var r z ( t ) .
The second rotation T is applied around the Z axis, now coincident with z , to make the y axis lie in the tangential plane Y Z and therefore to make it orthogonal to the radial axis X. Considering now the fully rotated data r ( t ) = T v ( t ) defined in (11), where T = T T , let us focus on the y component, r y ( t ) :
The second rotation T is applied around the Z axis (which now coincides with z ) in order to align the y axis with the tangential plane Y Z , making it orthogonal to the radial axis X. Now, considering the fully rotated data r ( t ) = T v ( t ) , as defined in (11) with T = T T , we focus on the y component, r y ( t ) :
r y ( t ) = t 2 o + w 21 a X ( t ) + w 22 a Y ( t )
where t 2 is the second row of T .
As demonstrated in [16], T can be determined as the rotation around Z that minimizes the excursion of r y ( t ) , defined as max r y ( t ) min r y ( t ) . We can solve this problem as a minimum search in the 1D space of the rotation angle ε ^ z that defines T :
T ( ε ^ z ) = arg min ε z max r y ( t ) min r y ( t ) .

4.2. Estimation of the Angular Velocity

After the previous data alignment, w 21 = 0 in (14); therefore r y ( t ) is as follows:
r y ( t ) = t 2 o + w 22 a Y ( t ) t 2 o + w 22 g sin ϑ ( t ) ,
that is, a constant term plus a sinusoidal component with time-varying frequency, which can be modeled as
r y ( t ) = k + A sin ϑ ( t ) : A = w 22 g k = t 2 o
with the phase ϑ ( t ) modeled by the motion parameters ϑ 0 , ω 0 ω 3 in (3) ( as shown in [16], the tangential acceleration term r ϑ ¨ ( t ) in the acceleration model (1) can be neglected at this stage due to its negligible magnitude; the complete model will be considered in subsequent steps for the final estimations).
It is therefore possible to determine the motion parameters, along with A and k, as the values that, applied in (3) and (17), yield the best approximation of r y ( t ) . The estimation can be formalized as a least-squares minimum search in the seven-dimensional parameter space ϑ 0 , ω 0 ω 3 , A , k as follows:
ϑ ^ 0 , ω ^ 0 ω ^ 3 , A ^ , k ^ = arg min ϑ 0 , ω 0 ω 3 , A , k r y ( t ) k + A sin ϑ ( t ) 2 .

4.3. Estimating Misalignment, Gain, and Radius

Once the bench rotation ϑ ( t ) is known, the next step involves jointly estimating the sensor misalignment matrix R , the gain matrix Γ , and the rotation radius r.
For this step, we leverage the constraint that W is upper triangular. Specifically, we focus on the following coefficients of W :
w 21 = t 21 γ x r 11 + t 22 γ y r 21 + t 23 γ z r 31 = 0 w 31 = t 31 γ x r 11 + t 32 γ y r 21 + t 33 γ z r 31 = 0 w 32 = t 31 γ x r 12 + t 32 γ y r 22 + t 33 γ z r 32 = 0 w 22 = t 21 γ x r 12 + t 22 γ y r 22 + t 23 γ z r 32 = g A
where t i j are the known coefficients of T ; r i j are the coefficients of R , which are functions of the unknown Euler angles θ , ϕ , ψ ; the gain vector γ = γ x , γ y , γ z = diag ( Γ ) contains the three gain components. The term g / A is taken as the estimation of w 22 , according to (17), with A previously estimated solving (18).
Assuming that R is known, the four equations in (19) define a non-homogeneous, overdetermined linear system with three unknown gain components γ x , γ y , γ z . Therefore, for any given value of R , the system (19) can be used to compute the corresponding gain vector γ = γ x , γ y , γ z . Since the system is overdetermined, it is solved in the least-squares sense using the pseudo-inverse method [19]. By expressing (19) in matrix form, we define the coefficient matrix as U , and the right-hand side as b = [ 0 0 0 g / A ] T . The overdetermined system is then given by U γ = b . The best solution for γ in the least-squares sense is therefore
γ = U T U 1 U b .
The combined estimation of R , r, and Γ can be therefore formulated as a nonlinear optimization problem over the four-dimensional space r , θ , ϕ , ψ of the rotation radius r and the three Euler angles defining R . For each candidate rotation matrix R ( θ , ϕ , ψ ) selected by the search algorithm, the corresponding gain vector γ is computed using (20). The objective function is defined as the norm of the difference between the realigned acquired data, r ( t ) = T v ( t ) , and the modeled data, r m ( t ) = T v m ( t ) , where v m ( t ) depends on the parameters r , θ , ϕ , ψ and is evaluated according to the complete model in (7). Prior to computing the norm, both signals are mean-subtracted to remove any DC bias:
r 0 ( t ) = r ( t ) mean r ( t ) r 0 m ( t ) = r m ( t ) mean r m ( t ) ;
the minimization problem is therefore defined as follows:
R ^ = arg min R r 0 ( t ) r 0 m ( t ) 2 .
The use of the zero-mean components r 0 ( t ) and r 0 m ( t ) in (22) is essential to ensure that the objective function is independent of the offset o , which remains unknown. This decouples the estimation of R and Γ from that of o , thereby simplifying the optimization process by reducing the dimensionality of the search space.
To obtain r m ( t ) , the modeled signal v m ( t ) is computed using the full model in (7), with an arbitrary value assigned to o . This choice is justified, as r 0 m ( t ) is subsequently forced to have zero mean, rendering the specific value of o irrelevant. Once v m ( t ) is computed, the modeled realigned data are obtained as r m ( t ) = T v m ( t ) . For this estimation and those that follow, the complete model (1) for a ( t ) is considered, with the tangential acceleration component r ϑ ¨ ( t ) no longer neglected.

4.4. Estimation of the Offset

The final unknown parameter, the offset o , can be estimated by performing a minimization in the three-dimensional space defined by its components o x , o y , o z . This involves minimizing the norm of the difference between the originally acquired data v ( t ) and the synthesized data v m ( t ) , computed using (7) with the previously determined parameters. The corresponding minimization problem can be formulated as follows:
o ^ = arg min o v ( t ) v m ( t ) 2 .
All optimization problems in the proposed procedure are solved using a nonlinear minimization algorithm, specifically the Nelder–Mead algorithm [20]. In all experiments performed, this algorithm never exhibited stability or convergence issues, likely due to the absence of local minima in the defined search spaces, thereby demonstrating its effectiveness as an optimization strategy for this application.

5. Results

To assess the performance of the proposed procedure, I implemented the two tests outlined in a similar approach [16]. The first test involves running the calibration on synthetically generated data, for which the exact values of the calibrated parameters are known a priori. This test aims to evaluate the accuracy of the estimated parameters as a function of the noise added to the data. In the second test, the calibration is evaluated experimentally by calibrating a commercial triaxial MEMS accelerometer. This experiment aims to measure the actual precision of the calibrated parameters, expressed in terms of the standard deviation of multiple estimations obtained from repeated calibrations of the same sensor [21].

5.1. Measuring Accuracy and Precision with Synthetic Data

In this test, the calibration is performed on several realizations of synthetic data generated by applying the model Equations (7) to a set of arbitrarily chosen parameters representing the true values. Each realization is supplemented with a different instance of zero-mean Gaussian noise, simulating the noise that affects the ideal acceleration data in real accelerometers. The aim of this test is to assess the robustness and accuracy of the algorithm as a function of the noise level affecting the ideal data. The accuracy and precision of the estimations are derived from the means and variances of the calibration results.
To reflect the noise characteristics commonly found in commercial-grade MEMS accelerometers [18], I selected standard deviation values logarithmically spaced between 0.01 m/s2 and 1 m/s2. For each selected noise level, I conducted 60 independent calibration trials with different random noise instances to obtain statistically meaningful results. Synthetic data were generated to mimic real measurements: for all calibrated parameters, I selected typical values observed in actual calibration procedures. For each calibration experiment, a synthetic 90 s sequence was produced at a sampling rate of 200 samples per second, exactly as in the real calibrations (Section 5.2).
The mean values of each parameter serve as a good indicator of the method’s accuracy, revealing any biases in the estimation. The standard deviations, on the other hand, provide an estimate of the achievable precision.
The mean values are plotted in Figure 8a, as a function of the standard deviation of the Gaussian noise added to the data. For each parameter, the normalized deviation μ d e v is plotted, defined as the difference between the mean value μ c a l and true values v t r u e , normalized by the true value itself and expressed as percentage: μ d e v = 100 μ c a l / v t r u e 1 .
To ensure consistency in the representation, deviations of similar parameter groups were aggregated by computing their mean values. The plotted curves correspond to
  • Sensor offset (mean of x, y, and z components);
  • Sensor gain (mean of x, y, and z components);
  • Rotation radius;
  • Misalignment (mean of the three Euler angles);
  • Motion parameters (mean of the five components).
The results indicate that, for low noise levels, the average deviation μ d e v is approximately zero, implying that the estimated values μ c a l closely match the true parameters v t r u e . This supports the unbiased nature of the proposed estimation method. Furthermore, the estimation remains effectively unbiased (with μ d e v < 0.25 % ) up to a noise level of σ n = 0.5 m/s2, well above the typical noise observed in commercial low-g MEMS accelerometers [17,18].
The obtained deviations from the mean are considerably lower than those obtained in [16]: in particular, regarding the actual calibration parameters, gain and offset, the reduction is substantial—the gain deviation decreases from approximately 2 % to 0.6 % , and the offset deviation decreases from 1.2 % to 0.14 % (considering the worst case for both). This improvement highlights the superior performance of the proposed approach over that in [16], particularly in terms of reduced estimation biases and, consequently, enhanced accuracy.
Figure 8b presents the standard deviations of the estimated parameters, normalized by their respective mean values ( for gain and offset, I used μ o = μ γ = 1 , so their normalized deviations in Figure 8b coincide numerically with the standard deviations), as a function of the data noise standard deviation. As in Figure 8a, similar variables are grouped by averaging to ensure consistent representation. From this diagram, the following conclusions can be drawn:
  • The standard deviation of all parameters increases roughly proportionally to the data noise across the entire range, without signs of divergence. This behavior indicates that the estimation method remains robust even under noise levels well above those commonly encountered in MEMS accelerometers.
  • The estimation of the rotation radius r exhibits the lowest standard deviation, supporting the validity of the choice to estimate the radius through calibration in the proposed setup.
  • The precision in the estimation of the sensor’s gain is one order of magnitude higher than that of the sensor’s offset across the entire noise range.
The results shown in Figure 8a,b demonstrate that, despite the simplicity of the proposed setup, the calibration achieves high levels of accuracy and precision. For the typical noise levels of commercial-grade MEMS accelerometers [17,18], the precision achieved is highly satisfactory, further reinforcing the effectiveness of the proposed setup.

5.2. Performance Assessment on a Real Sensor

I adopted the same assessment approach as in [16]: I repeated the calibration procedure multiple times on the same sensor, with each iteration yielding a measurement of the sensor parameters. The mean value and standard deviation of the measurements for each parameter offer a reliable estimation of the achieved precision [21].
I constructed a simple calibration bench using a common bicycle wheel as a rotating base, as shown in Figure 1. A photograph of the calibration setup is shown in Figure 9. I designed a wireless accelerometer system in which the sensor under calibration—a digital MEMS accelerometer (Invensense™ MPU9250 [18])—is interfaced with a battery-powered microcontroller board (ESP32-Wroom [22]). The board features a Bluetooth interface used for both wireless data acquisition and device control.
The rotating bench was firmly anchored to the floor, and its plane was aligned vertically using a level, as described in Section 2.2. The sensing device was installed on the calibration bench together with a counterbalance, whose position was adjusted to achieve equilibrium of the wheel. To achieve the sensor orientation described in Section 3.2 and shown in Figure 5, a custom support was designed and 3D-printed (its shape is depicted in Figure 10). This support rigidly connects the sensor to the MCU board and maintains the desired tilt. For data acquisition, the wheel was manually spun, and data were collected from the sensor at a sampling rate of 200 Hz. A 90 s sequence (approximately corresponding to 100 wheel rotations) was extracted and used for calibration. This acquisition process was repeated 10 times with the same setup (i.e., the same sensor positioned identically on the bench), though each trial involved different motion due to the manual spinning of the bench. Each data acquisition was followed by a calibration procedure, resulting in an estimate of the sensor parameters. Table 1 reports the mean and standard deviation of each parameter across the 10 calibration runs.

5.3. Precision Assessment

Since the synthetic data exactly correspond to the model in (1), computed using known true values, and the added noise is Gaussian with zero mean, the standard deviations plotted in the diagram of Figure 8b can be reasonably considered an estimate of the precision achievable by this technique, as a function of the noise level in the data.
The level of noise affecting the real data has been estimated experimentally, exploiting the fact that the minimized variance of r z ( t ) , after the minimization in (13) (described in Section 4.1), is a reliable estimate of the noise variance: without noise, the minimization would lead to a constant r z ( t ) , so its minimum variance would be zero. Consequently, the minimum reached by (13) can be reasonably taken as an estimation of the noise variance on the acquired data.
By averaging the results obtained from all calibrations, I estimated a noise standard deviation of approximately σ n 0.52 m/s2. For this noise level, the plots in Figure 8b indicate the following expected standard deviations for gain and offset:
σ gain exp 2.5 × 10 3 , σ offset exp 4 × 10 2 m / s 2 .
In comparison, the measured standard deviations of the calibrated parameters, computed by averaging the x, y, and z components of both gain and offset reported in Table 1, are
σ gain meas = 4.1 × 10 3 , σ offset meas = 3.9 × 10 2 m / s 2 .
The measured standard deviations closely match the expected values, demonstrating strong agreement between the proposed model in (7) and the actual calibration setup. This supports the reliability of the calibration results produced by the method.

Evaluation of the Noise Sources

The measured standard deviation σ n refers to the total noise affecting the data, which arises from multiple contributing phenomena. These contributions can be categorized into two main noise components:
  • The sensor noise, including all the noise sources originated by the sensor itself.
  • The bench noise, including the noise sources due to all mechanical non-idealities (such as friction irregularities and clearances in the ball bearings, vibration of the supports, etc.) that give rise to undesired and unpredictable deviations from the ideal acceleration defined by the dynamical model (1).
Assuming that these two noise components are zero-mean and statistically independent, the total noise variance (i.e., total noise power) σ n 2 is given by the sum of their individual variances:
σ n 2 = σ S 2 + σ B 2
where σ S 2 and σ B 2 denote the variances of the sensor noise and bench noise, respectively.
Since it was possible to measure the standard deviation of the total noise σ n , and the standard deviation of the sensor noise σ S is normally provided by the manufacturer, we can derive the level of the bench noise σ B , due to all non-idealities of the calibration bench. For the sensor used in this experiment [18], the datasheet reports σ S 0.08 m/s2. Thus, according to (26), we obtain the estimate for the standard deviation of the bench noise: σ B = σ n 2 σ S 2 0.51 m/s2. This result indicates that, for the accelerometer tested, the overall data noise is largely dominated by the bench noise.
When considered alongside the experimental accuracy results reported in Table 1 and the theoretical accuracy results in Figure 8, this finding supports the following conclusions:
  • The proposed method is capable of achieving accurate parameter estimation even under relatively noisy conditions.
  • Nonetheless, improving the mechanical quality of the setup—while maintaining its low-cost nature—could further reduce the bench noise and thereby enhance significantly the calibration accuracy.

6. Conclusions

The paper presents a dynamic calibration method for triaxial accelerometers working with a calibration setup, which is very simple and uncritical to build. The experimental calibration tests have shown, primarily, that this method yields noticeable accuracy and precision, despite the extreme simplicity of the setup. This fact makes the proposed method particularly suitable for low-cost calibrations of commercial-grade accelerometers.
As outlined in the introduction and supported by the results, the proposed method builds upon the approach presented in [16]. In addition to eliminating the underdetermined nature of the calibration problem and addressing the issue of suboptimal sensor orientations (discussed in Section 3.2), it also results in a significant improvement in achievable accuracy. This enhancement is demonstrated by the experimental results with synthetic data, presented in Section 5.1.
Moerover, the analysis in Section 5.3 has shown that an improvement in the build quality of the bench could further enhance the precision of this calibration.
It is also worth noting that the analysis in Section 5.1 shows that the accuracy of this method scales proportionally with the noise level in the data. This makes this dynamic calibration approach potentially applicable to higher-precision accelerometers, through the use of more advanced sensor models that account for effects not captured by static calibration methods, such as gain nonlinearities, non-orthogonality of the sensing axes, and hysteresis.

Funding

This research received no external funding.

Data Availability Statement

Any inquiries regarding the data presented in this article should be directed to the corresponding author.

Conflicts of Interest

The author declares no conflicts of interest.

References

  1. Zihajehzadeh, S.; Loh, D.; Lee, T.J.; Hoskinson, R.; Park, E.J. A cascaded Kalman filter-based GPS/MEMS-IMU integration for sports applications. Measurement 2015, 73, 200–210. [Google Scholar] [CrossRef]
  2. Frosio, I.; Pedersini, F.; Borghese, N.A. Autocalibration of MEMS Accelerometers. IEEE Trans. Instrum. Meas. 2009, 58, 2034–2041. [Google Scholar] [CrossRef]
  3. Ang, W.T.; Khosla, P.K.; Riviere, C.N. Nonlinear Regression Model of aLow-g MEMS Accelerometer. IEEE Sens. J. 2007, 7, 81–88. [Google Scholar] [CrossRef]
  4. Frosio, I.; Pedersini, F.; Borghese, N.A. Autocalibration of Triaxial MEMS Accelerometers With Automatic Sensor Model Selection. IEEE Sens. J. 2012, 12, 2100–2108. [Google Scholar] [CrossRef]
  5. Tan, C.W.; Park, S. Design of accelerometer-based inertial navigation systems. IEEE Trans. Instrum. Meas. 2005, 54, 2520–2530. [Google Scholar] [CrossRef]
  6. Zhang, M.; Yan, S.; Deng, Z.; Chen, P.; Li, Z.; Fan, J.; Liu, H.; Liu, J.; Tu, L. Cross-Coupling Coefficient Estimation of a Nano-g Accelerometer by Continuous Rotation Modulation on a Tilted Rate Table. IEEE Trans. Instrum. Meas. 2021, 70, 1–12. [Google Scholar] [CrossRef]
  7. García, J.A.; Lara, E.; Aguilar, L. A Low-Cost Calibration Method for Low-Cost MEMS Accelerometers Based on 3D Printing. Sensors 2020, 20, 6454. [Google Scholar] [CrossRef] [PubMed]
  8. Särkkä, O.; Nieminen, T.; Suuriniemi, S.; Kettunen, L. A Multi-Position Calibration Method for Consumer-Grade Accelerometers, Gyroscopes, and Magnetometers to Field Conditions. IEEE Sens. J. 2017, 17, 3470–3481. [Google Scholar] [CrossRef]
  9. Won, S.h.P.; Golnaraghi, F. A Triaxial Accelerometer Calibration Method Using a Mathematical Model. IEEE Trans. Instrum. Meas. 2010, 59, 2144–2153. [Google Scholar] [CrossRef]
  10. Glueck, M.; Oshinubi, D.; Schopp, P.; Manoli, Y. Real-Time Autocalibration of MEMS Accelerometers. IEEE Trans. Instrum. Meas. 2014, 63, 96–105. [Google Scholar] [CrossRef]
  11. Lee, D.; Lee, S.; Park, S.; Ko, S. Test and error parameter estimation for MEMS—based low cost IMU calibration. Int. J. Precis. Eng. Manuf. 2011, 12, 597–603. [Google Scholar] [CrossRef]
  12. Asadi, A.A.; Homaeinezhad, M.R.; Arefnezhad, S.; Safaeifar, A.; Zoghi, M. Designing a 2-DOF passive mechanism for dynamical calibration of MEMS-based motion sensors. In Proceedings of the 2014 Second RSI/ISM International Conference on Robotics and Mechatronics (ICRoM), Tehran, Iran, 15–17 October 2014; pp. 256–261. [Google Scholar] [CrossRef]
  13. Zhang, R.; Hoflinger, F.; Reind, L.M. Calibration of an IMU Using 3-D Rotation Platform. IEEE Sens. J. 2014, 14, 1778–1787. [Google Scholar] [CrossRef]
  14. Emel’yantsev, G.I.; Blazhnov, B.A.; Dranitsyna, E.V.; Stepanov, A.P. Calibration of a precision SINS IMU and construction of IMU-bound orthogonal frame. Gyroscopy Navig. 2016, 7, 205–213. [Google Scholar] [CrossRef]
  15. Vyalkov, A.V.; Vyalkova, T.P. Calibration of IMU MEMS Sensors with the Use of a Manual Calibration Test Rig. Gyroscopy Navig. 2023, 14, 113–128. [Google Scholar] [CrossRef]
  16. Pedersini, F. Dynamic Calibration of Triaxial Accelerometers With Simple Setup. IEEE Sens. J. 2022, 22, 9665–9674. [Google Scholar] [CrossRef]
  17. ADXL317 Data Sheet. 2019. Available online: https://www.analog.com/media/en/technical-documentation/data-sheets/ADXL317.pdf (accessed on 17 June 2025).
  18. MPU-9250 Product Specification, 2016. PS-MPU-9250A-01, Rev. 1.1. Available online: https://invensense.tdk.com/download-pdf/mpu-9250-datasheet (accessed on 17 June 2025).
  19. Penrose, R. On best approximate solutions of linear matrix equations. Math. Proc. Camb. Philos. Soc. 1956, 52, 17–19. [Google Scholar] [CrossRef]
  20. Lagarias, J.C.; Reeds, J.A.; Wright, M.H.; Wright, P.E. Convergence Properties of the Nelder–Mead Simplex Method in Low Dimensions. Siam J. Optim. 1998, 9, 112–147. [Google Scholar] [CrossRef]
  21. Pavese, F. Replicated observations in metrology and testing: Modelling repeated and non-repeated measurements. Accredit. Qual. Assur. 2007, 12, 525–534. [Google Scholar] [CrossRef]
  22. ESP32 WROOM 32UE Datasheet. Version 1.2. 2021. Available online: https://www.espressif.com/en/support/documents/technical-documents (accessed on 17 June 2025).
Figure 1. The calibration setup. The accelerometer for calibration is mounted on a rotating bench, together with a properly placed counterbalance, to balance the rotation. The bench plane is adjusted to be vertical.
Figure 1. The calibration setup. The accelerometer for calibration is mounted on a rotating bench, together with a properly placed counterbalance, to balance the rotation. The bench plane is adjusted to be vertical.
Sensors 25 03998 g001
Figure 2. Geometric description of the bench motion. While rotating, the sensor undergoes three accelerations: the radial centripetal acceleration ϑ ˙ 2 r , gravity g along the vertical, and the tangential deceleration r ϑ ¨ , caused by friction.
Figure 2. Geometric description of the bench motion. While rotating, the sensor undergoes three accelerations: the radial centripetal acceleration ϑ ˙ 2 r , gravity g along the vertical, and the tangential deceleration r ϑ ¨ , caused by friction.
Sensors 25 03998 g002
Figure 3. Geometric representation of a ‘nearly vertical’ bench, with the rotation axis tilted by δ . In this case, since g is vertical, the three accelerations are no longer coplanar.
Figure 3. Geometric representation of a ‘nearly vertical’ bench, with the rotation axis tilted by δ . In this case, since g is vertical, the three accelerations are no longer coplanar.
Sensors 25 03998 g003
Figure 4. Schematization of the sensor misalignment. The actual orientation of the sensing reference frame is unknown. This misalignment can be modeled as the 3D rotation that overlaps the bench reference frame X Y Z onto the sensor reference frame x y z .
Figure 4. Schematization of the sensor misalignment. The actual orientation of the sensing reference frame is unknown. This misalignment can be modeled as the 3D rotation that overlaps the bench reference frame X Y Z onto the sensor reference frame x y z .
Sensors 25 03998 g004
Figure 5. Best sensor orientation. By placing the sensor with the three axes oriented as the sides of a tilted cube having its diagonal along the radial axis, all the sensor axes are tilted on the same angle δ with respect to the tangential plane.
Figure 5. Best sensor orientation. By placing the sensor with the three axes oriented as the sides of a tilted cube having its diagonal along the radial axis, all the sensor axes are tilted on the same angle δ with respect to the tangential plane.
Sensors 25 03998 g005
Figure 6. Flowchart of the proposed calibration. The blocks correspond to the computation steps described in Section 4.1, Section 4.2, Section 4.3 and Section 4.4.
Figure 6. Flowchart of the proposed calibration. The blocks correspond to the computation steps described in Section 4.1, Section 4.2, Section 4.3 and Section 4.4.
Sensors 25 03998 g006
Figure 7. Schematization of the partial alignment step. The reference frame x y z is not orthogonal; therefore it cannot be aligned to X Y Z by rotation. However, x y z can be rotated so that (a) z Z (rotation matrix: T ) and then (b) y Y Z (rotation matrix: T ). The alignment matrix T corresponds to the composition of the following two rotations: T = T T .
Figure 7. Schematization of the partial alignment step. The reference frame x y z is not orthogonal; therefore it cannot be aligned to X Y Z by rotation. However, x y z can be rotated so that (a) z Z (rotation matrix: T ) and then (b) y Y Z (rotation matrix: T ). The alignment matrix T corresponds to the composition of the following two rotations: T = T T .
Sensors 25 03998 g007
Figure 8. (a) Mean value of the estimated parameters, expressed as normalized difference from the true value. (b) Standard deviation of the estimated parameters, normalized to their mean value ( σ / μ ), for different levels (standard deviation) of Gaussian noise added to the ideal acceleration data.
Figure 8. (a) Mean value of the estimated parameters, expressed as normalized difference from the true value. (b) Standard deviation of the estimated parameters, normalized to their mean value ( σ / μ ), for different levels (standard deviation) of Gaussian noise added to the ideal acceleration data.
Sensors 25 03998 g008
Figure 9. Prototype of the calibration setup, assembled by the author. The tilted support, used to give the sensing axes approximately the orientation shown in Figure 5, was custom-designed and 3D printed for this experiment. The sensor is rigidly connected to the MCU board via this support.
Figure 9. Prototype of the calibration setup, assembled by the author. The tilted support, used to give the sensing axes approximately the orientation shown in Figure 5, was custom-designed and 3D printed for this experiment. The sensor is rigidly connected to the MCU board via this support.
Sensors 25 03998 g009
Figure 10. The shape of the 3D-printed support fastening the accelerometer under test to the MCU board and holding the sensor in the tilted orientation discussed in Section 3.2 and shown in Figure 5.
Figure 10. The shape of the 3D-printed support fastening the accelerometer under test to the MCU board and holding the sensor in the tilted orientation discussed in Section 3.2 and shown in Figure 5.
Sensors 25 03998 g010
Table 1. Results of repeated calibrations of MEMS accelerometer: mean and standard deviation of calibrated parameters.
Table 1. Results of repeated calibrations of MEMS accelerometer: mean and standard deviation of calibrated parameters.
Parameter MeanStd. Deviation
Radius [mm]r 328.12 0.192
Misalignment θ 7 . 55 0 . 152
ϕ 44 . 74 0 . 356
ψ 25 . 44 0 . 674
Gain γ x 1.0553 0.00631
γ y 0.9996 0.00030
γ z 0.9580 0.00571
Offset [m/s2] o x 0.182 0.0223
o y + 0.102 0.0640
o z + 0.027 0.0319
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Pedersini, F. Simple Calibration of Three-Axis Accelerometers with Freely Rotating Vertical Bench. Sensors 2025, 25, 3998. https://doi.org/10.3390/s25133998

AMA Style

Pedersini F. Simple Calibration of Three-Axis Accelerometers with Freely Rotating Vertical Bench. Sensors. 2025; 25(13):3998. https://doi.org/10.3390/s25133998

Chicago/Turabian Style

Pedersini, Federico. 2025. "Simple Calibration of Three-Axis Accelerometers with Freely Rotating Vertical Bench" Sensors 25, no. 13: 3998. https://doi.org/10.3390/s25133998

APA Style

Pedersini, F. (2025). Simple Calibration of Three-Axis Accelerometers with Freely Rotating Vertical Bench. Sensors, 25(13), 3998. https://doi.org/10.3390/s25133998

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop