Generic UI plugin for rqt?

asked 2016-05-15 15:32:21 -0500

Márton Miklós gravatar image

Hello all,

I have opened this topci to do some brainstorming before start implementing a new plugin.

Problem: I often find manipulating/monitoring topics with the Topic monitor and the Message publisher plugin no so intuitive. For e.g. when adjusting something servo driven mechanical structure using a knob widget is more easy and straightforward than typing in a number to the Message publisher. Also visualizing a position of something sometimes more handful with a dial/slider. Building a separate plugin each time is a little bit problematic.

Proposal: I would like to create a plugin which would have a file browse input and an interval spinbox (ms). I think the Qt Designer is a pretty good tool to create user interfaces pretty quickly. The plugin would be able to load the designed ui files. The Qt has a QUiLoader class to acheieve this functionality:http://doc.qt.io/qt-4.8/quiloader.html In Qt designer it is possible to add further properties to the widgets. There would be two dedicated property names: the publish_topic and the subscribe_topic. The widget tree would be traversed by recursively iterating through the children() method and if one of these properties found the widget would be connected to ros through the proper signals/slots. The proper slots/signals are dependent on the widget class, so some QMetaObject magic will be required, but it can be implemented.

If you have any ideas recommendations please let me know!

Thanks in advance!

edit retag flag offensive close merge delete

Comments

For a UI widget like a slider you will need more semantic information like min and max values, stepping, etc. Since they are generically not available the common plugins can't provide these kind of interface. I will be curious you want to provide them will still being kind of generic.

Dirk Thomas gravatar image Dirk Thomas  ( 2016-05-16 15:38:46 -0500 )edit

Well you are right, generic might be not the best word to describe what I would like to create. Min, max, step values could be defined in the UI files with Qt Designer.

Márton Miklós gravatar image Márton Miklós  ( 2016-05-16 16:11:50 -0500 )edit