Closed TillBeemelmanns closed 2 weeks ago
I'm traveling right now so I can't test if the stereo camera launch script still works. It did at some point, but I changed the driver code quite a bit since then. I should remove the launch script from the source tree or test that it actually works. The reason I stopped testing it is because I'm using the spinnaker_synchronized_driver now. Are your cameras hardware synchronized?
Yeah, the loading of the composable node no longer works. Not sure what is broken. The library ends up in a weird place so the launch framework cannot find it:
/opt/ros/humble/lib/x86_64-linux-gnu/libcamera_driver.so
The stereo_synced launch script works fine when I use it from the "install" directory in my workspace. So this problem somehow arises during the packaging stage when the apt package is generated on the ROS2 build farm. Debugging this could be a longer process and probably not make it into the next sync on May 20th. Is building from source an option for you?
Thanks for the swift response! Yes, we will try to build the driver from source in our docker setup or try to copy libcamera_driver.so
to the correct place. I will give an update on that later.
Just out of curiosity @TillBeemelmanns, as you said that you are working in a Ubuntu 22.04 docker with humble and didn't build from source, did you have any issues with getting the driver_node.launch.py to work? I struggle with setting up the udev rules in docker, as it constantly tells me "udev does not support containers"
@Marius-N-R
No we did not have problems running driver_node.launch.py
using docker. However, we use a docker-compose setup with several cameras and we can define the devices
there:
services:
camera-driver-1:
image: our_image_with_ros_humble_and_driver:latest
volumes:
- ./driver_node.launch.py:/opt/ros/humble/share/spinnaker_camera_driver/launch/driver_node.launch.py
- ./blackfly_s.yaml:/opt/ros/humble/share/spinnaker_camera_driver/config/blackfly_s.yaml
- ./calibration-1.yaml:/docker-ros/ws/install/calibration.yaml
command: ros2 launch spinnaker_camera_driver driver_node.launch.py camera_type:=blackfly_s serial:="'XXXX'" camera_name:=cam_1 frame_id:=rgb_cam_1_optical
devices:
- /dev/bus/usb
We did not need to setup udev rules in this setup.
For a completely different setup we use several ZED cameras connected via USB and there we have udev rules defined. Also defined via a docker-compose.yml
file.
Oh, ok thanks I'll give it a try
Just tested (on ROS2 Iron) and the libraries are now found correctly.
Bug We tried to follow the stereo launch example, but failed to launch a ComposableNode
spinnaker_camera_driver::CameraDriver
from packagespinnaker_camera_driver
with the error(Full Log Below)
A manual inspection of
/opt/ros/humble/lib/
revealed thatlibcamera_driver.so
is indeed missing. All other libs eg. spinnaker so files orspinnaker_camera_driver
files are there.This is our launch setup. The normal launch using the driver_node.launch.py works with our setup.
System details
ros-humble-spinnaker-camera-driver
+ros-humble-image-pipeline
.ros-humble-spinnaker-camera-driver
directlyLogging output