Closed dk-teknologisk-gtr closed 1 month ago
Hi @dk-teknologisk-gtr, could you zip all the files you find in ~/.cache/Zivid/API/Log and send them to me at stian.pedersen (at) zivid.com? It may contain some extra information. I will try to reproduce with the same commands on my PC, I am out of office tomorrow, but I will test this early next week.
By doing a bit of debugging it I see that I have to provide a setting yaml file from ZividStudio, how can I provide that directly in the launch file? I don't see any example in the package zivid_samples.
With our ROS2 driver you can specify settings either as a path to a .yml file, or a YAML (multi-line) string (basically copy the contents of a settings.yml file saved from Zivid Studio). Use 'settings_yaml' when you want to use a YAML string, and 'settings_file_path' when you want to use a .yml file. We will look at making a launch file example for this.
I am able to reproduce a similar crash in a docker container with Ubuntu 22.04 and Ros2 Humble. On my desktop with 24.04 and Ros2 Jazzy it runs just fine.
Yes, I am actually running it in a docker container with Ubuntu 22.04 and Ros2 Humble. I have followed the step in https://support.zivid.com/en/latest/api-reference/docker/install-zivid-in-docker.html (NVIDIA settings) one month ago (with the ROS1 version of the driver) and everything worked just fine.
I have the SDK installed also in my host machine (Ubuntu 20.04).
Looks like a memory bug:
#0 0x00007a44a931a928 in std::_Optional_base_impl<Zivid::Settings2D, std::_Optional_base<Zivid::Settings2D, false, false> >::_M_is_engaged (this=0x68) at /usr/include/c++/11/optional:433
#1 0x00007a44a931a3c6 in std::optional<Zivid::Settings2D>::has_value (this=0x68) at /usr/include/c++/11/optional:945
#2 0x00007a44a9310dfc in zivid_camera::CaptureSettingsController<Zivid::Settings2D>::onSetParameter (this=0x20, parameterName="settings_yaml") at /root/ros2_ws/src/zivid-ros/zivid_camera/src/zivid_camera.cpp:274
#3 0x00007a44a92fc1ec in zivid_camera::ZividCamera::setParametersCallback (this=0x5c9fc99752b0, parameters=std::vector of length 1, capacity 1 = {...}) at /root/ros2_ws/src/zivid-ros/zivid_camera/src/zivid_camera.cpp:530
530 settings_2d_controller_->onSetParameter(param.get_name());
(gdb) p settings_2d_controller_
$3 = std::unique_ptr<zivid_camera::CaptureSettingsController<Zivid::Settings2D>> = {get() = 0x20}
(gdb)
Can you try the fix in https://github.com/zivid/zivid-ros/pull/114 and see if that resolves the issue?
Hi @johningve, yes that fixed the problem. Now I can connect to the camera and correctly read parameters file! Thank you
Hi @johningve, had the same issue using ROS Humble on Ubuntu 22.04.
Thanks
https://github.com/zivid/zivid-ros/pull/114 is now merged, so this issue is fixed.
Hi, I am experiencing some issues when running the camera driver. I am running the branch master in ROS2 Humble. I have cloned the repo and build it in my workspace. The SDK is correctly installed in my Ubuntu 22 machine. I can see the camera and take pointcloud data correctly with ZividStudio.
Also when I try to use one of the launch file provided:
Is there anything I am doing wrong?
To add a bit more on my question this is the output of running the
zivid_camera
driver withgdb
:By doing a bit of debugging it I see that I have to provide a setting yaml file from ZividStudio, how can I provide that directly in the launch file? I don't see any example in the package
zivid_samples
.Output of
ZividListCameras
:Thank you in advance for your help!