Running components inside RQT

Hello everyone,

we think it might be useful to have the possibility of launching rclcpp components inside the RQT context. This would for example allow intra-process communication between a camera driver launched as a component and the image_view plugin.

One option of doing this is to add a componentManager to the RQT NodeletPluginProvider and pass its executor to the componentManager. We currently use a prototype based on this approach.

Another option would be to have a component container RQT plugin. This would either require that the executor of the NodeletPluginProvider is exposed to the RQT cpp plugins or that the component container plugin runs its own executor.

We would like to hear your opinion on this feature in general and how to implement it.

Thanks a lot for your feedback!

Sounds like a cool idea.

I think that both feature ideas about being able to run rqt as a component or being able to run components within rqt are interesting.

But I think I like best the idea of an rqt plugin that just contains an executor and lets you dynamically load and unload nodes into it. That way they don’t interfere with or get interfere by the rqt stuff and it’s obvious what you’re running because a widget could show you.

2 Likes