<> <> <> (also builds against fuerte) {{attachment:ros_gui.png|alt Screen shot of ROS GUI|width="700"}} == 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! 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. You can run any `rqt` tools/plugins easily by: {{{ $ rqt }}} {{{{#!wiki version fuerte On '''Fuerte''' you have to use `rosrun` to run `rqt`: {{{ $ rosrun rqt_gui rqt_gui }}} }}}} that shows a GUI where you can choose any available plugins on your system. Users can create their own plugins for rqt with either `Python` or `C++`. [[rqt/Plugins|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: * As of March 2013 and until ROS Jade all `rqt` pkgs are tested with `Qt 4.8`. * In ROS Kinetic the minimum Qt version was updated to `Qt 5.3` * (To be clarified) Tested OS and its version, and Window System: * Ubuntu: See [[http://ros.org/reps/rep-0003.html#groovy-galapagos-oct-2012|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 [[http://answers.ros.org|answers.ros.org]] (ROS community website for the questions) since `rqt` developers are active! From system architecture's perspective, * Support multi-platform (basically wherever [[http://qt-project.org/|Qt]] and ROS run) and multi-language (`Python`, `C++`) * Manageable lifecycle: rqt plugins using common API makes maintainance & reuse easier See also * Brief overview of `rqt` (from [[http://web.archive.org/web/20130518142837/http://www.willowgarage.com/blog/2012/10/21/ros-gui|an intern completion blog post]]) . <> == Instructions == === Installation === <> === User Documentation === 1. [[rqt/UserGuide|User Guide]] 1. [[rqt/Plugins|Available Plugins]] === Tutorials === <> == Assistance & Contribution == === Community === * [[http://groups.google.com/group/ros-sig-rqt|rqt SIG e-mailing list]] (superseding old [[https://code.ros.org/mailman/listinfo/ros-sig-gui|rqt (aka ROS GUI) list]]) * [[http://answers.ros.org/questions/scope:all/sort:activity-desc/tags:rqt/page:1/|Questioin-Answer threads]] (this link only navigates to `rqt` tag. There could be many `rqt_**` tags). === Enhancement, issue report === * For new tool idea, open a ticket at `rqt`'s [[https://github.com/ros-visualization/rqt/issues|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. * [[https://github.com/ros-visualization/rqt/issues|rqt framework]] * [[https://github.com/ros-visualization/rqt_common_plugins/issues|pkgs under rqt_common_plugins]] * [[https://github.com/ros-visualization/rqt_robot_plugins/issues|pkgs under rqt_robot_plugins]] == Design & development == === Official decision process === * [[http://www.ros.org/wiki/rqt/Reviews/2012-06-20_API_Review|API review (Jun 2012)]] * [[http://www.ros.org/wiki/fuerte/Planning/ROS%20GUI/2011-09-28|Concept development (Sep 2011)]] (by 4 D's) === Links to discussions === * [[http://answers.ros.org/question/50429/in-what-ways-has-wxwidgets-failed-to-maintain-good-cross-platform-compatibility/|Comparison with wxWidgets (Dec 2012)]] * [[https://code.ros.org/gf/project/ros/mailman/?action=ListThreads&mailman_id=8&_forum_action=ForumMessageBrowse&thread_id=44126|(Probably) the very first public discussion among community (Oct 2010)]] === Github policy for rqt plugins === There's a policy for the development repositories of [[rqt_common_plugins]] and [[rqt_robot_plugins]] ([[https://github.com/ros-visualization/rqt_common_plugins/issues/126|Related discussion]]): * Development happens on the branch `groovy-devel`. We use that as `master` branch. * Releases are made from that branch into Groovy and Hydro at the same time with the same version. * As soon as new Hydro-only features are upcoming a new branch hydro-devel will be created which than has to level the minor version for future releases ## AUTOGENERATED DON'T DELETE ## CategoryStack