第 5 章 ROS常用组件-rqt(自学二刷笔记)

重要参考:

课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ

讲义链接:Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

5.3 rqt工具箱

之前,在 ROS 中使用了一些实用的工具,比如:ros_bag 用于录制与回放、tf2_tools 可以生成 TF 树 ..... 这些工具大大提高了开发的便利性,但是也存在一些问题:这些工具的启动和使用过程中涉及到一些命令操作,应用起来不够方便,在ROS中,提供了rqt工具箱,在调用工具时以图形化操作代替了命令操作,应用更便利,提高了操作效率,优化了用户体验。


概念

ROS基于 QT 框架,针对机器人开发提供了一系列可视化的工具,这些工具的集合就是rqt

作用

可以方便的实现 ROS 可视化调试,并且在同一窗口中打开多个部件,提高开发效率,优化用户体验。

组成

rqt 工具箱组成有三大部分

  • rqt——核心实现,开发人员无需关注

  • rqt_common_plugins——rqt 中常用的工具套件

  • rqt_robot_plugins——运行中和机器人交互的插件(比如:rviz)


另请参考:

 

5.3.1 rqt安装启动与基本使用

1.安装
  • 一般只要你安装的是desktop-full版本就会自带工具箱

  • 如果需要安装可以以如下方式安装

    $ sudo apt-get install ros-noetic-rqt
    $ sudo apt-get install ros-noetic-rqt-common-plugins
2.启动

rqt的启动方式有两种:

  • 方式1:rqt 

  • 方式2:rqt rosrun rqt_gui rqt_gui

3.基本使用

启动 rqt 之后,可以通过 plugins 添加所需的插件

 

5.3.2 rqt常用插件:rqt_graph

简介:可视化显示计算图

启动:可以在 rqt 的 plugins 中添加,或者使用rqt_graph启动

5.3.3 rqt常用插件:rqt_console

简介:rqt_console 是 ROS 中用于显示和过滤日志的图形化插件

准备:编写 Node 节点输出各个级别的日志信息

/*  
    ROS 节点:输出各种级别的日志信息

*/
#include "ros/ros.h"

int main(int argc, char *argv[])
{
    ros::init(argc,argv,"log_demo");
    ros::NodeHandle nh;

    ros::Rate r(0.3);
    while (ros::ok())
    {
        ROS_DEBUG("Debug message d");
        ROS_INFO("Info message oooooooooooooo");
        ROS_WARN("Warn message wwwww");
        ROS_ERROR("Erroe message EEEEEEEEEEEEEEEEEEEE");
        ROS_FATAL("Fatal message FFFFFFFFFFFFFFFFFFFFFFFFFFFFF");
        r.sleep();
    }


    return 0;
}

启动:

可以在 rqt 的 plugins 中添加,或者使用rqt_console启动

5.3.4 rqt常用插件:rqt_plot

简介:图形绘制插件,可以以 2D 绘图的方式绘制发布在 topic 上的数据

准备:启动 turtlesim 乌龟节点与键盘控制节点,通过 rqt_plot 获取乌龟位姿

启动:可以在 rqt 的 plugins 中添加,或者使用rqt_plot启动

 

5.3.5 rqt常用插件:rqt_bag

简介:录制和重放 bag 文件的图形化插件

准备:启动 turtlesim 乌龟节点与键盘控制节点

启动:可以在 rqt 的 plugins 中添加,或者使用rqt_bag启动

录制:

重放: