Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

If the parameter server node has a namespace, then the client must include the namespace when it is created. For example, I have my parameter server node running with the full name /foo/parameter_blackboard, then the code to create the parameter client should look like this:

auto parameters_client = std::make_shared<rclcpp::SyncParametersClient>(node, "/foo/parameter_blackboard");

If the parameter server node has a namespace, then the client must include the namespace when it is created. For example, I have my parameter server node running with the full name /foo/parameter_blackboard, then the code to create the parameter client should look like this:

auto parameters_client = std::make_shared<rclcpp::SyncParametersClient>(node, "/foo/parameter_blackboard");

Edit

I think I was able to reproduce the issue. It occurs when the local node (parameter client) has a namespace, that is also different from the remote node. I've opened a PR to address this issue in rclcpp. If you are able to try that patch and confirm if it fixes the issue that would be great.