??RQT是ROS提供的一个图形化用户接口框架,它允许以插件的形式来实现各种图形工具和接口。
??RQT中能够以可停靠窗口的形式运行所有存在的GUI工具。使用时,可以通过命令“rqt”来运行RQT工具和插件。这个GUI允许用户载入并运行任何插件。此外,用户还可以以独立窗口的形式运行插件
RQT包含三个metapackages,分别是:
1) rqt:核心的基础结构模块
2) rqt_common_plugins:用于build的后端工具
3) rqt_robot_plugins:用于与机器人交互的工具
相比于自己从零构建GUI,有如下优点:
1) 具有标准化的公共的GUI例程(start-shutdown钩子,保持之前状态等);
2) 多个widgets可以停靠在单一的窗口中;
3) 可以很容易将已有的Qt widgets变为RQt插件;
4) 可从ROS Answers得到支撑。
从系统构架的观点:
1) 支撑跨平台和多编程语言(Python, C++);
2) 可管理生命周期,RQT插件使用公共的API,使得其易维护和重用。
注意:ROS 安装成功后,自带 RQT 工具,无需重新安装。
打开终端,输入命令“rosrun rqt_”,按下“Tab”键即可展开以下指令:
rqt_image_view 用来显示回传图像。
这里给大家介绍以下几个工具:
下面就简单列举一些十分有用的插件功能:
插件 | 功能描述 |
---|---|
topics monitor | 可以监视当前的某一话题的传输数据、占用带宽和话题频率等信息,相当于原来的 rostopic echo msg_name。 |
message publisher | 可以自定义名称发布一个话题,并指定话题发布的消息类型、发布数据以及发布频率。 |
message type brower | 可以查看当前所有已定义的消息类型,包括自定义的 msg,功能与 rosmsg show msg_name 基本相同。 |
robot steering | 可以发布/cmd_vel 类型的消息,发布 Twist 话题消息,可以可视化地修改速度,转角变量,用于测试一些控制指令十分方便。 |
bag | 可以用于录制一个 bag 文件包,可以任意选择录制的话题。也可以打开一个 bag 文件包,里面可以很方便地控制 bag 包play 的播放或暂停,同时可以指定播放前一帧或下一帧。 |
bag插件如下表所示:
插件 | 功能描述 |
---|---|
node_graph | 查看当前节点运行的所有节点。 |
process monitor | 查看当前的所有节点,以及节点的 PID、占用 CPU 和占用内存。 |
launch | 可以方便地在可视化界面下选择 package 和 launch 文件, 以及运行或停止 launch 一个节点。 |
image view | 可以很方便地查看 ROS 话题中传递的图片消息,这点便于我们观察机器人当前看到的图像。 |
plot | 可以将某一话题的数据(全部数据或部分数据)进行绘图显示,这样可以更加直观地看到话题消息的变化,便于调试。 |
tf tree | 可以显示当前的 tf 树的结构。 |
rviz | rqt 里集成了 rviz 工具,可以很方便地从这里打开 rviz 工具。 |