360 Secure SkillHub
360 安全技能中心

Pywayne Calibration Magnetometer Calibration

核心功能为IMU传感器的磁力计校准,采用闭式法计算软铁矩阵与硬铁偏移向量,依赖VQF做姿态估计。典型场景是IMU校准阶段,需输入覆盖多姿态的、匹配采样数的numpy数组格式的时间戳、三轴加速度计、陀螺仪、磁力计数据,输出的校准参数可直接用于修正原始磁力计读数。

wangyendt
wangyendt
热度 61.39
最近更新 2026-05-11 17:25:45
分类:开发依赖:代码执行应用场景:代码生成 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add magnetometer-calibration
Metadata
name
pywayne-calibration-magnetometer-calibration
description
Sensor calibration toolkit with magnetometer calibration using close-form method. Use when calibrating IMU sensors (accelerometer, gyroscope, magnetometer) to compute soft-iron matrix and hard-iron offset for magnetometer correction. Requires sensor fusion with VQF for orientation estimation.

Pywayne Calibration

pywayne.calibration.MagnetometerCalibrator provides magnetometer calibration using sensor data (accelerometer, gyroscope, magnetometer).

Quick Start

from pywayne.calibration import MagnetometerCalibrator
import numpy as np

# Sensor data: ts (N,), acc (N,3), gyro (N,3), mag (N,3)
calibrator = MagnetometerCalibrator(method='close_form')
Sm, h = calibrator.process(ts, acc, gyro, mag)

# Sm: Soft-iron matrix (3x3)
# h: Hard-iron offset vector (3,)

Input Data Format

Sensor data must be numpy arrays with matching sample counts:

ts   # (N,)     - Timestamps (seconds)
acc  # (N, 3)   - Accelerometer [ax, ay, az]
gyro # (N, 3)   - Gyroscope [gx, gy, gz]
mag  # (N, 3)   - Magnetometer [mx, my, mz]

Data requirements:

  • Sensor data should cover various orientations for effective calibration
  • Minimum data points required (exact number depends on calibration stability)
  • Arrays must be C-contiguous (auto-converted internally)

Calibration Parameters

process() returns:

Parameter Shape Description
Sm (3, 3) Soft-iron matrix
h (3,) Hard-iron offset vector

Usage in Application

Apply calibration to raw magnetometer readings:

# Calibrated reading
m_calibrated = Sm @ (m_raw - h)

Temporal Calibration

Temporal calibration module exists but is reserved for future expansion. Currently no functionality is implemented.

Important Notes

  • Dependencies: Requires vqf (VQF quaternion filter) and qmt (quaternion math) modules
  • Method: Currently only supports close_form method
  • Orientation: Uses VQF for sensor fusion and orientation estimation during calibration
  • Output: Prints calibration parameters during processing