Skip to content

Fix the code for imu+mocap calibration.#733

Open
zichao-shu wants to merge 1 commit intoethz-asl:mocapfrom
zichao-shu:feature/imu_mocap_calib
Open

Fix the code for imu+mocap calibration.#733
zichao-shu wants to merge 1 commit intoethz-asl:mocapfrom
zichao-shu:feature/imu_mocap_calib

Conversation

@zichao-shu
Copy link

@zichao-shu zichao-shu commented Feb 21, 2025

Overview

We fixed the IMU-Motion Capture (MoCap) calibration tool. It can now perform the spatiotemporal extrinsic calibration between the IMU and the MoCap trajectory. This enables the conversion of the raw MoCap data into a trajectory referenced to the IMU local frame, meeting the requirements of tasks such as VI-SLAM benchmarking.

Command

One can run the IMU - MoCap calibration function with the following code:

rosrun kalibr kalibr_calibrate_imu_mocap \
  --bag your_bag_name.bag \
  --imu your_imu_config.yaml \
  --imu-models calibrated \
  --topic /your_mocap_topic

For more parameter descriptions, one can use the following command to view the help information:

rosrun kalibr kalibr_calibrate_imu_mocap -h

Verification

We conducted verification on the EuRoC dataset and our own MoCap dataset. The code functions properly. As shown in the figures below, the running log and output results for one sequence of the EuRoC dataset indicate that the estimated trajectory is basically consistent with the one published by EuRoC.

log traj_result

Notes

Meanwhile, we also noticed that the calibration accuracy is higher when there is sufficient motion excitation. Therefore, we recommend performing an additional calibration operation first and applying the calibration results to all subsequent data collection processes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant