RQT in ROS2

Do we actually need two separate ways to build graphical user interfaces in ROS2? There is Rqt, which provides dockable widgets, and RViz, which provides dockable widgets and also 3D visualization.
I don’t know why ROS1 has two separate GUI widget plugin architectures, but porting GUI widgets from ROS1 to ROS2 is a good opportunity to reconsider this. Is there a reason ROS2 needs to have two GUI widget plugin systems?

I consider RViz as the more useful GUI to visualize a robot’s state and control it, and I think that ROS2 should establish RViz plugins as the default way to compose GUIs. I do not see the advantage of having two plugin systems for widgets. In some cases (e.g. image view), it even creates multiple versions of the same visualization functionality.

The only remaining issue I see with RViz is that the 3D view in RViz is not dockable at the moment, i.e. it is always visible and cannot be removed. I think developer time is better spent by making the 3D view dockable and porting Rqt widgets directly to RViz(2).

2 Likes