踩坑rosbag --clock
上集
将rosbag的数据feed给lego-loam,输出地图。另外写了一个滤波节点,订阅地图,进行滤波操作,再发布出来。
由于输入给lego-loam的数据来自于rosbag,所以需要rosbag提供时间信息。
rosbag play --clock recorded1.bag
由于rosbag的数据发布频率比较快,导致了一个结果。rosbag播放完毕,时钟停止,滤波节点中缓存了几个数据还没有处理完毕。失去了时钟信息,滤波节点停止运行,但是没有输出报错信息!!!
个人心得:滤波节点有两个独立的线程,一个是callback函数线程,一个是main函数线程,进而导致print出来的信息排布混乱。没有花时间整理print出来的信息,也就没能及时发现main函数线程因为缺失了时间信息而停止运行。因此,但凡遇到莫名其妙的bug,即使没有报错信息,首要任务是结合print出来的信息整理代码的逻辑,快速缩小范围再逐步排查原因。
解决方案
1. 最佳
-k, --keep-alive
rosbag play -k --clock recorded1.bag
bag文件中的数据播放完毕以后,继续提供时间信息。
2. 次佳
-r FACTOR, --rate=FACTOR
rosbag play -r 0.1 --clock recorded1.bag
将发布频率降低为原来的10%,留给滤波节点足够的时间进行处理。
下集
首先启动 roscore ,这一步会启动ros的时钟,提供时钟信息。
接着启动lego-loam。
播放lego-loam的数据集, rosbag play --clock recorded1.bag 。这时候,启动了另一个时钟,导致roscore启动的时钟停止。所以,当rosbag播放完毕后,ros的时钟完全停止。这时候运行ros会报各种莫名其妙的错误。
解决方案
重新运行 roscore !
踩坑rosbag --clock的更多相关文章
- Spark踩坑记——Spark Streaming+Kafka
[TOC] 前言 在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark strea ...
- Spark踩坑记——数据库(Hbase+Mysql)
[TOC] 前言 在使用Spark Streaming的过程中对于计算产生结果的进行持久化时,我们往往需要操作数据库,去统计或者改变一些值.最近一个实时消费者处理任务,在使用spark streami ...
- 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~
这篇博客,只是把自己在开发中经常遇到的打包编译问题以及解决方案给大家稍微分享一下,不求吸睛,但求有用. 1.大家都知道我们常常会遇到dex超出方法数的问题,所以很多人都会采用android.suppo ...
- NPOI导出Excel (C#) 踩坑 之--The maximum column width for an individual cell is 255 charaters
/******************************************************************* * 版权所有: * 类 名 称:ExcelHelper * 作 ...
- 我的微信小程序入门踩坑之旅
前言 更好的阅读体验请:我的微信小程序入门踩坑之旅 小程序出来也有一段日子了,刚出来时也留意了一下.不过赶上生病,加上公司里也有别的事,主要是自己犯懒,就一直没做.这星期一,赶紧趁着这股热乎劲,也不是 ...
- router路由去掉#!的踩坑记
项目中在研究去掉router#!的过程中的踩坑过程.
- vue+ vue-router + webpack 踩坑之旅
说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案 老司机可以忽略下面的内容了 1)起因 考虑到数据分离的问题 因为server是express搭的 自然少 ...
- 记jQuery.fn.show的一次踩坑和问题排查
最近很少已经很少用jQuery,因为主攻移动端,常用Zepto,其实很多细节和jQuery并不一样.最近又无意中接触到了PC的需求和IE6, 使用了jQuery,刚好踩坑了,特意记录一下. 本文内容如 ...
- WebForm路由踩坑 ajax请求多次
WebForm路由踩坑 再次接触Asp.Net WebForm已是4年后的今天,源起新入职的公司,一个老的项目. Web接触的少,那就多动手写写. WebForm1.aspx <body> ...
随机推荐
- idea 控制到不能输出中文
解决办法:配置Tomcat的时候在VM options添加 -Dfile.encoding=UTF-8
- Springboot读取本地图片并显示
在application.yml中配置url访问路径和本地图片路径: 方框1:url中访问路径,这里为:localhost:8080/testspringboot/image/... 方框2:本地图片 ...
- 定时清理elasticsearch
索引这种格式 以下脚本加入crontab #每天清理es数据 0 1 * * * /data/sh/rm_esindex.sh >> /data/logs/crontab/rm_esind ...
- Good Time 冲刺 二
第二天 日期:2018.6.15 一.今日完成任务情况及遇到的问题 王怡镔: 今天学习了小程序框架和组件方面的知识,在微信开发工具中尝试进行小程序开发,学习视图层与逻辑层的框架与联系. 于鑫宇: 学习 ...
- 2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用
2018-2019-2 网络对抗技术 20165228 Exp5 MSF基础应用 exploit选取 主动攻击:ms17_010_eternalblue(唯一) 浏览器攻击:ms05_054_onlo ...
- 2018下C语言基础课第1次作业
准备工作(20分) 1.在博客园申请个人博客,以真实姓名和学号加入班级博客(1班班级博客链接地址)(2班班级博客链接地址) 2.关注邹欣老师博客.关注任课老师博客,关注助教老师 3.加入讨论小组,学习 ...
- 六、Django模型基础第一节
1 数据库的连接配置 django 连接mysql的配置流程: 安装 pymysql pip install pymysql 创建数据库用户 '; grant all on *.* to 'xiang ...
- 【EMV L2】终端风险管理(Terminal Risk Management)
终端风险管理使大额交易联机授权,并确保芯片交易能够周期性地进行联机以防止在脱机环境中也许无法察觉的风险. 虽然发卡行被强制要求在应用交互特征(AIP)中将终端风险管理位设置成1以触发终端风险管理,但终 ...
- Centos7.5系统 SSH升级到7.9
SSH7.9安装 #!/bin/bash#删除旧版ssh包 危险操作,不删除也可以安装,建议跳过此操作.#rpm -e `rpm -qa | grep openssh` #安装zlib依赖包wget ...
- Html中video的属性和方法大全
<video>标签的属性 src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览 ...