ROS graph information tools implementation discussion

I am very interested in this discussion, as we at ASI have been playing around with ROS2 a lot. We had implemented our own version of rostopic list by using Node::get_topic_names_and_types().

We haven’t had the time to really dig into the rcl and rmw layers to understand fully what’s going on, but using this call has worked out fairly well. I will attest to @gbiggs statement that using this call comes at the cost of time. We have to let the tool spin for many seconds (currently around 15 seconds) just to be sure we’ve collected info from everyone in the system. Pretty inconvenient from a timing perspective, but still better than nothing!

Also, I’ve noticed a new flaw in this approach which I think may be related to my previous discussion here. When we set the Participant Index for OpenSplice to ‘none’ I think it’s causing the get_topic_names_and_types() to come up empty-handed. Or at least, it’s coming up empty in a sporadic way. I still have to investigate that some more.