Documentation Status

Cannot load information on name: rqt, distro: electric, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.
rqt: rqt_gui | rqt_gui_cpp | rqt_gui_py

Package Summary

rqt is a Qt-based framework for GUI development for ROS. It consists of three parts/metapackages

  • rqt (you're here)
  • rqt_common_plugins - ROS backend tools suite that can be used on/off of robot runtime.
  • rqt_robot_plugins - Tools for interacting with robots during their runtime.
rqt metapackage provides a widget rqt_gui that enables multiple `rqt` widgets to be docked in a single window.

Cannot load information on name: rqt, distro: hydro, which means that it is not yet in our index. Please see this page for information on how to submit your repository to our index.

New in Groovy (also builds against fuerte)

alt Screen shot of ROS GUI

Introduction

rqt is a software framework of ROS that implements the various GUI tools in the form of plugins. One can run all the existing GUI tools as dockable windows within rqt -- even rviz! The tools can still run in a traditional standalone method, but rqt makes it easier to manage all the various windows on the screen at one moment.

Users can create their own plugins for rqt with either Python or C++. Over 20 plugins (as of Feb 2013) have already been created and more are slated for development.

rqt supercedes the former GUI tools of ROS rxtools, which now is deprecated since ROS groovy.

rqt components structure

rqt consists of three (+1) metapackages:

  • rqt - core modules. rqt plugin developers barely needs to pay attention.

  • rqt_common_plugins - ROS backend tools suite that can be used on/off robot runtime.

  • rqt_robot_plugins - Tools for interacting robots during their runtime.

    • rqt_pr2_dashboard - Robot specific (PR2). Temporarily excluded from other metapackages due to building issue

Required environment

  • Supported Qt version: (To be specified. As of March 2013, all rqt pkgs are tested with Qt 4.8)

  • (To be clarified) Tested OS and its version, and Window System:
    • Ubuntu: See REP-3 for the supported OS.

    • Mac OSX: Being tested.

Advantage of rqt framework

Compared to building your own GUIs from scratch...

  • Standardized common procedures for GUI (start-shutdown hook, restore previous states).
  • Dockable multiple widgets in a single window (no need to open multiple windows)
  • Easily turn your existing Qt widgets into rqt plugin.

  • Expect good support at answers.ros.org (ROS community website for the questions) since rqt developers are active!

From system architecture's perspective,

  • Support multi-platform (basically wherever Qt and ROS run) and multi-language (Python, C++)

  • Manageable lifecycle: rqt plugins using common API makes maintainance & reuse easier

See also

Instructions

Installation

  1. Installing rqt (Groovy or higher)

    Shows how to install the rqt related packages for groovy or higher distro.

  2. Installing rqt (Fuerte)

    Shows how to install the rqt package for fuerte.

  3. Install rqt on Mac OSX

User Documentation

  1. User Guide

  2. Available Plugins

Tutorials

  1. Create your rqt plugin package

    Entry point for creating your rqt plugin either in python or C++.

  2. Writing a Python Plugin

    Shows how to write a plugin for rqt in Python.

  3. Writing a C++ Plugin

    Shows how to write a plugin for rqt in C++.

  4. Using .ui file in rqt plugin

    In this tutorial python is used for now. C++ tutorial is pending.

  5. Create rqt plugin using an existing Qt based tool

  6. To show error or exception message to users

    Shows error/warning msgs or progress bar on GUI by using a component in rqt_py_common pkg

Assistance & Contribution

Community

Enhancement, issue report

  • For new tool idea, open a ticket at rqt's general bugtracker and describe the usecase.

    • Opening up a conversation in ros-users mailinglist might be a good idea too, but should better be saved for the discussion about the tools with larger size (it's up to you what "larger" means).

  • For enhancement request / issue report, open a ticket at the corresponding bugtrackers.

Design

Official decision process

Wiki: rqt (last edited 2013-04-23 20:33:52 by spaepcke)