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

Does 3DMGX5-AHRS has different euler frame with 3DMGX5-25? #92

Closed
BizzareNathan opened this issue Dec 21, 2021 · 5 comments
Closed

Does 3DMGX5-AHRS has different euler frame with 3DMGX5-25? #92

BizzareNathan opened this issue Dec 21, 2021 · 5 comments

Comments

@BizzareNathan
Copy link

I got a 3DMGX5-AHRS and i want to use it as the imu for LIO-SAM, but after several tests, i found that the settings of the euler coordinate system is x(roll),y(pitch),z(yaw),which is not same system as shown in the picture.

So i'd like to know if these two imu really have two different euler system ?

Thanks in advance.
image

@nathanmillermicrostrain

If you set "use_enu_frame" to true, the axis for inertial data frame is reported as x out the connector, z up, y completing the right hand rule. That doesn't quite match what you have so....

Did you set any of these launch parameters?:

<rosparam param="filter_sensor2vehicle_frame_transformation_euler">      [0.0, 0.0, 0.0]</rosparam>
<rosparam param="filter_sensor2vehicle_frame_transformation_matrix">     [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]</rosparam>
<rosparam param="filter_sensor2vehicle_frame_transformation_quaternion"> [0.0, 0.0, 0.0, 1.0]</rosparam>

Also, please provide your serial number so we can double check your calibration report.

Thank you,

Nathan

@BizzareNathan
Copy link
Author

Hi Nathan,

My serial number is 6253.123790.
After I found that, I use your software MIP monitor to observe the change of Euler angles.
Since there are too many pictures to show, I will tell you my situation in form of roll, pitch, yaw,x out the connector,z down, y completing the right hand rule as the frame(marked on the AHRS).

Original -0.0538 0.0931 -2.4816
rotate -x -1.0757 -0.0681 -2.4067
rotate +x 1.0013 -0.0006 -2.5197
rotate -y 0.00186 -0.4985 -2.5035
rotate +y -0.0135 0.6230 -2.4611
rotate -z 0.0536 0.0375 -3.1247
rotate +z 0.0375 0.08624 -2.0679

1640137376577
1640137376581

To make the yaw angle counterclockwise positive (as in the figure), I tried flipping AHRS up and down, but still got the yaw angle clockwise positive.

@BizzareNathan
Copy link
Author

After your reminder, I learned the concept of the NED coordinate system, and if I understand correctly, the Euler angles output by AHRS are based on the NED coordinate system, and the acceleration is based on the coordinate system marked on the device. For the definition of yaw, in particular, I think it is defined here as north by east as positive, so I get a negative result.

So I set the coordinate system to "use_enu_frame" to true in the launch file and got the result you mentioned, after reorienting the x-axis and y-axis, I got the result I wanted.

<rosparam param="filter_sensor2vehicle_frame_transformation_euler">      [3.14159, 0.0, 0.0]</rosparam>

During the calibration process, I found that the roll angle was around -3.14 in the initial state, so I added an offset of [3.14159 0 0] to the launch file for the Euler angle, and finally, I got the initial values of roll and pitch around 0.

@FrozenCo
Copy link

After your reminder, I learned the concept of the NED coordinate system, and if I understand correctly, the Euler angles output by AHRS are based on the NED coordinate system, and the acceleration is based on the coordinate system marked on the device. For the definition of yaw, in particular, I think it is defined here as north by east as positive, so I get a negative result.

So I set the coordinate system to "use_enu_frame" to true in the launch file and got the result you mentioned, after reorienting the x-axis and y-axis, I got the result I wanted.

<rosparam param="filter_sensor2vehicle_frame_transformation_euler">      [3.14159, 0.0, 0.0]</rosparam>

During the calibration process, I found that the roll angle was around -3.14 in the initial state, so I added an offset of [3.14159 0 0] to the launch file for the Euler angle, and finally, I got the initial values of roll and pitch around 0.

请问答主LIOSAM调通了嘛,我也是用此款IMU想做LIOSAM,但RPY的外参数矩阵始终调不出,可以交流一下嘛?

@redheli
Copy link

redheli commented Sep 4, 2024

After your reminder, I learned the concept of the NED coordinate system, and if I understand correctly, the Euler angles output by AHRS are based on the NED coordinate system, and the acceleration is based on the coordinate system marked on the device. For the definition of yaw, in particular, I think it is defined here as north by east as positive, so I get a negative result.
So I set the coordinate system to "use_enu_frame" to true in the launch file and got the result you mentioned, after reorienting the x-axis and y-axis, I got the result I wanted.

<rosparam param="filter_sensor2vehicle_frame_transformation_euler">      [3.14159, 0.0, 0.0]</rosparam>

During the calibration process, I found that the roll angle was around -3.14 in the initial state, so I added an offset of [3.14159 0 0] to the launch file for the Euler angle, and finally, I got the initial values of roll and pitch around 0.

请问答主LIOSAM调通了嘛,我也是用此款IMU想做LIOSAM,但RPY的外参数矩阵始终调不出,可以交流一下嘛?

I tried, can not
shall use original microstrain_mips, can download from TixiaoShan/LIO-SAM#128 (comment)
it contains midification of imu_correct topic

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

No branches or pull requests

4 participants