Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

extrinsicRPY meaning in readme #6

Closed
narutojxl opened this issue Jul 4, 2020 · 9 comments
Closed

extrinsicRPY meaning in readme #6

narutojxl opened this issue Jul 4, 2020 · 9 comments
Labels
good first issue Good for newcomers IMU IMU-related issues

Comments

@narutojxl
Copy link

Hi @TixiaoShan, thanks for your excellent work !
when reading about extrinsicRPY in doc and imuConverter() function, i don't understand this param's meaning.
Imu's orientation is q_b0_bk, which b0 is the imu's world frame, b0 imu frame in its world frame in time stamp k.
extrinsicRot is q_l2b, different from extrinsicRPY. What's the meaning of q_b0_bk * extQRPY?
It isn't q_b0_lk = q_b0_bk * q_l2b.traspose(), nor q_l0_lk = q_l2b * q_b0_bk * q_l2b.traspose(), right?

@TixiaoShan
Copy link
Owner

@narutojxl
The reason there is two extrinsic rotation params is that my IMU's inertial reading (acc and gyro) frame is different from the orientation frame. The pitch of my IMU is rotating around IMU-x. The pitch of the lidar is rotating around Lidar-y. Thus I use extrinsicRPY to rotate IMU orientation -90 degrees to the lidar frame, so they can be consistent.

@narutojxl
Copy link
Author

Hi @TixiaoShan,
Sorry, i don't look the frame picture carefully, thank you vey very much :) My problem is solved, closed this issue.
BTW, your imu's yaw+ arrow direction is different from roll+ and pitch+.

@TixiaoShan
Copy link
Owner

@narutojxl
It is indeed. I guess it's a preference of the manufacturer. That took me a while to figure out and to get the correct results.

@TixiaoShan TixiaoShan added the good first issue Good for newcomers label Jul 4, 2020
@TixiaoShan TixiaoShan pinned this issue Jul 4, 2020
@TixiaoShan TixiaoShan added the IMU IMU-related issues label Jul 15, 2020
@KitKat7
Copy link

KitKat7 commented Jul 22, 2020

It is indeed. I guess it's a preference of the manufacturer. That took me a while to figure out and to get the correct results.

Hi @TixiaoShan, I found the yellow arrow indicating the IMU-z rotation in the current https://github.com/TixiaoShan/LIO-SAM/blob/master/config/doc/imu-transform.png was left-handed, while in the 3DM-GX5-25's user manual, it was right-handed. Is it because of the IMU setting differences?

@chennuo0125-HIT
Copy link

no need config param "extrinsicRPY", because imu orientation wont be used in any function

@valgur
Copy link
Contributor

valgur commented Dec 28, 2020

@chennuo0125-HIT That's not true, though. IMU orientation is converted into imuRollInit, imuPitchInit and imuYawInit and published with the cloud_info message and then used in quite a few places in mapOptimization.cpp.

@chennuo0125-HIT
Copy link

@valgur yes, you are right , i didnt saw cloud_info carefully :(

@Cristian-wp
Copy link

Hello, I can not understand very well the meaning of this matrix.
For what I have understand and tested, the extrinsicRPY have the purpose to aling the LIDAR RPY to the IMU ones.
So it can be a dummy question, but if my IMU RPY are different for the one used in the youtube debug imu, the signs must be coerent with mine not with the video one, right?

@TZECHIN6
Copy link

I have question about using extrinsicRPY and the urdf file. Should I still need to input any transform in the urdf? as the param file already take care of the imu transformation, if I input again in the urdf, will it duplicate the transformation and causing unexpected result?

 <link name="imu_link"> </link>
  <joint name="imu_joint" type="fixed">
    <parent link="chassis_link" />
    <child link="imu_link" />
    <origin xyz="0 0 0" rpy="0 0 0" />
  </joint>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers IMU IMU-related issues
Projects
None yet
Development

No branches or pull requests

7 participants