ethz-asl / kalibr

The Kalibr visual-inertial calibration toolbox
Other
4.39k stars 1.41k forks source link

Bug reported for the multi-imu calibration #488

Closed yangyulin closed 2 years ago

yangyulin commented 2 years ago

Hi,

I have found a bug for the multi-imu calibration.

The results generated for the T_i_b is not in the right form.

The rotation part is R_i_b while the position part is p_b_i.

phil0stine commented 2 years ago

@yangyulin it sounds like this would be fixed with a trivial PR; simply changing this line right?

Also, what does the b versus i stand for in T_i_b? The output convention of specifying the terms would be useful here too. e.g., something similar to T_ci: (imu0 to cam0): for T_i_b. EDIT: I see that b stands for body, which I assume refers to the additional IMUs, while i represents the reference imu (whose default would be imu0)

yangyulin commented 2 years ago

@phil0stine, Yea. the b stands for body or based IMU. The T_i_b represents the transformation from body frame {b} to auxiliary IMU frame {i}.
T_i_b should equals to {R_i_b, p_i_b} ( which transforms a vector from {b} to {I}).

I think you are correct. In their output results, the rotation is R_i_b (rotation from {b} to {i}), while the position is p_b_i (translation from {i} to {b}). The current results of the Kalibr are: T_i_b = {R_i_b, p_b_i}.

goldbattle commented 2 years ago

Fixed via https://github.com/ethz-asl/kalibr/pull/525