Skip to content

GeneHit/ALAC

Repository files navigation

🧭 ALAC: Attitude-Aided Linear Calibration of Triaxial Accelerometers

arXiv GitHub

Official implementation of ALAC (Attitude-Aided Linear Accelerometer Calibration) — a closed-form, linear, and non-iterative calibration algorithm for triaxial MEMS accelerometers.


🔍 Overview

Triaxial MEMS accelerometers are widely used in inertial sensing, navigation, and sensor fusion. However, existing calibration methods often depend on expensive reference setups or nonlinear iterative optimization, limiting their efficiency and practicality, particularly for low-cost IMUs and embedded platforms.

ALAC Gravity Vector Visualization
Figure: Visualization of static gravity vector.

$$ {_s^eR}\cdot T\cdot S\cdot acc_i - {^eA_0} - {_b^eR_i} \cdot {^bA_g} = 0, \quad \text{s.t. } |{^bA_g}|_2 = g $$

ALAC introduces an attitude-aided linear calibration framework that operates on any platform with orientation information — such as a turntable, a robotic arm, or an IMU. Calibration is formulated as a constrained homogeneous least-squares (CHLS) problem under static gravity and solved in closed form using standard linear algebra (GEVP/SVD).

The method constructs a combined error matrix (CEM) to represent sensor errors in a unified linear model, where the bias and gravity vector in the platform frame are jointly estimated, and the CEM decomposition yields the scale, non-orthogonality, and alignment rotation parameters.

At least five oriented measurements are required, and a recursive extension enables online or in-field calibration. Experiments confirm ALAC’s robustness and accuracy across robot-mounted and IMU-based platforms.


⚙️ Features

  • Closed-form linear solution — no nonlinear optimization
  • Attitude-aided framework — works with IMUs, turntables, or robotic arms
  • CEM representation — scale, non-orthogonality, alignment rotation.
  • Offline and recursive online calibration modes
  • Low-cost IMU and in-field applicability
  • Robust to sensor noise and attitude uncertainty

🚀 Quick Start

conda create -n alac python=3.12
conda activate alac
python -m pip install -r requirements.txt
export PYTHONPATH=$PYTHONPATH:$(pwd)
python example/algebraic_solvers.py

📖 Citation

If you find this work useful, please consider citing:

@article{Yu2026ALAC,
  title   = {Attitude-Aided Linear Calibration of Triaxial Accelerometers},
  author  = {Yongqiang Yu and Tian Huang and Yipeng Yang},
  journal = {arXiv preprint arXiv:2606.06308},
  year    = {2026}
}

About

Attitude-aided Linear (triaxial) Accelerometers Calibration.

Topics

Resources

License

Stars

Watchers

Forks

Contributors