H Mathieu,
I'm testing the Extended Kalman Filter integration between visual and wheel odometry.
Since EKF publishes the filtered odometry
and the corrected "odom --> base_link" transformation, I thought it would be a good idea to disable the same publishing from the two odometry sources to not interfere with EKF.
I already disabled the TF from my motor driver and I verified that now it only publishes nav_msgs::Odometry messages. I tried to do the same with rtabmap rgbd_odometry setting "publish_tf" to
false in the launch file, but it seems to ignore it and still publishes "odom --> base_link" together with odometry.
I verified this with RViz (TF coordinates are moving while teleoperating) and with rqt_graph (notice the interaction between rgbd_odometry and tf):
I also took a look at TF frames and in fact the "odom --> base_link" transformation is actually published by rgbd_odometry, confirming this:
Am I doing something wrong?
Many thanks,
Guido
UPDATE: Sorry, maybe I found the problem, but I'm still not sure if it is right or not. I set "frame_id" to "camera_link" instead of "robot_link" and now "odom --> base_link" is published by EKF and "base_link --> camera_link" by rgbd_odometry (figure below). I think it is still wrong, since rgbd_odometry should not publish TF with "publish_tf" set to false. If I want to integrate the visual odometry node with the full robot setup with rtabmap SLAM, what frame do I have to set for "frame_id" in rgbd_odometry?
~Guido