Go to the documentation of this file.00001
00002 import rospy
00003
00004 PKG='jsk_pcl_ros'
00005
00006 import imp
00007
00008 try:
00009 imp.find_module(PKG)
00010 except:
00011 import roslib;roslib.load_manifest(PKG)
00012
00013 from sensor_msgs.msg import PointCloud2
00014 from jsk_recognition_msgs.msg import PolygonArray, ModelCoefficientsArray
00015
00016
00017 def input_polygons_cb(msg):
00018 global remain_polygon_msg
00019 remain_polygon_msg = msg
00020 def input_coefficients_cb(msg):
00021 global remain_coefficients_msg
00022 remain_coefficients_msg = msg
00023 def timer_cb(msg):
00024 global remain_polygon_msg, remain_coefficients_msg
00025 if remain_polygon_msg and remain_coefficients_msg:
00026 remain_polygon_msg.header.stamp = msg.header.stamp
00027 remain_polygon_msg.header.seq = msg.header.seq
00028 remain_coefficients_msg.header.stamp = msg.header.stamp
00029 remain_coefficients_msg.header.seq = msg.header.seq
00030 polygons_pub.publish(remain_polygon_msg)
00031 coefficients_pub.publish(remain_coefficients_msg)
00032 remain_polygon_msg = False
00033 remain_coefficients_msg = False
00034
00035 if __name__ == "__main__":
00036 rospy.init_node('time_ensync', anonymous=True)
00037 polygons_pub = rospy.Publisher('ensynced_planes', PolygonArray)
00038 coefficients_pub = rospy.Publisher('ensynced_planes_coefficients', ModelCoefficientsArray)
00039 rospy.Subscriber("timer", PointCloud2, timer_cb)
00040 rospy.Subscriber("planes", PolygonArray, input_polygons_cb)
00041 rospy.Subscriber("planes_coefficients", ModelCoefficientsArray, input_coefficients_cb)
00042 remain_polygon_msg = False
00043 remain_coefficients_msg = False
00044 rospy.spin()