Incorrect Yaw from imu_filter_magwick at ENU and NED
Hello all,
Currently, I am using a PhidgetSpatial 3/3/3 1042. However, I encounter strange yaw output when passing the reading of my IMU to imu_filter_magwick.
1
When I set "world_frame" to "ned", my yaw value (after subscribe to /imu/rpy/filtered) gives 0 degree when facing __east__ and -90 degree when facing __north__. On the other hand, If I select "enu", my yaw value is 0 when facing __north__, and -90 when facing __east__.
Originally, base on my reading from https://answers.ros.org/question/3649... I was expecting in 'ENU', yaw = 0 when face __east__, and yaw=-90 when face __north__. And in "NED" mode, yaw =0 when face __north__ and yaw=90 when face __east__
2
Aside from the weird 90 degree offset. Something I find also strange. In "NED" mode,my yaw = 0 +/- 5 degree when face __east__. However, my yaw = -75 degree when facing North. On the other hand, yaw = 180 degree when face __west__, yaw = 75 when face __south__.
Thus, my question is why is the yaw offset rather huge when face __south__ and __north__.
Atempt
- Tried to calibrate IMU with the company's firmware.
Config file
imu_filter:
ros__parameters:
stateless: false
use_mag: true
publish_tf: true # pueublish /odom to imu_link
reverse_tf: false
fixed_frame: "odom"
constant_dt: 0.0
publish_debug_topics: false
world_frame: "ned"
gain: 0.1
zeta: 0.0
mag_bias_x: 0.0
mag_bias_y: 0.0
mag_bias_z: 0.0
orientation_stddev: 0.1
publish_debug_topics: true