30-37 Pesti Etal
30-37 Pesti Etal
30-37 Pesti Etal
2 2024
ABSTRACT
This paper addresses accelerometer array calibration, focusing on determining the errors between multiple sensors.
Micro-electromechanical system (MEMS) based triaxial accelerometers, key components of Inertial Measurement Units
(IMUs), are used in localization, robotics, and navigation systems. The requirements of these applications necessitate
low-cost sensors, which makes MEMS IMUs a reasonable choice. However, these low-cost IMUs are significantly
affected by systematic (i.e., bias, misalignment, scale-factor) and random errors. Achieving reliable sensor output
depends on the precision of the executed calibration method. While traditional laboratory-based sensor calibration using
specialized equipment (i.e., three-axis turntable) is accurate, it is time-consuming and costly. In contrast, in-field
calibration techniques, which can be performed using a mechatronic actuator or a robotic arm, have gained popularity.
These techniques involve comparing sensor measurements to established reference values. The MEMS sensors are
increasingly being used in multi-sensor applications, which demands not only individual sensor error calibration but also
important to determine the axis misalignment between the used sensors. During calibration process, various optimization
algorithms (e.g., GA, PSO) can also be used to find the error parameters. The proposed measurement system allows for
individual calibration of misalignment, bias, and scale factor of the sensor array, and eliminates between-sensor
misalignment errors.
1. INTRODUCTION
Inertial Measurement Units (IMUs) combine three tri-axial sensors, the accelerometer, gyroscope and
magnetometer. These sensors have a wide range of use in many applications, such as Unmanned Aerial
Vehicle (UAV), Automatic Guided Vehicle (AGV), localization applications, human movement and terrain
classification [1] [2] [3] [4] [5]. Due to their low cost and high-resolution output, they are becoming more
and more popular nowadays. Unfortunately, these IMUs are still not able to match the accuracy on the output
required by many applications (i.e., Inertial Navigation Systems – INS). Many commercially available, low-
cost IMUs come without calibration. Imperfections in the manufacturing process of the circuit board and
IMU boards can lead to discrepancies between the sensitivity axes of the IMU and the coordinate system of
the sensor board. However, as with general measurement systems, IMUs suffer from several drawbacks such
as misalignment of sensors because of packaging errors, large offsets, non-linearity, drift and random noise.
Moreover, in the case of accelerometer arrays, the sensitivity axes of the sensors in the array are not perfectly
aligned [2]. An overview of multi-IMU (MIMU) systems are presented in [2].
Micro-electromechanical systems (MEMS) triaxial accelerometer is the vital component of IMUs, providing
high-accuracy acceleration information about each three axes. Acceleration information can be turned into
useful data for position, velocity, and attitude determination of an object. Before deploying sensors like
accelerometers, gyroscopes, and magnetometers, calibration is an essential step. While some high-quality
MEMS-IMUs have been precisely calibrated and don’t require further calibration, most consumer-grade
IMUs are not adequately or not calibrated at all. This is often due to the desire to cut costs associated with
calibration efforts. A detailed overview of the possible methods of calibrating an accelerometer is shown in
[6]. Literature mentions two main possible ways for calibrating an accelerometer. First part employs the
DOI: https://doi.org/10.14232/analecta.2024.2.30-37
30
Vol. 18, No. 2 2024
traditional calibration methods that require costly rotation rigs (i.e., three-axis turntable), since the calibration
of accelerometer can be done by using the fact that the vector magnitude should be the local gravity
acceleration [7]. Where the magnitude of acceleration is 1𝑔. The second part of calibration methods is the
in-field calibration, which is an alternative calibration procedure that does not require expensive turntables.
In reference [8] [9] [10], the in-field calibration techniques were discussed. Furthermore, optimization
algorithms, like Particle Swarm Optimization (PSO) [11] [12] and Genetic Algorithm (GA) [7] in addition
Artificial Neural Networks (ANN) [13] [14] and Adaptive Neuro Fuzzy Inference System (ANFIS) [15] [16]
can be used to calibrate the sensors by comparing the sensor outputs with an established ground truth data.
In this work, a measurement system was demonstrated using multiple IMUs and an industrial robotic arm,
such as Universal Robots UR5. Using this measurement system the calibration of five IMU sensor errors can
be performed at once, including the bias, scale factors and misalignment individually and the misalignment
between the sensors as well. The robotic arm can provide the ground truth information for the compensation
of the sensor readings.
2. SENSOR MODELING
The readings from the accelerometer are affected by several errors, which can be categorized into systematic
errors and random errors (also referred to as noise). Systematic errors that typically affect the performance
of the system include bias, scale factor, frame misalignment and non-orthogonality errors, as depicted in Fig.
1. Sensor misalignment generally originates from two primary sources:
• The discrepancy between the sensor board and the sensor chip itself, as the two frames may not be
perfectly aligned. This misalignment can be a result of the manufacturing process.
• Errors that occur when the sensor board is installed onto an external device (carrying body).
Figure 1. Most common systematic errors: a) bias, b) misalignment, c) scale factor and d) non-orthogonality
When an IMU sensor is installed on a different external object, particularly when the body frame changes,
it's crucial to calibrate the misalignment error. Given that both the body frame and sensor frame are assumed
to be perfect and orthogonal, we need to compute a minor angle rotation matrix, as shown in equation (2),
that can translate the readings from the sensor frame to the body frame. The data gathered with the MEMS
accelerometer can be represented as follows:
𝐴𝑥 𝑆𝑥 𝑆𝑦𝑥 𝑆𝑧𝑥 𝑎𝑥 𝑏𝑥
𝐴 𝑆
[ 𝑦 ] = [ 𝑥𝑦 𝑆𝑦 𝑆𝑧𝑦 ] ∙ [𝑎𝑦 ] + [𝑏𝑦 ] (1)
𝐴𝑧 𝑆𝑥𝑧 𝑆𝑦𝑧 𝑆𝑧 𝑎𝑧 𝑏𝑧
The misalignment errors can be represented using the three rotation matrices. This facilitates a more accurate
alignment of the sensor with the external body. Rotation matrices 𝑅𝑥 (ϕ), 𝑅𝑦 (𝜃) and 𝑅𝑧 (𝜓) indicate the
DOI: https://doi.org/10.14232/analecta.2024.2.30-37
31
Vol. 18, No. 2 2024
rotation deviation among the frames (i.e., sensor board, sensor chip, external surface). Combining all
matrices (i.e., 𝑅 = 𝑅𝑥 ⋅ 𝑅𝑦 ⋅ 𝑅𝑧 ), the main 𝑅 rotation can be expressed as (2), where the trigonometric
functions are introduced in abbreviated forms (s𝛼 = sin𝛼, and c𝛼 = cos𝛼).
The measurement system consists of an ESP32 NodeMCU microcontroller unit (MCU) and five MPU9250
IMUs. Each offering 9 degrees of freedom (9DoF). These components are connected to the MCU and
together, they form a Robot Operating System (ROS) node. The MPU9250 (GY-9250) is a popular
consumer-grade IMU shown in Fig. 2. It was selected due to its cost-effectiveness, and since it combines
three tri-axial sensors: a 3DoF accelerometer, a 3DoF gyroscope, and a 3DoF magnetometer.
The sensors were mounted on a 3D printed tool at the robot’s end-effector, as shown in Fig. 3. All the IMU
sensors were placed in one plane, with uniform spacing between the sensor chips, as demonstrated in the Fig.
2. The coordinate system of the five IMUs corresponded to the robot’s Tool Center Point (TCP) frame.
The MCU was used to read sensor data via the SPI interface and transmit them to a PC through a USB serial
port. The ESP32 established a ROS publishing node using the rosserial library. Sensors were sampled at a
frequency of 100Hz, and the data were published to ROS on dedicated IMU topics with a timestamp.
The device that performed the motions for the calibration of the accelerometer array was a Universal Robots
UR5 robotic arm, which was also operated within ROS. A node was developed that can control the robotic
arm to desired positions in three-dimensional space and the motion planning was achieved using predefined
joint states. These angle values can be used to move the robot to the specific desired joint coordinates using
joint motion. Concurrently with the execution of the motion, the IMU measurements can also be recorded in
ROS. In addition to the sensor readings, the robot’s TCP position and orientation can be logged. The ROS
framework enables the logging of these data during the robot’s movements, facilitating the creation of a
comprehensive database. The calibration of the accelerometers can be done by the comparison of the
achieved acceleration by the robot’s end-effector and the sensors.
DOI: https://doi.org/10.14232/analecta.2024.2.30-37
32
Vol. 18, No. 2 2024
With the UR5 robotic arm, a spherical workspace with a maximum diameter of 1700mm can be accessed.
The proposed method allows for the creation of trajectories that consist solely of joint movements. The TCP
paths were constructed randomly using joint coordinates. The aim was to generate such trajectories (Fig. 4.)
which, when executed, can provide the right amount of acceleration with the sensors mounted on the robot
for the calibration. During the execution the five IMU sensors were sampled, in addition the position, and
the orientation of the end-effector has been recorded. Fig. 4. shows some of the executed trajectories based
on the collected TCP position.
By using the position of the TCP, the true acceleration can be calculated, which can be the ground truth for
the calibration. The first derivative of position results in velocity (3), and its second derivative will result the
acceleration (4).
𝑥[𝑛] − 𝑥[𝑛 − 1]
𝑣[𝑛] = (3)
∆𝑡
Where 𝑣[𝑛] indicates the velocity calculated from position 𝑥[𝑛]. In addition, 𝑎[𝑛] denotes the acceleration
that can be determined from the second derivative of position or first derivative of velocity. ∆𝑡 is a small
change in time.
DOI: https://doi.org/10.14232/analecta.2024.2.30-37
33
Vol. 18, No. 2 2024
Fig. 5. demonstrates the raw measurements for one trajectory with the five accelerometers. The little
difference presence between the sensor measurements is related to the sensor errors, that need to be
calibrated.
The gathered values of roll (𝜙), pitch (𝜃), and yaw (𝜓) angles illustrate the rotational relationship between
the robot’s base frame and the TCP frame, where the sensors were positioned. These values can be utilized
to construct a rotation matrix, which can then be used to express the transformation between the two
coordinate systems. This approach allows for the transformation of measurement vectors into the base, with
the 1𝑔 (which can be represented as [0 0 1]𝑇 ) value being subtracted from them (5). The accelerometer
measurements, which have been compensated with gravitational effects and the computed ground truth are
depicted in Fig. 6.
𝐴𝑋𝑏𝑎𝑠𝑒 𝐴𝑋𝑇𝐶𝑃 𝑔𝑥
[𝐴𝑌𝑏𝑎𝑠𝑒 ] = (𝑅 ∙ [ 𝐴𝑌𝑇𝐶𝑃 ]) − [𝑔𝑦 ] (5)
𝐴𝑍𝑏𝑎𝑠𝑒 𝐴𝑍𝑇𝐶𝑃 𝑔𝑧
Where the 3𝑥1 size 𝐴𝑏𝑎𝑠𝑒 vector represents the transformed and compensated acceleration in the base frame,
𝑅 (3𝑥3) indicates the rotation matrix constructed with the 𝜙, 𝜃 and 𝜓 angles and the 3𝑥1 𝐴 𝑇𝐶𝑃 vector denotes
the sensor readings in the TCP frame.
DOI: https://doi.org/10.14232/analecta.2024.2.30-37
34
Vol. 18, No. 2 2024
Figure 6. Compensated sensor measurements compared to the acceleration of the UR5 robot’s TCP
The calculated ground truth accelerations can be applied as reference for the calibration of accelerometers,
and it can be used to develop various specific algorithms for sensor calibration purposes.
4. CONCLUSIONS
In this work, a robotic arm-based measurement system was proposed, which can be used for the calibration
of IMU arrays. The proposed measurement system consists of a Universal Robots UR5 robot that can perform
dynamic motions and ensure its end-effector orientation for the ground truth data. In addition, ESP32 MCU
was constructed as a ROS node along with five MPU9250 IMUs. The MCU was used to read and transmit
the sensor measurements.
The used UR5 robotic arm is calibrated, so the obtained TCP position and orientation can be used to calculate
the target for the calibration. Using this information any heuristic algorithm (e.g., PSO, GA, etc.) or an ANN
can be used to correct the sensor readings. Misalignment, bias and the scale factor of the sensors can be
calibrated individually and moreover the between sensor misalignment errors can be eliminated at the same
time using the proposed method.
5. ACKNOWLEDGEMENT
The work was supported by the National Research, Development, and Innovation Fund of Hungary through
project no. 142790 under the FK_22 funding scheme.
REFERENCES
DOI: https://doi.org/10.14232/analecta.2024.2.30-37
35
Vol. 18, No. 2 2024
[1] J. Rohac, M. Sipos and J. Simanek, "Calibration of Low-cost Triaxial Inertial Sensors," IEEE
Instrumentation and Measurement Magazine, vol. 18, no. 6, pp. 32-38, 2015, DOI:
10.1109/MIM.2015.7335836.
[2] J. -O. Nilsson, I. Skog and P. Händel, "Aligning the Forces—Eliminating the Misalignments in IMU
Arrays," IEEE Transactions on Instrumentation and Measurement, vol. 63, no. 10, pp. 2498-2500,
2014, DOI: 10.1109/TIM.2014.2344332.
[3] D. Csík, Á. Odry, J. Sárosi and P. Sarcevic, "Inertial sensor-based outdoor terrain classification for
wheeled mobile robots," in 2021 IEEE 19th International Symposium on Intelligent Systems and
Informatics (SISY), Subotica, Serbia, 2021, DOI: 10.1109/SISY52375.2021.9582504.
[4] P. Sarcevic, D. Csík, R. Pesti, S. Stančin, S. Tomažič, V. Tadic, J. Rodriguez-Resendiz, J. Sárosi and
A. Odry, "Online Outdoor Terrain Classification Algorithm for Wheeled Mobile Robots Equipped
with Inertial and Magnetic Sensors," Electronics, vol. 12, no. 15, p. 3238, 2023, DOI:
10.3390/electronics12153238.
[5] J. Simon, "Autonomous Wheeled Mobile Robot Control," Interdisciplinary Description of Complex
Systems, vol. 15, no. 3, pp. 222-227, 2017, DOI: 10.7906/indecs.15.3.6.
[6] S. Poddar, V. Kumar and A. Kumar, "A Comprehensive Overview of Inertial Sensor Calibration
Techniques," Journal of Dynamic Systems, Measurement, and Control, vol. 139, no. 1, 2017, DOI:
10.1115/1.4034419.
[7] P. Sarcevic, S. Pletl and Z. Kincses, "Evolutionary algorithm based 9DOF sensor board calibration,"
in 2014 IEEE 12th International Symposium on Intelligent Systems and Informatics (SISY), Subotica,
Serbia, 2014, DOI: 10.1109/SISY.2014.6923583.
[8] D. Tedaldi, A. Pretto and E. Menegatti, "A robust and easy to implement method for IMU calibration
without external equipments," in 2014 IEEE International Conference on Robotics and Automation
(ICRA), Hong Kong, China, 2014, DOI: 10.1109/ICRA.2014.6907297.
[9] A. Harindranath and M. Arora, "A systematic review of user - conducted calibration methods for
MEMS-based IMUs," Measurement, vol. 225, 2024, DOI: 10.1016/j.measurement.2023.114001.
[10] S. Khankalantary, S. Ranjbaran and S. Ebadollahi, "Simplification of calibration of low-cost MEMS
accelerometer and its temperature compensation without accurate laboratory equipment,"
Measurement Science and Technology, vol. 32, no. 4, 2021, DOI: 10.1088/1361-6501/abd0bf.
[11] R. Pesti, P. Sarcevic, D. Csík, I. Nagy and A. Odry, "Comparison of optimization algorithms for
installation error calibration of accelerometer arrays," in 2023 IEEE 23rd International Symposium on
Computational Intelligence and Informatics (CINTI), Budapest, Hungary, 2023, DOI:
10.1109/CINTI59972.2023.10382086.
[12] Z. Xin, J. Yong-xiang and N. Xiao-lei, "Accelerometer calibration based on improved particle swarm
optimization algorithm of support vector machine," Sensors and Actuators A: Physical, vol. 369, 2024,
DOI: 10.1016/j.sna.2024.115096.
[13] M. A. Soriano, F. Khan and R. Ahmad, "Two-Axis Accelerometer Calibration and Nonlinear
Correction Using Neural Networks: Design, Optimization, and Experimental Evaluation," IEEE
Transactions on Instrumentation and Measurement, vol. 69, no. 9, pp. 6787-6794, 2020, DOI:
10.1109/TIM.2020.2978568.
[14] J. Wang and W. Jin, "Inertial Measurement Unit Calibration Method Based on Neural Network," in
2023 16th International Congress on Image and Signal Processing, BioMedical Engineering and
Informatics (CISP-BMEI), Taizhou, China, 2023, DOI: 10.1109/CISP-BMEI60920.2023.10373286.
DOI: https://doi.org/10.14232/analecta.2024.2.30-37
36
Vol. 18, No. 2 2024
[15] A. E. Mahdi, A. Azouz, A. Abdalla and A. Abosekeen, "IMU-Error Estimation and Cancellation Using
ANFIS for Improved UAV Navigation," in 2022 13th International Conference on Electrical
Engineering (ICEENG), Cairo, Egypt, 2022, DOI: 10.1109/ICEENG49683.2022.9782058.
[16] A. Mahdi, A. Azouz, A. Abdalla and A. Abosekeen, "A Machine Learning Approach for an Improved
Inertial Navigation System Solution," Sensors 2022, vol. 22, 2022, DOI:
10.20944/preprints202202.0193.v1.
DOI: https://doi.org/10.14232/analecta.2024.2.30-37
37