【发布时间】:2018-07-24 13:55:36
【问题描述】:
当有多个节点订阅同一个视频主题时,我遇到了延迟。
我正在使用近似时间同步器,从不同的相机收集多张图像,然后立即发布。虽然相机之间的时间可能是一个问题,但它不在这里,当我只有一个节点订阅时没有延迟。
camtop_sub = message_filters.Subscriber('cam1/usb_cam1/image_raw', Image)
camfront_sub = message_filters.Subscriber('cam2/usb_cam1/image_raw', Image)
ts_log = message_filters.ApproximateTimeSynchronizer([cam1_sub, cam2_sub], 10, 1)
ts_log.registerCallback(self.log_callback)
根据我的项目的结构方式,我需要能够让多个节点检索最新的图像文件。
关于如何毫不拖延地完成此任务的任何建议?现在大约是 500 毫秒。
我注意到其他人建议通过 rospy.Subscriber 类中的 buff_size 参数增加队列的缓冲区大小,但是 ApproximateTimeSynchronizer
【问题讨论】:
-
如果您认为增加 buff_size 参数会起作用,您可以在 message_filters.Subscriber 中将其作为 kwarg 传递。
-
@MisaelAlarcon 我试过了,但没有运气:(