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

Revision history [back]

...not as such. ROS messages are transmitted over the network; as a result, "passing a pointer" doesn't make any sense.

But wait, there's more!

One possibility is to just implement your pipeline in a single node; then it can pass pointers around because it's all in one process.

Another is to use nodelets, which offer a way of defining something that behaves like a node, but lets you have several in the same process; these were devised to solve exactly the problem you're talking about.

...not as such. ROS messages are transmitted over the network; as a result, "passing a pointer" doesn't make any sense.

But wait, there's more!

One possibility is to just implement your pipeline in a single node; then it can pass pointers around because it's all in one process.

Another is to use nodelets, which offer a way of defining something that behaves like a node, but lets you have several in the same process; these were devised to solve exactly the problem you're talking about.

A third option is ecto; where ROS is by-design asynchronous (which makes multi-input perceptual pipelines very painful), ecto is by-design synchronous, to make such pipelines easy. Ecto's still in heavy development, but it'll be seriously cool when it's done.