-
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
T265 and D415 doesn't work at the same time #4163
Comments
I cannot exactly point out on what is the problem but I suspect that when for the second program starts running it is getting the
Can you try it out this snippet?? So you can query all the device and start appropriate camera according to your need. Have you checked out the Multicam demo? You can start and manage multiple camera from the single code check if that helps. Samvid |
I tried your snippet and still I have the same problem. In the project that I am working is mandatory to have each camera running in a different binary. That's why I don't use the same code of Multicam demo. Thanks. |
Is it still the same error? I have another theory now, I think because the USB bus and it is interrupting the second camera to start the pipe. So what if after you start the first camera you put that thread to sleep for around 30 seconds before polling the frames and while it is asleep start the second program and let it setup.
Can you try that out? It won't completely solve your problem but probably help us out in getting more clear idea on what is causing the problem exactly. |
This issue is connected to 774 |
@Shagai hello, Running T265 and D435 in separate processes may not work, and at the very least - you'll have to ensure invoking the T265 console before D435's. We can think of additional solutions if you absolutely must run those in separate processes, but I'd suggest to review the recommended option first. |
Hello, I had encountered the same issue when trying to open two pipelines from different processes (mandatory requirement to our end product) using the t265 on both pipelines. Issues:
I think I traced the issue back to libtm manager, when a libtm context is created I presume that it locks all vendor:product id that relevant to rst265 in order to use the notify function to alert on state change |
Hi @ev-mp , me and @Shagai are responsible for robotic teleoperations in hazardous environments. For us it is always more safe to run the code responsible for a single camera device in a separate binary, because if one of them crashes (for any reason, our bug, library issue), we still can execute a recovery scenario using another device. Of course as a workaround for now we can use all devices in a single binary, but maybe this design limitation should be reconsidered and improved in the future. |
@ptaq666, I totally agree that this constrain should dealt with on the architecture level. In the meanwhile running T265 before D415 should be an effective and immediate work-around. |
@ev-mp How does it solves my need to load two different t265 from different processes? |
@orshefi hello, |
Hi @Shagai Were you able to get around your issue? Have you attempted the latest version 2.32.1 which has updates around how T265 is accessed? |
x@laptop:~/ws_realsense$ ros2 launch realsense_examples rs_demo_t265.launch.py Using latest version (2.32.1) with https://github.com/intel/ros2_intel_realsense/tree/refactor Is something broken in ros2_intel_realsense? (I have tried both refactor and dashing branches - same errors). T265 works fine with the realsense-viewer. T265 and Multiple D435i works fine in realsense-viewer. I am basically trying to run the rs_t265_and_d400_launch.py |
Hi I was the owner of ros2 realsense project and we have encountered this problem before when we tried to enable the t265 and d400 camera at the same time and already solved it. So here is our solution: |
Hi @Shagai, @RoboticsIntelligence Were you able to get around your issue? Have you attempted the information that ahuizxc has provided? *If we don’t hear from you in 7 days, this issue will be closed. |
Issue Description
I created this small program to test the cameras:
I execute the program for both cameras in two different terminals at the same time:
$ ./example serialNumberOfD15
$ ./example serialNumberOfT265
The first program to be run is ok, but when I launch the second one for the second camera I got this constantly:
What can the problem be? I try in different computer and the same problem.
Thank you.
The text was updated successfully, but these errors were encountered: