Are both Gmapping and amcl publishing Map to Odom TF?
I am writing a SLAM system myself. It is a seperate module not running under ROS. We have a tcp/ip node to send and receive msgs.
We have successfully built the map. Now we are going to use our own map to do a navigation.
Let me simply describe my system..
Odometry and image are sent to the SLAM system to build map. We use this map do localization and path planning, so the current_pose and global path are generated and sent back to navigation package. We use fake_localization to subscribe to the base_pose_ground_truth (just derived from our current_pose) and publish the amcl_pose.
I hope to run the whole system without gmapping and amcl.
First problem. Currently, we cannot perform a global planning without lauching gmapping. (we wrote our own node from a carrot_planner. However it is only a plug-in, i am not sure if only the gmapping can call it).
Second problem. It is OK to run gmapping, as long as we are not using its own global planner, it wont affect our system. However, when we launch fake_localization and gmapping together, it seems the map to odom link is controlled by gmapping. That means the gmapping still estimates the robot current_pose and make compensation through change the map_to_odom link. May I know how to disable this function? Or how to let fake_localization control this TF? I hope researchers who is doing simulation can help me out, you should be more familiar with this TF tree.
So finally come to the question in the title. Are both Gmapping and amcl publishing Map to Odom TF? Is there any confliction?
I have searched for this for quite a while, not sure whether I have missed out some important things or I have not found it. Any related link is welcome to paste as an answer. Lots of thanks.
perhaps you can check this with rostopic info (shows publishers and subscribers)?
Hi davinci, I think I asked a question that I have already known the answer. This one can be checked using tf view_frames when I launch them seperately. I just do not know how does ROS choose between gmapping and amcl for this TF