Time jumper for gazebo with rosbag
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import rospy
from tf2_msgs.msg import TFMessage
from jsk_recognition_msgs.msg import BoundingBoxArray
import message_filters
def cb_1(msg):
global first_stamp, now
for i, tf in enumerate(msg.transforms):
if first_stamp is None:
first_stamp = tf.header.stamp
tf.header.stamp -= first_stamp
tf.header.stamp += now
pub_1.publish(msg)
def cb_2(msg):
global first_stamp, now
if first_stamp is None:
first_stamp = msg.header.stamp
msg.header.stamp -= first_stamp
msg.header.stamp += now
for i, box in enumerate(msg.boxes):
box.header.stamp -= first_stamp
box.header.stamp += now
pub_2.publish(msg)
rospy.init_node('hoge')
first_stamp = None
rospy.sleep(1)
now = rospy.Time.now()
pub_1 = rospy.Publisher('/tf', TFMessage, queue_size=1)
pub_2 = rospy.Publisher('/in_bin_atof/bin_clipper/output/box_array', BoundingBoxArray, queue_size=1)
sub_1 = rospy.Subscriber('/tf_old', TFMessage, cb_1)
sub_2 = rospy.Subscriber('/in_bin_atof/bin_clipper/output/box_array_old', BoundingBoxArray, cb_2)
rospy.spin()