Hi,
We’re testing two ZED X Mini cameras simultaneously on a Jetson Orin NX with a Connect Tech Hadron-GMSL carrier, using ZED SDK 5.4.1 and ZED X driver 1.4.3.
We’ve found an issue where both cameras work correctly individually, with each delivering approximately 200 Hz of distinct IMU samples. However, when both cameras are running simultaneously, one continues at approximately 200 Hz while the other drops to around 0.3–2.3 Hz. Video from both cameras remains completely unaffected.
We’ve tested different resolutions and frame rates, with and without image retrieval and SVO recording, reversed the camera open order, and physically swapped the cameras between GMSL ports. The issue does not follow the physical camera or open order. We also reproduced the same behavior using the sl::Sensors API, so it does not appear specific to our sl::Camera acquisition implementation.
The most interesting result is from comparing the Stereolabs kernel driver counters against what the ZED SDK delivers during the same dual-camera run. bmi_spsc reports approximately 206 Hz and 209 Hz for the two IMUs, with zero I2C errors and both ring buffers fully drained. At the application level, however, we measured approximately 0.6 Hz and 200.6 Hz of distinct IMU samples.
Across all of our dual-camera configurations, the combined application-visible IMU rate remains almost exactly 201 Hz, despite the kernel acquiring approximately 415 Hz in total. getSensorsDataBatch() also returns SUCCESS with an empty vector on 98.8% of calls for the starved camera rather than reporting an error.
Based on these measurements, the sample loss appears to occur somewhere in the Stereolabs userspace/ZED SDK path between the working kernel acquisition layer and the public API. We don’t have visibility into the SDK internals, so we haven’t tried to attribute it to a specific component. GMSL port 0 and SDK device index 0 also remain confounded in our setup.
Is this a known issue with multi-camera IMU acquisition in ZED SDK 5.4.1? Is there a newer SDK build or patch we should test, or a supported method for receiving the full ~200 Hz IMU stream from both cameras simultaneously?
I’ve attached a detailed engineering report containing the full test matrix, kernel counters, reproduction procedure, environment details, and additional measurements. We can also provide the diagnostic application and raw test data if useful.
STEREOLABS_IMU_STARVATION_ESCALATION.md (22.9 KB)
Thanks!