[ros-users] Weird issues with camera1394
Jack O'Quin
jack.oquin at gmail.com
Wed May 26 15:23:39 UTC 2010
On Wed, May 26, 2010 at 9:28 AM, Miguel Prada <miguel.register at gmail.com> wrote:
> Hi,
>
> I'm trying to replace a usb webcam I'm using for a firewire Unibrain Fire-i camera, but I'm having some trouble using it with ROS. There are two issues I honestly don't know how to deal with.
For the record: what OS, ROS and camera driver versions are you running?
> 1- If I run camera1394_node using 'rosrun camera1394 camera1394_node' the camera seems to work, but when I try to visualize the images published on /camera/image_raw topic using image_view the image that shows is completely messed up. However, when I visualize the camera output with coriander it looks perfect. Check the images linked below to see what I mean.
>
> camera1394->image_view: http://www.flickr.com/photos/migueluli/4641459303/in/set-72157624016324875/
> Coriander: http://www.flickr.com/photos/migueluli/4641459171/in/set-72157624016324875/
You need to set the correct video_mode. For your fire-i, this should work:
$ rosrun camera1394 camera1394_node _video_mode:=640x480_rgb
If you use the current SVN trunk camera1394 with ROS latest, you
should be able to try different parameters using dynamic reconfigure:
$ rosrun dynamic_reconfigure reconfigure_gui
But, note that some video_mode settings are not compatible with this
camera. If you request an unsupported one, the camera may hang in some
way that requires resetting.
> 2- If I use roslaunch instead of rosrun I'm unable to start the camera. I've tried to look at the two launch files found in camera1394 package, as well as the camera configuration yaml files, but I can't think of anything inside those that may cause this problems. For the output I get (pasted below), it looks like it has something to do with not being able to set the appropriate iso level on the camera, but I find it strange that the same doesn't happen when using rosrun.
Bus screw-ups are a common problem with the Linux 1394 drivers. In
many (not all) cases, running dc1394_reset_bus will clear the problem.
That command is found in the libdc1394-utils package on recent Ubuntu
distributions.
> One last thing that might be related. I have to give read and write permissions to /dev/raw1394 and /dev/video1394/0 for all users in order to make any of the above stated work at all.
The permission problem exists with almost all distributions using the
old 1394 driver stack. The new (Juju) firewire stack is supposed to
have fixed that issue. But, who knows what new problems they
introduce?
> Has anyone experienced similar problems? If so, have you fixed it? And how?
Yes, I've seen most of these problems. Getting firewire cameras
working solidly takes some fiddling. I'll add a Troubleshooting page
to the camera1394 wiki, when I can find time.
The good news is that I've been testing the driver extensively with a
similar Unibrain Fire-i. Once you get the parameters dialed in
correctly, it should work quite reliably. For $100, that's a very nice
camera.
--
joq
More information about the ros-users
mailing list