Package symbol

rc_genicam_driver package from rc_genicam_driver repo

rc_genicam_driver

ROS Distro
humble

Package Summary

Tags No category tags.
Version 0.3.2
License BSD
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/roboception/rc_genicam_driver_ros2.git
VCS Type git
VCS Version master
Last Updated 2025-07-31
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Driver for rc_visard and rc_cube from Roboception GmbH

Additional Links

No additional links.

Maintainers

  • Felix Ruess
  • Heiko Hirschmueller

Authors

No additional authors.

rc_genicam_driver for ROS2

ROS2 driver to configure a Roboception rc_visard or rc_cube and receive images.

Please also consult the manuals for more details:

  • https://doc.rc-visard.com
  • https://doc.rc-cube.com

GenICam GenTL Transport Layer

The rc_genicam_driver uses rc_genicam_api for interfacing with the rc_visard or rc_cube via GenICam/GigE Vision and requires a transport layer called a GenTL producer (shared library with the suffix .cti). For convenience rc_genicam_api comes with producers from Baumer for common architectures.

The path to the producer can be set with the GENICAM_GENTL64_PATH environment variable (or GENICAM_GENTL32_PATH for 32 bit systems). If not set, rc_genicam_driver will fall back to searching for the Baumer producer where rc_genicam_api is installed.

If the producer .cti can’t be found and you will get an error message like

[ERROR] [1512568083.512790905]: No transport layers found in path /opt/ros/melodic/lib/rc_genicam_api

In this case you need either need to actually install rc_genicam_api properly or set the environment variable when running it. E.g. export:

GENICAM_GENTL64_PATH=/path/to/rc_genicam_api/baumer/Ubuntu-18.04/x86_64

Configuration

Read-only parameters

Parameters to be set to the ROS param server before run-time.

  • device: The ID of the device, e.g. Roboception rc_visard sensor or rc_cube. This can be either the

    • serial number, e.g. 02912345

      IMPORTANT: preceed with a colon (:02912345) when passing this on the commandline or setting it via rosparam (see https://github.com/ros/ros_comm/issues/1339). This is not neccessary when specifying it as a string in a launch file.

    • user defined name (factory default is the name of the rc_visard’s model), must be unique among all reachable sensors

    • internal ID, which is generated by the used GenTL producer. Often, this ID contains the MAC address in some way. This ID can change with the implementation of the transport layer.

    See https://github.com/roboception/rc_genicam_api#device-id for more details. By default this parameter is set to *, which works with if only one compatible device can be found on the network.

At runtime changeable parameters

These parameters can be changed during runtime. Parameters will not be declared if they are not available on the device. This can happen if the device firmware is old and does not offer the parameter.

  • ptp_enabled: Enable PTP slave (PrecisionTimeProtocol, IEEE1588)

  • camera_fps: Frames per second that are published by this node. Publishing frames will be slowed down depending on this setting. Setting it higher than the real framerate of the specific device has no effect.

  • camera_exp_auto: This parameter has been removed. Please use camera_exp_control instead.

  • camera_exp_control: Expose control mode which can be “Manual” for setting exposure time and gain via camera_exp_value and camera_gain_value, “Auto” for auto exposure or “HDR” for high dynamic range mode. Default: Auto.

  • camera_exp_auto_mode Auto-exposure mode which can be “Normal”, “Out1High” or “AdaptiveOut1”. Default: Normal.

  • camera_exp_max: Maximum exposure time in seconds if exp_auto is true.

  • camera_exp_auto_average_max: The auto exposure tries to set the exposure time and gain factor such that the average image intensity is between an upper and a lower bound. This parameter defines the upper bound. It can be reached if there is no saturation (e.g. due to reflections).

  • camera_exp_auto_average_min: See camera_exp_auto_average_max. This parameter defines the lower bound. The average image intensity can be reduced to this value to reduce or avoid saturation (e.g. due to reflections).

File truncated at 100 lines see the full file

CHANGELOG

0.3.2 (2025-07-31)

  • Increased tolerance for alternate exposure mode to 1 second
  • Fixed rounding when converting color to monochrome

0.3.1 (2024-06-07)

  • Fix: parameter 'camera_wb_red' cannot be set
  • Fixed limiting float parameters to avoid errors due to rounding
  • Fix: don't treat unknown parameters as error in the parameter callback (e.g. for new enable_pub_plugins param injected by image_transport)
  • Fix: Declaring parameters dynamic so that undeclaring works on cleanup

0.3.0 (2023-03-10)

  • Replaced parameter camera_exp_auto by camera_exp_control and camera_exp_auto_mode for consistency
  • Change parameters camera_exp_max and camera_exp_value so unit seconds for consistency
  • Added Gamma parameter
  • only publish high/low if the publisher exists
  • fix if iocontrol is not available

0.2.1 (2021-11-15)

  • Add exposure_adapt_timeout parameter
  • warn instead of info if parameter can't be set
  • fix line_source and add more extra_data to CameraParam

0.2.0 (2021-08-02)

For supporting rc_sgm_producer:

  • Extend color format to RGB8 for ros foxy
  • Using parameter PtpEnable instead of deprecated parameter GevIEEE1588

0.1.4 (2021-02-11)

  • Accept devices from vendor Roboception or if model is rc_visard or rc_cube

0.1.3 (2021-02-02)

  • Use image_transport.hpp to get rid of a warning and hence drop eloquent support
  • Use C-strings for RCLCPP macros to support rolling

0.1.2 (2021-01-29)

  • fix linking problems

0.1.1 (2021-01-18)

  • fix typo in package xml

0.1.0 (2021-01-18)

  • initial release

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rc_genicam_driver at Robotics Stack Exchange