An error has occurred during frame callback: Error occured during execution of the processing block!
I used one D415 and one D435 at same time, PC: UP2 board, Ubuntu 16.04. ROS kinetic.
Librealsense 2.18.1, intel-ros/realsense 2.2.0
Suggest you can also report this issue to below.
https://github.com/IntelRealSense/librealsense/issues/
[Please Ignore - RealSense system comment]
+1 Im using 2.17.1 with ros 2.1.2. Trying to stream 3 cameras together.
+1, here are my specs:
Device: Raspberry Pi 3 Model B
OS version: Ubuntu MATE 16.04
Camera: D435i (over USB2)
Firmware: 5.11.1.100
librealsense version: 2.18.1 (unpatched, for USB2 support)
ROS realsense version: 2.2.0
ROS version: kinetic
Notably, this does NOT occur when I use a D435 instead of a D435i, though w/ the D435 I still get the issue from https://github.com/intel-ros/realsense/issues/669
Scratch that, I'm now also getting these errors w/ D435
Bump
Any status on this? I'm still getting these very regularly on D435. Seems like only 1 out of every 10 messages from running this node are successful; the rest give me this error message
Sorry, no updates. Still working on it..
The error persists even after updating to v2.19.1 Librealsense and the latest ros wrapper release v2.2.1
Camera model - d435, ROS Melodic.
@doronhi any clue what might be the cause of this? In which codebase (ros-realsense, librealsense) + where in the code might the issue be? I can dig a bit if I know where to start looking
So far, what I came up with is this:
The source of the error is in librealsense, rs_processing.hpp, line 334.
From what I understand, the problem is that the filters don't keep up with the frames, due to computer load. A new image cannot be pushed to the still full queue and therefor it is missing when the filter is called to process it. Then the exception is issued.
@doronhi I am using librealsense 2.18 which not the newest librealsense also got this error, only when I toggled aligned_depth to true maybe also caused by toggled point cloud to true. But the ros realsense wrapper are master branch.
So how do I solve the issue for now???we are in a production enviroment and stable is the most important thing
@jinfagang not a solve but a workaround I found:
If your project isn't married to an SBC yet you can switch to an Odroid XU4 (it says sold out but you can purchase them on Amazon). librealsense has semi-official support for building on the Odroid XU4 via a patch. Despite the 4.14 kernel not being in the list of supported kernels, it works with this ubuntu mate 16.04 image
I just switched from Raspberry PI 3 B -> Odroid XU4 and the issue went away entirely. Odroid XU4 has an 8 core 2GHz CPU compared to the PI's 4 core 1.2 GHz CPU. I'm guessing I no longer see the errors since the beefier SBC can keep up w/ the frames per @doronhi's comment above
Anecdotally, w/ 1 PI + 2 cams over USB2 I got about a pointcloud every 5-10 seconds in between errors. With Odroid XU4 + 2 cams over USB3 I get about 3-5 pointclouds _per second_ and no errors.
@jdwolk I am afraid this can work longly. I am test it on my PC which has a i7-8th processor and 16G memory, so I think compute capacity is not the issue.
@jinfagang not a solve but a workaround I found:
If your project isn't married to an SBC yet you can switch to an Odroid XU4 (it says sold out but you can purchase them on Amazon).
librealsensehas semi-official support for building on the Odroid XU4 via a patch. Despite the 4.14 kernel not being in the list of supported kernels, it works with this ubuntu mate 16.04 imageI just switched from Raspberry PI 3 B -> Odroid XU4 and the issue went away entirely. Odroid XU4 has an 8 core 2GHz CPU compared to the PI's 4 core 1.2 GHz CPU. I'm guessing I no longer see the errors since the beefier SBC can keep up w/ the frames per @doronhi's comment above
Anecdotally, w/ 1 PI + 2 cams over USB2 I got about a pointcloud every 5-10 seconds in between errors. With Odroid XU4 + 2 cams over USB3 I get about 3-5 pointclouds _per second_ and no errors.
I am using a RPi with 2 cameras but I am just getting segmenation faults randomly(using one or 2 cameras). I am looking for alternatives for a RPi with USB3 support that provide no problems with realsense. When you say Ordroid XU4 has no errors it performs perfectly with 2 cameras? Have you tried with 3/4 cameras?
I got a similar error with d435 and librealsense2 2.16.1 on ubuntu 16.04 64bit on a very strong PC machine.
I'm taking photos from a few cameras in parallel.
After it returned this error, I needed to restart the computer for it works again
Hi @FENGZHANG123
Do you still have the trouble with the latest ros wrapper and librealsense? I don't observe this issue with below command on ros 2.2.7 with the setup on NUC + Ubuntu 16.04 + Kinetic.
$ roslaunch realsense2_camera rs_rgbd.launch camera:=cam_1 serial_no:=
$ roslaunch realsense2_camera rs_rgbd.launch camera:=cam_2 serial_no:=
Hi @FENGZHANG123 , @OrHirshfeldFFR,
Is the issue clarified on your platform? Do you try the latest librealsense?
Do you further observe the CPU loading and usb throught impact with multiple cameras using "top" and "usbtop" command?
Hi @FENGZHANG123
Do you still have the trouble with the latest ros wrapper and librealsense? I don't observe this issue with below command on ros 2.2.7 with the setup on NUC + Ubuntu 16.04 + Kinetic.
$ roslaunch realsense2_camera rs_rgbd.launch camera:=cam_1 serial_no:= filters:=pointcloud
$ roslaunch realsense2_camera rs_rgbd.launch camera:=cam_2 serial_no:= filters:=pointcloud
Sorry for the delay I was on vacation
I actually don't use the Realsense ROS wrapper, I use librealsense by itself alongside ROS.
As far as I observe there was no issue with CPU or USB overloading, I checked it using "top" and "usbtop" as you suggested
Which librealsense version should solve this problem?
Thank you
@jdwolk I apologize for responding to a closed thread, but in all of my scouring I have been unable to find anyone else who mentions implementing ROS-kinetic-realsense2-camera on an ODROID XU-4. Would you mind sending an outline of how you went about doing this build? I am getting some interesting errors that you seemed to be able to avoid; thanks!