Trouble configuring libdc1394 for Bumblebee2
OS: Ubuntu 11.10
ROS: Fuerte
Camera: Point Grey's Bumblebee2 BB2-08S2M
Other software:
- Columbia University's bumblebee2 ROS package (with a few modifications described below)
- libdc1394-22 (ver. 2.1.3-4)
- Coriander (for checking that the camera can communicate with the computer)
I'm running into errors and I believe they stem from configuring the libdc1394 library. I installed the bumblebee2 package from above, following the excellent tutorial found here. I modified a few parts of the package code to update it to work with Fuerte, which involved a few additional #includes and commenting out the sensor_msgs::Image.set_data_size() function calls, as that function no longer exists. Also, my camera's resolution is 1024x768 @ 20 fps, and I made changes from the tutorial accordingly.
So, when I run the roslaunch camera1394 startcamera.launch, I get the following kicked back from libdc1394:
libdc1394 error: Format_7 Error_flag_1 is set: in _dc1394_v130_handshake (format7.c, line 122): invalid image position, size, color coding or ISO speed
I know that it is possible to get it to work; using Coriander (which makes use of the same library), I've seen stereo images streaming from the camera. I narrowed it down to a call to the function dc1394_format7_set_roi() from dev_camera1394.cpp within the bumblebee2 package. This function appears to set multiple options the specify the camera configuration, and by splitting these up in to separate function calls, I believe it is the color coding that is causing it. My current code:
....
dc1394_format7_set_image_size(camera_, videoMode_, 1024, 768);
dc1394_format7_set_packet_size(camera_, videoMode_, DC1394_USE_MAX_AVAIL);
dc1394_format7_set_color_coding(camera_, videoMode_, DC1394_COLOR_CODING_RAW16);
....
And the last call there results in the following errors:
libdc1394 error: Format_7 Error_flag_1 is set: in _dc1394_v130_handshake (format7.c, line 122): invalid image position, size, color coding or ISO speed
libdc1394 error: Format_7 Error_flag_1 is set: in dc1394_format7_set_color_coding (format7.c, line 493): F7 handshake failure
So, it appears to be the color coding, but the camera's spec says it uses Raw16. I've tried Raw8 and Mono8 with the same results. Now I'm at a loss. Anyone have any ideas, or experience with Bumblebees and ROS? Thanks, and let me know if more information will help!