# 5.3 rqt
## 5.3.1 简介
rqt是一个基于qt开发的可视化工具,拥有扩展性好、灵活易用、跨平台等特点,主要作用和RViz一致都是可视化,但是和RViz相比,rqt要高级一个层次,。
## 5.3.2 命令
* rqt_graph :显示通信架构
* rqt_plot :绘制曲线
* rqt_console :查看日志
### rqt_graph
rqt_graph是来显示通信架构,也就是我们上一章所讲的内容节点、主题等等,当前有哪些Node和topic在运行,消息的流向是怎样,都能通过这个语句显示出来。此命令由于能显示系统的全貌,所以非常的常用。
### rqt_plot
rqt_plot将一些参数,尤其是动态参数以曲线的形式绘制出来。当我们在开发时查看机器人的原始数据,我们就能利用rqt_plot将这些原始数据用曲线绘制出来,非常的直观,利于我们分析数据。
### rqt_console
rqt_console里存在一些过滤器,我们可以利用它方便的查到我们需要的日志。
## 5.3.3 实例测试
1. 首先打开我们教材的模拟场景,输入`roslaunch robot_sim_demo robot_spawn_launch`
2. 输入命令语句`rqt_graph`,显示出了当前环境下运行的Node和topic,十分直观的看到通信结构以及消息流向。注意在椭圆形的代表节点,矩形代表topic。
3. 输入命令语句`rqt_plot`,显示出曲线坐标窗口,在上方输入框里添加或者删除topic,比如我们查看速度,可以在框里设置好topic后,移动机器人,就可以看到自动绘制的线速度或者角速度曲线。
4. 输入命令语句`rqt_console`,显示日志的输出,配合`rqt_logger_level`查看日志的级别。
## 5.3.4 小结
rqt_graph这个功能是强大的,它使得我们初学者可以直观的看到ROS的通信架构和信息流,方便我们理解的同时,也使得我们能够最快的纠错等等。rqt_plot绘制数据曲线图,也是极大的帮助我们了解数据的变化态势,理解数据流的作用,用曲线来显示我们的操作,精确直观。rqt_console配合rqt_logger_level,查看日志,对于查找错误和DeBug都有很大帮助。
- 前言
- 第一章 ROS简介
- 机器人时代的到来
- ROS发展历程
- 什么是ROS
- 安装ROS
- 安装ROS-Academy-for-Beginners教学包
- 二进制与源码包
- 安装RoboWare Studio
- 单元测试一
- 第二章 ROS文件系统
- Catkin编译系统
- Catkin工作空间
- Package软件包
- CMakeLists.txt
- package.xml
- Metapacakge软件元包
- 其他常见文件类型
- 单元测试二
- 第三章 ROS通信架构(一)
- Node & Master
- Launch文件
- Topic
- Msg
- 常见msg类型
- 单元测试三
- 第四章 ROS通信架构(二)
- Service
- Srv
- Parameter server
- Action
- 常见srv类型
- 常见action类型
- 单元测试四
- 第五章 常用工具
- Gazebo
- RViz
- Rqt
- Rosbag
- Rosbridge
- moveit!
- 单元测试五
- 第六章 roscpp
- Client Library与roscpp
- 节点初始、关闭与NodeHandle
- Topic in roscpp
- Service in roscpp
- Param in roscpp
- 时钟
- 日志与异常
- 第七章 rospy
- Rospy与主要接口
- Topic in rospy
- Service in rospy
- Param与Time
- 第八章 TF与URDF
- 认识TF
- TF消息
- tf in c++
- tf in python
- 统一机器人描述格式
- 附录:TF数学基础
- 三维空间刚体运动---旋转矩阵
- 三维空间刚体运动---欧拉角
- 三维空间刚体运动---四元数
- 第九章 SLAM
- 地图
- Gmapping
- Karto
- Hector
- 第十章 Navigation
- Navigation Stack
- move_base
- costmap
- Map_server & Amcl
- 附录:Navigation工具包说明
- amcl
- local_base_planner
- carrot_planner
- clear_costmap_recovery
- costmap_2d
- dwa_local_planner
- fake_localization
- global_planner
- map_server
- move_base_msg
- move_base
- move_slow_and_clear
- navfn
- nav_core
- robot_pose_ekf
- rotate_recovery