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.
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.:frame_id
: Frame ID that will be used for header of all published messages. The default is [<namespace>_]camera[<calib_id>].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):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:<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.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
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.
The following topics are provided:
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)rosrun rc_genicam_camera rc_genicam_camera _device:=<ID>
ROS_NAMESPACE=my_camera rosrun nodelet nodelet standalone rc_genicam_driver _device:=<ID>