Robotics StackExchange | Archived questions

Special treatment for ros2cli in rmw?

Hi, I'm working on a rmw implementation based on a DDS-specification compatible middleware. In terms of communication and rcl api, everything works fine including calls to introspection functions like get_topic_names_and_types. But when I tried to test the cli tools like ros2 topic list, the results were all empty. With some further debugging it turned out the graph_cache in rmw is empty. I'm wondering if cli tools require some special treatment in the rmw layer. Thank you!

Asked by IIIIIIIlll on 2022-05-13 08:22:56 UTC

Comments

Just making sure (as it's happened to me): you did set the RMW_IMPLEMENTATION env var in the terminal you tried to use ros2 topic list (et al.)?

Asked by gvdhoorn on 2022-05-13 12:00:53 UTC

Yes I have, I can confirm the cli tools are using the target rmw & corresponding middleware. I can even set breakpoints into the piece of code handling the cli tools call in rmw. Actully that is how I figured out the graph_cache was empty.

Asked by IIIIIIIlll on 2022-05-13 21:09:39 UTC

Answers