-
Notifications
You must be signed in to change notification settings - Fork 80
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
Nodelet namespacing issues #7
Comments
This is a really important issue that has not received any attention since 2013! The problem itself roots to the NodeHandle constructor API, which apparently has no real global namespace constructor. I have made a minor change in roscpp and issue a pull request, though I doubt it will be integrated anytime soon. |
@progtologist Can you link to your pull request here so we can review it? |
@tfoote I postponed the PR because I found a minor unresolved issue while testing it. I will work on it in the next days and link the PR here once I have tested it extensively. |
@tfoote I have created a PR here (#37) that unit tests the nodehandles. I tried to trace it back in roscpp but I got lost at some point (debugging with nodelets and launchfiles is not that trivial for me). As you can see, one of the tests is failing. The problem is that, when the NodeHandle constructor receives a NodeHandle with the namespace "/", it tries to resolve this, instead of assuming it is a global nodehandle. Also, this raises the question, whether there is actlually a global nodehandle. since, in my point of view, the global nodehandle is actually a namespaced nodehandle. |
@progtologist Thanks for the unit tests. That will be very helpful for tracking this down. I haven't looked into the full details, but based on what you've described it, I would have expected the '/' to resolve immediately to itself. |
Test catkin package: https://github.com/stonier/ros_testing
Namespacing for public and private is broken in a particular configuration: https://github.com/stonier/ros_testing/blob/master/namespaced_manager.launch
The results of that launch file put public and private topics in quite disparate places:
where it should probably be
I have three other namespace variations there, all of which behave as expected.
Seems to be only a problem if the nodelet's parent namespace is the root, '/'.
The text was updated successfully, but these errors were encountered: