Multi head launch file configuration
It is possible to stream data from multiple cameras or from the two ports of one camera at once.
This can be achieved by setting the camera-specific parameters in the launch configuration files, namely pcic-port
and buffer_id_lists
.
We provide examples of default parameters for getting the 2D or 3D data from one camera, or all the data from two full O3R camera (two 2D data streams and two 3D data streams).
o3r_2d.yaml
This example configuration connects to the 2D (RGB) data stream of one O3R camera head connected to port 0:
The ports on the VPU should be connected as follows:
Camera 2D: physical port 0 - corresponds to
pcic_port=50010
To launch this example, use the following command:
ros2 launch ifm3d_ros2 camera.launch.py camera_name:=camera_2d parameter_file_name:=examples/o3r_2d.yaml
Note: Don’t forget to specify the
camera_name
parameter if it differs from the default value, “camera”, and thecamera_namespace
if it differs from the default, “ifm3d”.
o3r_3d.yaml
This example configuration connects to the 3D data stream of one O3R camera head connected to port 2:
The ports on the VPU should be connected as follows:
Camera 3D: physical port 2 - corresponds to
pcic_port=50012
To launch this example, use the following command:
ros2 launch ifm3d_ros2 camera.launch.py camera_name:=camera_3d parameter_file_name:=examples/o3r_3d.yaml
Note: Don’t forget to specify the
camera_name
parameter if it differs from the default value, “camera”, and thecamera_namespace
if it differs from the default, “ifm3d”.
Launching a 2D and a 3D node simultaneously
This example configuration connects to one 3D data stream AND one 2D (RGB) data stream connected to ports 0 and 2:
Camera 2D: physical port 0 - corresponds to
pcic_port=50010
Camera 3D: physical port 2 - corresponds to
pcic_port=50012
To launch this example, use the following command:
ros2 launch ifm3d_ros2 example_o3r_2d_and_3d.launch.py
two_o3r_heads.yaml
This example configuration connects to two 3D data stream AND two 2D (RGB) data stream of two O3R camera head connected to ports 0 - 3:
The ports on the VPU should be connected as follows: Camera head 1:
Camera 2D: physical port 0 - corresponds to
pcic_port=50010
Camera 3D: physical port 2 - corresponds to
pcic_port=50012
Camera head 2:
Camera 2D: physical port 1 - corresponds to
pcic_port=50011
Camera 3D: physical port 3 - corresponds to
pcic_port=50013
To launch this example, use the following command:
ros2 launch ifm3d_ros2 example_two_o3r_heads.launch.py parameter_file_name:=two_o3r_heads.yaml
Adapting the camera configuration to your needs
The example configurations are provided in the directory config/examples
.
They can act as inspiration when configuring your own multi-camera setup.
To adjust the configuration to your own setup, use these configuration files as a base to add or remove cameras, change the port number or edit the list of requested buffers.