luxonis / depthai-ros

Official ROS Driver for DepthAI Sensors.
MIT License
239 stars 173 forks source link

[BUG] RGBD-PCL examples freezes after some time #427

Closed dk-teknologisk-lag closed 7 months ago

dk-teknologisk-lag commented 8 months ago

Something similar is mentioned in: https://github.com/luxonis/depthai-ros/issues/104 where the solution was to increase queue size, but I don't think extending it further would help.

Describe the bug Running the ros2 launch depthai_ros_driver rgbd_pcl.launch.py use_rviz:=True in the iron docker launches the rviz and shows a pointcloud fine for some time. But eventually it freezes and doesn't update.

The rgb and depth topic keeps publishing, but the points topic stops publishing.

Its possible to provoke the error by more or less blocking the sensors view as seen in the video. After some time, the depth image gets behind in timestamps and eventually there is too large a gap for the approximate_time synchronizer to synchronize the streams appropriately. I have tried replacing the time synchronization in pointcloudxyzrgb nodelet with the approximate_epsilon_time and setting it to something like 45ms or up to 100ms, makes it work for a longer period of time, but doesn't feel like the best fix.

Minimal Reproducible Example ros2 launch depthai_ros_driver rgbd_pcl.launch.py use_rviz:=True in iron docker

Expected behavior A colored pointcloud shown all the time - even if the "view" is "difficult".

Screenshots Link to video file

Attach system log

Edit: Times was factor 10 to small.

Serafadam commented 8 months ago

Hi @dk-teknologisk-lag, I assume this is the same issue as in https://github.com/luxonis/depthai-ros/issues/429, could you try testing the fix branches there to see if that also fixes issue for you? https://github.com/luxonis/depthai-ros/tree/frequency_fix_iron https://github.com/luxonis/depthai-ros/tree/frequency_fix_humble

dk-teknologisk-lag commented 8 months ago

Will test it asap.

dk-teknologisk-lag commented 8 months ago

I have tested the latest docker images and it seems to work better, in the sense that it doesn't fall behind and freezes. It however, still runs with low fps, about 4-5. I have seen #409, so I'll try find some other cables to test with. Those I have is relatively long, but the device is seen as a SUPER usb device.

The colored point cloud is also published at unstable frame rate, where there are several hickups. So its not steady 4-5 fps, but jacked at times.

dk-teknologisk-lag commented 7 months ago

I have noticed, that if I subscribe to the colored point cloud topic from another docker instance and it actually do some network traffic, the FPS goes back to about 20 Hz. Seems some congestion on the network, makes it choke.. Guess its more a ROS / middelware issue, so I'll close this one as it seems fixed. I couldn't reproduce it with a recently iron-image at least.