首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么消息的时间戳晚于rosbag时间?

为什么消息的时间戳晚于rosbag时间?
EN

Stack Overflow用户
提问于 2017-01-12 10:08:57
回答 2查看 3.1K关注 0票数 1

我正在用rosbag replay调试我的代码。在我的代码中,我做了这样的tf转换:

代码语言:javascript
复制
tf.transformPose(target_frame, input_pose, output_pose);

有时,会抛出异常,其内容为:

代码语言:javascript
复制
"Lookup would require extrapolation into the future.  
Requested time 1484037737.206813097 
but the latest data is at time 1484037724.492085834, 
when looking up transform from frame [odom] to frame [map]"

我检查了调试器,发现消息input_pose的时间戳晚于rosbag时间:

代码语言:javascript
复制
p input_pose.stamp_ 
$1  sec = 1484037737, nsec = 206813097
p ros::Time::now()
$2  sec = 1484037724, nsec = 918256570

此外,rosbag play控制台显示:

代码语言:javascript
复制
 [PAUSED]   Bag Time: 1484037724.967132

我用来运行rosbag的命令是

代码语言:javascript
复制
rosbag play --clock --pause bagfile.bag

并且参数use_sim_time已经设置为true:

代码语言:javascript
复制
$rosparam get use_sim_time
true

有人能帮我解决这个问题吗?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-01-12 10:30:40

看起来你有一些tf源代码以较低的速度发布。您可以查看tf_monitorview_frames对其进行调试。

另外,在执行transformPose之前(通过使用waitForTransform()),您是否在等待转换准备就绪?

票数 1
EN

Stack Overflow用户

发布于 2017-01-13 18:00:02

结果是我重新启动了rosbag play,但是调试过程并没有重新启动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41603994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档