ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

New Software Release - RQT Wrapper

Dear ROS community,


RQT Wrapper keeps your rqt plugins alive even when the ros master on the other side is going up and down. It does this by providing some python glue to wrap a reqular rqt plugin that monitors the ros master connection and respawns/collapses the rqt plugin as the ros master goes up/down.

This can be useful when developing to save from being exasperated when you find yourself starting/stopping/restarting rviz, robot_monitor, rqt_reconfigure for the umpteen millionth time. It does save a considerable amount of time/effort too.


It’s packaged for kinetic:

sudo apt install ros-kinetic-rqt-wrapper



Is there a plan to support setting ROS_MASTER_URI and ROS_HOSTNAME via the gui? Maybe in the ‘waiting dialog’?

It would be nice for those of us who deal with multiple robots.


In a similar vein there is this neat little script that Dave Hershberger wrote way back when for rviz:

Wasn’t a plan since we’d been using a different mechanism to first orient the entire shell (not just a program) to a robot. Used to do something similar with the qt-ros programs though…very like the script william posted.

Be a nice feature to have so started a ticket to look at it when I have a window.

I started on such a master selector, but decided against it. The better solution is as I mentioned above, is to have a tool like the master selector able to reconfigure your ROS shell environment for you (we did by configuring a ~/.bashrc.ros and pointed our ROS setup.bash scripts to post-load that. That way every program, launcher and ROS shell utility will work out of the box. It is very rare that you’ll be interacting with just one rqt program, so embedding the master selector in the rqt wrapper means repetitive selection for each and every rqt wrapped program and then you will probably want to reconfigure a ROS shell for command line tools anyway.

A master selector is good for a program that doesn’t require a ROS shell, e.g. vanilla qt ROS program or android app.

Note: RQT programs are typically ROS shell dependent since you need the PYTHONPATH and rospack discovery to find most of them.