Ubuntu 13.10 + PCL + OpenNI, can't find kinect

classic Classic list List threaded Threaded
3 messages Options
dtj
Reply | Threaded
Open this post in threaded view
|

Ubuntu 13.10 + PCL + OpenNI, can't find kinect

dtj
Hi,

I'm trying to use a kinect with PCL + OpenNI on my retina macbook pro running Ubuntu 13.10.  My computer fails to find the kinect and it appears to be an OpenNI issue.

I downloaded pcl_trunk, nvcc, and switched to gcc 4.6.  To compile kinfu I downloaded openni from the ppa:eighthave/openni (https://launchpad.net/~eighthave/+archive/openni).  Specifically, I added the ppa, manually downloaded the packages, and installed them using the Ubuntu software center. Cmake recognized OpenNI and allows kinfu to build cleanly. kirnfu runs correctly on pre-recorded data.  

When plug in the kinect and try to run ./pcl_openni_grabber_example I get the following error:

~/pcl/build_gcc4.6/bin$ ./pcl_openni_grabber_example
terminate called after throwing an instance of 'pcl::IOException'
  what():  void pcl::OpenNIGrabber::setupDevice(const string&, const pcl::OpenNIGrabber::Mode&, const pcl::OpenNIGrabber::Mode&) in /home/dtj/pcl/io/src/openni_grabber.cpp @ 342 : No devices connected.
Aborted (core dumped)

When I try to run ./pcl_openni_viewer I get the same error.

Others have had similar problems before:
(http://answers.ros.org/question/70585/roslaunch-openni_launch-opennilaunch-no-devices-connected/)
(http://www.pcl-users.org/Kinect-not-detected-td4000972.html)

Clearly, openni can't find the kinect.

lsusb returns the following for the kinect, which I think is correct:
Bus 003 Device 006: ID 045e:02ae Microsoft Corp. Xbox NUI Camera
Bus 003 Device 004: ID 045e:02b0 Microsoft Corp. Xbox NUI Motor
Bus 003 Device 005: ID 045e:02ad Microsoft Corp. Xbox NUI Audio

My /etc/udev/rules.d/557-primesense-usb.rules file reads:
  1 # Make primesense device mount with writing permissions (default is read only for unknown devices)
  2 SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
  3 SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
  4 SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
  5 SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
  6 SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
  7 SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
  8 SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
  9 SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
 10 SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
 11 SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
 12 SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
 13 SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
 14 SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"

(Is that correct?)

When I try to run the OpenNI examples (no pcl) at: /usr/bin
____________________________________________________________
/usr/bin$ ./Sample-NiSimpleViewer
One or more of the following nodes could not be enumerated:

____________________________________________________________
./NiViewer
One or more of the following nodes could not be enumerated:


Press any key to continue . . .
____________________________________________________________

This happens for all of the examples.


It appears that OpenNI is failing to find the kinect.  I looked at this:
http://www.pcl-users.org/Kinect-device-could-not-be-initialized-or-no-devices-found-in-Ubuntu-10-04-td2775165.html

Entry from pcl mailing list on how to get a working set of OpenNI drivers.  Radu suggest compiling openni drivers from the ~/pcl/3rdparty/openni/debian/ folder.

So I created a kforge account & auploaded my SSH key.  Unfortunately, when I run “make” in the “” directory kforge authentication fails... As openni no longer appears on the kforge project list am I correct in concluding that OpenNi has been pulled from kforge?


This problem seem trivially simple but I am stuck.  Can someone help me get either the kinect connected or a working set of OpenNI drivers integrated with PCL for my build?  

Is there a good solution for this or should I try to use the ROS stack?  (I've had ros + kinect working before on Ubuntu 11.10 on a different computer – I'm trying to simplify my system here.)

Thanks in advance!
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 13.10 + PCL + OpenNI, can't find kinect

Jochen Sprickerhof
Administrator
Hi dtj,

* dtj <[hidden email]> [2013-11-20 14:48]:
> I'm trying to use a kinect with PCL + OpenNI on my retina macbook pro
> running Ubuntu 13.10.  My computer fails to find the kinect and it appears
> to be an OpenNI issue.

Can you try it using our PPA first?

http://pointclouds.org/downloads/linux.html

Something simple as pcl_openni_viewer should work. Otherwise, could it
be that your Apple is USB3 only? Kinect does not work on USB3.

Cheers Jochen
_______________________________________________
[hidden email] / http://pointclouds.org
http://pointclouds.org/mailman/listinfo/pcl-users
Reply | Threaded
Open this post in threaded view
|

Re: Ubuntu 13.10 + PCL + OpenNI, can't find kinect

mikeeepcl
This post has NOT been accepted by the mailing list yet.
In reply to this post by dtj
if u can use ubuntu 13.04. First I had the 13.10 but pcl didn't work at all.
With the 13.04 for now I didn't had these type of problems