ROS 常用GUI测试工具

作为一个成熟的ros开发工程师,我们常常会需要用到GUI工具方便我们进行调试,为此rqt工具是我们日常使用时必不可少的工具。

rqt_plot

这个命令常常是我们需要长时间观察topic数据变化所需要用的。在我们需要观看某个topic的动态参数时候会非常有用。

rosrun rqt_plot rqt_plot   #画出发布在topic上的数据变化图

在这里插入图片描述

rqt_plot

这个命令常常是我们需要理清node到node之间关系时候用到的。当前有哪些Node和Topic在运行,消息的流向如何,都可以通过这个语句显示出来。由于这个命令可以显示系统的全貌,所以非常实用。

rosrun rqt_graph rqt_graph   #画出node关系图

在这里插入图片描述

rqt_console

这个命令常常是我们需要快速查询日志使用,我们可以清晰的看出日志的定位,方便调试。

rosrun rqt_console rqt_console #属于ROS日志框架(logging framework)的一部分,用来显示节点的输出信息

在这里插入图片描述

rqt_logger_level

这个命令常常用于调节节点运行时输出信息的日志等级(包括 DEBUG、WARN、INFO和ERROR),方便对日志进行管理。

rosrun rqt_logger_level rqt_logger_level #允许我们修改节点运行时输出信息的日志等级(logger levels)

在这里插入图片描述

rqt_tf_tree

这个命令常常是我们查询tf框架树经常用的,rqt_tf_tree提供了一个GUI插件,用于可视化ROS TF框架树。每一个节点都是一个tf的link,节点与节点相连接处申明了node信息

rosrun rqt_tf_tree rqt_tf_tree #实时监控坐标系收听关系的工具,点击refersh来刷新

在这里插入图片描述

rqt_image_view

这个命令常常是我们观察图片/视频信息所需要用到的命令,这是一个显示相机的图像数据的插件。这不是一个图像处理过程,它只是在简单地查看图像时非常有用。

rosrun image_view image_view image:=/camera#使用image_view在窗口中展示给定主题的图像,还可以通过图形界面上的按钮将图片保存到硬盘里
rosrun rqt_image_view rqt_image_view#使用rqt_image_view,还可以在一个窗口中查看多个图像

在这里插入图片描述

rqt_bag

这个命令常常是在我们录制rosbag后需要查看bag消息时候用到的GUI工具,ROS日志信息中的rosbag是基于文本的,但是rqt_bag对于图像数据类的消息管理是非常有用的,因为rqt_bag多了可视化功能,因此可以立即查看bag包录制的数值。

rosrun uvc_camera uvc_camera_node

rosbag record -a #记录所有的主题
rosbag record /image_raw #记录特定的主题 
rosbag info 消息记录文件.bag#看到创建的日期、 持续时间、文件大小, 以及内部消息的数量和文件的压缩格式(如果有压缩) 。 然后, 我们还会有文件内部数据类型的列表。 最后有主题的列表, 并它们对应的名称、 消息数量和类型。

rqt_bag <your bagfile> #实时显示相机的bag包

显示:
在这里插入图片描述

右击:
在这里插入图片描述

查看View(by topic)中的image:
在这里插入图片描述

查看View(by topic)中的plot:
在这里插入图片描述

PlotJuggler

这个命令是一个rqt_plot的进阶版。是一个基于Qt的应用程序,允许用户加载,搜索和绘图数据。许多ROS用户将使用MATLAB或rqt_plot实现,当要分析的数据相当大时,效果就不是很好了。PlotJuggler,提供了更加友好的用户界面。

rosrun plotjuggler plotjuggler#打开可视化界面创空,用于数据分析

在这里插入图片描述

rqt_topic

这个命令是一个ros用于查看topic发布频率的指令。显示主题调试信息, 包括发布者、 接收者、 发布速率和发布的消息。 可以查看消息字段并选择你想要订阅的主题以分析带宽和速率(Hz),以及查看最新发布的消息。 注意, 锁定的主题通常不会持续发布, 所以不会看到任何关于它们的信息。

rosrun rqt_topic rqt_topic#topic发布频率

在这里插入图片描述

rqt_reconfigure

这个命令可以选择任何左侧节点以对其进行重新配置,便于手动调节参数

rosrun rqt_reconfigure rqt_reconfigure#手动调节ros的topic参数
#您也可以通过rqt_gui启动reconfigure_gui:
rosrun rqt_gui rqt_gui

在这里插入图片描述

rqt_rviz

这个命令将rqt与rviz联系起来,加载配置文件,点击rqt_rviz的file菜单,open config 找到exampe_tf.rviz文件并打开。用键盘控制,可以发现坐标在移动,实现了使用rviz显示坐标变换。ROS中的rviz或者rqt_rviz工具,集成了能够完成3D数据处理的openGL界面,能够将摄像头、激光雷达或kinect传感器的数据在模型化世界中展示出来。

rosrun rqt_rviz rqt_rviz#rviz显示

在这里插入图片描述

rqt_publisher

这个命令实现了可视化界面发布消息。 在一个界面中管理rostopic pub命令的多个实例。

rosrun rqt_publisher rqt_publisher#用来手动发送rostopic信息

在这里插入图片描述

rqt_top

这个命令可以查看您的ROS环境实际消耗的资源。启动类似于进程表的rqt_top的图形化工具, 可以快速查看正在使用的所有节点和资源。

rosrun rqt_top rqt_top#ROS环境实际消耗的资源

在这里插入图片描述

roswtf

这个命令可以来检测给定功能包中所有组件的潜在问题。

roswtf

如下,使用该工具来帮助catkin诊断错误(这些错误通常在CMakeLists.txt和package.xml文件中)。

catkin_lint -W2 --pkg chapter3_tutorials

使用参数-W2,报告错误、警告和通知。使用参数-W0,仅报告错误。使用参数-W1,报告错误和警告(这是默认值)。使用该命令前,必须提前安装catkin_lint,安装方法如下:

sudo apt install python-catkin-lint

在这里插入图片描述

rqt_runtime_monitor

这个命令可以通过diagnostics主题直接发布可视化信息

rosrun rqt_runtime_monitor  rqt_runtime_monitor

当系统很大时,可以使用diagnostic_aggregator汇总诊断信息。 在diagnostics_agg里处理和归类diagnostics主题的消息并重新发布。 这些汇总诊断消息通过rqt_robot_monitor实现可视化。 诊断汇总器通过一个配置文件进行配置, 参看chapter3_tutorials中的config/diagnostic_aggregator.yaml文件, 并使用AnalyzerGroup定义不同的analyzers(分析器) :

rosrun rqt_robot_monitor  rqt_robot_monitor

在这里插入图片描述