What is NodeHandle?
I make publisher and subscriber. Why do I need to declare NodeHandle? NodeHandele is per topic?
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
asked 2013-07-22 20:38:10 -0500
This post is a wiki. Anyone with karma >75 is welcome to improve it.
I make publisher and subscriber. Why do I need to declare NodeHandle? NodeHandele is per topic?
A NodeHandle is an object which represents your ROS node. You usually only need one or two node handles.
ros::NodeHandle nh; //public node handle
ros::NodeHandle nhPrivate("~"); // private node handle
If you are a beginner then you can safely ignore the second line. Otherwise, keep in mind that all the topics, services, parameters you manipulate are resolved depending on where your node is placed in the ROS namespace hierarchy (see ROS_NAMESPACE environment variable for instance). By default the node handle will create topics, etc. in your current position but it can be overridden by giving a parameter when creating the ROS NodeHandle. The special character "~" represents your node private space where you can create communication channels without having to worry with name collision or other problems like this.
Anyway, if this is unclear for you: create only one node handle without any argument. See the roscpp tutorial for more information on this matter.
Hi Thomas, I don't know if you can help me to solve this: http://answers.ros.org/question/157696/actionlib-client-question/. Thanks for your help!
Asked: 2013-07-22 20:38:10 -0500
Seen: 24,716 times
Last updated: Jul 22 '13
basic question in understanding publishing and subscribing
Can I "overload" topic names in ROS? (Different versions by datatype)
Subscribing to the odometry topic
Problem using subscribed motor position topic
publish arrays to a topic on the command line
How to create a global listener for any ROS topic and extract all data from any message?
Diagnostic aggregator not reading messages from new publishers on /diagnostics topic [closed]