Open Tom-Paye opened 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
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'.