-
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
D415 RGB image distortion at 6fps, Out of sync with IR at 30 fps #3169
Comments
Hi @t0mlane |
Hi @dorodnic Attached are the colour and IR timestamps and difference for several settings: The most interesting results are at 6fps with no skips for both resolution where there is a uniform difference between IR and RGB of ~14 ns indicating they are in sync for both 480p and 720p. The rest of the examples using 30 fps have very variable differences between IR and RGB timestamps. 480p, 6fps, no skips: 720p 6fps no skips 480p/720p at any 30fps config: |
Hi @t0mlane |
Hi t0mlane, Not sure if there are any updates regarding to what dorodnic had mentioned. Thanks! |
Hi Hi t0mlane, As suggested by dorodnic, you may want to provide timestamp domain info (something like: rs.frame.get_frame_timestamp_domain(frame) ). Thanks! |
Hi t0mlane, Wonder if there is any updates? If nothing else is needed, this one will be closed. Thanks! |
Hello, Sorry for my silence. I have since tested with an UP board as well as the rock64. The rock returns an error when calling timestamp_domain. As the kernel is 4.4... there are no kernel patches and the hardware clock is not used. Rebuilding with libuvc=true did not make any difference. I tested the UP board (with its in-built RTC) and it appears to return frames in sync with difference in timestamps less than 1 us and can be confirmed visually between IR and RGB images. However, "smearing" of RGB (NOT IR) frames still occurs at 6 fps and 15 fps but is rectified at 30fps· This would suggest the on-board RTC is being used, especially as the kernel is 4.15. This is OK although the system is unstable, particularly at boot. This is despite rectifying issues with identifying as USB3 (I used a micro b to USB A female adaptor) and writing a C++ script to reset the USB hub (removes get_xu(id=7) failed errors) and trying my best to ensure adequate power and cooling. This means the camera will consistently start and images will be saved but will often switch off for no reason or "frames not recieved in 5000". For this reason, despite the UP giving undistorted RGB, IR and depth images at 30fps (saving every 5 to simulate 6 fps) I have had to move back to the rock64 and accept only colour images as it works every time, indefinitely. I am unsure if this is an Realsense or UP issue but find it ironic I have found a community-supported, ARM system more stable than the more "recommended", established, powerful, intel-based option. |
Hello,
I have RGB image distortion at low framerates (6 fps) at 640x480 resolution due to motion, not lens distortion (see below, vs. IR which appears non-distorted) and have run out of ideas.
Waving hand side-to-side:
Oddly, this seems to rectify itself when using higher framerates and saving every nth image to simulate 6fps (every 5th at 30fps, for example). This is good, although the RGB and IR images are out of sync with the RGB appearing to "drop" frames (e.g. images appear to have been taken at identical moment but don't have corresponding filenames).
Above shows filenames which correspond to the same moment, yet are different. Strangely, the "correct" image seems to have been captured, although does not have the correct filename, yet this is only correct for a few frames, not all of them.
I have also tried adding a depth stream and using the align() function to align to the colour stream. I thought this would make the depth and IR hardware synced and the colour then aligned to the depth, this, however does not work.
My code is below, i have tried with different resolutions and framerates but none work. My project demands synced images. Unless anyone can see anything obviously wrong with the code below, I think this is a software problem.
Regards,
Tom.
The text was updated successfully, but these errors were encountered: