ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

ROS2 diff between node and component

asked 2019-01-17 05:14:28 -0600

poonam1120 gravatar image

Hi all,

what is the difference between node and component? As per my understanding and demo example of composition, component is also similar to node.

I also tried the simple example to add simple node(which has been created in class and loaded compile time) in the executor. But I am not able to understand the advantage of component over node?

Thanks in advance!!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-01-17 19:52:12 -0600

William gravatar image

This is still unfortunately still under some active development (see: ) and so not everything is clearly defined yet. I've proposed some terminology that should hopefully be clearer in this document (though I don't know if in the end it will change further):

Here's a summary of the terminology:

  • Node: an instance of rclcpp::Node or an instance of a class derived from rclcpp::Node (often user defined)
  • Composable Node: A Node, which has been built in a certain way and registered at build time as a composable node, which enables it to be instantiated at runtime by a standard executable
  • Composable Node Container: a program that can on demand: lookup a node, load (with dlopen) the node's .so, instantiate an instance of the node, and then execute the node

The contents of the composition package and the associated tutorials are useful to see how some of the underlying mechanics work, but it's more of a tech demo and so doesn't have as much infrastructure around it as we'd like.

In the meantime, I'd suggest following the changes happening at and waiting for that to finish, or if you need something sooner, try to adapt the examples in the composition demo to meet your needs.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2019-01-17 05:14:28 -0600

Seen: 2,225 times

Last updated: Jan 17 '19