ROS Subscriber Multiple Delay Delay

I get a delay when multiple nodes subscribe to the same video topic.

I use an approximate time synchronizer to collect several images from different cameras and then publish immediately. Although the time between cameras may be a problem, it is not here, there is no delay when I only have a node subscription.

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)

As my project is structured, I need to have several nodes to get the latest image file.

Any suggestions on how to do this without delay? Now about 500 ms.

I noticed that others suggest increasing the size of the queue buffer using the buff_size parameter in the rospy.Subscriber class , but for the ApproximateTimeSynchronizer parameter

+6
source share
2 answers

I do not use ROS much, but here is my trick.

Can you indicate which camera you are using? Could there be some kind of malfunction in the camera driver? Is it possible that you have one subscriber who interacts / caches / manages the image feed from the device than other nodes that need a real image channel to subscribe to this node? Essentially a Pub / Sub broadcaster.

, , - IoT. . , / , , Wowza Media- . .

+1

, . , . , , , .

+1

All Articles