longjie / ps4eye

Apache License 2.0
76 stars 38 forks source link

Ps4eye under indigo #20

Open thieri opened 8 years ago

thieri commented 8 years ago

I am haveing trouble running this code with indigo. Is there something to look for? Is gscam the reason? Keep getting "No space left on device" or "Failed to PAUSE stream, check your gstreamer configuration." errors.

Ubuntu 14.4 LTS vivid kernel 3.19+

hyaguchijsk commented 8 years ago

Please check followings:

roslaunch ps4eye stereo.launch DEVICE:=/dev/video0
thieri commented 8 years ago

Thanks for answering so fast,

sudo lsusb -v -d 05a9:058a gives the complete output,...

Bus 002 Device 015: ID 05a9:058a OmniVision Technologies, Inc. Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 ? bDeviceProtocol 1 Interface Association bMaxPacketSize0 9 idVendor 0x05a9 OmniVision Technologies, Inc. idProduct 0x058a bcdDevice 1.00 iManufacturer 1 Omnivision Technologies, Inc. iProduct 2 USB Camera-OV580 ... and so on.

ls -la /dev/video0 crw-rw-rw-+ 1 root video 81, 0 Jan 18 17:14 /dev/video0

Device is correctly created, maybe permissions need "x"...

changed launchfile to /dev/video0 AND ran it with roslaunch ps4eye stereo.launch DEVICE:=/dev/video0 viewer:=true

result:

libv4l2: error turning on stream: Auf dem Gerät ist kein Speicherplatz mehr verfügbar [FATAL] [1453133920.285333892]: Failed to PAUSE stream, check your gstreamer configuration. [FATAL] [1453133920.285989725]: Failed to initialize gscam stream!

error-message is german, for "No space left on device"

pyusb is 1.0.0b2 kernel is 3.19.0-46-generic ps4eye is newest version

Any ideas?

thieri commented 8 years ago

tried unloading and reloading uvcvideo with UVC_QUIRK_FIX_BANDWIDTH errormessage changed to libv4l2: error turning on stream: Eingabe-/Ausgabefehler [FATAL] [1453135564.377304865]: Failed to PAUSE stream, check your gstreamer configuration. [FATAL] [1453135564.377435643]: Failed to initialize gscam stream! error-message is german, for "input/output error"

thieri commented 8 years ago

after some googeling around... sudo rmmod uvcvideo sudo modprobe uvcvideo trace=1024

started nodelet

tail /var/log/kern.log
gave following output:

Jan 18 19:45:55 Toady kernel: [ 3917.087135] usb 2-2: new SuperSpeed USB device number 5 using xhci_hcd Jan 18 19:45:55 Toady kernel: [ 3917.108673] usb 2-2: New USB device found, idVendor=05a9, idProduct=058a Jan 18 19:45:55 Toady kernel: [ 3917.108680] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 Jan 18 19:45:55 Toady kernel: [ 3917.108684] usb 2-2: Product: USB Camera-OV580 Jan 18 19:45:55 Toady kernel: [ 3917.108688] usb 2-2: Manufacturer: Omnivision Technologies, Inc. Jan 18 19:45:55 Toady kernel: [ 3917.117798] uvcvideo: Found UVC 1.00 device USB Camera-OV580 (05a9:058a) Jan 18 19:46:13 Toady kernel: [ 3934.423294] uvcvideo: Device requested 49152 B/frame bandwidth. Jan 18 19:46:13 Toady kernel: [ 3934.423301] uvcvideo: Selecting alternate setting 1 (49152 B/frame bandwidth). Jan 18 19:46:13 Toady kernel: [ 3934.423537] usb 2-2: Not enough bandwidth for new device state. Jan 18 19:46:13 Toady kernel: [ 3934.423546] usb 2-2: Not enough bandwidth for altsetting 1

looks like it is demanding to much bandwidth

thieri commented 8 years ago

Sorry for all the trouble...

I think i sorted it out. The usb3 is on a expresscard, so maybe no full datarate. What is the combination of resolution/fps with the lowest possible datarate?

longjie commented 8 years ago

19 may help you.

robograffitti commented 8 years ago

Use gscam instead. But, you need to get gscam compliled from its source. Also, there is one pitfall.

First, ros-indigo-gscam and ros-indigo-opencv2 do not exist. To solve this problem...

  1. Clone gscam package.
  2. Replace opencv2 with opencv3 in package.xml and resolve rosdep.
  3. Built it.

Here is a command line instruction:

$ git clone https://github.com/yoshimalucky/gscam.git $ git checkout indigo-devel-opencv3 $ rosdep install gscam $ catkin b gscam

If you can not resolve the dependency on libgstreamer0.10-dev, install it manuallly: $ sudo apt-get install libgstreamer0.10-dev

Related PR: https://github.com/ros-drivers/gscam/pull/29

robograffitti commented 8 years ago

In issue #20 and #23, they are trying to use uvc_camera insterad of gscam.

I'm just wondering how to set device file for left and right camera with uvc_camera. It require two device files for each camera although there is one device file /dev/video1.