Skip to content
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

Sub-node name is ignored in service name resolving #2734

Open
PfeifferMicha opened this issue Feb 6, 2025 · 2 comments
Open

Sub-node name is ignored in service name resolving #2734

PfeifferMicha opened this issue Feb 6, 2025 · 2 comments

Comments

@PfeifferMicha
Copy link

PfeifferMicha commented Feb 6, 2025

When I create sub-nodes using Node::create_sub_node() and then resolve a private name on this sub-node, the sub-namespace is ignored.

    auto nh_left = this->create_sub_node( "left" );
    std::string resolved_service_name = nh_left->get_node_base_interface()->resolve_topic_or_service_name( 
                                                                                                                                                   "~/set_camera_info", true, false );

Resolves to: /test_cam_info_manager/set_camera_info
But I would expect it to resolve to: /test_cam_info_manager/**left**/set_camera_info

Background:
In order to create two CameraInfoManager's for a stereo setup, I need some way to push the CameraInfoManagers into a sub-namespace. I thought this is exactly what sub-nodes are for, but it's not working. Original issue: ros-perception/image_common#341

Note: In rolling release, I believe this can be circumvented because CameraInfoManager has a new namespace parameter, but this is not the case in jazzy.

Required Info:

  • Operating System:
    • Ubuntu 24.04
  • Installation type:
    • binaries
  • Version or commit hash:
    • jazzy
  • Client library (if applicable):
    • rclcpp
@fujitatomoya
Copy link
Collaborator

@PfeifferMicha thanks for creating issue, this looks like bug.

one question, can you reproduce this issue with rolling build as well? self-contained example would be appreciated.

@PfeifferMicha
Copy link
Author

Thanks for the reply!

Here's my minimal example. Please see the Readme for description of the error/expected outcome.
https://github.com/PfeifferMicha/test_cam_info_manager

I tried with the CI nightly rolling build from here:
https://ci.ros2.org/view/packaging/job/packaging_linux/lastBuild/
Revision: 022da8a9eaa83b4ae8f7b770bdd2a4c700bf1d70

The error is still there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants