A simple way to create GUIs for your ROS 2 project

Hey y’all,

I hope you are doing well. I have been working on creating a simple GUI using Qt and interfacing with ROS 2. I’m not a GUI designer by any means, so I used the Qt Designer application for a more “drag-and-drop” experience. Something that I’m really happy about here is the separation of the ROS 2 part and the UI part, allowing you to edit and add more complex functionality without having to figure out what goes where (most of the time).

For now, I have a simple demonstration of how to work with ROS 2 topics and services, and I’ve used Buttons and Labels, something that I think would be the most useful for anyone who wants a quick GUI application to control their ROS 2 project.

Here's a demo of the GUI

I’ve struggled a bit to showcase the position of the robot in the world - creating a custom widget and then exposing the functionality to update the robot’s pose on the map. It’s not something super cool, but it works for now. As I get more free time, I’ll dive into seeing what improvements can be made.

You’ll find the project here. I’d love it if you’d go and check out the project.

If you’d like to contribute, feel free to create a PR. If you’d like to see a new feature, feel free to create an issue. I’m trying to gauge a bit more on what features would be necessary/interesting.

Cheers,

Sampreet