解決rosbag時間戳未對齊的解決方法

2021-10-09 04:52:05 字數 1354 閱讀 4223

reference:

ros.org: rosbag/cookbook :

#!/usr/bin/env python3

import rospy

import rosbag

import sys

if sys.getdefaultencoding()!=

'utf-8'

:reload

(sys)

sys.setdefaultencoding(

'utf-8'

)bag_name =

'2020-08-12-12-48-42.bag'

#被修改的bag名

out_bag_name =

'out_2020-08-12-12-48-42.bag'

#修改後的bag名

dst_dir =

'/home/yinji/sda/bag_2020/'

#使用路徑

with rosbag.bag(dst_dir+out_bag_name,

'w')

as outbag:

stamp =

none

#topic:就是發布的topic msg:該topic在當前時間點下的message t:訊息記錄時間(非header)

##read_messages內可以指定的某個topic

for topic, msg, t in rosbag.bag(dst_dir+bag_name)

.read_messages():

if topic ==

'/gps'

: stamp = msg.header.stamp

#針對沒有header的檔案,使用上面幀數最高的topic(即:/gps)的時間戳

##因為read_messages是逐時間讀取,所以該方法可以使用

elif topic ==

'/image_stamp'

and stamp is

notnone

: outbag.write(topic, msg, stamp)

continue

#針對格式為header的topic

elif topic ==

'/image_time'

: outbag.write(topic, msg, msg.stamp)

continue

#針對一般topic

outbag.write(topic, msg, msg.header.stamp)

print

("finished"

)

解決時間戳轉Date型別時間的方法

在介面開發中遇到返回的時間格式為時間戳型別,可資料庫要求為date型別找了一些工具類在這裡總結一下。如下親測有效 第一步 建立工具類myutil把方法放到類中,如下方法可得到日期格式字串 public class myutil if format null format.isempty datefo...

獲取時間戳,幾個時間點的時間戳

最近的上上上乙個週日24點時間戳 threeweekago strtotime date y m d time 2 week date w time day 1 day 最近的上上乙個週日24點時間戳 twoweekago strtotime date y m d time 1 week date ...

何為時間戳?時間戳的由來

在網上收集到的,存好先。時間戳就是從1970年1月1日0時0分0秒到當前時間點的所有秒數。比如oracle的時間顯示,unix和linux系統的時間運算等,那為什麼選擇1970,而不選擇1900呢。接下來讓我們闡述它的由來。1.當32位計算機剛剛開始興起的時候,所謂的整數型intger型資料能表示的...