---
title: Targetless LiDAR-Motor Calibration (LM-Calibr)
url: https://www.emergentmind.com/topics/targetless-lidar-motor-calibration-lm-calibr
type: topic
---

# Targetless LiDAR-Motor Calibration (LM-Calibr)

Targetless LiDAR-motor calibration (LM-Calibr) is a methodology designed for accurate, targetless determination of extrinsic parameters between spinning actuated LiDARs and their driving motors. Based on the Denavit–Hartenberg (DH) convention, LM-Calibr enables robust calibration across arbitrary mounting configurations without reliance on special targets or structured scenes, streamlining deployment in environments where planar features alone are present. The method is characterized by a plane-thickness cost metric, adaptive voxelization, and the use of the Levenberg–Marquardt (LM) optimization scheme, achieving high accuracy and convergence in both simulated and real-world domains [2601.15946].

## 1. Coordinate Frames and DH Parameterization

LM-Calibr formalizes the LiDAR–motor system as a serial kinematic chain using two DH links. The relevant frames are:

- **World frame ($\{W\}$):** Used exclusively in downstream odometry.
- **Motor frame ($\{M\}$):** Centered at the motor axis; $z_M$ aligns with the motor spin axis, with encoder measurement $\theta_1$ indicating its rotation.
- **LiDAR frame ($\{L\}$):** Located at the LiDAR mirror center, axes fixed within the housing. 

The rigid-body transformation $T^M_L \in SE(3)$ is sought, i.e.,
$$
p^M = T^M_L\, p^L
$$
for any LiDAR point $p^L$. The DH parameter vector is
$$
DH = [\theta_1,\, d_1,\, a_1,\, \phi_1,\, \theta_2,\, d_2,\, a_2,\, \phi_2]
$$
Where for link $i=1,2$:
- $\theta_i$: joint angle (motor: measured; LiDAR mirror: fixed mounting)
- $d_i$: offset along $z_{i-1}$
- $a_i$: offset along $x_i$
- $\phi_i$: twist about $x_i$ (angle between $z_{i-1}$ and $z_i$)

Physically, $(d_1, a_1, \phi_1)$ encode mounting error and tilt between spin axes; $(d_2, a_2, \phi_2)$ encode internal mirror offset.

Each link contributes a transform:
$$
T_i(\theta_i) = Rot_z(\theta_i) \cdot Trans_z(d_i) \cdot Trans_x(a_i) \cdot Rot_x(\phi_i)
$$
in matrix form:
$$
T_i(\theta_i) = 
\begin{bmatrix}
c_i & -s_i\,c_{\phi_i} & s_i\,s_{\phi_i} & a_i\,c_i \\
s_i & c_i\,c_{\phi_i} & -c_i\,s_{\phi_i} & a_i\,s_i \\
0   & s_{\phi_i}      & c_{\phi_i}      & d_i \\
0   & 0               & 0               & 1
\end{bmatrix}
$$
with $c_i = \cos\theta_i,\, s_i = \sin\theta_i,\, c_{\phi_i} = \cos\phi_i,\, s_{\phi_i} = \sin\phi_i$.

The full extrinsic is given by
$$
T^M_L(x) = T_1(\theta_1) \, T_2(\theta_2)
$$
with $x$ denoting the relevant parameter subset for the given LiDAR model.

## 2. Calibration Cost Metric: Plane-thickness Residual

LM-Calibr exploits static scans to optimize the calibration. An incorrect $T^M_L$ causes planar surfaces to appear as thick bands in motor frame; the calibration seeks parameter values minimizing these artifacts.

- A complete LiDAR sweep yields raw point cloud $P_L$.
- Transformed to motor frame: $P_M(x) = T^M_L(x) P_L$.
- Adaptive voxelization (with scheduled root size) partitions $P_M$; local planar patches $\pi_i$ are extracted.

For each patch $i$ (with $N_i$ points), centroid and covariance are
$$
q_i(x) = \frac{1}{N_i} \sum_j p^M_{ij}(x)
$$
$$
A_i(x) = \frac{1}{N_i} \sum_j [p^M_{ij}(x) - q_i(x)][\cdots]^T
$$
Thickness is $\lambda_{\min}(A_i)$, the smallest covariance eigenvalue. The objective is
$$
E(x) = \sum_{i=1}^{M_f} \lambda_{\min}\big(A_i(x)\big)
$$
Alternatively, as point-to-plane residuals,
$$
E(x) = \sum_{k=1}^N \left\| n_i^\top p^M_k(x) \right\|^2
$$
where $n_i$ is the estimated normal. For signed distances:
$$
E(x) = \sum_{i=1}^{M_f} \sum_{j=1}^{N_i} r_{ij}^2(x)
$$
with $r_{ij}(x) = n_i^\top p^M_{ij}(x)$.

## 3. Optimization Procedure

Calibration is performed using a coarse-to-fine strategy and Levenberg–Marquardt (LM) solver.

- **Initialization:** Requires only rough CAD value for $d_1$ (housing offset) and encoder reading $\theta_1$. Other parameters initialized to either CAD or zero plus up to $\pm 15^\circ/0.15\,$m perturbation.
- **Adaptive voxelization:** At each iteration, root voxel size shrinks from $1.0\,\textrm{m}$ ($it=1-2$) to $0.25\,\textrm{m}$ ($it\ge 5$).
- **Iterative LM Minimization:**
  1. Build residual $r(x)$ as the set of point-to-plane distances.
  2. Compute Jacobian $J = \partial r / \partial x$ via closed-form derivatives.
  3. Solve normal equations:
    $$
    (J^\top J + \lambda \, \mathrm{diag}(J^\top J))\,\Delta x = - J^\top r
    $$
  4. Update parameters $x \leftarrow x + \Delta x$, recompute $E(x)$, adjust $\lambda$.
  5. Terminate if $\left\| \Delta x \right\| < 10^{-6}$ or cost reduction $< 10^{-6}$.

A representative pseudocode, as reported:

```python
Input: P_L (static scan), initial x₀, max_iters=20
Set voxel_sizes=[1.0,1.0,0.5,0.5,0.25,…]
x←x₀
for k=1…max_iters do
  voxelize P_M = T^M_L(x) P_L with root = voxel_sizes[k]
  extract M_f planes {π_i}, build r(x)
  compute J(x), H = JᵀJ, g = Jᵀr
  solve (H + λ·diag(H)) Δx = –g
  x_new = x + Δx;
  if E(x_new) > E(x) increase λ else decrease λ
  if ‖Δx‖ < ε stop
  x ← x_new
end for
Output x*
```

## 4. Accuracy, Convergence, and Observability

LM-Calibr has demonstrated robust convergence and high accuracy under a variety of conditions:

- **Monte-Carlo simulations:** 50 trials over six environments (e.g., NTU, Cave, BG), initialized with errors up to $15^\circ$ and $0.15\,\textrm{m}$, yield
  - mean rotation error $< 0.04^\circ$
  - mean translation error $< 1.5\,\textrm{mm}$

- **Real-world trials:** 20 per scene for both structured and unstructured (forested) settings with Mid360 and Avia sensors, evaluated on three $1\,\textrm{m} \times 1\,\textrm{m}$ orthogonal planes:
  - mean point-to-plane residual $< 1\,\textrm{cm}$, commensurate with LiDAR noise.

- **Comparison:** LM-Calibr shows $\sim 20\%$ lower residual error compared to LiMo-Calib in nondegenerate mounting (see Fig. 6–7 of the cited manuscript).

- **Observability:** Smallest eigenvalue of the Hessian $H$ remains well above zero for all practical mount angles ($\phi_1$, $\theta_2$), except degenerate cases (mirror axis colinear with spin axis, i.e., $\phi_1 \approx 0,\pi$ or $\theta_2 \approx \pm \pi/2$). Parameter identifiability holds for most single-plane arrangements, with only minor degradation when the plane’s normal aligns with the spin axis.

## 5. Applicability Across Mounting Configurations

The two-link DH framework enables calibration for a spectrum of mounting geometries:

- **Pure rotation:** $a_1 \ne 0,\, \phi_1=0$
- **Pitch-type mount:** $\phi_1 \ne 0,\, a_1=0$
- **Oblique mount:** both $a_1$ and $\phi_1$ nonzero

No special targets or scene structures are required; calibration may be performed using arbitrary planar features. The only degenerate configuration is perfect colinearity of spin and mirror axes, which precludes FoV extension.

During data acquisition, the actuator must remain static, but the procedure is invariant to the motor’s velocity and acceleration profile; calibration is achieved from a single static LiDAR sweep with no reliance on motion modeling.

## 6. Key Equations and Figures

Central equations for LM-Calibr are as follows:

| Equation                       | Description                                    |
|:-------------------------------|:-----------------------------------------------|
| $p^M(x) = T^M_L(x)\,p^L = T_1(\theta_1) T_2(\theta_2)\,p^L$ | Full motor–LiDAR rigid-body transform    |
| $E(x) = \sum_{i=1}^{M_f} \lambda_{\min}\left\{ \frac{1}{N_i}\sum_j [p^M_{ij}(x)-q_i(x)][\cdots]^\top \right\}$ | Plane-thickness cost function             |
| $(J^\top J + \lambda\, \mathrm{diag}(J^\top J))\, \Delta x = -J^\top r$ | LM optimization normal equations          |

Refer to Fig. 1(b) for the block diagram, Fig. 3 for error histograms from Monte-Carlo trials, and Figs. 6–7 for comparative residual maps in field deployments. Supplementary sections provide full analytic expressions for Jacobians $\partial p^M / \partial x$, update details, and observability plots [2601.15946].

## 7. Implementation and Resources

Source code and hardware design supporting LM-Calibr are available at [github.com/zijiechenrobotics/lm_calibr](https://github.com/zijiechenrobotics/lm_calibr). Video demonstrations are accessible at [youtu.be/cZyyrkmeoSk](https://youtu.be/cZyyrkmeoSk). This suggests practical accessibility for researchers seeking to reproduce or extend LM-Calibr, with in-depth algorithmic and analytic details in the supplementary material of the referenced publication.

Source: https://www.emergentmind.com/topics/targetless-lidar-motor-calibration-lm-calibr