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

unable to get Point Grey USB camera work in ubuntu

asked 2012-11-13 07:59:06 -0600

AdrianPeng gravatar image

updated 2014-01-28 17:14:15 -0600

ngrennan gravatar image

Hello,

I have problem in using POINT GREY FIREFLY MV FMVU-13S2C digital camera to work on Ubuntu 11.04.

This is the version of ubuntu.

adrian@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 11.04
Release:    11.04
Codename:   natty

As far as I know, POINT GREY FIREFLY MV FMVU-13S2C uses IEEE1394 interface to transfer data with computer. So I downloaded the Coriander – the linux GUI for IEEE1394/Firewire cameras.

However, when I plugged in the camera and launched the coriander, this error appears:

Warning: could not find a Digital Camera on the bus. Please check that: -the cables are properly set -the devices on the bus are properly powered -your camera is compliant with the Digital Camera specs (see http://www.1394ta.org).

Then I run the command “lsusb”:

adrian@ubuntu:~$ lsusb
Bus 003 Device 002: ID 1e10:2002 Point Grey Research, Inc. 
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 004: ID 17ef:1003 Lenovo Integrated Smart Card Reader
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 007: ID 04f2:b217 Chicony Electronics Co., Ltd 
Bus 001 Device 006: ID 0a5c:217f Broadcom Corp. Bluetooth Controller
Bus 001 Device 005: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 0765:5001 X-Rite, Inc. 
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

Apparently, the first output is the camera.

Then I guess maybe I need to configure udev to work with camera. So I run “sudo gedit /etc/udev/rules.d/10-pointgrey.rules” and type in the following text.

BUS=="usb", SYSFS{idVendor}=="1e10", SYSFS{idProduct}=="2002", GROUP="plugdev"

Then I restart the udev by “sudo restart udev” and restart coriander again. But the same error still appears.

Then I opened the official website of the POINT GREY and downloaded the FlyCapture2 software. Surprisingly, This software is able to recognize the camera. Why coriander cannot recognize camera? camera1394 ros node also cannot recognize camera.

Can any help me to solve this problem? Thanks in advance!

edit retag flag offensive close merge delete

Comments

The Point Grey Chamelion (USB) has been reported to work with camera1394. Some USB cameras do support the IIDC digital camera interface. Perhaps this one does too. But I don't know how the driver can discover the device.

joq gravatar image joq  ( 2012-11-13 14:48:17 -0600 )edit

is cheese USB camera supported? Cheese also cannot find the USB camera

AdrianPeng gravatar image AdrianPeng  ( 2012-11-14 04:13:20 -0600 )edit

6 Answers

Sort by » oldest newest most voted
2

answered 2013-01-13 07:42:35 -0600

AdrianPeng gravatar image

Ok, I got it work by the following steps. I think the key is to add correct udev rules and give the user right to access the udev group which FlyCapture installation will do for you.

  1. Install common ROS camera driver stack which includes camera1394 package which we need for Point Grey Firefly MV USB camera. sudo apt-get install ros-groovy-camera-drivers

  2. Go to http://sourceforge.net/projects/libdc1394/ and download libdc1394 Extract to desktop and enter in the extracted folder. Follow the readme file to install libdc1394

  3. Go to http://www.ptgrey.com/support/downloads/downloads_admin/index.aspx and download FlyCapture v2.3 for Firefly MV 13S2C Extract to desktop and enter in the extracted folder. Follow the readme file to install FlyCapture
edit flag offensive delete link more

Comments

1

If I may further improve on the accepted answer:

3.1/ You can safely ignore dependencies issues with the 2 xxx_gui packages since we are only interested in drivers here (!=user interface).

I needed an additional step: 4/ execute flycap2-conf from the SDK package for the right udev rules

vtalpaert gravatar image vtalpaert  ( 2016-07-21 03:30:08 -0600 )edit
5

answered 2012-11-13 15:32:07 -0600

Ryan gravatar image

Try this udev rule:

SUBSYSTEM=="usb", ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2000", GROUP="plugdev", SYMLINK+="firefly", MODE:="0666"

It'll add /dev/firefly. Regarding camera1394, we've used both the Chameleon and the Firefly with an unmodified camera1394 install.

edit flag offensive delete link more

Comments

Hi, Ryan. I tried this udev rule and /dev/firefly had been added. But this added device doesn't work with usb_cam package which works well with my integrated camera. This is the error message: VIDIOC_QUERYCAP error 25, Inappropriate ioctl for device

AdrianPeng gravatar image AdrianPeng  ( 2012-11-21 09:12:28 -0600 )edit

This udev rule worked but when I ran the camera1394_node I got a segmentation fault. Any ideas?

sameer gravatar image sameer  ( 2013-04-01 06:59:02 -0600 )edit
2

answered 2012-11-13 18:16:00 -0600

Lionel gravatar image

We have an identical Firefly camera in our lab. Point Grey provides a library to interface with the camera as it does not work like a normal webcam, at least not as far as I can tell. A guy in our lab wrote a wrapper around that library which basically grabs the image data via the library and publishes it via ROS. I can try and see if I get the code in a format that others can use it. I'm not sure if we can directly distribute the library provided by Point Grey but at least the wrapper should be no problem.

There is, however, a caveat and that is that the library provided by Point Grey only works with antique versions of Ubuntu, 10.04 or something along those lines. They linked against some very dated libraries which means that newer versions of the used libraries have different symbol names.

If no one else knows of a better way to get that camera up and running I'll see what I can do on my end to make the code available.

edit flag offensive delete link more

Comments

Hi Lionel, I changed to Ubuntu 10.04. I found there is a pgr_camera_driver package. Is it a wrapper? I have problem make that package after I downloaded it. There is error "error: pgr_camera/PGRCameraConfig.h: No such file or directory".

AdrianPeng gravatar image AdrianPeng  ( 2012-11-21 09:23:02 -0600 )edit
1

answered 2012-11-13 13:36:34 -0600

You said that the camera uses IEEE1394, yet you posted the result of lsusb. Isn't your camera using USB? I saw in the product website that both interfaces are available. If that is the case, then neither coriander nor camera1394 should work.

edit flag offensive delete link more

Comments

I just checked, your specific camera model (FMVU-13S2C) is USB

georgebrindeiro gravatar image georgebrindeiro  ( 2012-11-13 13:37:45 -0600 )edit
3

http://www.ptgrey.com/support/kb/index.asp?a=4&q=17&ST= says "Point Grey USB 2.0 cameras are designed to implement the IIDC 1394-based Digital Camera Specification. Beginning with version 2.1.0, you can use the libdc1394 package to program applications against Point Grey USB cameras."

AdrianPeng gravatar image AdrianPeng  ( 2012-11-21 09:27:45 -0600 )edit
0

answered 2016-07-21 03:41:59 -0600

vtalpaert gravatar image

Follow @AdrianPeng answer. I provide here for reference my udev rules written by the SDK config executable "flycap2-conf". It writes 40-pgr.rules

ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2000", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2001", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2002", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2003", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2004", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="2005", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3000", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3001", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3004", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3005", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3006", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3007", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3008", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="300A", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="300B", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3100", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3101", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3102", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3103", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3104", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3105", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3106", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3107", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3108", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3109", MODE="0664", GROUP="pgrimaging"
ATTRS{idVendor}=="1e10", ATTRS{idProduct}=="3300", MODE="0664", GROUP="pgrimaging"
KERNEL=="raw1394", MODE="0664", GROUP="pgrimaging"
KERNEL=="video1394*", MODE="0664", GROUP="pgrimaging"
SUBSYSTEM=="firewire", GROUP="pgrimaging"
SUBSYSTEM=="usb", GROUP="pgrimaging"

Notice the difference with other given udev rules firefly becomes firewire.

Furthermore I'm using Ubuntu 14.04.4 with ros-indigo-pointgrey-camera-driver. Camera is

[0]Serial: 14435635, Model: Grasshopper3 GS3-U3-23S6C, Vendor: Point Grey Research, Sensor: Sony IMX174 (1920x1200 CMOS), Resolution: 1920x1200, Color: true, Firmware Version: 2.8.3.0
edit flag offensive delete link more
0

answered 2019-03-06 11:41:33 -0600

Lutece gravatar image

updated 2019-03-14 03:46:36 -0600

In my case, the problem was with my user's groups. Although groups username and id username showed flirimaging among the others (the group that was used in the udev rules), running just groups or id showed that I didn't have that group.

If this matches your case, I know of 2 possible causes:

edit flag offensive delete link more

Question Tools

3 followers

Stats

Asked: 2012-11-13 07:59:06 -0600

Seen: 21,855 times

Last updated: Mar 14 '19