-
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
Different Resolution for depth and color stream to make camera working #3376
Comments
Hi @JRauer |
Hi @dorodnic , |
We still very much support 640x480 resolution, that's very strange. |
I'm afraid I don't have another system/camera to test the device but I can send you firmware/software versions if you want to replicate the bug? |
@JRauer What's firmware/software versions when you get issue for 640x480? |
@RealSenseCustomerSupport |
@JRauer Could you please provide the result of rs-enumerate(https://github.com/IntelRealSense/librealsense/tree/master/tools/enumerate-devices )? |
@RealSenseCustomerSupport Stream Profiles supported by Stereo Module Stream Profiles supported by RGB Camera |
@JRauer From the result of rs-enumerate, 640x480 is supported for your setup. Did you see the issue when both depth and color streaming enabled with 640x480@30fps or you also got the issue when enable only depth or color? |
@RealSenseCustomerSupport Color streaming with these parameters is no problem. Only the depth camera does not work with 640x480@30fps independent of color stream being activated or not, when I try to launch it via the python or ros api as well as via realsense-viewer. |
@JRauer Could you please follow https://github.com/IntelRealSense/librealsense/wiki/Troubleshooting-Q&A#q-how-do-i-enable-librealsense-logs to enable and collect the logs for 640x480@30fps depth streaming issue? And any error messages pop up in the GUI? If yes, please also provide one snapshot. Thanks! |
@RealSenseCustomerSupport I made further test and can now say that the issue occurs independent of the frame rate. I enabled Log-Level "Debug" and copied the messages here. After launching the camera with 640x480 I have to replug it to make it work with another resolution - if that helps determining the problem. When launching realsense-viewer I get the following: When launching Ros-node I get the following: SUMMARYPARAMETERS
NODES auto-starting new master setting /run_id to d5c742ac-4efd-11e9-9c58-74da386513de 25/03 13:59:34,235 DEBUG [139807611021184] (ds5-private.h:311) Loaded Valid Table: version [mjr.mnr]: 0x0202, type 32, size 240, CRC: 28c717f7 25/03 13:59:34,235 DEBUG [139807611021184] (ds5-private.h:311) Loaded Valid Table: version [mjr.mnr]: 0x0300, type 25, size 496, CRC: 7b98773b 25/03 13:59:34,235 DEBUG [139807611021184] (ds5-private.h:311) Loaded Valid Table: version [mjr.mnr]: 0x0300, type 25, size 496, CRC: 7b98773b [ INFO] [1553518774.235566287]: insert Depth to Stereo Module 25/03 13:59:34,417 DEBUG [139806802913024] (sync.cpp:143) DISPATCH (TS: (FN: I Depth I Infrared I Infrared ) I Color )--> Color 0 12520.758000 25/03 13:59:34,417 DEBUG [139806802913024] (sync.cpp:99) I Color--> Color 0, 12520.758000 25/03 13:59:34,417 DEBUG [139806802913024] (sync.cpp:258) SYNC (TS: (FN: I Depth I Infrared I Infrared ) I Color )--> Color 0 12520.758000 25/03 13:59:34,417 DEBUG [139806802913024] (sync.cpp:516) fps 30 Color 0 12520.758000 25/03 13:59:34,417 DEBUG [139806802913024] (sync.cpp:516) fps 30 Color 0 12520.758000 25/03 13:59:34,449 DEBUG [139806802913024] (sync.cpp:143) DISPATCH (TS: (FN: I Depth I Infrared I Infrared ) I Color )--> Color 1 12554.118000 25/03 13:59:34,449 DEBUG [139806802913024] (sync.cpp:99) I Color--> Color 1, 12554.118000 25/03 13:59:34,449 DEBUG [139806802913024] (sync.cpp:258) SYNC (TS: (FN: I Depth I Infrared I Infrared ) I Color )--> Color 1 12554.118000 25/03 13:59:34,449 DEBUG [139806802913024] (sync.cpp:516) fps 30 Color 1 12554.118000 25/03 13:59:34,450 DEBUG [139806802913024] (sync.cpp:516) fps 30 Color 1 12554.118000 |
@JRauer What's the kernel version and any kernel patch did you apply? Can the camera work properly with Linux RealSenseViewer for 640x480@30fps depth only? |
@RealSenseCustomerSupport No, the camera does also not work with RealSenseViewer with these parameters giving "REC Error". The Kernel version is Linux 4.10.0.28-generic |
@JRauer That's really weird! Did you apply the kernel patch as the script "./scripts/patch-realsense-ubuntu-lts.sh"? |
@JRauer Any update for the issue? Looking forward to your update. Thanks! |
@RealSenseCustomerSupport I'll keep you informed, but I am not in the office until middle of next week. I have not tried installing the patch. Since I don't necessarily need 640x480 and higher resolutions are working fine: is it possible to harm the working resolutions by installing the patch? If so, I am not sure if i want to risk getting new issues by trying to get something to work, I don't really need. |
@JRauer I don't think the patch will harm the working resolutions. And if you're ok with the higher resolution, then you can keep the current configuration. |
@JRauer Any other questions for this ticket? If no, will close it accordingly. |
@RealSenseCustomerSupport no, thank you very much for your support! |
Had a similar issue where 480x270 and 848x480 resolutions worked, but 640x360 did not. Worked after doing an on chip calibration. |
Hi @MartyG-RealSense, do we know why this happens? And why does the on-chip calibration fix this? |
Hi @rupak-d There was a similar case in October 2020 where all depth resolutions except 848x480 were available. In that case, the RealSense SDK's other calibration tool, the Dynamic Calibrator, corrected the problem. Given that a recalibration with either calibration tool (On-Chip or Dynamic) made the missing resolution available again, writing a new calibration to the camera hardware's internal storage may have corrected a glitch in the previously stored calibration data. |
Is there a way to know that there are some resolutions that are unavailable or there's a glitch in the calibration data? |
@rupak-d If you wish to check whether a specific stream profile is currently available (supported) then you could check the requested stream configuration with the can_resolve() instruction to see whether the request can be fulfilled. You can also retrieve all of the currently available stream profiles with the instruction get_stream_profiles() I am not aware of a function that can specifically detect a calibration table corruption and inform of it. An automated workaround may be to test for the availability of a particular stream profile and activate code to write a new calibration table to the camera if the requested profile cannot be provided. The appendices sections of Intel's On-Chip calibration white paper provide example scripting for setting / resetting the calibration with C, C++ or Python code. https://dev.intelrealsense.com/docs/self-calibration-for-depth-cameras#section-appendix |
The stream profiles show up even when the cameras do not run at that resolution. |
Due to the high rarity of the problem of certain resolutions becoming unavailable, I do not have details of how to test for it. In regard to testing for calibration data corruption, a RealSense user described in detail their calibration testing process in the link below. |
Hello,
I noticed in the Python-Wrapper Alignment-Example (librealsense/wrappers/python/examples/align-depth2color.py) that different resolutions are applied for the color and the depth stream. I had to make both streams the same resolution in order to make the script work (otherwise it just would not stream anything). Then I updated the camera's firmware to the newest version and now it just streams something, if the resolutions are different (as in the example). Could you explain this behavior? Why are there different resolutions in the example-file?
Edit: I use D435
Best regards in advance!
The text was updated successfully, but these errors were encountered: