ROS 初级 - 如何使用 rqt_console 调试日志?
版权声明:本文为 DLonng 原创文章,可以随意转载,但必须在明确位置注明出处!
这篇文章主要介绍一个日志查看工具 rqt_console 和 roslaunch 命令的使用,在开始之前需要安装一个包:
sudo apt-get install ros-kinetic-rqt ros-kinetic-rqt-common-plugins ros-kinetic-turtlesim
把其中的 kinetic 替换为你自己的 ROS 版本,不过官方教程建议用 Kinetic 版本。
1、使用 rqt_console 调试日志
在 ROS 中当我们调试程序的时候经常会使用到日志 log,ROS 提供了 rqt_console 来输出一个节点的信息,我们还可以使用 rqt_logger_level 来改变日志的显示级别(由低到高):Debug,Warn,Info,Error,Fatal。
比如当我们设置日志等级为 Warn,那么 ROS 就会输出 Warn,Info,Error,Fatal 这 4 种类型的日志,其他的同理,我记得 Android 和 ROS 的日志管理貌似有点类似。
下面来看下如何使用日志系统,我们先分别在 2 个终端中启动 ROS 的日志程序和 logger_level:
# rosrun 命令用来运行一个包中的节点
rosrun <package> <executable>
rosrun rqt_console rqt_console
再开启新的终端「Ctrl + Alt + T」:
rosrun rqt_logger_level rqt_logger_level
接着我们就可以启动小乌龟节点,并查看节点输出的日志消息了,默认的日志等级是 Info:
# 开启新的终端运行节点
rosrun turtlesim turtlesim_node
查看 rqt_console 程序,可以看到小乌龟节点输出的 x,y 坐标信息:
我们来改变下输出的日志等级,左下角 Reflesh 一下,选择 Loggers 将 Info 改为 Warn:
为了让小乌龟节点产生 Warn 的警告输出,我们使用 rostopic 命令来向小乌龟节点发送指令,让小乌龟撞到墙壁上去:
rostopic pub /turtle1/cmd_vel geometry_msgs/Twist -r 1 -- '{linear: {x: 2.0, y: 0.0, z: 0.0}, angular: {x: 0.0,y: 0.0,z: 0.0}}'
这是可以看到 rqt_console 程序输出了 Warn 日志信息:
是不是很容易呢?那尝试改变其他的日志等级试试吧。
本文原创首发于微信公号「登龙」,分享机器学习、算法编程、Python、机器人技术等原创文章,扫码即可关注!
DLonng at 12/08/19