-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to obtain unsynchronised colour and depth frames? #7016
Comments
Hi @LinasKo |
Hi @LinasKo I support what @dorodnic advised above, especially if you foresee a situation where you will be using depth, color and IMU streams simultaneously. There have been cases where having any two of these three stream types active simultaneously has been fine (e.g RGB and IMU or depth and IMU) but there would be poor performance when depth, color and IMU were all active at the same time. Putting the IMU stream on a separate pipeline (e.g IMU on one pipeline and depth and color on the other) can significantly improve a program's operation. This principle of setting up multiple pipelines when using a depth-color-IMU setup was discussed in a July 2020 case: |
Thank you very much - that's really useful |
Also I forgot to mention - https://github.com/IntelRealSense/librealsense/tree/master/examples/sensor-control can be helpful |
Hi @LinasKo |
Hi @dorodnic, I'm still working on it, but the results are somewhat promising. Instead of both color and depth lagging behind by 35ms, if run on separate pipelines, the depth latency decreased to 10ms. I've noticed that not including Accel / Gyro also changed the delay, but I didn't test it very thoroughly so far. And yes, I think you can close the issue. Thanks for your help! |
Great, feel free to open additional issues if you encounter any problem. |
Issue Description
TL;DR: How to obtain colour and depth frames separately, ideally via the pipeline API, instead of waiting for RealSense to time-sync them?
I am building a multi-camera system (not just RealSense) and am currently analysing the time it takes to obtain images from D435i and trying to synchronise the clocks. I am using the pipeline API, and am opening the colour (reduced resolution), depth and some IMU streams, receiving the frame / frameset through a callback function. Here, I take the system time and compare to the frame timestamp.
I found that on average, the depth frames arrive in the callback ~35ms after the RS timestamp. Next, I tried only opening one of the streams at a time, and this time, the time difference was only ~15ms. Colour stream behaved in a similar manner. I believe it could be because of the synchronisation.
So far I found the frame-management page that suggested
rs2::deveice::start
, butstart
did not exist when I tried using it. Indeed, I don't see it in the API reference - rs2::device.So, is there a way to disable the automatic colour and depth synchronisation?
The text was updated successfully, but these errors were encountered: