我有一些 rosbags 发生了一些非常奇怪的事情。这些 rosbags 包含sensor_msgs/Image
其他主题中的类型消息。
所以我这样做:
第一种情况
我在一个终端上运行rostopic echo /the_image/header
,因为我对实际数据不感兴趣,只对标题信息感兴趣。在另一个终端我运行rosbag play --clock the_bag.bag
有了这个我得到
seq: 7814
stamp:
secs: 1625151029
nsecs: 882629359
frame_id: ''
---
seq: 7815
stamp:
secs: 1625151029
nsecs: 934761166
frame_id: ''
---
seq: 7816
stamp:
secs: 1625151029
nsecs: 986241550
frame_id: ''
---
seq: 7817
stamp:
secs: 1625151030
nsecs: 82884301
frame_id: ''
---
第二个场景
我和前面的场景做同样的事情,但是我运行的是 rosbag play 而不是运行rqt_bag the_bag.bag
,在那里我右键单击消息以发布它们。这样我得到了类似的值,但是(我之前已经报告过这个问题)第一条消息被跳过了。(这不是这个问题的问题)
第三个场景
奇怪的部分来了。我没有像上面那样做,而是有一个 python 脚本
timestamps=[]
for topic, msg, t in rosbag.Bag("the_bag.bag").read_messages():
if topic == '/the_image':
timestamps.append((image_idx, t))
with open("timestamps.txt",'w') as f:
for idx, t in timestamps:
f.write('{0},{1},{2}\n'.format(str(idx).zfill(8), t.secs, t.nsecs))
如您所见,我打开包并获取时间戳列表并将其记录在文本文件中。这使:
00000000,1625151029,987577614
00000001,1625151030,33818541
00000002,1625151030,88932237
00000003,1625151030,170311084
00000004,1625151030,232427083
00000005,1625151030,279726253
00000006,1625151030,363255375
00000007,1625151030,463079346
00000008,1625151030,501315763
00000009,1625151030,566104245
00000010,1625151030,586694806
如您所见,价值观完全不同!!!
这里会发生什么?