-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change internal map topic from "map" to "stdr_map" #164
base: hydro-devel
Are you sure you want to change the base?
Change internal map topic from "map" to "stdr_map" #164
Conversation
Are you sure that everything works fine after this change? As I can see, you have to change map_server.cpp:94 also for transformations to work properly. Although, your approach might work accidentally if your map origin is zero [0, 0, 0] (this is the case for all maps in Conceptually, I agree that it is better to name the frame I am aware that the way stdr handles frame_ids is problematic when it comes to simulating robots that are doing some kind of localization. Actually, the above mentioned frames should be for internal use, for geometric calculations by stdr, and not exposed to the end user. I am currently working to find a solution to that issue, maybe using a different master for internal stdr stuff. In the meantime, renaming |
I think hardcoding the frame_id's is not a good solution. Why not do like in AMCL or Move_base and get all the needed parameters from am launch file? |
Since that frame should only exist for internal stdr purposes there is no point to make it configurable, such as reading it from the param server. If you are willing to proceed with the pull request, please make sure to test the functionality with different map origins. The changes that I suggested in my first comment should be applied also. |
One more thing. As you can see, all the launchers in |
e62e4f3
to
7c1cf6f
Compare
So what do you think of this last commit? I canceled other commits. |
I see that you finally didn't change the frame_id, only the topic name. Is there a reason behind that decision? I agree, the name of the map topic was a bit confusing, |
Yes I decided that using my own map server is better since you said that map_stdr is intended only for internal use. But I would suggest in the future to subscribe from stdr to a normal ros map_server. |
So the separate map server you are using, has a different frame_id than The reasoning behind the change of the topic name form In my opinion either we change both the topic name and the frame_id or none of them. I don't quite get what you are suggesting, but if you are saying that stdr should use the standard implementation of |
@czalidis what is the status of this PR? Should we merge it or..? |
This PR partially addresses one of the many problems we have, regarding the internal STDR topics. I was holding this back because I was looking for a more general solution. Keep in mind that what is proposed here can be also resolved with a simple topic remap. In general this PR was very useful because of the conversation that took place and clarified certain things. It can either be closed or left open, only for other people to read this conversation, util a solid solution has been found. |
Ok, lets keep it open for reference, until we have a sound implementation. |
Not sure if this helps, but... the fast, easy way I found to make things work the normal ROS way, with localization, move_base, and so on, is:
It's dirty and names are inconsistent, but like this I can simulate navigation/localization same way as with the real robot, what is what many people wants of a 2D simulator! |
During the implementation of turtlebot_stdr simulator, there was no other way to make things work than changing the frame_id of the map to "world" (Because the frame_id map is actually representing the odometry frame and is not fixed) or running another map_server hosting the same map but with a different frame_id. I prefer the first solution as it consumes less ressources and I tested it on STDR, the frame_id doesn't seem to affect the good functionning of STDR.