No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.

rc_genicam_camera package from rc_genicam_camera repo

rc_genicam_camera

Package Summary

Tags No category tags.
Version 1.3.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/roboception/rc_genicam_camera.git
VCS Type git
VCS Version master
Last Updated 2021-02-04
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The rc_genicam_camera provides images from a GenICam compatible camera.

Additional Links

No additional links.

Maintainers

  • Felix Ruess
  • Heiko Hirschmueller

Authors

  • Heiko Hirschmueller

rc_genicam_camera

This nodelet permits access to the configuration of a GenICam compatible camera and publishes raw images and camera_info messages according to the ROS image pipeline.

Configuration

Parameters

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

  • device: The ID of the GenICam camera. It depends on the camera and the GenTL producer what the ID is. Available devices can be listed with 'gc_config -l' from the rc_genicam_api package.

See https://github.com/roboception/rc_genicam_api#device-id for more details.

  • gev_access: The gev_access mode, i.e.:

    • 'control' Configuration and streaming with the possibility of other clients to read GenICam parameters. This is the default.
    • 'exclusive' Exclusive access to the sensor. This prevents other clients to read GenICam parameters.
  • frame_id: Frame ID that will be used for header of all published messages. The default is [_]camera[].

  • image_prefix: Optional prefix for storing all grabbed images.

  • rotate: True for rotating input images by 180 degrees.

  • config_file: Optional parameter with absolute path and name of a file that contains one or more GenICam parameters or commands, separated by white spaces (e.g. space, return):

  <name>=<value> sets the given value to the parameter with the given name. It
                 must not contain a white space.

  <name>         Calls the GenICam command with the given name. The name must
                 not contain any white space.

  # ... \n       Comment which is skipped.

Processing stops on the first error, which is reported in the logfile.

  • calib_file: Optional parameter with absolute path and name of a file that contains the camera calibration. The information is used for the CameraInfo messages:
   # Calibration matrix

   camera{.<id>}.A=[<fx> <skew> <u0>; 0 <fy> <v0>; 0 0 1]
   camera{.<id>}.width=<w>
   camera{.<id>}.height=<h>

   # Optional parameters for radial and tangential distortion. Missing
   # parameters are assumed to be 0

   camera{.<id>}.k1=<k1>
   camera{.<id>}.k2=<k2>
   camera{.<id>}.k3=<k3>
   camera{.<id>}.p1=<p1>
   camera{.<id>}.p2=<p2>

   # Alternative optional parameters for equidistant distortion model

   camera{.<id>}.e1=<e1>
   camera{.<id>}.e2=<e2>
   camera{.<id>}.e3=<e3>
   camera{.<id>}.e4=<e4>

   # Extrinsic position of orientation of camera (only relevant for stereo,
   # i.e. if <id> is given). The extrinsic transformations are defined by
   # Pw = camera.0.R * P0 + camera.0.T and Pw = camera.1.R * P1 + camera.1.T

   camera{.<id>}.R=[<r00> <r01> <r02>; <r10> <r11> <r12>; <r20> <r21> <r22>]
   camera{.<id>}.T=[<tx> <ty> <tz>]

   # Optionally the focal length in pixel for rectification. By default, the
   # focal length is computed as average of <fx> and <fy>.

   rect.f=<f>

<id> is the number that is specified by calib_id. If it is 0 or 1, then the extrinsic relationship camera.0.R, camera.0.T and camera.1.R, camera.1.T is used for defining the rectification rotation matrix in CameraInfo.

  • calib_id: ID of camera. A calibration file for a mono camera is expected if ID < 0. For stereo systems, 0 is used for the left camera and 1 for the right camera. Default: -1.

Parameters for Synchronization

The following parameters are used for receiving and associating the time stamp from the camera info of a hardware synchronized master camera that is synchronized to the system clock.

  • host_timestamp: True for using the host time stamp instead of the camera timestamp as image acquisition timestamp. This requires the availability of the command "TimestampLatch" and the parameter "TimestampLatchValue" in the nodemap of the camera.

Default: false

  • timestamp_tolerance: Maximum acceptable tolerance in seconds for determining the offset between the system and camera clock. No images are delivered if the offset cannot be determined with this tolerance.

Default: 0.01

  • sync_info: Name of topic that provides CameraInfo messages at the time when image acquisition is triggered via a hardware signal, e.g. CameraInfo of a camera that is hardware synchronized. The timestamps of these CameraInfo messages are used as image acquisition time.

Default: (do not synchronize timestamps)

  • sync_tolerance: Maximum acceptable tolerance in seconds between the CameraInfo timestamps and the image acquisition timestamps (i.e. either camera or host timestamp if host_timestamp is true). This must be set to less than half of the image period.

Default: 0.019

Subscribed Topics

If the sync_info parameter is defined, then its value is used as name of a topic that provides CameraInfo messages. The timestamp of these messages are used for the images.

  • (sensor_msgs::CameraInfo)

Provided Topics

The following topics are provided:

  • camera_info (sensor_msgs::CameraInfo)
  • image_raw (sensor_msgs::Image)

Services

The following service offers the possibility to request the value of a GenICam parameter:

  • get_genicam_parameter (rc_genicam_camera::GetGenICamParameter)

The following service offers the possibility to set GenICam parameters:

  • set_genicam_parameter (rc_genicam_camera::SetGenICamParameter)

Launching

  • Using command line parameters:

    rosrun rc_genicam_camera rc_genicam_camera _device:=

  • As a nodelet, and in a separate namespace:

    ROS_NAMESPACE=my_camera rosrun nodelet nodelet standalone rc_genicam_driver _device:=

CHANGELOG

1.3.0 (2021-02-04)

  • Make frame_id configurable and improved default.

1.2.4 (2021-01-29)

  • Fixed linking problems

1.2.3 (2020-12-21)

  • Updated cmake and CI files
  • Dropped building for trusty and added building for focal on CI

1.2.2 (2019-09-06)

  • Added parameter to rotate grabbed images by 180 degrees

1.2.1 (2019-06-06)

  • Added parameter for storing all grabbed images as files
  • Minor performance optimization

1.2.0 (2019-05-24)

  • Fixed failing of loading initial GenICam parameters
  • Fixed readme.
  • Generate documentation too
  • Report errors if config or calibration file cannot be loaded

1.1.0 (2019-02-01)

  • Setting CameraInfo values properly from mono- or stereocamera calibration file
  • Read camera timestamp from TimestampLatchValue by default, which in GenICam standard
  • Mapping of most 8 and 16 bit pixel formats from GenICam to ROS

1.0.0 (2019-01-24)

  • Initial release

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Plugins

Recent questions tagged rc_genicam_camera at answers.ros.org

rc_genicam_camera package from rc_genicam_camera repo

rc_genicam_camera

Package Summary

Tags No category tags.
Version 1.3.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/roboception/rc_genicam_camera.git
VCS Type git
VCS Version master
Last Updated 2021-02-04
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The rc_genicam_camera provides images from a GenICam compatible camera.

Additional Links

No additional links.

Maintainers

  • Felix Ruess
  • Heiko Hirschmueller

Authors

  • Heiko Hirschmueller

rc_genicam_camera

This nodelet permits access to the configuration of a GenICam compatible camera and publishes raw images and camera_info messages according to the ROS image pipeline.

Configuration

Parameters

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

  • device: The ID of the GenICam camera. It depends on the camera and the GenTL producer what the ID is. Available devices can be listed with 'gc_config -l' from the rc_genicam_api package.

See https://github.com/roboception/rc_genicam_api#device-id for more details.

  • gev_access: The gev_access mode, i.e.:

    • 'control' Configuration and streaming with the possibility of other clients to read GenICam parameters. This is the default.
    • 'exclusive' Exclusive access to the sensor. This prevents other clients to read GenICam parameters.
  • frame_id: Frame ID that will be used for header of all published messages. The default is [_]camera[].

  • image_prefix: Optional prefix for storing all grabbed images.

  • rotate: True for rotating input images by 180 degrees.

  • config_file: Optional parameter with absolute path and name of a file that contains one or more GenICam parameters or commands, separated by white spaces (e.g. space, return):

  <name>=<value> sets the given value to the parameter with the given name. It
                 must not contain a white space.

  <name>         Calls the GenICam command with the given name. The name must
                 not contain any white space.

  # ... \n       Comment which is skipped.

Processing stops on the first error, which is reported in the logfile.

  • calib_file: Optional parameter with absolute path and name of a file that contains the camera calibration. The information is used for the CameraInfo messages:
   # Calibration matrix

   camera{.<id>}.A=[<fx> <skew> <u0>; 0 <fy> <v0>; 0 0 1]
   camera{.<id>}.width=<w>
   camera{.<id>}.height=<h>

   # Optional parameters for radial and tangential distortion. Missing
   # parameters are assumed to be 0

   camera{.<id>}.k1=<k1>
   camera{.<id>}.k2=<k2>
   camera{.<id>}.k3=<k3>
   camera{.<id>}.p1=<p1>
   camera{.<id>}.p2=<p2>

   # Alternative optional parameters for equidistant distortion model

   camera{.<id>}.e1=<e1>
   camera{.<id>}.e2=<e2>
   camera{.<id>}.e3=<e3>
   camera{.<id>}.e4=<e4>

   # Extrinsic position of orientation of camera (only relevant for stereo,
   # i.e. if <id> is given). The extrinsic transformations are defined by
   # Pw = camera.0.R * P0 + camera.0.T and Pw = camera.1.R * P1 + camera.1.T

   camera{.<id>}.R=[<r00> <r01> <r02>; <r10> <r11> <r12>; <r20> <r21> <r22>]
   camera{.<id>}.T=[<tx> <ty> <tz>]

   # Optionally the focal length in pixel for rectification. By default, the
   # focal length is computed as average of <fx> and <fy>.

   rect.f=<f>

<id> is the number that is specified by calib_id. If it is 0 or 1, then the extrinsic relationship camera.0.R, camera.0.T and camera.1.R, camera.1.T is used for defining the rectification rotation matrix in CameraInfo.

  • calib_id: ID of camera. A calibration file for a mono camera is expected if ID < 0. For stereo systems, 0 is used for the left camera and 1 for the right camera. Default: -1.

Parameters for Synchronization

The following parameters are used for receiving and associating the time stamp from the camera info of a hardware synchronized master camera that is synchronized to the system clock.

  • host_timestamp: True for using the host time stamp instead of the camera timestamp as image acquisition timestamp. This requires the availability of the command "TimestampLatch" and the parameter "TimestampLatchValue" in the nodemap of the camera.

Default: false

  • timestamp_tolerance: Maximum acceptable tolerance in seconds for determining the offset between the system and camera clock. No images are delivered if the offset cannot be determined with this tolerance.

Default: 0.01

  • sync_info: Name of topic that provides CameraInfo messages at the time when image acquisition is triggered via a hardware signal, e.g. CameraInfo of a camera that is hardware synchronized. The timestamps of these CameraInfo messages are used as image acquisition time.

Default: (do not synchronize timestamps)

  • sync_tolerance: Maximum acceptable tolerance in seconds between the CameraInfo timestamps and the image acquisition timestamps (i.e. either camera or host timestamp if host_timestamp is true). This must be set to less than half of the image period.

Default: 0.019

Subscribed Topics

If the sync_info parameter is defined, then its value is used as name of a topic that provides CameraInfo messages. The timestamp of these messages are used for the images.

  • (sensor_msgs::CameraInfo)

Provided Topics

The following topics are provided:

  • camera_info (sensor_msgs::CameraInfo)
  • image_raw (sensor_msgs::Image)

Services

The following service offers the possibility to request the value of a GenICam parameter:

  • get_genicam_parameter (rc_genicam_camera::GetGenICamParameter)

The following service offers the possibility to set GenICam parameters:

  • set_genicam_parameter (rc_genicam_camera::SetGenICamParameter)

Launching

  • Using command line parameters:

    rosrun rc_genicam_camera rc_genicam_camera _device:=

  • As a nodelet, and in a separate namespace:

    ROS_NAMESPACE=my_camera rosrun nodelet nodelet standalone rc_genicam_driver _device:=

CHANGELOG

1.3.0 (2021-02-04)

  • Make frame_id configurable and improved default.

1.2.4 (2021-01-29)

  • Fixed linking problems

1.2.3 (2020-12-21)

  • Updated cmake and CI files
  • Dropped building for trusty and added building for focal on CI

1.2.2 (2019-09-06)

  • Added parameter to rotate grabbed images by 180 degrees

1.2.1 (2019-06-06)

  • Added parameter for storing all grabbed images as files
  • Minor performance optimization

1.2.0 (2019-05-24)

  • Fixed failing of loading initial GenICam parameters
  • Fixed readme.
  • Generate documentation too
  • Report errors if config or calibration file cannot be loaded

1.1.0 (2019-02-01)

  • Setting CameraInfo values properly from mono- or stereocamera calibration file
  • Read camera timestamp from TimestampLatchValue by default, which in GenICam standard
  • Mapping of most 8 and 16 bit pixel formats from GenICam to ROS

1.0.0 (2019-01-24)

  • Initial release

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Plugins

Recent questions tagged rc_genicam_camera at answers.ros.org

No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.