I have an application where I want to use two Basler cameras simultaneously. When I use a single camera, or set the region of interest to be low for both cameras, there is a small time delay associated with sending the image message from the camera node to a listener node (10 ms). When I use both however, there is a significant time delay in the received images (300 ms). I've created a small test node that listens on the image messages for verifying this:
delay_ms = (rospy.Time.now() - msg.header.stamp).to_nsec() / 1e6
Following previous answers, I've tried increasing the buff_size parameter in the subscribers but that doesn't help. I've also tried to increase the TCP window size in linux but that doesn't help either.
I'm wondering where the bottleneck is exactly. Is it in the TCP/IP stack itself or could it be the serialization of the large images that causes latency? How do I check for these?
- I'm using the basler_camera package for reading images from the cameras.
- The computer has 4 cores and 8 GB of RAM
- 1280x960 RGB
- 20 MByte/s bw in rostopic
- 2048x1088 Mono
- 330 MByte/s bw in rostopic
Post score: 0