🧪 新教程持續更新中 · 由機械臂到傳感器,跟隨教程從零搭建
跳到主要內容

IMU 校準指南

淘寶店鋪

在正式使用 IMU 模組前,建議先完成校準,以獲得最佳姿態解算精度。本文檔基於官方 IMU_Libraryimu_calibration_tool.py

校準類型

IMU 校準工具支持三種校準,可單獨執行或一次完成:

校準類型說明適用場景
整體校準 (imu)加速度計 + 陀螺儀 + 磁力計綜合校準首次安裝、更換安裝位置後
磁力計校準 (mag)消除環境磁場干擾環境磁場變化(靠近電機/金屬後)
溫度校準 (temp)補償溫度漂移工作環境溫度變化大

準備工作

  1. 克隆官方代碼倉庫(內含校準工具):
bash
git clone https://github.com/Juxi-Technology/ICM42670P-High-Precision-IMU-Module.git
cd ICM42670P-High-Precision-IMU-Module
  1. 確認 IMU 與主控連接正常(串口或 I2C)

  2. 校準姿勢:將 IMU 水平靜止放置,周圍遠離強磁場源(電機、磁鐵、金屬支架)


串口通信校準

bash
cd ~/IMU_Library/IMU_Library

# 執行所有校準(整體、磁力計、溫度)
python3 imu_calibration_tool.py --mode serial --port /dev/imu-serial

# 僅整體校準
python3 imu_calibration_tool.py --mode serial --port /dev/imu-serial --calibrate imu

# 僅磁力計校準
python3 imu_calibration_tool.py --mode serial --port /dev/imu-serial --calibrate mag

# 僅溫度校準
python3 imu_calibration_tool.py --mode serial --port /dev/imu-serial --calibrate temp

I2C 通信校準

bash
# 執行所有校準(整體、磁力計、溫度)
python3 imu_calibration_tool.py --mode i2c --port 1

# 僅整體校準
python3 imu_calibration_tool.py --mode i2c --port 1 --calibrate imu

# 僅磁力計校準
python3 imu_calibration_tool.py --mode i2c --port 1 --calibrate mag

# 僅溫度校準
python3 imu_calibration_tool.py --mode i2c --port 1 --calibrate temp

--port 參數:I2C 模式下為主控 I2C 總線號(如樹莓派/STM32 為 1);串口模式下為設備路徑(如 /dev/ttyUSB0/dev/imu-serial)。


校準技巧

技巧說明
磁力計校準水平緩慢旋轉 IMU(8 字或畫圈),覆蓋所有朝向
靜止放置整體校準時 IMU 必須靜止,移動會導致校準失敗
遠離磁場校準環境遠離電機、變壓器、金屬檯面
多軸旋轉磁力計校準需要覆蓋 X/Y/Z 三個軸的旋轉

常見問題

Q: 校準後姿態仍然漂移?

A: 確認整體校準(imu)是否執行;檢查 IMU 是否固定牢固(震動會引入噪聲);環境溫度變化大時補充溫度校準。

Q: 磁力計校準失敗?

A: 校準環境有強磁場干擾;確認 --calibrate mag 參數正確;校準過程中是否充分旋轉覆蓋所有朝向。

Q: I2C 模式下 port 參數填什麼?

A: 填寫主控的 I2C 總線號。樹莓派默認 1,STM32 按引腳映射的硬件 I2C 編號,可在 i2cdetect -l 中確認。


相關鏈接

技術支援