rc_genicam_driver

Nodelet/node providing a ROS interface to configure a Roboception rc_visard or rc_cube and receive images.

Please also consult the manuals for more details:

Installation

On Debian/Ubuntu add the ROS sources and

1 sudo apt-get install ros-${ROS_DISTRO}-rc-genicam-driver

From Source

This rc_genicam_driver depends on

The dependencies can also be installed via rosdep.

1 rosdep install --from-paths rc_genicam_driver --ignore-src rc_genicam_driver -r -y

Building and installing the package follows the typical ROS catkin workflow.

As an alternative, the cmake build-flow would be something like

1 mkdir build && cd build
2 cmake -DCATKIN_BUILD_BINARY_PACKAGE="1" -DCMAKE_INSTALL_PREFIX="/opt/ros/$ROS_DISTRO" -DCMAKE_PREFIX_PATH="/opt/ros/$ROS_DISTRO" -DCMAKE_BUILD_TYPE=Release ..
3 make
4 make install

Alternatively, instead of the final make install, you can also use make package and sudo dpkg -i install ros-melodic-rc-genicam-driver_*.deb.

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

1 [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:

1 GENICAM_GENTL64_PATH=/path/to/rc_genicam_api/baumer/Ubuntu-14.04/x86_64

Configuration

Parameters

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

Dynamic-reconfigure Parameters

These parameters can be changed during runtime via dynamic reconfigure:

For color sensors, the following dynamic-reconfigure parameters are additionally available:

Provided Topics

The following topics are provided. The nodelet tries to request only data (e.g., images, poses) from the sensor if there is subscriber to the corresponding topic.

Images, Stereo Data, Point Clouds

The proprietary CameraParam messages are sent for every image and contain information like the exposure time, gain and values of digital inputs and outputs at the time of image capture.

For color sensors, the following topics are additionally available:

If the connected rc_visard has an IO Control license, then the following topics are additionally provided for images where the GPIO out1 is either low or high. These topics only useful if out1_mode is set to the special mode ExposureAlternateActive.

For color sensors with an IO Control license, the following topics are additionally available:

Running multiple rc_visard's in one ros environment

For operating multiple rc_visard's in one ros environment, each ros node must be started in separate namespaces, e.g., my_visard. As a result, all frame_ids in all ros messages will be prefixed, e.g., to my_visard_world or my_visard_camera.

Services

The following service is offered to trigger stereo matching in SingleFrame mode. It returns an error if the depth_acquisition_mode is Continuous.

Diagnostics

The rc_genicam_driver uses the diagnostics_updater class from the ROS diagnostics stack to regularly publish a DiagnosticStatus Message.

The regular publishing rate can be set via the ~diagnostic_period parameter and defaults to 1 second.

Currently two status are published:

Launching



rc_genicam_driver
Author(s): Heiko Hirschmueller , Felix Ruess
autogenerated on Sat Feb 13 2021 03:55:07