Box Turtle Prototype

An early, experimental version of the camera1394 driver was developed using the Box Turtle release. It provides an API somewhat different than the supported C-Turtle driver.

The Box Turtle version works with Ubuntu Hardy, using the libdc1394v2 package. The C-Turtle release does not support Hardy or provide that package. Experience with Hardy indicates that the 1394 kernel drivers for that distribution were not very reliable for cameras, anyway. Newer releases seem to work better.

Limited Support

Box Turtle users are welcome to run the prototype driver and report successes and failures. Although not officially supported, help is available on the ros-users mailing list, if needed.

Getting the Source Code

Check out the Box Turtle version from https://code.ros.org/svn/ros-pkg/branches/trunk_boxturtle/stacks/camera_drivers_experimental. Always check out that entire stack as it has internal dependencies.

ROS API

camera1394

This is the prototype IEEE 1394 digital camera driver for the Box Turtle release. It publishes topics and services using the node name, which is not standard ROS behavior.

Published Topics

<node_name>/camera/image_raw (sensor_msgs/Image)
  • a stream of images from the camera
<node_name>/camera/camera_info (sensor_msgs/CameraInfo)
  • Camera intrinsics for images published on camera/image_raw

Services

<node_name>/camera/set_camera_info (sensor_msgs/SetCameraInfo)
  • Sets the camera's calibration

Parameters

Initial Parameters
These parameters only affect the driver when it starts.
~fps (double, default: 15.0)
  • Frames per second
~frame_id (str, default: "camera")
  • Frame of reference ID for coordinate transforms. If the value does not start with a '/', it will be resolved as usual using tf_prefix.
~guid (str, default: "NONE")
  • The sixteen hexadecimal digits of the IEEE 1394 unique ID for the camera to connect with this node. If none specified, the first IIDC camera detected will be used.
~iso_speed (int, default: 400)
  • IEEE 1394 bus ISO transfer speed in megabits/second
~video_mode (str, default: 800x600_mono)
  • Desired image resolution and type. Possible values are: 320x240_yuv422, 640x480_mono, 640x480_yuv422, 640x480_rgb, 800x600_mono, 800x600_yuv422, 1024x768_mono, 1024x768_yuv422, 1280x960_mono, 1280x960_yuv422.
Reconfigurable Parameters
These parameters are reconfigurable. Changes take effect on the next frame. Whether they make any difference depends on the feature set supported by the actual device.
~brightness (int, default: -1, automatic)
  • Sets the camera brightness feature
~encoding (str, default: depends on camera mode)
  • ROS image pipeline image encoding to use. If specified, this takes precedence over the default set by the camera driver based on the camera's video_mode and characteristics. This is needed for image_proc to perform appropriate Bayer decoding. Reconfiguring it is a way to try different Bayer patterns to determine experimentally which your camera uses.
~exposure (int, default: -1, automatic)
  • Sets the camera exposure feature
~gain (int, default: -1, automatic)
  • Sets the camera gain feature
~shutter (int, default: -1, automatic)
  • Sets the camera shutter feature
~whitebalance (str, default: "auto")
  • Sets the Blue/U and Red/V components of white balance (for example "2000 2000"). The special value "auto" (case sensitive) turns on automatic white balancing.
~camera_info_url (str, default: "")
  • URL for loading and storing calibration data in the form file:///path/to/local/calibration_file.yaml. If not specified, no data will be loaded, and calibration data will be stored in file:///tmp/calibration_<camera_name>.yaml (<camera_name> is the base name of the frame_id).

Wiki: camera1394/Cturtle/BoxTurtlePrototype (last edited 2010-12-18 01:01:20 by JackOQuin)