参考链接

16.ROS常用工具:Rviz/rqt

《动手学ROS2》6.3RQT工具

一、rqt

1. 基本概念

rqt(ros qt的简称)是ROS的图形开发平台,是一个基于 Qt 的框架。它由三个部分/元包组成:

  • rqt(core)
  • rqt_common_plugins - 可以在机器人运行时开/关使用的 ROS 后端工具套件。
  • rqt_robot_plugins - 在机器人运行时与机器人交互的工具。

2. 功能介绍

rqt 是 ROS 的一个软件框架,以插件的形式实现了各种 GUI 工具。可以在 rqt 中将所有现有的 GUI 工具作为可停靠窗口运行!这些工具仍然可以以传统的独立方法运行,但 rqt 可以更轻松地同时管理屏幕上的所有各种窗口。

您可以通过以下方式轻松运行任何 rqt 工具/插件:

3. rqt常用的可视化工具

常用的有rqt_graph、rqt_plot、rqt_console

  • rqt_graph:显示通信架构
  • rqt_plot:绘制曲线
  • rqt_console:查看日志

4. 安装rqt

安装命令:

sudo apt-get install ros-indigo-rqt
sudo apt-get install ros-indigo-rqt-common-plugins

如果已经用下面的命令安装了ros桌面完整版本,比如我们安装了noetic桌面完整版本,在安装ros-indigo-rqt-common-plugins是表示已经安装了。

#安装ros,们这里安装桌面完整版本
sudo apt-get update
sudo apt install ros-noetic-desktop-full -y

4. 打开rqt

没有复杂的指令,一句命令行就可以调出rqt界面。

rqt

打开之后的窗口如下图,空空如也,不要担心,因为我们没有选插件的原因。
在这里插入图片描述
这里可以看到和话题、参数、服务、动作四大通信组件相关的工具都有,还有一些可视化、日志和系统计算图等相关的。我们可以选择现有的几个RQT插件来试一试,

它显示了一个 GUI,您可以在其中选择系统上的任何可用插件。这些插件包括任意的“计算图”的分量。用户可以使用 Python 或 C++ 为 rqt 创建自己的插件。

5. 开发自己的rqt插件

如何开发自己的rqt插件,可以参见wiki上的ros资料,如下:

创建你的 rqt 插件包
在 python 或 C++ 中创建 rqt 插件的入口点。

编写 C++插件
展示如何在 C++ 中为 rqt 编写插件。

编写 Python 插件
展示如何在 Python 中为 rqt 编写插件。

使用现有的基于 Qt 的工具创建 rqt 插件
没有说明

在 rqt 插件中使用 .ui 文件
在本教程中,暂时使用 python。 C++ 教程待定。

向用户显示错误或异常消息
通过使用 rqt_py_common pkg 中的组件在 GUI 上显示错误/警告消息或进度条

二、rqt_graph

1. rqt_grap插件

rqt_grap的插件名称叫Node Graph,如下图,
在这里插入图片描述

rqt_graph显示当前有哪些node,topic在运行,消息的流向。

2. 打开rqt_graph

下面以打开按键可以控制乌龟移动为例,rqt_graph展示节点之间的关系

在终端运营的命令如下:

#打开第1个终端输入
roscore
#打开第2个终端输入
rosrun turtlesim turtlesim_node
#打开第3个终端输入
rosrun turtlesim turtlesim_telop_key

这样就启动了master、turtlesim_nodeturtle_teLeop_key节点。在turtle_teLeop_key节点按方位键,然后打开rqt_graph

rosrun rqt_graph rqt_graph

在这里插入图片描述

3. rqt_graph计算图解读

在这里插入图片描述

把鼠标放在/turtle/cmd_vel上方,相应的ROS节点(蓝色和绿色)和话题(红色)就会高亮显示。其中turtle_teleop_key节点对应蓝色的/teleop_turtle,turtlesim_node节点对应绿色的/turtlesim,可以看到,这两个节点通过一个名为/turtle1/cmd_vel的话题来相互通信。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐