[ros-users] Digital Camera 1394 in ROS?

Patrick Mihelich mihelich at willowgarage.com
Thu Mar 11 05:37:31 UTC 2010


I would also love to see a community-maintained dc1394 driver in ros-pkg.
I'll echo that for inclusion in camera_drivers it would need to follow the
same interface as the existing drivers, which we've put in some effort to
standardize so that they work interchangeably with the image_pipeline. The
docs are useful resources for these stacks:
 * http://www.ros.org/wiki/camera_drivers
 * http://www.ros.org/wiki/image_pipeline

One design decision we made is that camera drivers need not do any
processing of image data, not even debayering or undistortion. This keeps
them low-dependency (no OpenCV needed). From a systems perspective it is
nice to keep those concerns separate. The camera driver is only responsible
for getting data off the camera and into ROS.

The basic processing (debayering and undistortion) is handled by image_proc
(or stereo_image_proc). It uses OpenCV functions. The OpenCV debayering
functions are admittedly pretty basic; eventually we may make that
plugin-based, so that people who are particular about their debayering
methods can substitute in something more advanced like the libdc1394
implementations.

To work well with the image_pipeline packages the driver need only publish
synchronized image_raw and camera_info topics. set_camera_info is used only
by camera_calibration as a convenience, so that you don't have to store the
calibration to the camera as a separate step.

The request_image service is only for drivers implementing the polled camera
interface. This is useful for high-def cameras like the 5Mp Prosilica we
use, as sending those images at frame rate chews up a lot of bandwidth and
you're unlikely to do any non-trivial processing on them in real time
anyway. Polled camera support might be nice to have in a generic dc1394
driver but is hardly a blocker.

image_transport is designed to mimic the core roscpp classes as closely as
possible, so I hope it is not difficult to integrate. In particular see the
CameraPublisher<http://www.ros.org/doc/api/image_transport/html/classimage__transport_1_1CameraPublisher.html>convenience
class.

Cheers,
Patrick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20100310/108cb2dc/attachment-0004.html>


More information about the ros-users mailing list