Robotics StackExchange | Archived questions

private nodehandles in ros 2

Will ros 2 support anything similar to private nodehandle concept of ROS 1 ?

Asked by Skyking on 2018-06-19 05:38:07 UTC

Comments

Answers

The same syntax can be used in ROS 2 as in ROS 1, e.g. ~/chatter will become /node_namespace/node_name/chatter. See:

http://design.ros2.org/articles/topic_and_service_names.html#private-namespace-substitution-character

EDIT:

Sorry, I guess you mean the roscpp::NodeHandle object in C++, right now we don't have that, but it's possible we could have it in the future.

In stead, if ROS 1 code used to do something like:

NodeHandle pnh("~");
pnh.advertise<...>("chatter", ...);

In ROS 2, you'd need to instead do:

auto node = std::make_shared<rclcpp::Node>("...", ...);
node->create_publisher<...>("~/chatter", ...);

Asked by William on 2018-06-19 14:37:34 UTC

Comments