CCNYRoboticsLab / imu_tools

ROS tools for IMU devices
Other
908 stars 429 forks source link

Transform between IMU data and Mag data #178

Closed fdila closed 10 months ago

fdila commented 1 year ago

Hi, I'm trying to use the imu_filter_madwig to fuse accelerometer and gyroscope data with magnetometer data, to get an absolute orientation. However, the accellerometer and gyroscope data come from a sensor different from the magnetometer sensor. The two sensors are quite close but oriented in different ways. I'm publishing the static transform between the two sensors, however it doesn't seem to be used, judging from the results. Is there any way of incorporating the static transform inside the filter?

jonny7447 commented 1 year ago

hey @fdila, did you figure this out? I seem to have the exact same issue and am stuck at it. And if you did not figure out the intended way then: did you find a work arround? Thanks in advance

mintar commented 1 year ago

Is there any way of incorporating the static transform inside the filter?

No, unfortunately at the moment the filter assumes that the XYZ axes of the accelerometer are the same as the gyrometer and the same as the magnetometer. It does not do any transformation based on TF beforehand to ensure this. In other words, it assumes that all data comes from a single sensor with a single sensor frame.

FYI, there are some more details about the IMU conventions here (although it doesn't say anything specifically about the question above): https://ros.org/reps/rep-0145.html

To work around this, you should first transform the data yourself so that it adheres to these conventions.