-
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
Camera stops sending IMU frames python #7979
Comments
Hi @a7u7a The issue with problems occurring when all three stream types are active (depth, color and IMU) affects both Python and C++. It is more common for the result to be 'No Frames Received' on RGB, though I have seen a small number of cases where depth or IMU frames were affected instead. The effects of the phenomenon are summed up in the case that you linked to. On Python, separating the pipelines into two (IMU on one, depth / color on the other) typically works well. The case that you linked to already has what I would consider the best reference for this though. Separating the pipelines has not worked for every Python user in this situation though. There is a Python callback script created by a RealSense Python user that was tested successfully by another Python user who was having problems streaming depth-color-IMU. Edit: I see that you have already been to that script though. |
There was a case similar to your circumstances (Pi, D435i, Python, 'Failed to set power state' when using 2 pipelines) that was solved by adding a 500ms pause between the start of the pipelines. |
Many thanks for all the info! I will try your suggestion asap and let you know. |
Hi MartyG,
|
The issue of No Frames Received when three stream types (IMU, depth, color) are enabled is a software related issue, so changing the hardware to a different computing device or IMU would likely not make a difference. Could you try explicityly defining the IMU configuration please (format and frequency). I recall past cases where problems with IMU frame streaming disappeared when using lower frequencies (63 accel / 200 gyro instead of 250 accel / 400 gyro). conf.enable_stream(rs.stream.accel, rs.format.motion_xyz32f, 63) |
Hi @MartyG-RealSense I understand the problem is in the software. Do you have an idea where it might be localized? Is it related to the camera's firmware, the SDK or the linux kernel? Might it be possible that using different cmake flags could solve it? |
The Acrobotic guide is usually a reliable one for a Pi 4 installation of librealsense and Python, so it is unlikely that there is an error in that guide's instructions. Its CMake instructions look fine and it builds with -DFORCE_LIBUVC=true (i.e the 'backend' method that bypasses the kernel) and so it is likely not a kernel related issue. I have not seen the header instruction from signal import pause before in a pyrealsense2 script. I believe you have already tried removing this instruction though and the results have not changed? If you also receive the No frames received message in RealSense Viewer when trying to stream IMU, depth and color together then this would indicate that the issue is not Python-related, since the Python wrapper has no involvement in the Viewer (which is C++ based). I note that you have tried IMU + color and IMU + depth (i.e only two stream types at a time) and still had the problem. Normally the IMU would only cause the frame receival problem if three streams were activated (in any order). This makes me think that your problem might be different from the one that separate pipelines is usually a fix for. Can you confirm please that the IMU is only ever on its own pipeline, and that depth and color are always put on the other pipeline (never on the same pipeline as the IMU). |
Hi, I can confirm that all the separate pipeline attempts have been made with IMU on pipeline1 and Depth+Color on pipeline2. |
I researched your case again from the beginning but it looks as though we have tried just about everything and exhausted all research leads, with just this one left: |
Hi @a7u7a Do you require further assistance with this case, please? Thanks! |
Hi @MartyG-RealSense, we have dealt with the issue by using an external IMU unit. Many thanks for your help. I will close this issue now. |
Thanks very much for the update @a7u7a - I'm pleased to hear that you achieved a solution :) |
Issue Description
I'm experiencing an issue with the camera no longer sending IMU frames when Depth + Color frames are also enabled. This happens after about 20 seconds to 5 minutes of operation.
I think its the same issue that is happening here except my use case is in python.
This is the code that I am using:
Things I have tried so far. (problem persists in all cases):
Could not open device failed to set power state
)Some obs:
No frames received!
warning after a few momentsrs-multicam
examplers-imu-calibration.py
and upon following all the steps I get:The text was updated successfully, but these errors were encountered: