ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

ROS, Camera1394, and libusb issue

asked 2011-05-16 11:46:03 -0600

Bradley Powers gravatar image

updated 2011-09-03 15:32:34 -0600

kwc gravatar image

Hello,

This is a repost of a question asked over at Ask Ubuntu where I thought this might be more appropriate, but sadly I didn't get any bites.

I'm trying to get up and running with a Point Grey Firefly MV with ROS and OpenCV. I've installed ROS (Desktop-Full, if it matters) on Ubuntu 10.10, and installed the camera_drivers package. After much poking and prodding I've gotten ROS, OpenCV, and libdc1394 installed and (apparently) functioning correctly. I wrote a ROS launch file which should start the camera and display the output in a window on my computer. However, when I run this launch file, I get the following errors from libusb and libdc1394:

libusb couldn't open USB device /dev/bus/usb/002/007: Permission denied.
libusb requires write access to USB device nodes.
libdc1394 warning: usb: Failed to open device for config ROM
libdc1394 warning: Failed to get config ROM from usb device
libusb couldn't open USB device /dev/bus/usb/002/007: Permission denied.
libusb requires write access to USB device nodes.
libdc1394 warning: usb: Failed to open device for config ROM
libdc1394 warning: Failed to get config ROM from usb device
libusb couldn't open USB device /dev/bus/usb/002/007: Permission denied.
libusb requires write access to USB device nodes.
libdc1394 warning: usb: Failed to open device for config ROM
libdc1394 warning: Failed to get config ROM from usb device

This is followed by an error from ROS:

[ERROR] [1305210297.868750292]: [camera] device open failed: [Camera1394::open]: No cameras found

I'm assuming that this has to do with udev rules, but I'm not sure how to fix it (I'm unfamiliar with messing with udev rules in general).

If it helps, here's the permissions for the particular device:

bradpowers@bp-rosdev:~/ros/launch$ ls -la /dev/bus/usb/002/007
crw-rw-r-- 1 root root 189, 134 2011-05-12 08:16 /dev/bus/usb/002/007

Thanks in advance for your help!

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
7

answered 2011-05-16 12:33:51 -0600

Bradley Powers gravatar image

updated 2011-05-17 05:02:10 -0600

Ok, problem solved! The issue was that my device needed a udev rule. I created one, and the camera works great now. Here was what I did:

First, I used lsusb with the camera plugged in to determine the USB Vendor and Product IDs for my camera:

bradpowers@bp-rosdev:~$ lsusb
Bus 002 Device 009: ID 1e10:2000 Point Grey Research, Inc. 
Bus 002 Device 008: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 002 Device 007: ID 05ac:0220 Apple, Inc. Aluminum Keyboard (ANSI)
Bus 002 Device 006: ID 05ac:1006 Apple, Inc. Hub in Aluminum Keyboard
Bus 002 Device 005: ID 05ac:921c Apple, Inc. 
Bus 002 Device 004: ID 0cf3:3002 Atheros Communications, Inc. 
Bus 002 Device 003: ID 05ac:911c Apple, Inc. 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The device I'm concerned with is the Point Grey Research device at the top. I copied down the ID number, 1e10:2000.

From there, I needed to create a udev rule to add the device to the plugdev group when plugged in:

bradpowers@bp-rosdev:~$ sudo gedit /etc/udev/rules.d/10-pointgrey.rules

In this file, I entered the following:

# udev rules file for Point Grey Firefly-MV
BUS=="usb", SYSFS{idVendor}=="1e10", SYSFS{idProduct}=="2000", GROUP="plugdev"

After saving, and a reboot, launching my roslaunch file worked great. Thanks to Andy Barry for a phone call and solution so quickly.

edit flag offensive delete link more

Comments

If you'd like a full tutorial on getting this working, it's available at bpowers.org
Bradley Powers gravatar image Bradley Powers  ( 2011-06-07 07:58:06 -0600 )edit
-1

answered 2015-11-19 22:43:47 -0600

peipei gravatar image

Hello, I am facing the similar problem. I am using prime sense 1.09 on the ros system. When I am testing the device, it had the error:Couln't find the device. So I created a udev rule for the device as the answer above, but it didn't work. So I am wondering how to solve this? Could you help me?

edit flag offensive delete link more

Comments

This is a question, not an answer. You seem to have already established that your problem is different from this one. Please open a new question, providing ample details (as was done above). You may also want a link to this question, for reference.

joq gravatar image joq  ( 2015-11-20 10:53:46 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2011-05-16 11:46:03 -0600

Seen: 2,397 times

Last updated: Nov 19 '15