robotology / yarp-ros

YARP support for ROS1.
1 stars 1 forks source link

Document/clarify that multiple yarp::os::Node objects are allowed for process #17

Open traversaro opened 7 years ago

traversaro commented 7 years ago

The yarp::os::Node class is a YARP class useful to interact with the ROS 1 Master and publish/subscribe ROS 1 topics without the need to link any ROS client library such as roscpp.

In the ROS 1 computation graph, the Node identifies a single process. However, using the yarp::os::Node is possible to create multiple Nodes for each process. It is not clear (for some of us) if this is allowed or it can create problems with ROS 1 Master.

cc @drdanz @randaz81 @aerydna and in particular @barbalberto that worked a lot on ROS/YARP integration

traversaro commented 7 years ago

An example of use of multiple nodes in the same process that is causing a crash is attached.

testPublisher3.zip

damn1 commented 6 years ago

I've tested this snippet of code with YARP 2.3.72, then ported it to YARP 3.0.0 and retested. Both cases I'm not able to reproduce this problem in a debugging context. Do you remember what kind of crash should it cause? Here is a gist with the same test that can build with YARP 3.0.0: https://gist.github.com/damn1/6355b4c952bcba4451230e2c2ef52017

Maybe this issue could be unified with robotology/yarp-ros#8 depending on the crash it was causing?

traversaro commented 6 years ago

I do not remember correctly the details on how I run those tests, but based on the date of the issue there are some aspects that perhaps you did not replicated on your setup:

traversaro commented 6 years ago

I remember I also used rqt_graph and I obtained strange results, wondering if the multuple node for a single process was creating problems with the ROS 1 roscore.

traversaro commented 6 years ago

@damn1 This issue could be related: https://github.com/robotology/yarp-ros/issues/16 .