MARSCalib: Multi-domain Calibration Methods
- MARSCalib is a multi-domain framework that defines calibration procedures for inertial sensors, LiDAR-camera systems, and stellar radial velocity measurements.
- It employs optimization techniques—including block-coordinate updates and ensemble analysis—to robustly estimate latent calibration parameters.
- The approach varies by application, addressing sensor biases, rigid-body transforms, and temporal offset corrections with tailored methodologies.
Searching arXiv for the papers associated with “MARSCalib” and related usages. MARSCalib is a name that has been used for multiple calibration procedures in different research domains. In the literature represented here, it refers to: a 2015 algorithm for the simultaneous calibration of a magnetometer and an accelerometer from sensor readings alone; a 2025 spherical target-based LiDAR-camera extrinsic calibration method for multi-robot operation in field and extraterrestrial environments; and a 2025 MAROON-X pipeline for calibrating run-to-run radial-velocity zero-point offsets through an ensemble analysis of stars (Miranda et al., 2015, Jeong et al., 23 Jul 2025, Basant et al., 20 Feb 2025).
1. Scope of the term
The shared label does not denote a single canonical framework. Instead, it denotes distinct calibration systems whose commonality is procedural rather than domain-specific: each estimates latent calibration quantities from structured observations, but the latent quantities, statistical assumptions, and optimization variables differ substantially.
| Usage | Calibration problem | Principal output |
|---|---|---|
| “Magnetometer And accelerometer Simultaneous Calibration” | simultaneously calibrate a magnetometer and an accelerometer without any information besides the sensors readings | biases, gains, covariances, sensor orientations, and Earth’s fields |
| “MARSCalib: Multi-robot, Automatic, Robust, Spherical Target-based Extrinsic Calibration in Field and Extraterrestrial Environments” | LiDAR-camera extrinsic calibration for outdoor environments with multi-robot systems, considering both target and sensor corruption | rigid-body transform |
| MARSCalib pipeline for MAROON-X | remove month-to-month and year-to-year zero-point jumps in MAROON-X radial velocities | per-run offsets |
A common misconception would be to treat these usages as successive versions of one method. The record represented here does not support that interpretation. The three systems address different observables: raw inertial and magnetic sensor vectors, synchronized image-pointcloud data, and differential stellar radial velocities.
2. Simultaneous magnetometer-accelerometer calibration
In “Efficient Simultaneous Calibration of a Magnetometer and an Accelerometer,” MARSCalib denotes a maximum-likelihood procedure built on a linear sensor model with affine distortions and Gaussian noise (Miranda et al., 2015). For each sensor , the measurement model is
$y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$
where is the raw reading, is the full gain matrix, is the instantaneous rotation, $v_s^\hat$ is the Earth field in the inertial frame, is the additive bias, and is the sensor-noise covariance. The inertial-frame reference fields are chosen as gravity 0 with 1 and magnetic field 2 with 3.
The formulation exploits repeated “static” measurements. If 4 sets of static samples are collected and 5 denotes the sample mean for set 6, then
7
with 8, where 9 is the number of samples in the set. This reduces the raw-data likelihood to a weighted cost over set means. The negative log-likelihood is written, up to constants, as
0
where 1. In practice, the reduced cost
2
is used, with 3 taken from the sample covariance estimate.
The parameter vector is
4
After scale fixing, 5 and 6, so only 7 remains free among field norms. This removal of scale ambiguity is central to the method’s identifiability.
3. Initialization, optimization structure, and reported performance
The 2015 MARSCalib procedure is implementation-oriented and begins with preprocessing: sample means
8
and unbiased sample covariances
9
are computed (Miranda et al., 2015). The gains and biases are then initialized by an ellipsoid fit adapted from Kok2012. The fit approximately solves
$y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$0
through the linearized construction
$y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$1
taking $y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$2 as the right singular vector of $y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$3 with smallest singular value. From $y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$4, one recovers
$y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$5
followed by the closed-form scaling
$y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$6
A Cholesky factorization on $y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$7 yields an upper-triangular $y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$8.
A joint estimate of the magnetometer-to-accelerometer frame rotation and the magnetic vertical component is then obtained. Using
$y_s = K_s R v_s^\hat + b_s + \eta_s,\qquad \eta_s\sim\mathcal{N}(0,\Sigma_s),$9
and the analogous 0, the method solves
1
The paper describes this as a 4-D search, carried out by multiple random restarts and a small-scale gradient descent. For each static set, an initial 2 is then obtained from the smallest-eigenvalue eigenvector of a 3 quaternion-cost matrix 4.
Refinement proceeds by block-coordinate optimization until convergence according to 5. The blocks are: the orientations 6; the biases and field components 7; the gains 8; and the covariances 9. Orientation updates use a two-stage strategy: first the eigenvector approximation is accepted as long as it decreases 0, and then standard gradient descent on the quaternion manifold is used. Biases and field components are updated by generalized least squares,
1
while the gains are estimated through a GLS solve on 2. Covariances are re-estimated at each iteration by the maximum-likelihood expression without Bessel correction,
3
The reported evaluation uses Monte Carlo simulations with 4 static orientations, 5, and 100 runs. Four algorithmic variants are compared: NCDR, NCAR, FCAR, and DCAR. Accuracy is summarized by the Mahalanobis-normalized RMS error
6
The key findings are that NCAR is fastest, at approximately 7–8, and most robust; at least 9 of runs achieve 0 for both sensors, including unseen test sets; error plateaus for 1; a stop threshold 2 balances time versus precision; FCAR and DCAR give similar accuracy but are 3–4 slower; and NCDR often stalls in local minima. On real data from a hand-held board inside a building, the paper reports visually tight fits of mean readings despite micro-vibrations and mild magnetic disturbances, with accelerometer residuals much smaller than 5 and magnetometer offsets below a few percent of full scale.
4. Spherical target-based LiDAR-camera extrinsic calibration
In the 2025 robotics and planetary-field context, MARSCalib denotes “Multi-robot, Automatic, Robust, Spherical Target-based Extrinsic Calibration in Field and Extraterrestrial Environments,” a fully automatic extrinsic calibration pipeline based on a small spherical target of radius 6 (Jeong et al., 23 Jul 2025). One robot carries the target and remains stationary, while the calibrating robot keeps its LiDAR and camera fixed and sweeps the target through its field of view. Camera frames and LiDAR scans are time-synchronized and collected over several seconds.
The camera pipeline consists of the Segment Anything Model (SAM), a Canny edge detector, ellipse extraction, center compensation for perspective-projection distortion, and output of corrected 2D ellipse centers 7. Ellipse extraction is divided into Initial Ellipse Detection, Ellipse Evaluation, and Ellipse Rectification. Initial detection randomly samples 5–10 edge points and fits an ellipse by direct least squares on small point sets. Evaluation bins the angular locations of in-ellipse points into a histogram and accepts the ellipse if the histogram is roughly uniform. If the histogram is non-uniform, the procedure identifies concentrated sectors, selects representative points, adds one point from the unused edge set, and re-fits an ellipse; if a large fraction of the original edge set lies outside the candidate ellipse, the candidate is rejected.
A distinctive feature is the perspective-projection compensation. Even for a perfect sphere, the fitted ellipse center 8 is offset from the true image-plane projection 9 of the 3D sphere center. With $v_s^\hat$0 denoting the image center, $v_s^\hat$1 the distance from $v_s^\hat$2 to the foot of the perpendicular to the major axis, and $v_s^\hat$3 half the major-axis length, the shift $v_s^\hat$4 is defined by two cases:
$v_s^\hat$5
with
$v_s^\hat$6
The algorithm then shifts $v_s^\hat$7 toward $v_s^\hat$8 by $v_s^\hat$9 along the line 0.
The LiDAR pipeline begins with Statistical Outlier Removal (SOR) and ground-plane segmentation. The remaining points are projected into image space, and a Hough circle detector crops the approximate spherical region. For spinning and solid-state LiDAR, points returning from nominally the same surface location are clustered along each laser ray; clusters longer than 1 are removed. Each remaining cluster is subdivided into 2 equal cells, and the representative point is
3
where 4 is the number of points in cell 5 and 6 its centroid. For non-repetitive LiDAR, the accumulated cloud is voxel-downsampled and voxel centroids are used as representative points.
Sphere fitting enumerates quadruplets of representative points. Each quadruplet defines a candidate sphere through
7
estimated by linear least squares,
8
The candidate center is 9 and the radius is
0
Only candidates with 1 are retained, and the final 3D center is a normalized frequency-weighted sum of surviving centers. Extrinsic estimation then solves
2
with Levenberg-Marquardt and a robust kernel, followed by post-outlier removal and a repeated solve if necessary.
The reported experiments compare the spherical target with AprilTag and CopperTag under three contamination levels and rotations from 3 to 4. AprilTag detection frequently failed, with 5–6 successes; CopperTag achieved 7–8 under blur and performed poorly under mud; the sphere achieved 9 in all cases. On a construction field, across three LiDAR types and three camera mounts, the reported average errors over 10 scenes per configuration were approximately 00–01 translation, 02–03 rotation, and 04–05 reprojection for Ouster OS1-32; 06–07 translation, 08–09 rotation, and 10–11 reprojection for SOSLAB ML-X 120; and 12–13 translation, 14–15 rotation, and 16–17 reprojection for Livox MID-360. Under physical damage to the sphere—extreme soil contamination, 18 truncation, and scratching—the average errors over 8 scenes with three LiDARs and two cameras were reported as 19 translation and 20 rotation.
5. MAROON-X ensemble calibration of run offsets
In the MAROON-X precision radial-velocity context, the MARSCalib pipeline is designed to remove month-to-month and year-to-year zero-point jumps by solving for a self-consistent set of per-run offsets 21 using an ensemble of well-behaved stars (Basant et al., 20 Feb 2025). MAROON-X uses a temperature- and pressure-stabilized Fabry-Pérot etalon illuminated by a supercontinuum laser, which corrects night-to-night shifts at the few 22 level, but the etalon itself drifts linearly by approximately 23, measured as 24 in the Red channel and 25 in the Blue. Prior to July 2023, MAROON-X operated in discrete campaign runs of 1–6 weeks, separated by days to months, and each run had its own instrument baseline because opto-mechanical perturbations changed the instrumental profile. The resulting run-to-run RV shifts can reach a few 26 in serval template-matching RVs.
The drift model is
27
with 28. The joint Gaussian log-likelihood for each star is
29
and the total log-likelihood is 30. In practice, fitting proceeds in two steps. First, each star is modeled individually with 31. Second, the per-run residual offsets
32
are combined into a single 33 for each run.
The ensemble-analysis algorithm begins with 11 stars selected because they are quiet, host known planetary systems with well-determined Keplerian signals, or exhibit stellar-activity signals that can be robustly modeled with Gaussian Processes or sinusoids. Cleaning and outlier rejection subtract the median RV of each run, clip points more than 34 from each run’s median, remove points with 35 the median uncertainty, and exclude epochs whose activity indicators deviate by more than 36 from their median. Per-star RV modeling uses juliet with RadVel and dynesty. Keplerians are parameterized with 37 and 38 under uniform priors on 39, or with 40 for very low-mass planet modeling. Optional Quasi-Periodic, SHO, or Double-SHO kernels are implemented via celerite2 with physically motivated priors on 41. No jitter term is used initially so that unmodeled noise and run-to-run drifts are absorbed into the 42; only if planetary parameters deviate strongly from the literature or the GP overfits is an independent per-channel jitter added.
To combine per-star offsets, Barnard’s star is chosen as a reference because it spans the most runs. The remaining stars are ordered by the number of runs they share with Barnard’s star. For each star, the average offset difference over common runs is computed, the star’s offsets are shifted by the negative of that average, and the reference offsets are updated as the mean of all stars included so far. After all 11 stars are folded in, the final reference offsets are adopted as the MAROON-X run offsets. Their uncertainties are estimated as
43
where 44 is the number of stars observed in run 45, and a floor of 46 is imposed; typical reported errors are 47–48.
Applied to HD 3651, described as a quiet G8V star with a 49 Saturn-mass planet, 134 MAROON-X spectra over 29 months yield residuals of 50 and 51 after calibrated offsets are used. Injection-recovery tests include a two-signal experiment in which a 52, 53 Keplerian is injected at 54 and separately at 55, and a Monte Carlo completeness study with 10,000 injected planets over 56 and 57. At 58 and 59, recovery rates are 60 for Blue, 61 for Red, and 62 for combined data; at 63 and 64, they are 65, 66, and 67, respectively. The paper summarizes the result as sub-68 per-run zero-point stability over more than 1,000 days.
6. Distinctions, recurrent structure, and interpretive issues
Taken together, these three usages show that MARSCalib is not tied to one sensing modality, one statistical family, or one calibration target (Miranda et al., 2015, Jeong et al., 23 Jul 2025, Basant et al., 20 Feb 2025). The 2015 method is an intrinsic calibration problem for two three-axis sensors under an affine-Gaussian model and static-pose grouping. The 2025 robotics method is an extrinsic calibration problem in which 2D ellipse centers and 3D sphere centers are paired and the transform is estimated in 69. The MAROON-X pipeline is a temporal zero-point calibration problem in which per-run offsets are inferred from residual structure across an ensemble of stars.
The differences in observables entail different optimization architectures. The magnetometer-accelerometer method uses block-coordinate maximum-likelihood refinement with generalized least squares, quaternion updates, and covariance re-estimation. The LiDAR-camera method decomposes the problem into image segmentation, geometric fitting, perspective compensation, accumulated-pointcloud processing, and a robust-kernel Levenberg-Marquardt solve. The MAROON-X pipeline separates astrophysical model fitting from inter-run alignment and combines per-star residual offsets by an iterative reference-updating procedure.
A plausible implication is that bibliographic searches for “MARSCalib” require domain qualification. Without that qualification, the acronym conflates at least three unrelated calibration problems: inertial-magnetic intrinsic calibration, LiDAR-camera extrinsic calibration, and radial-velocity run-offset calibration. The term therefore functions more as a local project name than as a stable cross-domain method class.