背景

之前刚学ros没有太关注过ros的日志消息,感觉ROS_INFO ROS_INFO_STREAM等和printf cout没什么大的区别,还打印一大串时间戳,没什么用,也没有深究,真是年少无知啊!后来随着调试项目的复杂,发现调试中间输出好多信息,到了部署的时候没什么用处,还得注释掉,很麻烦,后来就用了glog.在ros相关的项目中,为了保持格式的一致,又关注了一下ros自身的消息打印,发现还是很好用的,下面简单分享一下比较常用的经验,还有好多没用到的慢慢探索.

参考:可以先看一下这个博客 【ROS】学习之日志(log)消息_Amelie_xiao的博客-CSDN博客_rosout参考:https://www.cnblogs.com/flyingjun/p/8831455.htmlhttp://t.zoukankan.com/lijianming180-p-12014217.htmlROS日志(log)系统:通过显示进程的运行状态是好的习惯,但需要确定这样做不会影响到软件的运行效率和输出的清晰度。ROS 日志 (log) 系统的功能是让程序生成一些日志消息,显示在屏幕上、发送到特定 topic 或者储存在特定 log 文件中,以方便调试、记录、报警等。下面简单介.https://blog.csdn.net/lemonxiaoxiao/article/details/122101380

我简单写一下自己的测试过程吧

python 脚本如下:

import rospyif __name__ == '__main__':rospy.init_node("test_node")rate = rospy.Rate(5)while not rospy.is_shutdown():rospy.loginfo("Hello world!")rospy.logwarn("Hello warning!")rospy.logerr("hello error")rospy.logdebug("hello debug")rospy.logfatal("hello fatal")rate.sleep()

默认输出等级为INFO, 不输出debug信息,可以打开rqt_logger_level配置输出等级, 选择节点test_node, logger: rosout, levels改为Debug

输出结果如下:

解释一下输出信息:第一个为系统时间戳,第二个为消息的输出的时候时钟源的时间,当ros系统设置了use_sim_time true的时候,这个为播放的bag包的时间,没有bag数据包播放时会卡住,可参考博客: ros::Rate 设定的帧率循环进入一次就卡住_龙性的腾飞的博客-CSDN博客问题:ros::Rate 设定的循环进入一次就卡住解决方案:ros环境使用的仿真时间,时钟源(录的数据包)停止了,设置使用系统时间或者重新播放bag数据包,仿真时间更新即可.或者,中断rosore重新启动.参考:ROS时钟仿真的初探_qq_278667286的博客-CSDN博客ros时钟仿真的初探如果设置了ros时钟仿真参数,发布一个时间的clock话题,就可以控制ros系统的时间。但是当发布clock话题的节点没有运行,会出现什么反应?我得出的答案是当其他所有节点线程遇到延时,执行rospy.slhttps://blog.csdn.net/qq_30460905/article/details/123697863?spm=1001.2014.3001.5501

当然你都无法直接分辨是哪天,这都是从1970-01-01 00:00:00 UTC开始算起的时间,单位为秒.国内北京时间UTC+8.0所以时间戳是从1970-01-01 08:00:00开始.

要想看懂时间戳,下面就轮到rqt_console登场了,如下图stamp显示的就是转换过后的时间戳:

第一行从左到右如图,很清晰,最后一列Location可以定位到来自于哪个文件多少行,双击每条消息任意位置可以查看消息的所有详细信息.

第二行是配置过滤哪些消息,可根据等级,消息内容,时间范围,节点以及话题来滤除.

第三行是配置高亮哪些消息,可根据等级,消息内容,时间范围,节点以及话题来设置.

对于大型项目日志查看和分析很有用了.

赶快用起来吧!

关于ROS日志ROS_INFO需要知道的一些东西相关推荐

  1. ROS日志系统部分设置

    ROS日志系统部分设置 ROS日志设置 环境变量 ROS_LOG_DIR 环境变量 ROS_HOME 环境变量 ROSCONSOLE_FORMAT环境变量 ROSCONSOLE_CONFIG_FILE ...

  2. ROS小工具学习与使用

    ROS小工具学习与使用 rqt的使用 rqt_bag工具 rqt_bag <your bagfile> #使用rqt_bag查看你的rosbag 例如:可以查看第一帧GPS的rawdata ...

  3. ROS学习之日志消息

    ROS学习之日志消息 ROS日志系统的核心思想,就是使程序生成一些简短的文本字符流,这些字符流便是日志消息. 0.1严重级别 ROS中,日志消息分为五个不同的严重级别,也可简称为严重性或者级别.按照严 ...

  4. 使用Visual Studio Code 运行ROS

    Visual Studio Code 运行ROS 学习目标: 操作步骤: Visual Studio Code下载 Visual Studio Code安装与卸载 安装 方式1:双击安装即可(或右击选 ...

  5. ROS系统 创建工作空间与功能包

    ROS 学习目标: 学习内容: 使用环境 操作步骤: 基本命令 二.使用步骤 创建工作空间 编译工作空间 创建功能包 使用C++执行程序 编写源文件 编辑功能包下的 Cmakelist.txt文件 修 ...

  6. ros创建功能包和编译过程问题处理

    文章目录 1. 创建工作空间和功能包 2.新建cpp文件 3.修改CMakeLists.txt 4.编译问题 4.1 Could NOT find rospy (missing: rospy_DIR) ...

  7. 四.开发记录之ubuntu系统安装ROS和开发环境

    专栏系列文章如下: 一.开发记录之AHRS.惯导传感器SBG-Ellipse-N传感器配置和使用_goldqiu的博客-CSDN博客_sbg传感器数据格式 二.开发记录之派勤工控机远程使用和ubunt ...

  8. ROS学习笔记02、ROS使用C++、Python来实现HelloWorld

    文章目录 前言 一.创建工程文件目录 二.实现helloworld 2.1.创建ROS包 2.2.C++版的HelloWorld 2.3.Python版的HelloWorld 三. 借助launch文 ...

  9. Ros学习笔记(一)Ros中HelloWorld实现(C++/Python)

    例程实现流程 声明:整个学习是我跟着奥特学园进行的,不是原创,只是记录自己的学习过程 1.准备事项 1)先创建一个工作空间 2)再创建一个功能包 3)编辑源文件 4)编辑配置文件 5)编译并执行 C+ ...

最新文章

  1. opencv-python之机器视觉
  2. [源码学习]--UGUI
  3. java中的纸牌游戏_Java中的宾果纸牌游戏
  4. 云图说 | 华为云应用服务网格,让你的应用治理智能化、可视化
  5. 安装oracle需注意的地方
  6. dep指定版本 go_Go 包管理工具-dep
  7. Android BaseAdapter应用基础
  8. 2008引导修复 鼠标键盘用不了_这5个提高键盘鼠标生产力的工具,后悔没早点发现!...
  9. oracle数据库学习相关笔记-相关约束
  10. 有限差分法求解偏微分方程
  11. 多个jdk共存与切换
  12. Ubuntu 16.04下使用Wine安装Windows版的微信(不太完美)
  13. 电子商务网站设计中信息安全防御
  14. 合宙Air105 + GC032A摄像头驱动显示教程说明
  15. 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法
  16. VLC2.2.4命令参数
  17. 使用js的方式设置点击按钮发送短信倒计时并且防止刷新
  18. Java修炼 之 基础篇(二)Java语言构成
  19. OUC暑期培训(深度学习)——第四周学习记录:MobileNetV1,V2,V3
  20. 感悟西游记——成气候的妖精都是领导家的

热门文章

  1. 网易云动态小视频下载方法
  2. 什么轴的机械键盘声音小
  3. ffmpeg录制桌面(自己用gdi抓图)
  4. 计算机系统安全之利用操作系统自带命令杀毒
  5. Manjaro通过deepin/Arch库安装Tim出现版本太低无法登录问题[解决]
  6. 平安京服务器维护无法发布新内容,《阴阳师》手游3月6日维护更新公告
  7. 【LittleVGL】Windows环境下利用CodeBlocks搭建LittleVGL的PC模拟器环境配置问题
  8. 基于Android的百度地图定位开发
  9. 2022年下半年软考推荐考哪个科目?
  10. 跟i9处理器差不多的服务器芯片,AMD下一代服务器处理器代号“星河舰队”