0
点赞
收藏
分享

微信扫一扫

解决lego-loam运行bag包时无数据的问题

岛上码农 2022-01-12 阅读 89

问题:

下载编译lego-loam代码。运行run.launch后,再播放自己的bag包,发现无输出数据

原因:

录制bag包时的topic时间与系统时间(如tf)有差别,播放时,系统找不到对应时间的topic,缓冲队列一满,就默认把topic全都丢弃了,导致了lego-loam无输入topic,也就无输出数据。

解决办法:

改将run.launch文件中的/use_sim_time为true,这代表指定让程序使用模拟时间,而不是实际的 wall-clock time。

<param name="/use_sim_time" value="true" />

运行lego-loam:

roslaunch lego_loam run.launch

再在播放bag包时加上--clock,发布bag中的模拟时间(这样程序的系统时间就与bag中的topic时间一样了),并播放对应的两个话题:

rosbag play lego_loam.bag --clock --topics /velodyne_points /imu_data

实时建图时将run.launch文件中的/use_sim_time改为false即可:

<param name="/use_sim_time" value="false" />
举报

相关推荐

0 条评论