Abstract
Aiming at the challenge of balancing the accuracy and cost of the initial state calibration of traditional MEMS inertial navigation systems, as well as the current situation of the lack of high-precision three-axis turntables in engineering practice, this paper proposes a practical and innovative systematic error calibration and compensation scheme, which effectively suppresses the deterministic errors of MEMS-INS and enhances its applicability in high-precision and long-duration tasks. By analyzing the coordinate transformation characteristics of the MEMS-INS solution process under small-angle disturbances, a deterministic error model based on the device’s zero bias, scale factor, and cross-coupling errors is constructed. A twelve-position dual-axis calibration method, combined with a high-precision orthogonal fixture, is designed to excite errors on a dual-axis turntable, converting originally unobservable error terms into observable periodic signals. Experimental results show that the installation error calibration accuracy reaches 0.03°, an improvement of about 25% compared to the traditional dual-axis method, breaking through the limitations of dual-axis turntables in cross-coupling error calibration, achieving an initial error ≤ 1 μrad, and reducing the navigation error by 90% within one hour. This method eliminates reliance on expensive three-axis turntables while enabling multi-error calibration, addressing the cost–accuracy trade-off in engineering applications.
1. Introduction
The inertial navigation system (INS) is based on Newtonian mechanics [1]. By high-frequency sampling of the angular increments and specific force information output by gyroscopes and accelerometers, via strapdown configuration and integration, it can recursively calculate the real-time attitude, velocity, and position of the carrier. These deterministic errors accumulate quadratically or cubically during the integration process, seriously limiting the applicability of MEMS-INS in high-precision, long-duration missions [2].
The core value of initial state calibration lies in providing high-precision initial conditions for navigation solutions [3]. It not only requires accurate determination of the carrier’s initial position, velocity, and attitude but also demands estimation of and compensation for the systematic errors of inertial devices (e.g., zero bias and scale factor errors of gyroscopes and accelerometers). Any deviation in the initial state will continuously amplify as the navigation time elapses, directly impairing the overall accuracy of the system. In contrast, precise initial calibration can effectively enhance the stability and reliability of MEMS-INS in complex environments and mitigate the risk of navigation failure caused by sensor errors.
It is one of the most cost-effective means to improving the accuracy of a micro-electromechanical system–inertial navigation system (MEMS-INS) by introducing periodic attitude changes through rotation modulation technology and transforming the inertial device errors into periodic signals with observable or mean zero. According to the number of rotation axes, the technology is mainly divided into three categories, single-axis, double-axis and three-axis rotation, and their application characteristics and effects are significantly different.
The core of single-axis rotation is to make the Inertial Measurement Unit (IMU) rotate around a single axis periodically, focusing on the calibration of the horizontal error perpendicular to the rotation axis. In specific scenarios, the optimization strategy can be used to improve the calibration effect. In terms of error optimization, ref. [4] quantifies the coupling relationship between the angular rate and deterministic error by Laplace transform and proposes an angular rate optimization scheme: when the gyro zero bias is large, the high angular rate is selected to enhance the zero bias suppression effect. When the scaling factor error is significant, a low angular rate is used to avoid error amplification. Aiming at the calibration problem in dynamic scenarios, ref. [5] points out that the traditional single-axis “static four-position start-stop” method can easily fail when the carrier has installation errors. To solve this problem, a dwell time adjustment strategy based on heading angle integration is proposed. Finally, the installation error calibration accuracy in dynamic scenes is improved by 40%. However, uni-axial rotation has inherent limitations: it can only stimulate the horizontal error perpendicular to the rotation axis and cannot calibrate the deterministic error along the rotation axis. At the same time, the eccentricity of the shaft system of the single-axis turntable will introduce additional deterministic errors, which need to be calibrated separately to reduce the IMU installation error deviation.
By rotating the IMU around two orthogonal axes alternately, dual-axis rotation can realize the calibration of all horizontal errors and some vertical errors. It is the mainstream scheme for medium- and high-precision inertial navigation scenarios and has led to a number of key breakthroughs in error modulation and optimization. Ref. [6] aimed at the defect of “installation error leads to speed accumulation” in the traditional 8/16 position scheme and designed a 16-position sequence of “external axis bidirectional rotation + internal axis rotation”, which modulated the IMU rotation axis error from non-zero mean to zero mean, effectively reducing the error peak-to-peak value. At the same time, the non-orthogonal angle of the shaft system is calibrated by moving forward and reverse alternately to further improve the accuracy. In reference [7], the Schuler period was used to suppress the unconstrained propagation of position, and the Schuler period optimization method for the scaling factor error was proposed: by adjusting the rotation sequence, the mean value of the scaling factor error of the horizontal gyro was zero in the period, and the scaling factor error was reduced from 20 ppm to 5 ppm after calibration. It should be noted that the bi-axial rotation can only effectively excite the error term perpendicular to the rotation axis, and it is not sensitive enough to the error along the rotation axis. Moreover, during the rotation process, the IMU installation error will be coupled with the rotation angular velocity, resulting in a periodic attitude error.
The three-axis rotation inertial navigation system can more comprehensively excite various errors of inertial devices, including gyro-scale factor errors, installation errors, alignment errors, and accelerometer non-orthogonal errors, thereby achieving more accurate calibration of inertial devices’ deterministic errors [8]. Through precise measurement and analysis of the inertial device output during the three-axis rotation process, a more complete error model can be established, providing a more reliable error compensation basis for high-precision navigation solutions. Ref. [9] proposes a 36-dimensional Kalman filter system-level calibration method, which simultaneously estimates the zero bias, scale factor, installation error, quadratic coefficient, and internal boom arm parameters of the gyros and accelerometers. By designing a calibration route including multi-axis rotation and oscillation, researchers have significantly improved the calibration accuracy in complex environments. Ref. [10] proposes an outer longitudinal–middle roll–inner heading three-axis nested structure, using PID control of the outer axis to isolate the carrier heading disturbance and combining the sixteen-position dual-axis modulation to achieve full-degree-of-freedom error suppression. The mechanical structure of the three-axis system is precise, and currently, the manufacturing cost of such equipment is high, and the manufacturing difficulty is significant. At the same time, the three-axis inertial navigation system generates a large amount of data and has a complex error model. To achieve precise estimation and compensation of inertial devices, high hardware performance and algorithm requirements are necessary for the system.
Considering the constraints of engineering applications, this paper focuses primarily on the installation of inertial navigation systems behind airborne electro-optical turntables and designs an initial error calibration method using the IMU as the core device for positioning scenarios. Given that high-precision three-axis turntables are scarcely available in engineering practice, a twelve-position dual-axis calibration scheme is proposed to maximize the calibration of various existing error coefficients, with the rotation principle being simplified for practical engineering applications.
The article is structured as follows: The first section briefly introduces the accuracy limitations of MEMS inertial navigation in current applications and analyzes relevant initialization and calibration methods. The second section identifies and analyzes potential error factors throughout the entire data acquisition and computation process, based on the practical application of inertial navigation. The third section designs an initial calibration scheme tailored to these error factors. The fourth section verifies the effectiveness of the proposed method through experiments and simplifies it to enhance its practicality in engineering applications. Finally, the research findings are summarized, and future improvement directions are proposed.
3. Design of the Initialization Error Calibration Experimental Scheme
3.1. Initialization and Calibration Principles
Based on the above analysis, in the initial stage of inertial navigation, the deterministic errors of the equipment and the coordinate transformation during the application process can be calibrated. This paper mainly focuses on the calibration schemes of inertial navigation in practical engineering applications, assuming that the inertial navigation equipment has undergone high-precision calibration during the design and manufacturing stages. Therefore, this scheme mainly addresses the work in the engineering assembly and debugging stages and the degradation of MEMS devices after a period of operation [14]. Due to cost constraints and the limitations of the experimental environment, high-precision calibration turntables are often unobtainable. Current research shows significant progress in the design of high-precision calibration algorithms; thus, this paper proposes a simple yet effective rotational modulation scheme. Through the twelve-position rotational calibration method, the system can maximize calibration using existing equipment, thereby overcoming the inability of single-axis rotation to measure cross-axis coupling errors. The core principle of dual-axis rotational calibration is to convert previously unobservable error terms (e.g., installation errors and cross-coupling errors) into observable periodic signals by coordinating the rotation of the inner frame (pitch axis) and outer frame (azimuth axis), followed by estimating error parameters via filtering algorithms. Dual-axis rotational initial calibration suppresses deterministic errors of the inertial navigation system at the source through dynamic excitation and parameter identification, making it a key technology for balancing the low cost of MEMS devices and high navigation accuracy. Despite the lack of high-precision equipment in engineering applications, effective error compensation can still be achieved in low-cost scenarios by optimizing trajectory design, introducing system constraints, and simplifying parameter sets.
3.2. Design of Initialization Calibration Method
The theory of cross-axis coupling error is represented by coordinate axes, as shown in Figure 2. The deterministic error model constructed in this paper estimates the installation error as one of the core parameters. This means that the model can not only calibrate the inherent errors of inertial devices but also compensate for the installation errors introduced by minor manufacturing deviations of the fixture or long-term wear. Through regular system-level calibration, these parameters can be re-estimated and updated, ensuring that the method maintains long-term stable calibration performance even when the fixture undergoes slow degradation.
Figure 2.
Diagram showing a shaft coupling error.
The deterministic error model of the system is integrated as follows:
In the formula, represents the measured output angular velocity of the inertial navigation system, while represents the input angular velocities on the three axes of the inertial navigation system, which are obtained using more precise measuring instruments.
In practical engineering applications, there is usually no high-precision three-axis measurement turntable used in the laboratory. Therefore, a three-position calibration scheme using a dual-axis turntable rotation was designed, which has higher universality. At the same time, this scheme can eliminate the influence of gravity and the Earth’s rotation on the gyroscope. The twelve-position rotation is shown in Figure 3 below.
Figure 3.
Diagram showing the rotation direction of the twelve-position mechanism.
At the beginning of each position, the output speed when the rotation axis is in a stationary state for 30 s needs to be recorded. Then, 10 sets of input angular velocities are set: ±5°/s, ±10°/s, ±15°/s, ±20°/s, and ±25°/s. The sampling time for each individual test is set to 30 s, and the default sampling rate is (400/s). Finally, a 30-s record of the stationary state after rotation is made. After testing each position, the system needs to be turned off for cooling, then reconnected to the computing rod, and the data should be saved separately and named.
Through the speed experiment, researchers can calculate the three parameters for each of the inertial navigation system’s three axes, namely the scale factor, the fitted zero position, and the nonlinearity of the scale factor. For each input speed, the average output angular velocities for forward and reverse directions are calculated, respectively, and are denoted as and .
At the same time, we can calculate the average output in the stationary state before and after rotation and denote them as and , respectively.
The final average output angular velocity is expressed as follows:
Calculate the output angular velocity for each position and each axis in a single rotation direction separately (as the 12 rotational angular velocities shown in the figure):
By using the turntable to rotate the sensitive axis of the gyroscope at different known angular velocities , theoretically, the gyroscope outputs an electrical signal that is proportional to the angular velocity. Through conversion, the output angular velocity along the axial direction of the gyroscope can be obtained. In an ideal situation, the output signal satisfies a linear relationship with the input angular velocity . By setting a series of different rotation angular velocities, , on the turntable and measuring the corresponding output signals, , of the gyroscope, these data are then linearly fitted to obtain the actual proportion factor, , and compared with the nominal proportion factor of the gyroscope to determine the proportion factor error .
Linear fitting of the proportion factor :
Ideally, after eliminating the zero bias, the theoretical output should be .
The zero bias error is calculated as follows:
Least squares method for solving installation errors :
Here, is the coefficient matrix constructed based on the input angular velocity, and represents the cross-talk output of the non-diagonal axes.
4. Experimental Verification and Data Processing
This experiment employs the Lord Microstrain 3DM-CV7-INS model of MEMS inertial navigation. The hardware of this navigation system mainly consists of three MEMS gyroscopes with zero bias stability of 1.5°/h and three quartz accelerometers with zero bias stability of less than 1 mg. In the research, it mainly cooperates with the airborne electro-optical turntable to complete the positioning work. The high-precision photoelectric encoder is used to synchronously measure the rotational angular velocity as the experimental true value. In this experiment, the PTN-1-type absolute encoder is selected. This product is manufactured by China Yuheng Optical Company. It operates at a supply voltage of 5 V and requires a working current of less than 350 mA. It can work in an environment with a temperature range of −40 to 70 °C and a relative humidity of ≤90% RH. It can adapt to vibrations of 55 to 2000 Hz and ≤300 m/s2, as well as impacts of ≤1000 m/s2 and 6 ms. Due to engineering limitations, the azimuth angle range of the electro-optical turntable used is 360°, and the pitch angle range is −10° to 70°. Combining practical and theoretical designs, in the actual experiment, when rotating and measuring at each position (Position 1, Position 2, Position 3), the azimuth axis is set to rotate at 10°/s, 20°/s, 30°/s, 40°/s, and 50°/s in sequence. The measurement time is set to remain stationary for 30 s, then rotate forward for 30 s, followed by remaining stationary for another 30 s, and then rotate backward for 30 s. During the movement of the azimuth axis at different speeds, the pitch axis is set to perform sinusoidal oscillations at different frequencies and amplitudes, so that the theoretical mean value of the pitch axis measurement tends to zero. The physical diagram of the experimental device is shown in Figure 4. In the experiment, to achieve the three-position setting, a high-precision orthogonal three-position workpiece was designed, as shown in Figure 5. The orthogonality of the fixture was calibrated using a three-coordinate measuring machine and a laser interferometer to ensure that its dimensional fluctuation was less than 0.002 mm and to avoid introducing new installation errors [15]. Considering the universality of engineering applications, in practical promotion, a strategy combining “precision machining and post-calibration” can be adopted. Firstly, high-precision rough machining is carried out using general equipment such as CNC, and then the actual orthogonality of the fixture is precisely measured with a three-coordinate measuring machine (CMM) or a laser interferometer. The measured deviation values are then input as known parameters into the subsequent error model for compensation. This approach can effectively reduce the extreme reliance on a single mechanical processing step and enhance the reproducibility of the method in general industrial environments.
Figure 4.
Photo of the experimental testing site.
Figure 5.
(a) Schematic diagram of high-precision orthogonal fixture model; (b) workpiece measurement installation drawing.
The three-axis data of the turntable obtained through rotation measurement in the manner of Position 1 are shown in Figure 6. Based on this, the errors existing between the X-Y-axes in the inertial navigation can be analyzed. The zero offset and proportional factor errors of the shaft system obtained through data processing and analysis are shown in Table 2.
Figure 6.
(a) Comparison of roll axis angular velocity accuracies; (b) comparison of pitch axis angular velocity accuracies; (c) comparison of azimuth axis angular velocity accuracies.
Table 2.
Zero offset and proportional factor error at Position 1.
Based on the relevant tests at location 1, the data measurements at location 2 and location 3 were repeated. After three different position measurements and data processing, the cross-axis coupling error of the turntable rotation and inertial navigation measurement could be obtained.
Based on the aforementioned information, an error model for the initial state of the inertial navigation system can be established to compensate for the initial positioning errors. By integrating this model with the precise alignment filtering algorithm [16], the actual output data of the airborne electro-optical turntable in practical applications can be effectively measured. A design verification experiment was conducted to evaluate the output angular velocity of the airborne electro-optical turntable after a sequence of movements: repeating the aforementioned rotation–stationary sequence (Figure 7). The results clearly demonstrate a significant improvement in the accuracy of the compensated output data.
Figure 7.
(a) Roll angle filtering error before and after filtering; (b) error before and after azimuth filtering; (c) error before and after pitch angle filtering.
As shown in Table 3, the standard deviation of the measured values after compensation relative to the true values can also be observed to achieve a good result.
Table 3.
The standard deviation after compensation of the measured values.
To evaluate the robustness and repeatability of the proposed calibration method, statistical analysis was conducted on the key performance indicators. All experiments were repeated n = 50 times under the same conditions, and the mean, standard deviation, and 95% confidence interval were calculated. The mean calibration accuracy of installation errors for the traditional two-axis method is 0.040°. The proposed twelve-position two-axis calibration method in this paper has a mean calibration accuracy of installation errors of 0.030° ± 0.005° in 50 repeated experiments, which is a 25% improvement. The within-group standard deviation of this result is 0.0021°, and the calculated 95% confidence interval is [0.0291°, 0.0309°]. A paired-sample t-test shows that the performance improvement is statistically significant compared to the traditional method (p < 0.001).
The average error reduction rate of the system navigation before and after compensation was 90.2%, based on 10 one-hour navigation solution tests, each repeated 50 times, with a standard deviation of 1.5% and a 95% confidence interval of [89.1%, 91.3%]. This result demonstrates that the method has high consistency and effectiveness in suppressing error accumulation. The above-mentioned repetitive experiments were completed by different operators on different working days over a period of more than one week. The fact that all key performance indicators showed no significant difference (p > 0.05) among different experimental batches proves that this calibration scheme has good repeatability and engineering application stability.
The 36-dimensional three-axis calibration method in reference [9] and the high-precision three-axis calibration experiment in reference [10] were simulated using the MATLAB 2024a software. The system-level calibration was conducted on the collected real MEMS inertial navigation output data and compared with the rotation modulation method proposed in this paper. A comparison of the error parameter estimation accuracy is shown in Table 4. The influence on the long-term navigation performance of MEMS inertial navigation is shown in Table 5. As shown in the radar chart comparison in Figure 8, for the vast majority of tactical-level MEMS inertial navigation systems, the twelve-position dual-axis calibration method proposed in this paper achieves the most outstanding comprehensive balance in terms of accuracy, stability, cost, practicality, and time and is the most valuable and promising solution for engineering applications and promotion.
Table 4.
Comparison of estimation accuracies of error parameters.
Table 5.
Long-term navigation performance analysis.
Figure 8.
Comparison of radar charts of the three methods.
5. Conclusions
This paper focuses on the calibration and compensation of the initial state system error of micro-electromechanical system (MEMS) inertial navigation. In response to the conflict between accuracy, cost, and dynamic response in traditional methods, a new approach combining engineering practicality and technological innovation is proposed. Considering the nonlinear characteristics of MEMS device errors, the coordinate transformation process of system solution is analyzed by using the small-angle perturbation linearization method. A deterministic error model is constructed to provide precise modeling support for error compensation. A high-precision orthogonal workpiece compensation structure combined with a twelve-position dual-axis calibration method is developed, which can simultaneously calibrate zero bias errors, scale factor errors, and cross-axis coupling errors. Through 50 repeated experiments, the installation error calibration’s accuracy was verified to reach 0.030° ± 0.001°. Compared with the traditional dual-axis system [17], the accuracy of this method was significantly improved by approximately 25% (p < 0.001), breaking through the limitations of dual-axis turntables in calibrating cross-coupling errors. This method can meet the core requirements of three-axis system calibration without relying on expensive three-axis turntables and significantly reduces the cost. By precisely calibrating the initial error, the secondary error diffusion problem that occurs over time can be effectively alleviated. The statistical results show that the initial state error of inertial navigation can be stably controlled within 1 μrad. During a one-hour navigation test, the average navigation error of the system was reduced by 90.2% (95% CI: 89.1–91.3%), demonstrating the robustness of the compensation effect of this method.
Author Contributions
Conceptualization, Z.C. and X.D.; methodology, X.D.; software, Z.W.; validation, Z.W. and X.D.; formal analysis, Z.W.; investigation, X.W.; resources, Z.C.; data curation, X.D.; writing—original draft preparation, X.D.; writing—review and editing, X.D.; visualization, X.D.; supervision, Z.C.; project administration, Z.C.; funding acquisition, Z.C. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Data Availability Statement
The raw data supporting the conclusions of this article will be made available by the authors on request.
Acknowledgments
The experimental equipment was kindly provided by the State Key Laboratory of Laser Interaction with Matter, Changchun Institute of Optics, Fine Mechanics and Physics, Chinese Academy of Sciences.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- Lin, L.; Zhang, X.; Xiao, Z. Integration of SINS, laser doppler Velocimeter, and monocular visual odometry for autonomous navigation in complex road environments. Optik 2023, 295, 171513. [Google Scholar] [CrossRef]
- Liu, W. LiDAR-IMU Time Delay Calibration Based on Iterative Closest Point and Iterated Sigma Point Kalman Filter. Sensors 2017, 17, 539. [Google Scholar] [CrossRef]
- Deng, J.; Wu, S.; Zhao, H.; Cai, D. Measurement model and observability analysis for optical flow-aided inertial navigation. Opt. Eng. 2019, 58, 083102. [Google Scholar] [CrossRef]
- Yu, F.; Sun, Q. Angular Rate Optimal Design for the Rotary Strapdown Inertial Navigation System. Sensors 2014, 14, 7156–7180. [Google Scholar] [CrossRef]
- Shen, J.; Xin, B.; Cui, H.; Gao, W. Control of Single-Axis Rotation INS by Tracking Differentiator Based Fuzzy PID. IEEE Trans. Aerosp. Electron. Syst. 2017, 53, 2976–2986. [Google Scholar] [CrossRef]
- Zha, F.; Chang, L.; He, H. Comprehensive Error Compensation for Dual-Axis Rotational Inertial Navigation System. IEEE Sens. J. 2020, 20, 3788–3802. [Google Scholar] [CrossRef]
- Zhou, Z.; Liang, X.; Shi, Z.; Wang, G.; Lang, J.; Liu, L. A New Method to Restrain Schuler Periodic Oscillation in Inertial Navigation System Based on Normal Time–Frequency Transform. IEEE Trans. Instrum. Meas. 2022, 71, 1–15. [Google Scholar] [CrossRef]
- Liu, Z.; Wang, L.; Wang, W.; Gao, P. An improved rotation scheme for Tri-axis rotational inertial navigation system. Microsyst. Technol. 2017, 23, 5423–5433. [Google Scholar] [CrossRef]
- Hu, B.; Zhang, T.; Zhang, L.; Yao, Y.; Xu, X.; Xia, M.; Li, P. Fast Self-Calibration and Self-Alignment of Triaxis RINS under marine mooring condition. Meas. Sci. Technol. 2025, 36, 086310. [Google Scholar] [CrossRef]
- Li, S.; Cheng, D.; Gao, Q.; Wang, Y.; Yue, L.; Wang, M.; Zhao, J. An Improved Calibration Method for the Misalignment Error of a Triaxial Magnetometer and Inertial Navigation System in a Three-Component Magnetic Survey System. Appl. Sci. 2020, 10, 6707. [Google Scholar] [CrossRef]
- Zhang, Y.; Luo, H.; Yu, X.; Wei, G.; Gao, C.; Wang, L. The covariance matrix transformation method in all-earth integrated navigation considering coordinate frame conversion. Meas. Sci. Technol. 2022, 33, 065101. [Google Scholar] [CrossRef]
- Sun, J.; Ma, S.; Wang, J.; Yang, J.; Liu, M. Reconciliation Problem in Polar Integrated Navigation Considering Coordinate Frame Transformation. IEEE Trans. Veh. Technol. 2020, 69, 10375–10379. [Google Scholar] [CrossRef]
- Secer, G.; Barshan, B. Improvements in deterministic error modeling and calibration of inertial sensors and magnetometers. Sens. Actuators A 2016, 247, 522–538. [Google Scholar] [CrossRef]
- Xing, H.; Chen, Z.; Yang, H.; Wang, C.; Lin, Z.; Guo, M. Self-Alignment MEMS IMU Method Based on the Rotation Modulation Technique on a Swing Base. Sensors 2018, 18, 1178. [Google Scholar] [CrossRef] [PubMed]
- Budzyn, G.; Rzepka, J.; Kaluza, P. Laser interferometer based instrument for 3D dynamic measurements of CNC machines geometry. Opt. Lasers Eng. 2021, 142, 106594. [Google Scholar] [CrossRef]
- Xu, H.; Geng, D.; Fan, Z.; Wu, D.; Chen, M. An Automatic Vehicle Navigation System Based on Filters Integrating Inertial Navigation and Global Positioning Systems. Machines 2024, 12, 663. [Google Scholar] [CrossRef]
- Zhu, T.; Wang, L.; Zou, T.; Peng, G. A Dual-Axis Rotation Scheme for Redundant Rotational Inertial Navigation System. Micromachines 2023, 14, 351. [Google Scholar] [CrossRef] [PubMed]
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. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).