Show EOL distros: 

pr2: audio_common | hokuyo_node | joystick_drivers | linux_networking | microstrain_3dmgx2_imu | pr2_apps | pr2_base | pr2_ethercat_drivers | pr2_navigation_apps | pr2_power_drivers | pr2_robot | prosilica_camera | wge100_driver | wifi_ddwrt

Package Summary

A ROS driver node for AVT/Prosilica Gigabit Ethernet (GigE) cameras.

Overview

This package contains a ROS driver node for Allied Vision Tech Gigabit Ethernet (GigE) cameras. It is built on top of the Prosilica GigE SDK.

The ROS API of this package is stable. The driver node has been tested extensively with the GC2450C model, which was used in the Willow Garage Milestone 2. The node should work with any AVT/Prosilica GigE camera, and we welcome reports of use with other cameras.

This page and the tutorials cover expected use of this package. Features of interest to advanced users only are documented here.

For basic vision processing of camera images, see the image_pipeline.

Nodes

prosilica_node

ROS driver for Prosilica GigE cameras. Note that the ROS API varies depending on whether the driver is in streaming or polled mode. In streaming mode it publishes to camera/image_raw and camera/camera_info like any other camera. In polled mode it publishes on request to a client-specified namespace, following the polled_camera protocol.

image_transport is used for all image publications.

Published Topics

Streaming mode
camera/image_raw (sensor_msgs/Image)
  • The raw image topic.
camera/camera_info (sensor_msgs/CameraInfo)
  • Calibration info for each image.
Polled mode
There may be multiple clients, each with their own response_namespace. These topics are only published in response to the request_image service.
<response_namespace>/image_raw (sensor_msgs/Image)
  • The polled image topic for a particular client.
<response_namespace>/camera_info (sensor_msgs/CameraInfo)
  • The corresponding camera state.

Services

set_camera_info (sensor_msgs/SetCameraInfo)
  • Sets the calibration parameters stored internally on the camera.
Polled mode
request_image (polled_camera/GetPolledImage)
  • Captures an image and publishes it in the namespace specified by the request message. Returns the timestamp.

Parameters

Camera selection
If ~ip_address is set, the node opens the camera at that IP. If only ~guid is set, the node opens the camera with that unique ID. If both, the camera is opened by IP address and the GUID verified. If neither, the node opens the first available camera.
~ip_address (string)
  • IP address of the camera to open.
~guid (string)
  • Unique ID of the camera to open.

Dynamically Reconfigurable Parameters
See the dynamic_reconfigure package for details on dynamically reconfigurable parameters.
~trigger_mode (str, default: streaming)
  • Camera mode (streaming vs. polled) Possible values are: StreamingMode (streaming): Streaming mode, PolledMode (polled): Polled mode
~auto_exposure (bool, default: True)
  • Sets the camera exposure duration to automatic. Causes the ~exposure setting to be ignored.
~exposure (double, default: 0.025)
  • Camera exposure time in seconds. Range: 2.5e-05 to 60.0
~auto_gain (bool, default: True)
  • Sets the analog gain to automatic. Causes the ~gain setting to be ignored.
~gain (int, default: 0)
  • The gain level in dB. Range: 0 to 24
~auto_whitebalance (bool, default: True)
  • Whether whitebalance will continuously adjust to the current scene. Causes the ~whitebalance_red and ~whitebalance_blue settings to be ignored.
~whitebalance_red (int, default: 100)
  • Red gain as a percentage of the camera default setting. Range: 80 to 300
~whitebalance_blue (int, default: 100)
  • Blue gain as a percentage of the camera default setting. Range: 80 to 300
~frame_id (str, default: camera)
  • The optical camera TF frame set in message headers.
~x_offset (int, default: 0)
  • X offset of the region of interest. Range: 0 to 2447
~y_offset (int, default: 0)
  • Y offset of the region of interest. Range: 0 to 2049
~width (int, default: 0)
  • Width of the region of interest (0 for automatic). Range: 0 to 2448
~height (int, default: 0)
  • Height of the region of interest (0 for automatic). Range: 0 to 2050

Dynamically Reconfigurable Parameters
See the dynamic_reconfigure package for details on dynamically reconfigurable parameters.
~trigger_mode (str, default: streaming)
  • Camera trigger mode. Possible values are: StreamingMode (streaming): Run at maximum frame rate, PolledMode (polled): Capture frame in response to service call, External1Mode (syncin1): External trigger on SyncIn1 line, External2Mode (syncin2): External trigger on SyncIn2 line
~auto_exposure (bool, default: True)
  • Sets the camera exposure duration to automatic. Causes the ~exposure setting to be ignored.
~exposure (double, default: 0.025)
  • Camera exposure time in seconds. Range: 2.5e-05 to 60.0
~auto_gain (bool, default: True)
  • Sets the analog gain to automatic. Causes the ~gain setting to be ignored.
~gain (int, default: 0)
  • The gain level in dB. Range: 0 to 24
~auto_whitebalance (bool, default: True)
  • Whether whitebalance will continuously adjust to the current scene. Causes the ~whitebalance_red and ~whitebalance_blue settings to be ignored.
~whitebalance_red (int, default: 100)
  • Red gain as a percentage of the camera default setting. Range: 80 to 300
~whitebalance_blue (int, default: 100)
  • Blue gain as a percentage of the camera default setting. Range: 80 to 300
~binning_x (int, default: 1)
  • Number of pixels to bin together horizontally. Range: 1 to 8
~binning_y (int, default: 1)
  • Number of pixels to bin together vertically. Range: 1 to 14
~x_offset (int, default: 0)
  • X offset of the region of interest. Range: 0 to 2447
~y_offset (int, default: 0)
  • Y offset of the region of interest. Range: 0 to 2049
~width (int, default: 0)
  • Width of the region of interest (0 for automatic). Range: 0 to 2448
~height (int, default: 0)
  • Height of the region of interest (0 for automatic). Range: 0 to 2050
~frame_id (str, default: )
  • The optical camera TF frame set in message headers.
~trig_timestamp_topic (str, default: )
  • Sets the topic from which an externally trigged camera receives its trigger timestamps.
~trig_rate (double, default: 15.0)
  • Sets the expected triggering rate in externally triggered mode. Range: 1.0 to 100.0

Command-line tools

set_ip

Sets the camera to a fixed IP address. The camera must be visible to ListCameras, and must be the only camera listed. The camera must be unopened (i.e. prosilica_node should not be running). This tool is normally used once to configure a new camera (see the tutorials).

Usage:

$ set_ip <IP address>

Wiki: prosilica_camera (last edited 2012-11-28 21:04:51 by AustinHendrix)