I realize this topic has come up a lot, but I've read every related question on here and nothing is quite working yet.
I have a depth camera and an IMU. The IMU is rigidly attached to the camera. I'm using rtabmap to produce visual odometry and localize against a map I previously created, and I've created my own IMU node called Tacyhon for my invensense MPU 9250 board.
Here are my frames and rosgraph...


The acceleration and angular velocity seem to be working fine, however, orientation is relative to camera_link, not relative to map. Thus a 90 degree rotation results in robot_localization thinking that the IMU is facing 180 degrees from its starting location, since it is 90 degrees rotated from camera_link. How can I set my acceleration and angular velocity from the IMU topic to be relative to camera link, but my orientation data to be relative to map so that r_l can fuse the orientation from the IMU with the orientation from rtabmap?
Here is my launch file.
Any help would be appreciated!
[false, false, false,
true, true, true,
false, false, false,
true, true, true,
true, true, true]
[true, true, true,
true, true, true,
false, false, false,
false, false, false,
false, false, false]
↧