Frontier Research

Reproductions and technical breakdowns of the latest papers in magnetic indoor positioning — each issue takes a close read of one representative work, analyzing its core idea, system architecture and engineering path to deployment, continuously fused and iterated with Gear-Lab's magnetic-inertial PDR solution.

More topics coming soon — new topics will appear here as tabs

Why Rotation Invariance?

Magnetic fingerprint positioning exploits the inherent distortion of the Earth's magnetic field by a building's steel structure to enable infrastructure-free localization. But raw three-axis magnetometer readings (Mx, My, Mz) are vectors in the device coordinate frame — once the device pose changes (portrait vs. landscape, pocket orientation, robot mounting angle), the fingerprint at the same location no longer matches at all. The classic workaround demands "mapping and positioning with consistent pose", which is nearly impossible to satisfy in real use. The MagNet study gives a quantitative conclusion: with 3D raw input under a fixed 90° rotation, the mean absolute error degrades from about 0.3 m to 13–14 m (roughly 40×), and this holds for every rotation axis.

Raw 3D Input vs. Rotation-Invariant 2D Features Raw 3D Magnetic Field (Mx, My, Mz) — Pose-Sensitive Pose A: (Mx, My, Mz) ≠ Pose B (rotated 70°): (Mx′, My′, Mz′) Same location, two fingerprints → match fails, error ~40× Rotation-Invariant 2D Features (Mn, Mg) — Pose-Invariant Mn = |M| magnetic field norm = Mg = M · g gravity-axis projection Fingerprint identical at any pose → no mapping/positioning alignment needed
Figure 1 · Raw three-axis readings change as the device rotates; the magnetic field norm and gravity-axis projection stay constant at any holding pose

Core Idea: Two Scalars Replace Three Components

Starting from the symmetry of the rotation group, MagNet compresses the 3D magnetic field vector into two rotation-invariant scalar features — discarding one dimension of information in exchange for complete immunity to device rotation.

① Magnetic field norm  Mₙ = |M| = √(Mx² + My² + Mz²)
Strictly invariant under any 3D rotation (including mirroring); captures the magnetic field strength fingerprint

② Gravity-axis projection  Mₖ = M · ̲g⃗ / |̲g⃗|
g is estimated by the accelerometer; strictly invariant to rotations about the gravity axis (yaw), while preserving vertical field information — exactly the feature basis for "floor discriminability"
🎯

Strict Mathematical Invariance

Features are rotation-normalized before entering the network — robustness is not left for the network to "learn". No matter how the device rotates, the input representation is identical and the error curve stays flat regardless of rotation angle

📐

Quantified Information Trade-off

In large buildings (strong fingerprint uniqueness) 2D features win even at zero rotation (Loomis: 1.46 m vs 1.96 m); in small-to-medium buildings there is a 5–6° crossover threshold — real handheld use almost certainly exceeds it

🧩

Engineering Implications

No pose constraints or alignment calibration needed between mapping and positioning; under crowdsourced mapping (random rotations in both training and test data) 2D features remain stable, directly enabling low-cost large-scale collection

MagNet Network Architecture

A 7-layer dilated 1D convolutional network takes a magnetic feature sequence of 200 samples (50 Hz × 4 s sliding window) and directly regresses (x, y) coordinates — no initial position estimate needed, natively solving the "lost robot" problem (unlike CNN+RNN hybrid schemes).

MagNetS / MagNetXL Architecture — Dilated 1D-CNN Direct Coordinate Regression Sensor Input @50Hz 3-Axis Magnetometer Accelerometer (g) Sliding Window 200 Samples / 4 s Rotation-Invariant Feature Layer Mn = |M| (norm) Mg = M·g (projection) 2D input, pose-immune 7-Layer Dilated Conv1D (dilation 1→64) d1 d2 d4 d8 d16 d32 d64 Kernel 5→20 increasing · receptive field ≈255 covers the full window · suppresses grid artifacts Global Average Pooling FC 64 (nonlinear) FC 2 (linear) Coordinate Output (x, y) MagNetS ≈360k params MagNetXL ≈1M params Integration Points with the Gear-Lab PDR Fusion Architecture On-device: MagNetS coarse fix PDR dead-reckoning recursion EKF Kalman filter fusion Continuous stable meter-level output
Figure 2 · MagNet end-to-end architecture: rotation-invariant features → dilated CNN → direct coordinate regression, and how it plugs into the Gear-Lab PDR fusion pipeline
Why exponentially increasing dilation rates? The combination of 7 layers, dilation 1→64 and kernels 5→20 yields a receptive field R ≈ 1 + (k−1)(2ⁿ−1) ≈ 255, exactly covering the 200-sample input window; shallow layers learn local magnetic texture while deep layers cover global patterns across the whole sequence, and it also mitigates the grid artifacts of small kernels with high dilation. This is the key design that makes dilated CNNs outperform plain CNNs on sequence regression tasks.

Experimental Validation (MagPie Benchmark)

MagPie is a public magnetic positioning benchmark released by the University of Illinois Urbana-Champaign (UIUC): 3 buildings (large/medium/small), handheld and robot platforms, ~689 ㎡ coverage, 50 Hz magnetometer + 200 Hz IMU, with centimeter-level ground truth. MagNet compared against prior SOTA systems on this benchmark:

Building (Size)CNN+RNN (IPIN 2021)Prior Work (ICCAI 2025)MagNetS (360k)MagNetXL (1M)
CSL (small)0.30 m0.22 m0.22 m0.21 m
Talbot (medium)1.06 m0.82 m0.66 m0.64 m
Loomis (large)1.07 m1.98 m2.13 m1.96 m

Mean absolute error MAE (meters), original MagPie no-rotation test set · green = best in column

🔄

3D Input: Collapse Under Rotation

Under a fixed 90° rotation (simulating a pocket-carry pose change) MAE rises from ~0.3 m to 13–14 m, with no difference across the X/Y/Z axes; under random rotation (simulating natural hand sway) the error grows monotonically with the standard deviation, up to ~11 m

🛡️

2D Invariant Features: Constant Error

With (Mn, Mg) input, MAE stays unchanged at any rotation magnitude; past the crossover threshold 2D input beats 3D across the board — large buildings 0°, medium 5°, small 6°, while real handheld use involves far more rotation

Known Limitations (a careful read): The results are based on a single public dataset; Mₖ depends on the accelerometer's estimate of the gravity direction, and the impact of walking-induced tilt jitter (~2–5°) on the practical threshold was not tested with noise injection; under crowdsourced mapping (both training and test rotated) 2D features remain stable, but cross-device sensor differences were not evaluated. These are points to re-verify in your own scenario before engineering deployment.

Lightweight: On-Device Deployment of MagNetS

MagNetS achieves nearly identical accuracy with ~360k parameters (about 1/3 of MagNetXL) — the key version for mobile:

📱

Smartphones / Wearables

After INT8 quantization the model is ~0.4 MB in size; single-window inference is millisecond-scale 1D convolution, running in real time on phone NPU/DSP or wearable MCUs, fused online with PDR dead reckoning

🤖

Inspection Robots / AGVs

Requiring no initial position estimate directly solves the "lost robot" relocalization problem; complementary to wheel odometry, and magnetic fingerprints are especially distinctive in warehouses packed with metal shelving

🏗️

Infrastructure-Free at Scale

Positioning needs only one magnetometer + accelerometer — natively compatible with Gear-Lab's existing passive positioning terminals (BLE/LoRa/4G backhaul); magnetic maps can be updated at low cost via crowdsourced collection

Papers & Open Resources

Core literature and datasets cited in this topic. Note: as of 2026-09 the MagNet paper has no official code release; MagPie provides an official dataset and a community forum repository, so the architecture above can be reproduced directly with PyTorch/TensorFlow.

Helge Rosé, Konstantin Klipp, Tom Koubek (Fraunhofer FOKUS) · Bernd Schäufele, Ilja Radusch (DCAITI, TU Berlin) · ICMCR 2026 · arXiv:2604.22896 · DOI: 10.1109/ICMCR69541.2026.11533953 — proposes the (Mn, Mg) rotation-invariant features and the MagNetS/XL dilated CNNs, with rotation sensitivity evaluated on the full MagPie benchmark
Hanley et al., UIUC · IPIN 2017 · 3 buildings / 689 ㎡ / handheld + robot / 50 Hz magnetometer · Community repository: github.com/hanley6/MagPIE2Forum (data issue feedback and code sharing)
Rotation-invariant magnetic features for inertial indoor-localizationPrior Work · Feature Foundation
Klipp, Rosé, Willaredt, Sawade, Radusch · IEEE IPIN 2018, pp. 1–10 — first proposed the magnetic field norm + gravity-axis projection for inertial indoor positioning; this paper is its systematic CNN-based validation
Magnetic field sensing for pedestrian and robot indoor positioningBaseline
Antsfeld & Chidlovskii · IEEE IPIN 2021, pp. 1–8 — CNN+RNN hybrid architecture, requires an initial position estimate; the main baseline in Table I of the core paper
Comparing CNN and LSTM Networks for Magnetic Localization of IoT Devices and Pedestrian TrackingBaseline
Klipp et al. · ICCAI 2025 — CNN vs LSTM comparison for magnetic localization, the direct predecessor informing the MagNet architecture

Bring Frontier Research to Your Deployment

Frontier feature engineering and lightweight CNNs fuse seamlessly with Gear-Lab's magnetic-inertial PDR solution — we welcome technical evaluations and joint validation

Explore the PDR Positioning Solution → Contact Us

Live Algorithm Test — Zero 2W Test Unit Real-Time Link

Live subscription to the MQTT data streams of the proof-of-concept unit: step (BHI260AP PDR solved at 50 Hz, absolute coordinates reported on every step) and mag (QMC5883P sampled at 10 Hz / uploaded at 3 Hz, magnetic field in µT after ellipsoid calibration). Each step automatically pairs with the magnetic scalar |m| closest in time, mapped as a heatmap color onto the walking trajectory — magnetically anomalous zones (steel structures / equipment interference) show up directly on the track.

Waiting to connect mag 0 · step 0 wss://gear-lab.cn:8084/mqtt
Latest Step
—
X Coordinate
—m
Y Coordinate
—m
Field Magnitude |m|
—µT
Magnetic Heading
—°
Dot color = the |m| report closest in time to each step; clearing the track does not disconnect
Waiting for step data — walk around with the test unit and the track will be drawn here
— µT
— µT