ROS工具篇---rqt
文章目录1. rqt_grap1. rqt_graprqt_graph用动态的图显示了系统中正在发生的事情。rqt_graph是rqt程序包中的一部分。$ rosrun rqt_graph rqt_graph你
文章目录
参考链接
一、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 编写插件。
在 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_node
和turtle_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的话题来相互通信。
更多推荐
所有评论(0)