LucasG2001 / zed_vision_pkg

ros package for computer vision/Zed tasks for master thesis
0 stars 0 forks source link

ZED ROS2 SVO Loop #5

Open Tom-Paye opened 6 months ago

Tom-Paye commented 6 months ago

When running the ZED ROS2 launch script off of an SVO file rather than an active camera:

ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zed2i svo_path:=path/file.svo

The script will always halt the stream with the code: [ERROR] [1708605924.922625278] [zed.zed_node]: Critical camera error: END OF SVO FILE REACHED. Node stopped.

This will happen regardless of whether the setting 'svo_loop' is set to 'true' in the file 'common.yaml'.

Tom-Paye commented 6 months ago

Solution: In the source folder of your ROS2 workspace, find: zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.cpp

The error seems to occur because the marker for reaching the end of an svo file is an error output, and the script checks for errors before checking for ends-of-files.

A fix is to modify line ~5232 (after '// ----> Grab errors?') if (mGrabStatus != sl::ERROR_CODE::SUCCESS) { .| V if ((mGrabStatus != sl::ERROR_CODE::SUCCESS) && (mGrabStatus != sl::ERROR_CODE::END_OF_SVOFILE_REACHED)) {

You must then rebuild the package in a terminal using (for humble): $ cd $ colcon build --symlink-install --packages-select zed_components